Avant T-Quad, vous aviez besoin d'un robot différent pour chaque application: un robot 4 roues, un robot 2 roues, un robot gyropode,...
Avec T-Quad, vous pouvez faire tout ceci avec un seul robot.
T-Quad peut être utilisé dans différentes configurations.
Sur la gauche, nous utilisons 4 roues Mecanum. Avec ces dernières, le robot peut non seulement avancer, reculer et tourner, mais il peut aussi se translater vers la gauche ou vers la droite ! En fait, en fonction de la combinaison des vitesses de rotation des roues, tout type de mouvement est possible.
La photo de droite montre la version avec Raspberry Pi. Elle est utilisée pour ajouter des fonctionnalités de communication performantes (Wifi, streaming vidéo en temps-réel) et de contrôle de haut niveau (évitement d'obtacles, reconnaissance d'objets,...) en langage Python.
T-Quad peut aussi être utilisé avec des roues standard.
A gauche, il fonctionne d'une façon classique avec une boule omni-directionnelle pour fournir un 3ème point d'appui.
A droite, vous pouvez le voir dans une configuration "gyropode". T-Quad intègre différents capteurs (voir ci-dessous) permettant ce type de contrôle avancé.
Nous avons également ajouté une fonctionnalité très pratique: le capteur ultrasons est monté sur un support dont l'angle est modifiable manuellement. Quelque soit l'orientation du robot (horizontal ou vertical), il suffit de faire pivoter le support pour que ce capteur de distance (de même que la Webcam optionnelle, absente sur la photo) soit utilisable !
Les différents éléments du robot sont détaillés ci-dessous:
T-Quad est architecturé autour d'un shield robotique pour Arduino Mega 2560, avec de nombreuses fonctionnalités:
De nombreuses activités sont possibles (programmes open-source pour l'Arduino et le mini-ordinateur):
Quelques vidéos:
Commande des moteurs en tension:
Asservissement des moteurs en vitesse:
Suivi de couleur:
Programmation par machine à états finis :
Programmation avec l'API Python. La manoeuvre suivante est réalisée avec la commande:
TQuad.Mouvement(0, -0.2, 30, 1, 13)
Il est possible d'utiliser des formules dans les paramètres des commandes de l'API. Ainsi, la manoeuvre suivante est réalisée avec la commande:
TQuad.Mouvement('0.2*math.cos(t)', '0.2*math.sin(t)', 0, 0, 10)
Comparaison entre les différentes versions de T-Quad:
Nombre de moteurs | 2 |
2 |
4 |
4 |
Programmation en C/C++ (Arduino) | ||||
Programmation en Python | ||||
API de programmation | ||||
Programmation par machines à états finis | ||||
Identification des paramètres des moteurs | ||||
Commande des moteurs en tension | ||||
Asservissement des moteurs en vitesse | ||||
Asservissement des moteurs en position | ||||
Contrôle du robot en configuration "roues mecanum" | ||||
Contrôle du robot en configuration classique | ||||
Contrôle du robot en configuration gyropode | ||||
Passage automatique du mode classique au mode gyropode et inversement | ||||
Suivi de ligne | ||||
Translation latérale avec suivi de la distance avec le mur faisant face au robot | ||||
Evitement d'obstacles | ||||
Suivi de pente | ||||
Suivi de cap | ||||
Gestion de l'écran OLED | ||||
Communication i2c avec l'IMU | ||||
Pilotage en Wifi | ||||
Télémétrie des données par Wifi | ||||
Streaming vidéo temps-réel de la Webcam | ||||
Suivi de couleur via la Webcam avec OpenCV | ||||
Programmation en Python par machine à états finis |