Gelöste Aufgaben/JUMP/Driver Controls: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
kjh
[[Gelöste Aufgaben/JUMP#workpackages|← Back to Start]][[Datei:JUMP-Driver.png|mini|Driver Controls|alternativtext=|200x200px]]
Since we’re in a 2D-simulation environment, the driver controls only “gas” (acceleration) and breaks - no directional control needed to be taken into account.


[[Datei:JUMP-Driver.png|mini|Driver Controls]]
== Scope ==
[[Datei:JUMP-driver-blockdiagram.png|mini|Block diagram|alternativtext=|links]]
The track poses challenges that require the driver to control the driving and breaking torque on the wheel. These track-specific challenges include
 
<ul>
<li>
achieving maximum acceleration, thus avoiding wheel-skid and adjusting to a slip that provides optimal traction,</li>
<li>achieving maximum deceleration when breaking and therefore avoiding wheels becoming locked,</li>
<li>avoiding excessive battery-temperatures and thus controlling driving torque.</li>
</ul>
 
==Structure==
The driver is tasked to control wheel slip and wheel skid via the "gas"-pedal. We differentiate between
 
* '''slip''' as the relative micro-velocity necessary to transmit forces in rolling contact and
* '''skip''' as unwanted excessive relative velocity resulting from poor torque-control at the wheels.
 
The information for this task come as "''info''" from the car's motion.[[Datei:JUMP-driver-frictioncharacteristic.png|mini|Friction characteristic and desired skid-velocity-range.]]To avoid wheel skid and to control slip, the driver will aim to maintain a relative velocity at the wheel-contact point “C“ around the small velocity ''v<sub>ε</sub>'', thus reducing torque ''M<sub>W</sub>'' if ''v<sub>rel</sub>'' > ''v<sub>ε</sub>'' and increasing ''M<sub>W</sub>'' if ''v<sub>rel</sub>'' < ''v<sub>ε</sub>''.
 
This is a very challenging system to be controlled because
 
* the velocity domain that we target is rather small and
* the characteristic for ''v<sub>rel</sub>'' > ''v<sub>ε</sub>'' is degressive: the friction force decreases with relative velocity.
 
==Model==
The most common controller in technical applications is a [[wikipedia:PID_controller|PID-controller]] which are based on the proportional, integral, and derivative terms of the error-value. Our target value to control is both
<ul>
<li>the slip-velocity ''v<sub>rel</sub>'' with set-point <math>r := v_\epsilon</math> and</li>
<li>the cruising-velocoty ''v<sub>c</sub>'' with set-point <math>r := V_{set}</math>.</li>
</ul>
 
We define the error values <u>e</u> for both as
 
::<math>\begin{array}{ll}
e_1 &=  f_1(\tilde{v}) \text{ with } \tilde{v} = \frac{\displaystyle v_{rel}}{\displaystyle v_{\varepsilon}}; \text{ here we choose }\\
  &= 1+\tilde{v}
\end{array}</math>
 
and
 
::<math>\begin{array}{ll}
e_2 &=  f_2(\tilde{v}) \text{ with } \tilde{v} = \frac{\displaystyle v_{c}}{\displaystyle V_{set}}; \text{ here we choose }\\
  &= 1-\tilde{v}
\end{array}</math>.
 
The functions for ''e<sub>1</sub>'' ensures that "''p"'' increases e.g. if ''v<sub>rel</sub>'' < ''v<sub>ε</sub>'' and decreases otherwise. [[Datei:JUMP-driver-blockdiagram-controller.png|mini|Block-diagram controller]]With controller parameters ''K<sub>p</sub>, Ki, K<sub>d</sub>'' we get this diagram for the controlled system.
 
When increasing the speed to target-value ''V<sub>set</sub>'', the maximum force delivered at the point of contact ''C'' governs the acceleration of the car-body.
Thus, we set the relevant error-value to be
 
::<math>\tilde{e} := \min(e_1, e_2)</math>
 
The controller thus adds to the state variable
 
::<math>E_I := \displaystyle \int_0^t \tilde{e}(\tau) d\tau</math>
 
of the system.
 
For the differentiator-part we would need to find
 
::<math>\begin{array}{ll}
\dot{e} &= \frac{\displaystyle d\, e(t)}{\displaystyle d\, t}\\
          &=\frac{\displaystyle 1}{\displaystyle v_{red}} \cdot \frac{\displaystyle d v_{rel}(t)}{\displaystyle d t}\\
\end{array}</math>
 
as the rate of change from the [[Gelöste Aufgaben/JUMP/Car-Body|Car-Body]]-Model.
 
So the only state variable from the driver is
 
::<math>\underline{q}_D(t) = \left(E(t)\right)</math> .
 
The output "p" of the submodel is not directly a state variable, but
 
::<math>p^*(t) = K_p\cdot e(t) + K_i\cdot E(t) + K_d\cdot \dot{e}(t) </math>
 
But since the DC/DC-converter can only take values between 0 ... 1 we define
 
::<math>p(t) = \min(\max(p^*,0),1)</math>
 
This constraint in the value of ''p'' brings more headache to the problem, because the integrator-part ''E''of the controller "runs-off" if the error-value <math>\tilde{e} := min(e_1, e_2)</math> is positive for a long period of the simulation. We'll see that later.
 
==Variables==
{| class="wikitable"
!name
!symbol
!unit
|-
|integrator part of PID controller
|E(t)
|1
|}
 
== Parameter ==
{| class="wikitable"
!name
!symbol
!value
!unit
|-
|coefficient of proportional contribution
|''K<sub>p</sub>''
|1
|1/s
|-
|coefficient of integrator contribution
|''K<sub>i</sub>''
|100
|1/s^2
|-
|coefficient of differential contribution - not employed
|''K<sub>d</sub>''
|
|1
|-
|max. tolerated battery temperature
|''T<sub>B,max</sub>''
|60
|°C
|-
|target-speed (choose very high when you want "pedal to the metal")
|''V<sub>set</sub>''
|10
|m/s
|}
 
[[Gelöste Aufgaben/JUMP/E-Motor and Drive-Train|next workpackage: e-motor and drive-train →]]
 
<hr/>
'''References'''
 
# Yuan, Lei; Chen, Hong; Ren, Bingtao; Zhao, Haiyan: Model predictive slip control for electric vehicle with four in-wheel motors, Proceedings of the 34th Chinese Control Conference July 28-30, 2015, Hangzhou, China, p 7895-7900
# ...

Aktuelle Version vom 22. März 2021, 15:46 Uhr

← Back to Start

Driver Controls

Since we’re in a 2D-simulation environment, the driver controls only “gas” (acceleration) and breaks - no directional control needed to be taken into account.

Scope

Block diagram

The track poses challenges that require the driver to control the driving and breaking torque on the wheel. These track-specific challenges include

  • achieving maximum acceleration, thus avoiding wheel-skid and adjusting to a slip that provides optimal traction,
  • achieving maximum deceleration when breaking and therefore avoiding wheels becoming locked,
  • avoiding excessive battery-temperatures and thus controlling driving torque.

Structure

The driver is tasked to control wheel slip and wheel skid via the "gas"-pedal. We differentiate between

  • slip as the relative micro-velocity necessary to transmit forces in rolling contact and
  • skip as unwanted excessive relative velocity resulting from poor torque-control at the wheels.

The information for this task come as "info" from the car's motion.

Friction characteristic and desired skid-velocity-range.

To avoid wheel skid and to control slip, the driver will aim to maintain a relative velocity at the wheel-contact point “C“ around the small velocity vε, thus reducing torque MW if vrel > vε and increasing MW if vrel < vε.

This is a very challenging system to be controlled because

  • the velocity domain that we target is rather small and
  • the characteristic for vrel > vε is degressive: the friction force decreases with relative velocity.

Model

The most common controller in technical applications is a PID-controller which are based on the proportional, integral, and derivative terms of the error-value. Our target value to control is both

  • the slip-velocity vrel with set-point and
  • the cruising-velocoty vc with set-point .

We define the error values e for both as

and

.

The functions for e1 ensures that "p" increases e.g. if vrel < vε and decreases otherwise.

Block-diagram controller

With controller parameters Kp, Ki, Kd we get this diagram for the controlled system.

When increasing the speed to target-value Vset, the maximum force delivered at the point of contact C governs the acceleration of the car-body. Thus, we set the relevant error-value to be

The controller thus adds to the state variable

of the system.

For the differentiator-part we would need to find

as the rate of change from the Car-Body-Model.

So the only state variable from the driver is

.

The output "p" of the submodel is not directly a state variable, but

But since the DC/DC-converter can only take values between 0 ... 1 we define

This constraint in the value of p brings more headache to the problem, because the integrator-part Eof the controller "runs-off" if the error-value is positive for a long period of the simulation. We'll see that later.

Variables

name symbol unit
integrator part of PID controller E(t) 1

Parameter

name symbol value unit
coefficient of proportional contribution Kp 1 1/s
coefficient of integrator contribution Ki 100 1/s^2
coefficient of differential contribution - not employed Kd 1
max. tolerated battery temperature TB,max 60 °C
target-speed (choose very high when you want "pedal to the metal") Vset 10 m/s

next workpackage: e-motor and drive-train →


References

  1. Yuan, Lei; Chen, Hong; Ren, Bingtao; Zhao, Haiyan: Model predictive slip control for electric vehicle with four in-wheel motors, Proceedings of the 34th Chinese Control Conference July 28-30, 2015, Hangzhou, China, p 7895-7900
  2. ...