ROS Indigo上使用RealSense ZR300

ROS Indigo上使用RealSense ZR300

在Ubuntu14.04上安装了realsense zr300的驱动librealsense以后,想要在ros上用zr300跑一跑vins-mono试试,然后发现ROS的realsense_camera驱动刚开始编译不过,然后怎么都运行不了,坑了我一个下午才搞定这个问题,这篇博客记录下我解决这个问题的过程以及共享下我的程序。如果不知道怎么安装librealsense,可以参考我以前写的博客-Ubuntu 14.04 ZR300驱动安装。


ROS下的realsense_camera编译

经修改后的ROS下的ZR300驱动代码可以在我的github上下载,命令如下

cd path_to_catkin_ws #进入catkin_ws的根目录
cd src
git clone https://github.com/jian-li/zr300_ros_indigo_driver

代码的主要更改为:

  • 增加了cmake_modules文件夹,在该文件夹中包含了在Rtabmap代码中的FindRealSense.cmake,主要用于查找librealsense编译后的库

  • 修改了CMakeLists.txt中查找librealsense库的部分,并且将可选系统realsense的库设置为直接查找系统的库

下载完代码以后,使用下面的命令编译realsense_camera

cd path_to_catkin_ws#进入catkin_ws的根目录
catkin_make

编译完以后,执行下面的命令运行realsense_camera

cd path_to_catkin_ws#进入catkin_ws的根目录
source devel/setup.bash
sudo apt-get install ros-indigo-rgbd-launch
roslaunch realsense_camera zr300_nodelet_rgbd.launch

此时,如果终端出现如下图所示的界面,就说明已经运行起来了(注意,如果有红色的报错说明安装有问题)
ROS Indigo上使用RealSense ZR300_第1张图片
还可以进一步在rviz中确定读取的图像和IMU数据没有问题,首先在终端中执行下面的命令打开rviz

rviz

然后在rviz中左侧点击ADD,在Create Visualization中的下面点击By topic,然后选择finsheye/image,点击确定。用同样的方法找到IMU和深度相机,最终的界面如下所示
ROS Indigo上使用RealSense ZR300_第2张图片
左侧的图分别为鱼眼相机和深度相机的图片,粉红色的箭头为IMU的读数。如果发现IMU数据没有出现,请确认左侧Fixed Framecamera_imu_frame或者其他tf信息已知的frame。
至此,ROS下就可以使用Realsense ZR300相机了。


你可能感兴趣的:(ROS Indigo上使用RealSense ZR300)