Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:create_srdl_model [2013/06/28 12:53] – [Usage] admindoc:create_srdl_model [2014/11/27 17:10] (current) admin
Line 1: Line 1:
 ====== Create an SRDL model of your robot ====== ====== Create an SRDL model of your robot ======
 +~~NOTOC~~
  
-The Semantic Robot Description Language (SRDL) is a logical language for describing robot hardware, software and capabilities. It is part of the KnowRob knowledge processing system and integrated into the KnowRob ontology. The inference mechanisms operating on the SRDL robot models allow to match [[doc/modeling_tasks_and_actions|action descriptions]] against the robot model to identify missing components or capabilities.+\\ 
 +^ 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]].
 +\\
  
-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:+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    * Kinematic structure including coordinate transformations 
   * Planning groups defined for the move_arm stack, which semantically group links to e.g. arms or hands   * Planning groups defined for the move_arm stack, which semantically group links to e.g. arms or hands
Line 11: Line 16:
   * Some properties are not converted (e.g. mesh origin, joint axis)   * 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]]   * The pose matrices are asserted as static, i.e. they do not use KnowRob's [[doc/object_pose_representation|spatio-temporal pose representation]]
 +
 +
 ===== Usage ===== ===== Usage =====
-The urdf_to_owl program is part of the mod_srdl package in KnowRob, i.e. you need to rosmake this package first. Then you can call the converter like +The URDF2SRDL program is part of the knowrob_srdl package in KnowRob. You can call the converter with arguments such as 
-  bin/urdf_to_owl +  $ rosrun knowrob_srdl URDF2SRDL
     -u ./urdf/pr2.urdf      -u ./urdf/pr2.urdf 
     -s PR2.owl      -s PR2.owl 
Line 21: Line 28:
      
 The converter supports the following command-line arguments: The converter supports the following command-line arguments:
-  * **-h, --help**  show this description+  * **-h, --help**  show a help text
   * **-u, --urdf**  URDF file to read and work with   * **-u, --urdf**  URDF file to read and work with
   * **-s, --srdl**  target SRDL file   * **-s, --srdl**  target SRDL file