Skip to main content

R.Ian : démo rapide (robot Arduino à 35€)

R.Ian, vignette video 1 youtube

Salut à tous. Dans un précédent billet, je vous présentais R.Ian, mon nouveau projet de robot économique, simple et extensible. J’ai crée une page détaillée sur R.Ian, et  maintenant, voici une petite démonstration d’un programme de base, s’exécutant sur une version encore en développement du robot.

Pour cela, j’ai tourné une petite vidéo que vous pouvez retrouver sur ma chaîne Youtube, ou consulter directement ici :

Si l’intégration de la vidéo devait ne pas fonctionner, voici le lien vers la vidéo :

Démonstration rapide d’évitement d’obstacles par R.Ian en utilisant les capteurs de contact.

A bientôt pour plus de développements!

Création d’un boitier pour le panneau du contrôleur d’aquarium Rlieh

Facade du boitier de commande de Rlieh

Pour mon contrôleur d’aquarium, Rlieh, j’utilise un écran LCD 4×20, connecté à un Arduino nano, et des sondes diverses. Pour l’instant, je n’ai qu’un bouton, pour allumer et éteindre le tout, mais j’en prévois d’autres. Jusqu’ici, l’ensemble était simplement vissé sauvagement, et la carte électronique posée sur la vitre qui protège les LED.  Du coup, il est temps de reprendre tout ça pour tout installer proprement!

En savoir plus

Présentation de R.Ian : un robot économique pour apprendre à programmer.

R.Ian assemblé et fonctionnel.

R.Ian est mon nouveau robot, simple, économique, presque entièrement imprimé en 3D (roues et pneus inclus), pensé pour l’enseignement de la programmation, mais également pour ceux qui voudraient se lancer dans la robotique pour moins de 50€, tout en ayant une machine extensible. J’ai donc créé une page de présentation de R.Ian, et divers articles suivront sur ce robot pendant les étapes de sa création et de son évolution. Je vous invite donc à suivre ce lien pour plus de détails : R.Ian : un robot économique pour apprendre à programmer. Après la balise suite, retrouvez quelques photos du robot au moment de l’écriture de ce billet.

En savoir plus

REA – contrôle des moteurs, PWM et choix du composant adapté

Arduino et contrôleur de moteurs DRV8835 sur R.Hasika

Dans le cadre du programme REA, nous développons un rover. Nous avons tout d’abord décidé du mode de déplacement du robot, avant de nous pencher sur le type de moteurs à utiliser, puis au choix des roues ou chenilles pour la propulsion. Nous disposons maintenant d’un groupe moto-propulseur, qu’il convient de s’intéresser au contrôle des moteurs pour gérer précisément les déplacements du rover. Nous nous pencherons maintenant sur cette problématique.

En savoir plus

REA – energie, alimentation électrique : batteries pour rover

Châssis de R.Hasika avec les batteries LiPo 18650 et les moteurs

Dans le cadre du programme REA, nous développons un rover. Nous avons tout d’abord décidé du mode de déplacement du robot, avant de nous pencher sur le type de moteurs à utiliser, puis au choix des roues ou chenilles pour la propulsion. Pour que notre rover soit autonome, il nous faut une source d’énergie, et comme nous avons opté pour des moteurs électriques, il nous faut une alimentation électrique pour l’ensemble. Voyons cette problématique en nous penchant principalement sur les batteries pour rover.

En savoir plus

Raspberry pi mobile LiPo, test d’autonomie au repos, monitoring batterie

courbe tension batterie lipo en fonction du temps alimentant un raspi A+

Aujourd’hui, voyons comment s’en sort notre raspberry pi équipé de sa batterie LiPo de 6000mAh. Dans ce précédent billet, j’ai décrit le système de base du Raspberry pi mobile, et dans celui ci j’ai rajouté un composant pour mesurer la tension de la batterie. Le premier test effectué nous a permis d’atteindre environ 42 heures d’autonomie, au repos. Cette fois ci, nous reproduisons ce test, mais en mesurant la tension de la batterie durant ce test. Nous étudierons la courbe pour déterminer une relation entre la tension et la charge restante.

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.