kinect/asus xtion with ROS fuerte in debian

  • Get the openni_camera and openni_launch ros packages:
roslocate info --distro=fuerte openni_launch | rosws merge -
roslocate info --distro=fuerte openni_camera | rosws merge -
rosws update
  • If the first two commands give an error you can try the following instead:
rosws set openni_launch --hg `roslocate uri --distro=fuerte openni_launch`
rosws set openni_camera --hg `roslocate uri --distro=fuerte openni_camera`
rosws update
  • Install some dependencies:
sudo apt-get install libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk openjdk-7-jre doxygen graphviz-dev  libcppunit-dev libvtk5-dev libvtk5-qt4-dev libgtest-dev libqhull-dev
  • Edit ~/local/src/ros-fuerte/image_pipeline/depth_image_proc/manifest.xml, remove pcl dependency:
  <depend package="pcl"/>
  • We have to fix a little bug in openni_camera:
roscd openni_camera
  • Edit the file CMakeLists.txt and replace the line:
pkg_check_modules(OPENNI libopenni)


pkg_check_modules(OPENNI openni-dev)
  • Compile openni_camera package
rosmake openni_camera
  • Compile image_view:
rosmake image_view
  • Get and compile pcl for ros:
cd ~/local/src/ros-dependencies/
git clone
#git clone
cd pcl-fuerte-release
git checkout debian/fuerte/pcl
mkdir build
cd build
ccmake ../ -DCMAKE_INSTALL_PREFIX=${HOME}/local/DIR/pcl-ros
  • In the configuration please activate options: USE_ROS and BUILD_visualization and set the CMAKE_INSTALL_PREFIX to /home/usuario/local/DIR/pcl-wg
  • Then in file ~/local/src/ros-dependencies/pcl-fuerte-release/tracking/include/pcl/tracking/impl/kld_adaptive_particle_filter.hpp, change all ocurrences of genAliasTable with this->genAliasTable
  • In file ~/local/src/ros-dependencies/pcl-fuerte-release/tracking/include/pcl/tracking/impl/particle_filter_omp.hpp, change all ocurrences of computeTransformedPointCloudWithNormal with this->computeTransformedPointCloudWithNormal, cropInputPointCloud with this->cropInputPointCloud, testChangeDetection with this->testChangeDetection and computeTransformedPointCloudWithoutNormal with this->computeTransformedPointCloudWithoutNormal
  • In file ~/local/src/ros-dependencies/pcl-fuerte-release/tracking/include/pcl/tracking/impl/kld_adaptive_particle_filter_omp.hpp, change all ocurrences of computeTransformedPointCloudWithNormal with this->computeTransformedPointCloudWithNormal, testChangeDetection with this->testChangeDetection and cropInputPointCloud with this->cropInputPointCloud and computeTransformedPointCloudWithoutNormal with this->computeTransformedPointCloudWithoutNormal
make -j10
make install
cd ~/local/DIR
xstow pcl-ros
  • Aditionally, before compiling you could edit file cmake/pcl_find_sse.cmake and disable the lines of native gcc compilation to allow for distributed compilation to work.
  • Lets compile openni_launch
rosmake openni_launch
  • Now lets test it!
  • Run a roscore.
  • In a new console run:
roslaunch openni_launch openni.launch
  • In another console run rviz
  • Set the fixed frame (top left of rviz window) to /camera_depth_optical_frame
  • Add a PointCloud2 display, and set the topic to /camera/depth/points


  • To view the disparity image:
rosrun image_view disparity_view image:=/camera/depth/disparity
  • To register the point cloud (rgb+depth):
rosrun dynamic_reconfigure reconfigure_gui
  • Select /camera/driver and enable the depth_registration
  • Change your PointCloud2 topic to /camera/depth_registered/points
  • Set Color Transformer to RGB8
  • To view the registered disparity image:
rosrun image_view disparity_view image:=/camera/depth_registered/disparity
  • The rgb image:
rosrun image_view image_view image:=/camera/rgb/image_color



Enter your comment. Wiki syntax is allowed:
Creating directory /var/lib/dokuwiki/data/tmp/captcha/2021-05-07 failed
If you can't read the letters on the image, download this .wav file to get them read to you.
  • tutorials/installing_and_running_the_kinect_and_asus_xtion_with_ros_in_debian.txt
  • Last modified: 2016/02/26 11:52
  • by amora