机器人避障规划算法(五)避障算法

 
  • 根据获得的实时传感器测量信息,调整路径,避免发生碰撞

  • 主要方法

    • Bug算法
    • 人工势场法
    • 向量场直方图法
    • 动态窗口法

Bug算法

基本思想

让机器人朝着目标前进,当路径上出现障碍时,让机器人绕着障碍物的轮廓移动,然后绕离它,继续驶向目标

Bug1

  • 机器人沿着障碍物做完整绕行,找出障碍物上最靠近目标点的点,为离开点。再次绕行到该点,从该点离开障碍物。沿直线向目标点移动
  • 如果离开点到目标的直线与当前障碍物相交,则不存在到达目标的路径
  • 优点:可确保机器人到达任意目标
  • 缺点:计算效率低

Bug2

  • 根据起始点和终止点定义路径L
  • 当遇到障碍物时,进入障碍物轮廓跟踪模式
  • 当到达L上一个接近目标点的位置时,如果该位置比碰到障碍物时的位置更接近目标点,则继续沿着L移向目标点,否则继续绕行
  • 如果在跟踪模式下再次到达进入障碍物轮廓跟踪模式的点,则可以判断不存在到达目标点的路径
  • 优点:具有较短的移动路径
  • 贪婪搜索,某些情况下移动低效

向量势直方图(VFH)

  • 基本思想:根据环境详细栅格地图构建机器人坐标系下障碍物概率直方图,根据概率直方图评估最优运动方向

以机器人当前位置为中心,构建栅格地图(Active Window),对Active Window中的单元,根据实时传感器的检测信息建立障碍物的可信度概率,评估机器人每个方向上障碍物的密度,构成直方图,选择小于threshold的通道进行规划。

流程

  • 构建并维护机器人周围环境的局部栅格地图
  • 为每个栅格计算其障碍物向量,距离机器人越近向量越大
  • 转换为极坐标下的障碍物概率直方图
  • 根据直方图,识别所有可以让机器人通过的通道。对每个通道计算成本,选择最低成本通道,得到导航方向。

成本计算:

- target direction:路径与目标之间的对齐量
- wheel orientation:新方向和当前机器人方向的差异量  避免机器人大幅转弯
- Previous direction:原来选择方向和新方向之间的差异量  避免机器人扭来扭去
- 通过a,b,c进行权重调节

动态窗口法(DWA)

  • 基本思想:在速度空间中搜索适当的平移速度和旋转速度指令(v,w)
    • 从几何空间搜索转化为速度空间搜索

流程

  • 基于速度控制运动模型,构建可行的速度空间
  • 考虑到机器人在运动过程中最大加速度的约束,在当前速度配置处以固定的小时间间隔开一个速度窗口空间

  • 结合机器人速度约束,获得可行的速度空间

  • 在可行速度空间中选择最优的速度控制指令

特点

  • 存在问题
    • 根据单步信息数据计算期望速度,在评估选择速度时不考虑速度和路径平滑,容易导致机器人运动存在震动和轨迹扭动问题
    • 参数较多,难以适应各自情况