织梦网站被挂马怎么处理,一流的天津网站建设,linux是哪个公司开发的,松岗做网站公司欢迎大家关注我的B站#xff1a;
偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)
目录
1.基于圆覆盖
2.BVH
3.MATLAB自动驾驶工具箱
4 ROS内置的模型 自动驾驶轨迹规划之碰撞检测#xff08;一#xff09;-CSDN博客
自动驾…欢迎大家关注我的B站
偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)
目录
1.基于圆覆盖
2.BVH
3.MATLAB自动驾驶工具箱
4 ROS内置的模型 自动驾驶轨迹规划之碰撞检测一-CSDN博客
自动驾驶轨迹规划之碰撞检测二-CSDN博客
大家可以先阅读前两篇关于碰撞检测算法的介绍
1.基于圆覆盖
圆的性质是圆心到圆周各点等距这非常适合碰撞检测如果两个物体能近似为圆那么两个物体之间是否碰撞则可以利用两个圆心之间的距离是否大于半径之和就可以判断但是大部分物体若用圆去近似将产生较大的冗余部分因此针对汽车一篇2010年的IEEE IV提出通过多个圆去覆盖车辆这个方法极大地提高了自动驾驶汽车碰撞检测的计算速度也是现在广泛使用的方法 但是这个方法仍旧会产生冗余并且改变覆盖圆的个数难以解决这个问题因为横向和纵向上的冗余是此消彼长的关系并且我个人认为汽车最容易发生碰撞的位置其实是汽车的四个角落但是这种方法在那个地方没有安全距离如果在圆的半径上补充安全距离会导致其他地方的冗余距离更大因此这个方法对于非常狭窄的空间还是不适用的 2.BVH
BVH为层次包围盒通过递归地形式将碰撞检测的任务分解当大包围盒之间有碰撞则检测子包围盒之间有没有碰撞这能够同时提升碰撞检测的精度和速度但是基于BVH的碰撞检测取决于待检测物体的形状每个基元都应该预先计算并存储在阵列中。 BVH的一个较好应用可以看这个视频这篇论文实现了同时提升自动驾驶汽车碰撞检测的精度和速度能够良好地应用于狭窄的自主泊车中 ITSC2023 | 碰撞检测 | 一种在狭窄空间内自动驾驶汽车自主泊车时的快速准确的碰撞检测方法 3.MATLAB自动驾驶工具箱
在MATLAB中也实现了基于圆覆盖的碰撞检测算法同时碰撞检测通过栅格地图实现详细内容可以参考官方给出的自动驾驶工具箱的相关文档
Costmap representing planning space around vehicle - MATLAB - MathWorks 中国 4 ROS内置的模型
对于ROS中的碰撞检测很多参加智能车或电赛的同学可能比较熟悉但其实也存在不少误区有时候不是调参调不出来而是没有真正理解这些参数的意义
robot_radius设置机器人的半径单位是米。如果你的机器人不是圆形的那就需要使用footprint这个参数该参数是一个列表其中的每一个坐标代表机器人上的一点设置机器人的中心为[0,0]根据机器人不同的形状找到机器人各凸出的坐标点即可具体可参考下图来设置 inflation_layer:膨胀层用于在障碍物外标记一层危险区域在路径规划时需要避开该危险区域
当你选用了footprint那么膨胀层就没有意义了因为只有你是圆形的障碍物才能进行有意义的闵可夫斯基和运算同时footprint是利用多边形计算代价在耗算力如果为了节省算力可以用圆冗余的部分当做缓冲就行如果你发现怎么调膨胀距离都会碰因为膨胀层仅在圆形时有效因此为了使用有安全距离的footprint必须直接扩大footprint
通过下图来认识下为何要设置膨胀层以及意义
虽然我提到footprint情况下膨胀层没用但是对于全局路径规划ROS中默认机器人为质点这时候膨胀层非常有用假如你全局路径规划贴边走那么对于实际机器人完全是碰撞的这时候就需要膨胀障碍物了