Skip to content

Latest commit

 

History

History
86 lines (79 loc) · 4.63 KB

115.md

File metadata and controls

86 lines (79 loc) · 4.63 KB

小强ROS机器人教程(10)___使用kinect进行自主移动避障

sorry:本教程适用于2016年9月20号之后购买且带kinect版的用户,对于其它用户,请联系、咨询技术支持

先看最后效果图,点击观看演示视频 0_1477461935895_6.png

原理:

freenct_stack包提供kinect驱动,其发布的点云通过image_pipeline转换成障碍物栅格分布图。nav_test软件包启动底盘导航程序后会自动处理分析障碍物分布图,之后根据rivz发布的目标导航点自主移动。

操作步骤:

1.配置小车主机和本地虚拟机的hosts文件,使两者能互相访问对应的ros数据

1.a 配置本地虚拟机
sudo gedit /etc/hosts

将下图中的ip地址换成小车实际数值 0_1477463825729_2.PNG

1.b 配置小车主机
# 局域网ssh登入小车主机
ssh [email protected] -X
sudo gedit /etc/hosts

将下图中的ip地址换成本地虚拟机实际数值,主机名称改为虚拟机名称 0_1477463790362_1.PNG

2.在本地虚拟机中新开3个窗口,分别ssh登入小车,启动原理部分提及的相关软件包

2.a ssh登入

0_1477464185283_3.PNG

2.b 在第一个窗口启动kinect驱动

对于kinect一代

roslaunch freenect_launch kinect-xyz.launch

对于kinect二代

roslaunch kinect2_bridge kinect2-xyz.launch

对于奥比中光astrapro

roslaunch astra_launch astrapro.launch
2.c 在第二个窗口设置kinect俯仰角,这个角度不是任意的

对于kinect一代

rostopic pub /set_tilt_degree std_msgs/Int16 '{data: -19}' -1

对于kinect二代

因为kinect二代没有俯仰角电机,因此请手动把kinect掰到最大俯角位置

对于奥比中光astrapro

因为astrapro没有俯仰角电机,因此请手动把astrapro掰到最大俯角位置
2.d 编辑底盘导航程序配置文件/home/xiaoqiang/Documents/ros/src/nav_test/config/fake/base_local_planner_params2.yaml ,使能kinect

0_1477465423181_8.PNG

2.e 在第三个窗口启动底盘导航程序
roslaunch nav_test fake_move_base_blank_map.launch 
2.f 全部正常,会出现类似下图的界面,到此小车端配置启动完成

0_1477464735127_4.PNG

3.在本地虚拟机中新开1个窗口,用来启动rviz

3.a 加入ros局域网后,打开rviz
export ROS_MASTER_URI=http://xiaoqiang-desktop:11311
rviz

注意如果小强的模型无法显示,要在本地安装小强的模型包 xiaoqiang_udrf 0_1477464940348_5.PNG

3.b 点击rviz界面左上角的open config,选择小车主机上的/home/xiaoqiang/Documents/ros/src/nav_test/config/nav_addwa_kinect.rviz配置文件

0_1477465271618_6.PNG

3.c 正常的话,现在rviz中将出现类似下图的画面,现在所有配置都已经完成,开始发布导航目标点

0_1477465971588_1.png

3.d 任意发布一个目标点,小车会开始自主移动

0_1477466042343_2.png

3.e 小车到达目标点,请继续尝试其它位置,本教程结束

0_1477466074277_3.png

请将kinect数据线插入小车主机蓝色usb3.0端口,才能保证驱动的正常工作。型号为1473的kinect用户请先看教程(9)中的准备办法,在成功发布角度之后(kinect低头)需要关闭这个角度发布命令,不关闭会导致kinect深度点云数据没有输出。

如果小强一直后退,rviz中可以看到小车前面有一块黑色区域,黑色区域一直跟随小车移动。这种情况说明kinect安装或者kienct低头角度没有到位,请检查kinect安装支架、去除kienct贴膜后重新执行教程中的指令

下篇教程