• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 13/07/2017

Découvrez les principes mécaniques des robots autonomes

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Quand on entend parler de la carte Arduino, on imagine tout de suite bien des possibilités, en particulier la création de robots. Et bien on n’a pas tort, la carte Arduino permet en effet de programmer des robots autonomes !

Vous verrez dans ce chapitre ce que l’on entend par robot autonome et ce qui peut être imaginé en fonction de vos projets. Vous ferez aussi et surtout le point sur les notions de base de mécanique : transmission du mouvement, énergie, déplacement…

Mais commençons par le commencement !

Au début il y avait l’homme, puis vint la machine

Nous rêvons (moi en tout cas) de robots amis, qui nous seconderaient dans nos tâches quotidiennes, seraient subtiles et forts, intelligents et obéissants. La science-fiction et les films nous montrent d’ailleurs souvent ces robots. Bien que deux courants s’opposent avec les gentils robots (dans Interstellar, Wall-e, A.I. Intelligence Articielle…) et les méchants robots (dans Terminator, Matrix, 2001...), ils sont tous dotés d’intelligence artificielle, c'est-à-dire qu'ils réfléchissent par eux-mêmes et prennent leur propres décisions (comme le ferait un être humain). Je vais peut-être détruire l’un de vos plus grands rêves, mais ce type d’intelligence n’existe pas encore en robotique et en informatique.

En revanche, on peut amener une machine à agir et réagir avec son environnement, jusqu’à un point d’autonomie impressionnant (surveillance des centrales nucléaires, robots sur Mars, sondes…). Ces machines sont autonomes mais restent toutes obéissantes au programme qui les dirige.
Il faut donc savoir que votre robot ne sera autonome (c'est-à-dire qu'il répondra seul aux sollicitations de son environnement) que si votre programme et les capteurs que vous lui avez fournis le lui permettent. Bref, il ne vous surprendra jamais, vous décevra souvent, et vous émerveillera parfois ! 

Dans ce cours, lorsque nous allons parler de robots autonomes, cela se résumera à des robots qui savent se déplacer dans un environnement spécifique connu et qui réagissent à cet environnement selon les objectifs précis qui leur ont été donnés. Voici quelques exemples de robots autonomes qu’il est possible de réaliser avec la carte Arduino :

 

  • Un portail automatique (si si, c’est une forme de robot) ;

  • Un trieur de bille de couleur (oui, oui, ça aussi) ;

  • Un dessinateur au feutre (imprimante simple) ;

  • Un robot suiveur de ligne noire ;

  • Un robot éviteur d’obstacle (type robot aspirateur) ;

  • etc.

 

L’ensemble de ces robots ont en commun deux points importants : un mécanisme de mobilité et des capteurs.
Je vais donc aborder ces deux points l’un après l’autre.

(Oui Lukas, vous pouvez entrer. Oui vous êtes en retard et vous venez de manquer mon introduction passionnante, mais je suis content de vous retrouver ! Installez-vous...)

Je vais commencer par un point bassement matériel...

Quels matériaux pour un robot ?

 

Souvent la difficulté est de construire son robot. La carcasse doit pouvoir contenir l'ensemble du matériel (carte Arduino, batteries, fils, moteurs, servos, capteurs) et être assez solide et légère à la fois pour une utilisation optimale.

Alors malheureusement je n'ai pas de recette miracle, et c'est presque tant mieux ! Il existe des dizaines de façons de concevoir son robot ou sa machine automatisée. Je vais vous donner quelques pistes tout de même...

Le bois

Plus précisément le bois de balsa, offre une bonne alternative entre solidité et légèreté. Il se travaille au cutter, à la perceuse, au pyrograveur. Il s'assemble avec de la colle, des écrous et boulons, des vis à bois. On peut assez facilement concevoir sa carcasse robotique avec du balsa. Pour les projets de plus grande envergure, le contreplaqué est aussi un bon compromis (bien que plus lourd). 

Un jouet en balsa (http://www.harborfreight.com)
Un jouet en balsa (http://www.harborfreight.com)

L'inconvénient est qu'il faut être assez manuel et avoir les outils adaptés pour obtenir une réalisation correcte. le balsa est très utilisé en aéromodélisme pour sa légèreté. 

Si vous vous sentez l'âme xylophile, n'hésitez pas ! Le coût reste assez faible (de l'ordre de 3€ la planche de 1 mm x 10 cm x 1m).

(J'ai dit xylophone, pas xylophone Lukas...)

Le métal

Il est bien plus solide, mais plus délicat à travailler. Souvent plus lourd (même si on utilise de l'aluminium), il permet d'obtenir une plus grande résistance aux torsions. Il existe plusieurs possibilités pour utiliser le métal. Soit acheter les plaques et les travailler soi-même, soit acheter des kits à base de tiges trouées et de visseries. 

Un kit de construction en métal (www.adafruit.com)
Un kit de construction en métal (www.adafruit.com)

Outre la difficulté technique pour ouvrager les pièces, le prix d'achat de ces kits est souvent assez élevé (environ 200€ pour le kit de l'image ci-dessus).

Maintenant, si vous êtes du métier ou que vous avez les ressources, les robots en métal sont souvent solides et esthétiques !

Le plastique 

Alors il existe plusieurs sortes de plastiques :

  • le plastique que vous recyclez de vos emballages divers ;

  • le plastique acheté en plaque (type plexiglass) ;

  • Le plastique moulé.

Là encore, le prix n'est pas toujours abordable (sauf dans le cas d’emballages recyclés) et outre ses qualités esthétiques, la production et la fixation des pièces nécessite un matériel adapté (assez proche du travail du bois).

Un boitier ordinateur en plexiglass (www.adafruit.com)
Un boitier ordinateur en plexiglass (www.adafruit.com)

L'intérêt du plastique est, entre autre, sa transparence, qui permet des jeux de lumière et de couleur.

J’ai déjà eu l’occasion de voir des réalisations de robots entièrement en plastique de récupération qui ne palissaient pas devant des montages thermoformés... La patience, l'inventivité et l'habileté font souvent des merveilles !

Les kits tout prêts

Il existe dans le commerce des kits robots tout prêts, c'est-à-dire que vous avez tout ce qu'il faut pour construire votre robot roulant (carcasse et moteurs, ou carcasse permettant d'accueillir des moteurs et capteurs). C'est très pratique.

Une exemple de kit robot proposé par Arduino (www.geek.com)
Une exemple de kit robot proposé par Arduino (www.geek.com)

Ces plateformes préfabriqués sont faciles à utiliser et répondent très souvent à vos besoins. Il en existe des dizaines avec des tailles et des formes différentes. Un conseil tout de même si vous investissez : regardez comment se fixe chaque module (carte Arduino, capteurs, moteurs, batterie) et surtout si vous pouvez détourner l'objet pour vos projets (ajout facile de servos, de capteurs...)

Le coût de ces plateformes varie de quelques euros à quelques centaines d'euro. En ce qui concerne les moteurs, préférez des moteurs qui ont une démultiplication intégrée, plutôt que des engrenages extérieurs (qui s'abîment plus vite çar moins protégés).

Une solution intermédiaire : les LEGO™

Alors ça peut faire rire, mais c'est la solution que je préfère ! Oui, à mon âge je joue encore aux LEGO™ !

(Vous aussi Lukas ? j'en suis ravi )

Lorsque je dis LEGO™, je veux surtout parler des LEGO Technic ™ ou des LEGO Mindstorm ™. Ils ont toutes les sortes de pièces dont on a besoin et se montent facilement. On peut y adapter sans difficulté un servo-moteur ou des capteurs (bon oui, il faut oser percer une ou deux briques, et alors ?) et ils sont solides et légers.

Un modèle de LEGO Technic™ (www.amazon.fr)
Un modèle de LEGO Technic™ (www.amazon.fr)

L'inconvénient ? Le prix ! Une boîte de LEGO Technic™ peut facilement monter aux alentours de 200€ ! Maintenant, si vous faites comme moi, en recherchant vos anciens LEGO™(pour ceux qui y jouaient), en parcourant quelques bric-à-brac et en surfant sur le Web, vous devriez pouvoir acquérir facilement les objets de vos convoitises !

Un petit point sur les LEGO Mindstorm™ : ils sont conçus justement pour la robotique. La nouvelle gamme propose des capteurs, des moteurs, des télécommandes et un microcontrôleur. Un peu plus difficile à contourner que les anciens modèles, ils restent complètement adaptés pour la micro-robotique !

Une belle pub pour les kits LEGO Mindstorm™ (http://www.bluemagic.club)
Une belle pub pour les kits LEGO Mindstorm™ (http://www.bluemagic.club)

Alors oui, ça donne envie, mais ça coûte les yeux de la tête et surtout on s'éloigne de l'objectif de l'Arduino : être libre de connecter ce que l'on veut. C'est la raison pour laquelle que parlais de solution intermédiaire.

Pour ma part j'utilise les LEGO™ pour la carcasse et pour les moteurs. Mais ensuite j'utilise l'Arduino et les capteurs électroniques faits maison pour tout le reste. Un bon compromis de mon point de vue.

Il existe des sites où les pièces peuvent être commandées à l'unité, et c'est largement suffisant et bien moins onéreux.

Bon il existe sûrement bien d'autres possibilités et vous aurez l'occasion d'échanger à ce sujet sur le forum.

Nous avons vu de quoi un robot peut être fait, il est de temps de le mettre en mouvement à présent…

Je ne parle pas seulement de déplacement, mais bien de mobilité. Dans l’exemple du portail, votre portail bouge autour d’un axe, ou sur un rail, mais ne se met pas à courir la campagne !
Les deux principaux composants qui vont nous permettre de faire bouger nos robots sont : le moteur et le servo-moteur. Vous allez donc voir comment les utiliser au mieux pour répondre à vos besoins.

Parlons tout d'abord de transmission de mouvement...

Mettez un robot en mouvement

Le principe est simple : comment transmettre le mouvement de rotation de l'axe d'un moteur, à une roue ?

Alors vous me direz, il suffit de mettre la roue directement sur l'axe du moteur ! C'est en effet une des possibilités. La limite est la puissance fournie par le moteur. Nous avons vu dans le cours d'initiation à Arduino que le moteur peut gagner en puissance (et du même coup perdre en vitesse) grâce à un jeu d'engrenages (ou autre). La seconde limite est qu'un moteur entraîne une seule roue, mais dans le cas d'une voiture, un moteur entraîne deux voire quatre roues. Il faut donc transmettre ce mouvement !

Pour cela, nous allons voir tout de suite trois méthodes possibles (il en existe d'autres) :

  • la transmission sur deux plans parallèles ;

  • la transmission sur deux plans perpendiculaires ;

  • la vis sans fin (plans perpendiculaires et démultiplication accrue).

Transmission sur le même plan 

Il s'agit de faire passer le mouvement depuis l'axe d'un moteur vers l'axe d'une roue, les deux axes étant parallèles. Deux méthodes s'offrent à nous : le train d'engrenage ou la poulie. L'un comme l'autre peuvent démultiplier le mouvement (c'est-à-dire qu'une petite roue entraîne une grosse roue). Si le moteur entraîne le petit engrenage (ou poulie), qui entraîne le plus grand sur lequel est fixé notre roue, le moteur tournera plus vite que la roue. Sa puissance sera plus importante mais la vitesse du robot sera réduite.

Voici deux exemples en vidéo.

Dans le premier exemple, le moteur entraîne un petit engrenage qui en entraîne un plus grand. L'axe de ce dernier est le même que celui de la roue.

Dans le deuxième exemple, le moteur entraîne une petite poulie qui entraîne ensuite une plus grande. L'axe de la grande poulie est le même que la roue.

Vous pouvez observer le mouvement des deux engrenages ou  des deux poulies. À chaque fois, le pignon (engrenage ou poulie de petite taille) entraîne l'autre partie qui est reliée à la roue. Les vidéos montrent un banc de démonstration (pour observer le mécanisme), il faut ensuite adapter le principe au robot.

Transmission sur plan perpendiculaire

Parfois, le moteur n'est pas dans le même axe que la roue. Il faut utiliser dans ce cas un engrenage spécial qui permet de transmettre le mouvement à un axe perpendiculaire.

On peut ainsi, avec un seul moteur, entraîner deux roues situées sur le même axe. Sur la vidéo, le moteur entraîne l'engrenage directement. Il est tout à fait possible d'imaginer que le moteur entraîne un arbre (un axe long) avec au bout l'engrenage en question.

La vis sans fin

Ce principe permet une plus grande démultiplication de la puissance du moteur. L'axe du moteur entraîne une vis dont les ailes sont assez larges pour entraîner les dents d'un engrenage.  Ce dernier tourne donc très lentement et entraîne la roue qui du coup gagne énormément en couple (puissance de rotation).

Là encore, il s'agit  d'un banc de démonstration. Le montage sur un robot nécessitera que l'axe de la vis et de l'engrenage soient fortement maintenus en place.

Il existe encore d'autres méthodes de transmission de mouvement, mais vous devriez pouvoir trouver votre bonheur parmi ces trois méthodes principales.

Imaginons maintenant que votre robot soit équipé de moteurs qui entraînent des roues (par démultiplication ou non). Nous allons voir maintenant comment faire pour que ce robot tourne et n'aille pas uniquement tout droit !

(Lukas, ça suffit maintenant avec les LEGO™! Le pire, ce sont vos bruitages ! Ça vous fait postillonner, c'est...  ... bref.)

Faites tourner votre robot

Il y a deux écoles pour faire tourner une plateforme robotisée : l'utilisation de roues directrices (comme dans une voiture) ou l'utilisation de sens de rotation inversés des trains de roues (comme dans un tank). Nous aborderons aussi une méthode pour articuler un bras (qui est souvent liée à une rotation).

Les roues directrices (la voiture) 

Le principe consiste à ce que la plateforme qui avance dispose de roues qui vont s'orienter dans la direction désirée pendant le mouvement. Ces roues peuvent être situées à l'avant ou à l'arrière. La plateforme se déplace en faisant un arc de cercle dont le rayon est plus ou moins grand (le fameux rayon de braquage). Plus l'angle que prennent les roues directrices par rapport au sens du mouvement est grand, plus le rayon du cercle de rotation sera petit. La plateforme tournera sur une zone réduite. À l'inverse, moins l'angle pris par les roues directrice est grand, plus le rayon de braquage est important, et plus il faut d'espace pour faire tourner la plateforme.

Roues directrices
Roues directrices

La barre rouge est souvent pilotée par un servo-moteur. Il est important que les axes soient alignés (en haut comme en bas) pour que la rotation s'effectue correctement. Cette construction ne prend pas en compte une différence entre la roue droite et la roue gauche pour l'angle de rotation. Pour un robot de petite taille non habité, ce n'est pas très grave, mais pour un véhicule plus lourd, roulant plus vite et surtout avec des humains à l'intérieur, il est nécessaire de prendre en compte cette différence. Voici un schéma explicatif :

Angle différents lors de la rotation des roues (http://moteurdiesel.voila.net)
Angle différents lors de la rotation des roues (http://moteurdiesel.voila.net)

Sur ce schéma, on comprend que les deux roues doivent être sur des tangentes de cercles de même centre. Le rayon de ces deux cercles et le positionnement des roues étant différents, on observe bien que pour que les roues suivent correctement la trajectoire, il faut une inclinaison différente (ici la différence est de presque 7°).

Mais je le répète, pour un robot, ce n'est pas primordial. ;)

Passons maintenant à la deuxième méthode possible pour faire tourner une plateforme.

Rotation inversées des roues (le tank)

On utilise ce mode pour des robots à roue folle ou robots à chenilles.

Le robot à roue folle, c'est celui qui a deux roues (une à droite, l'autre à gauche) qui peuvent tourner indépendamment l'une de l'autre (dans les deux sens) et une troisième roue dite folle, c'est-à-dire qui ne se contente que de suivre le mouvement (quel que soit le sens).

plate-forme à roue folle (http://www.robot-maker.com)
Plateforme à roue folle (http://www.robot-maker.com)

Les roues folles peuvent être faites un peu comme les roues libres des caddies de supermarché, ou avec une bille dans une sorte de rotule :

Roue bille à gauche et roue libre à droite (www.discount.com)
Roue bille à gauche et roue libre à droite (www.discount.com)

Les deux se fixent sous la plateforme et permettent à la fois de l'équilibrer et de la laisser libre de tourner.

Le robot à chenille, c'est le tank de base. Deux moteurs entraînent deux chenilles situées de part et d'autre de la plateforme :

Plateforme à chenilles (http://tpe-lamartin.e-monsite.com)
Plateforme à chenilles (http://tpe-lamartin.e-monsite.com)

Dans les deux cas, le principe est le même :

  • Les roues (ou chenilles) tournent dans le même sens, la plateforme avance ou recule.

  • Une roue (ou chenille) est arrêtée, l'autre continue de tourner, la plateforme tourne sur un cercle dont le centre est le point de contact de la roue arrêtée avec le sol. C'est le virage lent.

  • Une roue (ou chenille) tourne dans un sens et l'autre dans le sens contraire, la plateforme tourne sur un cercle dont le centre se situe entre les deux roues. C'est le virage rapide ou sur place.

Ce type de plateforme est beaucoup plus pratique à gérer dans les cas ou les robots doivent pouvoir tourner rapidement (voire sur eux-mêmes). Si votre montage comprend un L293D (puce qui permet de gérer deux moteurs dans les deux sens), vous pouvez sans problème vous orienter vers ce type de construction.

Voyons maintenant un principe d'articulation entre deux pièces, celui du bras mécanique.

Actionner un bras mécanique

Ce type de construction concerne les pelleteuses, les portails à battants, les plans qui s'inclinent...

Nous allons prendre l'exemple du portail à battant (comme une porte quoi). Pour qu'il s'ouvre, vous avez deux possibilités :

  • soit vous placez le servo ou le moteur directement sur son axe,

  • soit vous utilisez le principe du bras.

Dans ce deuxième cas, le servo-moteur (ou le moteur) n'est pas situé sur l'axe, mais décalé, et un bras (composé de deux parties) est lié d'un côté au servo-moteur, de l'autre au portail (ou plan à déplacer). Dans le schéma qui suit, le servo (en bleu) est fixe. Son axe (rouge) est mobile, il entraîne la barre noire (qui le prolonge), qui entraîne la deuxième barre noire, qui elle-même entraîne la barre verte (le plan ou le portail).

Différentes positions du plan en fonction de la position du servo-moteur (en bleu)
Différentes positions du plan (en vert) en fonction de la position de l'axe du servo-moteur (partie fixe en bleu, partie mobile en rouge)

On voit bien sur le schéma que l'amplitude de la rotation de l'axe du servo (environ 45°) permet une amplitude plus grande pour le plan (environ 95°). À vous bien sûr de faire vos réglages pour que le montage corresponde à vos attentes !

Bien, je crois que nous en avons terminé avec les mouvements. Il en existe d'autres bien sûr, mais l'idée est toujours de vous proposer la base, au moins pour vos donner des idées.

Un dernier point avant de terminer ce chapitre, car pour que vos robots fassent tous ces mouvements, ils vont bien avoir besoin d’énergie…

Alimentez votre robot en électricité

S'il y a une chose à ne pas négliger dans le cas des robots autonomes, c'est bien la façon dont vous allez alimenter votre robot en électricité.

Lorsqu’on utilise des moteurs, il est important de séparer le circuit de commande du circuit de puissance (consultez ce point sur les circuits de mon cours d’initiation à Arduino si vous avez besoin de vous rafraîchir la mémoire !).

Il vous faut donc prévoir deux circuits. Vous allez me dire :

"Pas de problème, il suffit d’alimenter l’Arduino d’un côté et les moteurs de l’autre en séparant les deux circuits mais en utilisant la même source ! En gros, une pile qui alimente en parallèle mon Arduino et mes moteurs."

Et bien je vous déconseille cette méthode tout simplement pour des questions de consommation. Si vos moteurs (au démarrage entre autre) puisent trop de courant, vous risquez d'en manquer pour l'Arduino et du coup perdre le contrôle du robot (si l'Arduino s'arrête, même momentanément). Et puis, même si l'Arduino peut fonctionner en recevant des tensions jusqu'à 12V, une pile de 9V suffit. Ensuite à vous de choisir et de chercher les générateurs qui conviendront le mieux à vos montages.

Je ne vais pas m'étendre sur les types de piles, générateurs ou accumulateurs électriques (de leur petit nom “accus”). Sachez juste que vous pouvez faire fabriquer le modèle qui vous sied parfaitement dans des magasins spécialisés (c'est souvent un peu plus cher, mais le résultat n'est pas négligeable).

Les questions à vous poser pour l'alimentation de votre robot sont les suivantes :

  • Où vais-je mettre mes piles ou batteries sur ma plateforme ?

  • Quelles sont l'ampérage et la tension dont j'ai besoin ?

  • Quel type de batterie utiliser (poids, rechargeables ou non) ?

  • Ai-je bien séparé l'alimentation du circuit de commande (Arduino) de celle du circuit de puissance (moteurs, servos...) ?

En résumé

Vous avez appris (ou revu) dans ce chapitre :

  • Quels matériaux peuvent être utilisés pour la fabrication de vos plateformes robotisées  (balsa, métal, plastique...) ;

  • Comment transmettre un mouvement entre le moteur (ou le servo-moteur) et une roue ;

  • Comment faire tourner une plateforme mobile (comme un tank ou une voiture) et une articulation ;

  • Quels sont les points à ne pas oublier pour alimenter votre robot en électricité.

Cette fois, je pense qu’on a fait le tour sur les bases de la mécanique des robots autonomes. Voyons comment utiliser des capteurs avec ces robots…

Exemple de certificat de réussite
Exemple de certificat de réussite