Outils pour utilisateurs

Outils du site


Action disabled: diff
tutoriel_ros

Ceci est une ancienne révision du document !


Tutoriel ROS / Bridge-Mocap

Installer ros-electric-desktop-full : http://www.ros.org/wiki/electric/Installation/Ubuntu

Installer la Stack Bridge Mocap↔Messages ROS via git :

git clone https://github.com/laas/motion_analysis_mocap.git

Puis mettre à jour le sous-module evart-client (depuis le répertoire de la stack motion_analysis_mocap) :

git submodule init
git submodule update

Installer le module:

rosmake --rosdep-install motion_analysis mocap

Nous pouvons désormais lancer ROS et utiliser le bridge en mode console:

Lancer roscore (lance ROS Master + Parameter Server + Rosout)

roscore

Lancer le bridge :

roslaunch evart_bridge start.launch (lance le node evart (On peut aussi lancer l'exécutable evart directement)

Pour afficher la console ROS et voir les messages échangés.

rxconsole

Nous pouvons vérifier que notre noeud est bien lancé:

rosnode list

doit renvoyer

/evart
/rosout

Lister les topics disponibles actuellement:

rostopic list

/rosout
/rosout_agg
/tf

Pour récupérer les informations renvoyées par le mocap nous devons créer un nouveau topic dédié. Pour ce faire le bridge fournit un service spécifique auquel nous devons envoyer une requête. Le bridge propose plusieurs services que nous pouvons lister:

rosservice list

/evart/get_loggers
/evart/list_segments
/evart/set_logger_level
/evart/track_segments
/rosout/get_loggers
/rosout/set_logger_level

list_segments nous permets de connaître les objets qui sont actuellement observés par le mocap:

rosservice call /evart/list_segments

bodies: 
- 
  name: left-foot
  segments: 
    - 
      name: origin
      parent: 4294967295
  dofs: []
- 
  name: helmet
  segments: 
    - 
      name: origin
      parent: 4294967295
  dofs: []
- 
  name: table
  segments: 
    - 
      name: origin
      parent: 4294967295
  dofs: []
- 
  name: laas-box
  segments: 
    - 
      name: origin
      parent: 4294967295
  dofs: []

Inscription au tracking de la table: shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rosservice call /evart/track_segments table origin

Le topic "/evart/table/origin" est créé
shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rostopic list /evart/table/origin /rosout /rosout_agg /tf

Affichage des données transmises: shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rostopic echo /evart/table/origin

...on reçoit T+Q du repère associé à la frame de la table.

Pour connaître le type de messages qui sont publiés par evart
shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rostopic info /evart/table/origin Type: geometry_msgs/TransformStamped

Publishers: * /evart (http://shiva:42010/)

Subscribers: None

shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rosmsg show geometry_msgs/TransformStamped
Header header
  uint32 seq
  time stamp
  string frame_id
string child_frame_id
geometry_msgs/Transform transform
  geometry_msgs/Vector3 translation
    float64 x
    float64 y
    float64 z
  geometry_msgs/Quaternion rotation
    float64 x
    float64 y
    float64 z
    float64 w

on peut afficher les données (ou une partie des données du message grace a rxplot:
shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rxplot –mode=3d /evart/table/origin/transform/translation/x:y:z/

Créer son package: Aller dans son worspace shiva@shiva:~/ros_workspace$ roscreate-pkg DroneStateBroadcaster std_msgs roscpp
Created package directory /home/shiva/ros_workspace/DroneStateBroadcaster
Created include directory /home/shiva/ros_workspace/DroneStateBroadcaster/include/DroneStateBroadcaster
Created cpp source directory /home/shiva/ros_workspace/DroneStateBroadcaster/src
Created package file /home/shiva/ros_workspace/DroneStateBroadcaster/Makefile
Created package file /home/shiva/ros_workspace/DroneStateBroadcaster/manifest.xml
Created package file /home/shiva/ros_workspace/DroneStateBroadcaster/CMakeLists.txt
Created package file /home/shiva/ros_workspace/DroneStateBroadcaster/mainpage.dox


Build du package:
shiva@shiva:~/ros_workspace$ rosmake DroneStateBroadcaster

tutoriel_ros.1322734810.txt.gz · Dernière modification : 2011/12/01 11:20 de aravet