【自动驾驶轨迹规划之碰撞检测(三)】

本文探讨自动驾驶轨迹规划中的碰撞检测,包括MATLAB自动驾驶工具箱中的圆覆盖算法和ROS内置模型的解析。介绍了MATLAB中基于栅格地图的碰撞检测以及ROS的robot_radius和footprint参数,强调了膨胀层在不同情况下的应用和重要性。
摘要由CSDN通过智能技术生成

欢迎大家关注我的B站:

偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)

目录

1.MATLAB自动驾驶工具箱 

2 ROS内置的模型


自动驾驶轨迹规划之碰撞检测(一)-CSDN博客

自动驾驶轨迹规划之碰撞检测(二)-CSDN博客

大家可以先阅读前两篇关于碰撞检测算法的介绍 

1.MATLAB自动驾驶工具箱 

在MATLAB中也实现了基于圆覆盖的碰撞检测算法,同时碰撞检测通过栅格地图实现,详细内容可以参考官方给出的自动驾驶工具箱的相关文档

Costmap representing planning space around vehicle - MATLAB - MathWorks 中国

2.ROS内置的模型

对于ROS中的碰撞检测,很多参加智能车或电赛的同学可能比较熟悉,但其实也存在不少误区,有时候不是调参调不出来,而是没有真正理解这些参数的意义

robot_radius:设置机器人的半径,单位是米。如果你的机器人不是圆形的那就需要使用footprint这个参数,该参数是一个列表,其中的每一个坐标代表机器人上的一点,设置机器人的中心为[0,0],根据机器人不同的形状,找到机器人各凸出的坐标点即可,具体可参考下图来设置:

inflation_layer:膨胀层,用于在障碍物外标记一层危险区域,在路径规划时需要避开该危险区域

  • 当你选用了footprint,那么膨胀层就没有意义了,因为只有你是圆形的,障碍物才能进行有意义的闵可夫斯基和运算
  • 同时footprint是利用多边形计算代价,在耗算力,如果为了节省算力,可以用圆,冗余的部分当做缓冲就行
  • 如果你发现怎么调膨胀距离都会碰,因为膨胀层仅在圆形时有效,因此为了使用有安全距离的footprint,必须直接扩大footprint

通过下图来认识下为何要设置膨胀层以及意义:

虽然我提到footprint情况下膨胀层没用,但是对于全局路径规划,ROS中默认机器人为质点,这时候膨胀层非常有用,假如你全局路径规划贴边走,那么对于实际机器人完全是碰撞的,这时候就需要膨胀障碍物了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无意2121

创作不易,多多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值