Ask Your Question

# Revision history [back]

Atlas is specified via URDF, its documentation with graphical illustrations can be found here.

The Atlas URDF starts out as a xacro macro, as indicated in the header, atlas.urdf.xacro uses macros defined in included atlas_simple_shapes.urdf and others to expand into atlas.urdf at compile time.

Basic idea reiterated here:

A Model is composed of a collection of rigid-body Links and Joint constraints. The transform between Links are defined in corresponding Joint blocks. So for example, take a look at this Joint block in atlas_simple_shapes.urdf.xacro:

<joint name="back_lbz" type="revolute">
<origin xyz="-0.0125 0 0" rpy="0 -0 0" />
<parent link="pelvis" />
<child link="ltorso" />
...
</joint>


Above basically says: The transform from pelvis Link frame to ltorso Link frame is defined by a linear translation of (-0.0125, 0, 0), followed by Euler rotation of (0, 0, 0) radians.

A set of c++ URDF data structures are described here and a corresponding parser is in urdfdom.

# Visualization

One way to visualize URDF model is with rviz. Starting with this DRC Tutorial, you can add a TF object:

which will display Link frames: