Cours et méthode. Leçon n°5: La conduite d'un robot
Aujourd'hui je vous propose le dernier chapitre du guide de la constructions de robots.
C'set le dernier de cette série, mais les articles cours et méthode ne sont pas morts, non non :d.
Sans plus tarder, au travail!
5 la conduite d'un robot
La plupart des robots, en particulier ceux utilisés dans l’industrie, sont immobiles. Ils peuvent avoir des pinces pour prendre des choses et des bras pour déplacer ces choses d’un endroit à un autre, mais ils n’ont pas de jambe. A la place, ils dépendent d’autres machines spécialisées dans le convoyage pour leur apporter les pièces dont ils ont besoin ainsi que pour récupérer le fruit de leur labeur. Les robots de la FLL sont très différents en ce sens qu’ils ont besoin de se déplacer. Ils doivent se rendre à certains endroits et ils ont des scientifiques à sauver(allusion à une des épreuves de la FLL 2000), tout cela sans interventions extérieures ou télécommande. On appelle ce type de robot des Véhicules Autonome Robotisés (ARV), et ils font partie des robots les plus complexes à construire et à programmer.
La partie d’un ARV qui lui permet de se déplacer est appelée la base mobile ou plateforme mobile. Les bases mobiles les plus simples sont des plates-formes avec des roues qui ont pour but de déplacer le robot sur un sol plat de laboratoire. Quand les robots sortirent du laboratoire, des robots du style automobile ou tank devinrent populaires. De nos jours, les ARV roulent sur les autoroutes à 90km/h, plongent dans les plus profonds océans, explorent les cratères de volcans en activité, effectuent des vols de surveillance en territoire ennemi ou baguenaudent à la surface de la planète Mars.
Les bases mobiles des robots FLL ne sont pas encore exotiques à ce point. Leur environnement est plus proche de celui d’un sol de laboratoire que de celui du cratère d’un volcan en éruption. Les plates-formes sur roues sont les plus nombreuses, mais les chenillées sont populaires aussi. Certaines sont « toutes roues motorisées » pour leur permettre de grimper les côtes ou traverser des terrains irréguliers. Peu d’équipes ont tenté de construire des plates-formes de type automobile avec des roues avant directrices, et la plupart des robots utilisent une sorte de direction différentielle où les virages sont pris en faisant tourner les moteurs situés de chaque côté à des vitesses différentes.
Le succès de votre robot dépend principalement de la bonne adéquation de la plate-forme mobile à la stratégie globale que vous avez déterminée. Qu’est-ce qui est le plus important, la vitesse ou la précision? Se déplacer en ligne droite parfaite est-il réellement nécessaire? Souhaitez-vous pouvoir effectuer des manoeuvres serrées? Les capacités de remorquage ou d’emport sont-elles cruciales? Y-a-t-il des obstacles, le terrain est-il irrégulier, présente-t-il des variations? On doit se poser de nombreuses questions avant de commencer à construire.
5.1 La conduite différentielle
Les bases mobiles à conduite différentielle furent très populaires pour équiper les premiers robots. Deux roues d’un même essieu sont motorisées et contrôlées séparément, fournissant motorisation et direction. Les changements de direction sont réalisés en modifiant la vitesse d’une roue par rapport à l’autre. Faire tourner la roue gauche plus vite fait tourner le robot à droite. Faire tourner la roue droite plus vite fait tourner le robot à gauche. Si les roues tournent en sens inverses, il est possible de tourner sur place, ce qui est impossible pour une automobile. L’exemple de tous les jours sans doute le plus connu d’une plate-forme mobile à direction différentielle est la chaise roulante.
5.1.1 Roues-pivots
Parce qu’il est difficile de construire des véhicules stables sur deux roues uniquement, la plupart des robots à conduite différentielle possèdent une ou plusieurs roues non motorisées pour stabiliser l’ensemble. Ces roues, habituellement nommées roues-pivots, roues folles ou roues « jockey », ont pour fonction d’empêcher le robot de basculer tout en n’ayant aucun impact sur les capacités motrices ou directrices. Contrairement à l’axe des roues motrices qui sont fixes, les roues-pivots doivent être en mesure de se diriger dans tous les sens. Les roues-boules sont parfaitement adaptées à cela. L’utilisation de patins est aussi une bonne solution si le sol est lisse et glissant.
pas être souhaitable pour votre robot. La dérive est un phénomène qui vous est sans doute familier car vous l’avez expérimenté avec les chariots de supermarché. La dérive c’est la tendance lorsque vous effectuez un virage qu’ont les roues-pivots situées à l’avant du chariot de le dévier avant qu’elles ne s’alignent. C’est particulièrement flagrant si le chariot est lourdement chargé ou juste après un virage très serré ou un demi-tour. Si cela est peu ennuyeux avec un chariot de courses c’est plus gênant pour un robot. Une dérive excessive gêne le contrôle de votre robot et fausse les mesures de distance et d’orientation. Quand la roue-pivot n’est pas alignée dans le sens de la marche, elle engendre une force de dérive, tout comme les roues directrices d’une automobile engendrent une force qui dévie la voiture lorsqu’on tourne. Si les frottements entre la roue et le sol sont trop importants pour qu’il y ait glissement, la force se répercute sur le chariot et celui-ci s’écarte de sa trajectoire. Au fur et à mesure que l’ensemble s’aligne, la dérive s’amenuise jusqu’à disparaître.
5.1.2 Configuration de roues
Les premiers robots à conduite différentielle possédaient souvent une configuration de roues en diamant comme le montre l’Illustration 5-5. Ces robots employaient des encodeurs (détecteurs de rotation) sur les deux roues motrices pour mesurer les distances parcourues ainsi que pour vérifier le sens de la marche. Mais cela impliquait un contact parfait des roues motrices avec le sol. Grâce aux roues-pivots à l’avant et à l’arrière, le centre de gravité était idéalement placé sur les roues motrices qui soutenaient alors presque intégralement le poids du robot. Cela maximisait la motricité et minimisait les forces d’auto-alignement des roues-pivots.
Une configuration des roues en triangle règle ce problème, mais il perd les avantages de la configuration diamant. Avec seulement trois roues, vous êtes sûr qu’elles resteront au sol. Malheureusement, avec trois roues, vous ne pouvez plus placer le centre de gravité au-dessus des roues motrices de manière idéale. Et une partie du poids est soutenu par la roue-pivot. Pour compenser, les concepteurs de robots déplacent le CG le plus loin possible de la roue-pivot vers l’axe des roues motrices. On peut aussi éloigner la roue-pivot des roues motrices.
5.1.3 Les directions
Un robot à conduite différentielle tourne en modifiant les vitesses de rotations des roues motrices. Si la roue de gauche tourne plus vite, le robot tourne à droite, si elle tourne plus
vite à droite, le robot tourne à gauche. Dans son article pour le Club de Robotique de Seattle, G. W. Lucas(“Using a PID-based Technique For Competitive Odometry and Dead-Reckoning” par G. W. Lucas www.seattlerobotics.org/encoder/200108/using_a_pid.html ) montre que les roues d’un robot à conduite différentielle suivent des parcours circulaires et concentriques lors des virages. Ceci est décrit par le croquis ci-dessous.
Avec un peu d’algèbre on peut définir le rayon de courbure (R) comme une fonction de la
voie (B) et des longueurs d’arcs (L1 et L2).
Si nous avons un robot à conduite différentielle avec une voie de 10 cm, quel est le rayon de courbure si la roue intérieure parcours 45 cm par minute et si la roue extérieure à 60 cm/min? De combien est le déplacement du robot s’il maintient cette vitesse pendant 10 secondes?
Il y a plusieurs façons de résoudre ce problème, mais peut être le plus facile est-il de calculer la distance que parcourt chacune des roues durant ces 10 secondes et d’utiliser alors ces valeurs pour calculer le rayon de courbure.
Maintenant que nous connaissons le rayon de courbure, il est facile de calculer l’angle de virage. L’angle de virage est égal à l’angle de parcours du robot.
Connaissant les distances parcourues par chaque roue, nous pouvons calculer la nouvelle position du robot. Des équations semblables peuvent être employées pour savoir de combien le robot a bougé dans les directions nord/sud et est/ouest. Si nous écrivions un programme qui calcule en continu l’orientation et la position du robot à partir de la vitesse de rotation des roues, nous ferions de l’odométrie. L’odométrie est une technique de navigation où les détecteurs de position des roues sont employés pour déterminer la position et l’orientation du robot. Presque tous les robots mobiles au sol utilisent l’odométrie comme système de navigation.
5.1.4 Une conduite plus facile
Les équations odométriques qui viennent d’être discutées nécessitent la connaissance de la position de chaque roue motrice. Cela rend difficile l’usage de l’odométrie pour votre robot FLL. Le détecteur de rotation est le meilleur dispositif pour connaître la position d’une roue or le kit défi n’en propose d’un seul. Une solution est d’utiliser un détecteur de rotation constitué d’un capteur de lumière ou de contact. Des équipes l’ont fait et cela marche assez bien (et ils ont gagné des points de créativité et de conception). Une autre solution est de repenser l’équation odométrique et de la faire fonctionner avec un seul détecteur de position.
5.1.5 La marche en ligne droite
Un problème que l’on rencontre couramment avec les robots à conduite différentielle, c’est qu’on a du mal à les faire marcher droit. Les robots à conduite différentielle sont extrêmement sensibles à la vitesse relative des deux roues motrices. Même une petite différence de vitesse conduit le robot à se déplacer suivant un arc de cercle. Cette tendance à dévier peut être réduite en suivant des bonnes pratiques de construction, en répartissant correctement les masses et en choisissant bien les moteurs. Mais une marche parfaitement droite nécessite un mécanisme qu’on pourrait qualifier de correcteur, qu’il soit mécanique ou logiciel.
D’abord, il faut savoir si aller parfaitement droit est important ou pas. Si votre stratégie de compétition est de faire des virages parfaits et de suivre des lignes tracées au cordeau, alors votre équipe risque d’être déçue. Les équipes qui gagnent savent se contenter de robots qui vont « à peu près droit » et se reposent sur d’autres stratégies pour compenser les erreurs de navigation. Ces robots auto-correcteurs sont plus à même de gérer les inévitables erreurs de positionnement au départ ainsi que les chocs et les patinages imprévus qui se produisent durant les compétitions.
5.1.5.1.1 Solution logicielle
La plupart des robots à conduite différentielle utilisent des encodeurs (détecteurs de rotation) pour mesurer la position de chaque roue. Pour aller en ligne droite, le logiciel du robot contrôle en permanence les valeurs des encodeurs et ajuste la vitesse des moteurs gauche et droit pour conserver des valeurs égales. Cette méthode est difficile à mettre en place avec le seul détecteur de rotation disponible dans le kit défi de la FLL.
5.1.5.1.1 Solutions mécaniques
Dans le domaine de l’automobile, on souhaite souvent limiter les différences de rotations entre les roues gauches et droites. Un exemple classique est celui des voitures qui s’embourbent dans la neige. J’ai souvent vu des voitures coincées dans la neige, avec une roue qui patine sur la glace et l’autre roue qui reste immobile sur le sol sec. Le différentiel fourni le même couple moteur à chacune des roues, mais comme l’une d’elle peut tourner librement sur la glace, le couple maximum fourni à l’autre roue est très faible .
Beaucoup de voitures sous les climats nordiques sont équipées d’un mécanisme permettant de limiter le glissement du différentiel pour résoudre ce problème. Avec un réducteur de glissement, le différentiel fournit le couple à la roue qui tourne le moins vite. Ceci est souvent réalisé à l’aide d’une sorte d’embrayage qui convertit le glissement en couple.
Question: Quelles autres pièces Lego pourraient être utilisées en guise d’embrayage pour limiter le glissement entre les roues motrices?
Parfois un limiteur de glissement ne suffit pas. Pour éliminer le glissement entre les roues motrices, certains véhicules 4x4 sont équipés d’un blocage de différentiel. blocage de différentiel possède un interrupteur qui lui permet de fonctionner comme différentiel normal, ou de le contraindre de fonctionner comme un arbre simple.
5.1.6 Conduite à patinage différentiel
La conduite à patinage différentiel, que l’on appelle « skid-steer », est une variante de la conduite différentielle. Elle est employée par les véhicules à chenilles (comme les tanks), mais parfois aussi par des plates-formes à 4 ou 6 roues (comme le Bobcat). Dans ce cas on n’utilise pas de roue-pivot et toutes les roues sont motrices. Les roues gauches sont reliées à un moteur, celles de droites à un autre.
Cette configuration de conduite change de direction par patinage des roues. Une conséquence directe est que l’on ne peut pas effectuer de navigation par odométrie simple. Pour cette raison, la conduite par patinage différentiel est réservée aux opérations robotiques télécommandées. Des roues non motrices destinées aux mesures peuvent être ajoutées pour une navigation odométrique lors des opérations autonomes.
5.2 La direction frontale
La direction frontale est le type de direction commune aux automobiles. Dans ce type de direction pour robot, il faut un moteur pour la propulsion et un pour la direction. Le fait de découpler la direction et la propulsion rend le contrôle plus facile que dans le cas d’une conduite différentielle où la vitesse de chaque roue doit être mesurée et contrôlée minutieusement. La direction frontale fournit une odométrie précise, tout en offrant la traction et la garde au sol nécessaires à la conduite tous terrains. Elle est donc communément choisie pour les véhicules autonomes d’extérieur.
De manière générale, la conception d’un robot à direction frontale est plus difficile que celle d’un robot à conduite différentielle. Tout d’abord il lui faut un différentiel pour transmettre la puissance du moteur aux roues. Il faut ensuite un train d’engrenage en guise de réducteur pour amplifier le couple de ce moteur unique. Enfin, le mécanisme de direction est de conception complexe si l’on s’en tient aux pièces disponibles dans le kit RIS. Par chance, il y a de nombreux exemples de direction frontale sur le web. Une recherche rapide sur LUGNET mène à plus de 100 véhicules différents à direction frontale.
L’Illustration 5-12 montre deux robots à direction frontale. Celui de gauche utilise des couronnes dentées et des roues dentées droites pour faire pivoter les roues avant. Celui de
droite utilise un système à crémaillère avec un pignon tout comme la plupart des voitures qui roulent sur nos routes aujourd’hui. Il utilise une crémaillère spéciale qu’on trouve dans les boîtes Technic, mais un mécanisme semblable peut être réalisé avec les crémaillères 1x4 disponibles dans le kit RIS.
Un robot à direction frontale possède un rayon, de braquage bien défini. Contrairement au robot à conduite différentiel, il doit se déplacer (avancer, reculer) pour tourner. De tels systèmes sont dits non-holonomiques. Dans un robot non-holonomique, un ou plusieurs des degrés de liberté (avancement, position) ne peut pas être contrôlé indépendamment. Cela rend la prévision des mouvements difficiles car chaque avancée s’accompagne d’une modification de la position latérale. Les véhicules non-holonomiques sont difficiles à manoeuvrer dans des espaces réduits. Vous savez combien il est difficile de faire un créneau en voiture.
Bien que cela soit possible, il est difficile de construire un véhicule équipé de l’épure de Jeantaud en Lego. Vous trouverez bien des pages Internet décrivant les composants et la géométrie sur le sujet ainsi que des livres. Malheureusement, les solutions adaptées demandent des pièces de tailles spécifiques qui ne correspondent pas à celles disponibles en Lego.
Une solution plus simple consiste à utiliser une roue unique pour la direction. Les engins à trois roues dont une directrice sont confinés à des marchés restreints comme les voiturettes de golfs ou des engins de mesures de distances. Leur inconvénient majeur est leur tendance à basculer dans les virages à cause de la vitesse, ce qui n’est pas un souci dans les applications citées. Le design et l’odométrie plus simples d’une plate-forme à trois roues en font un bon choix pour un robot Lego.
Disons que l’empattement de votre robot soit de 15 cm et que l’angle maximum de braquage est de 30 degrés. Quel est le rayon de braquage minimum et quelle distance la roue avant aura-t-elle parcouru après un virage de 45 degrés ?
5.2.2 Les tricycles
Un tricycle est une plate-forme avec une seule roue directrice et deux roues passives arrière (ou vice versa). Bien que cela puisse sembler similaire à la plate-forme mobile à trois roues qui précède, la direction d’un tricycle a des caractéristiques uniques qui la rendent incontournable pour les applications robotiques. La plus importante d’entre elles c’est sa capacité à tourner sur place.
Malheureusement, un véhicule à direction frontale ne tournera pas si sa roue avant pivote à 90 degrés. Si le véhicule bouge quand même c’est parce que la (ou les) roue avant glisse au lieu de rouler. Cela parce que la force de propulsion des roues arrière est perpendiculaire au sens de parcours de la roue frontale. Toutes les forces concourent à pousser la roue par le côté et non pas à la pousser vers l’avant. Des glissements latéraux de la roue surviennent même pour des angles notablement inférieurs à 90 degrés. Le meilleur angle que vous puissiez espérer est celui qui correspond à un centre de braquage se situant à l’extérieur des roues motrices.
Fin :o
C'est terminé, nous refermons ce livre de connaissances, mais pas pour toujours, peut-être que je compléterais la série cours et méthode, si ca vous a plu.
Cela ne veut pas non plus dire que les autres articles ne sont pas cultivant :o.
Moune
4 commentaires:
Tres sympa, ça fait envie :)
Je crois que lorsque je me remettrais aux bribriques je vais investir là dedans, c'est vraiment une ouverture de possibilités enormes la robotique dans le lego :)
Mais j'ai pas saisie la difference entre le tricycle et la config en triangle ?!
Bonjour, je ne comprend pas comment fonctionne le blocage différentiel ? Merci de me répondre
Séb
http://www.setechnic.com/Forum/viewtopic.php?t=939
De rien
Merci beaucoup, ce site est très complet. Je me suis servit de tes renseignements pour mes PPE cette année sur le robot Roomba. tout en citant bien sur votre site. ;)
Enregistrer un commentaire