• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现

人工智能 RedGlass 1773次浏览 0个评论

多机器人协同编队需要将理论和实践紧密地结合起来,其应用包括编队队形生成、保持、变换和路径规划与避障等等都是基于图论的理论基础完成的。   详细请参考《ROS及SLAM进阶教程(八)多机器人协同编队算法原理及实现》   自主避障功能是机器人编队在各种环境中保持自身安全的重要功能,在编队的基础上加入避障的功能,机器人可扫描到一定范围内的障碍物(包括其他机器人),在即将与之发生冲突时提前规避冲突,以保证自身的安全性,同时需要在避障的同时尽可能地保持队形,选择最优的避障路线以使障碍物对编队稳定性的影响降至最低。  

避障算法原理

机器人在实际运动过程中,会借助自身传感器(如激光雷达)对周围环境进行扫描检测,如下图所示
多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现   假设在k时刻机器人可扫描到一定范围内的障碍物坐标x_{obs}(包括其他机器人),障碍物会对机器人jj的速度产生一个斥力影响RR,RR满足:
多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现   其中M为障碍物个数,α=\frac{\frac{1}{d_j(k)}-\frac{1}{d_M}}{\delta⋅d},d_j(k)=\Vert x_Rx_j(k) \Vertd_M为探测距离,\delta为一常数,在此时刻避障响应R(k)R(k)会对机器人的速度控制产生一个影响,此时编队中领航者控制模型如下:
多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现   其中\delta为一常数,而跟随者的控制算法为:
多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现   这个影响使得机器人在最大限度保持原有编队的基础上能够有效躲避障碍物,并且会随着障碍物距离的变近而变大,从而保证机器人的安全。  

避障算法仿真

在前文编队一致性算法的仿真上《ROS及SLAM进阶教程(八)多机器人协同编队算法原理及实现》加入上述避障算法,在编队的任务路径上设置障碍物,使障碍物干扰机器人的正常任务,观察机器人编队的运动结果,目的是使编队在躲避障碍物的同时尽可能保持编队稳定性。   MATLAB仿真结果如下所示:  
多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现   从上图可以看出,障碍物(即图中叉号所在)对编队产生了影响,可以看出编队在安全范围内检测到了障碍物后进行避障运算躲开了障碍物,但很快又恢复稳定,编队能继续保持稳定地执行任务。这种避障方法对于编队协同算法的效果受其实时恢复的影响。  

MATLAB仿真源码详见:https://download.csdn.net/download/qq_33742147/12324866 ROS下python源码详见: https://github.com/redglassli/Ros-Formation-and-Obstacle-Avoidancehttps://github.com/redglassli/Ros-Formation-and-Obstacle-Avoidance

  以上是关于多机器协同编队的人工势场法算法原理讲解。 码字不易,喜欢的话请点赞收藏关注哦,您的支持是博主最大的动力。   本文转载自CSDN,原文链接:https://blog.csdn.net/qq_33742147/article/details/106249387


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明多机器人编队(一)多机器人编队人工势场法协同避障算法原理及实现
喜欢 (0)

您必须 登录 才能发表评论!

加载中……