Links

In a robotic kinematic sequence, a Link represents a single rigid body component—akin to a human forearm, a vehicle chassis, or a drone’s propeller. Links serve three distinct roles simultaneously: they define the physical envelope used to calculate collisions, they hold the 3D meshes and colors you actually see rendered on screen, and they encapsulate inertial properties (like mass and center of gravity) required for realistic physics simulation.

The Links section of the ARMOR Robot Editor lists every rigid body defined in your model. Tapping a link row expands it, allowing you to edit its Inertial, Visual, and Collision properties using structured form controls rather than writing raw XML. For the official specification, see the ROS URDF link documentation.

Editor Interface

When managing a link’s properties, ARMOR dynamically maps XML hierarchies to intuitive inputs:

Links can be edited in two ways:

A URDF <link> tag wraps three core sub-elements. All defined properties inside these elements are fully supported within the ARMOR editor:

Inertial Properties

The <inertial> block controls the physical mass properties of the link, vital for physics simulators like MuJoCo. By toggling Has Inertial? off in the editor, you can omit these properties entirely (common for fixed base links or pure visual shells that shouldn’t affect physics).

Field Description
Origin The spatial offset (x, y, z) and rotation (roll, pitch, yaw) of the center of mass relative to the link’s origin frame.
Mass The total weight of the link strictly in kilograms (kg).
Inertia The 3x3 rotational inertia tensor matrix (ixx, iyy, izz, ixy, ixz, iyz) representing mass distribution.

Visual Properties

The <visual> block handles what the user physically sees on screen. A single link can contain multiple nested visual elements.

Field Description
Name An optional string identifying this specific visual geometry.
Origin The spatial offset (x, y, z) and rotation (roll, pitch, yaw) of the visual element relative to the link frame.
Shape The specific geometry type: mesh, box, cylinder, or sphere (mapped via picker).
Material The surface appearance mapped either to a named global material or a local color definition.

If mesh is selected for the shape, additional Asset file-pickers and Scale (x, y, z) parameter fields become active.

Collision Properties

The <collision> block defines the invisible physical boundaries used to calculate interactions and prevent intersections. To optimize real-time simulation, these are often simpler primitive shapes rather than high-fidelity visual meshes.

Field Description
Name An optional string identifying this specific collision geometry.
Origin The spatial offset (x, y, z) and rotation (roll, pitch, yaw) of the collision boundary relative to the link frame.
Shape The specific geometry type: mesh, box, cylinder, or sphere (mapped via picker).