Difference between revisions of "Car testdrive (lane change manoeuvre)"

From mintOC
Jump to: navigation, search
(Initial setup)
 
 
(21 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
|nu        = 3
 
|nu        = 3
 
|nw        = 1
 
|nw        = 1
|nre       = 7
+
|nc        = 1
 +
|nri       = 7
 
}}
 
}}
  
The mathematical equations form a small-scale [[:Category:ODE model|ODE model]].  
+
The testdrive control problem is a time optimal double lane change maneouvre with gear shift. It has been introduced as a benchmark problem for mixed-integer optimal control by <bib id="Gerdts2005" />.  
  
 
== Mathematical formulation ==
 
== Mathematical formulation ==
 +
 +
The mathematical equations form a small-scale [[:Category:ODE model|ODE model]].
 +
 +
The vehicle dynamics are based on a single-track model, derived under the simplifying assumption that rolling and pitching of the car body can be neglected. Consequentially, only a single front and rear wheel is modeled, located in the virtual center of the original two wheels. Motion of the car body is considered on the horizontal plane only.
 +
 +
Four controls represent the driver's choice on steering and velocity. We denote with <math>w_\delta</math> the steering wheel's angular velocity. The force <math>F_\text{B}</math> controls the total braking force, while the accelerator pedal position <math>\phi</math> is translated into an accelerating force. Finally, the selected gear <math>\mu</math> influences the effective engine torque's transmission.
 +
 +
 +
 +
== Resulting MIOCP ==
  
 
For <math>t \in [t_0, t_f]</math> almost everywhere the mixed-integer optimal control problem is given by
 
For <math>t \in [t_0, t_f]</math> almost everywhere the mixed-integer optimal control problem is given by
Line 15: Line 26:
 
<math>
 
<math>
 
\begin{array}{llcl}
 
\begin{array}{llcl}
  \displaystyle \min_{x, w} & t_f   \\[1.5ex]
+
  \displaystyle \min_{x(\cdot), u(\cdot), \mu(\cdot)} & t_\text{f}   \\[1.5ex]
  \mbox{s.t.} & \dot{x}(t) & = & f( x(t), u(t), \mu(t)), \\
+
  \mbox{s.t.} & \dot{x} & = & f(t, x, u, \mu), \\
  & x(0) &=& x_0, \\
+
  & x(t_0) &=& x_0, \\
 +
& r(t,x,u) &\geq& 0, \\
 
  & \mu(t) &\in&  \{1, 2, 3, 4, 5\}.
 
  & \mu(t) &\in&  \{1, 2, 3, 4, 5\}.
 
\end{array}  
 
\end{array}  
Line 25: Line 37:
  
 
These fixed values are used within the model.
 
These fixed values are used within the model.
 +
 +
{| border="1" align="center" cellpadding="5" cellspacing="0"
 +
|- bgcolor=#c7c7c7
 +
! Symbol !! Value !! Unit !! Description
 +
|-
 +
| align=center | <math>m</math> || align=right | 1.239e+3 || kg || Mass of the car
 +
|-
 +
| align=center | <math>g</math> || align=right | 9.81 || m/s^2 || Gravity constant
 +
|-
 +
| align=center | <math>l_\text{f}</math> || align=right | 1.19016 || m || Front wheel distance to center of gravity
 +
|-
 +
| align=center | <math>l_\text{r}</math> || align=right | 1.37484 || m || Rear wheel distance to center of gravity
 +
|-
 +
| align=center | <math>e_\text{SP}</math> || align=right | 0.5 || m || Drag mount point distance to center of gravity
 +
|-
 +
| align=center | <math>R</math> || align=right | 0.302 || m || Wheel radius
 +
|-
 +
| align=center | <math>I_\text{zz}</math> || align=right | 1.752e+3 || kg m^2 || Moment of inertia
 +
|-
 +
| align=center | <math>c_\text{w}</math> || align=right | 0.3 || - || Air drag coefficient
 +
|-
 +
| align=center | <math>\varrho</math> || align=right | 1.249512 || kg/m^3 || Air density
 +
|-
 +
| align=center | <math>A</math> || align=right | 1.4378946874 || m^2 || Effective flow surface
 +
|-
 +
| align=center | <math>i_\text{g}</math> || align=right | 3.09, 2.002, 1.33, 1.0, 0.805 || - || Transmission ratios for the five gears
 +
|-
 +
| align=center | <math>i_\text{t}</math> || align=right | 3.91 || - || Engine transmission ratio
 +
|-
 +
| align=center | <math>B_\text{f}</math> || align=right | 1.096e+1 || - || Pacejka coefficients (stiffness)
 +
|-
 +
| align=center | <math>B_\text{r}</math> || align=right | 1.267e+1 || - ||
 +
|-
 +
| align=center | <math>C_\text{f}</math> || align=right | 1.3 || - || Pacejka coefficients (shape)
 +
|-
 +
| align=center | <math>C_\text{r}</math> || align=right | 1.3 || - ||
 +
|-
 +
| align=center | <math>D_\text{f}</math> || align=right | 4.5604e+3 || - || Pacejka coefficients (peak)
 +
|-
 +
| align=center | <math>D_\text{r}</math> || align=right | 3.94781e+3 || - ||
 +
|-
 +
| align=center | <math>E_\text{f}</math> || align=right | -0.5 || - || Pacejka coefficients (curvature)
 +
|-
 +
| align=center | <math>E_\text{r}</math> || align=right | -0.5 || - ||
 +
|}
 +
 +
== Test course ==
 +
 +
The double-lane change manoeuvre presented in <bib id="Gerdts2005" /> is realized by constraining the car's position onto a prescribed track at any time <math>t\in[t_0,t_\text{f}]</math>. Starting in the left position with an initial prescribed velocity, the driver is asked to manage a change of lanes modeled by an offset of 3.5 meters in the track. Afterwards he is asked to return to the starting lane. This manoeuvre can be regarded as an overtaking move or as an evasive action taken to avoid hitting an obstacle suddenly appearing on the starting lane.
 +
 +
From a mathematical point of view, the test track is described by setting up piecewise cubic spline functions <math>P_\text{l}(x)</math> and <math>P_\text{r}(x)</math> modeling the top and bottom track boundary, given a horizontal position <math>x</math>.
  
 
<math>
 
<math>
\begin{array}{llcl}
+
\begin{align}
Parameter & Value & Unit & Description \\
+
P_\text{l}(x) &:=& \left\{
m            & 1.239\cdot 10^3    & \text{kg}                   & Mass of the car  \\
+
\begin{array}{llrcl}
g            & 9.81                & \frac{\text{m}}{\text{s}^2}  & Gravity constant \\
+
0                        & \text{if } &       & x & \leq 44, \\
l_\text{f}   & 1.19016            & \text{m}                    & Front wheel distance to center of gravity \\
+
4\; h_2\; (x-44)^3      & \text{if } & 44 <   & x & \leq 44.5, \\
l_\text{r}  & 1.37484            & \text{m}                    & Rear wheel distance to center of gravity \\
+
4\; h_2\; (x-45)^3 + h_2 & \text{if } & 44.5 < & x & \leq 45, \\
e_\text{SP} & 0.5                 & \text{m}                    & Drag mount point distance to center of gravity \\
+
h_2                      & \text{if } & 45 <  & x & \leq 70, \\
R            & 0.302              & \text{m}                     & Wheel radius \\
+
4\; h_2\; (70-x)^3 + h_2 & \text{if } & 70 <  & x & \leq 70.5, \\
I_\text{zz}  & 1.752\cdot 10^3     & \text{kg m}^2                & Moment of inertia \\
+
4\; h_2\; (71-x)^3      & \text{if } & 70.5 < & x & \leq 71, \\
c_\text{w}   & 0.3                & --                            & Air drag coefficient \\
+
0                        & \text{if } & 71 <  & x. & \\
\rho        & 1.249512            & \frac{\text{kg}}{\text{m}^3} & Air density \\
+
\end{array} \right. \\
A            & 1.4378946874        & \text{m}^2                  & Effective flow surface \\
+
P_\text{u}(x) &:=& \left\{
i^1_\text{g} & 3.09                & --                            & Transmission ratio of first gear \\
+
\begin{array}{llrcl}
i^2_\text{g} & 2.002              & --                            & Transmission ratio of second gear \\
+
h_1                            & \text{if } &       & x & \leq 15, \\
i^3_\text{g} & 1.33                & --                            & Transmission ratio of third gear \\
+
4\; (h_3-h_1)\; (x-15)^3 + h_1 & \text{if } & 15 <  & x & \leq 15.5, \\
i^4_\text{g} & 1.0                & --                            & Transmission ratio of fourth gear \\
+
4\; (h_3-h_1)\; (x-16)^3 + h_3 & \text{if } & 15.5 < & x & \leq 16, \\
i^5_\text{g} & 0.805              & --                            & Transmission ratio of fifth gear \\
+
h_3                            & \text{if } & 16 <   & x & \leq 94, \\
i_\text{t}  & 3.91                & --                             & Engine torque transmission ratio \\
+
4\; (h_3-h_4)\; (94-x)^3 + h_3 & \text{if } & 94 <   & x & \leq 94.5, \\
B_\text{f}   & 1.096\cdot 10^1    & --                            & Pacejka coefficients (stiffness) \\
+
4\; (h_3-h_4)\; (95-x)^3 + h_4 & \text{if } & 94.5 < & x & \leq 95, \\
B_\text{r}  & 1.267\cdot 10^1    & --                            & \\
+
h_4                            & \text{if } & 95 <   & x. & \\
C_\text{f}  & 1.3                & --                             & Pacejka coefficients (shape) \\
+
\end{array} \right.
C_\text{r}  & 1.3                & --                            & \\
+
\end{align}
D_\text{f}  & 4.5604\cdot 10^3   & --                            & Pacejka coefficients (peak) \\
+
D_\text{r}   & 3.94781\cdot 10^3  & --                            & \\
+
E_\text{f}  & -0.5                & --                            & Pacejka coefficients (curvature) \\
+
E_\text{r}   & -0.5                & --                            & \\
+
\end{array}
+
 
</math>
 
</math>
 +
 +
where <math>B=1.5\;\text{m}</math> is the car's width and
 +
 +
<math>
 +
h_1 := 1.1\; B + 0.25, \quad
 +
h_2 := 3.5, \quad
 +
h_3 := 1.2\; B + 3.75,\quad
 +
h_4 := 1.3\; B + 0.25.
 +
</math>
 +
 +
[[Image:test-course.png|Test course for the double lane change manoeuvre]]
  
 
== Reference Solutions ==
 
== Reference Solutions ==
  
Reference solutions for the case of a fixed time-grid are given in <bibref>Gerdts2005</bibref>. Solutions for a non-fixed time grid are given in <bibref>Gerdts2006</bibref>.
+
Reference solutions for the case of a fixed time-grid are given in <bib id="Gerdts2005" />. Solutions for a non-fixed time grid are given in <bib id="Gerdts2006" />.
  
 
== Source Code ==
 
== Source Code ==
  
=== C ===
+
Model descriptions are available in
 +
 
 +
* [[:Category:Muscod | Muscod code]] at [[Car testdrive (lane change manoeuvre) (Muscod)]]
  
 
== Variants ==
 
== Variants ==
  
 
See testdrive [[Car testdrive | overview page]].
 
See testdrive [[Car testdrive | overview page]].
 +
 +
== References ==
 +
<biblist />
  
 
<!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here -->
 
<!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here -->

Latest revision as of 10:25, 27 July 2016

Car testdrive (lane change manoeuvre)
State dimension: 1
Differential states: 7
Continuous control functions: 3
Discrete control functions: 1
Path constraints: 1
Interior point inequalities: 7


The testdrive control problem is a time optimal double lane change maneouvre with gear shift. It has been introduced as a benchmark problem for mixed-integer optimal control by [Gerdts2005]Author: M. Gerdts
Journal: Optimal Control Applications and Methods
Pages: 1--18
Title: Solving mixed-integer optimal control problems by Branch\&Bound: A case study from automobile test-driving with gear shift
Volume: 26
Year: 2005
Link to Google Scholar
.

Mathematical formulation

The mathematical equations form a small-scale ODE model.

The vehicle dynamics are based on a single-track model, derived under the simplifying assumption that rolling and pitching of the car body can be neglected. Consequentially, only a single front and rear wheel is modeled, located in the virtual center of the original two wheels. Motion of the car body is considered on the horizontal plane only.

Four controls represent the driver's choice on steering and velocity. We denote with w_\delta the steering wheel's angular velocity. The force F_\text{B} controls the total braking force, while the accelerator pedal position \phi is translated into an accelerating force. Finally, the selected gear \mu influences the effective engine torque's transmission.


Resulting MIOCP

For t \in [t_0, t_f] almost everywhere the mixed-integer optimal control problem is given by


\begin{array}{llcl}
 \displaystyle \min_{x(\cdot), u(\cdot), \mu(\cdot)} & t_\text{f}   \\[1.5ex]
 \mbox{s.t.} & \dot{x} & = & f(t, x, u, \mu), \\
 & x(t_0) &=& x_0, \\
 & r(t,x,u) &\geq& 0, \\
 & \mu(t) &\in&  \{1, 2, 3, 4, 5\}.
\end{array}

Parameters

These fixed values are used within the model.

Symbol Value Unit Description
m 1.239e+3 kg Mass of the car
g 9.81 m/s^2 Gravity constant
l_\text{f} 1.19016 m Front wheel distance to center of gravity
l_\text{r} 1.37484 m Rear wheel distance to center of gravity
e_\text{SP} 0.5 m Drag mount point distance to center of gravity
R 0.302 m Wheel radius
I_\text{zz} 1.752e+3 kg m^2 Moment of inertia
c_\text{w} 0.3 - Air drag coefficient
\varrho 1.249512 kg/m^3 Air density
A 1.4378946874 m^2 Effective flow surface
i_\text{g} 3.09, 2.002, 1.33, 1.0, 0.805 - Transmission ratios for the five gears
i_\text{t} 3.91 - Engine transmission ratio
B_\text{f} 1.096e+1 - Pacejka coefficients (stiffness)
B_\text{r} 1.267e+1 -
C_\text{f} 1.3 - Pacejka coefficients (shape)
C_\text{r} 1.3 -
D_\text{f} 4.5604e+3 - Pacejka coefficients (peak)
D_\text{r} 3.94781e+3 -
E_\text{f} -0.5 - Pacejka coefficients (curvature)
E_\text{r} -0.5 -

Test course

The double-lane change manoeuvre presented in [Gerdts2005]Author: M. Gerdts
Journal: Optimal Control Applications and Methods
Pages: 1--18
Title: Solving mixed-integer optimal control problems by Branch\&Bound: A case study from automobile test-driving with gear shift
Volume: 26
Year: 2005
Link to Google Scholar
is realized by constraining the car's position onto a prescribed track at any time t\in[t_0,t_\text{f}]. Starting in the left position with an initial prescribed velocity, the driver is asked to manage a change of lanes modeled by an offset of 3.5 meters in the track. Afterwards he is asked to return to the starting lane. This manoeuvre can be regarded as an overtaking move or as an evasive action taken to avoid hitting an obstacle suddenly appearing on the starting lane.

From a mathematical point of view, the test track is described by setting up piecewise cubic spline functions P_\text{l}(x) and P_\text{r}(x) modeling the top and bottom track boundary, given a horizontal position x.


\begin{align}
P_\text{l}(x) &:=& \left\{ 
	\begin{array}{llrcl}
		0                        & \text{if } &        & x & \leq 44, \\
		4\; h_2\; (x-44)^3       & \text{if } & 44 <   & x & \leq 44.5, \\
		4\; h_2\; (x-45)^3 + h_2 & \text{if } & 44.5 < & x & \leq 45, \\
		h_2                      & \text{if } & 45 <   & x & \leq 70, \\
		4\; h_2\; (70-x)^3 + h_2 & \text{if } & 70 <   & x & \leq 70.5, \\
		4\; h_2\; (71-x)^3       & \text{if } & 70.5 < & x & \leq 71, \\
		0                        & \text{if } & 71 <   & x. &  \\
	\end{array} \right.  \\
P_\text{u}(x) &:=& \left\{ 
	\begin{array}{llrcl}
		h_1                            & \text{if } &        & x & \leq 15, \\
		4\; (h_3-h_1)\; (x-15)^3 + h_1 & \text{if } & 15 <   & x & \leq 15.5, \\
		4\; (h_3-h_1)\; (x-16)^3 + h_3 & \text{if } & 15.5 < & x & \leq 16, \\
		h_3                            & \text{if } & 16 <   & x & \leq 94, \\
		4\; (h_3-h_4)\; (94-x)^3 + h_3 & \text{if } & 94 <   & x & \leq 94.5, \\
		4\; (h_3-h_4)\; (95-x)^3 + h_4 & \text{if } & 94.5 < & x & \leq 95, \\
		h_4                            & \text{if } & 95 <   & x. &  \\
	\end{array} \right.  
\end{align}

where B=1.5\;\text{m} is the car's width and


	h_1 := 1.1\; B + 0.25, \quad
	h_2 := 3.5, \quad
	h_3 := 1.2\; B + 3.75,\quad
	h_4 := 1.3\; B + 0.25.

Test course for the double lane change manoeuvre

Reference Solutions

Reference solutions for the case of a fixed time-grid are given in [Gerdts2005]Author: M. Gerdts
Journal: Optimal Control Applications and Methods
Pages: 1--18
Title: Solving mixed-integer optimal control problems by Branch\&Bound: A case study from automobile test-driving with gear shift
Volume: 26
Year: 2005
Link to Google Scholar
. Solutions for a non-fixed time grid are given in [Gerdts2006]Author: M. Gerdts
Journal: Optimal Control Applications and Methods
Number: 3
Pages: 169--182
Title: A variable time transformation method for mixed-integer optimal control problems
Volume: 27
Year: 2006
Link to Google Scholar
.

Source Code

Model descriptions are available in

Variants

See testdrive overview page.

References

There were no citations found in the article.