Given a reference line and road boundaries, we use QP (Quadratic Programming)
to generate a path that satisfy some predefined constraints.
1. A standard form of QP
arg
min
1
2
X
T
H
X
+
f
T
x
\arg\min\frac12X^THX+f^Tx
argmin21XTHX+fTx
s
.
t
.
A
i
e
q
x
≤
b
i
e
q
s.t.\enspace A_{ieq}x\leq b_{ieq}
s.t.Aieqx≤bieq
A
e
p
x
≤
b
e
p
\enspace \enspace \enspace A_{ep}x\leq b_{ep}
Aepx≤bep
2. Problem definition
In Path optimization, the object
x
x
x is
l
l
l,
l
˙
\dot{l}
l˙ and
l
¨
\ddot{l}
l¨ under Frenet coordinate, which is denoted by:
[
l
0
,
l
1
,
.
.
.
,
l
n
,
l
0
˙
,
.
.
.
,
l
n
˙
,
l
0
¨
,
.
.
.
,
l
n
¨
]
T
[l_0,l_1,...,l_n,\dot{l_0},...,\dot{l_n},\ddot{l_0},...,\ddot{l_n}]^T
[l0,l1,...,ln,l0˙,...,ln˙,l0¨,...,ln¨]T
3. Cost function
We define a cost function consisting of four terms:
- lateral offset term: x i 2 x_i^2 xi2
- lateral velocity term: x ˙ i 2 \dot{x}_i^2 x˙i2
- lateral acceleration term: x ¨ i 2 \ddot{x}_i^2 x¨i2
- lateral jerk term: x ⋯ i 2 \overset{\cdots}{x}_i^2 x⋯i2
The cost function in discrete form is:
J
(
x
)
=
w
x
∑
i
=
0
n
−
1
x
i
2
+
w
x
˙
∑
i
=
0
n
−
1
x
˙
i
2
+
w
x
¨
∑
i
=
0
n
−
1
x
¨
i
2
+
w
x
⋯
∑
i
=
0
n
−
2
x
⋯
i
2
\mathrm{J}(\mathrm{x})=w_x\sum_{i=0}^{n-1}x_i^2+w_{\dot{x}}\sum_{i=0}^{n-1}\dot{x}_i^2+w_{\ddot{x}}\sum_{i=0}^{n-1}\ddot{x}_i^2+w_{\overset{\cdots}{x}}\sum_{i=0}^{n-2}\overset{\cdots}{x}_i^2
J(x)=wxi=0∑n−1xi2+wx˙i=0∑n−1x˙i2+wx¨i=0∑n−1x¨i2+wx⋯i=0∑n−2x⋯i2
Rewrite discrete cost function form to matrix form.
(1) lateral offset term
The first term: w x ∑ i = 0 n − 1 x i 2 w_x\sum_{i=0}^{n-1}x_i^2 wx∑i=0n−1xi2
[ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] T [ 2 w x ⋱ 2 w x 0 ⋱ 0 ] [ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] \begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix}^T\begin{bmatrix}2w_{x}\\&\ddots\\&&2w_{x}\\&&&0\\&&&&\ddots\\&&&&&0\end{bmatrix}\begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix} x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨ T 2wx⋱2wx0⋱0 x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨
(2) lateral velocity term
The second term: w x ˙ ∑ i = 0 n − 1 x ˙ i 2 w_{\dot{x}}\sum_{i=0}^{n-1}\dot{x}_i^2 wx˙∑i=0n−1x˙i2
[ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] T [ 0 ⋱ 0 2 w x ˙ ⋱ 2 w x ˙ 0 ⋱ 0 ] [ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] \begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix}^T\begin{bmatrix}0&&&&&&&&\\&\ddots&&&&&&&\\&&0&&&&&&\\&&&2w_{\dot{x}}&&&&&\\&&&&\ddots&&&&\\&&&&&2w_{\dot{x}}&&&\\&&&&&&0&&\\&&&&&&&\ddots\\&&&&&&&&0\\\end{bmatrix}\begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix} x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨ T 0⋱02wx˙⋱2wx˙0⋱0 x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨
(3) lateral acceleration term
The third term: w x ¨ ∑ i = 0 n − 1 x ¨ i 2 w_{\ddot{x}}\sum_{i=0}^{n-1}\ddot{x}_i^2 wx¨∑i=0n−1x¨i2
[ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] T [ 0 ⋱ 0 2 w x ¨ ⋱ 2 w x ¨ ] [ x 0 x 1 ⋮ x n x 0 ˙ ⋮ x n ˙ x 0 ¨ ⋮ x n ¨ ] \begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix}^T\begin{bmatrix}0\\&\ddots\\&&0\\&&&2w_{\ddot{x}}\\&&&&\ddots\\&&&&&2w_{\ddot{x}}\end{bmatrix}\begin{bmatrix}x_{0}\\x_{1}\\\varvdots\\x_{n}\\\dot{x_{0}}\\\varvdots\\\dot{x_{n}}\\\ddot{x_{0}}\\\varvdots\\\ddot{x_{n}}\end{bmatrix} x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨ T 0⋱02wx¨⋱2wx¨ x0x1⋮xnx0˙⋮xn˙x0¨⋮xn¨
(4) lateral jerk term
The forth term:
w
x
⋯
∑
i
=
0
n
−
2
x
⋯
i
2
w_{\overset{\cdots}{x}}\sum_{i=0}^{n-2}\overset{\cdots}{x}_i^2
wx⋯∑i=0n−2x⋯i2
Since we do not have
x
⋯
\overset{\cdots}{x}
x⋯ form in our cost function, we need to use
x
¨
\ddot{x}
x¨ to represent the
x
⋯
\overset{\cdots}{x}
x⋯ term:
x
⋯
i
=
x
¨
i
+
1
−
x
¨
i
Δ
s
\overset{\cdots}{x}_i=\frac{\ddot{x}_{i+1}-\ddot{x}_i}{\Delta s}
x⋯i=Δsx¨i+1−x¨i
∑
i
=
0
n
−
2
x
⋯
i
2
=
∑
i
=
0
n
−
2
(
x
¨
i
+
1
−
x
¨
i
)
2
=
∑
i
=
0
n
−
2
(
x
¨
i
+
1
−
x
¨
i
)
T
(
x
¨
i
+
1
−
x
¨
i
)
\sum_{i=0}^{n-2}\overset{\cdots}{x}_i^2=\sum_{i=0}^{n-2}(\ddot{x}_{i+1}-\ddot{x}_{i})^{2}=\sum_{i=0}^{n-2}(\ddot{x}_{i+1}-\ddot{x}_{i})^{T}(\ddot{x}_{i+1}-\ddot{x}_{i})
i=0∑n−2x⋯i2=i=0∑n−2(x¨i+1−x¨i)2=i=0∑n−2(x¨i+1−x¨i)T(x¨i+1−x¨i)
in matrix term:
2 Δ s 2 [ x ¨ 0 x ¨ 1 ⋮ x ¨ n ] T [ − 1 1 − 1 1 ⋱ ⋱ − 1 1 0 ] ⏟ Q x ⋯ ~ T [ − 1 1 − 1 1 ⋱ ⋱ − 1 1 0 ] ⏟ Q x ⋯ ~ [ x ¨ 0 x ¨ 1 ⋮ x ¨ n ] \frac{2}{\Delta s^{2}}\begin{bmatrix}\ddot{x}_{0}\\\ddot{x}_{1}\\\vdots\\\ddot{x}_{n}\end{bmatrix}^{T}\underbrace{{\begin{bmatrix}-1\\1&-1\\&1&\ddots\\&&\ddots&-1\\&&&1&0\end{bmatrix}}}_{{\tilde{Q_{\overset{\cdots}{x}}}}^{T}}\underbrace{{\begin{bmatrix}-1&1\\&-1&1\\&&\ddots&\ddots\\&&&-1&1\\&&&&0\end{bmatrix}}}_{{\tilde{Q_{\overset{\cdots}{x}}}}}\begin{bmatrix}\ddot{x}_{0}\\\ddot{x}_{1}\\\vdots\\\ddot{x}_{n}\end{bmatrix} Δs22 x¨0x¨1⋮x¨n TQx⋯~T −11−11⋱⋱−110 Qx⋯~ −11−11⋱⋱−110 x¨0x¨1⋮x¨n
Let’s define the respective Q matrix for x ⋯ i \overset{\cdots}{x}_i x⋯i term as Q x ⋯ Q_{\overset{\cdots}{x}} Qx⋯ then
Q x ⋯ = Q x ⋯ ~ T Q x ⋯ ~ Q_{\overset{\cdots}{x}}=\tilde{Q_{\overset{\cdots}{x}}}^{T}\tilde{Q_{\overset{\cdots}{x}}} Qx⋯=Qx⋯~TQx⋯~
We have
Q x ⋯ = [ 1 − 1 − 1 2 − 1 − 1 2 ⋱ ⋱ ⋱ ⋱ ⋱ 2 − 1 − 1 2 − 1 − 1 1 ] Q_{\overset{\cdots}{x}}=\begin{bmatrix}1&-1\\-1&2&-1\\&-1&2&\ddots\\&&\ddots&\ddots&\ddots\\&&&\ddots&2&-1\\&&&&-1&2&-1\\&&&&&-1&1\end{bmatrix} Qx⋯= 1−1−12−1−12⋱⋱⋱⋱⋱2−1−12−1−11
verify
Let’s use a specific case to verify the Q x ⋯ Q_{\overset{\cdots}{x}} Qx⋯, let’s say we have four points [ x 0 , x 1 , x 2 , x 3 ] \begin{bmatrix}x_0,x_1,x_2,x_3\end{bmatrix} [x0,x1,x2,x3], now define the x ⋯ i 2 \overset{\cdots}{x}_i^2 x⋯i2 term:
∑ i = 0 2 x ⋯ i 2 = ∑ i = 0 2 ( x ¨ i + 1 − x ¨ i ) 2 = ( x ¨ 1 − x ¨ 0 ) 2 + ( x ¨ 2 − x ¨ 1 ) 2 + ( x ¨ 3 − x ¨ 2 ) 2 \sum_{i=0}^2\overset{\cdots}{x}_i^2=\sum_{i=0}^2(\ddot{x}_{i+1}-\ddot{x}_i)^2=(\ddot{x}_1-\ddot{x}_0)^2+(\ddot{x}_2-\ddot{x}_1)^2+(\ddot{x}_3-\ddot{x}_2)^2 i=0∑2x⋯i2=i=0∑2(x¨i+1−x¨i)2=(x¨1−x¨0)2+(x¨2−x¨1)2+(x¨3−x¨2)2
Use the matrix form:
[ x ¨ 0 x ¨ 1 x ¨ 2 x ¨ 3 ] [ 1 Δ s 2 − 1 Δ s 2 0 0 − 1 Δ s 2 2 Δ s 2 − 1 Δ s 2 0 0 − 1 Δ s 2 2 Δ s 2 − 1 Δ s 2 0 0 − 1 Δ s 2 1 Δ s 2 ] [ x ¨ 0 x ¨ 1 x ¨ 2 x ¨ 3 ] = [ x ¨ 0 − x ¨ 1 Δ s 2 , 2 x ¨ 1 − x ¨ 0 − x ¨ 2 Δ s 2 , 2 x ¨ 2 − x ¨ 1 − x ¨ 3 Δ s 2 , x ¨ 3 − x ¨ 2 Δ s 2 ] [ x ¨ 0 x ¨ 1 x ¨ 2 x ¨ 3 ] = ( x ¨ 0 − x ¨ 1 ) x ¨ 0 Δ s 2 + [ ( x ¨ 1 − x ¨ 0 ) + ( x ¨ 1 − x ¨ 2 ) ] x ¨ 1 Δ s 2 + [ ( x ¨ 2 − x ¨ 1 ) + ( x ¨ 2 − x ¨ 3 ) ] x ¨ 2 Δ s 2 + ( x ¨ 3 − x ¨ 2 ) x ¨ 3 Δ s 2 = x ¨ 0 2 − 2 x ¨ 1 x ¨ 0 + x ¨ 1 2 + x ¨ 1 2 − 2 x ¨ 1 x ¨ 2 + x ¨ 2 2 + x ¨ 2 2 − 2 x ¨ 2 x ¨ 3 + x ¨ 3 2 = ( x ¨ 0 − x ¨ 1 ) 2 + ( x ¨ 1 − x ¨ 2 ) 2 + ( x ¨ 2 − x ¨ 3 ) 2 = ∑ i = 0 n − 2 x ¨ i 2 \begin{gathered} \begin{bmatrix}\ddot{x}_0&\ddot{x}_1&\ddot{x}_2&\ddot{x}_3\end{bmatrix}\begin{bmatrix}\frac{1}{\Delta s^2}&-\frac{1}{\Delta s^2}&0&0\\-\frac{1}{\Delta s^2}&\frac{2}{\Delta s^2}&-\frac{1}{\Delta s^2}&0\\0&-\frac{1}{\Delta s^2}&\frac{2}{\Delta s^2}&-\frac{1}{\Delta s^2}\\0&0&-\frac{1}{\Delta s^2}&\frac{1}{\Delta s^2}\end{bmatrix}\begin{bmatrix}\ddot{x}_0\\\ddot{x}_1\\\ddot{x}_2\\\ddot{x}_3\end{bmatrix} \\ =\begin{bmatrix}\frac{\ddot{x}_0-\ddot{x}_1}{\Delta s^2},\frac{2\ddot{x}_1-\ddot{x}_0-\ddot{x}_2}{\Delta s^2},\frac{2\ddot{x}_2-\ddot{x}_1-\ddot{x}_3}{\Delta s^2},\frac{\ddot{x}_3-\ddot{x}_2}{\Delta s^2}\end{bmatrix}\begin{bmatrix}\ddot{x}_0\\\ddot{x}_1\\\ddot{x}_2\\\ddot{x}_3\end{bmatrix} \\ =\frac{(\ddot{x}_0-\ddot{x}_1)\ddot{x}_0}{\Delta s^2}+\frac{[(\ddot{x}_1-\ddot{x}_0)+(\ddot{x}_1-\ddot{x}_2)]\ddot{x}_1}{\Delta s^2}+\frac{[(\ddot{x}_2-\ddot{x}_1)+(\ddot{x}_2-\ddot{x}_3)]\ddot{x}_2}{\Delta s^2}+\frac{(\ddot{x}_3-\ddot{x}_2)\ddot{x}_3}{\Delta s^2} \\ =\ddot{x}_0^2-2\ddot{x}_1\ddot{x}_0+\ddot{x}_1^2+\ddot{x}_1^2-2\ddot{x}_1\ddot{x}_2+\ddot{x}_2^2+\ddot{x}_2^2-2\ddot{x}_2\ddot{x}_3+\ddot{x}_3^2 \\ =(\ddot{x}_0-\ddot{x}_1)^2+(\ddot{x}_1-\ddot{x}_2)^2+(\ddot{x}_2-\ddot{x}_3)^2 \\ =\sum_{i=0}^{n-2}\ddot{x}_i^2 \end{gathered} [x¨0x¨1x¨2x¨3] Δs21−Δs2100−Δs21Δs22−Δs2100−Δs21Δs22−Δs2100−Δs21Δs21 x¨0x¨1x¨2x¨3 =[Δs2x¨0−x¨1,Δs22x¨1−x¨0−x¨2,Δs22x¨2−x¨1−x¨3,Δs2x¨3−x¨2] x¨0x¨1x¨2x¨3 =Δs2(x¨0−x¨1)x¨0+Δs2[(x¨1−x¨0)+(x¨1−x¨2)]x¨1+Δs2[(x¨2−x¨1)+(x¨2−x¨3)]x¨2+Δs2(x¨3−x¨2)x¨3=x¨02−2x¨1x¨0+x¨12+x¨12−2x¨1x¨2+x¨22+x¨22−2x¨2x¨3+x¨32=(x¨0−x¨1)2+(x¨1−x¨2)2+(x¨2−x¨3)2=i=0∑n−2x¨i2
Q Matrix
The Q matrix is summation of the Q matrix of each cost function term:
Q = [ 2 w x ⋱ 2 w x 2 w x ˙ ⋱ 2 w x ˙ Q x ¨ + Q x ⋯ ] \mathbb{Q} =\begin{bmatrix}2w_{x}&&&&&&\\&\ddots&&&&&\\&&2w_{x}&&&&\\&&&2w_{\dot{x}}&&&\\&&&&\ddots&&\\&&&&&2w_{{\dot{x}}}&\\&&&&&&Q_{{\ddot{x}}}+Q_{\overset{\cdots}{x}}\end{bmatrix} Q= 2wx⋱2wx2wx˙⋱2wx˙Qx¨+Qx⋯
Where
Q x ¨ + Q x ⋯ = [ 2 w x ¨ + 2 w x ⋯ Δ s 2 − 2 w x ⋯ Δ s 2 − 2 w x ⋯ Δ s 2 2 w x ¨ + 4 w x ⋯ Δ s 2 ⋱ ⋱ ⋱ − 2 w x ⋯ Δ s 2 − 2 w x ⋯ Δ s 2 2 w x ¨ + 2 w x ⋯ Δ s 2 ] Q_{\ddot{x}}+Q_{\overset{\cdots}{x}}=\begin{bmatrix}2w_{\ddot{x}}+\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}&-\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}\\-\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}&2w_{\ddot{x}}+\frac{4w_{\overset{\cdots}{x}}}{\Delta s^2}&\ddots\\&\ddots&\ddots&-\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}\\&&-\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}&2w_{\ddot{x}}+\frac{2w_{\overset{\cdots}{x}}}{\Delta s^2}\end{bmatrix} Qx¨+Qx⋯= 2wx¨+Δs22wx⋯−Δs22wx⋯−Δs22wx⋯2wx¨+Δs24wx⋯⋱⋱⋱−Δs22wx⋯−Δs22wx⋯2wx¨+Δs22wx⋯
4. Constraints
We have several constraints as follows:
a.
x
l
b
[
i
]
≤
x
i
≤
x
u
b
[
i
]
x_{lb}[i]\leq x_i \leq x_{ub}[i]
xlb[i]≤xi≤xub[i], the lateral offset
x
i
x_i
xi should be constrained between the road upper and lower boundaries.
b.
x
l
b
[
i
]
˙
≤
x
˙
i
≤
x
u
b
[
i
]
˙
\dot{x_{lb}[i]}\leq \dot{x}_i \leq \dot{x_{ub}[i]}
xlb[i]˙≤x˙i≤xub[i]˙, the lateral velocity should be constrained between the maximum and minimum velocity constraints.
c.
x
l
b
[
i
]
¨
≤
x
¨
i
≤
x
u
b
[
i
]
¨
\ddot{x_{lb}[i]}\leq \ddot{x}_i \leq \ddot{x_{ub}[i]}
xlb[i]¨≤x¨i≤xub[i]¨, the lateral acceleration should be constrained between the maximum and minimum acceleration constraints.
d.
x
l
b
[
i
]
⋯
≤
x
¨
i
+
1
−
x
¨
i
Δ
s
≤
x
u
b
[
i
]
⋯
\overset{\cdots}{x_{lb}[i]}\leq \frac{\ddot{x}_{i+1}-\ddot{x}_i}{\Delta s} \leq\overset{\cdots}{x_{ub}[i]}
xlb[i]⋯≤Δsx¨i+1−x¨i≤xub[i]⋯, the lateral jerk should be constrained between the maximum and minimum jerk constraints.
e.
continuity constraints, We have physical relations as follows:
l i + 1 ¨ = l i ¨ + ∫ 0 Δ s l i → i + 1 ⋯ d s = l i ¨ + l i → i + 1 ⋯ Δ s l i + 1 ˙ = l i ˙ + ∫ 0 Δ s l i → i + 1 ¨ d s = l i ˙ + l i ¨ Δ s + 1 2 l i → i + 1 ⋯ Δ s 2 l i + 1 = l i + ∫ 0 Δ s l i → i + 1 d s = l i + l ˙ i Δ s + 1 2 l ¨ i Δ s 2 + 1 6 l ⋯ i Δ s 3 \begin{gathered} \ddot{l_{i+1}}=\ddot{l_{i}}+\int_{0}^{\Delta s}\overset{\cdots}{l_{i \to i+1}}ds=\ddot{l_{i}}+\overset{\cdots}{l_{i\to i+1}}\Delta s \\ \dot{l_{i+1}}=\dot{l_{i}}+\int_{0}^{\Delta s}\ddot{l_{i\to i+1}}ds=\dot{l_{i}}+\ddot{l_{i}}\Delta s+\frac{1}{2}\overset{\cdots}{l_{i\to i+1}}\Delta s^{2} \\ l_{i+1}=l_{i}+\int_{0}^{\Delta s}l_{i\rightarrow i+1}ds=l_{i}+\dot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}\overset{\cdots}{l}_{i}\Delta s^{3} \end{gathered} li+1¨=li¨+∫0Δsli→i+1⋯ds=li¨+li→i+1⋯Δsli+1˙=li˙+∫0Δsli→i+1¨ds=li˙+li¨Δs+21li→i+1⋯Δs2li+1=li+∫0Δsli→i+1ds=li+l˙iΔs+21l¨iΔs2+61l⋯iΔs3
We also have l ⋯ i = l ¨ i + 1 − l ¨ i Δ s \overset{\cdots}{l}_i=\frac{\ddot{l}_{i+1}-\ddot{l}_i}{\Delta s} l⋯i=Δsl¨i+1−l¨i with
l i + 1 = l i + l ˙ i Δ s + 1 2 l ¨ i Δ s 2 + 1 6 l ⋯ i Δ s 3 = l i + l ˙ i Δ s + 1 2 l ¨ i Δ s 2 + 1 6 ( l ¨ i + 1 − l ¨ i Δ s ) Δ s 3 = l i + l ˙ i Δ s + 1 2 l ¨ i Δ s 2 + 1 6 ( l i + 1 ¨ − l ¨ i ) Δ s 2 = l i + l ˙ i Δ s + 1 2 l ¨ i Δ s 2 + 1 6 l ¨ i + 1 Δ s 2 − 1 6 l ¨ i Δ s 2 = l i + l ˙ i Δ s + 1 3 l ¨ i Δ s 2 + 1 6 l ¨ i + 1 Δ s 2 \begin{gathered} l_{i+1}=l_{i}+\dot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}\overset{\cdots}{l}_{i}\Delta s^{3} \\ =l_{i}+\dot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}(\frac{\ddot{l}_{i+1}-\ddot{l}_{i}}{\Delta s})\Delta s^{3} \\ =l_{i}+\dot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}(\ddot{l_{i+1}}-\ddot{l}_{i})\Delta s^{2} \\ =l_{i}+\dot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}\ddot{l}_{i+1}\Delta s^{2}-\frac{1}{6}\ddot{l}_{i}\Delta s^{2} \\ =l_{i}+\dot{l}_{i}\Delta s+\frac{1}{3}\ddot{l}_{i}\Delta s^{2}+\frac{1}{6}\ddot{l}_{i+1}\Delta s^{2} \end{gathered} li+1=li+l˙iΔs+21l¨iΔs2+61l⋯iΔs3=li+l˙iΔs+21l¨iΔs2+61(Δsl¨i+1−l¨i)Δs3=li+l˙iΔs+21l¨iΔs2+61(li+1¨−l¨i)Δs2=li+l˙iΔs+21l¨iΔs2+61l¨i+1Δs2−61l¨iΔs2=li+l˙iΔs+31l¨iΔs2+61l¨i+1Δs2
f.
similarly,
l
˙
i
+
1
=
l
˙
i
+
1
2
l
¨
i
Δ
s
+
1
2
l
¨
i
+
1
Δ
s
\dot{l}_{i+1} =\dot{l}_{i}+\frac{1}{2}\ddot{l}_{i}\Delta s+\frac{1}{2}\ddot{l}_{i+1}\Delta s
l˙i+1=l˙i+21l¨iΔs+21l¨i+1Δs
Now we generate constraints in matrix form. We use b l b ≤ A x ≤ b u b b_{lb} \leq Ax \leq b_{ub} blb≤Ax≤bub
constraints a
constraints b
constraints c
constraints d
constraints e
constraints f
Equality constraints
We fix initial lateral offset, lateral velocity and lateral acceleration at some values.
Bounds
Finally, the constraints are summations of all constraints above, the lower and upper bounds are:
The A matrix form:
Summary
Now, the standard form is generated:
arg min 1 2 X T H X + f T x b l b ≤ A x ≤ b u b \begin{gathered} \arg\min\frac12X^THX+f^Tx \\ b_{lb} \leq Ax \leq b_{ub} \end{gathered} argmin21XTHX+fTxblb≤Ax≤bub
The H
matrix is Q
, and
f
T
f^T
fT is
O
∈
R
3
n
O\in R^{3n}
O∈R3n.