Please see kinect_camera in kinect stack for the new version.

Old documentation


The kinect_node package provides a driver for using the Kinect RGB-D sensor with ROS. Currently this package depends on the libfreenect_install package which is a wrapper around the libfreenect driver. The library is patched using St├ęphane Magnenat's memory trash patch.

This package currently outputs a sensor_msgs/PointCloud, a RGB sensor_msgs/Image and it's associated sensor_msgs/CameraInfo. The PointCloud, Image, and CameraInfo are published with the same timestamp (the node will hold data until all 3 have become available).

For calibration information based on this package, please see /Calibration.

Future Work

  • Switch to PCL - PointCloud2 with RGB values - requires accurate cross-calibration of the cameras

  • Output Depthmap as an image topic
  • Improve 3D calibration
  • Publish the accelerometer data
  • Listen for pose information to control the camera motor


roscore  >& /dev/null &
rosrun kinect_node kinect_node  >& /dev/null &
rosrun rviz rviz

Set Fixed Frame to /kinect_depth or whatever name was provided with the kinect_depth_frame argument.


You can download the pre-recorded bag file of the video shown below from here. This can be viewed in rviz.

kinect_node.bag is 1.1GB of data and may not be useful.

kinect_node_subset.bag is a 143M subset of the above bag file.

roscore >& /dev/null &
rosrun rviz rviz >& /dev/null &
rosbag play -q -l kinect_node_subset.bag

In rviz select 'File > Open Config' from the main menu then open the 'kinect_node/launch/demo.vcg' config file.



The kinect_node uses the libfreenect driver to access the Kinect RGB-D Sensor.

Published Topics

cloud (sensor_msgs/PointCloud)
  • 3D Pointcloud data
image_raw (sensor_msgs/Image)
  • RGB Image Data
camera_info (sensor_msgs/CameraInfo)


~kinect_depth_frame (string, default: "/kinect_depth")
  • the name of the Depth camera frame
~max_range (float, default: 5.0)
  • The maximum range of the sensor in meters, beyond this the error is too large.
~width (int, default: 640)
  • The width of the image returned by the Kinect
~height (int, default: 480)
  • The height of the image returned by the Kinect
~camera_name (string, default: "camera") ~camera_info_url (string, default: "file://ROS_PACKAGE_NAME/info/calibration.yaml")
  • The location of the camera calibration file. Can also be set to 'auto'


[1] H. Martin, "Open source Kinect driver", The Internets, 2010

Bug Reports & Feature Requests

We appreciate the time and effort spent submitting bug reports.

Please use our Trac to report bugs or request features.

Wiki: kinect_node (last edited 2011-05-26 19:31:16 by KenConley)