Create an SRDL model of your robot


This page describes the 'catkinized' version of KnowRob that uses the catkin buildsystem and the pure Java-based rosjava. The documentation for the older version, which was based on the rosbuild buildsystem and rosjava_jni, can be found 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 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 URDF robot model and convert the kinematic structure to SRDL. This converter currently uses the following information from the URDF files:

The converter currently has the following limitations:

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: