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

欢迎大家关注我的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后,还需要应用分离轴定理 进行碰撞检测,分离轴定理的意思就是,对于两个凸多边形,若存在一条直线将两者分开,则这两个多边形不相交

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

相关推荐
Jasmine_llq1 天前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
小棠师姐1 天前
支持向量机(SVM)入门:超平面与核函数的通俗解释
算法·python机器学习·支持向量机svm·超平面可视化·核函数应用
im_AMBER1 天前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
今儿敲了吗1 天前
01|多项式输出
c++·笔记·算法
Xの哲學1 天前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
AlenTech1 天前
200. 岛屿数量 - 力扣(LeetCode)
算法·leetcode·职场和发展
C雨后彩虹1 天前
竖直四子棋
java·数据结构·算法·华为·面试
REDcker1 天前
RTCP 刀尖点跟随技术详解
c++·机器人·操作系统·嵌入式·c·数控·机床
不如自挂东南吱1 天前
空间相关性 和 怎么捕捉空间相关性
人工智能·深度学习·算法·机器学习·时序数据库
洛生&1 天前
Elevator Rides
算法