6
Design and Implementation of a PID Control System for a Coaxial Two-Wheeled Mobile Robot Felipe Oliveira e Silva Systems Engineering and Information Technology Institute Federal University of Itajubá Itajubá/MG - Brazil [email protected] Luis Henrique de Carvalho Ferreira Systems Engineering and Information Technology Institute Federal University of Itajubá Itajubá/MG - Brazil [email protected] Abstract This paper presents the design of a control system for a coaxial two-wheeled inverted pendulum robot. The control strategy implemented was developed based on a dynamic model of the robot that takes into consideration its three degrees of freedom, and consists of two decoupled PID controllers, tuned by Ziegler-Nichols technique. Such strategy is responsible for controlling the robot’s pitch motion and linear positioning regardless of its yaw motion, ensuring system stability, proper set-points tracking and disturbances rejection. Keywords inverted pendulum robot; nonlinear multivariable system; Savitzky-Golay filter; sensor fusion; decoupled PID controllers; Ziegler-Nichols tuning technique. I. INTRODUCTION A conventional ideal pendulum consists of a particle of negligible mass suspended by an inextensible wire. When away from its equilibrium point, the pendulum swings in a vertical plane due to the force of gravity, resulting in a periodic and oscillatory motion. An inverted pendulum is a pendulum whose center of gravity (CG) is located above its pivot point, which makes it naturally unstable. The uniqueness and complexity of the inverted pendulum have made it an ideal problem in Control Engineering [1]. An inverted pendulum robot, therefore, is a coaxial two- wheeled robot that simulates the dynamic behavior of an inverted pendulum. This is a multivariable, nonlinear and naturally unstable system that imposes difficulties of control due to its three degrees of freedom (DOF): the pitch motion, the linear positioning and the yaw motion. The very purpose of this paper is to describe a control strategy capable of balancing and driving a generic mobile inverted pendulum robot. II. DYNAMIC MODELING In order to design the control system for the inverted pendulum robot, it is necessary to develop, first, a mathematical model that faithfully represents the dynamic behavior of the system through inputs, outputs and equations linking the inputs to the outputs. Such modeling is characterized, in general, by the parameters of the system, e.g. mass, moment of inertia, radius of the wheels, among others. As further explained in [2], a coaxial two-wheeled inverted pendulum robot is a mechanical system that can be modeled by state-space representation. The input variables of the system are: C L : torque applied to the left hand wheel (N.m). C R : torque applied to the right hand wheel (N.m). f dRL : force applied to the center of the left hand wheel (N). f dRR : force applied to the center of the right hand wheel (N). f dP : force applied to the CG of the robot (N). Among the output variables of the system, we have: z RM : straight line position (m). ν RM : straight line speed (m/s). θ P : pitch angle (N.m). ω P : pitch speed (rad/s). δ : yaw angle (rad). δ : yaw speed (rad/s). The Fig. 1 shows the inverted pendulum robot used in this work with its three DOF. As can be seen, the pitch motion (rotation about y axis) is described by the angle θ P and the corresponding speed ω P . The linear positioning of the chassis is characterized by the position z RM and the speed ν RM . Additionally, the robot can perform yaw movements (rotation about x axis) through the associated angle δ and speed δ . These six state variables fully describe the dynamics of the inverted pendulum robot with its three DOF. Based on the free body diagram of the inverted pendulum robot, illustrated in Fig. 2, the following equations can be defined (only the equations for the left hand wheel are given, since the ones for the right hand wheel are analogous). TL L dRL RL RL H H f M z (1) L RL TL RL RL V g M V M x W TL L RL RL R H C J θ

[IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

Embed Size (px)

Citation preview

Page 1: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

Design and Implementation of a PID Control System

for a Coaxial Two-Wheeled Mobile Robot

Felipe Oliveira e Silva

Systems Engineering and Information Technology Institute

Federal University of Itajubá

Itajubá/MG - Brazil

[email protected]

Luis Henrique de Carvalho Ferreira

Systems Engineering and Information Technology Institute

Federal University of Itajubá

Itajubá/MG - Brazil

[email protected]

Abstract — This paper presents the design of a control system for

a coaxial two-wheeled inverted pendulum robot. The control

strategy implemented was developed based on a dynamic model

of the robot that takes into consideration its three degrees of

freedom, and consists of two decoupled PID controllers, tuned by

Ziegler-Nichols technique. Such strategy is responsible for

controlling the robot’s pitch motion and linear positioning

regardless of its yaw motion, ensuring system stability, proper

set-points tracking and disturbances rejection.

Keywords — inverted pendulum robot; nonlinear multivariable

system; Savitzky-Golay filter; sensor fusion; decoupled PID

controllers; Ziegler-Nichols tuning technique.

I. INTRODUCTION

A conventional ideal pendulum consists of a particle of negligible mass suspended by an inextensible wire. When away from its equilibrium point, the pendulum swings in a vertical plane due to the force of gravity, resulting in a periodic and oscillatory motion. An inverted pendulum is a pendulum whose center of gravity (CG) is located above its pivot point, which makes it naturally unstable. The uniqueness and complexity of the inverted pendulum have made it an ideal problem in Control Engineering [1].

An inverted pendulum robot, therefore, is a coaxial two-wheeled robot that simulates the dynamic behavior of an inverted pendulum. This is a multivariable, nonlinear and naturally unstable system that imposes difficulties of control due to its three degrees of freedom (DOF): the pitch motion, the linear positioning and the yaw motion. The very purpose of this paper is to describe a control strategy capable of balancing and driving a generic mobile inverted pendulum robot.

II. DYNAMIC MODELING

In order to design the control system for the inverted pendulum robot, it is necessary to develop, first, a mathematical model that faithfully represents the dynamic behavior of the system through inputs, outputs and equations linking the inputs to the outputs. Such modeling is characterized, in general, by the parameters of the system, e.g. mass, moment of inertia, radius of the wheels, among others.

As further explained in [2], a coaxial two-wheeled inverted pendulum robot is a mechanical system that can be modeled by

state-space representation. The input variables of the system are:

CL: torque applied to the left hand wheel (N.m).

CR: torque applied to the right hand wheel (N.m).

fdRL: force applied to the center of the left hand wheel (N).

fdRR: force applied to the center of the right hand wheel (N).

fdP: force applied to the CG of the robot (N).

Among the output variables of the system, we have:

zRM: straight line position (m).

νRM: straight line speed (m/s).

θP: pitch angle (N.m).

ωP: pitch speed (rad/s).

δ : yaw angle (rad).

δ : yaw speed (rad/s).

The Fig. 1 shows the inverted pendulum robot used in this work with its three DOF. As can be seen, the pitch motion (rotation about y axis) is described by the angle θP and the corresponding speed ωP. The linear positioning of the chassis is characterized by the position zRM and the speed νRM. Additionally, the robot can perform yaw movements (rotation

about x axis) through the associated angle δ and speed δ . These

six state variables fully describe the dynamics of the inverted pendulum robot with its three DOF.

Based on the free body diagram of the inverted pendulum robot, illustrated in Fig. 2, the following equations can be defined (only the equations for the left hand wheel are given, since the ones for the right hand wheel are analogous).

TLLdRLRLRL HHfMz (1)

LRLTLRLRL VgMVMx

WTLLRLRL RHCJ θ

Page 2: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

Figure 1. Inverted pendulum robot used in this work with its three DOF.

For the chassis:

LRdPPP HHfMz (4)

gMVVMx PLRPP

PLRPP sinLVVJ θθ θ

RLPRL CCcosLHH θ (6)

2

δ δL

RLP

DHHJ (7)

where:

JRL, JRR: moment of inertia of the rotating masses connected to the left and right hand wheels, respectively, with respect to the y axis (kgm

2).

JPθ: moment of inertia of the chassis with respect to the y axis (kgm

2).

JPδ: moment of inertia of the chassis with respect to the x axis (kgm

2).

MRL, MRR: mass of the rotating masses connected to the left and right hand wheels, respectively (kg).

MP: mass of the chassis (kg).

R: radius of the wheels (m).

D: distance between the wheels (m).

L: distance between the CG of the chassis and the y axis (m).

θRL, θRR: angle between the chassis and the vertical axis of the left and right hand wheels, respectively (rad).

VL, VR: vertical component of the force exchanged between the chassis and the left and right hand wheels, respectively (N).

HL, HR: horizontal component of the force exchanged between the chassis and the left and right hand wheels, respectively (N).

VTL, VTR: normal force exchanged between the floor and the left and right hand wheels, respectively (N).

HTL, HTR: friction force exchanged between the floor and the left and right hand wheels, respectively (N).

It is worth mentioning that this model considers that the wheels are always in contact with the floor and there is no slip between their surfaces. Thus, there is no translational movement along the y axis and no rotation around the z axis. Modifying (1) to (7) and then linearizing the result around the operating point (zRM = 0; θP = 0; δ = 0) the system’s state space equations can be written in matrix form [2], as follows:

δ

δ

ω

θ

000000

100000

00000

001000

00000

000010

δ

δ

ω

θ

43

23

P

P

RM

RM

P

P

RM

RM

v

x

A

Av

x

dP

dRR

dRL

R

L

f

f

f

C

C

BBBBB

BBBBB

BBBBB

6564636261

4544434241

2524232221

00000

00000

00000 (8)

where A23, A43, B21, B23, B24, B25, B41, B42, B43, B44, B45, B61,

B62, B63, B64 and B65 are defined as a function of the vehicle’s

parameters [2].

Figure 2. Free body diagram of the inverted pendulum robot [2] .

Page 3: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

Among the five input variables of the system, three of

them, fdRL, fdRR e fdP, are disturbance forces and, therefore

cannot be used to control the robot. The torques CL e CR,

however, can be governed by the system and will be used to

act thereon.

In order to impose the desired dynamic to the system, it is important to control the linear positioning and the pitch motion independently of the yaw motion. This can be achieved by using two controllers, one producing a torque around the horizontal axis, Cθ, and the other producing a torque around the vertical axis, Cδ, both of them only influencing the dynamic around its own axis.

To apply such torques into the system, we need a decoupling unit capable of transforming the torques Cθ and Cδ into the torques CL e CR applied to the wheels. Such decoupling unit typically has the form:

δ

θ

δ

θ

2221

1211

11

11

C

C

C

C

DD

DD

C

C

R

L (9)

Also according to [2], the values for [D] may be different

from the values shown in (9) since they are chosen in order to

avoid cross-couplings. Once this requirement has been

fulfilled, the state space equations for the inverted pendulum

robot can be rewritten in the form of two independent

subsystems. The first subsystem describes the linear

positioning of the robot and its rotation around the y axis, and

the second one models the rotation around the x axis. For the

first subsystem we have:

θ

4

2

43

23

0

0

ω

θ

000

1000

000

0010

ω

θC

B

Bv

x

A

Av

x

P

P

RM

RM

P

P

RM

RM

(10)

And for the second subsystem:

δ6

0

δ

δ

00

10

δ

δC

B

(11)

where B2 = B21 = B22, B4 = B41 = B42, e B6 = B61 = -B62 [2].

With this state space modeling, an appropriate control strategy based on two independent controllers can be developed, in order to balance the inverted pendulum robot, and track the desired set-points.

III. DIGITAL FILTERING AND SENSOR FUSION

As mentioned in the previous section, the dynamic behavior of a coaxial two-wheeled inverted pendulum robot basically depends on six state variables, four of which control the stability around the horizontal axis (pitch motion and linear positioning) while the others, the stability around the vertical axis (yaw motion). Once defined the state variables of interest,

the next step consists in specifying the sensors capable of measuring such states. In this work, we used an inertial measurement unit (IMU) equipped with a three-axis sensing accelerometer and an integrated two-axis gyroscope, for the measurements of pitch and yaw angles and speeds. For measuring the straight line position and the straight line speed we used incremental encoders attached to the axles of the wheels motors.

In order to filter the noise inherent to the measurement process, and for obtaining more reliable estimates for the state variables measured by the sensors, two different digital filters were implemented in this work.

A. Savitzky-Golay Filter

The Savitzky-Golay smoothing filter, also called polynomial smoothing filter is a filter that basically performs a polynomial regression (of degree k) on a series of values (of at least k+1 equidistant points) in order to determine a new smoothed value for each point [3]. Savitzky-Golay filters are typically used to filter signals contaminated with high frequency noise. In this type of application, the Savitzky-Golay filter is more efficient than finite impulse response filters (FIR), such as the moving average filter, since it tends to preserve the characteristics of the initial distribution such as relative maxima, minima and width, which are typically lost when using other averaging techniques.

In this work, Savitzky-Golay filters were implemented in order to obtain more reliable average values for each variable measured by the accelerometer and the gyroscope. The Fig. 3 illustrates how to implement a Savitzky-Golay filter in C language for determining the value of the filtered pitch angle estimated by the accelerometer θPaf.

a0 = a1;

a1 = a2;

a2 = a3;

a3 = a4;

a4 = a5;

a5 = a6;

a6 = θPa;

θPaf = ((-2*a0)+(3*a1)+(6*a2)

+(7*a3)+(6*a4)+(3*a5)+(-2*a6))/21;

Figure 3. Implementation of Savitzky-Golay filter in C language.

The coefficients of the Savitzky-Golay filters used in this work were determined based on the least squares method. According to [4], these coefficients must always have odd indices and must be symmetric about the center of the range considered.

B. Complementary Filter

The pitch and yaw speeds can be obtained directly by the filtered values of the gyroscope readings. The respective pitch and yaw angles, however, cannot be measured directly, being only estimated based on such readings.

Since the gyroscope measures primarily angular velocities, it can be used to estimate angles via numerical integration, multiplying the measured pitch or yaw speed by the sampling

Page 4: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

time over each program cycle. Despite being an effective alternative, the estimates obtained by using this method tend to drift away from the correct values due to the accumulation of errors in the integration process.

Another way of estimating angles (only pitch angle in this case) is by using the accelerometer. Knowing the magnitude of the gravitational acceleration, the pitch angle can be estimated by using some trigonometric identities. The yaw angle, however, cannot be estimated in the same manner, since no component of the gravitational force acts on the corresponding sensitive axis.

Despite the possibility of implementation, when accelerometers are used in systems such as inverted pendulum robots, they are not entirely reliable, since they are sensitive to vibrations and parasite accelerations, for example, horizontal acceleration of the chassis, centripetal acceleration originated in curves, among others.

Thus, based on the sensor fusion concept, the solution adopted in this work for estimating the pitch angle consists in combining the respective estimates obtained by the accelerometer and the gyroscope (filtered by the Savitzky-Golay filter) through a second digital filter.

In the literature, the most popular digital filter for this type of application is the Kalman filter [5]. Despite its recognized efficacy, we did not employ the Kalman filter in this work due to its relative complexity of implementation and to the large computational effort required for processing its iterations.

As an alternative to the Kalman filter, recent researches conducted on unmanned autonomous vehicles [6] have been referring to a different kind of digital filter, which combines easiness of implementation with good operational performance. This solution adopted in this work for estimating the pitch angle, is in essence a digital filter, variant of the Weiner filter, known as "complementary filter".

As well as the Kalman filter, the complementary filter aims to eliminate both the noise on the accelerometer and the drift in the gyroscope. This is done by using a low-pass filter on the accelerometer readings and a high-pass filter on the gyroscope readings, and then combining them. The purpose of the low-pass filter is to only let through long-term changes, filtering out high frequency signals. On the other hand, the high-pass filter allows the passage of short-duration signals, while filters out stationary signals.

In C language, the complementary filter used for estimating the pitch angle θPf based on the corresponding estimates obtained by the accelerometer θPaf and the gyroscope θPgf can be implemented as shown in Fig. 4, where a is called weighting factor.

θPf = (1-a)*(θPf +θPgf)+(a*θPaf);

Figure 4. Implementation of complementary filter in C language.

The complementary part of the filter is represented by the terms a and 1-a, which actions correspond respectively to the low-pass filter and the high-pass filter. The Fig. 5 illustrates the operation principle of the complementary filter.

Figure 5. Operation principle of the complementary filter.

In this work, the weighting factor was initially estimated empirically, by trial and error, until we arrived to the value a = 0.005. As can be seen, despite the small participation of the accelerometer in the estimation process of the pitch angle, it is essential to correct the gyroscope.

IV. CONTROL STRATEGY

Since the dynamic behavior of the system has been properly modeled and that the estimates for the input variables are reliable, we can focus on the development of a control strategy appropriate to the achievement of the desired performance criteria.

The control strategy developed in this work, as suggested in Section II, is based on two decoupled PID controllers, one controlling the stability around the horizontal axis (pitch motion and linear positioning) and the other, around the vertical axis (yaw motion).

According to the dynamic model developed, the first subsystem is multivariable and depends on four input variables: the pitch angle θP, the straight line position zRM, the pitch speed ωP and the straight line speed νRM. Since this subsystem is responsible for controlling only two of the three DOF of the inverted pendulum robot (pitch motion and linear positioning), it is sufficient, in this case, to feed back into the controller only two of the four input variables [1]. In this work, the input variables chosen to be controlled were the pitch angle θP and the straight line positioning zRM.

The first PID controller, therefore, is multivariable and takes into account only the values of linear position zRMf, measured by the encoders, and pitch angle θPf, filtered by the Savitzky-Golay filter and estimated by the complementary filter. These values are compared to the desired set-point zRMr and θPr in order to generate the control errors zRMe and θPe that will be processed in the controller and then will finally govern the output torque Cθ used to keep the robot in balance and at the desired position.

This same reasoning can be extended to the second subsystem, which, as explained in Section II, is simpler than the first one because it depends only on two input variables: the yaw angle δ and the yaw speed δ . Since this subsystem is

responsible for controlling only one of the three DOF of the inverted pendulum robot (yaw motion), it is sufficient, in this case, to feed back into the controller only one of the two input variables [1]. The difference here is that we cannot choose the yaw angle to be the controlled variable because, as already explained in Section III, without the contribution of the

Page 5: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

accelerometer, we cannot implement the complementary filter required for determining a reliable yaw angle. Thus, the estimate for the yaw angle is obtained exclusively via gyroscope and tends to drift. Therefore, the input variable chosen to be fed back into the second controller was the yaw speed δ .

The second PID controller, therefore, takes into account only the value of the yaw speed measured by the gyroscope and

filtered by the Savitzky-Golay filter fδ . This value is compared

with the desired set-point rδ in order to create the control error

eδ that will govern the output torque Cδ used to make the robot

rotate around its vertical axis.

Finally, in order to allow both controllers work together, their output torques Cθ and Cδ need to be added before being applied to the left hand wheel CL and subtracted to the right hand wheel CR. These addition and subtraction operations performed on the output torques consist in fact in the practical application of the decoupling matrix [D] presented in Section II. The block diagram representing the control strategy implemented in this work is shown in Fig. 6.

V. ZIEGLER-NICHOLS TUNING METHOD

In this work, we used tuning techniques for PID controllers based on Ziegler-Nichols method. The tuning of the two PID controllers was conducted separately, being primarily tuned the multivariable PID controller responsible for the stability around the horizontal axis. The tuning process consists, for each controller, of the following steps:

1) First, both integral gain Ki and derivative gain Kd of

each controller are zeroed. The concerned controller initially

considers only the action of the proportional gain Kp in closed

loop, which value is randomly arbitrated.

2) A sequence of tests is performed to the desired set-

points, and the output responses of the system are observed.

For each new test, we change the proportional gain Kp until a

stable oscillation at the system output is obtained, that is, an

oscillation of constant amplitude and period. To the

proportional gain that produces such behavior, we give the

name of critical gain Ku.

3) Finally, we register the oscillation period of the system

in steady state. This period is called critical period Pu.

Since the critical gain Ku and the critical period Pu were determined, the next step was to calculate the values for the gains of the concerned PID controller. For the calculation of these gains we used the Ziegler-Nichols tuning formulas, listed in Table 1.

TABLE I. ZIEGLER-NICHOLS TUNING FORMULAS

Controller Kp Ti Td

P 0.50 Ku ∞ 0

PI 0.45 Ku 0.85 Pu 0

PD 0.65 Ku ∞ 0.12 Pu

PID 0.65 Ku 0.50 Pu 0.12 Pu

Figure 6. Strategy control implemented.

As the first PID controller, responsible for maintaining the inverted pendulum robot in balance and at the desired position has a multivariable nature, a specific procedure was adopted during its tuning. This procedure, better detailed in [7], consisted of tuning primarily the most important loop of the subsystem (in our case, the pitch angle loop) leaving the remaining loops opened. Since the main loop was tuned,9 we proceeded with tuning the secondary loop (the linear positioning loop). Since stability problems were detected, we reduced the integral gain Ki of the least important loop until the undesired effect was minimized.

Despite the effectiveness of the Ziegler-Nichols method, the

control system gains determined by this method may generally

be improved by a fine tuning adjustment. In this work, the

fine-tuning of the PID controllers was done manually by trial

and error, changing the values of the gains and observing the

behavior of the system until the desired performance criteria

were achieved. At the end of the tuning process, we obtained

the following gains for the whole system: Kpz = 450.0, Kiz =

6.0, Kdz = 0.0, Kpθ = 15.7, Kiθ = 0.7, Kdθ = 110.4, Kpδ = 0.3, Kiδ

= 0.02 and Kdδ = 2.0.

VI. EXPERIMENTAL RESULTS

Finalized the tuning procedures, the inverted pendulum robot was capable of achieving the stability required to keep its balance and to move around precisely along the yz plane. To displace it and to make it turn, we need to change the linear

positioning set-point zRMr and the yaw speed set-point rδ ,

respectively.

The first test performed aimed to observe the behavior of the inverted pendulum robot during its displacement along the yz plane. For this experiment we stipulated θPr = 0.009 rad and

we varied the set-points zRMr and rδ simultaneously. The value

for the pitch angle set-point was fixed as being 0.009 rad because this is the angle in which the CG of the inverted pendulum robot used in this work remains exactly upon the axis of the coaxial wheels. The Fig. 7 illustrates the real behavior of the output variables of the system.

Page 6: [IEEE 2013 IEEE 22nd International Symposium on Industrial Electronics (ISIE) - Taipei, Taiwan (2013.05.28-2013.05.31)] 2013 IEEE International Symposium on Industrial Electronics

Figure 7. Set-points tracking.

As can be seen in the Fig. 7, the two PID controllers were

able to track properly the set-points, making the output

variables tend to the desired steady state values, regardless of

the system's multivariable and nonlinear nature. This validates

the dynamic modeling proposed, the control strategy and the

tuning method implemented.

Also in this experiment, it can be seen that the linear

positioning set-point zRMr was varied gradually, simulating

acceleration and deceleration ramps. This procedure was

adopted in order to allow a smoother movement of the

inverted pendulum robot since, due to the multivariable nature

of the first PID controller, large changes in the linear

positioning set-point can degrade the stability with respect to

the pitch motion.

Other tests, not considered in this work, also evaluated the

behavior of the inverted pendulum robot to disturbances.

These disturbances were introduced in the robot's pitch angle,

linear positioning and yaw speed, and for all the three cases,

the control strategy implemented ensured the tracking of the

set-points, making the controlled variables tend to the

appropriate steady state values. The control strategy also made

possible keeping the robot in balance and moving it around on

inclined planes up to 10 degrees with the horizontal.

A final analysis, also not contemplated in this work,

demonstrated the robot's ability to stand up alone when tilted

on a resting position of up to 25 degrees with the vertical.

VII. CONCLUSIONS

In general, the control strategy used to maintain the inverted pendulum robot in balance and to pilot it fulfilled the performance criteria established in the beginning of the work. The control system developed, based on two decoupled PID controllers, was able to ensure system stability, proper set-point tracking and disturbances rejection.

Concerning to the possible improvements in the implemented control strategy, the development of a robust control system, based on modern control techniques such as LQR, LQG or H∞ could provide an even larger optimization

on the system, since such techniques are based on the identification of the modeled parameters. Robust controllers would also allow obtaining more reduced and damped transient responses, which could also contribute to the improvement of the system performance in terms of energy efficiency.

ACKNOWLEDGMENT

The author would like to thank the Alcatel-Lucent Bell Labs France researchers, for having lent Jbot, the telepresence inverted pendulum robot used in this work.

REFERENCES

[1] F. O. Silva, “Project and implementation of a PID control system for a mobile self-balancing telepresence robot controlled via LTE mobile network”, M.S. thesis, ENIVL, Blois, Loir-et-Cher, 2012.

[2] F. Grasser, A. D’Arrigo, S. Colombi and A. Rufer, “Joe: a mobile inverted pendulum”, ISEE Trans. Ind. Electron., vol. 49, no. 01, Feb. 2002.

[3] A. Savitzky and M. J. E. Golay, “Smoothing and differentiation of data by simplified least squares procedures”, Analytical Chemistry, vol. 36, pp. 1627-1639, 1964.

[4] P. O. Persson and G. Strang, “Smothing by Savitzky-Golay and Legendre filters”, Inst. Math. and Applicat., vol. 134, pp. 30, 2002.

[5] R. E. Kalman, “A new approach to linear filtering and prediction problems”, Trans. ASME, J. Basic Eng., vol. 82, pp. 34-45, 2004.

[6] A. J. Baerveldt and R. Klang, “A low-cost and low-weight attitude estimation system for an autonomous helicopter”, in Proc. IEEE Int. Conf. Intell. Eng. Syst., 1997, pp. 391-395.

[7] D. E. Seborg, T. F. Edgar and D. A. Mellichamp, “PID Controller Design, Tuning and Troubleshooting” in Process Dynamic and Control, 2nd ed. Danvers, MA: John Wiley & Sons, Inc., 2004, ch. 12, sec. 5, pp. 317-321.