{{tag>science entreprise robotique intelligence_artificielle}}
----
======ROS - Robot Operating System ======
[[https://fr.wikipedia.org/wiki/Robot_Operating_System|ROS (Robot Operating System)]](TM) est un framework open source pour le développement de logiciel [[robotique]], en fournissant une fonctionnalité du système d'exploitation de type au sommet d'une grappe d'ordinateurs hétérogènes.
ROS a été créé en 2007 sous le nom de la ligne d'interconnexion par le Laboratoire d'intelligence artificielle de Stanford avec l'appui du projet l'AI Robot Stanford (STAIR).
En 2008, le développement se poursuit principalement au Willow Garage(TM) (crée et financé par les dirigeants de Google), un institut de recherche en robotique / incubateur, avec plus de vingt institutions qui collaborent dans un modèle de développement fédéré, et ouverts ( dont les grandes universités et des grands industriels de la [[robotique]] ).
En février 2013, le développement de ROS est poursuivi par Open Source Robotics Fondation, devenue depuis Open Robotics Fondation [[https://www.openrobotics.org/ |site]] (site de la fondation Open Robotics).
[[http://translate.google.com/translate?hl=fr&sl=en&tl=fr&u=http%3A%2F%2Fwww.willowgarage.com%2Fpages%2Fsoftware%2Fros-platform|{{ http://www.ros.org/news/assets_c/2010/08/poster2color_revis-thumb-640x468-106.jpg }}]]
[[https://www.ros.org/blog/why-ros/|Présentation en américain sur le site officiel]]
[[http://www.ros.org/wiki/Robots|Liste de robots et machines compatibles officiellement ( + une cinquantaine )]]
Voir en video : [[http://www.youtube.com/user/WillowGaragevideo|le channel willow garage sur youtube]]
**ATTENTION :**
La version actuelle est ROS 2 Galactic Geochone [[https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Binary.html|Manuel d'installation de ROS2 en américain]] disponible sous Ubuntu LTS 20.04.
=====Les fonctionnalités =====
Les domaines d'application comprennent :
* Perception
* Identification d'objet
* Segmentation et reconnaissance
* Reconnaissance faciale
* De reconnaissance gestuelle ( compatible [[kinect]] [[http://www.ros.org/wiki/kinect|Voir installation]] , [[http://www.korben.info/le-kinect-du-bout-des-doigts.html|voir en vidéo]] )
* Le suivi de mouvement
* Ego-motion
* Compréhension des mouvements
* Structure du mouvement (SFM)
* Stereopsis stéréo vision: perception de la profondeur de 2 caméras (3D)
* motion
* robotique mobile
* contrôle
* la planification
* Le saisit
Les champs de ROS ( information technique sur l'OS ) :
* Un nœud de coordination maître
* L'édition ou vous abonner à des flux de données (images, stéréo, laser, le contrôle, l'actionneur, contact ...)
* multiplexage Informations
* la création des nœuds et la destruction
* Les nœuds sont distribués de façon transparente, permettant un fonctionnement distribué plus que du multi-core, les clusters multi-processeur, multi-GPU multi-core ( [[calcul collaboratif|calcul distribué]] ).
* Connexion
* Paramètre de serveur
* Les systèmes de test et de simulation
=====Installation de ROS =====
[[http://www.ros.org/wiki/cturtle/Installation/Ubuntu|Voir sur le site officiel]]
====Ajout des dépôts====
Ubuntu 10.04 (Lucid) :
sudo sh -c 'echo "deb http://code.ros.org/packages/ros/ubuntu lucid main" > /etc/apt/sources.list.d/ros-latest.list'
Ubuntu 10.10 (Maverick)
sudo sh -c 'echo "deb http://code.ros.org/packages/ros/ubuntu maverick main" > /etc/apt/sources.list.d/ros-latest.list'
Ajout des clés :
wget http://code.ros.org/packages/ros.key -O - | sudo apt-key add -
Mettre à jour la liste des paquets:
sudo apt-get update
====Installations des paquets====
Installer ROS seul :
sudo apt-get install ros-cturtle-ros
* [[apt://ros-cturtle-ros|ou cliquez ici]]
ROS plus des stacks génériques pour robot (e.g. navigation, visualization) :
sudo apt-get install ros-cturtle-base
* [[apt://ros-cturtle-base|ou cliquez ici]]
ROS plus les stacks pour PR2, inclut l'outil de simulation pour PR2 :
sudo apt-get install ros-cturtle-pr2
* [[apt://ros-cturtle-pr2|ou cliquez ici]]
* Note: Vous obtiendrez une invite sur hddtemp: vous pouvez sans risque répondre non à l'invite si vous n'êtes pas sur l'installation vers un PR2 réel ( vous pouvez juste simuler ). Pour éviter de contracter l'invite, vous pouvez définir la sélection debconf à l'avance:echo "hddtemp hddtemp/daemon boolean false" | sudo debconf-set-selections
Tous les paquets pour robot PR2: ROS plus PR2 version développement et piles expérimentales.
sudo apt-get install ros-cturtle-pr2all
* [[apt://ros-cturtle-pr2|ou cliquez ici]]
* Note: Vous obtiendrez une invite sur hddtemp: vous pouvez sans risque répondre non à l'invite si vous n'êtes pas sur l'installation vers un PR2 réel ( vous pouvez juste simuler ). Pour éviter de contracter l'invite, vous pouvez définir la sélection debconf à l'avance:echo "hddtemp hddtemp/daemon boolean false" | sudo debconf-set-selections
Stack-spécifiques: Vous pouvez également installer une pile spécifique ROS (remplacer par des tirets de soulignement du nom de pile):
sudo apt-get install ros-cturtle-STACK
Exemple : sudo apt-get install ros-cturtle-slam-gmapping
====Configuration ====
C'est pratique si les variables d'environnement ROS sont automatiquement ajoutés à votre session bash à chaque fois qu'un nouveau shell est lancé:
echo "source /opt/ros/cturtle/setup.sh" >> ~/.bashrc
. ~/.bashrc
Si vous voulez juste changer l'environnement de votre shell courant, vous pouvez taper:
source /opt/ros/cturtle/setup.sh
=====Installation de ROS 2 =====
[[https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Binary.html|Voir sur le site officiel]]
=====Utilisation=====
====Guide du débutant====
* (en->fr) [[http://translate.google.com/translate?hl=fr&sl=en&tl=fr&u=http%3A%2F%2Fwww.ros.org%2Fwiki%2FROS%2FStartGuide|Guide du débutant]]
* (en->fr) [[http://translate.google.com/translate?hl=fr&sl=en&tl=fr&u=http%3A%2F%2Fwww.ros.org%2Fwiki%2F|Documentation officielle]]
====Tutoriels====
* (en->fr) [[http://translate.google.com/translate?js=n&prev=_t&hl=fr&ie=UTF-8&layout=2&eotf=1&sl=en&tl=fr&u=http%3A%2F%2Fwww.ros.org%2Fwiki%2FROS%2FTutorials|Voir les tutoriels officiels]]
====Liste des paquets et informations====
* (en->fr) [[http://translate.google.com/translate?hl=fr&sl=en&tl=fr&u=http%3A%2F%2Fwww.ros.org%2Fbrowse%2Flist.php|voir liste des paquets]] et [[http://www.ros.org/browse/repo_list.php|dépots]]
====Vision OpenCv====
* Voir [[opencv]]
====Simulation Player/stage====
* [[Player]],
* [[Stage]],
* [[Gazebo]]
* ([[http://www.willowgarage.com/pages/software/player|sur le site]])
=====Voir aussi=====
* Portail [[Robotique]]
* [[OpenCog]] : Système pour robot plus évolué au niveau [[intelligence artificielle]].
* [[OpenQbo]] Disbribution basée sur Ubuntu avec ROS, et d'autres logiciels [[robotique]]
Contributeurs : [[utilisateurs:psychederic|Psychederic]], [[utilisateurs:FrancoisA30|FrancoisA30]]