Mindstorms, un catalyseur d’intelligence humaine !

La semaine dernière, je vous ai parlé d’un robot éducatif : le Ohbot. Aujourd’hui, le robot dont il est question, bien qu’éducatif, n’en est pas moins utilisé par des ingénieurs ou des projets de recherche. Son succès indéniable repose tout à la fois sur sa flexibilité et l’intelligence que l’homme y a déposé.

Le robot – enfin la boîte Mindstorms devrais-je plutôt dire – permet de réaliser une multitude de robots. Composé de plusieurs centaines de pièces, ce produit Lego a l’allure d’un jouet plus que d’un robot. Pourtant, il recèle un formidable potentiel. Voici la présentation complète du Mindstorms EV3.

Robot Mindstorms EV
Réalisation de Puppy, avec la boite Mindstorms EV3

Pour réaliser un robot, trois aspects doivent être maîtrisés : l’informatique, l’électronique et la robotique. L’électronique est déjà constituée via la brique EV3 et les capteurs présents dans le Mindstorms. Seuls la mécanique et l’informatique réclament donc toute votre attention. Le monde des possibles s’ouvre à vous.

En ce qui concerne la partie mécanique, Mindstorms rejoint le principe du Lego technique. La richesse des pièces vous permet de réaliser des montages mécaniques en tout genre. Vous pouvez, évidemment, y ajouter les pièces d’autres boîtes pour augmenter le potentiel du robot ou y mettre du pneumatique par exemple.

Nombreux sont ceux qui considèrent que, du fait de ses 3 moteurs et 3 capteurs, Mindstorms est très limité. Loin s’en faut ! Là se situe tout l’attrait de ce robot. Vous verrez sur le web de nombreuses réalisations qui mettront en œuvre ces capacités. Oui, ce robot est limité par le nombre de ses moteurs et de ses capteurs, eh bien, c’est l’intelligence du roboticien qui comblera ses limites! Le Mindstorms nécessite de placer son intelligence et sa créativité au cœur de la conception du robot.

Pour augmenter la richesse de ses mouvements ou de ses comportements, vous chercherez des solutions qui permettront à un moteur d’être capable d’effectuer deux actions différentes telles qu’avancer et tourner ou lever le bras et serrer la pince. Vous êtes-vous déjà demandé quelle est la part d’intelligence humaine mise dans ce robot ? La tendance actuelle est de mettre en avant l’intelligence artificielle en abondance. Pourtant, sans la créativité et l’intelligence des concepteurs, un robot n’est pas grand chose.

Lorsque vous regardez les robots SandFlea ou Rhex de Boston Dynamics, ne pensez-vous pas que la forme et la mécanique ont été très intelligemment choisies ? Les performances de ces 2 robots ne proviennent-elles pas en grande partie du choix physique et des choix mécaniques ?

Les 2 vidéos que je vous présente ci-dessous montrent des écoliers cherchant à réaliser un robot Mindstorms (version NXT) capable de grimper une pente de plus en plus raide. La créativité et l’intelligence mises dans ces robots sont particulièrement frappantes. Une multitude de solutions différentes sont présentées, chacune avec un degré de performance plus ou moins efficiente quant à la capacité du robot à affronter cette pente.

Les capteurs sont en nombre limité et n’ont pas les capacités liées à leurs équivalents professionnels. Comment mettre en œuvre dès lors toute l’amplitude de leur performance ? Est-il possible de transférer au niveau de la programmation les éléments que les capteurs ne peuvent prendre en charge? Pouvons-nous calculer le déplacement d’un moteur afin de connaître le moment où il arrivera en butée ? Pouvons-nous mettre un capteur de contact qui pourra contrôler des contacts différents, mais à des moments identifiés ?

Chaque élément doit être réfléchi par rapport à l’ensemble et vice-versa. La coordination du Mindstorms trouve son assise dans la partie informatique, la programmation. C’est elle qui fait le raccord entre la perception et l’action. Le robot peut être purement réactif, ou davantage cognitif.

Dans le cadre de la boucle perception-action, le robot peut construire une représentation- parfois sommaire- de son environnement ou de la situation. Dès lors, lorsqu’un obstacle est détecté, le robot pourra tourner à droite de 30° pour l’éviter et gardera en mémoire pendant un certain laps de temps l’existence d’un obstacle à gauche qui deviendra ‘arrière gauche’.

Comment exploiter au maximum le potentiel d’un robot ?

Reprenons le cas du Rhex. Dans cette vidéo, vous découvrirez comment ses performances sont pleinement exploitées par la programmation.

La programmation de la brique EV3 peut aussi, bien entendu, utiliser de l’intelligence artificielle telle que logique floue, réseaux neuronaux, etc. Nous pouvons aussi nous inspirer de l’automatisme en programmant le robot avec la notion de jeton.  Les capteurs seraient dès lors utilisés dans des contextes différents.

L’intérêt principal du robot Mindstorms – qui le rend d’ailleurs si populaire dans le milieu éducatif – est la possibilité de réaliser les constructions par itération. De fait, vous construisez un modèle : la partie mécanique. Vous réalisez des tests simples, vous définissez des limites, des faiblesses. Vous retravaillez ces éléments jusqu’à obtenir un résultat satisfaisant. Vous passez ensuite à la phase informatique et procédez de la même manière. Vous pourrez opérer ensuite des corrections soit sur la partie mécanique, soit sur la partie informatique. Exemple, je n’arrive pas à utiliser une information avec un capteur. Je peux soit changer l’emplacement du capteur, soit modifier le progragmme suivant les cas.

Chaque pas, chaque modification permettra ainsi au robot de prendre forme et de se rapprocher pas à pas de celui que vous aviez conçu cérébralement parlant. A force de petites touches, d’essais, d’erreurs, d’actions, de réactions, d’intelligence humaine, de programmation, vous vous rapprocherez de ce que vous cherchez. Et soyons franc, la recherche est tout autant source de joie que le résultat final en lui-même. Les enfants de 10 ans trouvent ainsi beaucoup de plaisirs à concevoir des robots… et les grands enfants en trouvent tout autant à les accompagner ou à s’y aventurer seuls… Noël approche, avez-vous été sage ?

Jérôme Damelincourt (@j_damelincourt)
Fondateur de Robopolis, passionné par les robots, l’intelligence artificielle, et les sciences cognitives, je vis mes rêves de robots.


Laisser un commentaire