TOOLinux

Le journal du Libre

ROS, un système d’exploitation open source pour piloter des robots

lundi 29 juillet 2013

<a
href="http://www.ros.org/wiki/">Le projet ROS a débuté en 2007 sous le doux nom de switchyard. Il était porté par le Stanford Artificial Intelligence Laboratory qui comme son nom l’indique travaillait sur les sujets liés à l’intelligence artificielle pour les robots au sein de l’Université de Stanford. En 2008, le projet est poursuivi au sein de l’institut de recherche Willow Garage en mode collaboratif avec plus d’une vingtaine d’instituts.

Voilà un exemple de mutualisation de la Recherche et Développement dans le domaine de l’open source. Encore une fois, ce sont les Américains qui nous montrent l’exemple, là où <a
title="Enseignement : l’Inria contre la priorité au logiciel libre, la controverse continue" href="http://www.zdnet.fr/actualites/enseignement-l-inria-contre-la-priorite-au-logiciel-libre-la-controverse-continue-39792240.htm">l’INRIA et son dirigeant s’oppose à la priorité aux logiciels libres et open source dans la recherche.

Mais revenons à nos robots. En 2010 sort la première version de ROS. L’utilisation s’élargit avec <a
title="Qbo Bot Embraces ROS, The Open Source Robot OS: http://www.ubergizmo.com/2010/08/qbo-bot-embraces-ros-the-open-source-robot-os/" href="http://www.ubergizmo.com/2010/08/qbo-bot-embraces-ros-the-open-source-robot-os/">de nouveaux robots qui adoptent ce système comme le Qbo Bot. Le logiciel est placé sous une licence BSD. Voyons un peu plus en détail le contenu de ce système.

ROS fournit un ensemble de composants logiciels dont les fonctionnalités classiques d’un système d’exploitation comme l’abstraction matérielle, le contrôle de <a
href="http://radiospares-fr.rs-online.com/web/c/automatisme-et-controle-de-process/capteurs-et-transducteurs/">périphériques de bas niveau comme un capteur infrarouge ou encore des <a
title="Sondes de températures" href="https://fr.wikipedia.org/wiki/Sonde_de_temp%C3%A9rature">sondes de températures. ROS est basé sur une architecture de type <a
title="Théorie de graphes" href="https://fr.wikipedia.org/wiki/Th%C3%A9orie_des_graphes">graphe où les traitements sont effectués par des nœuds qui peuvent recevoir, diffuser ou multiplexer toute sorte d’informations.

ROS est accompagné d’un système de “paquets” regroupés en piles (stacks) qui permet de distribuer des fonctionnalités apportées par les utilisateurs. Par exemple une interface avec les cartes Arduino ou encore la Kinect de Microsft.

On peut d’ailleurs voir mis en œuvre cette dernière grâce à ROS dans le <a
title="TurtleBot 2" href="http://turtlebot.com/">Turte Bot a qui vous pourrez faire signe pour qu’il vous apporte une bière ou encore votre petit déjeuner tout en évitant les affaires que vous aurez laissé traîner dans la pièce.

<iframe src="//www.youtube-nocookie.com/embed/MOEjL8JDvd0?html5=1" height="315" width="560" allowfullscreen="" frameborder="0">

ROS peut être installé sur des systèmes d’exploitation “traditionnels”. Ubuntu est d’ailleurs le seul système “recommandé”, les autres sont supportés de façon “expérimentale” y compris Windows. Vous pouvez également télécharger une machine virtuelle pour VirtualBox afin de tester le système.

Un autre exemple de robot équipé de ROS est le <a
title="Jaguar" href="http://www.ros.org/wiki/Robots/Jaguar">Jaguar, un modèle tout terrain éventuellement doté d’un bras articulé muni d’une pince et qui fait penser à ces robots que l’on voit dans les séries télévisé lorsqu’il s’agit de faire exploser un colis suspect.

<iframe src="//www.youtube-nocookie.com/embed/bOeOMNk15h0?html5=1" height="315" width="560" allowfullscreen="" frameborder="0">

ROS n’est cependant pas le seul système d’exploitation destiné aux robots. La plate-forme Urbi, utilisé par les Lego Mindstorm ou le Segway, est publiée sous licence Affero GPL 3. Elle est d’ailleurs compatible avec ROS. Son langage Urbiscript, permet un fonctionnement totalement parallèle et événementiel. <a
title="Urbi Forge" href="http://www.urbiforge.org/">Une forge est accessible sur laquelle on retrouve le système et ses modules.

Je n’ai cependant pas trouvé mention d’une implémentation des <a
title="Trois lois de la robotique" href="https://fr.wikipedia.org/wiki/Trois_lois_de_la_robotique">trois lois de la robotique censées nous protéger dans ces systèmes <img
src='http://philippe.scoffoni.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Cela veut-il dire qu’il faut s’en méfier ? L’avenir et les usages qui naîtront autour de ces “objets” qui ne manqueront pas d’être connectés nous le diront.

- Philippe SCOFFONI