# DepthAI ROS

> **Version Warning**
> This documentation is targeted to ROS2 Humble and Jazzy which utilize DepthAI V2. For newest version available
> [V3 Docs](https://docs.luxonis.com/software-v3/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
   [stereo_inertial_node](https://github.com/luxonis/depthai-ros/blob/humble/depthai_examples/launch/stereo_inertial_node.launch.py)
   example on how to do that)
 * Use depthai_ros_driver package (currently available on ROS2 Humble and Jazzy) to get default experience (see [ROS
   Driver](https://docs.luxonis.com/software/ros/depthai-ros/driver.md) on how)

Supported ROS versions:

 * Humble
 * Jazzy

## Install from ros binaries

Install depthai-ros. (Available for Noetic, Humble, Iron, Jazzy)

sudo apt install ros-<distro>-depthai-ros

## Install from source

For installing from source, please refer to [this guide](https://docs.luxonis.com/software/ros/depthai-ros/build.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 rgb/preview/image_raw topics. To see it in action, run ros2 launch
   depthai_filters example_det2d_overla.launch.py. Note here - If you see that detections misalign in the overlay, adjust
   rgb.i_preview_size parameter.
 * SegmentationOverlay, overlays semantic segmentation from /nn/image_raw on top of image from rgb/preview/image_raw, to see it in
   action, run ros2 launch depthai_filters example_seg_overlay.launch.py
 * WLS filter - stereo depth filter that smooths out overall depth image based on disparity data. It subscribes to
   stereo/image_raw and left/image raw topics. Parameters needed to enable it - left.i_publish_topic, stereo.i_output_disparity an
   example can be seen by running ros2 launch depthai_filters example_wls_filter.launch.py
 * SpatialBB - publishes bounding boxes as 3D line Markers based on spatial detections coming from driver node
 * FeatureTrackerOverlay - publishes Tracked Features overlay based on features and images coming from the driver
 * Features3D - uses depth image to republish features as 3D pointcloud

## 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.
