Tải bản đầy đủ (.pdf) (74 trang)

DESIGN AND CONTROL OF AUTONOMOUS MOBILE ROBOTS WITH IMPROVED DYNAMIC STABILITY 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.97 MB, 74 trang )

Chapter 4
Model and 3D Simulator
Development of Gyrobot
4.1 Introduction
This chapter presents the development of Gyrobot dynamic model and a 3D simu-
lator in ADAMS with integration of Matlab. The dynamics of the system is first
explored through analyzing system kinetic and potential energy. A nonlinear model
is derived using constrained Lagrangian approach. The order of obtained dynamic
equations is reduced by eliminating the Lagrange multipliers in the dynamic model.
Zero generalized force is used to further simplify the mo del. The nonlinear model is
linearized at Gyrobotnospace’s vertical position to develop a linear controller, which
will be described in Chapter 5.
A 3-Dimensional simulation platform is developed as an aid for designing complex
mechatronics system and controller development. ADAMS is used for simulation with
animation of the dynamic behavior of the mechanism whose parts are drawn using
a 3-D drawing software, e.g., SolidWorks. The overall simulation platform integrates
93
the 3-D simulator in ADAMS with control design software MATLAB. This integra-
tion allows the designer to adopt a control-centric approach for designing complex
mechanical structure to be used in a mechatronics system. The simulating environ-
ment can easily be extended to any complex mechanical system simply by altering
SolidWorks drawings.
4.2 Dynamic Model Development and Verification
4.2.1 Coordinate Frame
Though the Gyrobot wheel is flying saucer shaped, for the sake of simplicity in for-
mulation of equations, we assume it to be a rigid, homogenous disk that rolls without
slipping over a flat horizontal surface. Flywheel, the stabilizing component of the
Gyrobot, hangs from the central shaft of the axle of the wheel. There is a vertical
offset of the flywheel from the center of the Gyrobot wheel. We designed the internal
mechanism, the outer gimbals and the inner gimbals, in a way so that the center of
flywheel remains below the center of the wheel. As a result of this design, there is no


horizontal offset between the center of Gyrobot and the center of flywheel. According
to this description of components, we define the following 3 coordinate frames.
1. The inertial frame Σ
o
{X
0
, Y
0
, Z
0
}: The X-Y plane of this frame is anchored to
the flat surface on which the GYROBOT rolls.
2. The wheel coordinate frame Σ
W
{X
W
, Y
W
, Z
W
}: Origin of this frame is located
at the center of the main wheel. Its Z-axis represents the axis of rotation of
94
Figure 4.1: Definition of Coordinate Frame and System Variables
the wheel. The X-axis passes through the wheel’s point of contact on the flat
surface, and the Y-axis in the forward direction of the wheel.
3. The flywheel coordinate frame Σ
F
{X
F

, Y
F
, Z
F
}: Origin of this frame is located
at the center of the flywheel. Its Z-axis represents the axis of rotation of the
flywheel. The y
F
-axis is always parallel to the y
W
-axis.
These coordinate frames are illustrated in Figure 4.1. This figure also illustrates
different variables used in deriving the dynamic model. Definitions for these variables
are listed in Table 4.1.
4.2.2 Kinematic Constraints
In this section, we explore the kinematic constraints of the Gyrobotnospace. Let(

i,

j,

k)
and (n, m, n) be the unit vectors of the coordinate systems

o
and

W
, respectively.
95

Table 4.1: Gyrobot Variable Definition
α
Precession Angle of the wheel measured about the vertical axis(Z
0
)
Precession rate (dα/dt) is shown in the figure
β Lean Angle of the Wheel
Leaning rate (dβ/dt) is shown in the figure
γ Spin Angle of the Wheel measured about z
W
-axis
Spinning rate (dβ/dt) is shown in the figure
α
a
Precession Angle of the flywheel
β
a
Tilt Angle of the flywheel
γ
a
Spin Angle of the flywheel measured about z
F
-axis
Spinning rate (dγ
a
/dt) is shown in the figure
M
W
Mass of the wheel
M

l
Mass of the inner mechanism
M
F
Mass of the flywheel
m Total mass of the Gyrobot
R Radius of the Gyrobot wheel
r Radius of the flywheel
I
xW
, I
yW
, I
zW
Moment of inertia of the wheel about 3 axes
I
xF
, I
yF
, I
zF
Moment of inertia of the flywheel about 3 axes
µ
y
, µ
p
Friction coefficient in yaw and pitch direction
u
1
Torque input to drive motor

u
2
Torque input to tilt motor
96
The transformation between these two coordinate frames is given by,




i

j

k



=


−sin α cos β −cos α −sin αsinβ
cos α cos β −sin α cos αsinβ
sin β 0 cos β






l

m
n



(4.1)
Let v
A
and ω
B
denote the velocity of the center of the wheel and its angular
velocity with respect to the coordinate frame

O
. Then,
ω
B
= −˙αsinβ

l +
˙
β m + ( ˙γ + ˙α cos β)n (4.2)
As the wheel rolls without slipping on a flat surface, the velocity of the contact
point must be 0 at any instant, i.e., v
C
= 0 where v
C
is the velocity of the contact
point. The velocity of the rolling wheel is
v

A
= ω
B
×r
AC
+ v
C
(4.3)
Here r
AC
= −R

l is the vector from the contact point to the center of wheel.
Combining Equations 4.1, 4.2 and 4.3, we get,
v
A
=
˙
X

i +
˙
Y

j +
˙
Z

k (4.4)
where,

˙
X = R( ˙γ cos α + ˙α cos α cos β −
˙
β sin α sin β)
˙
Y = R( ˙γ sin α + ˙α sin α cos β +
˙
β cos α sin β) (4.5)
˙
Z = R
˙
β cos β
97
The third one in the arrays of Equation 4.5 is integrable, i.e., Z = R sin β .
Therefore the motion of the Gyrobot can be represented by six independent variables
X, Y, α, β, γ, and β
a
.
4.2.3 Equations of Motion
We derive the equations of motion by calculating the Lagrangian, where T and P are
the kinetic energy and potential energy of the system, respectively. To calculate the
energies, the system is divided into two parts: (1) the wheel, and (2) the spinning
flywheel.
Energy of the Wheel
The kinetic energy of the wheel is given by,
T
W
=
1
2

m
W
[
˙
X
2
+
˙
Y
2
+
˙
Z
2
] +
1
2
[I
xW
ω
2
x
+ I
yW
ω
2
y
+ I
zW
ω

2
z
] (4.6)
Substituting Equations 4.2 - 4.5 into Equation 4.6, following equation is obtained.
T
W
=
1
2
m
W
[
˙
X
2
+
˙
Y
2
+ (R
˙
β cos β)
2
] (4.7)
+
1
2
[I
xW
( ˙α sin β)

2
+ I
yW
˙
β
2
+ I
zW
( ˙α cos β + ˙γ)
2
]
Potential energy of the wheel is,
P
W
= m
W
gR sin β (4.8)
Here, g is the acceleration due to gravity.
98
Energy of the Internal Mechanism and Flywheel
Contrary to the design used by researchers of the Carnegie Melon University, the
center of the mass of the flywheel coincides with that of the inner mechanism in our
design. In CMU design, the flywheel is attached to the end of the second link (length
l
2
) of a 2-link arm. Since this length (l
2
) is very small compared to the length (l
1
)

of the first link, i.e., the distance between wheel’s center and the center of the inner
mechanism, it was assumed in their derivation that l
2

=
0.
Let x
F
, y
F
, z
F
be the coordinate of the center of mass of the internal mechanism
and flywheel with respect to the coordinate frame

O
. Then,


x
F
y
F
z
F


=



X −l
1
sin β cos β
Y + l
1
cos β cos β
Z −l
1
sin β


(4.9)
The translational kinetic energy of the flywheel and the inner mechanism is,
T
t
F
=
1
2
(m
I
+ m
F
)[ ˙x
2
F
+ ˙y
2
F
+ ˙z

2
F
] (4.10)
We can obtain an expression for this energy by differentiating Equation 4.9 and
substituting it in Equation 4.10.
In our design, the internal mechanism does not swing. This is one of the differ-
ences between our design and the design followed by CMU researchers. In CMU’s
gyrover, the internal mechanism is swung forward or backward by the drive motor in
an attempt to change the center of gravity of the structure. The wheel then rotates
to bring the CG underneath the center of the wheel causing forward (backward) mo-
99
tion in the wheel. In our design, on the other hand, the drive motor is fixed to the
internal structure but the axle is passed through a pair of ball-bearings attached to
the platform. The drive motor directly drives the axle.
While deriving the kinetic energy of the internal mechanism and flywheel, the
CMU researchers assumed very slow swing of the pendulum-structured internal mech-
anism and, therefore, insignificant influence of internal mechanism on the rotational
kinetic energy. In our design, the internal structure does not move at all and therefore
has no influence on the rotational kinetic energy of the flywheel. The angular velocity
of the flywheel with respect to the coordinate frame

O
is
ω
F
= ω
F x

i + ω
F y


j + ω
F z

k (4.11)
where,
ω
F x
= ˙α cos (β + β
a
) + ˙γ cos β
ω
F y
=
˙
β +
˙
β
a
(4.12)
ω
F z
= −˙α sin (β −β
a
) + ˙γ sin β
a
+ ˙γ
a
The kinetic energy of the flywheel is
T

r
F
=
1
2
[(ω
F x
)
2
I
xF
+ (ω
F y
)
2
I
yF
+ (ω
F z
)
2
I
zF
] (4.13)
The flywheel is assumed to be a uniform disk of radius r, and the moments of
inertia are I
xF
= I
yF
=

1
4
m
F
r
2
and I
zF
=
1
2
m
F
r
2
.
100
The potential energy of the internal mechanism and flywheel is
P
F
= (m
I
+ m
F
)(R sin β −l
1
sin β) (4.14)
Lagrangian of the System
Taking different energies into consideration, we now define the Lagrangian as,
L = (T

W
+ T
t
F
+ T
r
F
) − (P
W
+ P
F
) (4.15)
Substituting the expressions for different energies derived in the previous two
sub-sections, we can determine L.
For a system with m generalized coordinates, q
j
= (q
1
, q
2
, , q
m
) and n degrees of
freedom, there will be (m −n) constraint conditions that must explicitly be satisfied.
For such a system, the set of Lagrangian equations is given by,
d
dt

∂L
∂ ˙q

j



∂L
∂q
j

=
m−n

s=1
λ
s
˙
A
sj
, j ∈ 1, 2, , m (4.16)
Equation 4.16 is evaluated for the energy equations derived in previous two sub-
sections to obtain the dynamic equation of the entire system.
M(q)¨q + N(q, ˙q) = A
T
(q)λ + B(q)u (4.17)
Here M(q) ∈ R
6×6
and N ∈ R
6×1
are the inertia matrix and nonlinear terms,
respectively and λ = [λ
1

, λ
2
]
T
is the Lagrange multiplier.
101
4.2.4 Dynamic Model of GYROBOT
Taking derivatives, both in time and space, of the Lagrangian of Equation 4.15,
a set of equations that includes A
sj
and λ
s
is obtained. The coefficients A
sj
can
be evaluated by comparing these equations with the constraint Equation 4.5. The
Lagrange multiplier can be eliminated by partitioning the matrix A in accordance to
the method suggested in [13].
As the wheel is disk-like shape, it’s practical to assume the inertias of the wheel
are: I
xW
= I
yW
=
1
2
m
W
R
2

and I
zW
= m
W
R
2
. We also assume that l
1
= 0, i.e., the
center of the flywheel is collocated with the center of the wheel. The flywheel spins at
a constant rate, i.e., ¨γ
a
= 0 . The normal form of the dynamics of Gyrobot becomes,
M(q)¨q = F(q, ˙q) + Bu (4.18)
˙
X = R( ˙γ cos α + ˙α cos α cos β −
˙
β sin α sin β) (4.19)
˙
Y = R( ˙γ sin α + ˙α sin α cos β +
˙
β cos α sin β) (4.20)
˙
Z = R
˙
β cos β (4.21)
Here, q = [α β γ β
a
]
T

excludes the Cartesian coordinates of the center through a
system reduction process. The procedure of such reduction is explained in subsection
4.2.5 and 4.2.6. Motion of the center of the wheel is expressed by Equations 4.19 to
102
4.21. The inertia matrix and other vectors and matrices used in Equation 4.18 are,
M =





M
11
0 M
13
0
0 I
xF
+ I
xW
+ mR
2
0 I
xF
M
13
0 2I
xW
+ mR
2

0
0 I
xF
0 I
xF





(4.22)
F =





F
1
F
2
F
3
F
4






, B =





0 0
0 0
1 0
0 1





, u =

u
1
u
2

where,
M
11
= I
xF
+ I
xW
+ I

xW
cos
2
β + mR
2
cos
2
β + I
xF
cos
2
(β + β
a
)
M
13
= 2I
xW
cos β + mR
2
cos β
F
1
= (I
xW
+ mR
2
) sin(2β) ˙α
˙
β + I

xF
sin 2(β + β
a
) ˙α
˙
β
+I
xF
sin 2(β + β
a
) ˙α
˙
β
a
+ 2I
xW
sin β
˙
β ˙γ + 2I
xF
sin (β + β
a
)
˙
β ˙γ
a
+2I
xF
sin (β + β
a

)
˙
β
a
˙γ
a
− µ
s
˙α
F
2
= −gmR cos β −(I
xW
+ mR
2
) cos β sin β ˙α
2
− I
xF
cos (β + β
a
)sin(β + β
a
) ˙α
2
−(2I
xW
+ mR
2
) sin β ˙α ˙γ −2I

xF
sin (β + β
a
) ˙α˙γ
a
F
3
= 2(I
xW
+ mR
2
) sin β ˙α
˙
β
F
4
= −I
xF
cos (β + β
a
) sin (β + β
a
) ˙α
2
− 2I
xF
sin (β + β
a
) ˙α ˙γ
a

4.2.5 Zero Generalized Force
In the derivation of full-scale dynamic model, one challenge comes from how to deal
with the spin velocity of the flywheel (
˙
β
a
). Since the flywheel rotates at very high
103
speed, it contributes largely to the kinetic energy. When the lagrangian formulation
is adopted,
˙
β
a
does appear in the the Lagrangian of the system. However, it remains
constant while the robot is running so that the variable should not exist in the motion
formula.
To deal with this problem, the following technique should be followed:
1. Iterms that contains the flywheel velocity in the the system kinematic energy
are separated. They are signed as T
s
while the remaining items is symbolled as
T
1
.
2. The generalized force corresponding to γ
a
is set to zero.
3. Applying T
s
in Lagrangian Equation with respect to ˙γ

a
and identify the constant
term.
4. T
s
are processed under classical Lagrangian equation with respect to system
variables while T
1
can be decomposed by christoffel symbols.
T
s
in Gyrobot can be identified from [16] as follows:
T
s
= I
xf
( ˙αC
ββ
a
+ ˙γ
a
)
2
(4.23)
Applying T
s
with respect to γ
a
yields:
d

dt
∂T
s
∂ ˙γ
a

∂T
s
∂γ
a
= 0
⇒ ω
s
= ˙αC
ββ
a
+ ˙γ
a
(4.24)
where ω
s
is assumed constant.
104
Applying T
s
with respect to generalized variables in the form of lagrangian for-
mulate




















d
dt
∂T
s

˙
X
c

∂T
s
∂X
c
= 0

d
dt
∂T
s

˙
Y
c

∂T
s
∂Y
c
= 0
d
dt
∂T
s
∂ ˙α

∂T
s
∂α
= −2I
xf
ω
s
(
˙
β +

˙
β
a
)S
ββ
a
d
dt
∂T
s

˙
β

∂T
s
∂β
= 2I
xf
ω
s
˙αS
ββ
a
d
dt
∂T
s
∂ ˙γ


∂T
s
∂γ
= 0
d
dt
∂T
s

˙
β
a

∂T
s
∂β
a
= 2I
xf
ω
s
˙αS
ββ
a
(4.25)
The above formulation can be transformed in the following form:
N
s
(q, ˙q) =










0
0
−2I
xf
ω
s
(
˙
β +
˙
β
a
)S
ββ
a
2I
xf
ω
s
˙αS
ββ
a

0
2I
xf
ω
s
˙αS
ββ
a









= L ˙q (4.26)
where
q =









X

c
Y
c
α
β
γ
β
a









, L =









0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 −2I

xf
ω
s
S
ββ
a
0 −2I
xf
ω
s
S
ββ
a
0 0 2I
xf
ω
s
S
ββ
a
0 0 0
0 0 0 0 0 0
0 0 2I
xf
ω
s
S
ββ
a
0 0 0










4.2.6 Lagrangian Equation Reduction
As stated in the previous section, the terms in kinetic energy containing the flywheel
velocity (T
s
) can be written in the form in Equation 4.26. For T
1
, Christoffel Sym-
bols is applied to generate the nonlinear terms. Thus the dynamic model (Equation
105
eqn:gyrover.dyn.model) can be written in
M(q)¨q + N(q, ˙q) = M(q)¨q + K ˙q + L ˙q + (
∂U
∂q
)
T
= A
T
(q)λ + B(q)u (4.27)
where K is the matrix derived from Christoffel Symbols [50] and U is the potential
energy. The nonholonomic constraints remains unchanged as shown in Equation 4.19
- 4.21.

To eliminate the Lagrange multipliers so that a minimum set if differential equa-
tions is obtained, the matrix partitioning method is applied [13] as follows:
1. Partition the matrix A(q) into A
1
and A
2
, and let
C(q) =

−A
−1
1
A
2
I
4×4

(4.28)
2. Consider the following relationship
˙q = C(q) ˙q
2
(4.29)
where q
1
= [X, Y ]
T
and q
2
= [α, β, γ, β
a

]
T
. Differentiaing Equation 4.29 yields,
¨q = C(q)¨q
2
+
˙
C(q) ˙q
2
(4.30)
3. Substituting Equation 4.30 into Equation 1.6 and premultiplying both sides by
C
T
(q) gives
C
T
(q)[M(q)¨q + K ˙q + L ˙q + (
∂U
∂q
)
T
] = C
T
(q)[A
T
(q)λ + B(q)u] (4.31)
106
4. Considering C
T
(q)A

T
(q) = 0 and Equation 4.29, 4.30, Equation 4.31 becomes
C
T
(q)M(q)C(q)¨q
2
= −C
T
(q)(K + L)C(q) ˙q
2
− C
T
(q)M
˙
C(q) ˙q
2
+C
T
(q)Bu − C
T
(q)(
∂U
∂q
)
T
(4.32)
Above calculation was realized in Maple, a well-recognized computer algebra
system.
4.2.7 Model Verification: Effect of Changing Flywheel Tilt
Angle

As explained earlier, the angular velocity of the Gyrobot can b e controlled by con-
trolling the tilt angle of the flywheel and thus the lean angle of the wheel. To see
this effect, we subject the closed loop system to a variation in the reference for δ
β
.
However, for this simulation, this variation is not caused by the reference velocity
generator, rather it is changed directly. Corresponding results illustrating tilt angle
of the flywheel β
a
, change in the lean angle of the wheel δ
β
, and the path traversed
by the Gyrobot are shown in Figure 4.2 - Figure 4.4. The wheel leans in the direc-
tion opposite to the tilt of the flywheel, and leaning the wheel makes it steer in the
direction of the lean.
4.2.8 Linear Model of Gyrobot
In order to simply the design of Gyrobot controller, a PD controller is first developed
and will be discussed in section 5.2.3 and 5.2.4. To design a linear controller, a linear
107
Figure 4.2: Viariation in Lean Angle (β) in response to (δ
β,ref
)
Figure 4.3: Wheel Leans in the direction opposite to the tilt of flywheel
108
Figure 4.4: Trace of Path Traversed by the Gyrobot
model is derived in this section. Below are some assumptions made for linear model
development:
• The speed of the flywheel is very large compared to the rate at which the wheel
rolls, i.e., ˙γ
a

 ˙γ. For our design, the flywheel spins at a constant rate of 7000
RPM whereas the drive motor operates at a maximum speed of 340 RPM. With
this assumption, we can consider terms like
˙
β ˙α or
˙
β ˙γ negligible compared to
terms like ˙γ
a
˙α or ˙γ
a
˙
β
• The tilt angle of the flywheel and therefore the lean angle of the wheel are
changed at sufficiently small rate, i.e., the
˙
δ
β
and
˙
δ
β
a
are negligible.
• The term ˙α is negligible. The precession rate of the wheel depends on the lean
angle of the wheel. We do not force the wheel to lean by a large angle in order
109
to avoid falling. So the rate of precession is assumed small.
• The wheel operates in a fairly upright position, i.e., β = 90
o

± δ
β
• The nominal rolling speed of the wheel is Ω
o
, i.e., ˙γ = Ω
0
± Ω
With these assumptions, the dynamic model of the GYROBOT can be rewritten
as,
(I
xF
+ I
xW
)¨α = 2(I
xW

0
+ I
xF
˙γ
a
)
˙
δ
β
+ 2I
xF
˙γ
a
u

β
a
− µ
s
˙α (4.33)
(I
xW
+ mR
2
)
¨
δ
β
= gmRδ
β
− (2I
xW
+ mR
2
)Ω
0
˙α − 2I
xF
˙α ˙γ
a
(4.34)
(2I
xW
+ mR
2

)
˙
Ω = −µ
g
Ω + u
1
(4.35)
The roll and yaw dynamics of the Gyrobot, i.e.,
˙
β and ˙α, are determined by the
Equations 4.33 and 4.34, whereas the rotational speed of the wheel (Ω) determined
by Equation 4.35 is independent of the roll and yaw dynamics. A dedicated closed
loop is available to control the rotation speed of the wheel and thus the longitudinal
motion of the wheel. It should be noted that the velocity of the longitudinal motion
is v = RΩ.
A new set of state variables,x
1
= δ
β
, x
2
=
˙
δ
β
, x
3
= ˙α is defined for reforming the
linear model. Then the equations 4.33 and 4.34 are reorganized as,
˙x

1
= x
2
(4.36)
˙x
2
= a
21
x
1
+ a
23
x
3
(4.37)
˙x
3
= a
32
x
2
+ a
33
x
3
+ b
3
x
β
(4.38)

110
where,















a
21
=
gmR
I
xW
+mR
2
a
23
= −
(2I
xW

+mR
2
)Ω
o
+2I
xF
˙γ
a
I
xW
+mR
2
a
32
=
2(I
xW

o
+I
xF
˙γ
a
)
I
xF
+I
xW
a
33

= −
−µ
s
I
xF
+I
xW
b
3
=
2I
xF
˙γ
a
I
xF
+I
xW
(4.39)
4.3 Gyrobot 3D Simulator
In this section, a 3-Dimensional simulation platform is developed as an aid for design-
ing complex mechatronics system. It uses ADAMS for simulation with animation of
the dynamic behavior of the mechanism whose parts are drawn using a 3-D drawing
software e.g., SolidWorks. The overall simulation platform integrates the 3-D sim-
ulator ADAMS with control design software MATLAB. This integration allows the
designer to adopt a control-centric approach for designing complex mechanical struc-
ture to be used in a mechatronics system. Dynamic analysis of Gyrobot is used in
this section to illustrate its uses. The simulating environment can easily be extended
to any complex mechanical system simply by altering SolidWorks drawings.
4.3.1 Introduction

Simulation is important for designing any mechatronics system that involves complex
structure and operations. Traditionally, most simulations are computer based and
require mathematical modeling. Such model is used for describing system dynamics
and for finding its dynamic response. The models are used to predict system behavior
for a given set of known parameters and initial conditions.
111
ADAMS, which was developed for 3-D motion simulation, is integrated with
MATLAB/SIMULINK, popular software among control community, to create the
control-centric design platform. The motion simulator uses three dimensional me-
chanical drawings of different sub-systems to be combined into a complex mechatron-
ics system. This eliminates the need for deriving complex, nonlinear mathematical
models for the dynamic behavior of the system. The simulator has been effectively
used for the analysis of dynamic behavior of the Gyrobot in both open loop condition
and with closed loop controller.
ADAMS (Automatic Dynamic Analysis of Mechanical Systems) started as a gen-
eral purpose program that can analyze systems undergoing large non-linear displace-
ments while under the effect of non-linear force and motion input. The methodology
was developed by Nicolae Orlandea [52]. It can be categorized as a general purpose
numeric code utilizing a non-minimal set of co-ordinates to develop the equations of
motion. This motion simulation software analyzes complex behavior of mechanical
assemblies and thus enables users to test virtual prototypes and optimize designs with-
out having to build numerous physical prototypes. It uses stiff integrators to solve
these equations and sparse matrix algebra to solve the linear algebraic equations in its
innermost computation loop [53]. Since its inception, significant development invest-
ments resulted in sophisticated virtual prototyping tools for a wide range of industrial
applications. Use of virtual prototyping for design and development of a humanoid
robot has been reported in a recently published article [54]. A tire modeling is build
112
in ADAMS [55] as a test case for vehicle dynamics tire models to provide a wide range
of test models.

ADAMS allows users to import geometry from CAD systems or to build a solid
model of the system from scratch. In this thesis, the first approach is adopted.
Different parts of the gyrobot have been created using SolidWorks. These components
are then transferred to ADAMS where final model is elaborated.
The integrated simulator platform will simplify the phases of design of a mecha-
tronics system. Moreover, it can be used by students and researchers alike to have
an in-depth understanding of any complex mechanism. Integration of ADAMS with
MATLAB enables control engineers to complete the design cycle without building
any prototyp e. Simulation results can also be used to fine tune mechanical design.
Results presented in this section include (i) open loop simulation of gyrobot using
ADAMS, and (ii) simulation of the closed loop system. The integrated system can be
used for the control-centric design of any mechatronic system simply by replacing the
3D drawings of the mechanical structure of gyrobot with that of any complex system.
4.3.2 Gyrobot 3D Module Development
Gyrobot Model in Solidworks
Principle of operation of the gyrobot can be explained using the schematic drawing
shown in Figure 4.5. The flywheel is suspended from the axle of the gyrobot using a
gimbal assembly that enables tilting of the spinning flywheel. The flywheel is attached
113
to the inner gimbal and is spun by the spin motor. The tilt motor, which is attached
to the outer gimbal, can tilt the inner gimbal plus fast spinning flywheel to either
side. The gimbal and flywheel structure is suspended from a platform and the axle of
gyrobot is passed through this platform. The outer shell of gyrobot is rigidly joined
to the axle. Running the drive motor makes the wheel roll; rolling speed can be
controlled by controlling RPM of drive motor.
Figure 4.5: Internal mechanism of gyrobot
Gyrobot model drawn in SolidWorks is shown in Figure 4.6. Size and shape
of each part are created as par size and shape of the actual component. To reduce
the complexity of model in ADAMS, only the mechanical parts are included in the
SolidWorks drawing; these are the outer wheel, the inner gimbal, the outer gimbal,

the flywheel with its supporting structure. This structure is sufficient to reflect the
physical properties of gyrobot, which will be examined later. Mass, density and
frictions are defined in ADAMS/View.
114
Figure 4.6: Gyrobot 3D Drawing in Solidworks
Gyrobot Model in ADAMS
The ADAMS model of Gyrobot is created by importing the 3D drawings in Solidworks
as parasolids file, as shown in Figure 4.7. Material, mass, density and friction are
then defined. Mass and inertial are automatically calculated. Table 4.2 lists main
dynamic characteristics of the robot components for the proposed ADAMS model.
Gyrobot model in ADAMS environment takes several aspects into account, such as
gravity, contact constraints, friction, inertial properties and reference markers, which
enable good approximation of real robot behavior. Each joint of the mechanism is
defined with a particular motion. For example, the driving joint is specified as a
revolute joint so the rotation associated with this joint specifies the rolling motion
of the wheel. Table 4.3 show some of the main joints and motions that have been
defined for Gyrobot model in ADAMS. Friction force is one of the key components
115
for successfully implementation.
Figure 4.7: Gyrobot Model in ADAMS
Table 4.2: Main Inertial Data for Gyrobot Modules
Parts
Mass I
xx
I
yy
I
zz
(kg) (kgm
2

) (kgm
2
) (kgm
2
)
Wheel 0.85 2.78×10
−2
1.58×10
−2
1.58×10
−2
Flywheel 1.02 1.21×10
−3
0.65×10
−3
0.65×10
−3
Shaft 0.15 1.55×10
−3
1.55×10
−3
0.69×10
−6
Inner Gimbal 0.75 1.54×10
−3
1.38×10
−3
3.63×10
−4
Outer Gimbal 1.44 7.53×10

−3
7.43×10
−3
2.13×10
−3
Simulation Setting
Proper dynamic simulation requires an approximation of the properties of contact
between ground and wheel rim. The actual Gyrobot rim is wrapped in aluminum
foil and is tested on a horizontal surface covered by aluminum plate. The friction
coefficients chosen are 0.95 for the static condition and 0.8 for the dynamic condition,
in agreement with [56]. Friction coefficients for other joints are listed in Table 4.4.
116
Table 4.3: Some of Joints and Motions defined for Gyrobot ADAMS model
Joint Motion Action
Driving Joint Motion3(Revolute Joint) Drive the wheel
Spinning Joint Motion1(Revolute Joint) Spin the flywheel
Tilt Joint SForce(Revolute Joint) Tilt the inner gimbal
Joint2 Fixed Joint Lock the wheel and shaft
Dummy Joints
for Lean Angle
Acquisition
JPR Orient Orientation Primitive Joint Reference part to obtain lean angle
Joint Dummy1 Spherical joint Reference part to obtain lean angle
Table 4.4: Friction Coefficient Values for Various Joints
Friction Coefficients Contact Materials
Static Dynamic
Wheel And Ground 0.95 0.8 Aluminum vs. Aluminum
Driving Joint 0.74 0.57 Steel vs. Steel
Tilting Joint 0.74 0.57 Steel vs. Steel
Spinning Joint 0.5 0.3 Steel vs. Brass

With proper setting of internal joints friction forces, the virtual model is able to reflect
real robot behavior more accurately.
ADAMS/Solver does all the calculations required to simulate the motion. It
allows different typ es of integrator for a particular problem. Below is the list for key
settings required in Gyrobot simulation with briefing. Detailed explanation on each
integrator can be found in ADAMS/Solver documents.
• Integrator, formulation and corrector
• Simulation frequency and internal frequency
• End time and Steps Vs Duration and Step size
• Optimal step size
• H
max
, Interpolate and Error
117

×