> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# The "zed_description" Package

The `zed_description` package provides the 3D models (URDF/xacro and meshes) of the ZED camera family, used by the [ZED ROS 2 Wrapper](https://github.com/stereolabs/zed-ros2-wrapper) and the [ZED ROS 2 Examples](https://github.com/stereolabs/zed-ros2-examples) to publish the static [TF tree](/docs/integrations/ros-2/zed-stereo-node#transform-frames) of the camera and to display it in [RViz 2](/docs/integrations/ros-2/data-display-with-r-viz-2). The package is maintained in the [zed-ros2-description](https://github.com/stereolabs/zed-ros2-description) repository.

> **Note**
>
> The `zed_description` package does not depend on CUDA or the ZED SDK. You can install it on any ROS 2 machine, even without an NVIDIA GPU, to visualize a ZED model or build a robot URDF that includes a ZED camera.

## Installation

### Binary installation

```bash
sudo apt install ros-<ros2-distro>-zed-description
```

where `<ros2-distro>` is your ROS 2 distribution (e.g. `humble` or `jazzy`).

### Build from source

```bash
cd ~/ros2_ws/src/
git clone https://github.com/stereolabs/zed-ros2-description.git
cd ..
sudo apt update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
source ~/ros2_ws/install/local_setup.bash
```

## Supported camera models

The package ships a mesh and the URDF parameters (baseline, optical offsets) for each supported model. The `camera_model` argument accepts one of the following values:

`zed`, `zedm`, `zed2`, `zed2i`, `zedx`, `zedxm`, `zedxnano`, `zedxonegs`, `zedxones`, `zedxone4k`, and `virtual` (for [custom stereo rigs](/docs/integrations/ros-2/custom-stereo-rig)).

## Visualizing a camera model

You can preview the 3D model of any supported camera in RViz 2 without starting a ZED node:

```bash
ros2 launch zed_description zed_viz.launch.py camera_model:=<camera model>
```

> **Warning**
>
> This launch file is meant for URDF debugging and visualization only. It does **not** start a ZED node and therefore does not stream any camera data. To run an actual camera, use the [ZED Stereo Node](/docs/integrations/ros-2/zed-stereo-node) or [ZED Monocular Node](/docs/integrations/ros-2/zed-monocular-node) launch files.

## Using the description in your own URDF

The model is generated from a [xacro](https://index.ros.org/p/xacro/) macro (`zed_macro.urdf.xacro`) that you can include in your own robot description to attach a ZED camera to your platform:

```xml
<xacro:include filename="$(find zed_description)/urdf/zed_macro.urdf.xacro" />

<xacro:zed_camera name="zed" model="zed2i" enable_gnss="false">
  <origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:zed_camera>
```

The macro accepts the following arguments:

* **name**: name of the camera, used as a prefix for all the generated frames (default `zed`).
* **model**: camera model, one of the [supported values](#supported-camera-models) listed above.
* **custom_baseline**: distance in meters between the left and right optical centers. Only used with `model:=virtual` to describe a [custom stereo rig](/docs/integrations/ros-2/custom-stereo-rig).
* **enable_gnss**: if `true`, adds a `<name>_gnss_link` frame for the GNSS antenna. Used by the [Geo Tracking](/docs/integrations/ros-2/geo-tracking) module.
* **origin block** (required): the `<origin>` element placed inside the macro call sets the position of the GNSS antenna relative to the camera mount point. It is only used when `enable_gnss` is `true`. The standalone `zed_descr.urdf.xacro` file fills it from its `gnss_x`, `gnss_y`, and `gnss_z` arguments.

> **Note**
>
> The complete TF tree generated by this description, including the optical frames of each sensor, is detailed in the [Transform frames](/docs/integrations/ros-2/zed-stereo-node#transform-frames) section of the ZED Stereo Node page and in the [Robot Integration](/docs/integrations/ros-2/robot-integration) page.