Laboratoire SUPINFO de recherche en robotique

Installation ROS fuerte

Installation ROS fuerte

7 mar, 2013

Installation et configuration de ROS fuerte

sur une Ubuntu LTS 12.04

 

 

Introduction :

Dans le cadre du Laboratoire Robotique de SUPINFO, nous allons travailler sur différentes technologies. Afin de prendre de la hauteur vis a vis du matériel et de pouvoir développer des systèmes plus avancés utilisant des librairies tel que PCL ou OpenCV nous allons utiliser ROS (Robot Operating System).

ROS est un OS middle-ware. C’est un OS car il permet de faire le liens entre le matériel physique et une couche applicative qui permet de le contrôler. Middle-ware signifie que cet OS ne s’installe pas sur une machine directement, il nécessite un ordinateur possédant un système d’exploitation.

Pour des raisons de compatibilité, nous allons installer ROS sur une Ubuntu LTS 12.04.

Pour les autres systèmes (archlinux, debian, etc.) se référer au site de ROS : http://www.ros.org/wiki/fuerte/Installation

 

Installation d’Ubuntu :

Dans ce tutoriel, nous n’allons pas trop détailler l’installation d’Ubuntu étant donné qu’elle est assez simple et plutôt bien expliquée sur le net.

Pour l’installation, vous pouvez opter pour une VM (Virtual Machine). Sinon c’est peut être le bon moment d’essayer Linux ;)

  1. Télécharger Ubuntu LTS 12.04 : http://www.ubuntu.com/download/desktop
  2. Mettre l’ISO sur un DVD ou une clé USB (dans le cas d’une VM, insérez directement l’ISO).
    • sous Linux :
      sudo dd bs=4M if=<path_to_iso> of=/dev/sdX

      (ou sdX est la clé USB /!\ en cas d’erreur vous risquez d’écraser votre disque)

    • sous Windows : http://doc.ubuntu-fr.org/live_usb
  3. Démarrer sur l’ISO à partir du PC ou de la VM.
  4. Lancer l’installation.
  5. Attendre la fin de l’installation.
  6. Si vous le souhaitez, faîtes les mises à jour.

 

Installation et configuration de ROS :

/!\ Si vous n’êtes pas sur Ubuntu, rebroussez chemin ! /!\

/!\ Il est préférable de taper les sudo plutôt que de se mettre en root /!\

 

1) Installation de ROS

http://www.ros.org/wiki/fuerte/Installation/Ubuntu

 

Pour commencer nous allons ajouter les dépôts de ROS dans les sources de paquets de votre système :

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

 

Afin de pouvoir installer les paquets de cette nouvelle source, nous allons récupérer la signature de ROS et l’ajouter aux clés connues de notre gestionnaire de paquet (ici apt-get) :

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

 

Maintenant nous pouvons mettre à jour les paquets disponibles :

sudo apt-get update

 

Installation de ROS desktop full (si vous êtes sur une machine peu puissante, il faudra sûrement regarder les autres versions (http://www.ros.org/wiki/fuerte/Installation/Ubuntu#Installation-1) )

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

 

A ce stade, ROS est installé. Afin de pouvoir s’en servir, il faut un certain nombre de variables d’environnement. Si vous n’avez qu’une version de ROS sur votre machine (théoriquement oui) vous pouvez automatiser l’assignation des variables d’environnement au lancement de votre session :

echo "source best online casino  /opt/ros/fuerte/setup.bash" >> ~/.bashrc

 

Nous allons exécuter le script afin d’assigner les variables d’environnement

. ~/.bashrc

 

Si vous avez plusieurs versions de ROS vous devrez lancer la commande suivante avant de travailler

source /opt/ros/<ros_version>/setup.sh

 

Maintenant nous allons installer deux « petits » outils

sudo apt-get install python-rosinstall python-rosdep

 

Configuration de rosdep :

sudo rosdep init
rosdep update

 

2) Configuration de ROS

http://www.ros.org/wiki/ROS/Tutorials/InstallingandConfiguringROSEnvironment

 

L’objectif de cette partie est de mettre en place un « workspace » dans lequel nous pourrons créer nos applications et nos librairies.

 

Création du dossier « workspace »

mkdir ~/fuerte_workspace

 

Maintenant nous allons initialiser le workspace. Cela consiste à créer des scripts permettant d’ajouter notre workspace dans les variables d’environnement de ROS :

rosws init ~/fuerte_workspace /opt/ros/fuerte

 

Nous allons donc mettre à jour nos variables d’environnement afin de rendre disponible notre workspace :

cd ~/fuerte_workspace
source setup.sh

 

A chaque redémarrage, ouverture de session, etc. il faudra mettre les variables d’environnement associées au workspace que vous souhaitez utiliser

source <path_to_workspace>/setup.sh

 

Cette action peut-être automatisée en ajoutant la ligne précédente dans le fichier ~/.bashrc.

 

Maintenant que nous avons mis à jour nos variables d’environnement, nous pouvons tester la configuration du workspace :

roscd
pwd

pwd devrait retourner votre <path_to_workspace>
Nous voici donc avec une installation fraîche de ROS et un workspace opérationnel. Il ne reste plus qu’à ajouter de nouveau paquet et développer vos applications.

La lecture et la bonne compréhension des tutoriels proposés par ROS vous permettront de commencer à programmer sereinement : http://www.ros.org/wiki/ROS/Tutorials

 

Le stack NXT :

http://www.ros.org/wiki/nxt_ros
Pour pouvoir développer des applications de contrôle d’un robot de type NXT, nous aurons besoin du stack NXT qui n’est malheureusement plus disponible depuis la version « electric » de ROS. Nous allons donc effectuer une installation personnalisée.

Commençons par assigner les variables d’environnement (si non automatisé) :

cd ~/fuerte_workspace
source setup.sh

 

Nous allons maintenant récupérer les sources (/!\ à faire dans votre ROS_WORKSPACE)

git clone https://github.com/GrenobleRoboticLab/nxt.git

 

(pour une petite formation sur git : http://try.github.com/levels/1/challenges/1)

 

Nous allons initialiser le stack de manière à ce que ROS puisse le trouver.

rosws set nxt

 

Il faut à nouveau mettre à jour les variables d’environnement.

source setup.sh

 

Nous pouvons maintenant compiler le stack

rosmake nxt –-pre-clean

A partir de la, nous pouvons développer des applications permettant de contrôler des robots NXT. Pour plus d’information sur le fonctionnement de ce stack, je vous renvoie vers la documentation et ses tutoriels : DocumentationTutoriels

Petit détail :

Le driver permettant de contrôler le NXT est codé en python (nxt_python) il faut donc installer le paquet python-usb :

sudo apt-get install python-usb

sous Linux l’accès à l’USB est géré par udev, nous allons donc créer une règle pour avoir autoriser accès à l’USB :

sudo groupadd lego
sudo usermod -a -G lego <username>
echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0694", GROUP="lego", MODE="0660" ' > /tmp/70-lego.rules && sudo mv /tmp/70-lego.rules /etc/udev/rules.d/
sudo restart udev

Cette règle prendra effet à la prochaine reconnexion de l’utilisateur.

 

FacebookTwitterGoogle+
468 ad

Laisser un commentaire