Showing:

Annotations
Attributes
Diagrams
Main schema drakeURDF.xsd
Annotations
XML Schema for DrakeURDF v1.0

Documents URDF support for Drake, which implements much of the ROS URDF specification, but also adds a number of new elements.
Element loop_joint / link1
Annotations
String naming the link on one side of
the joint.
Diagram
Attributes
QName Type Default Use
link xs:string required
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Element loop_joint / link2
Annotations
String naming the link on the other side of
the joint.
Diagram
Attributes
QName Type Default Use
link xs:string required
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Element loop_joint / axis
Diagram
Attributes
QName Type Default Use
xyz matlab_parameter_expression 1 0 0 optional
Element force_element / linear_spring_damper
Diagram
Children link1, link2
Attributes
QName Type Default Use Annotation
damping xs:double 0 optional
in Newton seconds per meter.  positive values resist motion.
rest_length xs:double 0 optional
stiffness xs:double 0 optional
in Newtons per meter
Element linear_spring_damper / link1
Annotations
String naming the link on one side
of the spring/damper with an (optional) pose specified relative to the coordinate system on the link
Diagram
Attributes
QName Type Default Use
link xs:string required
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Element linear_spring_damper / link2
Annotations
String naming the link on the other side
of the spring/damper with an (optional) pose specified relative to the coordinate system on the link
Diagram
Attributes
QName Type Default Use
link xs:string required
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Element force_element / wing
Annotations
Wing element supporting flat plates, airfoils.  See wing_with_control_surface for a wing with a control surface attached.
Diagram
Children origin, parent
Attributes
QName Type Default Use Annotation
chord xs:double optional
the chord length in
meters.
nominal_speed xs:double optional
an approximate
nominal speed in meters per second used to calculate the
Reynolds number around which we design the aerodynamic coefficients.
profile xs:string optional
one of the following
strings:
· The path to a .mat file that can be loaded and contains the three
variables ”CLSpline, CDSpline, CMSpline”
· The string, ’flat plate’
39
· File location of a .dat file generated by Xfoil
· A NACA airfoil designation: ’NACA0012’
span xs:double optional
the span of the wing
in meters.
stall_angle xs:double optional
the angle
in degrees upon which the lift and drag performance returns to that of
a flat plate. (this value is ignored if the profile is set to a flat plate).
visual_geometry xs:boolean true optional
enable or disable automatic drawing of the wing
Element wing / parent
Annotations
String naming the link on which
this wing is attached.
Diagram
Attributes
QName Type Use
link xs:string required
Element wing / origin
Annotations
This defines the position of
the quarter-chord point of the airfoil, since that is the reference point
used for the moment coefficient. RPY support has been excluded, requiring
the axes of the airfoil to line up with those of its parent body.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / thrust
Annotations
Thrust elements produce a force on a point on the parent body in a
specified direction. The magnitude of the force is scaled from an input
to the system. Possible applications are the throttle input and force
produced by a propeller on an airplane, or thrusters on the hands and
feet of an Atlas robot to make Iron Man.
Diagram
Children axis, origin, parent
Attributes
QName Type Default Use Annotation
lower_limit xs:double -INF optional
scale_factor xs:double 1 optional
scales the dimensionless
input to Newtons of force.
upper_limit xs:double INF optional
Element thrust / parent
Annotations
String naming the link on
which the force will be applied.
Diagram
Attributes
QName Type Use
link xs:string required
Element thrust / axis
Annotations
Axis the thrust element acts on.  For example a propellor facing forward would point in the X-axis and you'd use: xyz="1 0 0".
Diagram
Attributes
QName Type Default Use
xyz matlab_parameter_expression 1 0 0 optional
Element thrust / origin
Annotations
Position of the thrust element.  Example: xyz="0 0 0" rpy="0 0 0".
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / propellor
Annotations
Propellor elements produce both a thrust at a point on the parent body in a
specified direction, along with a moment whose axis is the same as the thrust axis. This is useful for modelling propellors,
which typically produce both a thrust and a moment due to aerodynamic drag. The magnitude of the force and torque are scaled
from an input to the system, with different scalings for each.
Diagram
Children axis, origin, parent
Attributes
QName Type Default Use Annotation
lower_limit xs:double -INF optional
input minimum.
name xs:string required
scale_factor_moment xs:double 1 optional
scales the dimensionless input to newton-meters of torque.
scale_factor_thrust xs:double 1 optional
scales the dimensionless input to Newtons of force.
upper_limit xs:double INF optional
input maximum.
visual_diameter xs:boolean 0.2 optional
diameter of the propllor when drawn.
visual_geometry xs:boolean true optional
true to enable automatic drawing of the propellor.
Element propellor / parent
Annotations
String naming the link on which
this propellor is attached.
Diagram
Attributes
QName Type Use
link xs:string required
Element propellor / axis
Annotations
Axis the thrust element acts on.  For example a propellor facing forward would point in the X-axis and you'd use: xyz="1 0 0".
Diagram
Attributes
QName Type Default Use
xyz matlab_parameter_expression 1 0 0 optional
Element propellor / origin
Annotations
Position of the thrust element.  Example: xyz="0 0 0" rpy="0 0 0".
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / bluff_body
Annotations
A bluff body that provides only drag force in xyz.
Diagram
Children origin
Attributes
QName Type Default Use Annotation
area_x xs:double required
area of the bluff body for computing drag on the X axis.
area_y xs:double required
area of the bluff body for computing drag on the Y axis.
area_z xs:double required
area of the bluff body for computing drag on the Z axis.
coefficient_drag_x xs:double required
coefficient of drag in the X dimension.
coefficient_drag_y xs:double required
coefficient of drag in the Y dimension.
coefficient_drag_z xs:double required
coefficient of drag in the Z dimension.
name xs:string required
visual_geometry xs:boolean true optional
true to enable automatic drawing of the bluff_body as a red cube.
Element bluff_body / origin
Annotations
Position of the thrust element.  Example: xyz="0 0 0" rpy="0 0 0".
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / added_mass
Annotations
Places added-mass coefficients on a point on the parent body. Added-mass forces act like a 'drag' that is proportional to the acceleration of the body, rather than the velocity. Important when the body is comparable in mass to the surrounding fluid, or if rapid motions are needed.

These forces are represented by a 6x6 matrix 'Ma' similar to a mass matrix, where the force is F=-Ma*a (+coriolis terms). Each matrix element is refered as 'mij', where 'i' and 'j' are the rows and columns of the matrix. As is standard in the oceanographic literature, rows 123 are the linear accelerations, and 456 are the angular accelerations [note this is opposite of Featherstone's notation]
Diagram
Children origin, parent
Attributes
QName Type Default Use
m11 xs:double 0 optional
m12 xs:double 0 optional
m13 xs:double 0 optional
m14 xs:double 0 optional
m15 xs:double 0 optional
m16 xs:double 0 optional
m21 xs:double 0 optional
m22 xs:double 0 optional
m23 xs:double 0 optional
m24 xs:double 0 optional
m25 xs:double 0 optional
m26 xs:double 0 optional
m31 xs:double 0 optional
m32 xs:double 0 optional
m33 xs:double 0 optional
m34 xs:double 0 optional
m35 xs:double 0 optional
m36 xs:double 0 optional
m41 xs:double 0 optional
m42 xs:double 0 optional
m43 xs:double 0 optional
m44 xs:double 0 optional
m45 xs:double 0 optional
m46 xs:double 0 optional
m51 xs:double 0 optional
m52 xs:double 0 optional
m53 xs:double 0 optional
m54 xs:double 0 optional
m55 xs:double 0 optional
m56 xs:double 0 optional
m61 xs:double 0 optional
m62 xs:double 0 optional
m63 xs:double 0 optional
m64 xs:double 0 optional
m65 xs:double 0 optional
m66 xs:double 0 optional
Element added_mass / parent
Annotations
String naming the link on which
this added-mass is attached.
Diagram
Attributes
QName Type Use
link xs:string required
Element added_mass / origin
Annotations
This defines the position where the added-mass matrix is defined, acting similar to a center-of-mass offset from the parent joint location. RPY is not supported.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / buoyancy
Annotations
Adds a buoyancy force to the parent body, placed at a defined center of buoyancy.
Diagram
Children origin, parent
Attributes
QName Type Default Use Annotation
rho xs:double 1 optional
Density of the fluid
volume xs:double 0 optional
Volume of the body
Element buoyancy / parent
Annotations
String naming the link on which
this buoyancy is attached.
Diagram
Attributes
QName Type Use
link xs:string required
Element buoyancy / origin
Annotations
This defines the position of the center of buoyancy. RPY is not supported.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element force_element / torsional_spring
Diagram
Children joint
Attributes
QName Type Default Use Annotation
rest_angle xs:double 0 optional
in radians
stiffness xs:double 0 optional
in Newton-meters per radian
Element torsional_spring / joint
Annotations
String naming the joint of the spring/damper
Diagram
Attributes
QName Type Use
name xs:string optional
Element wing_with_control_surface / parent
Annotations
String naming the link on which
this wing is attached.
Diagram
Attributes
QName Type Use
link xs:string required
Element wing_with_control_surface / origin
Annotations
This defines the position of
the quarter-chord point of the airfoil, since that is the reference point
used for the moment coefficient. RPY support has been excluded, requiring
the axes of the airfoil to line up with those of its parent body.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element cable / terminator
Diagram
Attributes
QName Type Default Use
link xs:string required
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Element cable / pulley
Annotations
provides a radius about which the cable slides (as if it were frictionless - the actual motion of the pulley is not simulated)
Diagram
Attributes
QName Type Default Use Annotation
axis matlab_parameter_expression 0 0 0 optional
the cable wraps counter-clockwise (right-hand rule) around the pulley axis
link xs:string required
number_of_wraps xs:int optional
Number of times that the cable is wrapped completely around a pulley.  Adds additional 2*pi*radius*number_of_wraps to the computed length of the cable.
radius matlab_parameter_expression 0 optional
All attachments are implemented as (frictionless) pulleys.  Simple attachments are pulleys of radius zero.
xyz matlab_parameter_expression 0 0 0 optional
Element inertial / origin
Annotations
This is the pose of the inertial reference frame, relative to the link reference frame. The origin of the inertial reference frame needs to be at the center of gravity. The axes of the inertial reference frame do not need to be aligned with the principal axes of the inertia.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element inertial / mass
Annotations
The mass of the link is represented by the value attribute of this element
Diagram
Attributes
QName Type Default Use
value xs:double 0 optional
Element inertial / inertia
Annotations
The 3x3 rotational inertia matrix, represented in the inertia frame (as defined by the origin tag, e.g., about the center of mass of this link). Because the rotational inertia matrix is symmetric, only 6 above-diagonal elements of this matrix are specified here, using the attributes ixx, ixy, ixz, iyy, iyz, izz.
Diagram
Attributes
Element geometry / box
Annotations
size attribute contains the three side lengths of the box. The origin of the box is in its center.
Diagram
Attributes
QName Type Default Use
size xs:string 0 0 0 optional
Element geometry / cylinder
Annotations
Specify the radius and length. The origin of the cylinder is in its center.
Diagram
Attributes
QName Type Use
length xs:double required
radius xs:double required
Element geometry / sphere
Annotations
Specify the radius. The origin of the sphere is in its center.
Diagram
Attributes
QName Type Use
radius xs:double required
Element geometry / mesh
Annotations
A trimesh element specified by a filename, and an optional scale that scales the mesh's axis-aligned-bounding-box. The recommended format for best texture and color support is Collada .dae files, though .stl files are also supported. The mesh file is not transferred between machines referencing the same model. It must be a local file.
Diagram
Attributes
QName Type Default Use
filename xs:anyURI required
scale xs:string 1 1 1 optional
Element geometry / superellipsoid
Diagram
Attributes
QName Type Default Use Annotation
shape xs:string 1 1 optional
2 element double "squareness" of the ellipsoid in the xy-plane and then the z-plane http://paulbourke.net/geometry/superellipse/
size xs:string 1 1 1 optional
3 element double semi-diameter of the ellipse in x,y, and z
Element material / color
Diagram
Attributes
QName Type Default Use Annotation
rgba xs:string 0 0 0 0 optional
The color of a material specified by set of four numbers representing red/green/blue/alpha, each in the range of [0,1].
Element visual / origin
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element visual / geometry
Annotations
The shape of the visual object.
Diagram
Children box, cylinder, mesh, sphere, superellipsoid
Element visual / material
Annotations
The material of the visual element. It is allowed to specify a material element outside of the 'link' object, in the top level 'robot' element. From within a link element you can then reference the material by name.
Diagram
Children color
Attributes
QName Type Use
name xs:string optional
Element collision / origin
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element collision / geometry
Diagram
Children box, cylinder, mesh, sphere, superellipsoid
Element link / inertial
Annotations
Diagram
Children inertia, mass, origin
Element link / visual
Annotations
Diagram
Children geometry, material, origin
Element link / collision
Annotations
Diagram
Children geometry, origin
Attributes
Element link / sensor
Diagram
Children pose
Attributes
Element sensor / pose
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element joint / origin
Annotations
This is the transform from the parent link to the child link. The joint is located at the origin of the child link, as shown in the figure above.
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Element joint / parent
Annotations
Parent link name
Diagram
Attributes
QName Type Use
link xs:string required
Element joint / child
Annotations
Child link name
Diagram
Attributes
QName Type Use
link xs:string required
Element joint / axis
Annotations
The joint axis specified in the joint frame. This is the axis of rotation for revolute joints, the axis of translation for prismatic joints, and the surface normal for planar joints. The axis is specified in the joint frame of reference. Fixed and floating joints do not use the axis field.
Diagram
Attributes
QName Type Default Use
xyz matlab_parameter_expression 1 0 0 optional
Element joint / dynamics
Annotations
An element specifying physical properties of the joint. These values are used to specify modeling properties of the joint, particularly useful for simulation.
Diagram
Attributes
QName Type Default Use Annotation
coulomb_window matlab_parameter_expression optional
determines the threshold in qd when the coulomb term saturates (F_c = sgn(qd)*coulomb_friction.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
damping matlab_parameter_expression 0 optional
The physical damping value of the joint
friction matlab_parameter_expression optional
coulomb friction coefficient.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
Element joint / limit
Diagram
Attributes
QName Type Default Use Annotation
effort matlab_parameter_expression inf optional
An attribute for enforcing the maximum joint effort
effort_max matlab_parameter_expression inf optional
maximum joint effort.  If both 'effort' and 'effort_max' are specified, then effort_max takes priority.
effort_min matlab_parameter_expression -inf optional
maximum joint effort.  If both 'effort' and 'effort_min' are specified, then effort_min takes priority.
lower matlab_parameter_expression -inf optional
An attribute specifying the lower joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
upper matlab_parameter_expression inf optional
An attribute specifying the upper joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
Element gazebo_sensor / pose
Diagram
Element gazebo / sensor
Diagram
Children pose
Attributes
QName Type Use
name xs:string optional
type sensor_type optional
Element transmission / joint
Diagram
Attributes
QName Type Use
name xs:string optional
Element transmission / actuator
Diagram
Attributes
QName Type Use
name xs:string optional
Element transmission / mechanicalReduction
Diagram
Element robot
Diagram
Children collision_filter_group, force_element, frame, joint, link, loop_joint, material, parameter, transmission
Attributes
QName Type Default Use
name xs:string required
version xs:string 1.0 optional
Element robot / joint
Annotations
The joint element describes the kinematics and dynamics of the joint and also specifies the safety limits of the joint.
Diagram
Children axis, child, dynamics, limit, origin, parent
Attributes
QName Type Default Use Annotation
drake_ignore xs:boolean false optional
set to true to instruct the drake parser to skip this link
has_position_sensor xs:boolean 1 optional
name xs:string required
type joint_type required
Specifies the type of joint, where type can be one of the following:

    revolute - a hinge joint that rotates along the axis and has a limited range specified by the upper and lower limits.
    continuous - a continuous hinge joint that rotates around the axis and has no upper and lower limits
    prismatic - a sliding joint that slides along the axis, and has a limited range specified by the upper and lower limits.
    fixed - This is not really a joint because it cannot move. All degrees of freedom are locked. This type of joint does not require the axis, calibration, dynamics, limits or safety_controller.
    floating - This joint allows motion for all 6 degrees of freedom.
    planar - This joint allows motion in a plane perpendicular to the axis.
    ball - This joint allows free rotation in all directions with no upper or lower limits.
Element robot / link
Annotations
Diagram
Children collision, inertial, sensor, visual
Attributes
Element robot / transmission
Diagram
Children actuator, joint, mechanicalReduction
Attributes
QName Type Use
name xs:string optional
type transmission_type optional
Element robot / material
Annotations
The material of the visual element. It is allowed to specify a material element outside of the 'link' object, in the top level 'robot' element. From within a link element you can then reference the material by name.
Diagram
Children color
Attributes
QName Type Use
name xs:string optional
Element robot / parameter
Annotations
A robot parameter, which can be referenced in matlab_parameter_expression types.  For example, a parameter with name="m1" could be references in mass value="$m1".
Diagram
Attributes
QName Type Default Use Annotation
lb xs:double -INF optional
lower bound
name xs:string required
ub xs:double INF optional
upper bound
value xs:double required
Element robot / loop_joint
Annotations
Adds support for simple closed-loop kinematic chains. For an example, see
examples/simple_four_bar/FourBar.urdf

Note: We do not support dynamics or torque at the loop_joint
yet. (see bug 921)
Diagram
Children axis, link1, link2
Attributes
QName Type Fixed Use Annotation
name xs:string required
type xs:string continuous optional
Currently must be ’continuous’. The intent is to
eventually support all of the same types as a 'joint' element. See the joint element documentation.
Element robot / force_element
Annotations
Adds dynamic, force-producing elements like springs and aerodynamics
Diagram
Children added_mass, bluff_body, buoyancy, linear_spring_damper, propellor, thrust, torsional_spring, wing
Attributes
QName Type Use
name xs:string optional
Element robot / collision_filter_group
Diagram
Children ignored_collision_filter_group, member
Attributes
QName Type Use
name xs:string required
Element collision_filter_group / member
Annotations
Specifies that a link belongs to this collision filter group.
Diagram
Attributes
QName Type Use
link xs:string required
Element collision_filter_group / ignored_collision_filter_group
Annotations
Specifies that collisions between members of this collision filter group and those of another collision filter group should be ignored.
Diagram
Attributes
QName Type Use
collision_filter_group optional
Element robot / frame
Diagram
Attributes
QName Type Default Use
link xs:string required
name optional
rpy matlab_parameter_expression 0 0 0 optional
xyz matlab_parameter_expression 0 0 0 optional
Simple Type matlab_parameter_expression
Annotations
Can be any string that will evaluate as a polynomial using "eval" in the matlab environment, where parameters are referenced with $param_name.
Example:

"$m * $l^2"
or
"$m2 * ($lc2 - $l1)"
Diagram
Complex Type parameter
Diagram
Attributes
QName Type Default Use Annotation
lb xs:double -INF optional
lower bound
name xs:string required
ub xs:double INF optional
upper bound
value xs:double required
Complex Type loop_joint
Annotations
You can add a loop joint if you have a kinematic loop (e.g. four-bar linkage, or even something more complicated) in your robot.  To use this interface, you must first describe every link in your robot as part of a kinematic tree (no loops). You should be able to take a path through the linkages that touches everything without any loops. Then add the remaining loops by referencing existing links from the tree.

The loop joint is a one-degree of freedom joint oriented along the specified axis of the body frame in each link.  Use the rpy fields of the link references to rotate that axis in the coordinate frame of the links.


There are a few limitations with the current implementation.  We do not currently support joint limits nor actuators at the new joint created by the loop_joint tag.  For all of the systems we have modeled so far, there has always been at least one of these "simple" joints in each kinematic loop; and we are simply careful to write down the initial kinematic tree so that it includes all of the more complex joints, leaving the simple joint as the loop joint.
Diagram
Children axis, link1, link2
Attributes
QName Type Fixed Use Annotation
name xs:string required
type xs:string continuous optional
Currently must be ’continuous’. The intent is to
eventually support all of the same types as a 'joint' element. See the joint element documentation.
Complex Type link_reference_w_pose
Diagram
Attributes
Complex Type axis
Diagram
Attributes
QName Type Default Use
xyz matlab_parameter_expression 1 0 0 optional
Complex Type force_element
Diagram
Children added_mass, bluff_body, buoyancy, linear_spring_damper, propellor, thrust, torsional_spring, wing
Attributes
QName Type Use
name xs:string optional
Complex Type linear_spring_damper
Diagram
Children link1, link2
Attributes
QName Type Default Use Annotation
damping xs:double 0 optional
in Newton seconds per meter.  positive values resist motion.
rest_length xs:double 0 optional
stiffness xs:double 0 optional
in Newtons per meter
Complex Type wing
Diagram
Children origin, parent
Attributes
QName Type Default Use Annotation
chord xs:double optional
the chord length in
meters.
nominal_speed xs:double optional
an approximate
nominal speed in meters per second used to calculate the
Reynolds number around which we design the aerodynamic coefficients.
profile xs:string optional
one of the following
strings:
· The path to a .mat file that can be loaded and contains the three
variables ”CLSpline, CDSpline, CMSpline”
· The string, ’flat plate’
39
· File location of a .dat file generated by Xfoil
· A NACA airfoil designation: ’NACA0012’
span xs:double optional
the span of the wing
in meters.
stall_angle xs:double optional
the angle
in degrees upon which the lift and drag performance returns to that of
a flat plate. (this value is ignored if the profile is set to a flat plate).
visual_geometry xs:boolean true optional
enable or disable automatic drawing of the wing
Complex Type link_reference
Diagram
Attributes
Complex Type pose
Diagram
Attributes
QName Type Default Use Annotation
rpy xs:string 0 0 0 optional
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
xyz xs:string 0 0 0 optional
Represents the Cartesian offset
Complex Type thrust
Diagram
Children axis, origin, parent
Attributes
QName Type Default Use Annotation
lower_limit xs:double -INF optional
scale_factor xs:double 1 optional
scales the dimensionless
input to Newtons of force.
upper_limit xs:double INF optional
Complex Type propellor
Diagram
Children axis, origin, parent
Attributes
QName Type Default Use Annotation
lower_limit xs:double -INF optional
input minimum.
name xs:string required
scale_factor_moment xs:double 1 optional
scales the dimensionless input to newton-meters of torque.
scale_factor_thrust xs:double 1 optional
scales the dimensionless input to Newtons of force.
upper_limit xs:double INF optional
input maximum.
visual_diameter xs:boolean 0.2 optional
diameter of the propllor when drawn.
visual_geometry xs:boolean true optional
true to enable automatic drawing of the propellor.
Complex Type bluff_body
Diagram
Children origin
Attributes
QName Type Default Use Annotation
area_x xs:double required
area of the bluff body for computing drag on the X axis.
area_y xs:double required
area of the bluff body for computing drag on the Y axis.
area_z xs:double required
area of the bluff body for computing drag on the Z axis.
coefficient_drag_x xs:double required
coefficient of drag in the X dimension.
coefficient_drag_y xs:double required
coefficient of drag in the Y dimension.
coefficient_drag_z xs:double required
coefficient of drag in the Z dimension.
name xs:string required
visual_geometry xs:boolean true optional
true to enable automatic drawing of the bluff_body as a red cube.
Complex Type added_mass
Diagram
Children origin, parent
Attributes
QName Type Default Use
m11 xs:double 0 optional
m12 xs:double 0 optional
m13 xs:double 0 optional
m14 xs:double 0 optional
m15 xs:double 0 optional
m16 xs:double 0 optional
m21 xs:double 0 optional
m22 xs:double 0 optional
m23 xs:double 0 optional
m24 xs:double 0 optional
m25 xs:double 0 optional
m26 xs:double 0 optional
m31 xs:double 0 optional
m32 xs:double 0 optional
m33 xs:double 0 optional
m34 xs:double 0 optional
m35 xs:double 0 optional
m36 xs:double 0 optional
m41 xs:double 0 optional
m42 xs:double 0 optional
m43 xs:double 0 optional
m44 xs:double 0 optional
m45 xs:double 0 optional
m46 xs:double 0 optional
m51 xs:double 0 optional
m52 xs:double 0 optional
m53 xs:double 0 optional
m54 xs:double 0 optional
m55 xs:double 0 optional
m56 xs:double 0 optional
m61 xs:double 0 optional
m62 xs:double 0 optional
m63 xs:double 0 optional
m64 xs:double 0 optional
m65 xs:double 0 optional
m66 xs:double 0 optional
Complex Type buoyancy
Diagram
Children origin, parent
Attributes
QName Type Default Use Annotation
rho xs:double 1 optional
Density of the fluid
volume xs:double 0 optional
Volume of the body
Complex Type torsional_spring
Annotations
currently only supported for continuous and rotational joints.
Diagram
Children joint
Attributes
QName Type Default Use Annotation
rest_angle xs:double 0 optional
in radians
stiffness xs:double 0 optional
in Newton-meters per radian
Complex Type joint_reference
Diagram
Attributes
QName Type Use
name xs:string optional
Complex Type wing_with_control_surface
Diagram
Children origin, parent
Attributes
QName Type Default Use Annotation
chord xs:double optional
the chord length in
meters.
control_surface_chord xs:double required
Length of the control surface.
control_surface_max_deflection xs:double required
Maximum control surface deflection in radians.  Typical is around 0.90
control_surface_min_deflection xs:double required
Minimum control surface deflection in radians.  Typical is around -0.90
nominal_speed xs:double optional
an approximate
nominal speed in meters per second used to calculate the
Reynolds number around which we design the aerodynamic coefficients.
profile xs:string optional
Only "flat plate" supported right now.
span xs:double optional
the span of the wing
in meters.
stall_angle xs:double optional
the angle
in degrees upon which the lift and drag performance returns to that of
a flat plate. (this value is ignored if the profile is set to a flat plate).
visual_geometry xs:boolean true optional
enable or disable automatic drawing of the wing
Complex Type cable
Diagram
Children pulley, terminator
Attributes
QName Type Default Use
max_length required
min_length required
name cable optional
Complex Type pulley
Diagram
Attributes
QName Type Default Use Annotation
axis matlab_parameter_expression 0 0 0 optional
the cable wraps counter-clockwise (right-hand rule) around the pulley axis
link xs:string required
number_of_wraps xs:int optional
Number of times that the cable is wrapped completely around a pulley.  Adds additional 2*pi*radius*number_of_wraps to the computed length of the cable.
radius matlab_parameter_expression 0 optional
All attachments are implemented as (frictionless) pulleys.  Simple attachments are pulleys of radius zero.
xyz matlab_parameter_expression 0 0 0 optional
Simple Type joint_type
Diagram
Complex Type color
Diagram
Attributes
QName Type Default Use Annotation
rgba xs:string 0 0 0 0 optional
The color of a material specified by set of four numbers representing red/green/blue/alpha, each in the range of [0,1].
Complex Type mass
Diagram
Attributes
QName Type Default Use
value xs:double 0 optional
Complex Type inertia
Diagram
Attributes
Complex Type inertial
Diagram
Children inertia, mass, origin
Complex Type box
Diagram
Attributes
QName Type Default Use
size xs:string 0 0 0 optional
Complex Type cylinder
Diagram
Attributes
QName Type Use
length xs:double required
radius xs:double required
Complex Type sphere
Diagram
Attributes
QName Type Use
radius xs:double required
Complex Type mesh
Diagram
Attributes
QName Type Default Use
filename xs:anyURI required
scale xs:string 1 1 1 optional
Complex Type capsule
Diagram
Attributes
QName Type Use
length xs:double required
radius xs:double required
Complex Type geometry
Diagram
Children box, cylinder, mesh, sphere, superellipsoid
Complex Type material
Diagram
Children color
Attributes
QName Type Use
name xs:string optional
Complex Type visual
Diagram
Children geometry, material, origin
Complex Type collision
Diagram
Children geometry, origin
Attributes
QName Type Use
group xs:string optional
name xs:string optional
Complex Type link
Diagram
Children collision, inertial, sensor, visual
Attributes
Complex Type sensor
Diagram
Children pose
Attributes
QName Type Use
name xs:string optional
type sensor_type optional
Simple Type sensor_type
Diagram
Complex Type dynamics
Diagram
Attributes
QName Type Default Use Annotation
coulomb_window matlab_parameter_expression optional
determines the threshold in qd when the coulomb term saturates (F_c = sgn(qd)*coulomb_friction.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
damping matlab_parameter_expression 0 optional
The physical damping value of the joint
friction matlab_parameter_expression optional
coulomb friction coefficient.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
Complex Type limit
Diagram
Attributes
QName Type Default Use Annotation
effort matlab_parameter_expression inf optional
An attribute for enforcing the maximum joint effort
effort_max matlab_parameter_expression inf optional
maximum joint effort.  If both 'effort' and 'effort_max' are specified, then effort_max takes priority.
effort_min matlab_parameter_expression -inf optional
maximum joint effort.  If both 'effort' and 'effort_min' are specified, then effort_min takes priority.
lower matlab_parameter_expression -inf optional
An attribute specifying the lower joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
upper matlab_parameter_expression inf optional
An attribute specifying the upper joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
Complex Type joint
Diagram
Children axis, child, dynamics, limit, origin, parent
Attributes
QName Type Default Use Annotation
drake_ignore xs:boolean false optional
set to true to instruct the drake parser to skip this link
has_position_sensor xs:boolean 1 optional
name xs:string required
type joint_type required
Specifies the type of joint, where type can be one of the following:

    revolute - a hinge joint that rotates along the axis and has a limited range specified by the upper and lower limits.
    continuous - a continuous hinge joint that rotates around the axis and has no upper and lower limits
    prismatic - a sliding joint that slides along the axis, and has a limited range specified by the upper and lower limits.
    fixed - This is not really a joint because it cannot move. All degrees of freedom are locked. This type of joint does not require the axis, calibration, dynamics, limits or safety_controller.
    floating - This joint allows motion for all 6 degrees of freedom.
    planar - This joint allows motion in a plane perpendicular to the axis.
    ball - This joint allows free rotation in all directions with no upper or lower limits.
Complex Type gazebo_sensor
Diagram
Children pose
Attributes
QName Type Use
name xs:string optional
type sensor_type optional
Complex Type gazebo
Diagram
Children sensor
Attributes
QName Type Use
reference xs:string optional
Complex Type transmission
Diagram
Children actuator, joint, mechanicalReduction
Attributes
QName Type Use
name xs:string optional
type transmission_type optional
Complex Type actuator
Diagram
Attributes
QName Type Use
name xs:string optional
Simple Type transmission_type
Diagram
Complex Type collision_filter_group
Annotations
Provides a means to exclude certain pairs of bodies from collision detection and closest distance computations. A collision filter group can contain one or more links, and a link may belong to any number of collision filter groups. Given two links A and B by default they are specified to be checked for collision. If they are adjacent in the kinematic tree, then they are not checked for collision unless one is the world link and the jointing connecting them is a floating base joint. If link A is in a collision filter group Alpha and link B is in a collision filter group Beta and Beta is in Alpha.ignored_collision_filter group then A and B are not checked for collision. The same also holds in reverse, i.e. if Alpha is in Beta.ignored_collision_filter_group then links A and B are not in collision. However only one of the two conditions is necessary for excluding the pair of bodies from collision detection.
Diagram
Children ignored_collision_filter_group, member
Attributes
QName Type Use
name xs:string required
Complex Type collision_filter_group_reference
Diagram
Attributes
QName Type Use
collision_filter_group optional
Attribute parameter / @name
Attribute parameter / @value
Attribute parameter / @lb
Annotations
lower bound
Attribute parameter / @ub
Annotations
upper bound
Attribute link_reference_w_pose / @link
Attribute link_reference_w_pose / @xyz
Attribute link_reference_w_pose / @rpy
Attribute axis / @xyz
Attribute loop_joint / @name
Attribute loop_joint / @type
Annotations
Currently must be ’continuous’. The intent is to
eventually support all of the same types as a 'joint' element. See the joint element documentation.
Attribute linear_spring_damper / @rest_length
Attribute linear_spring_damper / @stiffness
Annotations
in Newtons per meter
Attribute linear_spring_damper / @damping
Annotations
in Newton seconds per meter.  positive values resist motion.
Attribute link_reference / @link
Attribute pose / @xyz
Annotations
Represents the Cartesian offset
Attribute pose / @rpy
Annotations
Represents the fixed-axis (aka extrinsic) roll, pitch and yaw angles in radians.
Attribute wing / @profile
Annotations
one of the following
strings:
· The path to a .mat file that can be loaded and contains the three
variables ”CLSpline, CDSpline, CMSpline”
· The string, ’flat plate’
39
· File location of a .dat file generated by Xfoil
· A NACA airfoil designation: ’NACA0012’
Attribute wing / @chord
Annotations
the chord length in
meters.
Attribute wing / @span
Annotations
the span of the wing
in meters.
Attribute wing / @stall_angle
Annotations
the angle
in degrees upon which the lift and drag performance returns to that of
a flat plate. (this value is ignored if the profile is set to a flat plate).
Attribute wing / @nominal_speed
Annotations
an approximate
nominal speed in meters per second used to calculate the
Reynolds number around which we design the aerodynamic coefficients.
Attribute wing / @visual_geometry
Annotations
enable or disable automatic drawing of the wing
Attribute thrust / @lower_limit
Attribute thrust / @upper_limit
Attribute thrust / @scale_factor
Annotations
scales the dimensionless
input to Newtons of force.
Attribute propellor / @name
Attribute propellor / @lower_limit
Annotations
input minimum.
Attribute propellor / @upper_limit
Annotations
input maximum.
Attribute propellor / @scale_factor_thrust
Annotations
scales the dimensionless input to Newtons of force.
Attribute propellor / @scale_factor_moment
Annotations
scales the dimensionless input to newton-meters of torque.
Attribute propellor / @visual_geometry
Annotations
true to enable automatic drawing of the propellor.
Attribute propellor / @visual_diameter
Annotations
diameter of the propllor when drawn.
Attribute bluff_body / @name
Attribute bluff_body / @coefficient_drag_x
Annotations
coefficient of drag in the X dimension.
Attribute bluff_body / @coefficient_drag_y
Annotations
coefficient of drag in the Y dimension.
Attribute bluff_body / @coefficient_drag_z
Annotations
coefficient of drag in the Z dimension.
Attribute bluff_body / @area_x
Annotations
area of the bluff body for computing drag on the X axis.
Attribute bluff_body / @area_y
Annotations
area of the bluff body for computing drag on the Y axis.
Attribute bluff_body / @area_z
Annotations
area of the bluff body for computing drag on the Z axis.
Attribute bluff_body / @visual_geometry
Annotations
true to enable automatic drawing of the bluff_body as a red cube.
Attribute added_mass / @m11
Attribute added_mass / @m12
Attribute added_mass / @m13
Attribute added_mass / @m14
Attribute added_mass / @m15
Attribute added_mass / @m16
Attribute added_mass / @m21
Attribute added_mass / @m22
Attribute added_mass / @m23
Attribute added_mass / @m24
Attribute added_mass / @m25
Attribute added_mass / @m26
Attribute added_mass / @m31
Attribute added_mass / @m32
Attribute added_mass / @m33
Attribute added_mass / @m34
Attribute added_mass / @m35
Attribute added_mass / @m36
Attribute added_mass / @m41
Attribute added_mass / @m42
Attribute added_mass / @m43
Attribute added_mass / @m44
Attribute added_mass / @m45
Attribute added_mass / @m46
Attribute added_mass / @m51
Attribute added_mass / @m52
Attribute added_mass / @m53
Attribute added_mass / @m54
Attribute added_mass / @m55
Attribute added_mass / @m56
Attribute added_mass / @m61
Attribute added_mass / @m62
Attribute added_mass / @m63
Attribute added_mass / @m64
Attribute added_mass / @m65
Attribute added_mass / @m66
Attribute buoyancy / @volume
Annotations
Volume of the body
Attribute buoyancy / @rho
Annotations
Density of the fluid
Attribute joint_reference / @name
Attribute torsional_spring / @rest_angle
Annotations
in radians
Attribute torsional_spring / @stiffness
Annotations
in Newton-meters per radian
Attribute force_element / @name
Attribute wing_with_control_surface / @profile
Annotations
Only "flat plate" supported right now.
Attribute wing_with_control_surface / @chord
Annotations
the chord length in
meters.
Attribute wing_with_control_surface / @span
Annotations
the span of the wing
in meters.
Attribute wing_with_control_surface / @stall_angle
Annotations
the angle
in degrees upon which the lift and drag performance returns to that of
a flat plate. (this value is ignored if the profile is set to a flat plate).
Attribute wing_with_control_surface / @nominal_speed
Annotations
an approximate
nominal speed in meters per second used to calculate the
Reynolds number around which we design the aerodynamic coefficients.
Attribute wing_with_control_surface / @visual_geometry
Annotations
enable or disable automatic drawing of the wing
Attribute wing_with_control_surface / @control_surface_chord
Annotations
Length of the control surface.
Attribute wing_with_control_surface / @control_surface_min_deflection
Annotations
Minimum control surface deflection in radians.  Typical is around -0.90
Attribute wing_with_control_surface / @control_surface_max_deflection
Annotations
Maximum control surface deflection in radians.  Typical is around 0.90
Attribute pulley / @link
Attribute pulley / @xyz
Attribute pulley / @axis
Annotations
the cable wraps counter-clockwise (right-hand rule) around the pulley axis
Attribute pulley / @radius
Annotations
All attachments are implemented as (frictionless) pulleys.  Simple attachments are pulleys of radius zero.
Attribute pulley / @number_of_wraps
Annotations
Number of times that the cable is wrapped completely around a pulley.  Adds additional 2*pi*radius*number_of_wraps to the computed length of the cable.
Attribute cable / @name
Attribute cable / @min_length
Attribute cable / @max_length
Attribute color / @rgba
Annotations
The color of a material specified by set of four numbers representing red/green/blue/alpha, each in the range of [0,1].
Attribute mass / @value
Attribute inertia / @ixx
Attribute inertia / @ixy
Attribute inertia / @ixz
Attribute inertia / @iyy
Attribute inertia / @iyz
Attribute inertia / @izz
Attribute box / @size
Attribute cylinder / @radius
Attribute cylinder / @length
Attribute sphere / @radius
Attribute mesh / @filename
Attribute mesh / @scale
Attribute capsule / @radius
Attribute capsule / @length
Attribute geometry / superellipsoid / @size
Annotations
3 element double semi-diameter of the ellipse in x,y, and z
Attribute geometry / superellipsoid / @shape
Annotations
2 element double "squareness" of the ellipsoid in the xy-plane and then the z-plane http://paulbourke.net/geometry/superellipse/
Attribute material / @name
Attribute collision / @name
Attribute collision / @group
Attribute sensor / @name
Attribute sensor / @type
Attribute link / @name
Annotations
Attribute link / @drake_ignore
Annotations
Attribute dynamics / @damping
Annotations
The physical damping value of the joint
Attribute dynamics / @friction
Annotations
coulomb friction coefficient.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
Attribute dynamics / @coulomb_window
Annotations
determines the threshold in qd when the coulomb term saturates (F_c = sgn(qd)*coulomb_friction.

total friction force is a piecewise linear approximation of sgn(qd)*Fc + qd*Fd:

f_friction = min(1,max(-1,qd./m.coulomb_window')).*m.coulomb_friction' + m.damping'.*qd;
Attribute limit / @lower
Annotations
An attribute specifying the lower joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
Attribute limit / @upper
Annotations
An attribute specifying the upper joint limit (radians for revolute joints, meters for prismatic joints). Omit if joint is continuous.
Attribute limit / @effort
Annotations
An attribute for enforcing the maximum joint effort
Attribute limit / @effort_min
Annotations
maximum joint effort.  If both 'effort' and 'effort_min' are specified, then effort_min takes priority.
Attribute limit / @effort_max
Annotations
maximum joint effort.  If both 'effort' and 'effort_max' are specified, then effort_max takes priority.
Attribute joint / @name
Attribute joint / @type
Annotations
Specifies the type of joint, where type can be one of the following:

    revolute - a hinge joint that rotates along the axis and has a limited range specified by the upper and lower limits.
    continuous - a continuous hinge joint that rotates around the axis and has no upper and lower limits
    prismatic - a sliding joint that slides along the axis, and has a limited range specified by the upper and lower limits.
    fixed - This is not really a joint because it cannot move. All degrees of freedom are locked. This type of joint does not require the axis, calibration, dynamics, limits or safety_controller.
    floating - This joint allows motion for all 6 degrees of freedom.
    planar - This joint allows motion in a plane perpendicular to the axis.
    ball - This joint allows free rotation in all directions with no upper or lower limits.
Attribute joint / @has_position_sensor
Attribute joint / @drake_ignore
Annotations
set to true to instruct the drake parser to skip this link
Attribute gazebo_sensor / @name
Attribute gazebo_sensor / @type
Attribute gazebo / @reference
Attribute actuator / @name
Attribute transmission / @name
Attribute transmission / @type
Attribute collision_filter_group_reference / @collision_filter_group
Attribute collision_filter_group / @name
Attribute robot / frame / @name
Attribute robot / @name
Attribute robot / @version