You are on page 1of 15

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/233441055

Advanced motorcycle virtual rider

Article  in  Vehicle System Dynamics · September 2008


DOI: 10.1080/00423110801935822

CITATIONS READS

17 198

3 authors, including:

Roberto Lot Matteo Massaro


University of Southampton University of Padova
101 PUBLICATIONS   1,554 CITATIONS    69 PUBLICATIONS   645 CITATIONS   

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Roberto Lot on 13 October 2015.

The user has requested enhancement of the downloaded file.


Advanced Motorcycle Virtual Rider
R. LOT, M. MASSARO and R. SARTORI

Department of Mechanical Engineering, University of Padova, Via Venezia, 1 – 35131 Padova, Italy

SUMMARY
The target of this work is the development of a motorcycle virtual rider model that plans a trajectory and
follows it. The reference speed and trajectory are obtained by applying the Optimal Maneuver Method (i.e.
a non-linear optimal control technique) to a basic model of motorcycle. Then, the vehicle control and
guidance are obtained using a PID architecture which gains varies with the speed. Separated loops for
speed and lateral motion controls have been implemented, the lateral motion control is complex because of
the motorcycle instability, whereas the longitudinal control is quite simpler. The characteristics of the PID
control are illustrated and discussed in details, some examples are given for a cornering maneuver first and
then for a run in the Mugello circuit.

Keywords: motorcycle, multibody, control, navigation, guidance


ADVANCED MOTORCYCLE VIRTUAL RIDER

1. INTRODUCTION

Multibody simulations represent an important instrument for the design of


motorcycles, especially in the early stages of the process. For simulating the
motorcycle dynamics it is necessary not only a motorcycle model, but also a ‘virtual
test driver model’, since two-wheeled vehicles are unstable and it is impossible to
simulate open-loop maneuvers like for cars. It should be pointed out that simulations
results may be remarkably influenced by the rider model used, therefore it is
important that the virtual rider has a behavior compatible with human riders. In
contrast to the extensive literature on car driver models [1] and aircraft pilot models
[2], the literature on motorcycles is limited [3] and the problem has not been
satisfactorily solved yet. From the theoretical point of view the non-linear optimal
control approach solves these questions since it leads to a perfect driver that, given
the track, the vehicle characteristics and rider physiological limits, finds the optimal
trajectory and completes the maneuver in the minimum time. This approach, called
Optimal Maneuver Method, is very attractive because the speed and trajectory
planning problem is solved simultaneously with the vehicle control and guidance
problem. Moreover, this approach has the advantage that the virtual rider adapt itself
to any different vehicle. This Optimal Maneuver Method has been successfully
applied to a basic model of motorcycle [4],[5], unfortunately computational aspects
preclude its practical application to complex multibody models which are frequently
used for motorcycles design. Therefore, it is proposed the idea of split the trajectory
planning and vehicle control into two subtasks: the first one is solved by applying the
Optimal Maneuver Method to a basic motorcycle model, then the optimal inputs are
applied to the more complex motorcycle model. Of course, the motion of the second
vehicle will be different from the computed optimal maneuver and it may also fall
down. However, the motorcycle may be stabilized and the motion error reduced by
implementing an additional PID controller, which targets are the optimal speed and
trajectory. This PID control requires a gains scheduling because the motorcycle
behavior changes a lot with the speed, longitudinal and lateral acceleration [6].
In the following section the Optimal Maneuver Method is briefly described (while
more details are available in references [4],[5]), then the PID architecture is presented
and discussed in details, some results are shown for a cornering maneuver and a run
in the Mugello circuit.

2. CONTROL DESIGN

Human riders control the motorcycle by means of the throttle, front and rear brakes,
steering torque on the handlebar and torso movements. All these inputs are included

2
ADVANCED MOTORCYCLE VIRTUAL RIDER

in the models, except the torso movement which has only a secondary relevance.
Optimal speed and trajectory are estimated with the application of the Optimal
Maneuver Method to a basic motorcycle model, which derives from Sharp ’71 model
and includes a more realistic tires plus an elementary suspension model [7].
On the contrary, the PID control is applied to a detailed motorcycle model, which
includes all relevant features of a real vehicle, such as deformable tires with non-
linear behavior, suspension’s kinematics, shock absorber, etc. More details on the
motorcycle model may be found in reference [8].

2.1 SPEED AND TRAJECTORY PLANNING WITH THE OPTIMAL


MANEUVER METHOD

The planning problem is solved via Optimal Maneuver Method (OM). More in detail,
it consists in finding the optimal control u that minimizes the functional (i.e. the
maneuver time)
L 1
J (x, u) = ∫ ds
0 V

respecting to the differential equations of motion


f (x, x , u) = 0
the boundary conditions
x(0) = x 0
x( L ) = x L
and some inequality constraints
g (x, u) ≤ 0
which are related to the road width, the tire adherence limit, the available engine
power, the maximum rider steering torque and so on. This yields to a two points
boundary value problem, which mathematical formulation and numerical solution to
a basic motorcycle model is detailed described in reference [4],[5]. For the aim of this
paper, it is enough to consider this method as a tool for the estimation of the optimal
motorcycle inputs (steering torque, brakes, throttle) as well as the optimal speed and
trajectory.

2.2 THE SPEED CONTROL LOOP

For sake of simplicity the speed and the path control have separated loops. In
particular the vehicle speed is controlled by the throttle and brakes. The speed control
is shown in Figure 1: motorcycle has front and rear independent brakes, the properly

3
ADVANCED MOTORCYCLE VIRTUAL RIDER

distribution of the braking force is compute by the OM together with the optimal
speed, therefore the speed control uses optimal inputs and a simple proportional
correction on the speed error.
motorcycle speed
Optimal
Maneuver qOM front
front brake
+ brake force
+ Motorcycle
u
uOM - max(Su,0)
Su Model
speed Ku
+ min(Su,0)
rear thrust or
+ brake force
rear brake/thrust
+
Figure 1. Speed control architecture.

2.3 THE ROLL ANGLE CONTROL LOOP

The simple superimposition of the control inputs obtained from the OM to the
detailed model of the motorcycle causes the vehicle falling, as shown in Figure 2.
1
target a) 50
Roll Angle [rad]

0.5
Roll Angle [deg]

25

0 0

actual -25
-0.5

-50
-1
0 2 4 6 8 10
Time [s]

Figure 2. Simulation with OM inputs: the motorcycle falls down.

In order to avoid the vehicle capsize and to reduce the roll angle error, it has been
introduced the following PI controller:
=τ K P ,ϕ (ϕOM − ϕ ) + K I ,ϕ ∫ (ϕOM − ϕ )dt
where τ is the steering torques, ϕOM and ϕ are the OM and actual roll angles, K P ,ϕ
and K I ,ϕ are respectively the proportional and integral gains.

4
ADVANCED MOTORCYCLE VIRTUAL RIDER

normalized roll rate []


0.5

0
0 2 4 6 8 10
frequency[Hz]

Figure 3. FFT of a 2006 MotoGP bike on the Qatar circuit.

It is straightforward that human riders may control the handlebar only under a
frequency threshold. A reasonable value of this threshold frequency may be deduced
from Figure 3, which shows the frequency spectrum of the roll rate for a MotoGP
race in the Qatar circuit. Even if the steering torque is not directly available, it is
reasonable to suppose that it does not contain frequency higher than the motorcycle
motion (about 5-6 Hz). This human behavior has been replicated by introducing a 2nd
order low pass filter, as shown in Figure 4.

motorcycle roll angle

Optimal ϕ Roll Angle Controller steering


torque
Maneuver ϕΟΜ Motorcycle
PI LowPass + τ
roll angle Model
controller filter
+ +
τΟΜ
steering torque

Figure 4. The roll angle control loop.

The application of the Nyquist Theorem to the transfer function between the steering
torque and the roll angle allows to set the range of proportional gains that give a
stable control. In Figure 4 PI is the regulator, Low Pass Filter (LP) is a 2nd order filter
and motorcycle is the plant (M).
Figure 5 shows the Nyquist plot of T ( s ) = PI ⋅ LP ⋅ M with PI=-1 (i.e. with unitary
proportional gain and with zero integral gain) with a low pass cut frequency
f c = 6 Hz and damping ratio ζ = 0.7 , at a low and high speed and at a low and high
lateral acceleration for a total of four different motion conditions.
In straight motion at a speed of 10 m/s (Figure 5.a) all the vehicle modes are stable. A
stable control loop is achieved when no Nyquist encirclements around the critical
point (-1,0) take place. Figure 5a allows the computation of the maximum admissible

5
ADVANCED MOTORCYCLE VIRTUAL RIDER

proportional gain.
At the same speed but with a roll angle of 40° (i.e lateral acceleration of 8 m/s2 Figure
5.b) an unstable low frequency vibrating mode is present: a stable control loop is
achieved if two counter-clockwise encirclements of the critical point take place. This
is easily obtained by simply changing the value of the proportional gain, whose effect
is to scale the Nyquist plot. This is a case of conditioned stability, i.e. both a
maximum and a minimum gains are present.
At 50 m/s and straight motion, (Figure 5.c) an unstable, non-vibrating mode is
present: in order to have a stable loop one counter clock-wise encirclement is needed.
Once again it is easily obtained by changing the proportional gain of the P controller.

a) Speed = 10 m/s – Lateral Acceleration = 0 m/s2. b) Speed = 10 m/s – Lateral Acceleration = 8 m/s2.
(all stable modes) (unstable low frequency mode: 0.2192 ± 0.2223j)

c) Speed = 50 m/s – Lateral Acceleration = 0 m/s2. d) Speed = 50 m/s – Lateral Acceleration = 8 m/s2.
(unstable capsize: +0.0003 + 0j) (unstable capsize: 0.0044 +0j)

Figure 5. Nyquist plot of the transfer function T = PI ⋅ LP ⋅ M varying the speed and lateral acceleration.

6
ADVANCED MOTORCYCLE VIRTUAL RIDER

Finally, at a speed of 50 m/s and lateral acceleration of 8 m/s2, i.e. about 40° (Figure
5.d), the situation is close to the one of the straight motion (Figure 5.c), but the range
of stable gains is narrower.
Figure 5 shows the typical operative condition of the motorcycle: either the capsize
mode is stable or not, the motorcycle may be driven with a pure proportional gain on
the roll angle. However, it should be pointed out that sometimes the weave mode
(typically 2-4 Hz) or the wobble mode (typically 6-10 Hz) may be unstable, in this
case the proposed controller is not able to stabilize the vehicle. This is not a major
issue, since also human riders cannot control the motorcycle when weave or wobble
are unstable.
The proposed controller contains a roll integral term too, which is used for
eliminating the steady state error on the roll angle.
As an example, a simulation on a ‘O circle’ of radius 200 m is presented in Figure 6.
It can be seen that even if the roll control is quite good (Figure 6.b), the lateral
deviation from the road center line is uncontrolled (Figure 6.c-d), i.e. the vehicle does
not follow the target path. This happens both because the follower is not perfect and
because of the differences between the essential and the complex models. It is
therefore also necessary to observe the path error.
70 70 1

60
a) b) 50
60
actual
Roll Angle [rad]

0.5
Roll Angle [deg]

Roll Angle [deg]


50 25
Speed [m/s]

50

40 40 target actual
0 0
30 target 30

20 20 -25
-0.5
10 10
-50
0 0 -1
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Time [s] Time [s]

400 400 10 10
350 c) 350 target d)
lateral position [m]

300 300 5 5
Roll Angle [deg]
Roll Angle [deg]

250 250
Y [m]

200 200 0 0
150 150
actual
100 100 -5 -5
50 50
0 0
-10 -10
-100 0 100 200 300 400 500 0 5 10 15 20 25 30 35 40
X [m] Time [s]

Figure 6. Simulation with roll control only.

7
ADVANCED MOTORCYCLE VIRTUAL RIDER

2.4 VEHCILE TRACKING AND TRAJECTORY CONTROL LOOP

The roll angle control loop stabilizes the motorcycle and reduces the roll angle error,
but since no information about the trajectory is given to this controller, it is obvious
that it cannot reduce the trajectory error.
First of all, it is necessary to estimate the vehicle deviation from the target path. This
may be done in a very easy and effective way by describing the trajectory using
curvilinear coordinates (as shown in Figure 7) instead of Cartesian coordinates as
usual. Indeed, real roads are similar to strings: they are long and narrow. By given the
road radius of curvature as a function of the traveled space s, the centre line of the
road is completely defined. Then, a second curvilinear coordinate n may be used for
describing the position of the vehicle with respect to the road centre. This vehicle
tracking algorithm requires the inclusion in the vehicle model of three differential
path equations and is described in details (with example of application) in references
[9],[10].

center line s R

vehicle n
position
P
road
radius
O

Figure 7. Trajectory description in Curvilinear Coordinates.

At this point, an additional loop aimed to the vehicle path deviation control has been
introduced (it is depicted in Figure 8).
motorcycle path deviation

motorcycle roll angle

Optimal Path Deviation ϕ Roll Angle steering


n torque Motorcycle
Maneuver - Controller saturation
- Controller
nΟΜ en ∆ϕ + ϕο + τ
lateral position PD PI + LP Model
+ + + +
ϕΟΜ
roll angle
τΟΜ
steering torque

Figure 8. Path control architecture.

This controller changes the original roll target point (i.e. the OM reference ϕOM ) by

8
ADVANCED MOTORCYCLE VIRTUAL RIDER

adding a correction depending on the path error. More in details, the trajectory error
is defined as follows
=en nOM − n
where nOM and n are the respectively the target and actual lateral deviation from the
road center. A requirement of the controller is to regulate the trajectory error without
overshoot. For this purpose, the above error is replace by a first order function
e=
t en + Tn en and a correction of the roll angle is computed as follows
ϕ K t ( en + Tn en )
∆=
where ∆ϕ is the correction of the target roll, K t is the proportional gain on the
controlled lateral function, Tn is the time constant of the error dynamics when
approaching et ≅ 0 .
Since the roll control loop assure the stability of the system, the simpler Bode
criterion is applicable. Therefore the analysis of the transfer function between the roll
correction ∆ϕ ° and the lateral error function et allow the tuning of K t . It can be
seen that it is straightforward to chose a proper value of the K t gain that allow a
positive phase margin on the 0 dB crossing frequency (lower than 1 Hz) Figure 9.
Bode Diagram

40

20

0
Magnitude (dB)

-20

-40

-60

-80

-100
450

360

270
Phase (deg)

180

90

-90
-3 -2 -1 0 1 2
10 10 10 10 10 10
Frequency (Hz)

Figure 9. Transfer function between ∆ϕ ° and et at 20 m/s for lateral acceleration from 0 to 8 m/s2.

The correction of the roll angle is then added to the reference roll angle. This new roll
target point may now reach un-physical values, therefore it is essential to saturate it
as follows:
=eϕ sat (ϕOM + ∆ϕ ) − ϕ
The PI controller on the roll angle becomes now:

9
ADVANCED MOTORCYCLE VIRTUAL RIDER

=τ KPϕ eϕ + KIϕ ∫ eϕ dt
It does not matter the way the path controller affects the transient performance of the
roll controller, since the final target is the trajectory. Besides it should be noted that
when the saturation is active, the controller behaves like a simple PID roll control,
assuring the stability of the vehicle.

The steady-state error on the lateral position en = nOM − n is null only in rectilinear
motion. Precisely, the integral action of the roll controller states
ϕ − ϕ MO
ϕ ϕ MO + ∆ϕ
= ⇒ ϕ − ϕ MO
= K t en ⇒ =
en
Kt

where ϕ is the roll of the complex model, ϕ MO is the roll of the essential model. .In
general this error is present because the differences between the model lead different
steady roll angle. The higher is the coefficient K t , the lower will be the steady
trajectory error.
1 10 10
Roll Angle [rad]

actual a) 110 b)
lateral position [m]

0.5 5 5

Roll Angle [deg]


90 target
target
0 0 0
70
Speed [m/s]

actual
-0.5 target 50
-5 -5
actual
-1 30 -10 -10
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Time [s] Time [s]

400 50
steer torque [Nm]

400 1.5
350 c) 350
target d)
0 actual
300 300 1
Roll Angle [deg]

250 250 -50


Y [m]

200 200 0.5


150 -100
sn error [m]

150
100 100
0
-150
50 50
0 0
-200 -0.5
-100 0 100 200 300 400 500 0 5 10 15 20 25 30 35 40
X [m] Time [s]

Figure 10. Simulation with roll and lateral position control.

As an example, Figure 10 shows a simulation on a ‘O circle’ of radius 200 m with


both the roll and the lateral position control. Figure 10.a shows that the vehicle

10
ADVANCED MOTORCYCLE VIRTUAL RIDER

accelerate from 35 to 50 m/s approaching the curve, then it starts braking when it is
already 0.64 rad leaned. The steady cornering condition are 0.72 rad and 37 m/s. At
33 s the motorcycle start reducing the its roll angle and simultaneously accelerates.
Figure 10.b-c show that the trajectory follower is quite good. In Figure 10.d the
comparison between the essential and complex model steering torque is presented: it
can be seen that the steady state OM steering torque (21 Nm) is double the complex
model steering torque (9 Nm). The main reason is that the essential model does not
take into account any twisting torque in the tires model, whereas the complex model
does. Figure 10.d also shows that the maximum trajectory error is 0.330 m at 3 s.

The simulation of a portion of the Mugello circuit (curves named S. Donato – Luco –
Poggio Secco) is depicted in Figure 11 in terms of vehicle inputs (handlebar steering
torque, front and rear brake/thrust forces) and vehicle motion (speed, roll angle and
trajectory). For making this simulation it was essential to varies the control gain as a
function of the speed, as described in appendix.
2000 70 100 100
Wheel longitudinal force [N]

rear tire a) b)
1500 60 75
Steer Torque [Nm]

1000 50 actual 50
Roll Angle [deg]

Roll Angle [deg]


50
500 25
40
0 0 0
30
-500 -25
-1000 20 -50 -50
OM
-1500 front tire 10 -75
-2000 0 -100 -100
0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80
Time [s] Time [s]
70 70 1
target c) actual d) 50
60 60
actual
Roll Angle [rad]

0.5
Roll Angle [deg]
Roll Angle [deg]

50 25
Speed [m/s]

50

40 40
0 0
30 30

20 20 -25
-0.5
10 10
target -50
0 0 -1
0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80
Time [s] Time [s]

11
ADVANCED MOTORCYCLE VIRTUAL RIDER

200 900 10 10
e) 800 f)

lateral position [m]


100
700 5 5

Roll Angle [deg]


Roll Angle [deg]
0 600
X [m]

500
-100 0 0
400
-200 300 actual
200 -5 -5
-300
100
target
-400 0 -10 -10
0 200 400 600 800 0 10 20 30 40 50 60 70 80
Y [m] Time [s]

Figure 11. Simulation on a portion of the Mugello circuit (curves named S. Donato – Luco – Poggio Secco).

CONCLUSIONS

This paper illustrates an original motorcycle virtual rider which includes two separate
layers. The first layer, based on the Optimal Maneuver Method, finds the optimal
trajectory and completes the maneuver in the minimum time taking into account the
track and vehicle characteristics, as well as rider capabilities. Due to its complexity,
this method cannot be applied to a complex multibody model of the motorcycle.
Therefore a second layer which stabilizes the vehicle and follows the reference
trajectory has been developed. This controller has separates loops for the speed and
trajectory following. In order to track the vehicle position with respect the target
trajectory an effective tracking algorithm based on curvilinear coordinates has been
implemented. The trajectory controller includes an internal inner (based on the roll
angle) that stabilizes the vehicle plus a second inner with the purpose of reducing the
trajectory error. The characteristic of the controller are discussed in details, in
particular it has been found that control gains must be adapted as the motorcycle
speed varies. The example of a cornering maneuver and a run on Mugello circuit has
been presented.

REFERENCES
[1] M. Plöchl and J. Edelmann. Driver models in automobile dynamics application, Vehicle System
Dynamics, Vol. 45, Nos. 7–8, July–August 2007, 699–741.
[2] D. McRuer and D. Graham. Flight control century: Triumphs of the systems approach, J. Guid.
Control Dyn., vol. 27, no. 2, pp. 161–173, 2004.
[3] R. Frezza, A. Beghi. A virtual motorcycle driver for closed-loop simulation, IEEE Control
Systems Magazine, v 26, n 5, October, 2006, p 62-77.
[4] V. Cossalter, M. Da Lio, R. Lot, L. Fabbri. A general method for the evaluation of vehicle
manoeuvrability with special emphasis on motorcycles, Vehicle System Dynamics, vol. 31, pp.
113-135, 1999

12
ADVANCED MOTORCYCLE VIRTUAL RIDER
[5] E. Bertolazzi, F. Biral, M. Da Lio. Symbolic-numeric efficient solution of optimal control
problems for multibody systems, Journal of Computational and Applied Mathematics, 185
(2006) 404–421.
[6] R.S. Sharp, S. Evangelou and D.J.N. Limebeer. Advances in the Modelling of Motorcycle
Dynamics, Multibody System Dynamics 12: 251–283, 2004.
[7] V. Cossalter. Motorcycle Dynamics. Lulu.com, 2006, ISBN: 978-1-4303-0861-4.
[8] Cossalter V., Lot R. A motorcycle multi-body model for real time simulations based on the
natural coordinates approach, Vehicle System Dynamics: International Journal of Vehicle
Mechanics and Mobility,Vol., 37, n°6 pp. 423-447.
[9] R. Lot, V. Cossalter. A non linear rider model for motorcycles, Proceedings of the FISITA 2006
World Automotive Congress, 22-27 October, Yokohama, Japan, Paper n° F2006V075.
[10] R. Lot, M, Massaro. A combined model of tire and road surface for the dynamic analysis of
motorcycles handling, Proceedings of the FISITA 2006 World Automotive Congress, 22-27
October, Yokohama, Japan, Paper n° F2006V189.

APPENDIX 1: MOTORCYCLE CHARACTERISTICS

The main characteristics of the motorcycle are collected below (SI units)

Vehicle mass 260.00


longitudinal position of CoM 0.665
vertical position of the CoM 0.645
wheelbase 1.414
normal trail 0.092
caster angle 0.4450
rear wheel spin inertia 0.664
front wheel spin inertia 0.468
rear rolling radius 0.318
rear toroid radius 0.094
front rolling radius 0.300
front toroid radius 0.060
front tire cornering stiffness 11.10
front tire camber stiffness 1.108
Front tire lateral friction 1.500
front relaxation length 0.094
rear tire cornering stiffness 8.763
rear tire camber stiffness 1.122
rear tire lateral friction 1.500
rear relaxation length 0.139

13
ADVANCED MOTORCYCLE VIRTUAL RIDER

APPENDIX 2: CONTROL GAINS

speed ≤ 16 m/s speed = 20 m/s speed ≥ 25 m/s


KPϕ -75 -250 -250
KIϕ -60 -50 -50
Kt 0.01 0.01 0.02
T 2.5 2.5 5.0

14
View publication stats

You might also like