Skip to main content

Overview

This package provides robot description and mesh files for Stretch 4, as well as code for manipulating the kinematic description (e.g. adding virtual joints) and exporting for use in other programs (e.g. ROS2, pinocchio). The repository for Stretch 3 and earlier hardware versions can be found in stretch_urdf. This package can be installed by:

python3 -m pip install -U hello-robot-stretch4-urdf
Stretch 4 robot model


Details

The URDF and meshes are installed to your Python site directory. You can load them dynamically using:

from stretch4_urdf import get_urdf

# configure the specifications for your robot
model_name = "SE4"
batch_name = "francis"
tool_name = "eoa_wrist_dw4_tool_sg4"

print(get_urdf(
    model_name=model_name,
    batch_name=batch_name,
    tool_name=tool_name,
))

Currently supported options for the model_name, batch_name, and tool_name are:

supported_model_names = ["SE4"]
supported_batch_names = ["francis"]
supported_tool_names = ["eoa_wrist_dw4_tool_sg4"]

A single composable xacro combines a robot's base model with its attached tool. Util functions will handle processing the xacro file and return the URDF for the robot's current configuration:

from stretch4_urdf import get_urdf_from_robot_params
urdf_string = get_urdf_from_robot_params() # store the urdf contents in a str variable
urdf_filepath = get_urdf_from_robot_params(out_dir="/tmp") # save the urdf to a file in the /tmp directory

You can also load accessory URDFs via:

from stretch4_urdf import get_accessory

dock_urdf = get_accessory("docking_station")
print(dock_urdf)

Utility methods are provided to extract 4x4 coordinate transforms:

from stretch4_urdf import get_transform

# Get the 4x4 transform between two frames
T_dock_to_leftaruco = get_transform(dock_urdf, frame_to="left_aruco_marker_link", frame_from="docking_station_link")
print(T_dock_to_leftaruco)

Tools

URDF Visualization

The stretch_urdf_viz tool allows you to visualize the robot's URDF in Rerun.

stretch_urdf_viz

By default, the tool will visualize the robot's nominal (uncalibrated) URDF. If the robot has been calibrated, the calibrated URDF will be automatically overlaid in green.

Key features:

  • Calibrated vs Uncalibrated: Automatically shows both if calibration data is available.
  • Toggles: Meshes, coordinate frames (TFs), and labels are organized into separate trees in Rerun, allowing them to be toggled on/off easily to reduce clutter.

Options:

  • --model: Specify the robot model (e.g., SE4).
  • --batch: Specify the robot batch (e.g., francis).
  • --tool: Specify the end-of-arm tool (e.g., eoa_wrist_dw4_tool_sg4).

Bringing in URDF's from CAD

The package follows a strict directory strucutre:

> {model}_{batch}
    > meshes
        visual and collision mesh STL files
    > xacro
        stretch_main.xacro
> {model}_tools
    > {tool_name}
        > meshes
            visual and collision mesh STL files
        {tool_name}.urdf

The URDF and meshes from the CAD model are added to the {model}_{batch} base directory and meshes folder. From there, utils/preprocessing/process_new_robot_model.py creates the stretch_main.xacro file and necessary collision meshes for the batch. See the urdf_conventions.md for the specifics of this processing step.

A directory is created for each new tool, with the urdf in the base directory and a folder for meshes. utils/preprocessing/process_new_tool.py is then used to add the necessary edits to the urdf and generate collision meshes.

Documentation

The following files provide deeper documentation on various parts of the system:

Primer Description
Batches Explains URDF batch organization, compiling the URDF dynamically, and how to add new batch models.
End Effectors Outlines the available end effector tools and provides instructions on how to add new tools to the robot.
URDF Conventions Outlines which conventions are used in the Stretch 4 URDF.
Calibration Explains how static calibration values are applied to the URDF at load time.
Kinematic Changes Tracks breaking kinematic and coordinate frame changes for Stretch 4.
Camera Orientations Deep dive into the camera coordinate systems, mounting angles, and optical frame conventions.

Metadata

Release files for hello-robot-stretch4-urdf 2026.8.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hello-robot-stretch4-urdf 2026.8.21
File Size Uploaded
hello_robot_stretch4_urdf-2026.8.21.tar.gz 3.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for hello-robot-stretch4-urdf 2026.8.21
File Interpreter ABI Platform
hello_robot_stretch4_urdf-2026.8.21-py3-none-any.whl Python 3 none any Details

Total release size: 6.3 MB

Release files / hello_robot_stretch4_urdf-2026.8.21.tar.gz

Download URL hello_robot_stretch4_urdf-2026.8.21.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
e1bd20fa6d381d0441f46899008ed1942597d881de1bc57a439edea839819e82
BLAKE2b-256 checksum
How to use checksums
0fad77fee2ef2d3e9062763be040ad42318492c18b6e3cd2c1a91e2225b940e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / hello_robot_stretch4_urdf-2026.8.21-py3-none-any.whl

Download URL hello_robot_stretch4_urdf-2026.8.21-py3-none-any.whl
Size 3.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a7b74b8534b2502d5a43dc6507fe72f6e95762e3a0927dd8460a24feb855bbba
BLAKE2b-256 checksum
How to use checksums
9d23d273865c8815d283d1ace3a35ba15c4f88e7cbdd424f3503043f9cd7aff3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

2026.8.21 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page