SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——5.机器人巡航与现场监控...

SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——5.机器人巡航与现场监控

摘要                                            

通过前面的基础学习,本章进入最为激动的机器人自主导航的学习。在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命。本章将围绕机器人SLAM建图、导航避障、巡航、监控等内容展开。本章内容:

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控


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视频监控周围环境

后记                                                      

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加QQ技术交流群(117698356

参考文献

[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

QQ技术讨论群:117698356

### 实现SLAM导航技术的方法 对于希望理解和实现同步定位(SLAM)导航系统的开发者而言,存在多种方法和技术可供选择。一种常见的途径是基于形的SLAM路径规划动态窗口法[^1]。这种方法利用机器人感知到的信息来构环境的地并估计自身的位姿。 在实际应用中,ROS(Robot Operating System)是一个非常受欢迎的选择用于开发自主导航系统。它提供了丰富的工具包和支持库,可以方便地集成Kinect传感器获取深度像以及Arduino微控制器处理硬件接口,并通过Android设备作为人机交互界面[^2]。这样的组合能够帮助快速搭起具备基本功能的移动平台来进行实验研究工作。 为了提高计算效率,在线性函数近似的基础上采用强化学习算法如LSPI(Least-Squares Policy Iteration),可以在多智能体环境中有效地解决大规模MDP(Markov Decision Process)问题的同时完成实时性的SLAM任务[^3]。 另外值得注意的是,针对现有系统中存在的地不足和跟踪失败等问题,有研究表明可以通过引入额外的关键帧立局部全景视,并寻找这些新加入的数据点其他已知位置之间的联系从而增强整体性能表现[^4]。 ```python import rospy from nav_msgs.msg import Odometry from sensor_msgs.msg import LaserScan from geometry_msgs.msg import Twist def scan_callback(msg): # 处理激光雷达数据 pass def odom_callback(msg): # 更新机器人的当前位置信息 pass rospy.init_node('slam_navigation') sub_scan = rospy.Subscriber('/scan', LaserScan, scan_callback) sub_odom = rospy.Subscriber('/odom', Odometry, odom_callback) pub_cmd_vel = rospy.Publisher('/cmd_vel', Twist, queue_size=10) rate = rospy.Rate(10) while not rospy.is_shutdown(): cmd = Twist() pub_cmd_vel.publish(cmd) rate.sleep() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值