基于Ubuntu 16.04,首先安装ROS Kinetic
注:若为其他版本的Ubuntu和ROS,只需修改版本名即可
安装依赖项
sudo apt-get install ros-kinetic-rgbd-launch ros-kinetic-openni2-camera ros-kinetic-openni2-launch
安装rqt包以及其他相关包
sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins ros-kinetic-rqt-robot-plugins
打开终端(Ctrl+Alt+t)
roscore
打开另一个终端(Ctrl+Shift+t)
roslaunch openni2_launch openni2.launch
打开另一个终端(Ctrl+Shift+t)
rviz
在rviz中选择Carema和PointColud2组件
选择对应的话题,如下图所示:
这样就得到摄像头的彩色图像和深度图像。
然后为了方便启动,我们先保存当前的rviz配置,命名成carema.rviz
然后写一个launch文件方便启动。
<launch>
<include file="$(find openni2_launch)/launch/openni2.launch"/>
<!--启动rviz-->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find robot_carema)/config/carema.rviz" required="true" />
</launch>
出现的问题
No matching device found.... waiting for devices. Reason: std::__cxx11::string
openni2_wrapper::OpenNI2Driver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-openni2-camera-0.4.2/s
/openni2_driver.cpp @ 737 : Invalid device number 1, there are 0 devices connected.
解决办法非常简单:
编辑/etc/openni/GlobalDefaults.ini文件
sudo gedit /etc/openni/GlobalDefaults.ini
找到内容为“; UsbInterface=2”这一行,将该行更改为UsbInterface=0, 注意去掉分号注释。
重新运行命令:
roslaunch openni_launch openni.launch
参考文章:
https://blog.csdn.net/jackkang01/article/details/86568506
https://blog.csdn.net/l_h2010/article/details/38844797