urdfprolog

A Prolog-based interface to the Unified Robot Description Format (URDF). The package first implements a wrapper around the C++ URDF parser library, and second a mapping into a OWL model of URDF. The OWL model is defined in an ontology that comes with this package.

Here is example Prolog code where urdfprolog generates RDF descriptions of a PR2 robot:

ros_package_path('urdfprolog', X),
atom_concat(X, '/urdf/pr2_for_unit_tests.urdf', FileURL),
kb_create(urdf:'Robot', Robot),
rdf_urdf_load(Robot, FileURL).

The result is a RDF description of the robot's links and joints. However, components are not considered in URDF. For component descriptions, please have a look at the SRDL package.

Prolog files

URDF.pl
has_base_link/2
has_base_link_name/2
has_child_link/2
has_end_link/2
has_end_link_name/2
has_parent_link/2
has_urdf/2True if Object is a part of RootObject, and RootObject is assigned to some URDF description.
is_urdf_joint/1
is_urdf_link/1
urdf_joint_axis/3Get the axis of a joint, expressed as a list [X, Y, Z].
urdf_joint_child_link/3Get the name of the link of a joint.
urdf_joint_damping/3Read the damping value of a joint.
urdf_joint_friction/3Get the static friction value of a joint.
urdf_joint_hard_limits/5Read the hard limits of a joint.
urdf_joint_origin/3Get the origin of a joint, expressed as a pose w.r.t.
urdf_joint_parent_link/3Get the name the parent link of a joint.
urdf_joint_soft_limits/5Read the soft limits of a joint.
urdf_joint_type/3Get the type of a joint.
urdf_link_child_joints/3Get the list of joint names of all child joints of a link.
urdf_link_inertial/5Get the inertial origin of a link as a pose w.r.t.
urdf_link_parent_joint/3Get the name of the parent joint of a link.
urdf_load/2Same as urdf_load/3 with empty options list.
urdf_load/3Assert a URDF file as description of an object.
urdf_robot_name/2Get the name of the currently loaded robot.
urdf_root_link/2Get the name of the root link of the robot.
urdf_set_pose/2Assign the initial pose of links described in URDF as the current pose of link entities.
urdf_set_pose_to_origin/2Same as urdf_set_pose/2 but assigns the base of the URDF to be located exactly at the frame given in the second argument.
__init__.pl