Escolar Documentos
Profissional Documentos
Cultura Documentos
(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)
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
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
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