Difference between revisions of "Robot Operating System"

From air
Jump to navigation Jump to search
Line 17: Line 17:
   
 
=== Setup sources.list ===
 
=== Setup sources.list ===
On ubuntu, type on console:
+
In a terminal, type the following line:
 
{| class="wikitable centre" width="80%"
 
{| class="wikitable centre" width="80%"
 
|-
 
|-
Line 25: Line 25:
 
|}
 
|}
 
where <distribution> is your Ubuntu ditsribution name (e.g. "precise", "quantal", "raring", ...)
 
where <distribution> is your Ubuntu ditsribution name (e.g. "precise", "quantal", "raring", ...)
  +
This will add ROS repositories to your distribution.
   
 
=== Setup your keys ===
 
=== Setup your keys ===
Line 33: Line 34:
 
<nowiki></nowiki></code>
 
<nowiki></nowiki></code>
 
|}
 
|}
  +
Now, you are able to download the latest updates from ROS.
   
 
=== Installation ===
 
=== Installation ===
Line 50: Line 52:
 
<nowiki></nowiki></code>
 
<nowiki></nowiki></code>
 
|}
 
|}
It will install ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
+
It will install ROS, rqt, [[http://www.ros.org/wiki/rviz|rviz]], robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception.
   
 
Initialize rosdep:
 
Initialize rosdep:

Revision as of 16:23, 6 April 2013

ROS est un environnement de developpement et d'exécution et de simulation pour la robotique développé initialement au MIT. ROS n'est pas un système d'exploitation et ROS n'offre pas de propriétés d'exécution en temps déterministe des taches, services, traitement des événements, ... (ie Temps Réel).

Il supporte des robots comme le Wifibot, le TurtleBot, le Lego Mindstorm NXT via un hôte Linux, des bras robotiques Lynx Motion .... (voir la liste presque complète).

ROS est porté sur plusieurs OS cependant seule la version Ubuntu est rapidement utilisables.

De nombreux pilotes d'équipements robotiques (contrôleur moteurs, lidar, télémètre, kinect ...) ont été développés.

Les 2 principaux langages utilisés sont C++ et Python. Il existe des bindings pour Java et Javascript (Node.js). Une application ROS est organisée en nodes qui sont des processus (Unix) concurrents. Les nodes interagissent par envoi d'évenements via des topics en mode publish-subscribe et bien par invocation d'opérations de service.

Il inclut des démonstrations de vision avec la XBox Kinect et OpenCV

ROS Industrial (http://rosindustrial.org/) est une version de ROS destinée aux robots industriels. a free, open-source, BSD-licensed software library, extends the advanced capabilities of the Robot Operating System (ROS) software to new industrial applications.

Installation

Setup sources.list

In a terminal, type the following line:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu <distribution> main" > /etc/apt/sources.list.d/ros-latest.list'

where <distribution> is your Ubuntu ditsribution name (e.g. "precise", "quantal", "raring", ...) This will add ROS repositories to your distribution.

Setup your keys

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

Now, you are able to download the latest updates from ROS.

Installation

Update the Debian packages:

sudo apt-get update

Install the full Groovy configuration:

sudo apt-get install ros-groovy-desktop-full

It will install ROS, rqt, [[1]], robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception.

Initialize rosdep:

sudo rosdep init
rosdep update

Setup the environment:

echo "source /opt/ros/groovy/setup.bash" >> ~/.bashrc
source ~/.bashrc

Install python tools:

sudo apt-get install python-rosinstall python-rosdep

ROS is now installed but in order to run it, some environment variables must be assigned. This can be automatically done at the launch of the session:

echo "source /opt/ros/groovy/setup.bash" >> ~/.bashrc

Execute the script:

~/.bashrc


Configuration

Create a ROS workspace:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash

Modules et Outils

  • ros : ???
  • rosviz : ???
  • rospack : recherche de packages ROS

API

Javascript

rosnodejs Programming robots with Javascript & Node.js

Projets AIR