最优互补避碰ORCA算法
建议参考资料
ORCA-有关机器人群碰撞避免算法解读(柳朦朦)
导航动态避让算法RVO的优化ORCA(Optimal Reciprocal Collision Avoidance)-漫漫之间n
Reciprocal n-body Collision Avoidance英文PDF
避障算法-VO、RVO 以及 ORCA(RVO2)
问题引出
N个智能体要到达N个目标位置,如何在不发生碰撞的前提下,安全抵达目的地。
理解
首先机器人要符合固定规则:
比如:圆蝶形
每个机器人自身属性可以分为内部属性和外部属性
内部属性包括机器人自身可以达到的最大速度vmax和机器人的偏好速度vpref,外部属性为机器人的位置坐标、机器人的半径和机器人的实际速度。
机器人不具备和其他机器人通信的能力。也就是说每个机器人只能通过外部观察获得其他机器人的外部属性,而无法通过通信的方式获取机器人的内部属性。
限定机器人的运动空间为二维空间。
主要解决的问题:
在时间间隔τ之内不与其他机器人或者障碍物相撞。
VO
VO 其实本身并不能算是一种算法,他只是一种解决避障问题的思路,而后续的 RVO 以及 ORCA 其实都是基于这个设定。
将A抽象成一个点,同时将B的半径增加RA
理论上当 A 和 B 的相对速度选择红色三角以外的点,即可安全错开。
名词解释
机器人的偏好速度vpref :即是指机器人尽力要去达到的速度,比如指向目标点的速度。机器人在一定的选择范围内,如果能选择偏好速度作为其更新速度,则选择偏好速度;如果不能选择偏好速度,则在此范围中选择最接近偏好速度的速度作为其更新速度。
相关搜索
VO避障
RVO:实时多智能体导航的交互速度避障
延伸
ROS学习笔记-局部路径规划算法对比