RGBD摄像头实验
HandsFree支持多种深度摄像头,包括Xtion Pro,奥比中光,Kinect等。本节将讲解如何使用Astra dabai进行几个视觉相关的小实验。
1 测试摄像头
参考硬件驱动测试教程,先测试一下深度摄像头是否正常工作:
查看图片有3种方法,第一种方法,用终端打开rviz可视化
roslaunch handsfree_camera view_astra_dabai.launch
或者
roslaunch handsfree_camera view_camera.launch
此命令打开了摄像头驱动节点和rviz可视化界面。
单独打开摄像头驱动节点的命令是roslaunch handsfree_camera camera.launch
查看图像的第二种方法,在rqt中可以查看图像,在终端中运行'rqt'(需要先打开摄像头驱动节点):
如果打开rqt之后,没有image_view,可以手动添加:在窗口上,Plugins -> Visualization -> Image View即可添加成功。如果想切换不同topic查看,可以在/camera/rgb/image/raw那个窗口进行不同图像的切换。
查看图片的第三种方法,在终端打开image_viewer(需要先打开摄像头驱动节点):
rosrun image_view image_view image:=/camera/rgb/image_raw
rosrun image_view image_view image:=/camera/depth/image_raw
若RGB图像和深度图像都可以正常显示,则深度摄像头工作正常,接下来进行相关的视觉小实验。
2 RGBD建图实验
在雷达建图章节建图时我们使用激光雷达扫描周围环境,提供距离数据从而生成地图。除了使用激光雷达进行建图,我们也可以使用深度摄像头模拟激光雷达进行建图。
- 使用深度摄像头建图和使用激光雷达进行建图的过程基本相同,只是将打开激光雷达节点更换为打开深度摄像头虚拟激光节点。
- 深度摄像头虚拟激光扫描的角度相对较窄,深度摄像头一般在57°左右,而一般的激光雷达的扫描范围能达到240°甚至更大。
关闭之前打开全部终端,打开新的终端,运行命令如下:
运行机器人rgb建图节点:
roslaunch handsfree_vision fake_laser.launch
终端会打开底盘控制驱动、摄像头、建图节点以及键盘控制节点
利用键盘控制遥控机器人建图。
保存地图
先切换到想要保存地图的文件夹(建议保存在handsfree_2dnslam/map中)
roscd handsfree_2dslam/map/
然后运行保存地图的节点:
rosrun map_server map_saver -f my_rgbd_map
-f 后面跟的是地图保存的名字。