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

欢迎大家关注我的B站:

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

目录

1.碰撞检测的意义

2.安全走廊

[3 计算几何](#3 计算几何)

[4 AABB与OBB](#4 AABB与OBB)


1.碰撞检测的意义

对于自动驾驶汽车或机器人的路径规划,碰撞检测是其中非常重要的一个模块,因为碰撞检测不仅仍然是路径规划中的主要计算负担,而且还会影响与路径规划安全相关的准确性,这是两个难以平衡的关键指标。同时随着感知技术误差数量级越来越小,对于碰撞检测算法的实时性和准确性要求也就更高了。

下文将详细介绍碰撞检测中的各类算法

2.安全走廊

Optimization-Based Trajectory Planning for Autonomous Parking With Irregularly Placed Obstacles: A Lightweight Iterative Framework | IEEE Journals & Magazine | IEEE Xplore

安全走廊基本就是自如其名,想要自动驾驶汽车与障碍物不撞,我们就可以把汽车或机器人限制在安全走廊内 ,这个走廊不与障碍物相交,那么在走廊中的汽车或机器人就是绝对安全的。这将可能出现的非凸问题转化为凸问题,更好解决。

同时这还有几个问题需要思考,如何生成安全走廊,以及安全走廊有什么特点。下面这张图就是生成安全走廊的过程,通过路径点向四个方向去迭代扩展最终找到合适的安全走廊。

其实这个安全走廊的概念最先是在无人机中应用的,无人机广泛应用三维的安全走廊

但安全走廊法显然是保守的,准确性不够,难以应用在高度受限的环境中。

3 计算几何

自动驾驶碰撞检测问题可以抽象矩形与凸多边形(障碍物大多为凸多边形)之间是否相交

当对于两个凸边形是否相交,又可以转换为是否凸边形的每个顶点都在另一个凸边形之外,那么判断一个点是否在凸边形之外的计算几何算法就有很多,比如面积比较法等等

当一个点在凸多边形内部,则点与凸多边形某两相邻点组成的所有三角形面积之和为凸多边形的面积,当一个点在凸多边形外部,显然面积和大于凸多边形的面积

4 AABB与OBB

这种方法是游戏中或物理引擎中常用的,AABB是指一个东西的包围盒,但是它横平竖直的,而OBB是会随着这个东西而旋转,包围盒始终不变,显然AABB相对保守但是后续计算简单,OBB更精确但是后续计算复杂

同时,通过将车辆近似于AABB或OBB后,还需要应用分离轴定理 进行碰撞检测,分离轴定理的意思就是,对于两个凸多边形,若存在一条直线将两者分开,则这两个多边形不相交

但是遍历所有的直线显然是不可行,因此经过分析,可以得出:受益于多边形的性质,对于两个都是多边形的物体,只需要依次在每条边的垂直线做投影即可

相关推荐
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
风合星语3 天前
2026 具身智能技术实战(一):VLA 到底怎么控制机器人?——用 LeRobot 跑通 SmolVLA 推理
pytorch·机器人·具身智能·vla·lerobot·smolvla
鲁邦通物联网3 天前
图书馆机器人跨楼层运行,机器人梯控低噪设计与架构分析
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark3 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集
码流子3 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven3 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法