Control Engineering Practice 44 (2015) 231–242
Contents lists available at ScienceDirect
Control Engineering Practice journal homepage: www.elsevier.com/locate/conengprac
Two-wheeled self-balanced pendulum workspace improvement via underactuated robust nonlinear control Guilherme V. Raffo a,b,n, Manuel G. Ortega b, Vicente Madero b, Francisco R. Rubio b a b
Departamento de Engenharia Eletrônica, Universidade Federal de Minas Gerais, 31270-901 Belo Horizonte, MG, Brazil Departamento de Ingeniería de Sistemas y Automática, Universidad de Sevilla, 41092 Sevilla, Spain
art ic l e i nf o
a b s t r a c t
Article history: Received 31 January 2014 Received in revised form 21 July 2015 Accepted 21 July 2015
A nonlinear / ∞ controller is designed and applied for two-wheeled self-balanced vehicles, which are underactuated mechanical systems with input coupling. The main objective is, in the presence of exogenous disturbances, to ensure that the inclination angle of the pendulum (controlled DOF) is led to the upper vertical position, while the angular velocity of the wheels (the time-derivative of the remaining DOF) can be set in a desired reference value. Thus, the angular position of the wheels (remaining DOF) is driven to steady state, i.e., it is maintained stabilized (static equilibrium) ( φ̇ = 0 rad/s), or at least its velocity (mechanical equilibrium) ( φ̇ = const. rad/s). The proposed controller considers the whole dynamics of the system into its structure, ensuring that the overall system is closed-loop stable. Furthermore, an improvement of the nonlinear / ∞ control tuning method for mechanical systems is developed. Experimental results are carried out with a real two-wheeled vehicle in the presence of external disturbances, unmodeled dynamics and from extreme initial conditions. & 2015 Elsevier Ltd. All rights reserved.
Keywords: Two-wheeled vehicles Underactuated mechanical systems Input coupling Nonlinear control Robust control
1. Introduction Vehicles based on the inverted pendulum concept are a typical case of underactuated mechanical systems, in which the control design problem remains a big challenge in the control theory field. The inverted pendulum on its many variations is one of the most important benchmarks in the automatic control area, as can be found through the Furuta pendulum (Acosta, Aracil, & Gordillo, 2002; Aström & Furuta, 2000), the pendulum on a cart (Gordillo & Aracil, 2008; Mazenc & Bowong, 2003), and the pendulum on a two-wheeled vehicle (Madero, Aracil, & Gordillo, 2010; Pathak, Franch, & Agrawal, 2005). Pendulum on two-wheeled vehicles or two-wheeled self-balanced vehicles have been made popular by the vehicle called Segway. Other commercial two-wheeled vehicles have also been developed for personal transporter, e.g. Toyota's Winglet and Segway's P.U.M.A. (Personal Urban Mobility & Accessibility), while in the research area the nBot balancing robot can be highlighted (Anderson, 2002). This kind of system has attractive properties of interest for the academic field. Commercial vehicles limit their workspace to a small area around the static upper vertical position due to safety maneuver constraints. In order to maintain these n Corresponding author at: Departamento de Engenharia Eletrônica, Universidade Federal de Minas Gerais, 31270-901 Belo Horizonte, MG, Brazil. E-mail addresses:
[email protected] (G.V. Raffo),
[email protected] (M.G. Ortega),
[email protected] (V. Madero),
[email protected] (F.R. Rubio).
http://dx.doi.org/10.1016/j.conengprac.2015.07.009 0967-0661/& 2015 Elsevier Ltd. All rights reserved.
features even when the workspace is enlarged, robustness properties must be taken into account at the control design stage. In general, these vehicles are usually affected by external disturbances, unmodeled dynamics, parameter estimation errors, and noise added to the measurement reported by sensors, among others. Therefore, despite the considerable effort devoted for minimizing system errors and the difficulty of controlling underactuated mechanical systems due to the fact that they have fewer control inputs than degrees of freedom (DOF), an additional issue is whether the proposed control law possesses desirable rejection properties even without assuming perfect models. A usual approach in order to deal with system imperfections on the control design stage is the / ∞ control theory (Basar & Bernhard, 2008; van-der-Schaft, 2000), whose aim is to achieve a bounded ratio between the energy of the cost variable and the energy of external disturbance signals. In Siqueira and Terra (2004a), a nonlinear / ∞ control for underactuated manipulators, as an extension of the one proposed by Chen, Lee, and Feng (1994), was presented. Nonetheless, this result presents some important restrictions, such as the assumption of null-average disturbances and an exact robot model. In Raffo, Ortega, and Rubio (2007), this controller, considering underactuated mechanical systems, was modified taking into account the error vector with the integral term, which allows the rejection of persistent disturbances. However, these nonlinear / ∞ controllers for underactuated mechanical systems continue to have restrictions. As these control law designs only consider the dynamics of controlled DOF into the
232
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
error state vector, the remaining ones must be assumed to have stable zero dynamics, or they must be stabilized through an additional control strategy. Moreover, as stated in Chen et al. (1994), the standard formulation of the nonlinear / ∞ control for Euler– Lagrange mechanical systems used, for example, in Feng and Postlethwaite (1994), Siqueira and Terra (2004a), Ortega, Vargas, Vivas, and Rubio (2005), Raffo et al. (2007), and Raffo, Ortega, and Rubio (2011), presents a limitation in the way to weigh the cost variable. In these works, for its appropriate formulation, the weighting matrices must be considered like positive real scalars multiplied by the identity matrix, limiting the adjustment of the control law for systems with multiple DOF with different dynamics. This work proposes a nonlinear / ∞ control law design for a class of underactuated mechanical systems with input coupling, wherein the two-wheeled self-balanced vehicle is represented. This controller is a result of the improvement of previous studies made by authors in Raffo et al. (2007) and Raffo, Madero, and Ortega (2010), in which the control law has been corroborated on a inverted pendulum on a cart model through simulation results, and on a real two-wheeled vehicle. The main difference between the inverted pendulum on a cart and the two-wheeled self-balanced vehicle lies in the fact that, in the first system, the pendulum goes freely around the pivot point, whereas in the second one, the axle of the motors is at the same time the pivot point of the pendulum. As a result of this characteristic, the inverted pendulum on a cart has non-interacting input control, while the two-wheeled vehicle has input coupling. This difference between both models complicates the direct implementation of the results obtained for the inverted pendulum to the self-balanced vehicle. The contributions of the new approach presented in this paper are: (i) the consideration of the dynamics of the remaining degrees of freedom in the cost variable of the nonlinear / ∞ control problem for underactuated mechanical systems, allowing the stabilization of their dynamics and the adjustment of their velocities; (ii) a method for tuning the nonlinear / ∞ control law for mechanical systems, which allows to weight different dynamics through different values; (iii) the application of the proposed controller to a real two-wheeled self-balanced vehicle. The remainder of the paper is organized as follows: in Section 2, the two-wheeled self-balanced vehicle used in this work and its mechanical modeling are described. A general representation of underactuated mechanical systems with input coupling and a normalization of system equations used, in this case, to design the nonlinear / ∞ controller is presented in Section 3. In Section 4 the control problem statement is introduced followed by the
development of the proposed nonlinear / ∞ controller for the class of underactuated mechanical systems with input coupling. In Section 5, experimental results carried out with the two-wheeled self-balanced vehicle are showed. Finally, the major conclusions of the work are drawn in Section 6.
2. Two-wheeled self-balanced vehicle The two-wheeled self-balanced vehicle has the pendulum rigidly fixed to the stator of the motors, presenting a direct coupling between pendulum and wheels. Thus, the external torque applied by the motors produces effects of the same value on wheels and pendulum but with opposite direction. The system constituted by the vehicle consists of two subsystems. On the one hand, the two motors, the electronic control devices and other auxiliary devices are fixed to the frame to compose the pendulum. On the other hand, the wheels are fixed to the axle of the motors, constituting the second subsystem. Fig. 1 (a) shows a schematic diagram of the vehicle and gives an outline of the hardware. The vehicle used for experiments is composed of an aluminum framework with an inverted T-shape, with two motors fixed on its lower section, which aligned axles are at the same time the ones for the two wheels. Two boxes are shown, where the electronics and sensors needed to implement the control of the system (micro-controller board, motor controller, wireless transmitter, batteries and Inertial Measurement Unit (IMU)) are placed to be properly protected. The actual vehicle is illustrated in Fig. 1(b). The designed control law is implemented on an embedded micro-controller board. This board is based on an ATmega128 micro-controller (8-bit AVR micro-controller with 128 Kb in-system programmable flash and a 16 MHz internal clock). The torque calculated by the control law is applied to the motors by using two Maxon EPOS24/5 motor controller boards. Each board receives the current value through a serial connection, and applies it to the corresponding motor. These motor controller boards can be driven up to 120 W. The vehicle uses two Maxon RE30, 60 W brushed motors, with a nominal voltage of 12 V. These motors are equipped with encoder and planetary gear-head (reduction of 66:1), which allows the set to provide a torque up to 4 N m. The inclination angle and the angular rate of the vehicle are obtained using the 3DM-GX1 IMU from MicroStrain. Electronics and auxiliary elements for the vehicle are located near the axle and in a way that the effective center of mass is lowered. During the experiments, all the data can be reported to a base station via a bluetooth-serial
. Fp
Fp
.
Fig. 1. Two-wheeled self-balanced vehicle. (a) Description of the two-wheeled vehicle. (b) General view of the two-wheeled self-balanced vehicle.
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
connection. From Fig. 1(a), the following system variables can be defined: θ , the inclination angle between the pendulum and vertical line; θ ,̇ the angular rate of the pendulum; φ , the angular position of the motors axle; φ̇ , the respective angular rate; τ , the torque applied in conjunction by the two motors; and Fp, the external force applied to the upper pendulum extreme, which results on the perturbation torque τp = Fp·lp , lp being the distance between the upper pendulum extreme and the motors axle. In order to simplify the model of the vehicle, it can be assumed the mass of the entire pendulum set (frame, motors and other elements) to be a punctual mass located on the center of mass of the physical pendulum. Thus, the pendulum has a mass m separated by a distance l from the axle, where there are two wheels fixed with radius r and mass Mr. By using the Euler–Lagrange formulation for non-conservative forces, which has been omitted here for the sake of simplicity, the equations of motion for the system can be written as follows (Madero et al., 2010):
( (Mr + m) r 2 + Ir ) φ¨ + mlrθ¨ cos θ − mlrθ 2̇ sin θ = τ + τp − kφ̇,
(1)
Particularly, the position vector of the generalized coordinates, partitioned between controlled and remaining DOF, for the twowheeled self-balanced vehicle is chosen as q = ⎡⎣qu qc ⎤⎦′ = [φ θ ]′ ∈ R2, and consequently nc ¼1 and nu ¼1.1 The Euler–Lagrange equations of motion (1) and (2) can be rewritten in the canonical form as follows:
M (q) q¨ + C (q, q̇) q̇ + K (q̇) + G (q) = F (q) τ + δ (q, q̇, q¨ , τp ), ⎡ Muu (q) Muc (q)⎤ ⎡ φ¨ ⎤ ⎡ C uu (q, q̇) C uc (q, q̇)⎤ ⎡ φ̇ ⎤ ⎢ ⎥⎢ ⎥ + ⎢ ⎥⎢ ⎥ ⎣ Mcu (q) Mcc (q) ⎦ ⎣ θ¨ ⎦ ⎣ C cu (q, q̇) C cc (q, q̇) ⎦ ⎣ θ ̇⎦ ⎡ Ku (q̇)⎤ ⎡ G u (q)⎤ ⎡ Fu (q)⎤ ⎡δ ⎤ ⎥+⎢ ⎥=⎢ ⎥ τ + ⎢ u⎥, +⎢ ⎣ δc ⎦ ⎣ K c (q̇)⎦ ⎣ Gc (q) ⎦ ⎣ Fc (q) ⎦
− τ − τp + kφ̇,
(2)
where g is the gravity acceleration, k is a constant that represents the dynamic friction of the motor and Ip and Ir are the moment of inertia of the pendulum and the wheel, respectively. The parameters of the vehicle model (1) and (2) have been experimentally identified. The main parameters that characterize the model are listed in Table 1.
3. Underactuated mechanical system model representation As stated in the Introduction of the paper, the two-wheeled self-balanced vehicle represents an underactuated mechanical system since there are more degrees of freedom than control variables. In general, it is possible to classify mechanical systems with respect to their actuation degree, that is, the difference between the number of configuration variables, q ∈ , and control inputs, τ ∈ , being the n-dimensional configuration space and the m-dimensional actuation space. Furthermore, the equations of motion of underactuated mechanical systems with n DOF can be partitioned into two components: the one corresponding to the remaining (also called uncontrolled) generalized coordinates, qu ∈ R nu , and the other one to the controlled ones, qc ∈ R nc . Besides, it is well-known that no more than m degrees of freedom can be regulated at one of their equilibrium points at each moment by the applied torques (Siqueira & Terra, 2004b). Therefore, the m DOF to be controlled should be grouped into the vector qc ∈ Rm , while the remaining generalized coordinates should be grouped into the vector qu ∈ Rn − nc , where nc = m and nu = n − nc .
Table 1 Two-wheeled self-balanced vehicle model parameters.
Muu (q) = (Mr + m) r 2 + Ir ,
Mcc (q) = ml2 + Ip, Cuc (q, q̇) = − mlr sin θθ ,̇
Muc (q) = Mcu (q) = mlr cos θ ,
Cuu (q, q̇) = Ccu (q, q̇) = Ccc (q, q̇) = G u (q) = 0 Ku (q̇) = kφ̇,
Kc (q̇) = − kφ̇,
Gc (q) = − mgl sin θ ,
Fc (q) = − 1.
Besides, F (q ) is the so-called input coupling matrix, which, for the generic case, has rank (F (q )) = m < n, and from the input coupling follows that Fc (q ) is an invertible m × m matrix, and Fu (q ) ≠ 0 for all q (Olfati-Saber, 2001). τ ∈ R is the applied torque, M (q ) ∈ R2 × 2 is the symmetric positive definite inertia matrix, C (q, q̇) ∈ R2 × 2 is the Coriolis and centrifugal matrix, which is obtained through the Christoffel symbols of the first kind (see Spong, Hutchinson, & Vidyasagar, 2006), K (q̇) ∈ R2 are the friction torques, and G (q ) ∈ R2 are the gravitational torques. It is well-known that the time-derivative of the matrix M (q ) has the following property (Kelly, Santibáñez, & Loría, 2005): Ṁ (q ) = 2C (q, q̇) + 5 (q, q̇), 5 (q, q̇) being a skew-symmetric matrix. The term δ (•) = [δu, δc ]′ represents the total effect of the parametric uncertainties and energy-bounded external disturbances on the remaining and controlled DOF, τp = [τpu, τpc ]′. The contribution of the applied torque, τ, to the controlled and remaining dynamics is defined by the generalized torques Γc = Fc (q ) τ = − τ and Γu = Fu (q ) τ = τ , respectively. Since the system to be controlled does not present stable zero dynamics, it should be guaranteed that the remaining DOF dynamics will be stabilized. To perform that, the partitioned system (3) is considered, taking into account that its inertia matrix presents cross terms between the controlled and remaining DOF. This system can be normalized to obtain a block diagonal inertia matrix by means of the following diagonalization matrix TM :
⎡ −1 1 − Muc (q) Mcc (q)⎤ ⎥ TM (q) = ⎢ −1 ⎥⎦ ⎢⎣− Mcu (q) Muu 1 (q) ⎡ 1 ⎢ = ⎢ −mlr cos θ ⎢ ⎢⎣ (Mr + m) r 2 + Ir
−mlr cos θ ⎤ ml2 + Ip
1
⎥ ⎥. ⎥ ⎥⎦
Then, by pre-multiplying the system (3) by the matrix TM , the normalized terms are obtained:
Parameter description
Parameter
Value
Mass of the pendulum Mass of the two wheels Height of the center of gravity Radius of the wheels Moment of inertia of the pendulum
m Mr l r Ip
3.75 kg 2.75 kg 0.1435 m 0.25 m
Moment of inertia of the wheel
Ir
0.0421 kg m2
Dynamic friction constant of the motor
k
0.00215 N m/rad/s
0.201 kg
(3)
where
Fu (q) = 1,
(ml2 + Ip ) θ¨ + mlrφ¨ cos θ − mgl sin θ =
233
m2
Γ (q) = TM (q) F (q) τ,
δ (q) = TM (q) δ (q, q̇, q¨ , τ p ),
M (q) = TM (q) M (q),
C (q, q̇) = TM (q) C (q, q̇),
K (q, q̇) = TM (q) K (q̇),
G (q) = TM (q) G (q),
yielding the following normalized system: 1
The notation prime ′ denotes transpose.
234
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
M (q) q¨ + C (q, q̇) q̇ + K (q, q̇) + G (q) = Γ (q) + δ , ⎡ Msu (q) O ⎤ ⎡ φ¨ ⎤ ⎡ Csu (q, q̇) Csc (q, q̇) ⎤ ⎡ φ̇ ⎤ ⎢ ⎥⎢ ⎥ + ⎢ ⎥⎢ ⎥ Mrc (q)⎦ ⎣ θ¨ ⎦ ⎣ C ru (q, q)̇ C rc (q, q̇)⎦ ⎣ θ ̇⎦ ⎣ O ⎡ Ksu (q, q̇)⎤ ⎡ G su (q)⎤ ⎡ Γsu (q)⎤ ⎡ δsu ⎤ ⎥+⎢ ⎥=⎢ +⎢ ⎥ + ⎢ ⎥, ⎣ Krc (q, q̇) ⎦ ⎣ G rc (q)⎦ ⎣ Γrc (q) ⎦ ⎣ δ rc ⎦
(4)
with
Msu (q) = (Mr + m) r 2 + Ir − Mrc (q) = ml2 + Ip −
(mlr cos θ )2 , ml2 + Ip
(mlr cos θ )2 , (Mr + m) r 2 + Ir
Csc (q, q̇) = − mlr sin θθ ,̇ Csu (q, q̇) = Cru (q, q̇) = 0,
(mlr )2 sin θ cos θθ ̇ , (Mr + m) r 2 + Ir ⎛ mlr cos θ ⎞ Ksu (q, q̇) = kφ̇ ⎜ + 1⎟ , ⎝ ml2 + Ip ⎠
Crc (q, q̇) =
⎞ ⎛ mlr cos θ Krc (q, q̇) = − kφ̇ ⎜ + 1⎟ , 2 ⎠ ⎝ (Mr + m) r + Ir G rc (q) = − mgl sin θ ,
Gsu (q) =
(ml)2gr sin θ cos θ , (ml2 + Ip )
⎛ mlr cos θ ⎞ ⎟ τ, Γsu (q) = ⎜1 + ml2 + Ip ⎠ ⎝ ⎞ ⎛ mlr cos θ Γrc (q) = − ⎜1 + ⎟ τ, ⎝ (Mr + m) r 2 + Ir ⎠ where the subscripts s and r denote stabilized and regulated subsystems. The generalized torque vector Γ (q ), which is the control input vector of the normalized system, is constituted by the contribution of the applied torque τ to the stabilized and regulated dynamics. This normalized system will enable to consider the time-derivative of the remaining DOF in the tracking error vector, with its own weighting, being referred throughout the paper as the entire underactuated mechanical system. Remark 1. The regulated subsystem can have its generalized coordinates controlled around a desired operation point, while the stabilized subsystem just may have the time-derivative of its generalized coordinates set in a specified reference value. In the case of the two-wheeled self-balanced vehicle, the dynamics associated to the inclination angle has been chosen as the regulated subsystem, while the stabilized one has been selected as the angular position of the wheel. Remark 2. The diagonalized matrix M (q ) remains symmetric and positive definite due to the properties of the inertia matrix M (q ).
4. Underactuated nonlinear / ∞ control of the entire system In this section, a nonlinear / ∞ controller based on the entire underactuated mechanical system model is designed to achieve robustness in the presence of sustained disturbances, and parametric and structural uncertainties, which is particularized to the two-wheeled self-balanced vehicle. The nonlinear controller is based on the suboptimal approach, where an attenuation level γ must be assumed a priori.
velocity of the wheels, φ̇ , can be set in a desired value. Thus, the remaining DOF is driven to steady state, i.e., it is maintained stabilized (static equilibrium) ( φ̇ = 0 rad/s), or at least its velocity (mechanical equilibrium) ( φ̇ = const. rad/s). Note that, there is no interest in the control of the angular position of the wheel around some of its infinite operation points. The main difference between this formulation and the ones proposed by authors to control inverted pendulums in Raffo et al. (2007) and Raffo et al. (2010) remains in the presence of the velocity of the remaining DOF in the error state vector (see expression (5)), which ensures that this velocity tends to a desired value whereas their positions are given by their coupling with the controlled DOF, providing to reach the first mentioned contribution of this work. The proposed formulation considers the whole dynamics of the system into its structure, which guarantees that the overall system is closed-loop stable, avoiding the requirement that the remaining DOF are open-loop stable or an outer loop to control them. Furthermore, by this formulation the control law will allow to achieve robustness in the presence of external perturbations, unmodeled dynamics, and parametric and structural uncertainties acting on the whole system. The error's equation is designed taking into account the diagonalization of the inertia matrix allowing a flexibility to weigh different dynamics of the system, generating the second contribution commented at the Introduction. Therefore, assuming the control objective proposed for this system, the error vector, x (t ), is defined as follows:
⎡ qu̇ (t ) − qu̇ (t )⎤ ⎡ q˜ ̇ (t )⎤ ⎡ φ˜ ̇ (t )⎤ ⎡ φ̇ (t ) − φ̇ ⎤ d d ⎥ ⎢ u ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ x (t ) = ⎢ qċ (t ) − qċ d (t ) ⎥ = ⎢ q˜ ċ (t ) ⎥ = ⎢ θ˜ ̇ (t ) ⎥ = ⎢ θ ̇(t ) ⎥, ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ qc (t ) − qcd (t ) ⎦ ⎣ q˜ c (t ) ⎦ ⎣ θ˜(t ) ⎦ ⎣ θ (t ) ⎦
(5)
φ̇d being the desired angular velocity of the wheel. Next, the general case that takes into account qc ∈ R nc , qu ∈ R nu , τ ∈ Rm is assumed, as well as a time-varying reference trajectory, and the fact that the remaining DOF are shape variables (i.e., shape variables are those that appear in the inertia matrix of the system (Olfati-Saber, 2001)). Under these assumptions, and by considering the proposed error vector (5), Eq. (4), for the generic underactuated mechanical system, can be rewritten with respect to the reference in the nonautonomous state-space form:
ẋ (t ) = f (x, qu , t ) + g 0 (q, q̇, qḋ , q¨ d , t ) + g (x, qu , t ) Γ (t ) + k (x, qu , t ) δ (t ),
(6)
where
⎡− M−1 (q) C (q, q̇) − M−1 (q) C (q, q̇) ⎤ su sc su su ⎥ ⎢ f (x, qu , t ) = ⎢− M −1 (q) C (q, q̇) − M −1 (q) C (q, q̇) ⎥ x (t ), ru rc rc rc ⎥ ⎢ ⎣ ⎦ g 0 (q, q̇, qḋ , q¨ d , t ) ⎡ −1 ¨ ̇ ̇ ̇ ⎤ ⎢ − Msu (q)(Msu (q) qu d + Csu (q, q) qu d + Csc (q, q) ⎥ ⎥ ⎢ ̇ ̇ ⎥ ⎢ qcd + Ksu (q, q) + Gsu (q)) = ⎢ − M −1 (q)(M (q) q¨ + C (q, q̇) q̇ + C (q, q̇) ⎥, rc ru rc rc c u ⎥ ⎢ d d ⎥ ⎢ ̇ + Krc (q, q)̇ + G rc (q)) q c ⎥ ⎢ d ⎥⎦ ⎢⎣
4.1. Control problem statement Consider the two-wheeled self-balanced vehicle described by (4), the control objective is to ensure that the inclination angle of the pendulum, θ, is led to the upper vertical position ( θ = 0 rad) in the presence of exogenous disturbances, while the angular
⎡ M−1 (q) ⎤ ⎥ ⎢ su −1 g (x, qu , t ) = k (x, qu , t ) = ⎢ Mrc (q)⎥, ⎥ ⎢ ⎣ ⎦ where and are zero and identity matrices, respectively, with
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
proper dimension. From now on, the time argument on variables will be neglected, being presented only when it is necessary.
In this subsection, the system equation (6) is transformed into an appropriate weighted error formulation. This formulation is based on the idea proposed by Johansson (1990) and from the / ∞ control problem (Helton & James, 1999; van-der-Schaft, 2000), from which a natural objective is to minimize the effects of exogenous disturbances on the velocity and position errors (state vector x ) with a minimum of applied forces/torques and energy consumption. From that, the dynamic equation of the system error is written in the standard state-space form used in the nonlinear time-varying / ∞ control problem. Initially, the following state-space transformation of x is performed providing weighting degrees of freedom to the error vector used in the control adjustment:
(7)
with T11 = ρ and T22 = ν , where ρ and ν are positive scalars, and the weight matrix T23 is constant and positive definite with no particular shape. These shapes of the weighting matrices are due to the control constraints found when the whole underactuated mechanical system is controlled by a central controller, i.e., only m degrees of freedom can be regulated at an operation point, while the remaining ones can only be stabilized. Combining the / ∞ control problem and the optimization strategy proposed by Johansson (1990) exposed above, selective generalized forces/torques are chosen. However, it makes no sense to include in the optimizing index the components of the generalized forces/torques that change the potential energy of the system, as gravitational forces, since the increment of potential energy is given by the trajectory and it cannot be changed by any control strategy. Therefore, a natural choice is consider in an optimization strategy only the generalized forces/torques that affect the kinetic energy, which can be posed as follows:
Γκ = M (q) q¨ + C (q, q̇) q̇,
(8)
Γκ = Γ + δ − K (q̇) − G (q).
where matrix T can be partitioned as follows:
⎡T11 ⎤ T=⎢ ⎥. ⎣ T22 T23 ⎦
(12)
Accordingly, Eq. (11) can be written in the standard state-space form used in the nonlinear time-varying / ∞ control problem (see Chen et al., 1994; Feng & Postlethwaite, 1994; Basar & Bernhard, 2008), which includes time-varying reference trajectories, forces and torques affecting kinetic energy, the state-space transformation (7) and, now, also the remaining DOF:
ẋ = f (x, qu , t ) + g (x, qu , t ) u + k (x, qu , t ) d , ⎡ − M −1 C −1 Csc − Msu su su ⎢ −1 −1 f (x, qu , t ) = T o−1 ⎢ − Mrc Cru − Mrc Crc ⎢ −1 ⎢⎣ T 22 g (x, qu , t ) = k (x, qu , t ) =
−1 T23 − T 22
⎡ M −1 ⎤ ⎥ ⎢ su −1⎥, Mrc ⎥ ⎢ ⎣ ⎦
(9)
where
⎤ ⎥ ⎥ To x ⎥ ⎥⎦
T o−1 ⎢
(13)
which represents the dynamic equation of the system error for the generic entire underactuated mechanical system. By comparing Eqs. (6) and (13), the normalized external disturbance, d , and additional control effort, u , vectors are obtained as follows:
d = M (q) Tc M −1 (q) δ ,
(14)
u = Tc ( − F (x e ) + Γ ),
(15)
where
⎡T11 ⎤ Tc = ⎢ ⎥, ⎣ T22 ⎦ and
⎡ Msu (q) q¨ + Csu (q, q̇) q̇ + Ksu (q, q̇) + Gsu (q)⎤ ud ud ⎥ ⎢ ⎢ + C (q, q̇) q˜ ̇ + q̇ − T −1T q˜ ̇ − T −1T q˜ ⎥ sc 11 22 c 11 23 c c c d ⎥ ⎢ ⎡ Fs (x e ) ⎤ ⎢ ⎥ −1 F (x e ) = ⎢ ⎥ = ⎢ Mrc (q) q¨ cd − T 22 T23 q˜ ċ + Krc (q, q̇) + G rc (q) ⎥ ⎣ Fr (x e )⎦ ⎢ ⎥ −1 ̇ ̇ ⎥ ⎢+ Cru (q, q̇) q˜ u + qu̇ d − T 22 T11 q˜ u ⎥ ⎢ −1 ̇ ̇ ˜ + C ( q q ) q − T T q , ⎥⎦ ⎢⎣ rc 22 23 c cd
)
(
Thus, to minimize the necessary forces/torques for the worst case of all possible disturbances acting on the system, a change of variables is chosen by defining more general variables of the control action and disturbance by using the state-space transformation (7) as follows:
u + d = TM (q)(u + d ),
(11)
(
where, from (4):
⎡ z1̇ ⎤ ⎢ ⎥ ż u + d = ⎡⎣M (q) C (q, q̇) ⎤⎦ ⎢ 2 ⎥, ⎢ z1 ⎥ ⎢⎣ z2 ⎥⎦
By using definition (7), Eq. (9) can also be expressed in terms of the error vector and its derivative:
u + d = M (q) Tẋ + C (q, q̇) Tx,
4.2. Dynamic equation of the system error
⎡T11 ⎤ ⎡ q˜ u̇ ⎤ ⎡ z1 ⎤ ⎢ ⎥⎢ ⎥ ⎥ ⎢ z = z2 = To x = ⎢ T22 T23 ⎥ ⎢ q˜ ċ ⎥, ⎢ ⎥ ⎢⎣ ⎥⎦ ⎢ ˜ ⎥ ⎣ z3 ⎦ ⎣ qc ⎦
235
)
( (
)
)
with x e = [q′ q′̇ qd′ qḋ ′ q¨d′ ]′. The relationship between the transformed torque vector, Γ , and the normalized additional control effort, u , is given by Eq. (15). Then, by isolating Γ , the following transformed control law is obtained:
Γ = M (q) q¨ + C (q, q̇) q̇ + K (q, q̇)
(10)
and the vectors u and d being the additional control effort and the external disturbance, respectively, and u and d their normalized values. Variables u and d are the ones to be minimized and maximized, respectively, in the / ∞ optimization problem, which will be shown afterwards. Note that the sum of general variables, u + d , of (9) can be reduced to Γκ of (8) assuming qu̇ d = 0, qċ d = 0, qcd = 0, T11 = , T22 = and T23 = .
(
)
+ G (q) − T c−1 M (q) Tẋ + C (q, q̇) Tx + T c−1u ,
(16)
which is arranged in terms of the error vector and its time derivative. Remark 3. The control law (16) can be split up into three different parts: (i) the first four terms of that equation, which are designed in order to compensate the system dynamics (3); (ii) two terms including the error vector x and its derivative, ẋ . Assuming δ ≡ 0 ,
236
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
these two terms of the control law enable perfect tracking, which means that they represent the essential control effort needed to perform the task; (iii) the term that includes a vector u , which represents the normalized additional control effort needed for disturbance rejection. Remark 4. Despite the preceding control law might not seem a well posed system since it depends on accelerations of the generalized coordinates, the computed torque does not rely on DOF accelerations, but on their references, which will be shown afterwards. Remark 5. From the definition of matrix Tc and since M is a block diagonal matrix, both velocities of the remaining and controlled DOF can be weighted independently, which is an important improvement of this control design when compared to similar approaches found in the literature (Ortega et al., 2005). The development of the nonlinear / ∞ controller based on the dynamics of the entire underactuated mechanical system, which is rewritten in the standard form through the dynamic equation of the system error (13), is carried out in the following section. 4.3. Underactuated nonlinear / ∞ control law design The nonlinear / ∞ problem is formulated in this work through the differential game theory (Basar & Bernhard, 2008), which is based on the observation that the frequency formulation of the / ∞ linear problem is equivalent to the min–max optimization problem in the time domain. So that, by adopting its realization in the game theory framework as a two-player zero-sum differential game, it can be assumed that the game consists in computing the control action u that minimizes the performance index for the worst of all possible disturbances acting on the system, maintaining the closed-loop stability. The control law development is performed for a generic underactuated mechanical system, being particularized at the end to the two-wheeled self-balanced vehicle. Consider the disturbed nonlinear time-varying system (13) and the following cost variable associated with the optimization problem, whose energy is a behavior index:
⎡ h (x, t )⎤ ζ = W⎢ , ⎣ u ⎥⎦
(17) R nu + 2nc
where h (x, t ) ∈ represents a function of the state vector to be regulated and stabilized, W ∈ R(2nc + nu + n)×(2nc + nu + n) is a weighting matrix, and u is the additional control effort. Note that the control signal to be computed in the / ∞ control problem is the additional control effort u , being u = TM (q ) u only its normalized value. Moreover, u = u (x, qu , t ) also depends on the remaining generalized coordinates, and not only on the state error vector x . The nonlinear time-varying / ∞ control problem for the entire underactuated mechanical system can be posed as follows: Find the smallest value γ * ≥ 0 such that for any γ ≥ γ * exists an additional control effort u = u (x, qu , t ), such that the 3 2 − gain from the disturbance signals d to the cost variable ζ = W [h′(x, t ) u′]′ is less than or equal to a given attenuation level γ, that is:
∫0
T
‖ζ‖22 dt ≤ γ 2
∫0
T
‖d‖22 dt.
(18)
From (17), the internal term of the integral expression on the left-hand side of inequality (18) can be written as ‖ζ‖22 = ζ ′ζ = [h′(x, t ) u′] W′W [h′(x, t ) u′]′. Besides, the following definitions are given: Definition 1. The symmetric positive definite matrix W′W can be partitioned as follows:
⎡Q S ⎤ W′W = ⎢ ⎥. ⎣ S′ R ⎦
(19)
Matrices Q and R are symmetric positive definite and the fact that W′W > guarantees that Q − SR −1S′ > . Definition 2. From (5) and (19), matrices Q ∈ R(nu + 2nc × nu + 2nc ) , S ∈ R(nu + 2nc × n) and R ∈ R(n × n) are structured as follows:
⎡Q Q ⎤ 12 Q 13 ⎢ 1 ⎥ Q = ⎢Q 12 Q 2 Q 23 ⎥, ⎢ ⎥ ⎣Q 13 Q 23 Q 3 ⎦
⎡ S11 S12 ⎤ ⎢ ⎥ S = ⎢ S 21 S 22 ⎥, ⎢⎣ S31 S32 ⎥⎦
⎡Ru ⎤ R=⎢ ⎥, ⎣ Rc ⎦
where Ru ∈ R nu × nu and R c ∈ R nc × nc . Remark 6. Matrix R is chosen as a block diagonal matrix, which will also allow to weight separately the control effort in both remaining and controlled dynamics. The solution of the / ∞ min–max optimization problem depends on the choice of the cost variable, ζ , and particularly on the selection of function h (x, t ). In this work, the function h (x, t ) is taken to be equal to the error vector, that is, h (x, t ) = x . Thus, the / ∞ min–max optimization problem consists in computing an additional control effort u = u (x, qu , t ) that minimizes the following cost functional:
J = ϕ (x (T ), qu (T ), T ) +
∫0
T
L (x, qu , u, t ) dt ,
(20)
where the disturbances try to maximize the following associated performance index:
1 1 L (x, qu , u, t ) − γ 2 ∥ d ∥2 2 2 1 1 1 ⎡x⎤ W ⎣⎢ ⎦⎥ = ‖ζ‖22 − γ 2‖d‖22 = u 2 2 2
L γ (x, qu , u, d, t ) =
2
− 2
1 2 γ ‖d‖22 , 2 (21)
which is a so-called parametrized soft-constrained cost function (Basar & Bernhard, 2008). The terms ϕ (x (T ) , qu (T ) , T ) and L (x, qu , u , t ) are the terminal cost and Lagrangian, respectively. Then, to perform that, the optimal cost-to-go function (also called the value function) concept is introduced as follows:
* (x, qu , u, d, t ) V (x, qu , t ) = J∞
= min
⎧ max ⎨ϕ (x (T ), qu (T ), T ) +
u (·)∈ 3 20 ≠ d (·)∈ 3 2 ⎩
∫0
T
⎫ L γ (x, qu , u, d, t ) dt ⎬ , ⎭ (22)
* is the best possible value of the cost functional when the where J∞ system covers the optimal trajectory from an initial state to a * desired one for the worst-case of the admissible disturbances. If J∞ is assumed continuously differentiable, Bellman's Principle of Optimality can be applied (Sontag, 1998). By defining the following Hamiltonian of optimization:
(
)
Hγ x, qu , u, d, px , pqu , t = px′ ẋ + pq′ u qu̇ + L γ , = with px =
∂V (x, qu, t ) ∂x
∂′V ∂′V ẋ + q̇ + L γ . ∂x ∂qu u
and pqu =
∂V (x, qu, t ) ∂qu
(23)
being the co-state vectors,
the problem has a (pure-strategy) saddle point solution if there exist u* ∈ and d* ∈ , such that it satisfies the so-called pair of saddle point inequalities:
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
(
)
( ≤ H (x, q , u, d*, p , p
Hγ x, qu , u*, d, px , pqu , t ≤ Hγ x, qu , u*, d*, px , pqu , t γ
u
x
qu ,
t
)
Theorem 1. Let V (x, qu , t ) be the parametrized scalar function:
) ∀
u ∈ , d ∈ ,
(24)
with and being the domains where the control input and the disturbances are defined, respectively, and it is verified that
(
min max Hγ x, qu , u, d, px , pqu , t u
d
)
(
)
= max min Hγ x, qu , u, d, px , pqu , t . d
u
Therefore, from (23) and the differential games theory (Basar & Bernhard, 2008) making use of Bellman's Principle of Optimality, the nonlinear / ∞ problem admits a solution if there exists a value function V (x, qu , t ), with x 0 = 0 and V (x 0, qu 0 , t ) ≡ 0 for t ≥ 0 and any qu 0 , that satisfies the following HJBI equation:
⎛ ∂′V ∂V = − max min ⎜ (f (x, qu , t ) + g (x, qu , t ) TM u + k (x, qu , t ) TM d ) u ⎝ ∂x ∂t d ⎞ ∂′V 1 1 1 qu̇ − γ 2d′d + x′Qx + x′Su + u′Ru⎟⎟ + ∂qu 2 2 2 ⎠ ⎛ ∂V ∂V ⎞ = − Hγ* ⎜x, qu , u*, d*, , , t ⎟, ∂x ∂qu ⎠ ⎝
(25)
where the pair (u*, d*) constitutes a saddle point solution of the proposed problem. Under these assumptions, the solution of the nonlinear state feedback / ∞ problem for underactuated mechanical systems can be reformulated as follows:
⎛ ⎛ ∂′V (x, q , t ) ⎞⎞ ∂′V (x, qu , t ) u u* = arg min ⎜max ⎜ ẋ + qu̇ + L γ ⎟ ⎟, u ⎝ d ⎝ ∂qu ∂x ⎠⎠ ⎛ ⎛ ∂′V (x, q , t ) ⎞⎞ ∂′V (x, qu , t ) u qu̇ + L γ ⎟ ⎟. d* = arg max ⎜min ⎜ ẋ + ∂qu ∂x d ⎝ u ⎝ ⎠⎠ For the particular case, where the performance index (21) presents a square functional dependence in u , it results in an explicit solution for the min–max problem. Thus, the worst-case of the admissible disturbances and the optimal state feedback control law are computed as follows:
∂V 1 d* = 2 T M ′ k (x, qu , t )′ , γ ∂x
(26)
⎛ ∂V ⎞ u* = − R −1 ⎜S′x + T M ′ g (x, qu , t )′ ⎟. ⎝ ∂x ⎠
(27)
V (x, qu , t ) =
1 ∂′V g (x, qu , t ) TM R −1S′x + x′ (Q − SR −1S′) x = 0, 2 ∂x
(28)
for each γ > σmax (R ) ≥ 0, where σmax stands for the maximum singular value. Thus, to obtain the additional control effort, u = u*, will require to find the solution, V (x, qu , t ), to the HJ equation (28), which is the Hamilton's principal function of the system. Through the following theorem, a solution is proposed:
(29)
⎡ ⎤ ⎥ + Q + 1 T ′T − (S′ + T )′R −1 (S′ + T ) = , ⎢ ⎢ K′⎥ γ2 ⎣ K ⎦
(30)
then, function V (x, qu , t ) constitutes a solution to the HJ equation (28), for a sufficiently high value of γ. Proof. See Appendix A. The suboptimal / ∞ control problem via state feedback control law for the entire underactuated mechanical system proposed in this work can be summarized by means of the following theorem, which is extended from Chen et al. (1994): Theorem 2. Let γ > 0 be a desired sufficiently large level attenuation value. Consider the differentiable value function V (x, qu , t ) ≥ 0 defined in Eq. (29) that satisfies the Hamilton–Jacobi equation (28), and matrices K and T verify Eq. (30), then the closed-loop system corresponding to the system formed by (13) and (17) with the control law (27) has 3 2 − gain (in the channel d↦ζ ) less than or equal to γ and it is uniformly bounded. Moreover, the closed-loop system is uniformly asymptotically stable with x → 0 if d ≡ 0. Proof. From Theorem 1, it is verified that the value function V (x, qu , t ) ≥ 0 defined in Eq. (29) is a solution to the HJ equation (28), and matrices K and T verify Eq. (30), which proofs the optimality of the control problem (see (A.14)). By considering the HJBI equation (25) with the worst-case of the admissible disturbances, d*, and the optimal feedback control law u*, (25) can be rewritten as follows: ∂V (x , qu , t )
∂′V (x , qu , t ) + (f (x , qu , t ) + g (x , qu , t ) TM u* + k (x , qu , t ) TM d *) ∂t ∂x ∂′V (x , qu , t ) 1 1 1 qu̇ − γ 2d *′d * + x′Qx + x′Su* + u*′Ru* ≤ 0, + 2 2 2 ∂qu
or equivalently: ∂V (x , qu , t )
1 ∂′V ⎡ 1 ∂V ∂′V ∂′V f (x, qu , t ) + qu̇ + + ′ k (x, qu , t )′ ⎢ k (x, qu , t ) TM T M 2 ∂x ⎣ γ 2 ∂t ∂x ∂qu ⎤ ∂V −g (x, qu , t ) TM R −1T M ′ g (x, qu , t )′⎥ ⎦ ∂x
⎡ Muu Muc ⎤ 1 ⎥ ⎢ x′To′ ⎢ Mcu Mcc ⎥ To x, 2 ⎣⎢ K ⎥⎦
where Muu , Muc , Mcu and Mcc form the inertia matrix of the system, and K ∈ R nc × nc is a constant, positive definite and symmetric matrix. To is defined in (7) and T is the matrix appearing in (16). If these matrices verify the following equation:
By replacing Eqs. (26) and (27) in (25), the following HJ equation is obtained:
−
237
∂t TM d *) +
+
∂V (x , qu , t )
∂x ∂′V (x , qu , t ) ∂qu
(f (x , qu , t ) + g (x , qu , t ) TM u* + k (x , qu , t )
qu̇
≤ −
1 1 ‖ζ * (t )‖22 + γ 2‖d * (t )‖22 , 2 2
(31)
which yields to 1
1
V̇ (x, qu , t ) ≤ − 2 ‖ζ * (t )‖22 + 2 γ 2‖d* (t )‖22 .
(32)
By integrating the above inequality from 0 to T, the / ∞ performance index is obtained:
∫0
T
‖ζ‖22 dt ≤ V (x 0, qu 0 , 0) + γ 2
∫0
T
‖d‖22 dt
∀ T ≥ 0,
(33)
which claims the 3 2 stability, and since 0 ≠ d ∈ 3 2, both x and u are uniformly bounded. If there are no disturbances acting on the system, d ≡ 0, the inequality (32) is reduced to
238
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
1
V̇ (x, qu , t ) ≤ − 2 ‖ζ * (t )‖22 < 0.
(34)
It can be verified assuming the cost variable (17), W′W > 0, Q = Q′ > 0, R = R′ > 0 and the optimal control law, u* = − R −1 (S′ + T ) x , (see (A.11)) obtained considering the value function V (x, qu , t ) defined in Eq. (29). Therefore, the inequality (34) yields to
V̇ (x, qu , t ) ≤ −
1 x′ (Q − SR −1S′ + T ′R −1T ) x < 0, 2
⎡ KD ⎤ su K D sc ⎥, KD = ⎢ ⎣ K D ru K D rc ⎦
⎡ K P ⎤ sc ⎥. KP = ⎢ ⎣ K Prc ⎦
A particular case can also be obtained when the elements of the weighting compound
P
(35)
provided that the symmetric matrix Q − SR −1S′ > 0. Thus, from the Lyapunov stability theory, since V (x, qu , t ) ≥ 0 and continuous and its time derivative V̇ (x, qu , t ) < 0, this value function constitutes a Lyapunov function. Therefore, the closedloop system, given by (13), (17) and (27) with (29), is stable in the Lyapunov sense. Furthermore, integrating (35) yields to t limt →∞ ∫ x′Px dt ≤ V (x 0, qu 0 , 0) − V (x∞, qu∞, ∞) < ∞. Accordingly, 0 t since P > 0 then limt →∞ ∫ ‖x‖2P dt exists and is finite, and from 0 Barbalat's lemma (Khalil, 2002) it can be concluded that limt →∞x = 0, which guarantees the uniform asymptotic stability of the closed-loop system. Moreover, expression (32) shows that the scalar function V (x, qu , t ) ≥ 0 is a storage function with supply rate 1 1 2 γ ‖d* (t )‖22 − 2 ‖ζ * (t )‖22 ( 3 2 − gain ), for the respective closed-loop 2 system.□ The algorithm to obtain the matrix T is the following: 1. Compute T11, T22 and T23 by solving the following Riccati algebraic equations:
γ 2 − ωus
γ 2 − ωur
Therefore, the analytical equations for the gain matrices can be expressed for the particular case as follows:
⎛ 1 ⎞ −1 K Dsu = Msu ⎜Csu + 2 ⎟, ωus ⎠ ⎝ ⎛ ⎞ ω ur ω1r −1 −1 1 ⎜Csc − Muc Mcc ⎟ K Dsc = Msu 2 2 ωur ⎠ γ 2 − ωur ⎝
2 γ 2 − ωus
⎛ ⎞ ω ur ω2r −1 −1 1 ⎜Csc − Muc Mcc ⎟ K Psc = Msu 2 2 ωur ⎝ ⎠ γ 2 − ωur
2 γ 2 − ωus
⎛ ⎞ ω us ω1s −1 −1 1 ⎜Cru − Mcu Muu ⎟ K D ru = Mrc 2 2 ωus ⎠ γ 2 − ωus ⎝ K D rc =
⎛ 1 ⎞ ω2r −1 ⎜Crc + 2 ⎟, + Mrc ω1r ωur ⎠ ⎝
Q2 +
1 T22 ′ T22 − (S 22 ′ + T22 )′R c−1 (S 22 ′ + T22 ) − S 21 R u−1S 21 ′ = , γ2
(37)
K Prc =
1 ⎞ ω2r −1 ⎛ Mrc ⎜Crc + 2 ⎟, ω1r ωur ⎠ ⎝
Q3 +
1 T23 ′ T23 − (S32 ′ + T23 )′R c−1 (S32 ′ + T23 ) − S31 R u−1S31 ′ = . γ2
(38)
= .
(39)
Once matrix T is computed, and from the optimal state feedback control law (27), the normalized additional control effort u * corresponding to the disturbance attenuation level γ is given by
u* = − TM R −1 (S′ + T ) x.
(40)
In this case, the suboptimal state feedback / ∞ control problem is solved, since the attenuation level γ is defined a priori to solve the above Riccati algebraic equations. Finally, if the additional control effort (40) is replaced into (11) under the assumption that d ≡ 0, and after some manipulations, the control acceleration can be obtained as follows:
˜ q¨ cont = q¨ d − KD q˜ ̇ − KP q,
(41)
γ 2 − ωur
⎛ ⎞ 2. Compute K using (39): K′ = − νμ ⎜ 2 − 2 ⎟. Since K > , ρ > 0, γ ωurobtained: ⎝ ⎠ and ν > 0, the following constraints are γ > ωur and γ > ωus .
(36)
1 ′ T23 − (S 22 ′ + T22 )′R c−1 (S32 ′ + T23 ) − S 21 R u−1S31 ′ T22 γ2
)
1. Compute ρ, ν and μ with Eqs. (36)–(38), respectively: γωus ω1s γωur ω2r γωur ω1r , ν= , μ= . ρ= 2 2 2
1 T11 ′ T11 − (S11 ′ + T11 )′R u−1 (S11 ′ + T11 ) − S12 R c−1S12 ′ = , γ2
2. Compute matrix K through the following equation:
)
2 2 , ωur . S = (nu + 2nc × n) , and R = blkdiag ωus In this case, the weighting matrices can be defined as T11 = ρ , T22 = ν and T23 = μ . Parameters ρ, ν and μ can be computed, using Riccati's equations presented before, as follows:
Q1 +
K′ + Q 23 +
(
Q = blkdiag ω12s , ω12r , ω22r ,
W′W verify
(
∀ t > 0,
x ≠ 0, qu ,
with
ω us ω1s
ω us ω1s 2 γ 2 − ωur
ω ur ω1r
,
,
,
where ω1r and ω1s are the weighting parameters of the velocity error of the regulated and stabilized dynamics, respectively; ω2r is the weighting value of position error of the regulated dynamics; and the additional control effort weighting for the regulated and stabilized DOF are ωur and ωus. Therefore, the nonlinear / ∞ controller proposed in this work is performed by calculating the necessary acceleration of the DOF to track the reference trajectory through the control acceleration (41). By substituting that equation in (4), the transformed torques for the underactuated mechanical system with input coupling are computed. By the definition of Γsu (q ), Γrc (q ), Γu = Fu τ and Γc = Fc τ , and assuming that F (q ) has full column rank, the applied torque τ can be obtained as follows:
(
−1 −1 τ = Fc−1 nc × nc − Mcu Muu Muc Mcc
−1
) (Γ
rc
)
−1 + Mcu Muu Γsu ,
(42)
where it considers the computed control signal on the controlled DOF taking into account the influence of the transformed control signal of the remaining DOF. For the particular case of the two-wheeled self-balanced vehicle, the proposed control strategy is applied as depicted in Fig. 2. Considering the system's dynamics presented in (4), the control acceleration (41) for two-wheeled self-balanced vehicle is obtained with the following nonlinear gains:
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
239
Fig. 2. Two-wheeled self-balanced vehicle's control structure.
⎡ Γsu (q)⎤ ⎡ Msu (q) O ⎤ ⎡ φ¨cont ⎤ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎣ Γrc (q) ⎦ ⎣ O Mrc (q)⎦ ⎣ θ¨cont ⎦
⎛⎛ ⎞−1 ⎞ (mlr cos θ )2 ⎟ ⎛ 1 ⎞ · ⎜ 2 ⎟, K Dsu = ⎜⎜ ⎜⎜Mr + m⎟⎟ r 2 + Ir − ml2 + Ip ⎟⎠ ⎝ ωus ⎠ ⎠ ⎝⎝
⎡Csu (q, q̇) Csc (q, q̇)⎤ ⎡ φ̇ ⎤ ⎡ Ksu (q, q̇)⎤ ⎡Gsu (q)⎤ ⎥; ⎥⎢ ⎥ + ⎢ ⎥+⎢ +⎢ ⎣Cru (q, q)̇ Crc (q, q̇)⎦ ⎣ θ ̇⎦ ⎣ Krc (q, q̇) ⎦ ⎣G rc (q) ⎦
⎛⎛ ⎞−1 ⎞ (mlr cos θ )2 ⎟ · K Dsc = ⎜⎜ ⎜⎜Mr + m⎟⎟ r 2 + Ir − 2 ml + Ip ⎟⎠ ⎠ ⎝⎝ ⎛ ⎞ ⎜ − mlr sin θθ ̇ − mlr cos θ 1 ⎟ ω ur ω1r ⎜ 2 ⎟ 2 ml2 + Ip ωur ⎝ ⎠ γ 2 − ωur
2 γ 2 − ωus
ω us ω1s
,
⎛ ⎞−1 l2 m2r 2 cos (θ )2 τ = − ⎜1 − ⎟ · 2 2 (ml + Ip)*((Mr + m) r + Ir ) ⎠ ⎝
⎛⎛ ⎞−1 ⎞ (mlr cos θ )2 ⎟ · K Psc = ⎜⎜ ⎜⎜Mr + m⎟⎟ r 2 + Ir − ml2 + Ip ⎟⎠ ⎠ ⎝⎝ ⎛ ⎞ ⎜⎜ − mlr sin θθ ̇ − mlr cos θ 1 ⎟⎟ ω ur ω 2r 2 2 2 2 ω ml I + ⎝ p ur ⎠ γ − ω ur
2. Compute the applied torque, τ:
2 γ 2 − ωus
ω us ω1s
,
⎞ ⎛ mlr cos θ Γsu ⎟. ⎜Γrc + ⎝ (Mr + m) r 2 + Ir ⎠
⎛ (mlr cos θ )2 ⎞ K D ru = ⎜ml2 + Ip − ⎟ · 2 ⎝ (Mr + m) r + Ir ⎠ −1
⎛ 1 ⎞ ω us ω1s mlr cos θ ⎟ ⎜− 2 2 ⎠ γ 2 − ωus ⎝ (Mr + m) r 2 + Ir ωus
2 γ 2 − ωur
ω ur ω1r
,
−1 ⎛ (mlr cos θ )2 ⎞ ω 2r + ⎜ml2 + Ip − ⎟ · 2 ω1r ⎝ (Mr + m) r + Ir ⎠ ⎛ (mlr )2 sin θ cos θθ ̇ 1 ⎞ ⎜ + 2 ⎟, ωur ⎠ ⎝ (Mr + m) r 2 + Ir
K D rc =
K P rc =
−1 (mlr cos θ )2 ⎞ ⎛ (mlr )2 sin θ cos θθ ̇ 1 ⎞ ω 2r ⎛ 2 + 2 ⎟. ⎟ ·⎜ ⎜ml + Ip − 2 2 ω1r ⎝ ωur ⎠ (Mr + m) r + Ir ⎠ ⎝ (Mr + m) r + Ir
After the computation of the control acceleration, the following steps are performed: 1. Compute the normalized generalized torques, Γ :
5. Experimental results In this section, the preceding nonlinear / ∞ controller, designed for underactuated mechanical systems under input coupling, is applied to the two-wheeled self-balanced vehicle in order to achieve robustness in the presence of external disturbances and unmodeled dynamics. To corroborate the benefits of the proposed controller, two experiments have been carried out with the twowheeled self-balanced vehicle illustrated in Fig. 1(b). The model parameters of the vehicle are presented in Table 1. The weighting parameters of the proposed nonlinear / ∞ have been adjusted with the following values: ω1s = 0.4 , ω1r = 2, ω2r = 15, ωus = 0.4 , ωur = 0.35, γ = 5. The first experimental result has been obtained with the vehicle at a static initial inclination angle θ ≈ 76°, as shown in Fig. 3(a) and (b). These results show the capacity of the controller to lead the system to the equilibrium point θd = 0○, with steady angular velocity of wheels
Fig. 3. First experimental result with the two-wheeled self-balanced vehicle. (a) Two-wheeled vehicle angular position, θ, and angular rate, θ ̇. (b) Motors axle angular rate, φ̇ , and the applied torque, τ.
240
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
equals to zero, φ̇d = 0 rad/s. It can be observed that the vehicle is quickly regulated and remained around the operation point, without causing saturation of the control signal. In the second experiment, the vehicle has been subjected to heavier conditions to corroborate the robustness of the controller when it is under the influence of external disturbances. Furthermore, the vehicle has been initialized at the horizontal position, which verifies the good features of the nonlinear controller to deal with angular positions far away from the upper vertical position. Experimental results obtained on that second test are presented in Fig. 4(a) and (b). The experiment consists on a first stage in which the nonlinear / ∞ controller is able to bring up the self-balanced vehicle from a static initial approximated position of 60° to the vertical position, as shown in Fig. 4(a), through the angular position graph. This is achieved in a small settling time, and the pendulum is maintained controlled around the operation point. In a second stage of the experiment, the vehicle receives six momentary external disturbances approximately every 5 s. These disturbances have been sketched at the top of Fig. 4(a), where each arrow illustrates the moment in which an external force is applied and its direction. On each disturbance the vehicle is struck on the upper side of the pendulum which implies not only a fall over the position of the pendulum but the whole vehicle is pushed and displaced generating a rotation on the wheels. This is due to the fact that in a first moment the torque applied to the pendulum by the disturbance enforces a turn with φ̇ getting the opposite direction, but as soon as the controller tries to compensate it, if the disturbance persists, the whole vehicle is pushed and moves in the same direction. Thus, the disturbances affect both pendulum and motors axle angles in the same direction as they are given. Applied the disturbances, the controller is capable to reject all of them even when the disturbances led the angular position of the pendulum to 48° approximately. After the transient caused by the disturbances, on the last 10 s of the experiment, the pendulum has been led again to the vertical position with null angular velocity φ̇ in steady-state. Fig. 4(b) shows the temporal response of the motors axle angular rate, φ̇ , and the applied torque, τ, accordingly with the experiment described. As can be observed in that angular rate graph, the velocity of the motors tends to the desired value, φ̇d = 0 rad/s. It can also be observed in Fig. 4(b) the smooth input control signal, τ, generated by the nonlinear / ∞ controller.
Commission (EC) (FeedNetBack Project, Grant agreement 223866), and the Brazilian agencies CNPq and CAPES for funding this work.
Appendix A. Proof of Theorem 1 Firstly, it is necessary to show that the scalar function V (x, qu , t ) is positive definite. Thus, under the assumption that K > and since M (q ) > 0, the theorem assumption is verified, i.e., ⎡ M (q ) ⎤ ⎢ ⎥ ⎥ > . ⎢ ⎢⎣ K ⎥⎦
Next, the hypothesis that the scalar function V (x, qu , t ) constitutes a solution of the Hamilton–Jacobi equation is proven. First, to verify that V (x, qu , t ) is a function of x , qu , and t, M (q ) must also be function of them. Thus, M (q ) ≡ M (qc , qu ) ≡ M (q˜c + qcd (t ) , qu ) ≡ M (x, qu , t ), which is a function of the error vector, x , the remaining degrees of freedom position, qu , considered as a time varying parameter, and time, t. The time derivative of the inertia matrix is given by dM (q˜ c + qc (t ) , qu ) dM (q ) d = dt dt nc =
∑ k =1
nc nu ∂′M (q ) ̇ ∂′M (q ) ∂′M (q ) q˜ k + ∑ q̇ + ∑ q̇ , ∂q˜ k c ∂q k c dk ∂q k u k k =1 c k =1 c u d
and, as qcd (t ) is only a function of time, the partial derivative of M (q ) with respect to t is obtained as follows:
∂M (x, qu , t ) ∂M (q) = = ∂t ∂t
nc
∑ k=1
∂′M (q) q̇ k. ∂q c k cd
Therefore, disregarding the functional dependence, partial derivatives of V are solved separately as follows, in order to verify that V is a solution to the HJ equation (28). The partial derivative of V (x, qu, t ) with respect to time is ⎡ nc ⎤ ⎢ ∑ ∂′M q ̇ ⎥ ⎢ ⎥ ∂V 1 ∂q k c dk = x ′To ′ ⎢k = 1 c ⎥ To x . ∂t 2 ⎢ ⎥ ⎥ ⎣⎢ ⎦
(A.1)
The gradient of V (x, qu, t ) with respect to the error vector, x , is 6. Conclusions In this paper, a new approach of the nonlinear / ∞ control design for a class of underactuated mechanical system under input coupling has been presented. To derive the proposed controller, a normalization of the equations of motion of the system has been used, which allows to consider the dynamics of the remaining DOF in the / ∞ control design. The control law ensures the stability of the remaining DOF, while guides the controlled one to some equilibrium point. Moreover, it enables to weigh the velocity error of the DOF through different criteria. This controller has been implemented in a real two-wheeled self-balanced vehicle. Experimental results have been carried out with this vehicle, which showed the capacity of the controller to bring up the vehicle from extreme initial conditions to the upper vertical position in a short response time. Furthermore, the controller is capable to reject external disturbances affecting the system and leads the error to zero at steady-state.
given by ⎞ ⎛ ⎟ ⎜ ⎜ ⎡M ⎡M ⎤ ⎤⎟ 1 ∂′V ∂′ ⎜ ⎢ ⎟ ⎥ ⎢ ⎥ = x ′To ′⎢ ′ ⎥ To + x ′To ⎥ ⎟ To x , ⎜ ⎢ 2 ∂x ∂x ⎣ K⎦ ⎜ ⎣ K ⎦⎟ ⎟⎟ ⎜⎜ ⎠ ⎝ w
where
⎛ ∂′w ∂′w ∂′w ⎞ ⎛ ∂′w ∂′w ⎞ ⎟ = ⎜ , , , , ⎟, =⎜ ∂x ∂q˜ c ⎠ ⎝ ∂q˜ u̇ ∂q˜ ċ ∂q˜ c ⎠ ⎝
(A.3)
with the zero matrices, , in the last expression, of dimension nu + 2nc × nu + 2nc . Then, the unique term that is needed to be computed is ⎤ ⎡ ∂M ⎤⎞ ⎛ ⎡ ∂′M ⎥ ⎥⎟ ⎜⎢ ⎢ ′ ∂′w ⎜ ∂q˜ ⎥ , … , ⎢ ∂q˜ c n c ⎥ ⎟. = ⎜ ⎢⎢ c 1 ⎥ ⎢ ⎥⎟ ∂q˜ c ⎥⎟ ⎥ ⎜⎢ ⎢ ⎝⎣ ⎦ ⎣ ⎦⎠
Acknowledgments Thus, Eq. (A.2) can be written as follows: The authors would like to acknowledge MCyT (Grants DPI200764697, DPI2010-19154, and DPI2012-37580-C02-02), the European
(A.2)
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
⎡M ⎤ ∂′V 1 ⎥ = x′To′ ⎢ ⎥ To + ⎡⎣1 × nu , 1 × nc , Ω1 × nc ⎤⎦, ⎢ 2 ∂x ⎣ K⎦
(A.4)
where Ω = x′To′ (∂′w /∂q˜c ) To x . Therefore, multiplying (A.4) by ẋ given by (13) results in
)
(
)
(A.5)
Moreover, it is easy to verify that
=
⎡⎣ 1 × n , 1 × n , Ω⎤⎦· gu + kd = 0, u c
(
)
(
)
(
(A.6)
(
⎡ 1 ⎤ ⎥ ⎢− 2 5 x′To′ ⎢ T x = 0. ⎥ o ⎢⎣ ⎥ ⎦
)
Using the property of the time derivative of M (q ) stated in Section 3, the last expression can be written as follows: ⎤ ⎥ 1⎡ ⎥ ⎤ ̇ ⎥ To x + 2 ⎣ 1 × nu, 1 × n c , Ω⎦· x , ⎥ −1 − KT −1T KT 22 23 ⎦ 22
(A.7)
with
1⎡ 1 ⎣1 × nu , 1 × nc , Ω⎤⎦ ẋ = ⎡⎣1 × nu , 1 × nc , Ω⎤⎦ ⎡⎣q˜¨u′ q˜¨c′ q˜ ċ ′ ⎤⎦′ 2 2 ⎡ nc ∂′M ̇ ⎤ ̇ ⎥ ⎢∑k = 1 ∂qc k (q c k − q cdk ) 1 1 = Ωq˜ ċ = x′To′ ⎢ ⎥ To x. ⎥ 2 2 ⎢ ⎣ ⎦
The gradient of V (x, qu, t ) with respect to the remaining DOF, qu , ⎡ nu ∂′M ⎤ ⎥ ⎢ ∑ k = 1 ∂q ∂ ′V 1 k u ⎢ ⎥ To x, ′ = x′To ⎢ ∂q u 2 ⎥ ⎢⎣ ⎥ ⎦
⎤ ⎥ ⎥T x ⎥ o −1 − KT −1T ⎥ KT 22 23 ⎦ 22
Taking into account that matrix 5 is skew-symmetric and due to the particular structure of To , the following equality is verified:
⎡− C ⎤ ⎢ ⎥ 1⎡ ⎤ = x ′To ′⎢ ⎥ To x + ⎣1 × nu, 1 × n c , Ω⎦ · ẋ . 2 ⎢ KT −1 − KT −1T ⎥ 23 ⎣ ⎦ 22 22
is given by
)
⎤ ⎡ 1 ⎥ ⎢− 2 5 ̇ ⎥ To x. V = x′T ′u + x′T ′d + x′To′ ⎢ ⎥ ⎢ −1 −1 KT 22 − KT 22 T23 ⎦ ⎣
⎡ ⎤ ¯ −1C¯ ⎡M ⎤ ⎢− M ⎥ ⎥ −1⎢ ⎥ To x = x ′To ′ ⎢⎢ ⎥ To × T o ⎢ ⎥ ⎣ K⎦ T −1 − T −1T 23 ⎥⎦ ⎢⎣ 22 22 1 + ⎡⎣1 × nu, 1 × n c , Ω⎤⎦ · f 2 ⎡ ⎤ −1 ⎡M ⎤ ⎢− M C ⎥ ⎥ ⎥ To x = x ′To ′ ⎢⎢ ⎥ × ⎢ ⎢ −1 − T −1T ⎥⎥ ⎣ K⎦ ⎢ T ⎣ 22 22 23 ⎦ 1 + ⎡⎣1 × nu, 1 × n c , Ω⎤⎦ · f + ⎡⎣1 × nu, 1 × n c , Ω⎤⎦ · gu + kd 2
⎡ 1 ̇ M−5 ⎡ Ṁ ⎢− ⎤ 1 ⎥T x x T′ ⎢ 2 x′To′ ⎢⎢ + ′ ⎥ o o⎢ 2 ⎣ ⎦ ⎢ ⎣
(
= x′T ′u + x′T ′d +
⎡M ⎡ ⎤⎞ ⎛ ⎤ 1⎢ ∂′V ⎥ ⎥⎟ f = ⎜⎜x ′To ′ ⎢⎢ ⎥ To + ⎢1 × nu, 1 × n c , Ω⎥ ⎟ f 2 ∂x ⎣ K⎦ ⎣ ⎦⎠ ⎝
)
)
⎡ n c ∂′M ⎤ ⎡ nu ∂′M ⎤ ⎥ ⎥ ⎢ ∑ k = 1 ∂q (q ̇ c k − q ̇ c k ) ⎢ ∑ k = 1 ∂q q ̇ u k 1 1 k k d ⎢ ⎥ ⎢ ⎥ To x c u ′ ′ To x + x′To + x′To ⎢ ⎢ 2 2 ⎥ ⎥ ⎢⎣ ⎥⎦ ⎢⎣ ⎥ ⎦
with T defined in (12). The first part of (A.5) is computed as follows:
(
⎡ n c ∂′M ⎤ ⎥ ⎢ ∑ k = 1 ∂q q ̇ c k 1 ⎥ To x + x′T ′u + x′T ′d ck d x′To′ ⎢ ⎢ 2 ⎥ ⎢⎣ ⎥ ⎦ ⎡ 1 ̇ ⎤ ⎢− 2 M − 5 ⎥ ⎢ ⎥T x + x′To′ ⎢ ⎥ o −1 − KT −1T ⎥ ⎢ KT ⎣ 22 22 23 ⎦
)
⎡M ⎤ ⎡ −1 ⎤ ⎥ ¯ ⎥ T M (u + d ) = x ′To ′ ⎢⎢ ⎥· ⎢ M ⎣ K ⎦ ⎣ ⎦ = x ′T ′u + x ′T ′d ,
⎡ 1 Ṁ − 5 ⎢− ∂ ′V ⎢ 2 f = x′To′ ⎢ ∂x ⎢ ⎣
∂V ∂ ′V ̇ ∂ ′V ̇ x+ qu + ∂t ∂x ∂q u
(
and consequently, the second part of (A.5) is given by ⎡ −1 ⎤ ⎡M ⎥ ⎤ ⎢ Msu ∂′V ⎥ −1· ⎢ gu + kd = x ′To ′ ⎢⎢ ⎥ · To· T o −1⎥ u + d M rc ⎥ ∂x ⎢ ⎣ K⎦ ⎣⎢ ⎥⎦
(A.8)
as follows: V̇ =
∂′V ∂′V ∂′V f + gu + kd = f+ gu + kd . ∂x ∂x ∂x
(
⎡ nu ⎤ ⎢ ∑ ∂′M q̇ ⎥ uk ⎢ ⎥ 1 ∂ ′V q ∂ ̇ = x′To′ ⎢ k = 1 uk qu ⎥ To x. 2 ∂q u ⎢ ⎥ ⎢⎣ ⎥⎦
Therefore, the time derivative of equation V (x, qu , t ) is obtained
⎡M ⎞ ⎛ ⎤ ∂′V ̇ ⎜ 1 ⎥ ⎟ x = ⎜x ′To ′ ⎢⎢ ⎥ To + [1 × nu, 1 × n c , Ω] ⎟ · ẋ ∂x 2 ⎣ K⎦ ⎠ ⎝ =
241
Thus, substituting this expression in the preceding equation yields to ⎤ ⎡ 1 ⎥ ⎢− 2 ⎥ T x. ⎢ ̇ V = x′T ′u + x′T ′d + x′To′ ⎥ o ⎢ ⎥ ⎢ −1 −1 ⎣ KT22 − KT22 T23 ⎦ ⎡ ⎤ = x′T ′u + x′T ′d + x′ ⎢ ⎥ x ⎢ ⎥ ⎣ K ⎦
= x′T ′u + x′T ′d +
⎛ ⎡ ⎤ ⎡ ⎤ ⎞ 1 ⎜⎢ x′ ⎥ + ⎢ K′⎥ ⎟ x ⎥ ⎢ ⎥⎟ 2 ⎜⎝ ⎢⎣ K ⎦ ⎣ ⎦ ⎠
= x′T ′u + x′T ′d +
⎡ ⎤ 1 ⎢ x′ ⎢ K′⎥⎥ x . 2 ⎣ K ⎦
(A.9)
By replacing the gradient of V with respect to x into (26) and (27), the worst-case of the admissible disturbances d*, and the optimal control effort u* to the candidate value function are obtained as follows:
d* =
1 Tx, γ2
(A.10)
which gives
u* = − R −1 (S′ + T ) x, which are substituted into (A.9):
(A.11)
242
G.V. Raffo et al. / Control Engineering Practice 44 (2015) 231–242
Fig. 4. Second experimental result with the two-wheeled self-balanced vehicle. (a) Moment of external disturbances, two-wheeled vehicle angular position, θ, and angular rate, θ ̇. (b) Motors axle angular rate, φ̇ , and the applied torque, τ.
V̇ = − x′T ′R −1 (S′ + T ) x +
⎡ ⎤ 1 1 x′T ′Tx + x′ ⎢ K′⎥ x. 2 ⎥ γ 2 ⎢⎣ K ⎦
(A.12)
Applying u* and d* to the associated performance index (21) gives
Lγ =
⎞ 1 ⎛ 1 x′ ⎜Q − SR −1S′ + T ′R −1T − 2 T ′T ⎟ x. γ 2 ⎝ ⎠
(A.13)
Thus, the HJ equation (28) is satisfied for u = u* and d = d* if
⎛ ∂V (x, qu ) ∂V (x, qu , t ) ⎞ ∂V , , t⎟ + Hγ ⎜x, qu , u*, d*, ∂t ∂x ∂qu ⎝ ⎠ ∂V (x, qu , t ) ∂′V (x, qu , t ) ∂V qu̇ + L γ ẋ + + ∂qu ∂t ∂x ⎛ ⎛ ⎡ ⎤ 1 1 = x′ ⎜ ⎢ K′⎥ + Q + 2 T ′T − (S′ + T )′R −1 ⎜S′ + ⎜ ⎥ γ 2 ⎜⎝ ⎢⎣ ⎝ K ⎦ =
= 0.
⎞⎞ T ⎟⎟x ⎟⎟ ⎠⎠ (A.14)
Thus, V (x, qu , t ) is a solution to the Hamilton–Jacobi equation (28) for u = u* and d = d*, which proves Theorem 1.□
References Acosta, J. A., Aracil, J., & Gordillo, F. (2002). Nonlinear control strategies for the Furuta pendulum. Control and Intelligent Systems, 29(3), 101–107. Anderson, D. P. (2002). nBot balancing robot. Technical report. Southern Methodist University. URL: 〈http://www.geology.smu.edu/ dpa-www/robo/nbot/index. html〉. Aström, K., & Furuta, K. (2000). Swinging up a pendulum by energy control. Automatica, 36(2), 287–295. Basar, T., & Bernhard, P. (2008). / ∞ optimal control and related minimax design problems: A dynamic game approach (2nd ed.). Boston: Birkhäuser. Chen, B. S., Lee, T. S., & Feng, J. H. (1994). A nonlinear / ∞ control design in robotic systems under parameter perturbation and external disturbance. International Journal of Control, 59(2), 439–461. Feng, W., & Postlethwaite, I. (1994). Robust nonlinear / ∞/adaptative control of
robot manipulator motion. Proceedings of the Institution of Mechanical Engineers, 208, 221–230. Gordillo, F., & Aracil, J. (2008). A new controller for the inverted pendulum on a cart. International Journal of Robust and Nonlinear Control, 18(17), 1607–1621. Helton, J. W., & James, M. R. (1999). Extending / ∞ control to nonlinear systems. Philadelphia, USA: SIAM. Johansson, R. (1990). Quadratic optimization of motion coordination and control. IEEE Transactions on Automatic Control, 35(November (11)), 1197–1208. Kelly, R., Santibáñez, V., & Loría, A. (2005). Control of robot manipulators in joint space. Germany: Springer-Verlag. Khalil, H. K. (2002). Nonlinear systems (3rd ed.). New Jersey, USA: Prentice Hall. Madero, V., Aracil, J., & Gordillo, F. (2010). A nonlinear control law for two-wheeled self-balanced vehicles. Proceedings of the 15th IEEE Mediterranean electrotechnical conference (pp. 1557–1562). MELECON'2010, Valleta, Malta. Mazenc, F., & Bowong, S. (2003). Tracking trajectories of the cart-pendulum system. Automatica, 39(4), 677–684. Olfati-Saber, R. (2001). Nonlinear control of underactuated mechanical systems with application to robotics and aerospace vehicles (Ph.D. thesis). Massachusetts Institute of Technology. Ortega, M. G., Vargas, M., Vivas, C., & Rubio, F. R. (2005). Robustness improvement of a nonlinear / ∞ controller for robot manipulators via saturation functions. Journal of Robotic Systems, 22(8), 421–437. Pathak, K., Franch, J., & Agrawal, S. (2005). Velocity and position control of a wheeled inverted pendulum by partial feedback linearization. IEEE Transactions on Robotics, 21(June (3)), 505–513. Raffo, G. V., Madero, V., & Ortega, M. G. (2010). An application of the underactuated nonlinear / ∞ controller to two-wheeled self-balanced vehicles. Proceedings of the 15th IEEE international conference on emerging technologies and factory automation (pp. 1–6). ETFA'2010, Bilbao, Spain, September. Raffo, G. V., Ortega, M. G., & Rubio, F. R. (2007). Nonlinear / ∞ control applied to the personal pendulum car. Proceedings of the European control conference (pp. 2065–2070). ECC'07, Kos, Greece, July. Raffo, G. V., Ortega, M. G., & Rubio, F. R. (2011). Path tracking of a UAV via an underactuated / ∞ control strategy. European Journal of Control, 17(2), 194–213. Siqueira, A. A. G., & Terra, M. H. (2004a). Nonlinear and Markovian / ∞ controls of underactuated manipulators. IEEE Transactions on Control Systems Technology, 12(6), 811–826. Siqueira, A. A. G., & Terra, M. H. (2004b). Nonlinear / ∞ control for underactuated manipulators with robustness tests. Revista de Controle & Automação, 15(3), 339–350. Sontag, E. (1998). Mathematical control theory. Deterministic finite-dimensional systems (2nd ed.). New York, USA: Springer-Verlag. Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2006). Robot modeling and control. USA: John Wiley & Sons, Inc. van-der-Schaft, A. (2000). L2-gain and passivity techniques in nonlinear control (2nd ed.). New York: Springer-Verlag.