1.轨迹优化-港科大无人车
2021/6/28 6:21:21
本文主要是介绍1.轨迹优化-港科大无人车,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
论文:Safe Trajectory Generation for Complex Urban Environments Using Spatio-temporal Semantic Corridor
看过的几篇关于无人车的轨迹优化,都是通过建立优化问题,是非线性规划问题,通过IPM求解器IPopt来求解,
所以意味只要是无人车,就不能像无人机那样,形成二次规划问题,通过凸优化求解器来求解,看来是理解错了,
本文就是无人车,最终形成的命题是QP形式的。
1.关键词
spatio-temporal semantic corridor,贝塞尔轨迹,QP,Frenet坐标系
semantic elements(语义元素),动态的agent,交通灯,速度限制。本文提出了一种时空语义走廊,用来抽象这些元素。
那其实之前港科大的无人机基于硬约束的轨迹优化(Btraj),也是利用贝塞尔曲线的凸包性质这样作的,本文多了一些其他的语义。
SSC中包含了的信息,使得轨迹生成问题变成了QP问题?无人车系统动态方程呢?那除了其他语义元素,岂不是跟Btraj没有区别了吗?
2.贝塞尔轨迹生成
(1)分段贝塞尔的表达
每一个SSC走廊中,都是一段贝塞尔,总共n段贝塞尔轨迹。
注意这里分为S和L两个维度,之前在无人机中,是分为x,y,z三个独立的轴。难道分解为S-L就可以保证车的转角了?这个是因为坐标系不同了,本文采用S-L坐标系。从而变得跟无人机系统一样,每个轴可以分开求解。
(2)cost function
minimum jerk,第j段轨迹的cost为:
进一步归一化:(P为控制点,Q为Hessian matrix)
(3) Enforcing Safety and Dynamical Constraints
还是利用贝塞尔的性质,方便求导。
-
Desired state constraints(两点边界值约束):
起点和终点的约束,按照我的理解,应该是[速度,前轮偏转角,x,y,车辆姿态角],但是目前对S-L坐标系,就是S, S`, S``以及L, L`, L``了。
SL坐标系也叫做frenet frame:它以道路中心线为参考,S表示道路中心线的方向,L表示与道路中心线垂直的方向。在结构化道路上行驶的时候,SL坐标系比XY坐标系更加贴合实际需求。
这里是需要能够被跟踪的指引线的,按照李柏在《智能网联》做法,他推荐不在S-L坐标系进行轨迹规划,因为Frenet坐标系忽视指引线的曲率,所规划轨迹无法如实反映车辆的运动学能力。还有就是坐标转换的精度问题。
S轴是Longitudinal axis, 一阶导数和二阶导数分别是Longitudinal velocity和加速度。
L轴是Lateral Axix,一阶导数和二阶导数分别是Lateral velocity和加速度。
这里的约束,通过贝塞尔求导的性质,可以写成线性等式约束。
-
Continuity constraints:(连续性约束)
每段贝塞尔曲线之间连接的连续性,同样也可以根据贝塞尔的性质,写成线性等式约束。因为是目标函数是jerk,这里是0,1,2,3,阶导数相等。
-
Free-space constraints:(避免碰撞的走廊)
将贝塞尔曲线,限制在立方体走廊中,这里就是不等式约束了。注意两个维度是S和L。
-
Dynamical constraints:
限制最大速度和最大加速度,是不等式约束。
对于S,一阶导数是lateral velocity,二阶导数是加速度;
对于L,一阶导数是longitudinal velocity,二阶导数是加速度。
所有的这些线性等式和不等式约束,最终可以写成QP形式,可以通过比如OOQP来高效求解。
这篇关于1.轨迹优化-港科大无人车的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南