Skip to main content

Projet OpenWheel sur robot-maker

sytème d'entraînement complet

Bonjour à tous! Pour des robots, il faut souvent des roues. Non satisfait des roues disponibles, j’ai commencé le projet OpenWheel, permettant de créer des roues, engrenages, pneus et chenilles pour robots (le tout sous licences libres) de façon paramétrique et donc ajustable. Je n’ai pas encore écrit de vrais articles dessus sur ce site.

Cependant, j’en ai beaucoup discuté sur un forum ou je participe régulièrement,  robot-maker.com. C’est un forum de passionnés de robotique, avec une communauté très accueillante, en français, avec beaucoup de retours très intéressants dans les sujets.

Je vous invite donc à consulter le sujet sur OpenWheels que j’ai créé sur Robot-Maker.com (et pourquoi pas donner votre avis?) 🙂

OpenWheel en configuration chenilles

OpenWheel en configuration chenilles

En savoir plus

Roues de R.Ian et motorisation

Dans la version actuelle de R.Ian, j’ai décidé d’utiliser des servomoteurs à rotation continue. En effet, pour faire un robot, il est difficile de faire plus simple en matière d’assemblage, puisque chaque servomoteur utilisera un fil pour l’accès au +5V, un second pour la masse, et un troisième connecté à un GPIO. Cela signifie que pour les deux moteurs, on utilise seulement deux GPIO, et que l’assemblage est très simple, ce qui est l’un des objectifs du robot. Il nous faut maintenant des roues adaptées. Puisque nous cherchons à réduire les coûts, une solution est de les fabriquer, ce qui nous permettra également de les ajuster précisément à nos contraintes. Détaillons maintenant tout cela.

En savoir plus

REA – roues ou chenilles : transmission de la puissance

roue pololu de 70mm, avec axe central en D.

Pour notre programme REA, nous développons un Rover d’Exploration Autonome. Dans les précédents billets, nous avons discuté du mode de déplacement du robot, puis des divers types de motorisation exploitables. Maintenant que nous avons sélectionné un type de moteurs, il nous faut un moyen de transformer le mouvement de rotation de l’axe moteur en un mouvement linéaire du robot. On s’appuiera pour cela sur des roues ou chenilles, utilisées dans plusieurs configurations :

  • deux roues motrices et une roue libre omnidirectionnelle;
  • quatre roues motrices (ou N paires de roues motrices);
  • deux roues entraînant des chenilles.

Voyons en détail ces solutions.

Deux roues motrices et une roue libre omnidirectionnelle

cc Jiuguang Wang, Wikimedia commons

Robot à deux roues motrices et une roue omnidirectionnelle. cc Jiuguang Wang, Wikimedia commons

Si nous avons deux roues motrices, alors il nous faut un troisième point de contact avec le sol pour que le robot reste en équilibre. Il existe des robots capables de se contenter de deux roues, en s’équilibrant automatiquement, mais cette approche est plus complexe, et posera d’autres problèmes, sans forcément apporter grand chose à notre rover. Nous devons donc trouver un moyen d’avoir un troisième point de contact qui génère aussi peu de frottement que possible. Pour cela, nous utiliserons une roue omnidirectionnelle. Il s’agit d’une roue capable de rouler dans tous les sens sur sur le plan. Pour cela, il y a deux approches communes :

 

  • les billes ou “ballcaster“;
  • les roues sur un pivot.

Le ballcaster, ou bille

Image IPB

ballcaster en plastique, cc Bomazi, wikimedia commons.

Pour la première solution, on utilise une bille métallique ou en plastique enfermée dans une base ajourée dans sa partie basse. La bille ne peut s’échapper de cette base, mais est libre de tourner dans tous les sens. On fixe alors l’ensemble sur le châssis du robot, et on obtient notre troisième point de contact. Cette solution est peu coûteuse, facile à mettre en œuvre, et on trouvera une grande variété de ballcasters. En contrepartie, on aura davantage de frottement qu’avec une roue classique, et une hauteur de franchissement d’obstacle plus faible, à moins de trouver un ballcaster de très grande taille, ce qui est plus rare.

 

 

La roue sur pivot

La roue sur pivot est une roue classique, fixée sur un support rotatif, qui fait que celle ci peut tourner normalement comme une roue classique, mais également de gauche à droite facilement. On s’en servira de façon totalement passive : les roues motrices feront tourner le robot dans un sens, et la roue libre s’alignera avec le sens de déplacement du robot. On peut toutefois concevoir d’utiliser ce système avec un servomoteur pour tourner cette roue libre, et ainsi avoir une direction par ce biais plutôt que par les roues motrices. C’est une solution plutôt performante, avec peu de frottements. Cependant, il est parfois difficile de trouver de petites roues de ce genre, en dessous d’une certaine taille, on ne trouvera que des ballcasters.

Dans les deux cas, cette solution limite la capacité de franchissement d’obstacle du rover en fonction de la taille de cette roue omnidirectionnelle. Plus elle est petite, plus on sera arrêtés par de petits obstacles. Pour un sol relativement lisse, c’est donc une bonne solution, en milieu accidenté, on sera en revanche plus limités.

Quatre roues motrices (ou 2N roues motrices)

robot K10 - image NASA

robot K10 – image NASA

Pour cette approche, nous aurons 4 roues motrices (ou plus), donc chacune avec un moteur. Cette solution fournira un couple plus important, en contrepartie d’une consommation supérieure. On aura également une bonne capacité de franchissement, avec potentiellement la possibilité de franchir des obstacles plus grands que les roues, si la garde au sol est assez importante. On réduit le risque d’être embourbé, ensablé, ou bloqué à cause d’une roue dans le vide.

Les points négatifs sont qu’il faut 4 moteurs, qui consommeront davantage (en théorie!), et qu’il faudra synchroniser les moteurs pour des performances optimales. Petit point sur la consommation toutefois. Si l’on prend un robot d’une masse donnée équipé de deux moteurs. Les moteurs devront chacun fournir un couple de X g/cm pour faire avancer le robot. Pour toutes autres choses égales par ailleurs, si l’on passe à 4 roues motrices, chaque moteur devra fournir X/2 g/cm de couple pour faire avancer le robot de façon identique. De ce fait on a plus de moteurs, mais chacun sera moins sollicité, donc consommera moins.

En pratique, on aura des pertes, donc il est difficile de donner une règle générale. On peut cependant s’attendre à ce qu’à priori, 4 moteurs consomment un peu plus que 2 sur un robot , mais pas forcément le double, à moins que tous les moteurs ne soient poussés au maximum de leurs capacités.

3 générations de rovers martiens à 6 roues. Domaine public (source Nasa)

3 générations de rovers martiens à 6 roues. Domaine public (source Nasa)

Il est à noter qu’on peut utiliser 6, 8 ou 2N roues motrices si on le souhaite. Tous les rovers envoyés sur Mars par la NASA comportent 6 roues (sojourner, spirit et oportunity, et curiosity)
.

 

 

 

Le premier rover à rouler sur un autre astre que la terre : lunokhod

Image IPB

Le Lunokhod 3 de profil (domaine public)

Le premier robot de l’histoire de l’humanité à se déplacer à la surface d’un autre corps céleste fut le rover Lunokhod,ou le marcheur lunaire, en 1970, ouvrant la voie à l’exploration spatiale robotique. Des chercheurs de l’équipe de Sergueï Korolev, au cœur du programme spatial russe, furent par la suite (après le changement de régime russe en 1989) contactés et recrutés pour le développement du programme de rovers de la NASA. Ces technologies sont donc bien plus anciennes que ce que l’on imagine!
Les Lunokhod avaient quand à eux 8 roues.

 

 

 

Deux roues entraînant une chenille

Robot GROVER, en Islande - image NASA

Robot GROVER, en Islande – image NASA

Une autre solution est d’utiliser des chenilles. Celles ci possèdent en effet de nombreux avantages, avec par exemple une très grande surface de contact avec le sol. Il en découle une excellente adhérence, et une faible pression par unité de surface sur le sol.

Cette technologie réduit donc le risque d’enlisement ou d’ensablement. Du fait de son excellente adhérence, elle permet en outre d’aborder des pentes importantes, pourvu que les moteurs fournissent la puissance nécessaire. Enfin, cette solution permet un franchissement d’obstacle excellent, pouvant dépasser la hauteur de l’engin. Conclusions sur la transmission de la puissance

En effet, si les chenilles dépassent de l’avant du rover, elles pourront agripper l’obstacle, et l’avant se soulèvera pour le franchir. Si les chenilles sont aussi longues que le rover, il n’y aura pas de “zone morte” au milieu. On ne pourra donc pas se retrouver bloqué sur un obstacle entre deux jeux de roues. En revanche, la chenille sera aussi solide que le plus faible de ses maillons. Si la chenille casse, alors il y a peu de chances que le rover puisse se déplacer. Pour de longues missions, il conviendra de choisir des chenilles solides. La seconde contrepartie, c’est que les chenilles génèrent plus de résistance au mouvement, et donc une consommation énergétique supérieure. Selon leur taille et leur qualité, on trouvera diverses gammes de prix pour ces chenilles.
Malgré ces petits inconvénients, les chenilles restent une solution très intéressante, et simple à mettre en œuvre.
Il est à noter que l’on peut très bien utiliser 4 roues motrices entraînant les chenilles, pourvu qu’on synchronise les roues de chaque chenille. C’est en effet un bon moyen d’augmenter le couple disponible, et ainsi la capacité de franchissement du rover. Du fait de la très grande surface de contact entre le sol et la chenille, ce système bénéficiera d’autant plus efficacement de la puissance apportée par des paires de moteurs supplémentaires.

Conclusions sur la transmission de la puissance : roues ou chenilles ?

Dans le contexte d’un rover devant affronter un terrain accidenté, la solution la moins à même de franchir les obstacles sera celle des deux roues motrices avec une roue omnidirectionnelle. Toutefois, puisque la gestion des moteurs et l’algorithme de conduite seront identique à celui des deux roues entraînant des chenilles, et très proches de la version 4 roues motrices (ou plus), nous pourrons utiliser ce système pour des prototypes, ou pour des missions en terrain relativement lisse. On pourra toutefois utiliser deux roues libres non omnidirectionnelles à la place d’une roue omnidirectionnelle, et cela nous permettra une meilleure capacité de franchissement, et une meilleure stabilité, au prix d’un peu plus de frottement, et donc d’une efficacité énergétique plus faible. Cette configuration peut en outre facilement être convertie en une configuration à chenilles, et vice-versa.

Les autres solutions sont toutes deux très intéressantes, la solution des 2N roues motrices étant plus coûteuse en moteurs et en énergie (potentiellement), mais très efficace. Sur un terrain très accidenté ou difficile, la solution la plus efficace sera celle des chenilles. Sur un terrain moins difficile, les 2N roues motrices peuvent fournir une meilleure efficacité énergétique, une vitesse de pointe plus élevée, tout en conservant une bonne capacité de franchissement, mais pour un coût plus élevés, non seulement pour les moteurs, mais aussi pour les capteurs nécessaires pour chaque moteur.

Dans le contexte d’un petit rover, afin de maintenir des coûts acceptables, et une bonne versatilité de l’ensemble, le système final embarquera probablement des chenilles entraînées par deux moteurs.

Maintenant que nous avons déterminé l’architecture globale du système de propulsion du rover, il nous faut nous intéresser à la source d’énergie de celui ci. Nous nous penchons sur ce sujet dans le billet suivant.