[FR]L'émergence en Robotique, ou comment plein de petits robots peuvent créer de grandes choses

in francostem •  2 years ago  (edited)

6_emergence_fr.png

Bonjour à tous,

Il y a quelque temps je suis tombé sur cette vidéo de Kurzgezagt - In a Nutshell à propos de l'émergence dans le monde du vivant :

Des sous-titres en français sont disponibles si besoin

Si vous ne connaissez pas encore cette chaine YouTube je vous conseille d'aller voir leurs vidéos, en plus d'êtres très travaillées et d'avoir de magnifiques illustrations elles permettent de se poser des questions sur tout un tas de sujets. En voici quelqu'unes que je trouve particulièrement intéressantes : Optimistic Nihilism, A New History for Humanity, The Fermi Paradox, What are you ?

Qu'est-ce que l'émergence ?

Il y a une phrase dans la vidéo qui résume très bien l'idée d'émergence : L'émergence est la complexité découlant de la simplicité ("Emergence is complexity arising from simplicity"). C'est-à-dire qu'un nouveau caractère (au sens d'une nouvelle fonction, une nouvelle capacité) apparait lorsque l'on ajoute beaucoup d'un même élément, les colonies de fourmis, les cellules en sont des exemples, le résultat n'est pas forcément "égale" à la somme des entités le formant.

Un exemple d'émergence en robotique :

Kilobot_robot_swarm.JPG

Source

C'est après avoir observé ce comportement dans la nature que des chercheurs ont commencé à tenter de reproduire celui-ci à l'aide de robots. Nommés Kilobots, ces robots sont les produits d'une étude menée à l'Université d'Harvard , ayant pour but de créer une colonie de robots agissant comme un organisme biologique, de manière distribuée, afin de créer des formes en deux dimensions que l'on leur envoie. Les chercheurs tentent de reproduire par biomimétisme des comportements comme ceux que l'on peut observer chez les fourmis de feu qui peuvent s'accrocher entre elles pour former un radeau afin de flotter en cas d'inondations ou encore des cellules composant un organisme.

640px-Fire_ants_cluster_in_water.jpg

Un radeau formé par une colonie de fourmis de feu. Source

La colonie est composée de 1024 robots identiques, ceux-ci ont été conçus pour être le moins couteux possible, car chaque dépense supplémentaire pour un composant est multiplié par 1024 sur toute une colonie. Il a donc fallu être inventif pour trouver les solutions les moins chères possibles, c'est pour cela que les robots sont dotés de :

  • 3 pattes et de 2 petits moteurs vibrants (il n'y a donc pas besoin de roues),
  • d'un capteur de luminosité (un mode permet de faire en sorte que les robots se dirigent vers une source de lumière),
  • d'un module de communication voisin à voisin (permettant grâce à la lumière infrarouge réfléchie par le plateau de communiquer avec les robots se trouvant dans un rayon de 7cm, à la manière des phéromones chez les fourmis),
  • d'une led RGB (permettant de communiquer l'état dans lequel ils sont, le niveaux de batterie ou ce que vous voulez),
  • d'un capteur de proximité,
  • et d'une batterie rechargeable,

Le tout rangé dans un robot d'à peine 33 mm de diamètre et 34mm de haut et pour un coût relativement faible, environ $15 si vous utilisez les schémas que l'équipe de recherche a publié (lien direct, contenu sous licence CC BY-NC-SA 3.0). Et sont aujourd'hui commercialisé par l'entreprise K-Team basée en Suisse.

Ces robots disposent d'une autonomie de 2.5 heures avec les moteurs allumés et de 3 mois en veille. Ils sont rechargés à l'aide d'un chargeur composé de 2 barres métalliques sur lesquels on vient déposer une dizaine de robots, ces deux barres appliquent une tension de 6V entre l'une des pattes et le crochet situé au dessus du robot, ce système permet de ne pas perdre de temps à brancher un câble sur chacun des robots. Si l'autonomie est si élevée (pour un aussi petit robot) c'est que les robots sont très lents et que sur la plupart des vidéos que l'on peut trouver leurs déplacements sont accélérés.

Et grâce à une attention particulière à tout ces détails chaque robot ne nécessite pas beaucoup d'attention, permettant ainsi de travailler avec un grand nombre d'entre eux.

Fonctionnement

Pour commencer il faut placer 4 robots (nommés "seeds") sur le plateau afin de définir un point d'origine, il faut qu'ils soient l'un à coté de l'autre et qu'ils forment une sorte de losange. Puis on va envoyer le programme à la colonie grâce à l'OHC (pour Over Head Controller), qui est une carte programmable reliée par USB à un ordinateur et communiquant à l'aide de leds infrarouge avec l'ensemble des robots de la colonie que l'ont a placés sous ce dispositif. L'OHC peut aussi être utilisé pour contrôler individuellement chaque robots ainsi qu'allumer ou éteindre tout les robots à la fois à l'aide d'un logiciel développé par les chercheurs.

Puis les robots sur les cotés de la forme précédente vont commencer à faire le tour pour rejoindre le point d'origine et se placer autour de celui-ci. Au fur et à mesure que les robots se déplacent l'image se crée sur le plateau pour enfin reproduire l'image donnée. On peut voir le résultat de différentes formes sur YouTube, en voici un exemple :

L'algorithme inclut des fonctionnalités permettant de détecter et de réparer certaines erreurs dans la forme réalisée et faire coopérer les robots afin de la réparer.

Pourquoi c'est utile et où ils peuvent être utilisés ?

Les potentielles utilisations de cet algorithme pour colonies de robots sont la recherche de survivants dans les décombres de bâtiments effondrés ou dans des endroits comportant des dangers pour l'homme, les opérations de nettoyages des océans ou bien on pourrait le retrouver dans les algorithmes des voitures autonomes de demain. On peut encore imaginer utiliser ces connaissances pour contrôler des essaims de drones comme celui que l'on a pu voir à la cérémonie d'ouverture des Jeux Olympiques d'Hiver 2018 (voir à partir de 1:55) :

Cet essaim a été développé par Intel, ils ont réussi à faire voler 1200 drones à la fois.

Dans ce dernier exemple, l'algorithme pourrait permettre de ne pas avoir à programmer chaque drone pour chaque manoeuvre et de permettre à la colonie de s'adapter en cas de problèmes techniques sur un ou plusieurs drones, le but étant de pouvoir achever la tâche malgrès des incidents individuels et de pouvoir se reconfigurer très rapidement (on pourrait ici faire le rapprochement entre cette technologie et la blockchain, dans les 2 cas on ne se repose plus sur une entitée mais sur une coordination décentralisée). Ce type d'algorithme pourrait permettre d'organiser de grandes flottes de robots dans des domaines tels que l'imagerie aérienne, la recherche de survivants (décombres ou avalanches par exemples) et la médecine (avec l'aide de robots tellement petits qu'ils ne pourraient embarqué suffisament d'intelligence pour réaliser une tâche complexe), ainsi que bien d'autres domaines auxquels je n'ai pas pensé (n'hésitez pas à mettre encommentaire dans quel domaines un tel outil pourrait être utile)

Et peut-être qu'un jour, qui sait, une équipe créera une colonie de robots capable des mêmes prouesses que celle de "Microbot" dans le film Big Hero 6 (je n'ai malheuresement pas trouver de vidéo pour l'illustrer).

Sources et liens pour approfondir :

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Merci super article !

You have collected your daily Power Up! This post received an upvote worth of 0.19$.
Learn how to Power Up Smart here!

Tout au long de l'article je me demandais : "Mais à quoi ça sert, à part pour faire joujou dans son labo ?"
Dommage que tu n'ai pas plus approfondi sur les domaines d'application, ça m'a rendu curieux tout ça !

Merci pour ton commentaire !
Je viens de modifier la fin de l'article pour essayer d'en parler un peu plus. En gros, tu peux comparer ce type d'algorithme à la version robotique de la blockchain. Par exemple dans l'essaim de drones si il y en a un qui a un problème technique, le reste de la colonie s'adapterais sans intervention humaine afin d'atteindre le résultat attendu. Après pour le moment cela reste "réservé" au domaine de la recherche j'ai l'impression.

Un principe basé sur le mimétisme appliqué dans le domaine de la robotique ! Magnifique sujet et description ! Upvoté à 100% !

Merci beaucoup ! C'est vrai que je n'ai même pas cité le biomimétisme, c'est corrigé :)

sujet passionnant et article sympa, resteemé direct!

Merci :)

Je pense honnetement qu'il faut toujours travailler sur les deux fronts simultanement: emergence et reduction. C'est complementaire.

Génial, Merci beaucoup