Вы находитесь на странице: 1из 4

A Study of Bicycle Dynamics via System Identification

Chih-Keng Chen, Trung-Kien Dao


Dept. of Mechanical and Automation Engineering
Dayeh University
Changhua, Taiwan
ckchen@mail.dyu.edu.tw
Abstract This study investigates bicycle dynamic
properties by using system identification approaches. The
nonlinear bicycle model with configuration parameters from
a previously developed benchmark model is studied. The roll
angle of the bicycle is controlled at different speeds to
generate input-output data including steering torque, roll
and steering angles. The collected data are then used to
identify the one-input two-output linear model by a
prediction-error identification method using
parameterization in canonical state-space form. Numerous
properties for various speed ranges are discussed from the
pole and zero locations of the identified linear model. The
system stability, limit-cycle phase portraits of the roll and
steering angles, and the non-minimum phase property of the
nonlinear system are further investigated and compared.
Keywords bicycle dynamics, bicycle control, system
identification
I. INTRODUCTION
The dynamics of bicycles is a classical topic in
mechanics. For the first time, differential equations of
motion of a bicycle were established by Whipple in 1899
[1]. However, since massive computational facilities were
not available at the time, Whipples equations could not be
solved. Jones [2] pointed out that, in order to balance a
ridden bicycle, an sufficient centrifugal force could be
generated to correct its fall by steering the fork into the
direction of the fall. Schwab and Meijaard et al. [3][4]
developed linearized equations of motion for a bicycle as a
benchmark. In their study, the results obtained by pencil-
and-paper, the numerical multibody dynamics program
SPACAR and the symbolic software AutoSim, were
compared for validation. Limitations due to the
simplification of the benchmark model were later
discussed by Sharp [5], including acceleration effects,
finite cross-section tires, tire forces and dynamics, frame
compliance and rider compliance. Among studies related
to two-wheel vehicles, Sharp et al. [6] presented a study
analyzing straight-running motorcycles. Unlike the
Whipples model, the tires were modeled as force and
moment producers rather than as rolling constraints. In
others studies, Sharp applied optimal linear preview
control theory in the steering control of bicycles [5] via the
benchmark model developed in [3] and [4] with extensions
to the limitations pointed out in the same paper. The
benchmark bicycle dynamic model presented by Schwab
and Meijaard et al. [3][4] was reproduced from Whipples
linear model [1] with certain assumptions which, in
principle, cause loss in dynamic properties.
In this study, a different approach using system
identification techniques has been applied to determine the
dynamic behaviors of bicycles from the input-output data
of a nonlinear bicycle model. This study points out and
discusses the pole-location portraits vs. forward speed and
the corresponding dynamic properties. Starting from the
eleven-generalized-coordinates dynamic model described
in a previous study [7] with configuration parameters
adopted from the benchmark bicycle [4], input steering
torque signal and output data including roll and steering
angles were generated from simulations. System
identification has been used for different speeds to obtain
speed-specific linear models. From identification results
and simulations with the nonlinear bicycle model,
important nonlinear dynamic behaviors of bicycles are
discussed and compared with the linearized benchmark
model.
II. SYSTEM-IDENTIFICATION APPROACH
The speed-dependent benchmark model introduced by
Schwab et al. [3] was derived from Whipples linear model
[1] with two parameters in configuration space and two in
velocity space defined by
( )
2
1 0 2
v g v + + + = Mq K q K K q f , (1)
where [ , ]
T
u o = q is the vector composed of roll and
steering angles, respectively, [0, ]
T
t = f is the force
vector consisting of the steering torque t , v is the bicycle
forward speed, g is the gravity, and M, C
1
, K
0
and K
2
are
bicycle-dependant constant coefficient matrices. In this
study, a prediction-error method [8] is used to identify the
bicycle state-space model in canonical from. To start off,
equation (1) can be rewritten as
( )
1 2 1
1 0 2
v g v

(
= + + +

q M K q K K q M f . (2)
By choosing the state vector [ , , , ]
T
u u o o = x

, the state-
space model can be expressed in the canonical form as
,
,
t = +
=
x Ax B
y Cx

(3)
where
1 2 3 4
5 6 7 8
0 1 0 0
0 0 0 1
a a a a
a a a a
(
(
(
=
(
(

A ,
1
2
0
0
b
b
(
(
(
=
(
(

B and
1 0 0 0
0 0 1 0
(
=
(

C . It can be noticed from (2) and (3) that
2
, 1, 3, 5, 7,
, 2, 4, 6, 8,
i i
i
i
v i
a
v i
o |
o
+ =

(4)

2010 International Symposium on Computer, Communication, Control and Automation


978-1-4244-5567-6/10/$26.00 2010 IEEE 3CA 2010
where
i
o and
i
| are constants dependent on M ,
0,1,2 i =
K
and
1,2 i
b
=
are constants dependent on M .
Figure 1. System-identification schematic
Canonical parameterization represents a state-space
system in its minimal form, i.e., the system dynamics are
expressed by using a minimal number of free parameters.
In system (3), free parameters
1..8 1,2
T
i i
a b
= =
( =

appear
in only the second and forth rows in the system matrices
A and B . By this parameterization, numerical Gauss-
Newton method can be used to search for the optimal
parameters which minimize the error in least-squares sense
defined by
2
1
( ) ( ) ( )
n
i
E i i
=
=
_
y y , where ( ) i y is the i
th
original output data sample, ( ) i

y is the estimated i
th
output sample from the simulated model using parameters
with the original input data, n is the number of data
samples. The initial parameter values
0
required in the
Gauss-Newton method can be estimated using subspace
methods [8]. This estimation procedure has been
implemented in the PEM function within MATLAB.
The identification process is shown in Figure 1. To
identify the model given by (3), or more specifically, the
matrices A and B , at a given speed, the time history of
the input steering torque t and the corresponding outputs
composed of o and u needs to be generated. However, as
the bicycle can be unstable at certain speeds, a roll-angle
controller is necessary to produce sufficiently long
simulations. The controller can be of any type, such as PID
or fuzzy controllers [7][9], and the control accuracy is not
an important issue since the only requirement is to keep
the bicycle from not falling down during these simulations
to ensure enough input-output data are obtained.
Nevertheless, as the input-output identification data are
from closed-loop simulations, the input signal (steering
torque) may not be persistently exciting enough. To
reinforce the excitation of the identification data, random
signals are generated and added to the input torque.
III. SYSTEM-IDENTIFICATION RESULTS
A. Nonlinear-Bicycle Identification
For the simulations in this study, parameters are
derived from the benchmark bicycle provided in [10]. The
bicycle is controlled to follow a sinusoidal roll-angle with
increasing frequency using a fuzzy-logic controller [9].
The uniformly distributed pseudo-random number signals
with amplitude smaller than 1Nm are generated and added
to the input steering torque to make the input signal
persistently exciting. Figure 2 shows the identification data
from a simulation with the initial forward a speed of
4.2m/s and time step of 0.01s. This data is then plugged
into the PEM function in MATLAB to identify the
continuous canonical state-space model. This resulted
0 1 0 0 0
5.392 0.432 12.570 3.177 19.711
, .
0 0 0 1 0
13.645 20.944 20.913 17.000 233.588
( (
( (

( (
= =
( (
( (


A B
(5)
0 5 10 15 20 25 30 35 40 45 50
-2
0
2
(
N
m
)
0 5 10 15 20 25 30 35 40 45 50
-6
-4
-2
0
2
4
6
(
d
e
g
)
0 5 10 15 20 25 30 35 40 45 50
-0.2
0
0.2
Time (s)
(
d
e
g
)
Steering torque
Roll angle data
Steer angle data
Id. model roll angle
Id. model steer angle
Roll angle error
Steer angle error
Figure 2. Identification at speed of 4.2m/s
The four poles calculated from A are 15.101 ,
1.668 , and 0.331 3.343 j . The obtained linear model
is then used in an open-loop steering simulation by giving
the original steering torque for verification. The result
presented in Figure 2 shows that the output roll and
steering angles follow the original data with small error.
The largest errors in the total 50s simulation time are
0.231 for roll angle and 0.172 for steering angle. This
comparison verifies the fitting accuracy of the identified
model.
From the identified state-space model, transfer
functions G
u
and G
o
corresponding to the roll and
steering angles, respectively, with respect to steering
torque are obtained as follows,
2
4 3 2
2
4 3 2
19.711 1077.263 2524.109
,
17.431 47.586 205.934 284.279
233.588 311.882 1528.374
.
17.431 47.586 205.934 284.279
s s
G
s s s s
s s
G
s s s s
u
o
O
= =
T + + + +
A
= =
T + + + +
(6)
The corresponding zeros of G
u
are 52.199 and
2.453 , and those of G
o
are 3.311 and 1.976 . G
o
is
identified to be a non-minimum phase system which
contains one right-half-plane zero. This effect in two-
wheeled vehicles is conventionally referred to as
countersteering behavior [11].
B. Pole Locations and Dynamics
The procedure in Subsection 3.1 is repeated over the
speed range from 1 to 15m/s. For the speeds lower than
1m/s, collected data is insufficient for the identification
process since simulations could not be implemented in
sufficient time. The pole locations of the identified model
are shown in Figure 3(a). Compared with the poles from
the linearized benchmark bicycle [3][4], the speeds can
also similarly be divided into four ranges A, B, C and D,
and the pole locations have similar variations. At very low
speeds, all of the four poles are real, including two stable
and two unstable poles. As the speed increases, the two
unstable real poles coalesce before splitting to form a

complex conjugate pair, leading to the oscillatory weave


mode. The real part of these poles decreases then becomes
stable, whereas the imaginary part keeps increasing. At
first, the capsize pole moves from the stable to unstable
regions but stays close to zero as the speed increases. The
castering pole is always stable and its absolute value keeps
increasing at high speeds.
0 2 4 6 8 10 12 14 15
-30
-25
-20
-15
-10
-5
0
5
10
15
20
v (m/s)

v
c
v
w
v
l
B
1
B
2
C D
v
d
A
(a)
3 3.2 3.4 3.6 3.8 4 4.2
-16
-14
-12
-10
-8
-6
-4
-2
0
2
4
v (m/s)

v
l
v
w
B
1
B
2
C
(b)
Figure 3. Identified eigenvalues from nonlinear model for speeds (a)
from 1 to 15m/s (b) from 3 to 4.2m/s
There are, however, important differences which
should be pointed out. The boundaries of ranges A, B, C
and D are different from the benchmark model with
1.465m/s
d
v = , 3.994m/s
w
v = and 10.525m/s
c
v = ,
which extend self-stabilizing region C. Unlike the
castering eigenvalue of the benchmark model which
always moves far away from zero, the variation of the pole
identified from the nonlinear model is more complicated.
The most remarkable difference is the variation of the
capsize mode within range B
2
from 3.152m/s
l
v = to
w
v ,
in which the capsize pole goes down to 9.123 at a speed
of 3.280m/s then up to 0.797 at a speed of 3.453m/s very
quickly, where the difference in speed is 0.173m/s. Within
this range, the capsize pole passes to a stable region at
3.401m/s and back to an unstable region at 3.568m/s. This
is made clear in Figure 3(b).
C. Limit Cycles
The existence of periodic orbits is shown in Figure 4
obtained at different initial conditions and speeds within
range B
2
. In these simulations, the forward speed is set as
3.5m/s, initial steering angles o as 10, 5 and 0.1, initial
roll angles u as zero, and no steering torque is applied.
The initial steering angle speeds o

are zero in all three


cases, and initial roll angle speeds u

of 55.236 ,
27.291 and 0deg/s. It appears that for these three cases,
both steering and roll angles approach very close to
periodic orbits. This can be explained by looking at the
total energy which is constant during the simulations since
there is no external non-conservative force applied.
-25 -20 -15 -10 -5 0 5 10 15 20 25
-60
-40
-20
0
20
40
60
Roll angle (deg)
R
o
ll
a
n
g
le

s
p
e
e
d

(
d
e
g
/
s
)
o
0
=10, u
0
=0
o
0
=5, u
0
=0
o
0
=0.1, u
0
=0
Figure 4. Limit cycles of steering angle at speed of 3.5m/s for different
initial steering angles
-30 -20 -10 0 10 20 30
-80
-60
-40
-20
0
20
40
60
80
Roll angle (deg)
R
o
ll
a
n
g
le

s
p
e
e
d

(
d
e
g
/
s
)
o
0
=0, u
0
=0.1
o
0
=0, u
0
=15
o
0
=0, u
0
=25
Figure 5. Limit cycles of roll angle at speed of 3.5m/s for different initial
roll angle
Figure 5 shows the roll-angle phase portraits for
simulations at the same speed of 3.5m/s for different initial
roll angles of 0.1, 15, and 25 while keeping the initial
steering angle at zero in all cases. It appears that in
different cases, the roll angle approaches different orbits,
which can also be realized by looking at the total energy.
With increasing initial roll angle, the potential energy
decreases remarkably, thereby, also making the total
energy decrease. When the bicycle is at lower energy, its
roll angle swings at a larger amplitude corresponding to
the point at which its potential energy reaches its
minimum.
IV. ROLL-ANGLE-TRACKING CONTROL
As shown in Figure 6, the controller is composed of
two paths: a state-feedback control, and a feedforward path
between the error comparator and the plant. The control
law is
I
k t = + Kx , (7)
where
1 4
e K and
I
k are constant control gains, and
is the output of the integrator whose input is the tracking
error, that is
*
ref ref
u u u = = C x

, (8)
o real root
x real part of complex root
* imaginary part of complex root
o real root
x real part of complex root
* imaginary part of complex root

where
ref
u is the reference roll angle signal, and
*
C is the
first row of C in Eq. (3). The dynamics of the system can
be described by an equation that is a combination of Eqs.
(3) and (8):
ref *
( ) ( )
( ) ( )
( ) 0 ( ) 0 1
t t
t t
t t
t u

( ( ( ( (
= + +
( ( ( ( (


x A 0 x B 0
C

. (9)
Note that matrices A , B and C can be determined
for a certain speed by using system identification.
[ , , , ]
T
u u o o = x

Figure 6. Pole-placement controller structure
At steady state, Eq. (9) yields
ref *
( ) ( )
( ) ( )
( ) 0 ( ) 0 1
t u

( ( ( ( (
= + +
( ( ( ( (


x A 0 x B 0
C

. (10)
To design an asymptotically stable controller,
ref
u is
supposed to be step input, i.e.,
ref
( ) t const u = . Subtracting
Eq. (10) from Eq. (9) yields
| |
*
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) 0 ( ) ( ) 0
t t
t
t t
t t

( ( ( (
= +
( ( ( (


x x A 0 x x B
C


. (11)
Define
( ) ( )
e
t t t t = (12)
and a new fifth-order error vector ( ) t e by
( ) ( )
( )
( ) ( )
t
t
t
(
=
(


x x
e , (13)
then Eq. (11) becomes
e
t = + e Ae B

, (14)
where
*
0
(
=
(


A 0
A
C

and
0
(
=
(

B
B

. (15)
0 5 10 15 20 25 30 35 40 45 50
-15
-10
-5
0
5
10
15
R
o
ll
a
n
g
le

(
d
e
g
)
Reference
Response
Error
0 5 10 15 20 25 30 35 40 45 50
-5
0
5
S
t
e
e
r
in
g

a
n
g
le

(
d
e
g
)
0 5 10 15 20 25 30 35 40 45 50
0
5
10
S
t
e
e
r
in
g

t
o
r
q
u
e

(
N
m
)
Time (s)
Figure 7. Control results at 15km/h
In a similar fashion, from Eq. (7)
| | | | ( ) ( ) ( ) ( ) ( ) ( )
I
t t k t t t = + K x x , (16)
or,
e
t = Ke

, (17)
where | |
I
k = K K

are the controller gains, which can be


determined by solving a pole-placement problem from the
fifth-order state equation (14).
As a property of pole-placement technique, the bicycle
can asymptotically approach a constant reference input.
However, for a time-varying reference input, as shown in
Figure 7, the bicycle is controlled at 15km/h, there is
always a delay time when comparing the response and the
reference input. The delay time is affected by the choice of
the closed-loop poles. More stable poles can shorten the
delay time, but also require larger control steering torque.
In consequence, the poles should be chosen so that the
generated steering torque is feasible and the tracking error
is acceptable.
V. CONCLUSIONS
In this study, system identification has been applied to
identify the dynamics properties of a nonlinear bicycle
model. Compared with linearization results of previous
works [3][4], compatible modes were identified for
different speed ranges. Furthermore, differences in
variation of pole locations were also found and discussed,
of which the most remarkable is the existence of the limit-
cycle phase portraits of roll and steering angles in the
nonlinear model within the speed range from 3.152 to
3.994m/s.
The approach in this paper has potential in several
applications. First, system identification can be applied
directly to experimental data from a physical bicycle to
obtain its linear model. Furthermore, the identified linear
model can be used in controller design of real bicycles
with higher accuracy in areas such as pole placement,
adaptive control, optimal control and so on.
REFERENCES
[1] F.J.W. Whipple, The stability of the motion of a bicycle,
Q. J. Pure Appl. Math., vol. 30, pp. 312348 (1899).
[2] D.E.H. Jones, The stability of the bicycle, Physics Today,
vol. 23, pp. 3440, American Institute of Physics (1970).
[3] A.L. Schwab, J.P. Meijaard, J.M. Papadopoulos,
Benchmark results on the linearized equations of motion of
an uncontrolled bicycle, KSME Int. J. of Mechanical
Science and Technology, vol. 19, pp. 292304 (2005).
[4] J.P. Meijaard, J.M. Papadopoulos, A. Ruina, A.L. Schwab,
Linearized dynamics equations for the balance and steer of
a bicycle: a benchmark and review, Proceedings of the
Royal Society, Series A, vol. 463, pp. 19551982 (2007).
[5] R.S. Sharp, On the stability and control of the bicycle,
Applied Mechanics Reviews (2008).
[6] R.S. Sharp, The stability and control of motorcycles, J. of
Mech. Eng. Sci., vol. 13, pp.316329 (1971).
[7] C.K. Chen, T.S. Dao, Fuzzy control for equilibrium and
roll-angle tracking of an unmanned bicycle, Multibody
System Dynamics, vol. 15, pp. 325350 (2006).
[8] L. Ljung, System Identification: Theory for the User,
Prentice-Hall, Inc., Upper Saddle River, New Jersey (1999).
[9] C.K. Chen, T.K. Dao, Speed-adaptive roll-angle-tracking
control of an unmanned bicycle using fuzzy logic, Vehicle
System Dynamics, (2010) (in print).
[10] J.M. Papadopoulos, Bicycle steering dynamics and self-
stability: a summary report on work in progress, Technical
report, Cornell Bicycle Research Project, Cornell University,
Ithaca, New York (1987).
[11] J. Fajans, Steering in bicycles and motorcycles, American
Journal of Physics, vol. 68, pp. 654659 (2000).