Bras robotique sans fil

Je cherche à créer un bras robotique WiFi indépendant à destination de ma base robotique roulante ROS. Le bras doit aussi être utilisable depuis un PC ou un SmartPhone Android pour servir de démonstrateur.

Retrouvez ici mon journal de bord

Situation de départ

Le bras dans sa forme finale sera constitué de 4 articulations et d’une pince ou d’un électro-aimant. La version actuelle se compose de 3 articulation et d’un électro-aimant:

  • 3 Servomoteurs intelligents SCS15 – 1024 positions (au lieu de 180)
  • 1 TTLinker (non obligatoire)
  • 1 Electro-aimant
  • 1 Batterie LiPo 2S

Le système est monté avec une puce de programmation équipé d’un module WiFi et d’un écran. La puce doit être programmable sans fil, accepter une alimentation externe, et indiquer l’état de son fonctionnement :

  • TTGO T Display (ESP32)
  • Adaptateur signaux 3,3V – 5V

Les logiciels permettant la direction du bras sont :

  • Processing sur PC (Pour débogage)
  • Android (Logiciel à définir)
  • ROS sur Raspberry Pi 4

Choix du protocole de mise à jour :

  • OTA via TCP direct
  • OTA via MQTT (Environnement HOMIE)

Choix du protocole de communication

Je programme la carte TTGO T Display avec l’IDE Arduino de par sa popularité. D’autre IDE existent (notamment ESP-IDF du constructeur et PlatformIO). Les protocoles et leurs librairies sont choisis de manière :

  • à n’avoir aucune fonction bloquante
  • à gérer un flux de données en temps réel (latence minimale)
  • à gérer un flux de données jusqu’à 60 Hz

Je me suis donc orienté vers les protocoles suivants, classés par ordre de préférence suite à leur utilisation :

  1. UDP Asynchrone (traitement fluide sous 60Hz, pas de pertes)
  2. TCP Asynchrone (traitement fluide sous 60Hz, pas de pertes)
  3. MQTT – TCP Asynchrone (traitement « haché » sous 60Hz, pas de pertes)
  4. Environnement HOMIE (traitement « haché » sous 60Hz, pas de pertes)

J’opte finalement pour l’UDP Asynchrone. Car à la différence du TCP, ce protocole gagne en vitesse et en occupation du réseau ce qu’il perd en garantie de réception des données.

Les choix 3 et 4 utilisent le protocole MQTT pour communiquer. Tous deux supportent le 60Hz. Cependant, les données reçues sont traitées par lot si le flux dépasse les 2Hz. Peu utiles pour le traitement temps réel.

Néanmoins, l’environnement HOMIE (chapeau à celui qui a programmé la librairie pour les ESP) me sera très utile pour d’autres applications IoT. Je la réserve donc pour plus tard.

→ Projet non fini, à suivre …

Votez cet article :

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Laisser un commentaire