# DepthAI ROS

> **Looking for the older ROS driver?**
> If you are looking for the older v2 driver documentation, please visit [V2 Docs](https://docs.luxonis.com/software/ros/depthai-ros.md).

[luxonis/depthai-ros](https://github.com/luxonis/depthai-ros) allows you to:

 * Use the cameras as classic RGBD sensors for your 3D vision needs.
 * Load Neural Networks and get the inference results straight from camera!

You can develop your ROS applications in following ways:

 * Use classes provided in depthai_bridge to construct your own driver (see
   [rgb_publisher](https://github.com/luxonis/depthai-ros/blob/kilted/depthai_examples/src/rgb_publisher.cpp) example on how to do
   that)
 * Use the default ROS driver package for your distro (see [ROS
   Driver](https://docs.luxonis.com/software-v3/depthai/ros/driver.md) for details): * Humble / Jazzy: `depthai_ros_driver_v3`
    * Kilted and newer: `depthai_ros_driver`

Supported ROS versions:

 * Humble
 * Jazzy
 * Kilted

> **Package naming**
> The ROS v3 driver is now available on Humble, Jazzy, and Kilted.

 * Humble / Jazzy: use the `_v3` package names, for example `depthai_ros_v3` and `depthai_ros_driver_v3`.
 * Kilted and newer: v3 is the default driver, so the package names no longer carry the `_v3` suffix, for example
   `depthai_ros_driver`.

At the moment, if you want the newest Humble/Jazzy binaries before they sync to the stable ROS apt repository, use the ROS testing
repository.

## Install from ros binaries

Install the packages matching your ROS distro.

#### Humble/Jazzy

```bash
sudo apt install ros2-testing-apt-source
sudo apt update
sudo apt install ros-$ROS_DISTRO-depthai-ros-v3
```

#### Kilted and newer

```bash
sudo apt install ros-$ROS_DISTRO-depthai-ros
```

## Install from source

For installing from source, please refer to [this guide](https://docs.luxonis.com/software-v3/depthai/ros/build-from-source.md).

## DepthAI filters

`depthai_filters` contains small composable node examples that show how to work with data from multiple topics. Available filters:

 * Detection2DOverlay - subscribes to `/nn/detections` and `nn/passthrough/image_raw` topics. To see it in action, run `ros2
   launch depthai_filters example_det2d_overlay.launch.py`.
 * SegmentationOverlay, overlays semantic segmentation from `nn/image_raw` on top of image from `nn/passthrough/image_raw`, to see
   it in action, run `ros2 launch depthai_filters example_seg_overlay.launch.py`
 * SpatialBB - publishes bounding boxes as 3D line Markers based on spatial detections coming from driver node, to run: `ros2
   launch depthai_filters spatial_bb.launch.py`
 * FeatureTrackerOverlay - publishes Tracked Features overlay based on features and images coming from the driver
 * Features3D - uses depth image to republish features as 3D pointcloud, to run `ros2 launch depthai_filters
   example_feature_3d.launch.py
 * ThermalTemp - visualizes data from thermal stream on OAK-T, you can use mouse to see what temperature is given part of image,
   to run `ros2 launch depthai_filters thermal_temp.launch.py`

## Custom converters

Users can write Custom converters and plug them in for bridge Publisher. If there a standard Message or usecase for which we have
not provided a ros msg or converter feel free to create a issue or reach out to us on our discord community. We would be happy to
add more.
