====== Create an SRDL model of your robot ====== ~~NOTOC~~ \\ ^ This page describes the 'catkinized' version of KnowRob that uses the [[http://wiki.ros.org/catkin/|catkin buildsystem]] and the pure Java-based [[http://wiki.ros.org/rosjava|rosjava]]. The documentation for the older version, which was based on the rosbuild buildsystem and rosjava_jni, can be found [[/doc/create_srdl_model?rev=1401968327|here]].^ \\ The Semantic Robot Description Language (SRDL) is a logical language for describing robot hardware, software and capabilities. More information on the usage of SRDL for modeling a robot, for answering queries about its hardware configuration and for checking requirements of actions on robot components can be found on [[/doc/srdl2_tutorial|this page]]. Several SRDL models for popular robots (e.g. PR2, Baxter, TUM-Rosie, Amigo) are already contained in the mod_srdl package in the KnowRob stack. In order to facilitate the creation of an SRDL model for a new robot, there is a converter by A. Perzylo and P. Freyer that can read an [[http://www.ros.org/wiki/urdf|URDF robot model]] and convert the kinematic structure to SRDL. This converter currently uses the following information from the URDF files: * Kinematic structure including coordinate transformations * Planning groups defined for the move_arm stack, which semantically group links to e.g. arms or hands * Properties of sensors originally described for the Gazebo simulator (e.g. camera resolution, range of a laser scanner) The converter currently has the following limitations: * Some properties are not converted (e.g. mesh origin, joint axis) * The pose matrices are asserted as static, i.e. they do not use KnowRob's [[doc/object_pose_representation|spatio-temporal pose representation]] ===== Usage ===== The URDF2SRDL program is part of the knowrob_srdl package in KnowRob. You can call the converter with arguments such as $ rosrun knowrob_srdl URDF2SRDL -u ./urdf/pr2.urdf -s PR2.owl -i http://ias.cs.tum.edu/kb/PR2.owl# -c move_base,move_arm -g ./urdf/pr2_planning_description.yaml The converter supports the following command-line arguments: * **-h, --help** show a help text * **-u, --urdf** URDF file to read and work with * **-s, --srdl** target SRDL file * **-i, --uri** URI to use for SRDL description * **-c, --caps** list of static SRDL capabilities to be asserted for the robot