This project is a ROS2 node which publishes sensor data from the Azure Kinect Developer Kit to the Robot Operating System (ROS). Developers working with ROS2 can use this node to connect an Azure Kinect Developer Kit to an existing ROS2 installation.
This repository uses the Azure Kinect Sensor SDK to communicate with the Azure Kinect DK. It supports Linux installations of ROS2.
This is a port of the ROS1 drivers:
This ROS node outputs a variety of sensor data, including:
- A PointCloud2, optionally colored using the color camera
- Raw color, depth and infrared Images, including CameraInfo messages containing calibration information
- Rectified depth Images in the color camera resolution
- Rectified color Images in the depth camera resolution
- The IMU sensor stream
- A TF2 model representing the extrinsic calibration of the camera
The camera is fully configurable using a variety of options which can be specified in ROS2 launch files or on the command line.
However, this node does not expose all the sensor data from the Azure Kinect Developer Kit hardware. It does not provide access to:
- Microphone array
- Body tracking
This is a basic port to ROS2 and not thoroughly tested at this point. Limited testing has been performed with ROS2 Humble on Ubuntu 22.04.
Community additions and fixes are welcome.
Follow the installation instructions in the Azure Kinect Sensor SDK repo to install the sensor SDK for your platform.
Clone the repo into the src directory of your ROS2 workspace.
colcon build --symlink-install --packages-select azure_kinect_ros2_driver
Source your workspace: source <ROS2 ws>/install/setup.bash
ros2 run azure_kinect_ros2_driver azure_kinect_node
or from a file recorded via k4arecorder:
ros2 run azure_kinect_ros2_driver azure_kinect_node --ros-args -p recording_file:=/path/to/myrecording.mkv
A simple Python-based subscriber is included to visualize some of the data being published. An image_proc node is used
to undistort the images. Install via sudo apt install ros-<$ROS2_DISTRO>-image-pipeline
Launch the nodes:
ros2 launch azure_kinect_ros2_driver k4a_test_record_launch.py