Note: Dans ce tutoriel on considère que vous avez créé votre propre fichier URDF ou que vous utilisez un des fichiers urdf existant pour PR2. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Démarrer l'utilisation de l'analyseur KDL
Description: Ce tutoriel vous apprends comment créer un arbre KDL à partir d'un fichier URDFKeywords: KDL
Tutorial Level: BEGINNER
Contents
Construire l'analyseur KDL
$ rosdep install kdl_parser
Cela va installer toutes les dépendances externes pour l'analyseur KDL kdl_parser. Pour construire le package, lancez:
$ rosmake kdl_parser
L'utiliser dans son code
D'abord, ajoutez l'analyseur KDL (KDL parser) comme dépendances à votre fichire manifest.xml :
<package> ... <depend package="kdl_parser" /> ... </package>
Pour mettre en oeuvre l'analyseur KDL dans votre code C++, ajoutez ces lignes:
Maintenant il y a plusieurs manières de procéder. Vous pouvez construire un arbre KDL à partir d'un urdf sous des formes diverses:
A partir d'un fichier
Pour créer le fichier URDF de PR2, lancez la commande suivante:
$ rosrun xacro xacro.py `rospack find pr2_description`/robots/pr2.urdf.xacro > pr2.urdf
A partir du serveur de paramètres
A partir d'un élément xml
1 KDL::Tree my_tree; 2 TiXmlDocument xml_doc; 3 xml_doc.Parse(xml_string.c_str()); 4 xml_root = xml_doc.FirstChildElement("robot"); 5 if (!xml_root){ 6 ROS_ERROR("Failed to get robot from xml document"); 7 return false; 8 } 9 if (!kdl_parser::treeFromXml(xml_root, my_tree)){ 10 ROS_ERROR("Failed to construct kdl tree"); 11 return false; 12 }
A partir d'un modèle URDF
Pour plus de détails, regardez l'API documentation.