@@ -29,13 +29,13 @@ State vector is:
2929
3030.. math :: z = [x, y, v,\phi]
3131
32- \ x: x-position, y:y-position, v:velocity, φ: yaw angle
32+ x: x-position, y:y-position, v:velocity, φ: yaw angle
3333
3434Input vector is:
3535
3636.. math :: u = [a, \delta]
3737
38- \ a: accellation, δ: steering angle
38+ a: accellation, δ: steering angle
3939
4040The MPC cotroller minimize this cost function for path tracking:
4141
@@ -94,57 +94,9 @@ ODE is
9494
9595where
9696
97- :raw-latex: `\b egin{equation*}
98- A' =
99- \b egin{bmatrix}
100- \f rac{\p artial }{\p artial x}vcos(\p hi) &
101- \f rac{\p artial }{\p artial y}vcos(\p hi) &
102- \f rac{\p artial }{\p artial v}vcos(\p hi) &
103- \f rac{\p artial }{\p artial \p hi}vcos(\p hi)\\
104- \f rac{\p artial }{\p artial x}vsin(\p hi) &
105- \f rac{\p artial }{\p artial y}vsin(\p hi) &
106- \f rac{\p artial }{\p artial v}vsin(\p hi) &
107- \f rac{\p artial }{\p artial \p hi}vsin(\p hi)\\
108- \f rac{\p artial }{\p artial x}a&
109- \f rac{\p artial }{\p artial y}a&
110- \f rac{\p artial }{\p artial v}a&
111- \f rac{\p artial }{\p artial \p hi}a\\
112- \f rac{\p artial }{\p artial x}\f rac{vtan(\d elta)}{L}&
113- \f rac{\p artial }{\p artial y}\f rac{vtan(\d elta)}{L}&
114- \f rac{\p artial }{\p artial v}\f rac{vtan(\d elta)}{L}&
115- \f rac{\p artial }{\p artial \p hi}\f rac{vtan(\d elta)}{L}\\
116- \e nd{bmatrix}
117- \\
118- =
119- \b egin{bmatrix}
120- 0 & 0 & cos(\b ar{\p hi}) & -\b ar{v}sin(\b ar{\p hi})\\
121- 0 & 0 & sin(\b ar{\p hi}) & \b ar{v}cos(\b ar{\p hi}) \\
122- 0 & 0 & 0 & 0 \\
123- 0 & 0 &\f rac{tan(\b ar{\d elta})}{L} & 0 \\
124- \e nd{bmatrix}
125- \e nd{equation*} `
126-
127- :raw-latex: `\b egin{equation*}
128- B' =
129- \b egin{bmatrix}
130- \f rac{\p artial }{\p artial a}vcos(\p hi) &
131- \f rac{\p artial }{\p artial \d elta}vcos(\p hi)\\
132- \f rac{\p artial }{\p artial a}vsin(\p hi) &
133- \f rac{\p artial }{\p artial \d elta}vsin(\p hi)\\
134- \f rac{\p artial }{\p artial a}a &
135- \f rac{\p artial }{\p artial \d elta}a\\
136- \f rac{\p artial }{\p artial a}\f rac{vtan(\d elta)}{L} &
137- \f rac{\p artial }{\p artial \d elta}\f rac{vtan(\d elta)}{L}\\
138- \e nd{bmatrix}
139- \\
140- =
141- \b egin{bmatrix}
142- 0 & 0 \\
143- 0 & 0 \\
144- 1 & 0 \\
145- 0 & \f rac{\b ar{v}}{Lcos^2(\b ar{\d elta})} \\
146- \e nd{bmatrix}
147- \e nd{equation*} `
97+ :math: `\begin {equation*} A' = \begin {bmatrix} \frac {\partial }{\partial x}vcos(\phi ) & \frac {\partial }{\partial y}vcos(\phi ) & \frac {\partial }{\partial v}vcos(\phi ) & \frac {\partial }{\partial \phi }vcos(\phi )\\ \frac {\partial }{\partial x}vsin(\phi ) & \frac {\partial }{\partial y}vsin(\phi ) & \frac {\partial }{\partial v}vsin(\phi ) & \frac {\partial }{\partial \phi }vsin(\phi )\\ \frac {\partial }{\partial x}a& \frac {\partial }{\partial y}a& \frac {\partial }{\partial v}a& \frac {\partial }{\partial \phi }a\\ \frac {\partial }{\partial x}\frac {vtan(\delta )}{L}& \frac {\partial }{\partial y}\frac {vtan(\delta )}{L}& \frac {\partial }{\partial v}\frac {vtan(\delta )}{L}& \frac {\partial }{\partial \phi }\frac {vtan(\delta )}{L}\\ \end {bmatrix} \\ = \begin {bmatrix} 0 & 0 & cos(\bar {\phi }) & -\bar {v}sin(\bar {\phi })\\ 0 & 0 & sin(\bar {\phi }) & \bar {v}cos(\bar {\phi }) \\ 0 & 0 & 0 & 0 \\ 0 & 0 &\frac {tan(\bar {\delta })}{L} & 0 \\ \end {bmatrix} \end {equation*}`
98+
99+ :math: `\begin {equation*} B' = \begin {bmatrix} \frac {\partial }{\partial a}vcos(\phi ) & \frac {\partial }{\partial \delta }vcos(\phi )\\ \frac {\partial }{\partial a}vsin(\phi ) & \frac {\partial }{\partial \delta }vsin(\phi )\\ \frac {\partial }{\partial a}a & \frac {\partial }{\partial \delta }a\\ \frac {\partial }{\partial a}\frac {vtan(\delta )}{L} & \frac {\partial }{\partial \delta }\frac {vtan(\delta )}{L}\\ \end {bmatrix} \\ = \begin {bmatrix} 0 & 0 \\ 0 & 0 \\ 1 & 0 \\ 0 & \frac {\bar {v}}{Lcos^2 (\bar {\delta })} \\ \end {bmatrix} \end {equation*}`
148100
149101You can get a discrete-time mode with Forward Euler Discretization with
150102sampling time dt.
@@ -165,49 +117,9 @@ where,
165117
166118:math: `\begin {equation*} A = (I + dtA')\\ = \begin {bmatrix} 1 & 0 & cos(\bar {\phi })dt & -\bar {v}sin(\bar {\phi })dt\\ 0 & 1 & sin(\bar {\phi })dt & \bar {v}cos(\bar {\phi })dt \\ 0 & 0 & 1 & 0 \\ 0 & 0 &\frac {tan(\bar {\delta })}{L}dt & 1 \\ \end {bmatrix} \end {equation*}`
167119
168- :raw-latex: `\b egin{equation*}
169- B = dtB'\\
170- =
171- \b egin{bmatrix}
172- 0 & 0 \\
173- 0 & 0 \\
174- dt & 0 \\
175- 0 & \f rac{\b ar{v}}{Lcos^2(\b ar{\d elta})}dt \\
176- \e nd{bmatrix}
177- \e nd{equation*} `
178-
179- :raw-latex: `\b egin{equation*}
180- C = (f(\b ar{z},\b ar{u})-A'\b ar{z}-B'\b ar{u})dt\\
181- = dt(
182- \b egin{bmatrix}
183- \b ar{v}cos(\b ar{\p hi})\\
184- \b ar{v}sin(\b ar{\p hi}) \\
185- \b ar{a}\\
186- \f rac{\b ar{v}tan(\b ar{\d elta})}{L}\\
187- \e nd{bmatrix}
188- -
189- \b egin{bmatrix}
190- \b ar{v}cos(\b ar{\p hi})-\b ar{v}sin(\b ar{\p hi})\b ar{\p hi}\\
191- \b ar{v}sin(\b ar{\p hi})+\b ar{v}cos(\b ar{\p hi})\b ar{\p hi}\\
192- 0\\
193- \f rac{\b ar{v}tan(\b ar{\d elta})}{L}\\
194- \e nd{bmatrix}
195- -
196- \b egin{bmatrix}
197- 0\\
198- 0 \\
199- \b ar{a}\\
200- \f rac{\b ar{v}\b ar{\d elta}}{Lcos^2(\b ar{\d elta})}\\
201- \e nd{bmatrix}
202- )\\
203- =
204- \b egin{bmatrix}
205- \b ar{v}sin(\b ar{\p hi})\b ar{\p hi}dt\\
206- -\b ar{v}cos(\b ar{\p hi})\b ar{\p hi}dt\\
207- 0\\
208- -\f rac{\b ar{v}\b ar{\d elta}}{Lcos^2(\b ar{\d elta})}dt\\
209- \e nd{bmatrix}
210- \e nd{equation*} `
120+ :math: `\begin {equation*} B = dtB'\\ = \begin {bmatrix} 0 & 0 \\ 0 & 0 \\ dt & 0 \\ 0 & \frac {\bar {v}}{Lcos^2 (\bar {\delta })}dt \\ \end {bmatrix} \end {equation*}`
121+
122+ :math: `\begin {equation*} C = (f(\bar {z},\bar {u})-A'\bar {z}-B'\bar {u})dt\\ = dt( \begin {bmatrix} \bar {v}cos(\bar {\phi })\\ \bar {v}sin(\bar {\phi }) \\ \bar {a}\\ \frac {\bar {v}tan(\bar {\delta })}{L}\\ \end {bmatrix} - \begin {bmatrix} \bar {v}cos(\bar {\phi })-\bar {v}sin(\bar {\phi })\bar {\phi }\\ \bar {v}sin(\bar {\phi })+\bar {v}cos(\bar {\phi })\bar {\phi }\\ 0 \\ \frac {\bar {v}tan(\bar {\delta })}{L}\\ \end {bmatrix} - \begin {bmatrix} 0 \\ 0 \\ \bar {a}\\ \frac {\bar {v}\bar {\delta }}{Lcos^2 (\bar {\delta })}\\ \end {bmatrix} )\\ = \begin {bmatrix} \bar {v}sin(\bar {\phi })\bar {\phi }dt\\ -\bar {v}cos(\bar {\phi })\bar {\phi }dt\\ 0 \\ -\frac {\bar {v}\bar {\delta }}{Lcos^2 (\bar {\delta })}dt\\ \end {bmatrix} \end {equation*}`
211123
212124This equation is implemented at
213125
0 commit comments