通过前面的基础学习,本章进入最为激动的机器人自主导航的学习。在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命。本章将围绕机器人SLAM建图、导航避障、巡航、监控等内容展开。本章内容:
- 在机器人上使用传感器
- google-cartographer机器人SLAM建图
- ros-navigation机器人自主避障导航
- 多目标点导航及任务调度
- 机器人巡航与现场监控
5.机器人巡航与现场监控
机器人在实际生产生活中能给人类带来很大的帮助,比如一款能巡视和现场监控的机器人。商场、机场、家里等需要监控和安保的场景,拍一个机器人去是再合适不过的了。结合前面所学的知识,我们可以让miiboo机器人执行巡视与现场监控的任务。这里介绍两种工作方式:手动遥控式现场监控、自动巡航式现场监控。
5.1.手动遥控式现场监控
首先,启动机器人上所有传感器,这样机器人上的摄像头就可以将图像发布到ROS中,供远程订阅和显示。打开终端,通过下面的命令直接启动就行了。
source ~/catkin_ws/devel/setup.bash
roslaunch miiboo_bringup miiboo_all_sensor.launch
然后,启动导航所需各个节点,这样就可以实时查看机器人所在的具体位置。打开终端,通过下面的命令直接启动就行了。
source ~/catkin_ws_nav/devel/setup.bash
roslaunch miiboo_nav miiboo_nav.launch
最后,在Android手机端用miiboo机器人APP控制机器人运动和视频监控周围环境,如图54。
(图54)miiboo机器人APP控制机器人运动和视频监控周围环境
5.2.自动巡航式现场监控
与手动遥控式现场监控的区别是,自动巡航式现场监控不需要人员值守和遥控机器人运动。机器人能根据设定的巡逻路线巡航并实时回传视频监控,结合人脸识别、事件识别等人工智能及视频分析算法,可以对异常事件进行自动的监控。 首先,启动机器人上所有传感器,这样机器人上的摄像头就可以将图像发布到ROS中,供远程订阅和显示。打开终端,通过下面的命令直接启动就行了。
source ~/catkin_ws/devel/setup.bash
roslaunch miiboo_bringup miiboo_all_sensor.launch
然后,启动导航所需各个节点,这样就可以实时查看机器人所在的具体位置。打开终端,通过下面的命令直接启动就行了。
source ~/catkin_ws_nav/devel/setup.bash
roslaunch miiboo_nav miiboo_nav.launch
接下来,设定好巡逻路线后,启动多目标点巡航节点,打开终端,通过下面的命令直接启动就行了。
source ~/catkin_ws_apps/devel/setup.bash
roslaunch patrol patrol.launch
最后,在Android手机端用miiboo机器人APP视频监控周围环境,或者将订阅的视频放入人工智能及视频分析算法,如图55。
(图55)miiboo机器人APP视频监控周围环境