Sei sulla pagina 1di 27

July 13, 2015 International Journal of Control KralevSP˙IJC2015

To appear in the International Journal of Control


Vol. 00, No. 00, Month 20XX, 1–27

Design and Experimental Evaluation of Robust Controllers for a Two-Wheeled


Robot

J. Kraleva , Ts. Slavovb , and P. Petkovc∗


a,b,c
Department of Systems and Control, Technical University of Sofia, 1756 Sofia, Bulgaria
(Received 00 Month 20XX; accepted 00 Month 20XX)

The paper presents the design and experimental evaluation of two alternative µ-controllers for vertical
stabilization of a two-wheeled self-balancing robot. The controllers design is based on models derived by
identification from closed-loop experimental data. In the first design, a signal-based uncertainty represen-
tation obtained directly from the identification procedure is used which lead to a controller of order 29.
In the second design the signal uncertainty is approximated by an input multiplicative uncertainty which
leads to a controller of order 50, subsequently reduced to 30. The performance of the two µ-controllers
is compared with the performance of a conventional linear quadratic controller with 17-th order Kalman
filter. A proportional-integral controller of the rotational motion around the vertical axis is implemented
as well.The control code is generated using Simulink⃝ R
controller models and is embedded in a Digital
Signal Processor. Results from the simulation of the closed-loop system as well as experimental results
obtained during the real-time implementation of the designed controllers are given. The theoretical in-
vestigation and experimental results confirm that the closed-loop system achieves robust performance in
respect to the uncertainties related to the identification of robot model.

Keywords: Robust control; Two-wheeled robot, Real time control; Embedded systems; Digital Signal
Processors

1. Introduction

Two-wheeled robots have several peculiarities which make them challenging both from theoretical
and practical point of view. The most popular commercial product, built on the idea of self-
balancing two-wheeled robot is the Segway⃝ R
Personal Transporter (PT), produced by Segway Inc.,

R
USA (Segway, 2012). Some of the Segway PTs have maximum speed of 20 km/h and can travel
as far as 38 km on a single battery charge. The self-balancing two-wheeled robot NXTway-GS
(Yamamoto , 2013), built on the basis of the LEGO⃝ R
Mindstorms NXT developer kit, is widely used
in education. Also, the telepresence and video conferencing two-wheeled robot Double⃝ R
(Double,
2014) is very popular recently.
The two-wheeled robots have dynamics which is similar to the inverted pendulum dynamics so
that they are inherently unstable and should be stabilized around the vertical position using a
control system. A detailed review of several results in the area of two-wheeled robot control is
done in (Chan, Stol, & Halkyard, 2013). Different kinds of proportional-integral-derivative (PID)
(Lee & Jung, 2012; Qiu & Huang, 2015; Ren, Chen, & Chen , 2008), linear-quadratic (Fang, 2014;
Lupian & Avila, 2008; Sun, Lu, & Yuan, 2013) or pole placement (Muralidharan & Mahindrakar,
2014; Nawawi, Ahmad, & Osman, 2010) control laws are usually implemented in order to achieve
vertical stabilization and desired position of the robot in horizontal plane. Model predictive control
for this purpose is considered in (Azimi & Koofigar, 2013) and several fuzzy logic controllers are

∗ Corresponding author. Email: php@tu-sofia.bg


July 13, 2015 International Journal of Control KralevSP˙IJC2015

proposed in (Sayidmarie, Tokhi, Almeshal, & Agouri, 2012; Wong, Wang, Li, & Cheng, 2007; Xu,
Guo, & Lee, 2013). Implementation of nonlinear control methods is discussed in (Li, Zhang, &
Yang, 2010; Zhuang, Hu, & Yao, 2014). However, with all these controllers it is difficult or even
impossible to ensure robust stability and robust performance of the closed-loop system in presence
of uncertainties. There are a few papers devoted to the robust control of two-wheeled robots.
Robustness is achieved by using H∞ control (Hu & Tsai, 2008; Ruan & Chen, 2010; Shimada
& Hatakeyama, 2008), disturbance observer (Dinale, Hirata, Zoppi, & Murakami, 2015) or sliding
mode control (Wu, Liang, & Wang, 2011; Yau, Wang, Pai, & Jang, 2009) but there is not any report
up to the moment for using the µ-synthesis in the controller design. As it is well known, the µ-
controllers have the advantage that they may ensure both robust stability and robust performance
of the closed-loop system (Skogestad & Postlethwaite, 2005; Zhou, Doyle, & Glover, 1995). An
obstacle in the implementation of high-order µ-control laws for stabilization of two-wheeled robots
is the difficulties related to the development, testing and verification of the necessary real-time
software which is highly dependent on the type of digital controller platform used. These difficulties
are reduced significantly using the recent technologies for automatic code generation and embedding
implemented in MATLAB⃝ R
/Simulink⃝R
program environment (The MathWorks, Inc., 2013b).
The paper presents the design and experimental evaluation of two alternative µ-controllers for
vertical stabilization of a two-wheeled self-balancing robot. Due to the lack of accurate analyt-
ical robot model, the controllers design is based on models derived by closed-loop identification
from experimental data. In the first design, signal-based uncertainty representation obtained di-
rectly from the identification procedure is used which lead to a controller of order 29. In the
second design the signal uncertainty is approximated by an input multiplicative uncertainty which
leads to a controller of order 50, subsequently reduced to 30. The performance of the two µ-
controllers is compared with the performance of a conventional Linear Quadratic Gaussian (LQG)
controller with 17-th order Kalman filter. The yaw motion is controlled by using a PI controller
on the basis of yaw angle estimate obtained by a separate 2nd order Kalman filter. A software in
MATLAB⃝ R
/Simulink⃝ R
environment is developed for generation of control code which is embedded
in the Texas Instruments Digital Signal Controller TMS320F28335. Results from the simulation of
the closed-loop system as well as experimental results obtained during the real-time implementa-
tion of the designed controllers are given. The theoretical investigation and experimental results
confirm that the closed-loop system achieves robustness in respect to the uncertainties related to
the identification of robot model.
The paper is organized as follows. In Section 2 we give a brief description of experimental two-
wheeled robot constructed by the authors. The derivation of robot model using closed-loop iden-
tification procedures is considered in Section 3. On the basis of models obtained, in Section 4 we
derive two types of uncertain plant descriptions: model with signal-based uncertainty representa-
tion (MSBUR) and model with input multiplicative uncertainty representation (MIMUR). These
models are used in Sections 5 and 6, respectively, to design µ-controllers which ensure robust
stability and robust performance of the corresponding closed-loop systems. An additional LQG
controller involving linear quadratic regulator with 17th order Kalman filter is designed in Section
7. A comparison of the three controllers in the frequency domain is done in Section 8. Results
from the experimental evaluation of the three controllers are presented in Section 9 and some brief
conclusions are given in Section 10.

2. Robot description

The general view of the two-wheeled robot in self-balancing mode is shown in Figure 1. The robot
is statically unstable and its balancing is achieved by rotating the wheels in appropriate direction.
It is assumed that the robot moves on a flat surface.
A schematic diagram of the robot motion is presented in Figure 2. The robot motion in the vertical

2
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 1. Two-wheeled robot with a heavy load

Figure 2. Robot motion in vertical and horizontal plane

plane is described by the tilt angle ϕ while the motion in the horizontal plane is characterized by
the wheels average angle θ = (θL + θR )/2 where θL and θR are the left and right wheel angles,
respectively. The motion around the vertical axis is described by the yaw angle ψ.
The robot is constructed from four vertically connected plastic platforms. At the bottom plat-
form are situated two DC brushed drive motors, together with gearboxes, wheels and magnetic
quadrature encoders for measuring the wheels angles. Motors are controlled by power amplifier
qik2s12v10 receiving commands from the digital signal processor (DSP). The next platform hosts
the Spectrum Digital eZdspTMF28335 development board, which supports Texas Instruments DSP
TMS320F28335. The robot controller and the data acquisition (DAQ) system are embedded in the
DSP. Stabilization is achieved by using inertial measurement unit ADIS16350 containing three
orthogonal axes micro-electromechanical (MEMS) gyroscopes. This unit is mounted on the third
platform. The robot is powered by three cell lithium-polymer LiPo 12V battery situated on the
uppermost platform. The input signals to the motors are Pulse Width Modulated (PWM) duty
cycles and direction commands sent over RS232 link to the power amplifier forming PWM voltage
waveforms for the motors. The signals which are measured in real-time are wheels angular rates
(θ̇L , θ̇R ), body tilt rate (ϕ̇) and body yaw rate (ψ̇). Real-time data acquisition system is organized

3
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 3. Block-diagram of robot control system

around wireless communication channel based on Bluetooth module.


The block-diagram of the two-wheeled robot control system is shown in Figure 3. The compu-
tation of control actions uL , uR to the DC drive motors is realized in single precision on the basis
of signals from the gyro sensor measuring the angular rate ϕ̇ (and, after integration, the tilt angle
ϕ) and signals from rotary encoders measuring the wheel rotation angles θL and θR . The control
of the DC motors is executed by PWM signals. Control signals in the case of vertical stabilization
are identical for both motors. The robot turning around the vertical axis (yaw motion) is realized
by adding and subtraction of one and the same signal from the control signals to the left and right
motors. The signal for robot turn is produced by a PI regulator based on feedback from yaw angle
ψ which is estimated by a 2nd order Kalman filter. This approach is based on the assumption that
the dynamics of yaw motion is separated from the dynamics of the motion in vertical plane and is
validated by the experiments.

3. Closed-loop identification of robot model

To determine a mathematical model of the robot one may apply physical modeling or identification.
The standard assumptions are ideal rigid body dynamics, flat and horizontal ground surface, zero
wheel slip and no friction (Chan et al., 2013). Modeling from first principles (Hu & Tsai, 2008;
Muhammad, Buyamin, Ahmad, & Nawawi, 2011; Vermeiren, Dequidt, Guerra, Rago-Tirmant, &
Parent, 2011; Zhuang, Hu, & Yao, 2014) has a lot of advantages related to the determination
of linearized description and easy derivation of uncertain model. However it requires a profound
knowledge about physics of the plant and a lot of a priori information. Due to the lack of reliable
analytical model, in this study we prefer to use a numerical model obtained by identification
procedure. An additional reason to use an identification model is that such models apart from
the robot body dynamics take into account the dynamics of sensors, actuators and motors which
facilitates the plant description.
There are a few reported results about identification of linear discrete-time models of two-wheeled
robots. In (Jahaya, Nawai, & Ibrahim, 2011) the dynamics is described by ARX model of 5th
order. In (Alarfaj & Kantor, 2010) identification of 3rd order state space model is presented. The
advantages of the models for control, obtained by means of identification and the lack of enough
results for such models of two-wheeled robots motivate the determination of uncertain models of
such a robot presented in this Section.
As mentioned previously, two-wheeled robot is inheritably unstable system which requires the
identification experiment to be done in closed-loop setting. In such situation predictive error method
is appropriate if the input-output data are informative and the true system dynamics is in the model

4
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 4. Closed-loop identification setup

Figure 5. Representation of robot dynamics

set (Ljung, 1999). Usually the first requirement is guarantied by adding an external persistently
excitation signal to the controller output and second requirement is guarantied by firstly estimating
the high order model and than reducing model order by appropriate technique.
Experimental setting is shown in Figure 4. Stabilizing regulator control signal is disturbed by
excitation signal which is random binary signal (RBS). Excitation signal is output of relay fed
with Gaussian white noise, generated with MATLAB⃝ R
random generator. The amplitude of RBS
is chosen to be 15%, so the control signal stays in linear region and the robot tilts enough without
falling.
To determine quality models with direct closed-loop identification according to diagram presented
in Figure 4, it is important the stabilizing controller to be ”soft”. This means that in case of PI
controller the proportional term should be low and the integral term should be sufficient to keep a
small error from operating point. Stabilizing controller for the two-wheeled robot is composed of
two feedback loops - one for body tilt angle ϕ and one for wheels angle θ = (θL + θR )/2. Transfer
functions of the controller are chosen as

15(s + 2.5)
Wϕ (s) = , (1)
s
0.002(10s + 1)2 (3s + 1)
Wθ (s) = .
s3
A PI controller is used for body tilt angle stabilization. The controller for stabilization of wheels
angle is composed of PI part followed by two additional integrators. Also two real zeros are included
to appropriately compensate these integrators in frequency domain to preserve the closed-loop
stability. More integrators were included to minimize error in wheels angle position. If only standard
PI is used, then wheels error is increasing steadily.
In order to simplify the robot dynamics it is assumed that the motion in vertical plane is indepen-
dent on the yaw angle. This allows to represent the robot dynamics by a single-input single-output
plant as shown in Figure 5. The subsystem denoted by Gϕ̇u corresponds to the fast dynamics of the
robot plant while the subsystem denoted by Gθ̇ϕ̇ reflects the slow robot dynamics. Note that this

5
July 13, 2015 International Journal of Control KralevSP˙IJC2015

representation is especially convenient in the design of cascade stabilizing controllers. Although the
identification problem is simplified in this way, it still may pose difficulties related to the derivation
of uncertain plant model.
Experimental data used in the identification are grouped into two sets. The first one is used
for model parameter estimation and the second one is used for model validation. Sample time is
Ts = 0.005 s and the number of measurements is N = 1000. A test on the degree of persistence
of excitation for the input for both data samples is done using the function pexcit from System
Identification Toolbox⃝ R
3 of MATLAB⃝ R
(Ljung, 2013). The degree of persistence of excitation for
the first data sample is 999, while this for the second data sample is 500.
Relationships from u to ϕ̇ and from ϕ̇ to θ̇ are assumed linear. Therefore different types of
stochastic polynomial models can be applied. Following (Ljung, 1999), the most general discrete-
time model is

B(q) C(q)
A(q)y(k) = u(k − nk ) + e(k) (2)
F (q) D(q)

where

na ∑
nb ∑
nc
A(q) = 1 + ak q −k , B(q) = bk q −k+1 , C(q) = 1 + ck q −k ,
1 1 1


nd ∑
nf
D(q) = 1 + dk q −k , F (q) = 1 + fk q −k
1 1

are polynomials in the delay operator q −1 . Model parameters are ai , bi , ci , di , fi , and na , nb , nc , nd , nf


are the polynomial orders. The number of delays is nk . The process e(k) is Gaussian white noise
with zero mean and variance σe2 .
Further on we make use of the ARX, ARMAX and BJ models, represented by the equations

ARX : A(q)y(k) = B(q)u(k − nk ) + e(k) (3)


ARMAX : A(q)y(k) = B(q)u(k − nk ) + C(q)e(k) (4)
BJ : y(k) = B(q)/F (q)u(k − nk ) + C(q)/D(q)e(k) (5)

Usually the first estimated model is ARX because of its relative simplicity. In addition it is
estimated by the linear least squares method. If the ARX model does not pass through validation
tests, then ARMAX or BJ models are used.

3.1 Dynamic models from u to ϕ̇


Estimation of ARX model (3) requires knowledge about structure parameters. For this aim a set
of 500 ARX models is examined using the function arx from System Identification Toolbox⃝ R
3 .
The orders of polynomials A(q) and B(q) vary from 1 to 10 and the number of delays vary from
1 to 5. Selection of structure parameters is guided by three criteria - model loss function, Akaike
information index and Rissanen index (Ljung, 1999). Based on these criteria, only three ARX
models from the set of 500 are selected for further identification. Their parameters are statistically
estimated, after that four validation tests are applied (Ljung, 1999):

6
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 6. Poles and zeros of ARMAX model with na = 10, nb = 10, nc = 10, nk = 3

(1) Autocorrelation and crosscorrelation test of the model residuals,

(2) Test with logarithmic amplitude frequency response of estimated model from input signal to
model residuals,

(3) Akaike predictive error calculated from model residuals,

1 ∑ 2 1+
N d
N
FPE = e (k)
N
k=1
1− d
N

where d is the number of estimated parameters.


(4) Comparison of model output and measured output by index
[ ]
∥(ŷ − y)∥2
F IT = 100 × 1 − %
∥(y − ȳ)∥2

where ŷ is the model output, y is the measured output, and ȳ is the mean of y.
In all cases, the experimental data set used for validation is different from that used for parameter
estimation. Tests 1) and 2) decide whether the model is valid. From various valid models the best
model has minimal F P E and maximal F IT .
In our case, the three selected ARX models don’t pass test 1), because the autocorrelation
function is crossing the confidence interval for lag 10. Therefore selected ARX models must be
rejected.
The next step is ARMAX model (4) estimation which is done by the function armax from System
Identification Toolbox⃝ R
3 . Selected structure parameters are na = 10, nb = 10, nc = 10, nk = 3.
Figure 6 shows zeros and poles of that model together with their 99% confidence intervals. There
is an intersection of some zeros’ confidence intervals with poles’ confidence intervals which is a
motivation for model order reduction. Hence an ARMAX model with structure parameters na =
7, nb = 7, nc = 7, nk = 3 is estimated.
The performance of two estimated ARMAX models are compared in Table 1. From the two
ARMAX models, the model with structure na = 7, nb = 7, nc = 7, nk = 3 is chosen based on Tests

7
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Table 1. Performance of the subsystem model from u to ϕ̇


Model F IT FPE
ARMAX na = 10, nb = 10, nc = 10, nk = 3 46.36 7.85
ARMAX na = 7, nb = 7, nc = 7, nk = 3 49.78 7.57

Figure 7. Correlation test of residuals of ARMAX model with na = 7, nb = 7, nc = 7, nk = 3

Figure 8. Transient response of the ARMAX model and the measured data

1, 2, 3 and 4. This model is appropriate for controller design.


Some validation results for the model with na = 7, nb = 7, nc = 7, nk = 3 are given in Figures 7
and 8. The model passes through the test of autocorrelation and crosscorrelation function of model
residuals. Therefore the parameter estimates are unbiased, the models of robot dynamics and ϕ̇
noise dynamics are adequate.
ARMAX model, resulting from identification, is assumed as nominal and has the form

ϕ̇(z) = Gϕ̇u,nom (z)u(z) + νϕ̇ (z), (6)

8
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 9. Correlation test of residuals of BJ model

where Gϕ̇u,nom (z) is the nominal transfer function from u to ϕ̇, the noise νϕ̇ is obtained during the
identification procedure and reflects the uncertainty in the model found. In the given case we have
that

0.0306z 6 + 0.003992z 5 + 0.01837z 4 + 0.02122z 3 −


Gϕ̇u,nom = ... →
z 2 (z 7 − 0.7768z 6 − 1.502z 5 + 0.8929z 4 +
−0.02372z 2 − 0.04351z − 0.002676
← ... (7)
+1.218z 3 − 0.6273z 2 − 0.5815z + 0.3823)

The noise νϕ̇ is expressed as

νϕ̇ = Nϕ̇ nϕ̇ (8)

where

z 7 + 0.315z 6 − 1.236z 5 − 0.6616z 4 + 0.4729z 3 + 0.3178z 2 − 0.0696z − 0.02562


Nϕ̇ =
z 7 − 0.7768z 6 − 1.502z 5 + 0.8929z 4 + 1.218z 3 − 0.6273z 2 − 0.5815z + 0.3823

is shaping filter determined so that the white noise nϕ̇ has unit variance.

3.2 Dynamic models from ϕ̇ to θ̇


In this case none of examined ARX or ARMAX models pass through the residuals autocorrelation
test. Hence all ARX and ARMAX models were rejected and BJ model (5) is estimated as being
more general. A BJ model with structure parameters nb = 5, nf = 5, nc = 5, nd = 5, nk = 1 is
estimated using the function bj from System Identification Toolbox⃝ R
3 .
Results of validation test for this model are represented in Figure 9.
The subsystem from ϕ̇ to θ̇ is described by the equation

θ̇(z) = Gθ̇ϕ̇,nom (z) + νθ̇ (z), (9)

9
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 10. Yaw dynamics identification setup

where

0.6775z 2 − 0.7007z − 0.1773


Gθ̇ϕ̇,nom = (10)
z 3 − 1.047z 2 − 0.5094z + 0.5561

is the nominal transfer function and νθ̇ is the noise reflecting the model uncertainty. This noise is
represented as

νθ̇ = Nθ̇ nθ̇ (11)

where the shaping filter

z 3 − 1.516z 2 + 0.8294z − 0.1448


Nθ̇ =
z 3 − 2.344z 2 + 2.081z − 0.7329

is determined so that the white noise nθ̇ has unit variance.

3.3 Dynamic model of the yaw motion


Model of robot yaw motion is assessed by optimization procedure using the transient response
of tunable parametric model. This requires a closed-loop experiment where robot is vertically
stabilized and yaw motion is initiated.
Experimental setting is shown in Figure 10.
Vertical and longitudinal stabilization in this experiment is achieved by LQR regulator based on
estimated ARMAX and BJ models. Control signal is identical for both motors, i.e. usL = usR = us .
In addition a PI regulator controls yaw motion based on feedback from ψ angle, with transfer
function
2s + 0.01
Wtc (s) = .
s

The output of Wtc (s) is signal ut (t) which is added to control signal for the left motor and subtracted
from control signal of the right motor. The effect of this is turning of the robot around the central
axis. Thus for the two control signals one obtains

uL = us − ut , uR = us + ut

10
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 11. Robot model with signal-based uncertainty representation (MSBUR)

First order models are determined, describing the dynamics between uL and θ̇L , between uR
and θ̇R , and between θ̇L , θ̇R and ψ̇. Using quadratic optimization criteria the following yaw model
transfer functions are found.
8.5867 8.7270
Gθ̇L uL = , Gθ̇R uR = ,
0.1328s + 1 0.1186s + 1

2.004 2.009
Gψ̇θ̇L = − , Gψ̇θ̇R = − .
0.0119s + 1 0.0119s + 1

4. Derivation of uncertain models

4.1 Signal-based uncertainty representation


Based on equations (6) and (9), the uncertain robot model may be represented as shown in Figure
11. We will call this model as model with signal-based uncertainty representation (MSBUR) because
the uncertainty is represented by the noise signals nϕ̇ and nθ̇ . This model is used in the design of
the corresponding robust controller presented in Section 5.

4.2 Input multiplicative uncertainty representation


Condition of unbiased parameter estimates obtained by the identification guarantees that the exact
parameter values are contained in the confidence intervals of parameter estimates with probability
close to 1. This allows to derive parametric uncertainty model with scalar uncertainties. The number
of these uncertainties is equal to the number of estimated parameters. In the case of ARMAX model
with na = 7, nb = 7, nc = 7, nk = 3 this number is equal to 21 which makes the implementation
of such model unpractical. That is why it is preferred to derive input multiplicative uncertainty
models of the transfer functions Gϕ̇u and Gθ̇ϕ̇ which contain unstructured (complex) uncertainties.
Based on parameter confidence intervals, maximum relative deviations from nominal models in
the frequency domain are obtained. In order to derive models with multiplicative uncertainties,
these deviations are approximated, through optimization procedure, with shaping filters which are
represented by transfer function of 9th and 5th order, respectively.
The maximum relative uncertainties in Gϕ̇u and Gθ̇ϕ̇ along with their approximations are repre-
sented in Figure 12. These approximations are used to determine the weighting shaping filters in
the corresponding input multiplicative uncertainty representations. Resulting uncertain models for

11
July 13, 2015 International Journal of Control KralevSP˙IJC2015

(a) 9th order approximation of the relative uncertainty in Gϕ̇u (b) 5th order approximation of the relative uncertainty in Gθ̇ϕ̇

Figure 12. Approximations of relative uncertainties in plant transfer functions

Figure 13. Robot model with input multiplicative uncertainty representation (MIMUR)

the two plant subsystems are

Gϕ̇u (z) = Gϕ̇u,nom (z)(1 + Wϕ̇ (z)∆ϕ̇ ), (12)


Gθ̇ϕ̇ (z) = Gθ̇ϕ̇,nom (z)(1 + Wθ̇ (z)∆θ̇ ) (13)

where Wϕ̇u (z), Wθ̇ϕ̇ (z) are the corresponding shaping filters and ∆ϕ̇ , ∆θ̇ are uncertainties which
satisfy

|∆ϕ̇ | < 1, |∆θ̇ | < 1.

The robot model with input multiplicative uncertainty (MIMUR) is shown in Figure 13.
The Bode plots of the uncertain models Gϕ̇u and Gθ̇ϕ̇ are shown in Figure 14.
The model given in Figure 13 is used for alternative robot controller design described in Section
6.

12
July 13, 2015 International Journal of Control KralevSP˙IJC2015

(a) Bode plot of Gϕ̇u (b) Bode plot of Gθ̇ϕ̇

Figure 14. Bode plots of uncertain transfer functions

Figure 15. Block-diagram of the closed-loop system in case of MSBUR design

5. Controller design in case of signal-based uncertainty representation

In the first design of robust robot controller we shall make use of the model with signal-based
uncertainty representation, given in Figure 11.
To obtain good performance of the closed-loop system we shall implement a two-degree-of-
freedom controller (Gu, Petkov, & Konstantinov, 2013). The block diagram of the closed-loop
system in that case is shown in Figure 15 where rθ is the wheels reference angle. The aim of the
controller K, determined by µ-synthesis, is to ensure robust stability and robust performance of the
closed-loop system in the presence of noises nϕ̇ and nθ̇ which reflect the plant uncertainty. In order
to obtain better position accuracy a feedback from the integral of the tracking error err = rθ − θ
to the controller is introduced. The control actions to the plant are realized by a Digital Signal
Controller in real time with sampling frequency fs = 200 Hz. For this reason the µ-synthesis is
implemented to design a discrete-time controller at this sampling frequency.
Let
[ ∫ ]T
yc = ϕ̇, θ̇, (rθ − θ)

13
July 13, 2015 International Journal of Control KralevSP˙IJC2015


is the output feedback vector where (rθ − θ) denotes discrete-time integrator of the difference
rθ − θ. Assume that the controller transfer function matrix K is represented as

K = [Kr Ky ]

where Kr is the controller pre-filter transfer function and


[ ]
Ky = Kϕ̇ Kθ̇ K∫ err

is the output feedback transfer function matrix. The matrix Ky is partitioned according to the

dimensions of ϕ̇, θ̇, (rθ − θ), respectively. Then the control actions are generated according to
the expression
[ ]

u = K
yc

= Kr rθ + Kϕ̇ ϕ̇ + Kθ̇ θ̇ + K∫ err (rθ − θ). (14)

Using the notation

Ts
Gint (z) = ,
z−1

   
1 1
Gu (z) =  Gθ̇ϕ̇,nom (z) G
ϕ̇u,nom (z), Gnϕ̇ (z) =
 Gθ̇ϕ̇,nom (z)  N (z),
ϕ̇
−Gint (z) Gθ̇ϕ̇,nom (z)
2 −Gint (z) Gθ̇ϕ̇,nom (z)
2

   
0 0
Gnθ̇ (z) =  1  N (z), Grθ (z) = 
θ̇ 0 ,
−Gint (z)2 Gint (z)

where Ts = 0.005 s is the sampling period, the closed-loop system is described by the equations

yc = Grθ rθ + Gu u + Gnϕ̇ nϕ̇ + Gnθ̇ nθ̇ , (15)


u = Kr rθ + Ky yc . (16)

The weighted closed-loop system outputs ep and eu satisfy the equation


 
[ ] [ ] rθ
ep Wp So (Grθ + Gu Kr ) Wp So Gnϕ̇ Wp So Gnθ̇  nϕ̇ 
= (17)
eu Wu Si (Kr + Ky Grθ ) Wu Si Ky Gnϕ̇ Wu Si Ky Gnθ̇
nθ̇

where Si = (1 − Ky Gu )−1 is the input sensitivity transfer function and So = (I − Gu Ky )−1 is the
output sensitivity transfer function matrix.
As usual, the performance criterion used in the controller design requires the transfer function
matrix from the exogenous input signals rθ , nϕ̇ , and nθ̇ to the output signals ep and eu to be small
in the sense of ∥ · ∥∞ , for all possible uncertain plant models. This leads to small weighted signals

14
July 13, 2015 International Journal of Control KralevSP˙IJC2015


ϕ̇, θ̇ and (rθ − θ) and small control action u. The transfer function matrices Wp and Wu are
used to reflect the relative importance of the different frequency ranges for which the performance
requirements should be fulfilled.
The µ-synthesis is done for several performance weighting functions that ensure a good bal-
ance between system performance and robustness. After several trials, the performance weighting
function (in the continuous-time case) is chosen as low pass filter as
 
2.31 0.05s+1
s+1 0 0
Wp (s) =  0 0.6s+1
0.0004 0.007s+1 0 .
4s+1
0 0 0.4 125s+1

The control weighting function is chosen as high pass filter with appropriate bandwidth in order
to impose constraints on the spectrum of the control actions. The order and parameters of this
function are determined according to the following considerations. As shown latter on in Figure
16, the magnitude response of Kϕ̇ has a maximum in the high-frequency range which amplifies the
sensor noise in ϕ̇ and sometimes leads to excitation of elastic robot body modes and saturation
of the actuators. It was experimentally observed that this maximum should be less than 12 dB to
avoid saturation. That is why the control weighting function is chosen as a second order filter as
1
ku ( 0.1 s + 1)(Tu s + 1)
Wu (s) = 1
30 ( 380 s + 1)2

with ku and Tu as free parameters. The gain ku and the time constant Tu are tuned during the
design so that to suppress as much as possible the high frequency maximum keeping at the same
time the value of µ at minimum.
The weighting functions are discretized for the sampling period of 0.005 s and included in the
open-loop system model. A small input multiplicative uncertainty with magnitude equal to 10−5
was added to the model in order to obtain uncertainty object in MATLAB⃝ R
and to improve the
convergence of the D-K iterations.
The µ-synthesis is performed by using the MATLAB⃝ R
function dksyn (Balas, Chiang, Packard,
& Safonov, 2013). Note that in some cases the D-K iterations are not convergent or converge to
values of µ much less than 1 which do not correspond to stabilizing controllers.
Table 2. Results from µ-synthesis for different
ku and Tu
ku Tu µ maxhf
dB
7.0 × 10−4 1.05 × 10−2 0.999 10.63
6.0 × 10−4 1.20 × 10−2 0.995 10.33
4.0 × 10−4 1.85 × 10−2 0.996 10.10
3.0 × 10−4 2.55 × 10−2 0.999 10.08
2.9 × 10−4 2.56 × 10−2 0.996 9.90

The results from µ-synthesis are shown in Table 2. All controllers are obtained with 4 iterations.
Some of them do not correspond to the minimum possible value of µ due to the necessity to
obtain smaller values of the maximum maxhf of |Kϕ̇ (jω)| in the high-frequency range. Since the
increasing of the time constant Tu during the design leads to the increasing of µ, the value of ku is
decreased appropriately in order to keep µ less than one. The final controller used in the experiments
corresponds to ku = 2.9 × 10−4 , Tu = 2.56 × 10−2 and has maxhf = 9.90. The controller order is
equal to 29.
The magnitude plots of Kr , Kϕ̇ , Kθ̇ and K∫ err are shown in Figure 16.
The properties of the designed controller are discussed in Section 8.

15
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 16. Controller magnitude plots in case of MSBUR design

Figure 17. Block-diagram of the closed-loop system in case of MIMUR design

6. Controller design in case of input multiplicative uncertainty representation

An alternative robust controller is designed on the basis of the robot model with input multiplicative
uncertainty representation, shown in Figure 13.
The closed-loop system block-diagram corresponding to the µ-synthesis problem is shown in Fig-
ure 17. The two degree-of-freedom controller has the same inputs as in the case of MSBUR design.
That is why the closed-loop equations are the same as in the previous Section replacing the nominal
transfer functions Gϕ̇u,nom (z), Gθ̇ϕ̇,nom (z) with the uncertain transfer functions Gϕ̇u (z), Gθ̇ϕ̇ (z) and
setting Nϕ̇ , Nθ̇ equal to zero.
On the basis of simulation and experimental results the performance weighting function and the

16
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 18. Controller magnitude plots in case of MIMUR design

control weighting function are chosen as


 
52.2 0.005s+1
s+1 0 0
Wp (s) =  0 0.6s+1
0.029 0.007s+1 0 ,
4s+1
0 0 4.7 125s+1

1
1 0.007 s + 1
Wu (s) = 1 .
30000 200 s + 1

In order to obtain better convergence of the D-K iterations two small noises nϕ̇ and nθ̇ with
2-norms equal to 10−4 are added to the angular velocities ϕ̇ and θ̇, respectively.
Table 3. Results from µ-synthesis D-K
iteration
Iteration Controller order µ

1 32 0.874
2 50 0.873
3 50 0.693
4 50 0.711
5 48 0.729

The progress of the µiterations is shown in Table 3. After the third iteration the maximum value
of µ is decreased to 0.693. The final controller obtained is of 50th order. The controller order is
reduced to 30 by using the command reduce without deteriorating the closed-loop performance.
The magnitude plots of Kr , Kϕ̇ , Kθ̇ and K∫ err are shown in Figure 18.

17
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 19. Block-diagram of the closed-loop system with LQG regulator

7. LQG controller design

For comparison purposes, we designed also a LQG controller for the robot using the model with
signal based uncertainty representation.
The block-diagram of the robot control system with LQG regulator is shown in Figure 19. The
system state is estimated by the Kalman filter KF and the control action is generated by the linear
ˆ
quadratic regulator LQR. The estimate ψ̇ of the yaw rate ψ̇ is obtained by the Kalman filter KFψ̇ .
The PI controller P Iψ is used to ensure the desired performance of the yaw dynamics.
In the LQR design, the ARMAX and BJ nominal models of Gϕ̇u,nom (z) and Gθ̇ϕ̇,nom (z) are
represented by state equations with state vectors xϕ̇ and xΘ̇ with dimensions 9 and 6, respectively.
The non-measurable wheels angle is described by the first order difference equation

θ(k + 1) = θ(k) + Ts θ̇(k) (18)

where Ts is the sample time. The following sate equations are also included,

xϕ̇i (k + 1) = xϕ̇i (k) − Ts ϕ̇(k), (19)


xi (k + 1) = xi (k) + Ts (rθ (k) − θ(k)),

where rθ is the wheels reference angle. These equations allow to compute approximations of the
discrete-time integrals of ϕ̇ and tracking error rθ − θ, respectively. Both integrals are used in the
design of linear-quadratic regulator in order to ensures efficient stabilization in the vertical plane
and zero steady-state tracking error. In this way the full plant equations are of 18th order with
state vector

x = [xTϕ̇ xTθ̇ θ xϕ̇i xi ]T .

Since the system state is not directly accessible, an optimal estimate

x̂ = [x̂Tϕ̇ x̂Tθ̇ θ̂ x̂ϕ̇i x̂i ]T

of the state vector is used in the implementation of the optimal control law, where x̂ϕ̇ (k), x̂θ̇ (k)

18
July 13, 2015 International Journal of Control KralevSP˙IJC2015

and θ̂ are the corresponding estimates of xϕ̇ (k), xθ̇ (k) and θ(k), and

ˆ
x̂ϕ̇i (k + 1) = x̂ϕ̇i (k) − Ts ϕ̇(k), (20)
x̂i (k + 1) = x̂i (k) + Ts (rθ (k) − θ̂(k)).

ˆ
are estimates of xϕ̇i (k) and xi (k), respectively. The quantity ϕ̇(k) which is used in computation of
the estimate (20), is obtained from

ˆ ˆ
ϕ̇(k) = ϕ̇(k) − ϕ̇g (k) (21)

ˆ
where ϕ̇(k) is the measured tilt angle rate and ϕ̇g (k) is the estimate of the rate gyroscope bias.
The gyro bias ϕ̇g is modeled by the additional equation

ϕ̇g (k + 1) = ϕ̇g (k) + Jg νϕ̇g (k) (22)

where νϕ̇g is a white gaussian noise with unit variance and the coefficient Jg is determined experi-
ˆ
mentally to obtain a good estimate of ϕ̇ as Jg = 0.0001. The estimates ϕ̇(k) and θ̂(k) are obtained
by a 17th order discrete-time Kalman filter with state vector

xf = [xTϕ̇ xTθ̇ θ ϕ̇g ]T .

As mentioned previously, a PI controller of the yaw motion is also designed. The yaw angular
velocity ψ̇ is measured by a gyroscope of the same type as the gyro used to measure the tilth rate
ϕ̇. This gyroscope contains a noise ψg which is modeled by the additional equation

ψ̇g (k + 1) = ψ̇g (k) + Jg νψ̇g (k) (23)

where νψ̇g is a white gaussian noise with unit variance and the coefficient Jg is determined as
described above. A 2nd order Kalman filter is designed to produce sufficiently accurate estimate ψ̂
of the yaw angle.

8. Comparison of designed controllers

In this Section we compare the frequency domain properties of the three controllers designed. In
the case of µ-controller for input multiplicative uncertainty representation we use a 30th order
approximation obtained by the function reduce.
The Bode plot of the closed-loop system is shown in Figure 20. It is seen that for all three
controllers the closed-loop bandwidth is approximately 1 rad/s.
In Figure 21 we show the influence of the noises in ϕ̇ and θ̇ to the control action u. It is seen
that the effect of noise in ϕ̇ is much stronger than the effect of noise in θ̇.
In Figure 22 we show the plots of the structured singular value corresponding to the robust
stability of the closed-loop system for the three controllers. For comparison purposes the MIMUR
model is used in the analysis. In all three cases the system achieves robust stability in respect
to the uncertainties corresponding to the identification of robot model. Note that there is some
similarity in the frequency responses of structured singular value in the cases of µ-synthesis with
signal based uncertainty representation and LQG controller with Kalman filter.

19
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 20. Bode plot of the closed-loop system

(a) Sensitivity of control to noise in ϕ̇ (b) Sensitivity of control to noise in θ̇

Figure 21. Sensitivity of control to noises.

In Figure 23 we show the plots of the structured singular value corresponding to the robust
performance of the closed-loop system. For all three controllers the robust performance analysis is
done for the same plant model with input multiplicative uncertainty representation and weighting
functions used in the MIMUR µ-synthesis. That is why best performance margin is obtained in the
case of the µ-controller obtained by this synthesis. The µ-controller determined in the case of plant
model with signal uncertainty representation produces nearly the same value of the performance
margin. However, the LQR regulator with Kalman filter does not achieve robust performance in
respect to the uncertainties corresponding to the identification of robot model.

9. Experimental evaluation

A simulation scheme of the control system and a specialized software in MATLAB⃝ R


/Simulink⃝R

environment is developed to implement the robot control code for the three designed controllers.
With the aid of Simulink Coder⃝R
(The MathWorks, Inc., 2013b), Embedded Coder⃝ R
(The Math-

20
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 22. Robust stability of the closed-loop system

Figure 23. Robust performance of the closed-loop system

Table 4. Wheels angle reference trajectory


t θref
s deg
0 ≤ t < 10 0
10 ≤ t < 10 + 1000/θ̇ref θ̇ref (t − 10)
10 + 1000/θ̇ref ≤ t < 140 1000
140 ≤ t < 140 + 2000/θ̇ref 1000 − θ̇ref (t − 140)
140 + 2000/θ̇ref ≤ t < 320 −1000
320 ≤ t < 320 + 1000/θ̇ref −1000 + θ̇ref (t − 320)
320 ≤ t ≤ 400 0

Works, Inc., 2013a) and Code Composer Studio⃝ R


, a code is generated from this software which is
embedded in the Texas Instruments Digital Signal Controller TMS320F28335 (Spectrum Digital,
Inc., 2007).
Several experiments with the three controllers designed are performed and results obtained are
compared. In this Section we present results related to tracking wheels trajectories which are set

21
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 24. Tracking wheel angle reference

as shown in Table 4. Each experiment has a duration of 400 s. The reference wheel velocity is
constant during a specific trajectory and obtains the values θ̇ref = 25, 35, 50 rad/s during the
different experiments. The experiments are done on a laboratory floor covered by ceramic tails
which leads to additional small disturbances due to the gaps between tails.
Table 5. Yaw angle reference
t ψref
s deg
0 ≤ t < 60 0
60 ≤ t < 80 5(t − 60)
80 ≤ t < 100 100
100 ≤ t < 120 100 − 5(t − 100)
120 ≤ t < 400 0

During each experiment the yaw angle reference changes as shown in Table 5.
In Figure 24 we show the change of wheel angle for θ̇ref = 35 rad/s for the three controllers.
(Here and after for clearer representation the experimental results are shown for t ≤ 100 s.) It is
seen that in all three cases the tracking error is relatively small. Some slightly greater oscillations
occur in the interval between t = 60 s and t = 80s which are due to influence of yaw angle changes.
The variations of the tilt body angle during the same experiments are shown in Figure 25. After
the transient response due to the nonzero initial conditions dies, the tilt angle remains smaller than
1.5 deg for all three controllers. The measured angle ϕ contains a significant bias which is removed
off-line (for the µ-controllers) and on-line (for the LQG controller) by using a 17th order Kalman
filter. It is interesting to note that this bias does not affect the vertical stabilization of the robot in
case of µ-controllers which is due to the good filtration properties of the closed-loop system with
these controllers.
The tracking error during the yaw motion also remains small as shown in Figure 26. The usage of
the estimate ψ̂(k) obtained by a 2nd order Kalman filter instead of ψ(k) ensures accurate rotation
of the robot around the vertical axis, while there is a increasing with the time bias in the measured
value of ψ(k) due to the integration of the gyro noise.
Finally, the control action for all three controllers does not exceed 30 units with maximum
allowable value equal to 50 (Figure 27).
In Table 6 we present the mean square values of variables characterizing the robot motion along
the reference trajectory using the experimental data for different values of wheels velocity θ̇ref and
for duration equal to 400 s which corresponds to 80000 sample measurements. To avoid the influence

22
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 25. Tilt body angle

Figure 26. Tracking yaw angle reference

Table 6. Controller performance for different speeds


Speed Controller σ(θ − θref ) σ(ϕ) σ(ψ − ψref ) σ(u)
deg/s deg deg deg
25 Kµ1 a 1.54 × 101 1.44 × 100 7.73 × 10−1 7.59 × 100
Kµ2 b 1.64 × 101 8.02 × 10−1 7.93 × 10−1 7.55 × 100
LQG 1.22 × 101 8.66 × 10−1 8.44 × 10−1 6.71 × 100
35 Kµ1 1.83 × 101 1.58 × 100 8.95 × 10−1 7.78 × 100
Kµ2 2.19 × 101 1.10 × 100 8.87 × 10−1 7.45 × 100
LQG 1.15 × 101 1.41 × 100 9.24 × 10−1 6.46 × 100
50 Kµ1 2.31 × 101 2.59 × 100 6.10 × 10−1 8.25 × 100
Kµ2 3.10 × 101 1.02 × 100 8.20 × 10−1 7.72 × 100
LQG 1.48 × 101 8.68 × 10−1 1.17 × 100 8.23 × 100
a µ-controller designed for signal-based uncertainty representation
b µ-controller designed for input multiplicative uncertainty representation

23
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 27. Control action

(a) t = 2 s (b) t = 5 s (c) t = 6 s

Figure 28. Approximations of relative uncertainties in plant transfer functions

of the non-zero initial conditions the first 2000 samples corresponding to the first 10 seconds of each
experiment are removed in the computation of mean square values. All three controllers perform
well. The LQG controller produces the best results in respect to the tracking of wheels angle but
gives the worse accuracy in respect to the yaw motion. The best accuracy of the LQG controller is
at the expense of its poorest robustness. Also, the better accuracy of the µ-controllers in comparison
to LQG controller in the yaw motion is explained with stronger suppression of the influence from
the vertical stabilization channel. The system with signal-based µ-controller is more accurate than
the system with µ-controller for multiplicative uncertainty representation in respect to the wheels
angle reference but is less accurate in respect to the vertical stabilization. Note, however, that
these conclusions are derived on the basis of few experiments for three reference trajectories with
restricted duration and may be not valid in the general case.
To illustrate the robust properties of the closed-loop system we show In Figure 28 photos of three
instances of the robot collision with a paper box in the case of using µ-controller for multiplicative
uncertainty representation. Although the body tilt angle becomes more than 24.5 deg during the
collision (Figure 29), the robot returns successfully to upright position.

24
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Figure 29. Body tilt angle during the collision

10. Conclusions

The paper presents the design and experimental evaluation of robust controllers for vertical stabi-
lization of laboratory two-wheeled self-balancing robot. The control system design involves closed-
loop identification of the uncertain robot model and design of two alternative µ-controllers which
ensure robust stability and robust performance of the closed-loop system. The results show suc-
cessful performance of the two controllers with close results between theoretical analysis and ex-
periments.

Acknowledgement

The research presented in this paper is done under the project 142PD0008-08 funded by the
Scientific and Research Unit of the Technical University of Sofia.

References

Alarfaj, M., & Kantor, G. (2010). Centrifugal force compensation of a two-wheeled balancing robot. 11th
International Conference on Control, Automation, Robotic and Vision (ICARCV), Singapore, 7-10 Dec.
2010 (pp. 2333-2338). IEEE. DOI: 10.1109/ICARCV.2010.5707337
Azimi, M.M., & Koofigar. H.R. (2013). Model predictive control for a two wheeled self balancing robot.
Proceeding of the 2013 RSI/ISM International Conference on Robotics and Mechatronics, Tehran, Iran,
13-15 Feb. 2013, (pp. 152-157). IEEE. DOI: 10.1109/ICRoM.2013.6510097
Balas, G., Chiang, R., Packard, A., & Safonov, M.(2013). Robust Control Toolbox⃝R
3 , User’s Guide. Natick,
MA: The MathWorks, Inc. Available from http://www.mathworks.com/help/pdf_doc/robust/
robust_ug.pdf
Chan, R.P.M.,Stol, K.A., & Halkyard, C.R. (2013). Review of modelling and control of two-wheeled robots.
Annual Reviews in Control, 37, 89-103. DOI: 10.1016/j.arcontrol.2013.03.004
Dinale, A., Hirata, K., Zoppi, M., & Murakami, T. (2015). Parameter design of disturbance observer for a
robust control of two-wheeled wheelchair system. Journal of Intelligent and Robotic Systems, 77, 135-148.
DOI: 10.1007/s10846-014-0142-6
Double Robotics. Sunnyvale, CA. http://www.doublerobotics.com
Fang, J. (2014). The LQR controller design of two-wheeled self-balancing robot based on the particle swarm

25
July 13, 2015 International Journal of Control KralevSP˙IJC2015

optimization algorithm. Mathematical Problems in Engineering, Vol. 2014, Article ID 729095, 6 p. DOI:
10.1155/2014/729095
Gu, D.-W., Petkov, P.Hr., & Konstantinov, M.M. (2013). Robust Control Design with MATLAB⃝ R
, 2nd ed..
London:Springer-Verlag. ISBN: 978-1-4471-4681-0
Hu, J.-S., & Tsai, M.-C. (2008). Design of robust stabilization and fault diagnosis for an auto-balancing
two-wheeled cart. Advanced Robotics, 22, 319338. DOI: 10.1163/156855308X292600
Jahaya, Nawai, S.W., & Ibrahim, Z. (2011). Multi input single output closed loop identifica-
tion of two wheel inverted pendulum mobile robot. 2011 IEEE Student Conference on Research
and Development (SCOReD), Cyberjaya, Malaysia, 19-20 Dec. 2011, (pp. 138-143), IEEE. DOI:
10.1109/SCOReD.2011.6148723
Lee, H., & Jung, S. (2012). Balancing and navigation control of a mobile inverted pendulum robot using
sensor fusion of low cost sensors. Mechatronics, 22, 95-105. DOI: 10.1016/j.mechatronics.2011.11.011
Li, Z., Zhang, Y., & Yang, Y (2010). Support vector machine optimal control for mobile wheeled inverted pen-
dulums with unmodelled dynamics. Neurocomputing, 73, 27732782. DOI: 10.1016/j.neucom.2010.04.009
Ljung, L. (1999). System Identification: Theory for the User, 2nd ed.. Englewood Cliffs, NJ:Prentice-Hall,
Inc. ISBN: 978-0136566953
Ljung, L. (2013). System Identification Toolbox⃝ R
User’s Guide. Natick, MA: The MathWorks Inc. ISBN
0-13-881640-9
Lupián, L.F., & Avila, R. (2008). Stabilization of a wheeled inverted pendulum by a continuous-time
infinite-horizon LQG optimal controller. IEEE Latin American Robotic Symposium LARS’2008, Natal,
Rio Grande do Norte, Brazil (pp. 65-70). IEEE. DOI: 10.1109/LARS.2008.33
Muralidharan, V., & Mahindrakar, A.D. (2014). Position stabilization and waypoint tracking control of
mobile inverted pendulum robot. IEEE Transactions on Control Systems Technology, 22, 2360-2367. DOI:
10.1109/TCST.2014.2300171
The MathWorks, Inc. (2013a). Embedded Coder. Natick, MA. Available from:
http://www.mathworks.com/products/datasheets/pdf/embedded-coder.pdf
The MathWorks, Inc. (2013b). Simulink Coder. Natick, MA. Available from:
http://www.mathworks.com/products/datasheets/pdf/simulink-coder.pdf
Muhammad, M., Buyamin, S., Ahmad, M.N., & Nawawi, S.W. (2011). Dynamic modeling and analysis of
a two-wheeled inverted pendulum robot. Third International Conference on Computational Intelligence,
Modelling and Simulation CIMSiM 2011, Langkawi, Malaysia, 20-22 Sept. 2011, (pp. 159-164). IEEE.
DOI: 10.1109/CIMSim.2011.36
Nawawi, Ahmad, & Osman (2010). Real-time control system for a two-wheeled inverted pendulum mobile
robot.In I. Fürstner (Ed.), Advanced Knowledge Application in Practice, Rijeka, Croatia: Sciyo (Ch. 6,
pp. 299-312). ISBN 978-953-307-141-1
Qiu, C., & Huang, Y. (2015). The design of fuzzy adaptive PID controller of two-wheeled self-
balancing robot. International Journal of Information and Electronics Engineering, 5, 193-197. DOI:
10.7763/IJIEE.2015.V5.529
Ren, T.-J., Chen, T.-C., & Chen, C.-J. (2008). Motion control for a two-wheeled vehicle using a self-tuning
PID controller. Control Engineering Practice, 16, 365-375. DOI: 10.1016/j.conengprac.2007.05.007
Ruan, X., Chen, J. (2010). H∞ robust control of self-balancing two-wheeled robot. Proceedings of the 8th
World Congress on Intelligent Control and Automation, Jinan, China, 6-9 July 2010 (pp. 6524-6527).
IEEE. DOI: 10.1109/WCICA.2010.5554171
Sayidmarie, O.K., Tokhi, M.O., Almeshal, A.M., & Agouri, S.A. (2012). Design and real-time implementation
of a fuzzy logic control system for a two-wheeled robot. 17th International Conference on Methods and
Models in Automation and Robotics (MMAR), Miedzyzdrojie, Poland, 27-30 Aug. 2012 (pp. 569-572).
IEEE. DOI: 10.1109/MMAR.2012.6347823
Segway Personal Transporters (2012). Bedford, NH. http://www.segway.com
Shimada, A., & Hatakeyama, N. (2008). Movement control of two-wheeled inverted pendulum robots con-
sidering robustness. The Society of Instrument and Control Engineers (SICE) Annual Conference 2008,
Tokio, Japan, 20-22 Aug. 2008 (pp. 3361-3366). IEEE. DOI: 10.1109/SICE.2008.4655245
Skogestad, S., & Postlethwaite, I. (2005). Multivariable Feedback Control, 2nd ed.. John Wiley and Sons Ltd,
Chichester, UK. ISBN: 978-0-470-01167-6
Spectrum Digital, Inc. (2007). eZdspTMF28335 Technical Reference.
Available from: http://c2000.spectrumdigital.com/ezf28335/docs/ezdspf28335c_techref.pdf

26
July 13, 2015 International Journal of Control KralevSP˙IJC2015

Sun, C., Lu, T., & Yuan, K. (2013). Balance control of two-wheeled self-balancing robot based on Linear
Quadratic Regulator and Neural Network. Fourth International Conference on Intelligent Control and
Information Processing (ICICIP), Beijing, China, 9-11 June 2013 (pp. 862-867). IEEE. DOI: 10.1109/ICI-
CIP.2013.6568193
Vermeiren, L., Dequidt, A., Guerra, T.M., Rago-Tirmant, H., & Parent, M. (2011). Modeling, control and
experimental verification on a two-wheeled vehicle with free inclination: An urban transportation system.
Control Engineering Practice, 19, 744756. DOI: 10.1016/j.conengprac.2011.04.002
Wong, C.-C., Wang, H.-Y., Li, S.-A., & Cheng, C.-T. (2007). Fuzzy controller designed by GA for two-
wheeled mobile robots. International Journal of Fuzzy Systems, 9, 22-30.
Wu, J., Liang, Y., & Wang, Z. (2011). A robust control method of two-wheeled selfbalancing robot. 6th
International Forum on Strategic Technology (IFOST), Harbin, Heilongjiang, China, 22-24 Aug. 2011
(pp. 1031 - 1035). IEEE. DOI: 10.1109/IFOST.2011.6021196
Xu, J.-X., Guo, Z.-Q., Lee, T.H. (2013). Design and implementation of a Takagi-Sugeno-type fuzzy logic
controller on a two-wheeled mobile robot. IEEE Transactions on Industrial Electronics, 60, 5717-5728.
DOI: 10.1109/TIE.2012.2230600
Yamamoto, Y. (2013). NXTway-GS (Self-Balanced Two-Wheeled Robot Controller Design).
http://www.mathworks.com/matlabcentral/fileexchange/
Yau, H.-T., Wang, C.-C., Pai, N.-S., & Jang, M.-J. Robust control method applied in self-balancing two-
wheeled robot. Second International Symposium on Knowledge Acquisition and Modeling, KAM ’09,
Wuhan, China, 30 Nov. 2009 - 1 Dec. 2009 (pp. 268-271). IEEE. DOI: 10.1109/KAM.2009.234
Zhou, K., Doyle, J.C., & Glover, K. (1996)Robust and Optimal Control. Upper Saddle River, NJ: Prentice
Hall. ISBN: 0-13-456567-3
Zhuang, Y., Hu, Z., & Yao, Y. (2014). Two-wheeled self-balancing robot dynamic model and controller
design. Proceeding of the 11th World Congress on Intelligent Control and Automation, Shenyang, China,
29 June - 4 July 2014 (pp. 1935-1939). IEEE. DOI: 10.1109/WCICA.2014.7053016

27

Potrebbero piacerti anche