6

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

 2 years ago
source link: https://mronne.github.io/2020/03/27/%E6%9C%BA%E5%99%A8%E4%BA%BA%E8%B7%AF%E5%BE%84%E8%A7%84%E5%88%92%E7%AE%97%E6%B3%95-%E4%BA%94-%E9%81%BF%E9%9A%9C%E7%AE%97%E6%B3%95.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
  • 根据获得的实时传感器测量信息,调整路径,避免发生碰撞

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

Bug算法

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

  • 机器人沿着障碍物做完整绕行,找出障碍物上最靠近目标点的点,为离开点。再次绕行到该点,从该点离开障碍物。沿直线向目标点移动
  • 如果离开点到目标的直线与当前障碍物相交,则不存在到达目标的路径
20200326204918.png
  • 优点:可确保机器人到达任意目标
  • 缺点:计算效率低
  • 根据起始点和终止点定义路径L
  • 当遇到障碍物时,进入障碍物轮廓跟踪模式
  • 当到达L上一个接近目标点的位置时,如果该位置比碰到障碍物时的位置更接近目标点,则继续沿着L移向目标点,否则继续绕行
20200326210207.jpg
  • 如果在跟踪模式下再次到达进入障碍物轮廓跟踪模式的点,则可以判断不存在到达目标点的路径
20200326210408.png
  • 优点:具有较短的移动路径
  • 贪婪搜索,某些情况下移动低效

向量势直方图(VFH)

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

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

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

成本计算:

G=a⋅targetdirection+b⋅ wheel orientation + c⋅ previous_direction(1)(1)G=a⋅targetdirection+b⋅ wheel orientation + c⋅ previous_direction

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

动态窗口法(DWA)

  • 基本思想:在速度空间中搜索适当的平移速度和旋转速度指令(v,w)
    • 从几何空间搜索转化为速度空间搜索
  • 基于速度控制运动模型,构建可行的速度空间
20200327111239.png
20200327111546.png
  • 考虑到机器人在运动过程中最大加速度的约束,在当前速度配置处以固定的小时间间隔开一个速度窗口空间

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

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

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK