Outils pour utilisateurs

Outils du site


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

Afficher les messages shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rosmsg package evart_bridge
evart_bridge/Dof
evart_bridge/Segment
evart_bridge/Body




shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rostopic list /rosout /rosout_agg /tf

shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rosservice list
/evart/get_loggers
/evart/list_segments
/evart/set_logger_level
/evart/track_segments
/rosout/get_loggers
/rosout/set_logger_level

Pour demander l'envoi des données on va devoir passer par un appel service (pas nécessaire 
quand on code son appli)
Afficher les services disponibles:
shiva@shiva:~/ros_workspace/motion_analysis_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.1322734171.txt.gz · Dernière modification : 2011/12/01 11:09 de aravet