QP-Spline-ST-Speed Optimizer
ST纵向距离 VS 时间,station-time (S-T)
S 纵向arc length VS Lateral 横向距离 station-lateral
https://github.com/ApolloAuto/apollo/blob/master/docs/specs/qp_spline_st_speed_optimizer.md
1 Definition
After finding a path in QP-Spline-Path, Apollo converts all obstacles on the path and the ADV (autonomous driving vehicle) into an path-time (S-T) graph, which represents that the station changes over time along the path. The speed optimization task is to find a path on the S-T graph that is collision-free and comfortable.
Apollo uses splines to represent speed profiles, which are lists of S-T points in S-T graph. Apollo leverages Quadratic programming to find the best profile. The standard form of QP problem is defined as:
在QP样条路径中找到路径后,Apollo将路径上的所有障碍物和ADV(自动驾驶车辆)转换为路径-时间(S-T)图,表示站点(ego 行驶的位置纵坐标)在路径上随时间的变化。速度优化任务是在S-T图上找到一条无碰撞且舒适的路径。
Apollo使用样条来表示速度profile,这是S-T图中S-T点的列表。阿波罗利用二次规划来寻找最佳profile。QP问题的标准形式定义为: s.t.=constrains
2 Objective function 目标函数
2.1 Get spline segments 获取样条曲线段
Split the S-T profile into n segments. Each segment trajectory is defined by a polynomial.多项式
2.2 Define function for each spline segment 定义样条曲线 (泰勒级数)
Each segment i has an accumulated (积分) distance d_i along a reference line. And the trajectory for the segment is defined as a polynomial o