目录
写在前面
在进行实机操作之前,请务必认真阅读机器人上的指导书,最好一字不落的看完,其中包含了很多重要信息,比如接口信息、电池状态等,这些都是不容易注意到但是又很容易出问题的地方。(因为我在操作的时候就接错过接口,长时间电池亏电工作过)。
整体说明
本篇文章以指导书为基础进行拓展及一些注意事项的阐述,指导书上提到的将不会过多阐述。
一、机器使用前置工作
1.机器组装及接线连接
整体由以下三部分组成:(图1、图2、图3)




图1为底盘、雷达及摄像头等(雷达在此图中无显示),图2为机械臂及滑动机构,图3为配备的笔记本电脑(已装好ubuntu系统),安装较为简单,四个特制螺丝即可搞定。(注意电脑安装在左一图的杆件上时,要调整好电脑安装板所在的位置,使安装板在对准且拧好螺丝后不会松动,如图4)。
接线时,由于摄像头要求的传输速度较快,因此要接USB3.0口或雷电口,下图中从左到右第二条线所接的接口为雷电口,第三条线所接的接口为USB3.0口,这两个口均可。(摄像头USB接口处为蓝色,可作为区分的方法)
另外,接线时,插口内的正负极不能接反,连接底座以及音响(具体忘了哪根了)的线接口内部有显著的突起与对应的凹陷,两者对应即为正确接法。 如下图所示
如接线错误,可能会报以下错误:
安装好之后如下图所示
2.电源工作状态
按下电源开关,并打开悬停开关后,底座上的小屏幕会显示机器人姿态信息以及电源状态,电源在24.1V-29.4V的时候为有电状态,低于24V为亏电状态。
二、程序运行过程中可能出现的错误及注意事项
1.catkin_make出现问题(1)
我们在编写×××_node.cpp时均是从指导书上CV下来的(同学是这样的),很有可能会出现换行以及多空格等错误,在catkin_make时如果有这个错误会给提示信息,按照终端给出的提示信息进行修改即可。
2.catkin_make出现问题(2)
自己在输入代码时,多输入或者少输入了一些字母……
比如如下图所示在创建工作空间时,少输入了vel_pkg,导致创建了名为roscpp的工作空间,而roscpp本身是作为依赖项出现的,因此在后面编译的时候出现了循环编译的问题。
再比如下图,有同学将sensor_msgs依赖包写成了senor_msds,我当时看见之后就惊了,心想哪有senor_msds这个依赖啊,但是当时又不太清楚,按照网上的方法sudo apt-get install ros-melodic-senor-msds,结果还是不对,最后才知道是因为代码输错了。。。
3. 导航航点设置错误
航点不能设置在障碍物上或者离障碍物特别近,否则机器人将无法正确规划出路径,会出现原地打转的情况,原理大概如下图所示
详细内容在刘相权老师和张万杰老师编写的移动机器人操作系统(ROS)及其应用中,此处不再赘述。
4.操作/比赛前注意事项
操作前重要提示:
1.电脑和底盘要保持有电状态;24.1-29.4V为正常输出状态,但是24V需要充电了。
2.检查接线,摄像头接口是否接在雷电口或者USB3.0处,如果不是,请及时调整。
3.任务完成后先拍急停,再把终端关掉,切记,终端一定要关!!!
4.机器人执行命令过程中,操作者务必做到眼不离机器,出现问题立即拍急停;
5.相机的俯仰角参数设置在catkin_ws 源码目录下的 wpb_home_bringup/config/wpb_home.yaml 文件里。
6.编译的代码为cd catkin_ws/和catkin_make
7.记得提前联网,语音服务需要联网
以下实现识别和物品抓取功能的步骤仅供参考
一、相机俯仰角参数调整及物品抓取参数调整
相机俯仰角参数调整
roslaunch wpb_home_bringup kinect_test.launch
调整好之后在catkin_ws 源码目录下的 wpb_home_bringup/config/wpb_home.yaml 文件里修改对应的 kinect_height和kinect_pitch参数,并保存。
物品抓取参数调整
roslaunch wpb_home_behaviors obj_3d.launch
rosrun grab_pkg grab_node
观察机械爪的抓取情况,并在catkin_ws源码目录下的 wpb_home_bringup/config/wpb_home.yaml 文件里修改对应的参数,并保存。之后编译运行。一般机械爪张开角度为瓶子直径-3/4毫米即可。
二、SLAM建图
采用gmapping进行建图:
roslaunch wpb_home_tutorials gmapping.launch
rosrun map_server map_saver -f map
打开文件管理器。将“主文件目录”里的“map.pgm”和“map.yaml”两个文件都拷贝到“主文件目录”下的工作目录“catkin_ws/src/wpb_home/wpb_home_tutorials/maps”里。
三、利用maptools插件设置航点
通过如下的脚本方案给地图添加航点:
roslaunch waterplus_map_tools add_waypoint.launch
rosrun waterplus_map_tools wp_saver
打开文件管理器,修改“主文件目录”里的“waypoints.xml”为你需要的名字。入口为”entrance”,出口为”exit”,A点为”goal A”,B点为”goal B”,C点为”goal C”,垃圾桶1为”garbage 1”,垃圾桶二为”garbage 2”
四、最终代码运行
roslaunch wpb_home_apps innovation.launch
5.src里一定不可删除的文件夹
以上图片内的文件夹存有核心文件,如在编译出现问题迫不得已需要删除代码时,切记一定不能删除以上文件夹!一定不能删除以上文件夹!!一定不能删除以上文件夹!!!
写在最后
据作者了解,本机器人在物品识别和抓取方面还有一定问题,例如识别准确度不是特别高,抓取时会碰到桌子等,这些问题需要通过研究以及改代码才能解决。最后祝看这篇文章的你跑代码的过程顺利,比赛顺利!