URDF Support
rerun.urdf
UrdfJoint
A URDF joint with properties and transform computation.
joint_type
property
joint_type: str
Type of the joint (revolute, continuous, prismatic, fixed, etc.).
mimic
property
mimic: UrdfMimic | None
Mimic-tag specification, or None if this joint is not a mimic joint.
origin_rpy
property
Origin of the joint (rotation in roll, pitch, yaw).
compute_transform
def compute_transform(
value: float, clamp: bool = True
) -> Transform3D
Compute a Transform3D for this joint at the given value.
| PARAMETER | DESCRIPTION |
|---|---|
value
|
Joint angle in radians (revolute/continuous) or distance in meters (prismatic).
Ignored for fixed joints. Values outside limits are clamped with a warning if
TYPE:
|
clamp
|
Whether to clamp & warn about values outside joint limits.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Transform3D
|
Transform with rotation, translation, parent_frame, and child_frame ready to log. |
compute_transform_columns
def compute_transform_columns(
values: Sequence[float], *, clamp: bool = True
) -> ComponentColumnList
Compute transforms for this joint at multiple values, returning columnar data for use with send_columns.
| PARAMETER | DESCRIPTION |
|---|---|
values
|
Joint values: angles in radians (revolute/continuous) or distances in meters (prismatic).
Values outside limits are clamped with a warning if |
clamp
|
Whether to clamp & warn about values outside joint limits.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ComponentColumnList
|
Columnar transform data ready for use with |
UrdfLink
A URDF link.
UrdfMimic
A URDF <mimic> tag specification.
A mimic joint's value is derived from a driver joint as
value = multiplier * driver_value + offset.
UrdfTree
A URDF robot model with joints and links.
Use log_urdf_to_recording to log the full model (geometry + static transforms), then animate
individual joints by logging archetypes.Transform3D computed via
UrdfJoint.compute_transform.
compute_joint_transform_batches
Compute batches of 3D transform components from Arrow list arrays containing joint names and values.
names must be a ListArray with Utf8 values.
values must be a ListArray with values castable to Float64.
The output is a ListArray with translation, quaternion, parent_frame, and
child_frame fields and the same outer row count as the inputs.
Note: this is intended as a helper for lens pipelines, where you would usually pipe this output
through an additional lens that scatters each batch into final Transform3D component rows.
| PARAMETER | DESCRIPTION |
|---|---|
names
|
Joint names for each row.
TYPE:
|
values
|
Joint values for each row.
TYPE:
|
clamp
|
Whether to clamp & warn about values outside joint limits.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Array
|
Transform batches with one outer row for each input row. |
from_file_path
staticmethod
def from_file_path(
path: str | Path,
entity_path_prefix: str | None = None,
*,
frame_prefix: str | None = None,
static_transform_entity_path: str | None = None,
) -> UrdfTree
Load a URDF file from the given path.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
Path to the URDF file. |
entity_path_prefix
|
Optional entity path prefix.
TYPE:
|
frame_prefix
|
Optional prefix for all frame IDs. Use to load the same URDF multiple times with unique frames.
TYPE:
|
static_transform_entity_path
|
Optional entity path to use when logging static transforms.
If omitted, defaults to
TYPE:
|
get_collision_geometry_paths
get_joint_by_name
Get a joint by name.
| PARAMETER | DESCRIPTION |
|---|---|
joint_name
|
Name of the joint.
TYPE:
|
get_joint_child
Get the child link of a joint.
| PARAMETER | DESCRIPTION |
|---|---|
joint
|
The joint whose child link to retrieve.
TYPE:
|
get_link_by_name
Get a link by name.
| PARAMETER | DESCRIPTION |
|---|---|
link_name
|
Name of the link.
TYPE:
|
get_visual_geometry_paths
log_urdf_to_recording
def log_urdf_to_recording(
recording: RecordingStream | None = None,
) -> None
Log the full robot model (geometry + static transforms) to a recording stream.
This can be used as alternative to rerun.log_file_from_path for URDF files,
especially in cases where you need the extra configuration options of UrdfTree
(e.g. frame_prefix for multi-robot setups).
| PARAMETER | DESCRIPTION |
|---|---|
recording
|
The recording stream to log to. If
TYPE:
|
stream
def stream(
*, include_joint_transforms: bool = True
) -> LazyChunkStream
Return a lazy stream over chunks emitted from this URDF tree.
Warning
This method is experimental and returns the experimental
rerun.experimental.LazyChunkStream API.
| PARAMETER | DESCRIPTION |
|---|---|
include_joint_transforms
|
Whether to include the static joint transforms from the URDF.
TYPE:
|