2007 Breden Development
2007 Breden Development
by
March 2007
Declaration
I, the undersigned, hereby declare that the work contained in this thesis is my own
original work and that I have not previously in its entirety or in part submitted it
at any university for a degree.
Signature: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.F.L. Bredenkamp
Date: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
Abstract
ii
Opsomming
Die suksesvolle beheer van 'n giroskoop met drie grade van vryheid, om te dien as 'n
stabilisasie platform gemonteer onderaan 'n lugskip, word aangetoon. Die eindoel is
om 'n kamera te stuur en te stabiliseer vir aardwaarnemings doeleindes.
Die nodige elektronika, aktueerders en sensore word ontwikkel, sowel as die hard-
eware en sagteware wat die onderskeie komponente aan mekaar koppel. Dit sluit
in GS motor aandryfelektronika, wringkrag- en spoedbeheerstelsels asook platform
hoek- en hoeksnelheidsensore.
'n Wiskundige giroskoopmodel, gebaseer op Euler se wette, word aangebied.
Nie-lineêre simulasies word uitgevoer en vergelyk met gemete trapweergawes van
die aanleg om die nodige parameters van die giroskoop te bepaal. Beheerstrategieë
gebaseer op die metodes van poolplasing en LQR optimale beheer word ondersoek
om die platform te stuur in die elevasievlak. 'n PI beheerder word ontwerp om die
platform te stuur in die asimutvlak. Grondtoetsresultate toon die suksesvolle beheer
van die platform aan.
iii
Acknowledgements
My family for their love and support. Especially my parents for giving me
much more than an education. Your love and support will always accompany
me.
My fellow students in the ESL for your input and contribution to countless
memorable moments.
iv
Contents
Declaration i
Abstract ii
Opsomming iii
Acknowledgements iv
Contents v
List of Figures viii
List of Tables xi
Nomenclature xii
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Aerial Photography and Video . . . . . . . . . . . . . . . . . . 1
1.1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Overview of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
v
CONTENTS vi
3 Platform Development 23
3.1 Three-Degree-of-Freedom Gyroscope . . . . . . . . . . . . . . . . . . 23
3.2 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.1 Motor Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Flywheel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.3 Gimbal Motors . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.4 Torque Controllers . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.5 Speed Controller . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.1 Angle Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Inertial Measurement Unit (IMU) . . . . . . . . . . . . . . . . 33
3.4 Power Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.1 Microprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.2 Ground Station . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6 Results 69
6.1 Elevation Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.1 Pole Placement Controller Results . . . . . . . . . . . . . . . . 69
6.1.2 LQR Controller Results . . . . . . . . . . . . . . . . . . . . . 72
6.2 Azimuth Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3 Disturbance Rejection . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4.1 Elevation controller . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4.2 Azimuth controller . . . . . . . . . . . . . . . . . . . . . . . . 77
List of References 81
A Gyroscope Design 84
A.1 Gimbal Moment of Inertia Measurements . . . . . . . . . . . . . . . . 84
viii
LIST OF FIGURES ix
xi
Nomenclature
Symbols
Az Boresight azimuth angle
El Boresight elevation angle
φ Euler roll angle
θ Euler pitch angle
ψ Euler yaw angle
φ̇ Euler roll rate
θ̇ Euler pitch rate
ψ̇ Euler yaw rate
B Camera boresight vector
A321 Direction cosine matrix for Euler 3-2-1 rotation sequence
ω Angular velocity vector
I Moment of inertia tensor
Nm Motor torque vector
Nw Frictional torque vector
N Torque vector
H Angular momentum vector
h0 Flywheel angular momentum
Vref Motor torque reference voltage
Ve Torque PI controller input voltage
Vin Pulse width modulator input voltage
VI _sense Voltage measured across current sense resistor
Vspeed Flywheel velocity reference voltage
Vtacho Tachometer output voltage
km DC motor torque constant
kw Coecient of viscous friction
τ Time constant of rst order system
xii
NOMENCLATURE xiii
C Calibration matrix
C Controllability matrix
ωs Sampling frequency
ωb Closed-loop bandwidth
ωr Open-loop system resonant frequency
ωn Natural frequency
ζ Damping factor
Z Z-transform operator
z Discrete time z-transform variable
s Laplace transform variable
Acronyms
A/D Analogue-to-digital
AHRS Attitude heading reference system
ASCII American standard code for information interchange
CMS Central mechanical services
CPU Central processing unit
DC Direct current
D/A Digital-to-analogue
DOF Degree-of-freedom
IMU Inertial measurement unit
LQG Linear quadratic gaussian regulator
LQR Linear quadratic regulator
MIMO Multi input multi output
OBC On-board computer
PCA Programmable counter array
PI Proportional Integral
PWM Pulse width modulation
RF Radio frequency
RMS Root mean square
SEAIP Stabilized electro-optical airborne instrumentation platform
SISO Single input single output
UART Universal asynchronous receiver transmitter
UAV Unmanned aerial vehicle
ZOH Zero order hold
NOMENCLATURE xiv
Subscripts
I Inertial axes
B Airship body axes
G Gimbal axes
P Platform axes
1 Gimbal axis 1
2 Gimbal axis 2
3 Gimbal axis 3
f Flywheel
Chapter 1
Introduction
1.1 Motivation
1.1.1 Aerial Photography and Video
The rst aerial photograph was taken by balloonist Gaspard-Félix Tournachon in
1858, also known as Nadar, his pseudonym. Fig. 1.1 shows a photograph of Paris
taken by Nadar in 1868 [20]. Aerial photography and video as a remote sensing tool
have since enabled man to gather information beyond the range of human vision. It
provides the necessary spatial and geographical information for specic applications
that cannot easily be acquired without a bird's eye view of an area. Some of the
elds that vastly benet from aerial photography and video are law enforcement,
disaster control, cartography, agriculture and environmental studies [21]. The list is
not at all exhaustive.
1.1.2 Background
To obtain a stable image from a camera mounted on an aerial vehicle, it is essen-
tial to decouple the movement of the vehicle from the camera. Dynamic separation
from the vehicle movement can be obtained by mounting the camera on a plat-
form that maintains a constant pointing reference in inertial space. This is achieved
through a system of sensors, which measure the orientation of the platform with
regard to inertial space, and actuators, which rotate the platform to compensate
for vehicle movement. Several platforms have been developed for the stabilisation
of cameras for use in earth observation. Table 1.1 lists some of the specied ca-
pabilities of commercially available stabilising platforms (refer to Chapter 7 for a
1
CHAPTER 1. INTRODUCTION 2
comparison with the platform developed in this thesis). These platforms are mainly
developed for use on helicopters and unmanned aerial vehicles (UAV's) and retail
up to ZAR 700 000 [25].
1.2 Objectives
The goal of this project is to develop a cost-eective stabilised platform on which
a camera can be mounted for earth observation purposes. The platform will be
CHAPTER 1. INTRODUCTION 3
developed specically for use on an airship. Airships are superb candidates for
performing long-endurance surveillance1 .
The fundamental specications for the stabilised platform are:
The platform must be able to maintain a stable directional pointing reference
and not be aected by the airship's rotations.
A user must be able to steer the pointing reference of the platform smoothly.
This means that the image obtained from the camera on-board the platform should
under all operating conditions be free of jitter as perceived by the operator, providing
an accurate representation of the area under surveillance and enabling the operator
to easily analyse and interpret the sensed data.
1.3 Principles
A device which has proved most suitable for the instrumentation of a reference
direction is the gyroscope [8]. Foucault dened the gyroscope in 1852 as a device
exhibiting strong angular momentum [8]. Scarborough dened the gyroscope more
specically as a mechanical device the essential part of which is a ywheel2 having a
heavy rim and so mounted, that its axis of rotation can turn in any direction about
a xed point on that axis [6]. The stabilised platform developed in this project is
based on the principle of gyroscopic stability. A three-degree-of-freedom gyroscope
is illustrated in Fig. 1.2. It has three gimbals that allows the spin axis to have three
degrees of rotational freedom about its centre of mass. A general discussion of some
of the properties of the gyroscope, based on theory from [6] and [8], follows.
Fig. 1.3 illustrates the basic law of motion of a practical gyroscope. The angular
velocity of a ywheel creates an angular momentum vector through its axis of spin.
In the absence of an applied torque, an angular momentum vector maintains a xed
orientation in inertial space, thereby providing a directional reference. This angular
momentum vector can be steered in a known fashion by applying a calibrated torque
to the ywheel. The forced motion of a gyroscope is called precession and arises in
obedience to the fundamental relation [6]
dH
= N, (1.1)
dt
1 The benets of airships are stated in detail in [12].
2A ywheel is a device that spins at a constant angular velocity.
CHAPTER 1. INTRODUCTION 4
Gyro spin
angular
momentum
vector
Applied
torque
vector
Gyro
precession
vector
It is shown in [6] that for a perfect gyroscope, the velocity of precession is di-
rectly proportional to the magnitude of the external applied torque and inversely
proportional to the velocity of spin and moment of inertia in the spin axis of the
ywheel. Consider the special case of Fig. 1.4, where the axis system is xed in the
spinning element and the moment of inertia in the x-axis is much greater than the
CHAPTER 1. INTRODUCTION 5
Here the torque is always applied in the y-axis and the precession is always in the
z-axis.
Furthermore, the motion of a gyroscope under external disturbances is stable and
periodic of nature. The periodic oscillations are referred to as nutation and must
be damped for the gyroscope to be of practical value [8]. The higher the velocity of
the ywheel, the smaller the amplitude and the higher the frequency of the simple
harmonic oscillations. The frequency of oscillation was found to be
C ψ̇
ω= , (1.3)
2πA
where C is the moment of inertia of the ywheel in its spin axis, ψ̇ is the angular
rate of the ywheel, and A is the moment of inertia of the axis perpendicular to the
spin axis of the ywheel.
h
x
T
y
It can thus be seen that a trade-o, dependent on the ywheel angular mo-
mentum, exists between the actuation power required to achieve a given rate of
precession and control eort required to ensure smooth precessional motion. The
CHAPTER 1. INTRODUCTION 6
higher the angular momentum generated by the ywheel, the smaller the oscillatory
modes of the gyroscope but the higher the required torque to achieve a given rate
of precession.
In the chapters that follow, a gyroscope for use as a stabilised platform will be
developed and control over the gyroscope will be attempted.
This chapter begins by dening the relevant coordinate systems along with a method
to transform vectors from one coordinate system to another. The derivation of
Euler's equations of motion is then presented, which lead to a mathematical model
of the stabilised platform.
7
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 8
earth and the translational motion of the airship will be small with respect to a xed
point on the earth. The inertial axis system, OI − XI YI ZI , is then dened as a set
of earth-xed, right-hand orthogonal axes oriented north for the positive XI -axis,
east for the positive YI -axis and down for the positive ZI -axis.
OB
IB XB
TB
YB \B
ZB
The airship body axis system is xed to the body of the airship and changes
with respect to inertial space as the orientation of the airship changes. The attitude
of the airship body axis system is described in terms of the angles φB , θB and ψB ,
which are measured by an AHRS developed by Bijker [12] in a separate project.
For the development of the steering controllers of the platform, the base of the
airship will be assumed to be inertially aligned. This assumption is necessary since
the AHRS measuring the airship's rotations will only be available for integration
with this project at a later stage. In reality, the airship's roll and pitch angles are
small with respect to inertial space, while the ZB -axis and the gimbal 3-axis (see
Section 2.1.4) remain coincident with a change in the airship's yaw angle, which
is unconstrained. Thus, for the development of the theory in the remainder of this
chapter, we will assume that the airship body axis system is aligned with the inertial
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 9
axis system. In practice, a human in the loop will issue the steering commands and
will be able to easily compensate for this assumption, since an airship's rotations
are slow [12].
M3
2
1
θG ψG,ω3
3
3
h0
θG,ω2
2 M2 φG,ω1 M1 1
φG
XP
YP
ZP
Figure 2.2: Gimbal axes and platform axes denitions
The attitude of the platform axis system with regard to inertial space is specied
by the angles φP , θP and ψP and with regard to the airship body axis by the angles
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 10
φG , θG and ψG .
O
2
1 θG
1'
θG
3
3''
The gyroscope is connected to inertial space through the airship. The 3-axis
is xed to the airship body axes and is always aligned with the ZB -axis. The
orientation of the gimbals relative to the airship body axis is specied by the angles
φG , θG and ψG .
dened as
h i XP
BP = 0 0 1 YP
(2.1)
ZP
and is denoted in the inertial axis system as
h i XI
BI = BXI BYI BZI YI . (2.2)
ZI
Referring to Fig. 2.4, the azimuth angle is dened as the angle between the positive
XI -axis and the projection of the boresight vector onto the XI YI -plane. The eleva-
tion angle is dened as the angle between the XI YI -plane and the boresight vector.
The angles are calculated mathematically as
B
Az = arctan
YI
(2.3)
BXI
and
BZI
El = arctan q . (2.4)
2 2
BX I
+ BYI
The sign of the boresight components has to be taken into account to obtain the
angles in the correct quadrant.
Az O
YI
El
XI
ZI
where
cos ψG sin ψG 0
A3 (ψG ) = − sin ψG cos ψG 0
(2.8)
0 0 1
cos θG 0 − sin θG
A2 (θG ) = 0
1 0
(2.9)
sin θG 0 cos θG
1 0 0
A1 (φG ) = 0 cos φG sin φG . (2.10)
0 − sin φG cos φG
Combining equation (2.8) to (2.10) yield the direction cosine matrix (DCM), given
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 13
YI YI' YI'≡YI''
XI'' φG XI''≡XI'''≡XP
θG
O
XI' O
O O
YI'''≡YP
XI ψG ZI''
ZI'''≡ZP
ZI ZI≡ZI'
by
sin φG sin ψG + cos φG sin θG cos ψG − sin φG cos ψG + cos φG sin θG cos ψG cos φG cos θG
(2.11)
VP = A321 VI . (2.12)
321 VP .
VI = AT (2.13)
Applying Eqs. (2.5), (2.6) and (2.7), the unit vectors in Eq. (2.14) can be transformed
to platform axes as
Substituting Eqs. (2.15), (2.16) and (2.17) into Eq. (2.14) and rewriting, gives the
components of the total angular velocity in platform coordinates as
which in matrix form gives the transformation of the angular rates φ˙G , θ˙G , and ψ˙G
to platform body coordinates as
φ˙G
ωXP 1 0 − sin θG
ωYP = 0 cos φG sin φG cos θG θ˙G . (2.22)
Taking the inverse of the matrix in Eq. (2.22), gives the transformation of the
platform angular rate vector in platform coordinates to the gimbal axis system as
φ˙G
1 sin φG tanθG cos φG tanθG ωXP
− sin φG ωYP . (2.23)
˙
θG = 0 cos φG
ω = ω1 1 + ω2 2 + ω3 3. (2.24)
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 15
Realising that ZI ≡ 3, YI0 ≡ 2 and X00I ≡ 1, the Euler angle rates φ˙G , θ˙G and ψ˙G is
equivalent to the rotation rates of the gimbals, ω1 , ω2 and ω3 . Thus Eq. (2.23) gives
the transformation of the platform angular velocity, coordinated in the platform axis
system, to the gimbal axis system.
where N is the torque vector acting on the body and H is the angular momentum
vector of the body dened as
H = Iω , (2.26)
where ω is the total angular velocity of the body and
Ixx Ixy Ixz
I = Iyx Iyy Iyz
(2.27)
Izx Izy Izz
relates the time derivative of an arbitrary vector (·) in one reference frame to its
time derivative in another [3]. Applying Eqs. (2.26) and (2.28) to Eq. (2.25) yields
dω
I = N − ω × Iω . (2.29)
dt
Eq. (2.29) is the vector formulation of Euler's equations of motion for a rigid body
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 16
where the vector quantities are coordinated in the body axis system [7].
For a body equipped with a ywheel1 , the total angular momentum is the sum
of the angular momentum generated by the rotational motion of the body and the
angular momentum generated by the ywheel. This is expressed in equation form
as
H = Iω + h, (2.30)
where h is the angular momentum of the ywheel. Including the angular momentum
of the ywheel in Euler's equations gives
dω dh
I =N− − ω × (Iω + h). (2.31)
dt dt
Eq. (2.33) describes the motion of a rigid body equipped with an element that
produces a constant angular velocity.
0 0 I33
1 The addition of a ywheel constitutes that the body is not rigid, but the dynamic equations
can still be used [7].
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 17
The resultant Euler equations will then only be along the gimbal rotation axes,
O − 123. Along these axes
Nm1 + Nw1
N = Nm2 + Nw2 , (2.35)
Nm3 + Nw3
where Nm are the steering torques applied to the gimbals and Nw are the friction
torques acting on the gimbals. It is important to realise that N is not the coordinates
of a single geometric vector and do not represent one single physical torque. It is
a mathematical vector whose elements are the magnitudes of three real physical
torques of a specially dened set, which are generally not orthogonal.
To describe the rotational motion of the inner and middle gimbals, Eq. (2.33)
will be evaluated along O − 12300 and to describe the rotations of the outer gim-
bal, Eq. (2.33) will be evaluated along O − 10 23, as dened in Section 2.1. It is
necessary to describe the angular velocity vector discussed in Section 2.4 as well
as the angular momentum vector generated by the ywheel, along these coordi-
nate systems. Figs. 2.6 and 2.7 illustrate the coordination of vectors between the
relevant coordinate systems, and will be used as an aid in the following sections.
Fig. 2.6 illustrates a transformation equivalent to Eq. (2.7) and Fig. 2.7 illustrates
a transformation equivalent to the inverse of Eq. (2.6).
O,XP,1 O,2
2 1
φG θG
YP 1'
θG
φG
3
3'' ZP 3''
Figure 2.6: Vector transformation from Figure 2.7: Vector transformation from
platform axes to O − 12300 O− 12300 to O − 10 23
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 18
sin θG 0 cos θG w3
−ω3 sin θG
= 0 . (2.36)
ω3 cos θG
The components of the angular velocity vector coordinated in O − 12300 are now
given by
h i 1
ω12300 = (ω1 − ω3 sin θG ) ω2 ω3 cos θG 2. (2.37)
300
The angular momentum of the ywheel is always aligned with the ZP -axis and
can be written as
h0 = h0 ZP . (2.38)
Referring to Fig. 2.6, h0 coordinated in O − 12300 can be obtained by applying the
transformation
1 0 0 0
T
A1 (φG )h0 = 0 cos φG − sin φG 0
0 sin φG cos φG h0
0
= −h0 sin φG . (2.39)
h0 cos φG
300
Evaluation of the cross product between the angular momentum and angular
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 19
1 2 300
ω × h = ω1 − ω3 sin θG ω2 ω3 cos θG
0 −h0 sin φG h0 cos φG
= (ω2 h0 cos φG + ω3 h0 sin φG cos θG )1
− (ω1 h0 cos φG − ω3 h0 cos φG sin θG )2
+ (−ω1 h0 sin φG + ω3 h0 sin φG sin θG )300 . (2.41)
Substituting Eq. (2.41) into Eq. (2.33), and realising that the 300 -axis is not a gimbal
axis of rotation, gives
− sin θG 0 cos θG 0
ω1 cos θG
= 0 . (2.44)
−ω1 sin θG
The components of the angular velocity vector coordinated in O − 10 23, are now
given by 0
h i 1
ω10 23 = (ω1 cos θG ) ω2 (ω3 − ω1 sin θG ) 2 . (2.45)
3
The components of h0 coordinated in O − 10 23 can be obtained by rotating
O − XP YP ZP through φG to coincide with O − 12300 , as illustrated Fig. 2.6 and
then through θG to coincide with O − 10 23, as illustrated in Fig. 2.7. Applying the
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 20
transformation yield
cos θG 0 sin θG 1 0 0 0
T T
A2 (φG )A1 (θG )h0 = 0 1 0 0 cos φG − sin φG 0
h0 cos φG cos θG
Evaluation of the cross product between the angular momentum and angular
velocity vectors coordinated in O − 10 23 yield
10 2 3
ω10 23 × h10 23 = ω1 cos θG ω2 ω3 − ω1 sin θG
h0 cos φG sin θG −h0 sin φG h0 cos φG cos θG
= ω2 h0 cos φG cos θG + ω3 h0 sin φG − ω1 h0 sin φG sin θG 10
Substituting Eq. (2.48) into Eq. (2.33) and realising that 10 is not a gimbal axis of
rotation, gives
where the trigonometric property sin2 θ + cos2 θ = 1 has been applied to Eq. (2.48).
Eq. (2.49) is identical to Eq. (2.43), which is expected since the 2-axis is common
to both the O − 10 23 and O − 12300 . Eqs. (2.42), (2.49) and (2.50) are the dynamic
gimbal equations of motion for the stabilised platform.
CHAPTER 2. THEORY AND MODEL DEVELOPMENT 21
ωB3
where kwn is the coecient of viscous friction of the nth gimbal and ω is the angular
velocity of the platform in gimbal coordinates.
The components of ωB 123
are obtained as follows. The component of ωB in the
1-axis is obtained by coordinating ωB in the platform axis system through the DCM
given in Eq. (2.11) and taking the resulting component in the XP -axis, since the
1-axis is aligned with the XP -axis of the platform. The transformation yield
ωB1 = ωBX cos θG cos ψG + ωBY cos θG sin ψG − ωBZ sin θG . (2.54)
Since the ZB -axis is aligned with the 3-axis, the component of ωB in the 3-axis is
simply
ωB3 = ωBZ . (2.56)
Applying Eqs. (2.54), (2.55) and (2.56) to Eq. (2.53) gives the frictional torque
components in the gimbal axis system O − 123 as
(2.57)
Nw1 = kw1 (cos θG cos ψG ωXB + cos θG sin ψG ωYB − sin θG ωZB ) − ω1
(2.58)
Nw2 = kw2 (−ωXB sin ψG + ωYB cos ψG ) − ω2
Nw3 = kw3 (ωZB − ω3 ). (2.59)
2.7 Summary
This chapter presented the theory behind the development of a mathematical model
for the stabilised platform, as well as the derivation of the model. The necessary
transformations were dened to obtain all vector quantities in the gimbal axis sys-
tem. The model will be evaluated critically in Chapter 4.
Chapter 3
Platform Development
This chapter describes the development of the platform structure, sensors and ac-
tuators as well as the development of the hardware and software to interface these
components.
The gyroscope must have three degrees of rotational freedom for roll, pitch
and yaw movement of the platform.
23
CHAPTER 3. PLATFORM DEVELOPMENT 24
3.2 Actuators
This section describe the development of the hardware required to perform all nec-
essary actuation. The actuators are grouped as:
Gimbal motors
Flywheel
The motor drives will be discussed rst, followed by a discussion of the ywheel and
gimbal motors. Analogue controllers are then discussed to decouple the actuator
dynamics from the main control loop.
is the LMD18200, which has a current sense output pin with a sensitivity of 377 µA
per ampere of current through the motor. The current sense output is converted
to a voltage through a resistor to ground, which is used as the feedback signal in
each torque control system. The voltage measured over the current sense resistor is
directly proportional to the torque generated by the motor which is calculated as
VI _sense km
N= , (3.1)
(377 × 10−6 )Rsense
where VI _sense is the measured voltage, km is the torque constant of the motor and
Rsense is the value of the resistor used to perform the current conversion.
The block diagram of the gimbal motor drives and of the ywheel motor drive are
shown in Fig. 3.2 and Fig. 3.3 respectively. Passive low-pass ltering is performed
on the input and output signals of each drive system. The design of the electronic
circuits is detailed in Appendix C.
Plant 1
M1
Vin1 VI sense1
Low-pass PWM Low-pass
H-Bridge
Filter Generator Filter
Dir1 Brake1
Plant 2
M2
Dir2 Brake2
Plant 3
M3
Dir3 Brake3
Plant 4
Motor
3.2.2 Flywheel
With the following assumptions, the ywheel provides open loop stability to the
platform in maintaining a constant reference direction [8]:
The ywheel spins about an axis of symmetry.
The ywheel spins at a constant speed.
Flywheel spin angular momentum is much greater than non-spin angular mo-
mentum.
Only the rst assumption cannot be guaranteed in the implementation of the plat-
form due to the shape and weight of the payload, but great care will be taken in
balancing the weights about the spin axis. The ywheel consist of a balanced brass
disc (A disc developed previously in the ESL at the University of Stellenbosch was
used as a rst iteration) attached to a brushed DC motor (Faulhaber Minimotor
2842-012C) equipped with a tachometer. The tachometer outputs a voltage propor-
tional to the speed of the motor, which can be used in a feedback loop to control
the motor speed.
The disc's moment of inertia is If = 3.8×10−4 kg·m2 and the maximum reference
speed that can be commanded by the microprocessor is ωf = 3300rpm. Therefore
the angular momentum generated by the ywheel is
ho = ωf If
= 0.13132N·m·s. (3.2)
With the ywheel angular momentum as in Eq. (3.2), a reasonable balance is ob-
tained between the required actuator power and control eort, as discussed in Sec-
tion 1.3. It will be shown in Chapter 4 that for the ywheel angular momentum as
CHAPTER 3. PLATFORM DEVELOPMENT 27
in Eq. (3.2), torques of less than 10 mN·m are required to steer the gimbals at the
required angular rate, also discussed in Chapter 4.
where K/σ is the plant gain and τ = σ1 is the electrical time constant of the plant.
The time constant of a rst order system is dened as the time at which the unit step
response reaches the value Kσ (1 − 1e ) [1]. Substituting the values of K and τ obtained
from the open loop step responses into Eq. (3.3), gives the transfer functions of plant
1 and 2 as
422
H1 (s) = H2 (s) = (3.5)
s + 521.227
and of plant 3 as
225
H3 (s) = . (3.6)
s + 712.251
Both systems show a steady state error for step inputs.
1 0.4
0.8 0.3
Current sense voltage [V]
0.6
0.2
0.4
0.1
0.2
0
0
−0.1
−5 0 5 10 15 0 2 4 6 8
Time [s] −3 Time [s] −3
x 10 x 10
Figure 3.4: Open loop step response of Figure 3.5: Open loop step response of
plant 1 and 2 plant 3
Controller Design
Three PI-controllers, one for each gimbal motor, were designed and implemented.
This will ensure zero steady state errors for step torque commands and provide
control over the bandwidth of the closed loop systems. The closed loop system is
shown in Fig. 3.6. The block diagram applies to all three motor drive systems. The
CHAPTER 3. PLATFORM DEVELOPMENT 29
Plant
Dir Brake
Using pole cancellation and selecting a = σ , the closed loop transfer function of the
system is given as
KKD
Gcl (s) = . (3.8)
s + KKD
The controller gain can be selected to obtain the appropriate closed loop band-
width. Designing for a closed loop bandwidth of 180 Hz for plants 1 and 2 and for
a bandwidth of 65 Hz for plant 3, the resulting controller transfer functions are
s + 521.227
D1 (s) = D2 (s) = 2.7 (3.9)
s
and
s + 712.251
D3 (s) = 1.8 . (3.10)
s
The systems' closed loop poles are situated at σ1,2 = 1139.4 and σ3 = 408.4.
The simulated and measured step responses are shown in Fig. 3.7 for the closed
loop systems of plant 1 and plant 2 and in Fig. 3.8 for the closed loop system of
plant 3. All three systems exhibit zero steady state error and the desired bandwidth
specications are met with the controller gains small enough not to cause saturation
in the control signal Vin .
CHAPTER 3. PLATFORM DEVELOPMENT 30
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
Measured step response Measured step response
Simulated step response Simulated step response
0 0
0 5 10 15 0 5 10 15 20
Time [s] x 10
−3 Time [s] x 10
−3
Figure 3.7: Closed loop step response Figure 3.8: Closed loop step response
of systems driving motor 1 and 2, for a of system driving motor 3, for a step in
step in Vref = 1V Vref = 1V
The plant's step response indicates that system's settling time needs to be decreased.
Controller Design
A PI controller was designed and implemented to increase the bandwidth of the
open loop system and to ensure a zero steady state error in the output speed. The
block diagram of the closed loop system is shown in Fig. 3.10. Including the PI
CHAPTER 3. PLATFORM DEVELOPMENT 31
3.5
V
tacho
Vspeed
Voltage [V] 3
2.5
0 5 10 15 20 25 30
Time [s]
Figure 3.9: Open loop step response of ywheel motor and drive
Plant 4
Motor
controller given in Eq. (3.7), the open loop transfer function of the system is
s+a
Gol (s) = 0.234KD . (3.12)
s(s + 0.144)
The root locus of the plant and controller is shown in Fig. 3.11. The speed controller
was designed to have a settling time of less than 1 s and a damping factor of ζ = 0.7.
Closed loop poles at
s1,2 = −4.6 ± 4.69 (3.13)
will satisfy this design specication. The resulting PI controller, obtained by the
method of root locus design [1], is
s + 4.723
D4 (s) = 38.7 . (3.14)
s
CHAPTER 3. PLATFORM DEVELOPMENT 32
8
Imag Axis
0
−a
−2
−4
−6
−8
−14 −12 −10 −8 −6 −4 −2 0
Real Axis
Fig. 3.12 illustrates the measured response of the closed loop system during spin-
up. The controller is activated at 1.5 s. The controller saturates during the rst
6.5 s while the ywheel reaches nominal speed. At 8 s the ywheel reaches the
commanded reference speed and the controller regulates the speed of the ywheel
with zero steady state error at 3300 rpm. Overshoot can be observed just after 8 s
when the controller reaches 3300 rpm, which is due to the saturation of the controller
during the spin-up phase.
3500
3000
2500
Speed [rpm]
2000
1500
1000
500
0
0 5 10 15
Time [s]
3.3 Sensors
The gimbal angles and angular rates must be available for feedback to implement
a full state feedback control system for the platform. The sensors implemented to
measure the platform states are discussed in the following sections.
vector, the accelerometers can be used as a tilt sensor in roll and pitch. There are
several drawbacks to this implementation. Firstly, all dynamic acceleration, e.g.
displacement of the airship and vibration of the platform due to the ywheel must
be compensated for. Secondly, an accelerometer is most sensitive to tilt when its
sensitive axis is perpendicular to the earth's gravity vector. The resolution of the
sensor declines as the angle between its axis of sensitivity and the earth's gravity
vector changes away from 90 ◦ . The accelerometer measurements were not used in
the development of controllers for the stabilised platform, since the gyros provide
sucient information to use in a feedback controller. They are however available for
sampling through the 8-bit A/D channels of the microprocessor.
Fig. 3.14 shows the block diagram of the IMU with conditioning blocks. The gyro
r75q/s rate
measurements Voltage Low-pass 12-bit
IMU bias adjust filter A/D
output signals are biased at 2.5 V and must be adjusted to the voltage reference of
the Cygnal A/D channels, which is 1.2 V. The adjusted signals are then ltered by
anti-aliasing lters before being sampled by the microprocessor at a sampling rate
of 1 kHz. The sampled signal is downsampled in the microprocessor to produce an
eective sampling rate of 50 Hz. The cut-o frequency of the anti-aliasing lters are
25 Hz. The hardware is detailed in Appendix C.
Calibration
Sensor calibration is necessary to compensate for deviations from the specied out-
put parameters and for misalignments on the platform [12]. The sensors were cal-
ibrated by placing the IMU on a rate table and rotating it through 360 ◦ for each
axis. Since the sensors are sensitive to linear acceleration eects1 , the axis of rota-
tion must be aligned with the earth's gravity vector. A calibration matrix can be
calculated by integrating the resulting measurements. The actual rate vector is then
ωxcal ωxsensor ωxof f set
ωycal = C ωysensor − ωyof f set , (3.17)
400 400
X−axis X−axis
Y−axis Y−axis
300 Z−axis 300 Z−axis
Angle [degrees]
Angle [degrees]
200 200
100 100
0 0
−100 −100
0 20 40 60 80 100 120 0 20 40 60 80 100 120
Time [s] Time [s]
Figure 3.15: Integrated rate gyro mea- Figure 3.16: Integrated rate gyro mea-
surement in X-axis before calibration surement in X-axis after calibration
400 400
X−axis X−axis
Y−axis Y−axis
300 Z−axis 300 Z−axis
Angle [degrees]
Angle [degrees]
200 200
100 100
0 0
−100 −100
60 80 100 120 140 160 60 80 100 120 140 160
Time [s] Time [s]
Figure 3.17: Integrated rate gyro mea- Figure 3.18: Integrated rate gyro mea-
surement in Y-axis before calibration surement in Y-axis after calibration
CHAPTER 3. PLATFORM DEVELOPMENT 36
400 400
X−axis X−axis
Y−axis Y−axis
Angular Posision [deg]
200 200
100 100
0 0
−100 −100
0 20 40 60 80 0 20 40 60 80
Time [s] Time [s]
Figure 3.19: Integrated rate gyro mea- Figure 3.20: Integrated rate gyro mea-
surement in Z-axis before calibration surement in Z-axis after calibration
3.3V
μC
regulator
12V Supply
5V
IMU
regulator
3.5 Interface
The main controller, responsible for steering and stabilisation of the platform, in-
terfaces with the actuators and sensors through a microprocessor which is situated
on-board the platform. The block diagram of the system is shown in Fig. 3.22.
3.5.1 Microprocessor
The microprocessor used is the Cygnal C8051F020. The following peripherals are
utilised in the nal implementation of the platform:
CHAPTER 3. PLATFORM DEVELOPMENT 37
Sensors
Angle
Actuators Reference sensors
commands Sensors
Gimbal A/D data
PCA
motors Converters Gyros
Control
Microprocessor
commands
Flywheel Accelero-
Digital meters
I/O UART
Ports
RS-232
Ground station
Main Command
Controller Station
Six 12-bit A/D channels. Three are used for sampling of the rate measurements
from the gyros and another 3 for angle measurements from the potentiometers.
Two UART's, of which one is used to communicate with the ground station
and another can be implemented to communicate with the OBC that hosts
the airship's AHRS.
One digital output port, of which three pins control the directions of the gimbal
motors and another four control the brakes of the gimbal motors and ywheel.
Start
Run
initialisation
routines
No UART0
Start = true?
interrupt?
Yes Yes
Yes
No
No Stop Yes
20 samples? Start = false
sequence?
Yes No
No
Fig. 3.24 illustrates the ground station software ow chart. Fig. 3.25 shows a screen
shot of the control page of the Borland C++ program that interfaces a user with
the platform.
Start
Initialise ground
station
Convert A/D
No Telemetry data Yes
values to SI
received? (50Hz)
units
Calibrate data
Average data at
25Hz
Calculate ω in
gimbal axes
No
Save telemetry
data to file at
50Hz
Update GUI at
1Hz
The main controller was developed and implemented on the ground station for
testing purposes. The controller can be implemented on the same on-board computer
(OBC) as the airship's AHRS in the nal integration. Communications between the
OBC and ground station are then performed via an RF link. The OBC and RF link
are discussed in [12].
CHAPTER 3. PLATFORM DEVELOPMENT 40
3.6 Summary
This chapter described the physical implementation of the stabilised platform. An
overview of the development of a gimballed structure, along with actuators and
sensors necessary to control the platform, were presented.
The structure, along with the payload, weighs approximately 2.7 kg. The total
development cost were approximately ZAR 6440 for the electronics, sensors and
actuators and ZAR 17 800 for the 3-DOF gyroscope.
Chapter 4
Model Verication and Open Loop
Simulations
In this chapter, the open loop behaviour of the model is simulated and compared with
measurements of the actual plant. This comparison serves as a basis for determining
the model parameters. The eect of the airship's rotations on the platform are also
investigated by means of simulations.
with
41
CHAPTER 4. MODEL VERIFICATION AND SIMULATIONS 42
The Simulink model block diagram used to simulate Eqs. (4.1), (4.2) and (4.3) is
shown in Fig. 4.1.
f(u)
Ho
Fcn
-K- 1/s 1
xos sin
1/I11 W1
PhiG Sin PH
1 3 cos
Coulomb &
Nw PhiG initial
Viscous Friction1
Gimbal 1 condition Cos PH
f(u) 4 sin
ThetaG initial
Fcn1 condition Sin TH
-K- 1/s 1
xo s cos
1/I22 W2
ThetaG Cos TH
1
Coulomb &
Gimbal
Gimbal 2 Viscous Friction2
Rates
-K- 2
f(u) Gimbal
R2D
Angles
Fcn2
2 -K- 1/s 1
Nm xo s
1/I33 W3
PsiG
Coulomb & 5
on the output of the system. The simulation results correspond to the movement of
the gyroscope described in Section 1.3.
5
Angle [degrees]
0
−5
φ
−10
θ
ψ
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
10
Angular rate [deg/s]
−5
ω
1
ω2
−10
ω
3
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
Figure 4.2: Simulated step response for a torque step command to gimbal 1
15
10
Angle [degrees]
−5 φ
−10 θ
ψ
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
10
Angular rate [deg/s]
−5
ω1
ω2
−10
ω3
−15
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
Figure 4.3: Simulated step response for a torque step command to gimbal 2
CHAPTER 4. MODEL VERIFICATION AND SIMULATIONS 44
10
0
Angle [deg]
−10
φ
−20 θ
ψ
−30
1 2 3 4 5 6 7 8
Time [s]
5
Angular velocity [deg/s]
ω1
−5
ω
2
ω
3
−10
1 2 3 4 5 6 7 8
Time [s]
Figure 4.4: Measured step response for a torque step command to gimbal 1
The damping and osets are mainly due to viscous and coulomb friction in the
rotational elements of the gimbals. Comparing the simulated and measured step
response, it is clear that friction has a signicant eect on the response of the
system and cannot be ignored in the model. The main sources of friction are the
potentiometers, motors and wiring.
Another important observation from Fig. 4.4 is that ω3 is zero for all time.
From consecutive measurements were found that for torque values commanding
slow angular rates (i.e. ω < 0.03rad/s), gimbal 3 is decoupled from the movement of
gimbal 1 and 2 and vice versa. This is due to the large coecients of static friction
between gimbal 3 and the base to which it is attached and between the contact
points of gimbal 1 and gimbal 2. The eect of static friction can be used as an
advantage in the design of steering controllers for the platform, since gimbal 3 can
CHAPTER 4. MODEL VERIFICATION AND SIMULATIONS 45
30
φ
20 θ
Angle [deg]
ψ
10
−10
1 2 3 4 5 6 7
Time [s]
10
Angular velocity [deg/s]
ω1
5 ω
2
ω3
0
−5
−10
1 2 3 4 5 6 7
Time [s]
Figure 4.5: Measured step response for a torque step command to gimbal 2
be mathematically decoupled from gimbals 1 and 2 for small angular rates. This
will be discussed further in Chapter 5.
(4.4a)
Nw1 = − kw1 ω1 + 0.0015sgn(ω1 )
(4.4b)
Nw2 = − kw2 ω2 + 0.0015sgn(ω2 )
Nw3 = − kw3 ω3 + 0.002sgn(ω3 ) . (4.4c)
The simulated and measured step responses are shown in Figs. 4.6, 4.7 and 4.8,
where the parameters of Table 4.1 and Eqs. (4.4) and (4.5) were used in the simula-
tions. It can be seen that some uncertainty in the model parameters still exists. This
is partially due to unmodelled dynamics (e.q. the eect of the wires) and assump-
tions made in the modelling process, e.g. assuming a spherical moment of inertia
tensor. More exact plant parameters can be obtained by applying a deterministic
estimation method like least squares estimation [2]. However, the above mentioned
parameters describe the plant to a close enough approximation to yield good control
results. The spring eects in the wires, visible in Fig. 4.8, remain unmodelled, but
will be taken into account in the controller design process. The eect of the wires
can be eliminated with the use of slip rings.
Gimbal 1 Gimbal 2
2 2
Measured response
Angle [degrees]
Angle [degrees]
1.5 Simulated response 0
1 −2
0.5 −4
0 −6 Measured response
Simulated response
−0.5 −8
1.5 2 2.5 3 3.5 4 1.5 2 2.5 3 3.5 4
Time [s] Time [s]
Measured response
Angular rate [deg/s]
2
−5
0
Measured response
−2 −10 Simulated response
1.5 2 2.5 3 3.5 4 1.5 2 2.5 3 3.5 4
Time [s] Time [s]
Figure 4.6: Measured and simulated step responses for a torque step command to gimbal 1
of Nw1 = 8.5mN·m
Gimbal 1 Gimbal 2
6 3
Measured response Measured response
Angle [degrees]
Angle [degrees]
2 1
0 0
−2 −1
1.5 2 2.5 3 3.5 4 1.5 2 2.5 3 3.5 4
Time [s] Time [s]
6 3
Measured response Measured response
Angular rate [deg/s]
2 1
0 0
−2 −1
1.5 2 2.5 3 3.5 4 1.5 2 2.5 3 3.5 4
Time [s] Time [s]
Figure 4.7:Measured and simulated step responses for a torque step command to gimbal 2
of Nw2 = 6mN·m
CHAPTER 4. MODEL VERIFICATION AND SIMULATIONS 48
60
Angle [deg]
40
20
Measured response
Simulated response
0
4 5 6 7 8 9 10
30
Angular rate [deg/s]
Measured response
20 Simulated response
10
−10
4 5 6 7 8 9 10
Time [s]
Figure 4.8: Measured and simulated step responses for a torque pulse command to
gimbal 3 of Nw3 = 8mN·m with a duration of 2 s (θ = φ = 0◦ )
0
Roll angle [deg]
−5
−10
−15
330 340 350 360 370 380 390
4
Pitch angle [deg]
−2
410 415 420 425 430 435
320
Yaw angle [deg]
300
280
260
240
Figure 4.9: Typical roll, pitch and yaw rotation angles of a small blimp [12]
and
π
ωBZ = 0.55sin t . (4.8)
10
CHAPTER 4. MODEL VERIFICATION AND SIMULATIONS 49
The eect of the airship's rotations on the platform can be investigated by simulating
Eqs. (4.1), (4.2) and (4.3) with Nw as in Eqs. (2.57), (2.58) and (2.59) and the
airship's angular rates ωB as given above.
The simulation results are shown in Fig. 4.10. The platform deviates from its
pointing reference with up to 6 ◦ in azimuth and 7 ◦ in elevation. The RMS errors
in the azimuth and elevation planes are 2.6151 ◦ and 2.0493 ◦ respectively. Gimbal 3
experience angular rates of up to 0.2 rad/s and gimbals 1 and 2 experience angular
rates of up to 0.093 rad/s due to torque disturbances. The controller should be
designed to compensate for these disturbances.
100
Angle [deg]
50
0
φG θG ψG
−50
0 50 100 150 200 250 300 350
Angular rate [deg/s]
20
10
−10
ω1 ω2 ω3
−20
0 50 100 150 200 250 300 350
100
Angle [deg]
50
0
Boresight azimuth
Boresight elevation
−50
0 50 100 150 200 250 300 350
Time [s]
Figure 4.10: Simulated eect of blimp movement on platform due to viscous friction
Chapter 5
Platform Controller Design
This chapter begins by stating the strategy on which the controller designs are
based. Thereafter, the theory and design of the controllers responsible for platform
steering and disturbance torque rejection, are presented. This include the derivation
of a linear platform model. Finally, the controllers are evaluated in simulation.
50
CHAPTER 5. PLATFORM CONTROLLER DESIGN 51
ψG will be evaluated for each controller and will be used as a criterion to determine
the tracking performance, even though an angle is not physically commanded.
This will ensure a reasonably smooth control response (i.e., at least ten samples
per rise time) [2]. By substituting Eq. (5.1) into Eq. (5.2), a lower bound for the
sampling frequency is calculated as
ωs
fs = ≥ 5Hz. (5.3)
2π
System: sysC
I/O: In(2) to Out(1)
From: u1 From: u2 Frequency (Hz): 4.25
Magnitude (dB): 41.8
50
1
To: x
0
Magnitude (dB) ; Phase (deg)
−50
90
To: x1
−90
System: sysC
I/O: In(1) to Out(2)
−180 Frequency (Hz): 4.29
60 Magnitude (dB): 40.9
40
2
To: x
20
0
−20
−40
180
2
90
To: x
−90
−3 −2 −1 0 1 2 −3 −2 −1 0 1 2
10 10 10 10 10 1010 10 10 10 10 10
Frequency (Hz)
Figure 5.1: Open loop bode diagram of the plant responsible for elevation pointing
From a practical perspective, it is desirable to choose the sample rate of the con-
CHAPTER 5. PLATFORM CONTROLLER DESIGN 53
troller as slow as possible. The signal to noise ratio of the sensor measurements will
increase as the sample rate decreases when oversampling and averaging is used [19],
as is implemented in this project. Less measurement noise will result in more robust
controllers and simpler post processing algorithms (e.g. obtaining the derivative of
a measurement).
With the above factors in consideration, a good choice for the sample frequency,
which satisfy Eqs. (5.3) and (5.4), is
fs = 25Hz. (5.5)
ẋ = Fx + Gu (5.6)
y = Hx + Ju, (5.7)
where x is the state vector, F is the state matrix, u is the input vector, G is the
input matrix, H is the output matrix and J is the feedforward matrix.
The dynamic equations for the system of gimbal 1 and gimbal 2, decoupled from
the movement of gimbal 3, i.e. w3 = 0, are
the system can be linearised for small perturbations in x about the point
(ω10 , ω20 , φG0 , θG0 ). The linearized state matrix is calculated as
∂f1 ∂f1 ∂f1 ∂f1
∂ω1 ∂ω2 ∂φG ∂θG
∂f2 ∂f2 ∂f2 ∂f2
∂ω1 ∂ω2 ∂φG ∂θG
F =
∂f
3 ∂f 3 ∂f 3 ∂f
3
∂ω1 ∂ω2 ∂φG ∂θG
∂f4 ∂f4 ∂f4 ∂f4
∂ω1 ∂ω2 ∂φG ∂θG
kw1 h0 cosφG0 h0 sinφG0
− − ω20 0
I11
h cosφ I11 I11
0 G0 kw2 h0 sinφG0
= − −ω10 ,
0 (5.15)
I22 I22 I22
1 0 0 0
0 1 0 0
where the partial derivatives are evaluated at (ω10 , ω20 , φG0 , θG0 ). Since ω1 and
ω2 will be nominally zero during stabilization and small (ω < 0.03rad/s) during
platform steering and because φG will in general be small, the state matrix can be
simplied as
kw1 h0 cosφG0
− − 0 0
I11
h cosφ I11
0 G0 kw2
F = − .
0 0 (5.16)
I22 I22
1 0 0 0
0 1 0 0
Eq. (5.16) shows that the angular rate states, x1 and x2 , are independent of the angle
states x3 and x4 and can therefore be decoupled. To steer the platform, the gimbal
CHAPTER 5. PLATFORM CONTROLLER DESIGN 55
angular rates ω1 and ω2 will be controlled and the angle states can be omitted from
the state vector to yield the simplied state equations as
kw1 h0 cosφG0 1
− − 0
I11 I11 I11
(5.17)
ẋ = x+ u
h cosφ
0 G0 kw2 1
− 0
I22 I22 I22
" # " #
1 0 0 0
y= x+ u, (5.18)
0 1 0 0
with
" #
ω1
x= (5.19)
ω2
and
" #
Nm1
u= . (5.20)
Nm2
Φ = eF Ts (5.21)
and
Z Ts
Γ= eF η dη G, (5.22)
0
The state equations do not account for static or coulomb friction and therefore
integral control will be added to the system to ensure zero steady state errors. The
state-space model, augmented with an integral state for each output and including
CHAPTER 5. PLATFORM CONTROLLER DESIGN 56
a reference input, is
" # " #" # " #
xI (k + 1) I H xI (k) 0
= + u(k) − Γr r(k) (5.25)
x(k + 1) 0 Φ x(k) Γ
" #
h i x (k)
y(k) = 0 H I
. (5.26)
x(k)
ω1
where r(k) = [ ω2ref ] are the reference inputs and Γr = 0I is the reference input ma-
ref
trix. The augmented state matrix, input matrix and output matrix will be denoted
ΦI , ΓI and HI respectively. The control law to be used is
which for a full state feedback controller with integral control and a reference input
becomes
" #
h i x (k)
u(k) = − KI K I
+ KNx r(k), (5.28)
x(k)
where Nx is the state command matrix, which for this system is Nx = 10 01 due to
the particular selection of the state matrices. The closed loop system, illustrated in
Fig. 5.2, in state space form is
" # " #! " #
xI (k + 1) KI xI (k)
= ΦI − ΓI + Γr r (5.29)
x(k + 1) K x(k)
" #
xI (k)
y(k) = HI . (5.30)
x(k)
− 1 w
z − 1
+ + x y
r − Σ e KI + Σ u+ Σ Φ, Γ
+
− 1
z − 1 K
Nx + Σ−
Figure 5.2: Block diagram of full-state feedback controller with integral control and
reference and disturbance inputs r and w
CHAPTER 5. PLATFORM CONTROLLER DESIGN 57
5.2.3 Controllability
From the open loop measurements in Chapter 4, it is clear that all the states can
be controlled by the two available inputs, and intuitively the system is controllable.
This can be veried mathematically by testing that the controllability matrix, de-
ned as h i
C = Γ ΦΓ · · · Φn−1 Γ (5.31)
is non-singular. The rank of C must be n for the matrix to be non-singular, where
n is the size of Φ and thus the number of poles that has to be placed. Substituting
the state equations at φG = 0rad into Eq. (5.31) yields
" #
2180 0 −1900.96 5438.446
C= (5.32)
0 1900 −5438.446 −1444
which has a rank of 2. The system was found to be controllable for the region of
interest −25◦ < φG < 25◦ .
Pole Placement
With the control law as in Eq. (5.27), the closed loop poles of the system [Φ − ΓK]
are given by the roots of the characteristic equation
By selecting a set of closed loop poles (p1 , p2 , . . . , pn ) which will yield a desired system
response, the feedback gain matrix K that realize these poles can be calculated by
solving for K in the equation
For a MIMO system, the resulting gain matrix is not unique. The MATLAB
function place.m handles the extra degrees of freedom and calculates a feedback
CHAPTER 5. PLATFORM CONTROLLER DESIGN 58
The focus of the design is shifted from iterating on closed loop pole positions
to assigning weights in a cost function to produce the desired closed loop response.
The selection of the weighting matrices Q1 and Q2 is only weakly connected to the
closed loop performance specications and therefore the elements of these matrices
are determined by an iterative process. However, a degree of control over the settling
time can be obtained through the Pincer Procedure [2] which introduces another
parameter, α, into the problem. With
If α is selected as
α > 1001/k = 100Ts /ts , (5.40)
all states should settle to less than 1% within the specied settling time ts .
1 See Kautsky, J. and Nichols N.K., "Robust Pole Assignment in Linear State Feedback", Int.
J. Control, 41 (1985), pp. 1129-1155.
CHAPTER 5. PLATFORM CONTROLLER DESIGN 59
The MATLAB function dlqr.m was used to calculates the gain matrices K and
KI .
Gain Scheduling
It is clear from Eq. (5.16) that the model is dependent on the selection of the
operating point in φG0 . Both controllers will initially be designed and tested at
φG0 = 0◦ . The adaptive control method of gain scheduling will then be implemented
on the controller with the best results in order to enable the controller to track
reference inputs at all allowable values of φG . The control scheme is illustrated
in Fig. 5.3. The state matrix F will be calculated at predened values of φG and
− 1 w
z − 1
+ + x y
r − Σ e KI + Σ u+ Σ Φ, Γ
+
− 1
KI(φG) K K(φG) φG
φG z − 1
Nx + Σ−
discretized with the MATLAB function c2d.m. The resulting discrete state and
input matrices will be used in the calculation of [KI K] to generate an array of gain
matrices. The appropriate gains in [KI K] can then be selected as a function of φG
at each sample instance.
Gain scheduling will not introduce stability issues since the change in model and
feedback gains will be very small over one sample period, as will be seen in the
following sections.
closed-loop system are met and that the system's resonance frequencies will not be
stimulated by the controller. The resulting poles in the z-plane for φG0 = 0◦ are
Fig. 5.4 shows the bode diagram of the closed loop system. A reference command
to ω1ref will pass through to output ω1 , while the magnitude of ω2 for the same
reference input will be damped at low frequencies. The same holds for input ω2ref
to outputs ω2 and ω1 , verifying that the general working of the controller is correct.
The −3 dB cut-o is at approximately 0.5 Hz and a roll-o of 40 dB/dec can be
observed for ω1ref to ω1 and ω2ref to ω2 .
From: r1 From: r2
0
−60
−80
−100
−120
90
Magnitude (dB) ; Phase (deg)
−90
1
To: x
−180
−270
−360
−450
−20
2
To: x
−40
−60
−80
−100
270
180
90
2
To: x
0
−90
−180
−270
−360
−2 −1 0 1 −2 −1 0 1
10 10 10 10 10 10 10 10
Frequency (Hz)
The simulated response to a step command in ω2ref is shown in Fig. 5.5. The
settling time is less than 2 s with no overshoot in ω2 . A steady state error in φG
CHAPTER 5. PLATFORM CONTROLLER DESIGN 61
of 1.69 ◦ results due to unwanted excitation of ω1 in the transient phase. The RMS
tracking error in θG is 1.8947 ◦ .
20
φG
Angle [deg]
θG
10
θGref
−10
4 5 6 7 8 9 10 11 12 13 14 15
0.15
Angular rate [rad/s]
ω1
0.1 ω2
ω2ref
0.05
−0.05
4 5 6 7 8 9 10 11 12 13 14 15
0.01
Torque [Nm]
0.005
0
N
−0.005 m1
Nm2
−0.01
4 5 6 7 8 9 10 11 12 13 14 15
Time [s]
Figure 5.5: Simulated step response of controller designed by pole placement for a step
in ω2ref = 0.03rad/s
α = 1.04713. (5.43)
CHAPTER 5. PLATFORM CONTROLLER DESIGN 62
with u11 = u22 = 10mN m (the maximum actuator authority). qi and q are varied to
obtain the desired closed loop response. The same weight is assigned to the respec-
tive states, since there is no classication of importance between the two system
or integrator states. As a design tool, the root loci of the system and integrator
poles, with φG0 = 0◦ , are plotted as a function of the elements in Q1 , which are
illustrated in Fig. 5.6. For each separate locus, q is kept constant while the value of
qi is iterated from 10−5 to 105 . The loci are plotted in dierent colours for dierent
values of q . Table 5.1 contains the colour legend for the plot in Fig 5.6.
It can be seen that as q increases, the natural frequency and the damping factor
of x1 and x2 increases. The weighting elements are selected as q = 5 and qi = 10−5 .
The resulting closed loop poles in the z-plane for φG0 = 0◦ are
The integrator poles dominate the closed loop response and ensure that the set-
tling time specication is met. Only a small amount of damping is added to the
system poles, as damping with regard to a non-inertial reference can lead to insta-
bility in the physical implementation. This also reduces the controller's sensitivity
to model parameter deviations.
It will be shown in Chapter 6 that the performance of the LQR controller exceeds
that of the controller designed by pole placement. Gain scheduling will thus be
implimented on the LQR controller. Fig. 5.7 illustrates the resulting gain elements
as a function of φG . The gain matrices are implemented by means of second order
CHAPTER 5. PLATFORM CONTROLLER DESIGN 63
1
0.5π/T
0.6π/T 0.4π/T
0.8 + Integrator poles 0.1
0.7π/T 0.3π/T
x System poles 0.2
0.6 0.3
0.8π/T 0.4 0.2π/T
0.5
0.4 0.6
0.7
0.9π/T 0.8 0.1π/T
0.2 0.9
Imag axis
π/T
0
π/T
−0.2
0.9π/T 0.1π/T
−0.4
0.8π/T 0.2π/T
−0.6
0.7π/T 0.3π/T
−0.8
0.6π/T 0.4π/T
0.5π/T
−1
−1 −0.5 0 0.5 1
Real axis
polynomials, given by
2.045 0.0287
6.2
2.04
0.0286
2.035 6.1
0.0285
2.03
−0.01 0.0284 6
2.025
0.0283
2.02 5.9
0.0282
2.015
5.8
2.01 0.0281
−4.4 0.0304
0.0106 2.08
−4.45
0.0303
0.0104 2.07 −4.5
0.0302
−4.55
0.0102 2.06 0.0301
−4.6
0.03
0.01 2.05 −4.65
0.0299
−4.7
0.0098 2.04
−4.75 0.0298
Angle [rad/s]
Figure 5.7: Gain elements as a function of φG for the LQR controller with gain scheduling
The implementation of gain scheduling lead to deviations from the closed loop
poles of Eq. (5.46), since the weighting matrices remain constant when the gains
are calculated as a function of φG . The locus of implemented poles are illustrated
in Fig. 5.8. The change in system poles due to gain scheduling will not have a
signicant eect on the response of the system, since the integrator poles dominate
the closed loop response. The integrator poles remain essentially the same as the
gains change as a function of φG .
The simulated step responses for a reference step in ω1 and ω2 of 0.03 rad/s are
shown in Figs. 5.9 and 5.10 respectively. The settling times are well within the
specied limit of less than 2 s for steps in both ω1ref and ω2ref . The RMS error in
φG is calculated as 0.9923 ◦ and in θG as 0.9624 ◦ . This is a reduction in tracking
errors of 50 % over the controller designed using pole placement.
1 0.5π/T
0.6π/T 0.4π/T
0.8 0.7π/T 0.1
0.3π/T
0.2
0.6 0.3
0.8π/T 0.4 0.2π/T
0.5
0.4 0.6
0.7
0.9π/T 0.8 0.1π/T
Imag axis
0.2 0.9
π/T
0 π/T
−0.2
0.9π/T 0.1π/T
−0.4
0.8π/T 0.2π/T
−0.6
0.7π/T 0.3π/T
−0.8
0.6π/T 0.4π/T
0.5π/T
−1
−1 −0.5 0 0.5 1
Real axis
Figure 5.8: Closed loop pole perturbations for LQR controller with gain scheduling
20
φG
15
Angle [deg]
θG
10 φGref
5
−5
4 5 6 7 8 9 10 11 12 13 14 15
Angular rate [rad/s]
0.04 ω1
ω2
0.02 ω1ref
−0.02
4 5 6 7 8 9 10 11 12 13 14 15
−3
x 10
6
Nm1
Torque [Nm]
4 Nm2
0
4 5 6 7 8 9 10 11 12 13 14 15
Time [s]
Figure 5.9: Simulated step response of LQR controller for a step in ω1ref = 0.03rad/s
Angle [deg]
θG
10 θGref
5
−5
4 5 6 7 8 9 10 11 12 13 14 15
Angular rate [rad/s]
0.04 ω1
ω2
0.02 ω2ref
−0.02
4 5 6 7 8 9 10 11 12 13 14 15
−3
x 10
2
Torque [Nm]
−2
Nm1
−4 Nm2
4 5 6 7 8 9 10 11 12 13 14 15
Time [s]
Figure 5.10: Simulated step response of LQR controller for a step in ω2ref = 0.03rad/s
A sampling time of 0.04 s, as was determined t for the elevation controller, will
also be used for the azimuth controller. A simple rst order PI controller will be
implimented on the outer gimbal to control platform motion in the azimuth plane.
This will ensure zero steady state error in the presence of unmodelled non-linear
dynamics, e.g. static and coulomb friction.
The motion of the third gimbal, decoupled gyroscopically from gimbals 1 and 2,
is described by Eq. (4.3) with ω1 = ω2 = 0rad/s. That is,
Taking the Laplace transform of Eq. (5.47), yields the transfer function of the plant
as
Ω3 1
G3 (s) = = , (5.48)
N3 I33 s + kw3
with I33 = 7.14 × 10−3 kg·m2 and kw3 = 4.5 × 10−3 N/m·s−1 . Discretizing Eq. (5.48)
using the method of zero-order hold equivalents for a sampling period of Ts = 0.04s,
yield the discrete transfer function of the plant as
−1 G3 (s)
G3 (z) = (1 − z ) Z
s
5.53
= . (5.49)
z − 0.9751
CHAPTER 5. PLATFORM CONTROLLER DESIGN 67
These poles can be realized with a discrete PI controller, of which the transfer
function is given by
z−a
D(z) = KD . (5.52)
z−1
The control scheme is illustrated in Fig. 5.11. Using the method of discrete root
Z3ref Nw3 Z3
6 D(z) G(z)
Figure 5.11: Block diagram of closed loop system for control in the azimuth plane
locus design [2], the values of KD and a that realize the poles given in Eq. (5.51)
were calculated as
KD = 0.0286
and
a = 0.9029.
7.85
0.2
0.15 0.1
0.3 0.2
0.4
0.5
0.6
0.1 0.7
0.8
0.9
Imag Axis
0.05
−0.05
−0.1
−0.15
−0.2 7.85
15
Angle [deg]
10
5
ψG
0
ψGref
−5
0 1 2 3 4 5 6 7 8 9 10
0.04
Angular rate [rad/s]
0.02
0 ω3
ω3ref
−0.02
0 1 2 3 4 5 6 7 8 9 10
−3
x 10
3
Torque [Nm]
0
Nm3
−1
0 1 2 3 4 5 6 7 8 9 10
Time [s]
Figure 5.13: Simulated step response of PI controller for a step in ω3ref = 0.025rad/s
Chapter 6
Results
Upon closer inspection, the frequency of the limit cycle was found to be approxi-
mately 0.67 Hz. This frequency is ltered by the modied closed loop system, evident
from the bode plot in Fig. 6.2, which also indicates that the modied system does
69
CHAPTER 6. RESULTS 70
15
φG
Angle [deg]
10 θG
θGref
5
−5
4 5 6 7 8 9 10 11 12 13 14 15
0.06
Angular rate [rad/s]
ω1
0.04 ω2
0.02 ω2ref
−0.02
4 5 6 7 8 9 10 11 12 13 14 15
−3
x 10
5
Torque [Nm]
−5 N
m1
N
m2
−10
4 5 6 7 8 9 10 11 12 13 14 15
Time [s]
Figure 6.1: Measured step response of elevation controller (pole placement) for a step in
ω2ref = 0.03rad/s
Bode Diagram
From: r1 From: r2
0
−20
To: x1
−40
System: SYSclmod
I/O: In(1) to Out(1)
−60 Frequency (Hz): 0.696
Magnitude (dB): −22.5
−80
−100
180
Magnitude (dB) ; Phase (deg)
0
To: x1
−180
−360
−540
−20
To: x2
System: SYSclmod
−40
I/O: In(2) to Out(2)
−60 Frequency (Hz): 0.637
Magnitude (dB): −20
−80
−100
360
Modified system
180
Original system
To: x2
−180
−360
−3 −2 −1 0 1 −3 −2 −1 0 1
10 10 10 10 10 10 10 10 10 10
Frequency (Hz)
30
φG
Angle [deg]
20 θG
θGref
10
−10
4 6 8 10 12 14 16 18 20 22 24
0.05 ω
1
Angular rate [rad/s]
ω
2
ω2ref
0
−0.05
4 6 8 10 12 14 16 18 20 22 24
−3
x 10
5
Torque [Nm]
−5 Nm1
Nm2
−10
4 6 8 10 12 14 16 18 20 22 24
Time [s]
Figure 6.3: Measured step response of modied elevation controller (pole placement) for
a step in ω2ref = 0.03rad/s
CHAPTER 6. RESULTS 72
10 θG
5 φGref
−5
4 5 6 7 8 9 10 11 12
0.06
Angular rate [rad/s]
ω
1
0.04 ω
2
0.02 ω1ref
−0.02
4 5 6 7 8 9 10 11 12
−3
x 10
6
Nm1
Torque [Nm]
4
N
m2
2
−2
4 5 6 7 8 9 10 11 12
Time [s]
Figure 6.4: Measured step response of LQR controller for a step in ω1ref = 0.03rad/s
Fig. 6.6 shows the response to a step command in ω2ref of 0.03 rad/s with φG
at an oset angle of −8 ◦ . The response satises the specications and illustrates
the working order of the gain scheduling component of the controller, along with
Fig. 6.4.
CHAPTER 6. RESULTS 73
15
φG
Angle [deg]
10 θG
θ
5 Gref
−5
4 5 6 7 8 9 10 11 12 13 14
Angular rate [rad/s]
0.04 ω1
ω2
0.02
ω2ref
−0.02
4 5 6 7 8 9 10 11 12 13 14
−3
x 10
5
Torque [Nm]
−5 Nm1
Nm2
−10
4 5 6 7 8 9 10 11 12 13 14
Time [s]
Figure 6.5: Measured step response of LQR controller for a step in ω2ref = 0.03rad/s
20
φG
Angle [deg]
θ
10 G
θGref
−10
4 5 6 7 8 9 10 11 12
0.06
Angular rate [rad/s]
ω
1
0.04 ω
2
0.02 ω2ref
−0.02
4 5 6 7 8 9 10 11 12
−3
x 10
5
Torque [Nm]
−5 Nm1
Nm2
−10
4 5 6 7 8 9 10 11 12
Time [s]
Figure 6.6: Measured step response of LQR controller for a step in ω2ref = 0.03rad/s
with φG = −8◦
Angle [deg]
20 θG
ψG
10
ψGref
0
−10
5 10 15 20 25 30
0.04
Angular rate [rad/s]
ω3
ω3ref
0.02
−0.02
5 10 15 20 25 30
−3
x 10
6
Torque [Nm]
2
Nm3
0
5 10 15 20 25 30
Time [s]
Figure 6.7: Measured step response of azimuth controller for a step in ω3ref = 0.025rad/s
with φG = θG = 0◦
40
φG
Angle [deg]
θG
20
ψG
ψGref
0
−20
5 10 15 20 25 30
0.04
Angular rate [rad/s]
ω3
ω3ref
0.02
−0.02
5 10 15 20 25 30
−3
x 10
6
Torque [Nm]
2
Nm3
0
5 10 15 20 25 30
Time [s]
Figure 6.8: Measured step response of azimuth controller for a step in ω3ref = 0.025rad/s
with φG = −4◦ and θG = 33.6◦
met for the case φG = θG = 0◦ . A settling time of less than 2 s and negligible
overshoot can be observed. Fig. 6.8 indicates that the transient response degrades
slightly as the elevation angle decreases. This is mainly due the assumption that the
moment of inertia of each gimbal is spherical, which is not the case in the practical
CHAPTER 6. RESULTS 75
implementation. The worst case settling time was measured as approximately 2.1s,
which is still acceptable, since the steering performance in the steady state will not
be inuenced by the slightly slower settling time. φG and θG are not inuenced when
the platform is steered in the azimuth plane.
20
0
φ θ ψ
G G G
−20
0 50 100 150 200 250 300 350
Angular rate [deg/s]
−1
ω1 ω2 ω3
−2
0 50 100 150 200 250 300 350
100
Angle [deg]
50
0
Boresight azimuth
Boresight elevation
−50
0 50 100 150 200 250 300 350
Time [s]
Figure 6.9: Simulated eect of airship movement on platform due to viscous friction with
azimuth and elevation stabilising controllers
6.4 Conclusions
To further improve the pointing resolution of the platform in the presence of distur-
bance torques, the settling time specication of 2 s can be decreased. However, it
is dicult to nd a robust practical solution with faster response times. A MIMO
controller implementing the full set of dierential equations that describe the motion
CHAPTER 6. RESULTS 76
of the gyroscope should also increase the performance of platform in the presence of
disturbance torques.
The current electronics layout was designed to interface with a Cygnal de-
velopment board. The electronics layout can be redesigned to include the
microprocessor, servodrives and IMU in a more compact and lightweight con-
guration. It should be noted that the gyroscope needs to be rebalanced when
alterations are made to the platform payload. Slip rings should also be installed
between gimbal 2 and 3, since the wires degrade the practical performance of
the platform in the current system.
The Kalman lter developed in the AHRS project [12] can be augmented to
include gyro bias estimation for the rate gyros onboard the platform. The
angle measurements can be used as feedback for the estimation process. Gyro
drift is causing unintended actuation of the platform in the current system.
An LQG estimator can be implemented which estimates the states of the plat-
form, taking into account the stochastic nature of the sensor measurements [2].
78
CHAPTER 7. RECOMMENDATIONS AND CONCLUSIONS 79
Using the estimated states in the full-state feedback controller, instead of the
noisy measurements, will improve the performance of the controllers.
For the development of the controllers in this thesis, it was assumed that the
ywheel is already spinning at a constant predened speed. When the ywheel
is in spin-up (i.e. accelerating from 0 rpm to 3300 rpm), the change of angular
momentum causes the gimbals to rotate. These unwanted rotations can be
eliminated by implementing a spin-up controller on the outer gimbal which
counteracts the torque generated by the ywheel in spin-up. This will allow
for on demand activation and deactivation of the ywheel in mid ight. This
will also provide control over the peak power consumption of the ywheel
during spin-up.
7.2 Conclusions
By utilising the inherent inertial properties of a gyroscope, a 3-axis stabilised camera-
platform for use in earth observation was developed. A motorised 3-DOF gyroscope,
which serves as the stabilised platform maintaining a stable pointing reference in
inertial space, was designed and built by the CMS at the University of Stellenbosch.
The following tasks were successfully carried out in customising the gyroscope for
this purpose:
Servo drive electronics and control systems were developed to ensure correct
actuation of the platform. The actuator dynamics were decoupled from the
main control loop resulting in separate torque control systems for each gimbal
motor, which were implemented as analogue circuits. A speed controller was
designed and implemented to ensure that the ywheel maintains a constant
angular velocity, which is one of the criteria for the successful operation of a
gyroscope. An IMU and gimbal angle sensors were developed and implemented
to provide measurements of the platform states.
A mathematical model for the stabilised platform was developed from rst
principles. The model was veried and used to determine the behavior of
the platform in simulation. It was found that for the gyroscope built in this
project, the motion of the outer gimbal could be decoupled from the rest of
the system at slow angular rates. Therefore, the main controller could be
split into two parts, one controlling motion in the azimuth plane and another
CHAPTER 7. RECOMMENDATIONS AND CONCLUSIONS 80
controlling motion in the elevation plane. Some aspects of the physical system
remain unmodelled, but great care was taken in the implementation to limit
the sources of unmodelled dynamics.
Controllers for steering the platform were designed and implemented based
on a linearised mathematical model of the platform. Satisfactory results were
obtained from the full-state feedback controller designed by the method of
LQR optimal control for elevation pointing and from the PI controller designed
for azimuth pointing. All the controller design specications were met. It was
shown in simulation that the controllers also provided good disturbance torque
rejection.
The steering system was integrated in a Borland C++ GUI program that
communicates with the microcontroller onboard the platform. This allows a
user to easily steer the platform from a remote location.
Comparing the capabilities of the platform developed in this thesis with com-
mercially available platforms (refer to Tables 7.1 and 1.1), it can be concluded that
the specications of a stabilised platform for use on an airship, are less strict, which
lead to a much more cost eective system design.
[1] Franklin, G., Powell, J. and Emami-Naeini, A.: Feedback Control of Dynamic
Systems. 4th edn. Prentice Hall, New Jersey, 2002.
[2] Franklin, G., Powell, J. and Workman, M.: Digital Control of Dynamic Systems.
3rd edn. Addison-Westley, California, 1998.
[3] Marion, J.B. and Thornton, S.T.: Classical Dynamics of Particles and Systems.
4th edn. Saunders College Publishing, Fort Worth, Philadelphia, 1995.
[4] Neamen, D.: Electronic Circuit Analysis and Design. 2nd edn. McGraw-Hill,
Boston, 2001.
[5] Nilsson, J.W. and Riedel, S.A.: Electric Circuits. 6th edn. Prentice Hall, New
Jersey, 1969.
[6] Scarborough, J.B.: The Gyroscope: Theory and Applications. Interscience Pub-
lishers, Inc., New York, 1958.
[7] Ed. by Wertz, J.R.: Spacecraft Attitude Determination and Control. Kluwer
Academic Publishers, Londen, 1978.
[8] Wrigley, W., Hollister, W.M. and Denhard, W.G.: Gyroscopic Theory, Design
and Instrumentation. The M.I.T. Press, Cambridge, Massachusetts, 1969.
[9] Chingcuanco, A.O.: Modelling and Control of a Balloon Borne Stabilized Plat-
form. Ph.D. thesis, University of California, Berkeley, 1989.
[10] Söylemez, M. and Munro, M.: Robust pole assignment in uncertain systems.
In: IEE Proceedings on Control Theory and Applications, vol. 144, no. 3. May
1997.
81
LIST OF REFERENCES 82
[11] Botto, M., Babu²ka, R. and da Costa, J.: Discrete-time robust pole-placement
design through global optimization. In Preprints 15th IFAC World Congress,
pages T-Tu-M21, paper no. 2083, July 2002.
[12] Bijker, J.: Development of an Attitude Heading Reference System for an Air
ship. Master's thesis, University of Stellenbosch, Stellenbosch, 2006.
[13] Steyn, W.H.: Advanced Digital Control Systems 813 class notes, 2005. Univer-
sity of Stellenbosch.
[14] Regan, T.: A DMOS 3A, 55V, H-Bridge: The LMD18200. Application Note
694, National Semiconductor, 1999.
[20] Olsen, J.: Remote sensing from air and space, 2005.
Available at: http://www.physics.nps.navy.mil/00_Remote_Sensing_
from_Air_and_Space.pdf
[21] Canada Centre for Remote Sensing: Fundamentals of remote sensing, 2006.
Available at: http://ccrs.nrcan.gc.ca/resource/tutor/fundam/pdf/
fundamentals_e.pdf
84
APPENDIX A. GYROSCOPE DESIGN 85
where km is the current constant of the motor and I is the current through the
motor.
The measured moment of inertia of each gimbal about its axis of rotation is
given in Table A.1. The value given is taken as the average of three consecutive
measurements. It should be noted that the measurements were inuenced by the
wires between the gimbals and were only used as a starting point to determine the
parameters used in the model.
Figure A.2: Three-degree-of-freedom gyroscope design drawing, front and top views
Appendix B
PI Controller Analogue
Implementation
Considering the control system of Fig. B.1, the summation block and controller with
transfer function K s + I
H(s) = KP
KP
(B.1)
s
can be realised with the analogue circuit illustrated in Fig. B.2.
r + e u y
Σ Controller Plant
-
Combining R2 and C to form Z2 and realising that the resulting circuit resembles
a dierence amplier [4], the output voltage Vu can be written in terms of the
reference voltage Vr as Z2 Z2
Vu = 1 + Vr . (B.2)
R1 R 1 + Z2
Substituting Z2 with ( sC1 + R2 ) in Eq. (B.2), where 1
sC
is the Laplace transform of
the capacitor, and simplifying, gives
1
R2 s + CR2
Vy
= . (B.3)
Vr R1 s
87
APPENDIX B. PI CONTROLLER ANALOGUE IMPLEMENTATION 88
Substituting
R2
KP = (B.4)
R1
and
KI 1
= (B.5)
KP CR2
in Eq. (B.3), yield Eq. (B.1), which is the transfer function of the PI controller.
C R2
R1
Vy
Vu
R1
Vr
R2
This chapter details the design of the electronic hardware developed for the stabilised
platform. A photo of the electronics stack is shown in Fig. C.1. The IMU, with its
signal conditioning electronics is situated on the top stack. The middle stack hosts
the servodrive electronics. The electronic layout was designed to t on the Cygnal
C8051F020 development board, situated at the bottom. The IMU and servodrive
electronics interface with the microcontroller through a 96-pin expansion connector.
89
APPENDIX C. HARDWARE DETAIL 90
C.1.1 LMD18200
The LMD18200 can be operated in one of two modes, Locked Anti-phase Con-
trol (amplitude and direction of motor current is encoded in the PWM signal) or
Sign/Magnitude Control (only amplitude of motor current is encoded in the PWM
signal). The latter is implimented because better resolution in the commanded out-
put torque can be obtained. The LMD18200 has three input pins, a brake pin, a
direction pin and a PWM input pin. The microcontroller provides the brake and
direction signals while the UC3524A chip provides the PWM signal.
The maximum voltage that can be commanded by the microcontroller is 3.3 V.
Designing for currents of up to 0.5 A for motors 1 and 2 and to 0.86 A for motor 3,
the current sense resistors are calculated using Eq. (3.1) with I = kNm , as
3
Rsense1 = Rsense2 = = 15.915kΩ
0.5 · 377 × 10−6
3
Rsense3 = = 9.253kΩ (C.1)
0.86 · 377 × 10−6
C.1.2 UC3524A
The UC3524A chip is used to generate the PWM signal. The PWM duty cycle
is proportional to the voltage applied to pin 9. The output is generated by two
transistors, each capable of deliviring half cycle duty cycles up to 50 %. The output
of each transistor are tied together to obtain a PWM signal with a duty cycle that
can vary from 0 % to 100 %. The PWM signal is inverted before used as an input
to the H-bridge.
The frequency of the PWM signal is determined by an external resistor and
capacitor to ground at pin 6 and pin 7 respectively. The frequency was chosen as
30 kHz. Using the design equation
1
fosc ≈ , (C.2)
RT CT
APPENDIX C. HARDWARE DETAIL 91
R9
Vs 1k
R6 C6 R10 Vs
8k2 100n 15k
R7 C41 C42
2M2 47uF 100n
R8 C9 C10
C4 20k 100uF 1u
Vs
Vd
100n
U3A Vs
M1+
4
OPA4350 U1 R11
M1+
6 15 27k Vs U2
VI+ C7
7 2 9 DIR1 3 8
R1 R2 IN+ COMPN DIR1 DIR I SENSE
Vref1 Vref1 5 1
IN- OSC/SYNC
3 BRAKE1 4 2 10n
5k6 8k2 10 12 R46 Q1 BRAKE1 5
BRAKE OUT1
1
C1 SD CA 2N3906 PWM BOOTSTRAP1
4 13 10K 11
100n SEN+ CB BOOTSTRAP2
5 11 10
SEN- EA OUT2
11
6 14 9 C8
RT EB THERMAL FLAG
R3 7
CT +5VREF
16 10n M1- M1-
2M2 C2 R47 LMD18200T(11)
100n SG3524P(16) 1K
R5
3900
C3
R4 10n
20k
R9
Vs 1k
R6 C6 R10 Vs
8k2 100n 15k
R7 C41 C42
2M2 47uF 100n
R8 C9 C10
C4 20k 100uF 1u
Vs
Vd
100n
U3B Vs
OPA4350 U4 R11 M2+
4
M2+
9 15 27k Vs U5
VI+ C7
8 2 9 DIR2 3 8
R1 R2 IN+ COMPN DIR2 DIR I SENSE
Vref2 Vref2 10 1
IN- OSC/SYNC
3
R46 BRAKE2
BRAKE2 4
BRAKE OUT1
2 10n
5k6 8k2 10 12 5 1
C1 SD CA PWM BOOTSTRAP1
4 13 10K Q1 11
100n SEN+ CB BOOTSTRAP2
5 11 2N3906 10
SEN- EA OUT2
11
6 14 9 C8
RT EB THERMAL FLAG
R3 7
CT +5VREF
16 10n M2- M2-
2M2 C2 R47 LMD18200T(11)
100n SG3524P(16) 1K
R5
3900
C3
R4 10n
20k
R9
Vs 1k
R6 C6 R10 Vs
8k2 100n 15k
R7 C41 C42
2M2 47uF 100n
R8 C9 C10
C4 15k 100uF 1u
Vs
Vd
100n
U3C Vs
OPA4350 U6 R11 M3+
4
M3+
13 15 27k Vs U7
VI+ C7
14 2 9 DIR3 3 8
R1 R2 IN+ COMPN DIR3 DIR I SENSE
Vref3 Vref3 12 1
IN- OSC/SYNC
3
R46 BRAKE3
BRAKE3 4
BRAKE OUT1
2 10n
5k6 8k2 10 12 5 1
C1 SD CA PWM BOOTSTRAP1
4 13 10K Q1 11
100n SEN+ CB BOOTSTRAP2
5 11 2N3906 10
SEN- EA OUT2
11
6 14 9 C8
RT EB THERMAL FLAG
R3 7
CT +5VREF
16 10n M3- M3-
2M2 C2 R47 LMD18200T(11)
100n SG3524P(16) 1K
R5
3900
C3
R4 10n
15k
Vs
C47 C48
47uF 100n
R36 Vs
R34 R35 2M2 R37
Vtacho Vtacho
1k8 3k3 C33 150k
C31 Vs C38 C39
1u 100u 1u
1u
VS
U8 R43
15
VI+
27k Vs M4+ M4+
Vref4 R38 R39 2 9 U9
Vref4 IN+ COMPN C36
5k6 3k3 1 3 3 8
C32 IN- OSC/SYNC R44 Q4 DIR I SENSE 10n
10 12 BRAKE4 4 2
100n SD CA 2N3906 BRAKE4 BRAKE OUT1
4 13 10k 5 1
SEN+ CB PWM BOOTSTRAP1
5 11 11
SEN- EA BOOTSTRAP2
R40 6 14 10
C34 RT EB OUT2 C37
2M2 7 16 9
1u CT +5VREF THERMAL FLAG 10n M4-
VCC
M4-
SG3524P(16) LMD18200T(11)
R45
1k
R42
R41 3900 C40
150k 10n
CT = 10nF
RT = 3300Ω.
The UC3524A has an onchip error amp, which was used as the op-amp for the
analogue PI controller in the speed control loop of the ywheel. The limited common
mode input voltage range of the error amp forced the use of external op-amps in the
implementation of the PI controllers for the torque control loops, where the error
amps were used as buers.
R1 = 8200Ω
R2 = 20000Ω
C = 100nF.
(C.3)
Gimbal Motor 3
To impliment the transfer fuction of Eq. (3.10), the values of the resistors and
capacitors of Eq. (B.3) were chosen as
R1 = 8200Ω
R2 = 15000Ω
C = 100nF.
(C.4)
APPENDIX C. HARDWARE DETAIL 93
Flywheel
To implement the transfer fuction of Eq. (3.14), the values of the resistors and
capacitors of Eq. (B.3) were chosen as
R1 = 3300Ω
R2 = 150000Ω
C = 1uF.
(C.5)
C.2 Potentiometers
Fig. C.3 illustrates the circuit diagram of the potentiometer as an angle sensor. The
output voltage of each potensiometer, by voltage division, is
2.4 × R−
Vo =
R+ + R−
= 0.00024R− . (C.6)
The ouput is ltered by a second order Butterworth low-pass lter [5], illustrated in
Fig. C.4. The transfer function of the normalised lter is
Vo 1
HB = = √
Vi s2 + 2 + 1
1
= R 2 C1 C2
2 . (C.7)
s2 + RC1
s + R2 C11 C2
C1 = 0.9 × 10−6
C2 = 0.45 × 10−6
R = 10000.
R1
2K2
R2
10K
2.4V
Vo
100n VCC
4
OPA4350
6
C1 7
R R Vout
5
Vin
11
C2
filter
FILTER.SchDoc
INPUT1 AD_CH0
R1 R9 INPUT1 AD_CH0
INPUT1 INPUT2 AD_CH1
INPUT2 AD_CH1
18k 33k INPUT3 AD_CH2
INPUT3 AD_CH2
INPUT4 AD_CH3
INPUT4 AD_CH3
R17 INPUT5 AD_CH4
INPUT5 AD_CH4
47k INPUT6 AD_CH5
INPUT6 AD_CH5
INPUT7 AD_CH6
INPUT7 AD_CH6
IMU-A INPUT8 AD_CH7
INPUT8 AD_CH7
AVCC U2
1 2 1 14
Vcc Gyro Aout Dout R2 R10
4 2 13 INPUT4
Vref Ain- Din-
5 3 12 18k 33k
C1 Temp Ain+ Din+
6
100nF Selftest
4 11 R18
AVCC V+ V-
7 47k
AccX C24
3 8 5 10
Gnd AccY 100n Bin+ Cin+ R3 R11
6 9 INPUT3
Bin- Cin-
7 8 18k 33k
Bout Cout
IMU-A
C4 J3 OPA4350 R19
1u 1 R4 R12 INPUT2 47k
Vcc Vin
18k 33k
2
GND
AVCC R20
3 47k
Vout
C5
100u
IMU-B
AVCC J1
1 2 AD_CH2 AccY-
Vcc Gyro 1
4 AD_CH0 GyroX
Vref 2
5 AD_CH7 AccZ-
C2 6 Temp 3
AD_CH5 GyroY
100nF Selftest R5 R13 4
J2 INPUT5 AD_CH3 Temp_IMU_C
5
7 18k 33k AD_CH1 Temp_IMU_A
Gnd 3 AccX 6
3 8 AD_CH6 AccX+
Selftest 2 Gnd AccY 7
R21 AD_CH4 GyroZ
Vcc 1 Vcc 8
47k
CON3 IMU-B CON8
U3
1 14 R6 R14 INPUT8
Aout Dout
2 13 18k 33k
Ain- Din-
3 12
Ain+ Din+
R22
4 11 47k
AVCC V+ V-
C25 5 10
100n 6 Bin+ Cin+ R7 R15
9 INPUT7
Bin- Cin-
7 8 18k 33k
Bout Cout
IMU-C
AVCC OPA4350 R23
1 2 47k
Vcc Gyro
4
Vref R8 R16
5 INPUT6
C3 6 Temp
18k 33k
100nF Selftest
7 R24
AccX
3 8 47k
Gnd AccY
IMU-C