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)

On peut 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

pour afficher la console ROS et voir les messages échangés.
shiva@shiva:~/ros_workspace/motion_analysis_mocap$ rxconsole

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.1322733963.txt.gz · Dernière modification : 2011/12/01 11:06 de aravet