小强ROS机器人教程(10)_使用kinect进行自主移动避障
本教程适用于2016年9月20号之后购买且带kinect版的用户,对于其它用户,请联系、咨询技术支持
先看最后效果图, 演示视频
原理
freenct_stack
包提供kinect驱动,其发布的点云通过image_pipeline
转换成障碍物栅格分布图。nav_test
软件包启动底盘导航程序后会自动处理分析障碍物分布图,之后根据rivz发布的目标导航点自主移动。
操作步骤
注意在插入kinect的时候先插入在小强主机上插入kinect usb接口。等待kinect灯亮再插入kinect供电口。否则可能会烧毁主机和kinect
在第一个机器人命令行窗口启动kinect驱动
对于kinect一代
roslaunch freenect_launch kinect-xyz.launch
对于kinect二代
roslaunch kinect2_bridge kinect2-xyz.launch
对于奥比中光astrapro
roslaunch astra_launch astrapro.launch
对于intel RealDense D400系列
roslaunch realsense2_camera rs_camera_xiaoqiang.launch
在第二个机器人命令行窗口设置kinect俯仰角,这个角度不是任意的
对于kinect一代
rostopic pub /set_tilt_degree std_msgs/Int16 '{data: -19}' -1
对于kinect二代
因为kinect二代没有俯仰角电机,因此请手动把kinect掰到最大俯角位置
对于奥比中光astrapro
因为astrapro没有俯仰角电机,因此请手动把astrapro掰到最大俯角位置
对于intel RealDense D400系列
因为RealDense D400系列没有俯仰角电机,配带的支架已经预设好角度,因此不用任何操作。
在第三个机器人命令行窗口启动底盘导航程序
roslaunch nav_test fake_move_base_blank_map.launch
全部正常,会出现类似下图的界面。
在第四个机器人命令行窗户启动rviz
rviz
点击rviz界面左上角的open config,选择小车主机上的/home/xiaoqiang/Documents/ros/src/nav_test/config/nav_addwa_kinect.rviz配置文件
正常的话,现在rviz中将出现类似下图的画面,现在所有配置都已经完成,开始发布导航目标点
任意发布一个目标点,小车会开始自主移动
小车到达目标点,请继续尝试其它位置,本教程结束
请将kinect数据线插入小车主机蓝色usb3.0端口,才能保证驱动的正常工作。型号为1473的kinect用户请先看教程(9)中的准备办法,在成功发布角度之后(kinect低头)需要关闭这个角度发布命令,不关闭会导致kinect深度点云数据没有输出。
如果小强一直后退,rviz中可以看到小车前面有一块黑色区域,黑色区域一直跟随小车移动。这种情况说明kinect安装或者kienct低头角度没有到位,请检查kinect安装支架、去除kienct贴膜后重新执行教程中的指令
注意此处避障时的建图由于没有使用map_server,所以并不能保存出来。如果想要建立地图需要用其他的算法。