Systems & Control Letters 62 (2013) 234–241
Contents lists available at SciVerse ScienceDirect
Systems & Control Letters journal homepage: www.elsevier.com/locate/sysconle
Adaptive stabilization and tracking control of a nonholonomic mobile robot with input saturation and disturbance Jiangshuai Huang a , Changyun Wen a , Wei Wang b,∗ , Zhong-Ping Jiang c a
Nanyang Technological University, School of Electrical and Electronic Engineering, Singapore, 639798, Singapore
b
Department of Automation, Tsinghua University, Beijing, 100084, China
c
Department of Electrical and Computer Engineering, Polytechnical Institute of New York University, Brooklyn, NY, 11201, USA
article
info
Article history: Received 6 March 2012 Received in revised form 20 November 2012 Accepted 22 November 2012 Available online 16 January 2013 Keywords: Nonholonomic mobile robot Input saturation
abstract In this paper, we deal with the problem of global tracking and stabilization control of internally damped mobile robots with unknown parameters, and subject to input torque saturation and external disturbances. To overcome the difficulties due to these factors, a new adaptive scheme is proposed to ensure the bounds of the control torques as functions of only design parameters and reference trajectories and thus computable in advance. Then suitable design parameters are determined so that such bounds are within the given saturation limits. To compensate for the disturbances, we estimate their unknown bounds and employ the estimates in controller design. System stability, perfect tracking and stabilization to the origin are established. Simulation studies conducted also verify the effectiveness of the proposed scheme. © 2012 Elsevier B.V. All rights reserved.
1. Introduction The two-wheeled mobile robot, a two-input three-output system, is one of the well-known benchmark nonholonomic systems, which leads to the development of various novel controller design schemes. Much effort has been devoted to the stabilization and tracking of this dynamic system, see [1–3] and the references therein. By means of Brockett’s necessary condition [4] for asymptotic stabilization, there exists no continuous time-invariant statefeedback controller that asymptotically stabilizes the mobile robot. Therefore, the previous abundant literature aims at developing suitable time-varying controllers for mobile robots. In [5,6] the stabilization problem is dealt with for a driftless controllable system using the bounded state-feedback approach. In [7], the control of nonlinear systems which can be transformed to a chained form is studied. Based on this, application to the nonholonomic mobile robots is presented. In [8], the tracking control problem for the nonholonomic mobile robots in a chained form is addressed by incorporating a recursive technique. In [9] the backstepping technique is introduced to the control of nonholonomic mobile robots. In [10] the simultaneous stabilization and tracking problem of mobile robots is studied when saturation is imposed on linear and angular velocities. In practice, a mobile robot is ultimately driven by
∗
Corresponding author. Tel.: +86(10) 62785845-283; fax: +86(10) 62773789. E-mail addresses:
[email protected] (J. Huang),
[email protected] (C. Wen),
[email protected] (W. Wang),
[email protected] (Z.-P. Jiang). 0167-6911/$ – see front matter © 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.sysconle.2012.11.020
a motor which can only provide a limited amount of torque. Thus the magnitude of the control signal is always constrained. It often severely limits system performance, giving rise to undesirable inaccuracy or leading to instability [11,12]. The development of an adaptive control scheme for a two-wheeled mobile robot with input saturation has been a task of major practical interest as well as theoretical significance. As far as we know, the stabilization and tracking of a nonholonomic mobile robot in the presence of input saturation and external disturbance is rarely addressed in past literature. In [13], a passivity-based, saturated, smooth feedback controller is designed based on the kinematic model of a mobile robot. However, there has been no result addressing the issue of input torque saturation at the dynamic model level for a wheeled mobile robot due to the difficulty of the problem. Also there has been no consideration to external disturbances. The main challenge is how to handle the effects of unknown parameters, the saturation and the external disturbance to achieve internal asymptotic stability and desirable performance. In this paper, we consider these effects in solving the stabilization and tracking problem for a wheeled mobile robot. By exploiting the special structure of the mobile robot, a new control scheme is proposed to design controllers and parameter estimators. Through normalizing certain signals appropriately, we are able to make the designed ‘saturated’ torques bounded by functions of design parameters and reference trajectories only. In this way, we can compute the bounds in advance and thus ensure them to be within the saturation limits by suitably choosing the design parameters. Therefore with these parameters, the
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
control torques are free of saturation and the control law for the ‘saturated’ torque is the control law we need. To compensate for the disturbances, we estimate their unknown bounds and employ the estimates in controller design. This enables us to achieve perfect tracking of reference trajectories or stabilization to the origin, in addition to the system stability. To illustrate the controller design procedure, simulation studies are conducted for the set-point stabilization and the tracking of a line and a circle in a plane. The obtained numerical results are in line with our theoretical findings. The remainder of the paper is organized as follows. In Section 2, we present the system model of a wheeled mobile robot and formulate the stabilization and tracking control problem. In Section 3, we develop control laws and parameter estimation laws. By studying the resulting closed loop system, our main results are established. In Section 4, simulation results are presented. Finally, some brief concluding remarks are given in Section 5. 2. System model and problem statement We consider a wheeled mobile robot shown in Fig. 1 which is described by the following kinematic and dynamic models
η˙ = J (η)ω Mω ˙ + C (η)ω ˙ + Dω + ε¯ = sat (τ )
(1) (2)
where η = (x, y, φ) denotes the position and orientation of the robot, ω = (ω1 , ω2 )T denotes the angular velocities of the left and right wheels, τ = (τ1 , τ2 )T represents the control torques applied to the wheels, and M is a symmetric, positive definite inertia matrix, C (η) ˙ is the centripetal and Coriolis matrix, D denotes the surface friction, and ε¯ represents external timevarying disturbances. The expressions of J (η), M , C (η) ˙ and D are the same as those in [14], which are also given as below for completeness cos φ J (η) = sin φ 2 b −1
cos φ sin φ , −b − 1
r
C (η) ˙ =
0 −c φ˙
c φ˙ , 0
m11 m12
M =
D=
d11 0
0 d22
m12 m11
where uMi is a known saturation bound of τi . Let v and w denote the linear and angular velocities of the robot, respectively. Then the relationship between ω1 , ω2 and v , w is described as follows
(v, w) = B (ω1 , ω2 ) ,
L(η) =
1 1 B= r 1
0 0 , 1
ϖ = [v w]T .
(5)
Let B¯ =
1 −b r −b
−1 1
.
¯ (η) It is obvious that C (η) ˙ B = BC ˙ and thus we can replace C (η) ˙ B in ¯ (η) (4) by BC ˙ . Multiplying (4) by B¯ −1 MB, we get η˙ = L(η)ϖ (6) ¯ Rϖ ˙ = −C (w)ϖ − DR ϖ + ε + BR sat (τ ) (7) where R = −B¯ −1 MB, C¯ (w) = −C (w), DR = −B¯ −1 DB, BR = −B¯ −1 and R is a positive definite matrix, ε = −B¯ −1 ε¯ is a disturbances-like signal. Explicitly, we have R=
(m11 + m12 )/b 0
d11 + d22
2
1 BR = 2b b
2 b(d11 + d22 ) ,
r
0 , (m11 − m12 )b
d11 − d22
DR = d 2b 11 − d22
(8)
2 1
−b
.
Now let (xr , yr , φr )T denote the desired reference position and orientation of the virtual robot the motion of which is described by:
φe
|τi | ≥ uMi |τi | < uMi
T
cos φ sin φ 0
xe ye
In these expressions, b is the half width of the mobile robot and r is the radius of the wheel, d is the distance between the center of the mass, PF c, of the robot and the middle point between the left and right wheels, Ic , Iw and Im are the moments of inertia of the body about the vertical axis through Pc , the wheel with a motor about the wheel axis, and the wheel with a motor about the diameter, respectively. The positive constants dii , i = 1, 2, are the damping coefficients. sat (τ ) represents the input torques subject to saturation described by sat (τ ) = {sat (τ1 ), sat (τ2 )}T and
−1
where
c = 0.5b−1 r 2 mc d.
T
(4)
virtual robot. As often done in control of mobile robot [15], we define xe , ye and φe as
I = mc d2 + 2mw b2 + Ic + 2Im
sign(τi )uMi
ϖ ˙ = −B−1 M −1 C (η) ˙ Bϖ − B−1 M −1 DBϖ −1 −1 + B M ε¯ + B−1 M −1 sat (τ )
φ˙r = wr (9) where vr and wr denote the linear and angular velocities of the
m = mc + 2mw
τi
η˙ = L(η)ϖ
y˙r = vr sin φr
m12 = 0.25b−2 r 2 (mb2 − I )
Substituting (3) into (1), we get
x˙r = vr cos φr
m11 = 0.25b−2 r 2 (mb2 + I ) + Iw
sat (τi ) =
235
b . −b
(3)
=
cos φ − sin φ 0
sin φ cos φ 0
0 0 1
x − xr y − yr
φ − φr
(10)
which describe the tracking errors between the actual robot position, direction and those of the virtual robot. It can be directly checked that these tracking errors satisfy the following differential equations:
x˙e wye + v − vr cos φe y˙e = −w xe + vr sin φe . w − wr φ˙e
(11)
The control objective is to find torque τ applied to the mobile robot, which is subject to saturation, to ensure the desired reference trajectories are tracked in the presence of external disturbances. If vr and wr are zero or both converge to zero as t → ∞, the tracking problem becomes set-point stabilization of robots according to (10). To solve the control problem, we need the following assumptions: Assumption 1. The reference linear and angular velocities vr and wr and their first-order derivatives are bounded. Assumption 2. The unknown parameters of the mobile robot are in known compact sets.
236
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
Define the virtual control error v˜ and w ˜ as
v˜ = v − vc , w ˜ = w − wc (15) where vc and wc are the virtual controls designed for v and w . We have x˙e y˙e
φ˙¯e
(wc + w) ˜ ye + vc + v˜ + f1 k(t )vr ye −(wc + w) ˜ xe − + f2 = . (16) Γ 1 k(t )xe k(t )xe ye (wc + w) ˜ 1− + f3 − (vc + v˜ ) Γ1 Γ1 2 Γ2
Define a Lyapunov function V0 =
Fig. 1. A two-wheeled nonholonomic mobile robot.
Assumption 3. The disturbances are bounded, namely, ε1 < E1 and ε2 < E2 where E1 and E2 are positive constants. To compensate for the effects of the disturbances, we will obtain an adaptive law to estimate the unknown bounds E = (E1 , E2 )T for the design of controllers. 3. Controller design The controller design is divided into two steps. Firstly we develop virtual control laws for v and w based on the kinematic model in such a way that the mobile robot will follow the preestablished reference trajectory. Secondly we derive a design law for sat (τ ) based on the dynamic model of (2) so that v and w would converge to the designed virtual controls. Through our design and derivation, suitable normalization is introduced to certain signals. This enables us to make the bound of sat (τ ) as a function of design parameters and reference trajectories only. In this way, we can compute the bound in advance and ensure it within the saturation limit by suitably choosing the design parameters. Therefore with these parameters, sat (τ ) is the same as τ and the derived design law for sat (τ ) is also the control law for τ .
k(t )ye 1+x2e +y2e
(12)
λ1 and λ2 are positive constants chosen so that λ1 |vr | + λ2 ≤ 0.5, where |vr |max denotes the maximum value of |vr |. This will ensure that k(t ) ≤ 0.5 for all t. Then (11) is transformed to w ye + v + f1 k(t )vr ye x˙e + f2 −wxe − y˙e = (13) Γ 1 ˙ k ( t ) x k ( t ) x y ¯ e e e φe w 1− + f3 − v Γ1 Γ1 2 Γ2 max
where
1 + x2e + y2e ,
Γ2 =
k(t )vr y2e
xe
ye f2
+ (vc + f1 ) + Γ1 Γ1 Γ12 k(t )xe k(t )xe ye φ¯ e wc 1 − + f3 − vc + Γ3 Γ1 Γ1 2 Γ2 xe k(t )xe ye φ¯ e φ¯ e k(t )xe +w ˜ + v˜ − 1− Γ1 Γ3 Γ1 Γ1 2 Γ2 Γ3 2 where Γ3 = 1 + φ¯e . The virtual controllers vc and wc are chosen
V˙0 = −
as:
vc = −k1
xe
Γ1
− f1
φ¯ e k(t )xe ye −k2 . − f3 + vc k(t )x Γ3 Γ1 2 Γ2 1− Γ e 1
wc =
1
Since we have k(t ) ≤ 0.5 from (12) and k(t )xe
Γ1
> 0.5. The derivative of V0 (t ) is
xe
Γ1
(17)
< 1, so we have 1 −
φ¯ e2 ye f2 + Γ1 Γ32 xe k(t )xe ye φ¯ e k(t )xe φ¯ e + v˜ − 1− . +w ˜ Γ1 Γ3 Γ1 Γ1 2 Γ2 x2e
Γ12
−
k(t )vr y2e
Γ12
− k2
Remark 1. Γ1 , Γ2 and Γ3 are introduced to normalize xe , ye and φ¯ e so that the bounds of virtual control signals based on the kinematic model are only dependent on system parameters and reference signals, and can be pre-determined. This normalization technique will also be applied to the dynamic model when designing control law for sat (τ ). 3.2. Adaptive control of dynamic model Define ϖc = [vc wc ]T , ϖ ˜ = ϖ − ϖc , and a new Lyapunov function V1 = V0 + 21 ϖ ˜ T Rϖ ˜ , then
˙˜ = V˙ 0 + ϖ V˙ 1 = V˙ 0 + ϖ ˜ T Rϖ ˜ T R(ϖ ˙ − ϖ˙ c )
1 + x2e + (1 − k2 (t ))y2e
vr cos φ¯e Γ2 vr k(t )ye sin φ¯e f1 = − − , Γ1 Γ1 vr (cos φ¯e − 1)Γ2 vr k(t )ye sin φ¯e f2 = − − Γ1 Γ1 k˙ (t )ye + k(t )f2 − k(t ) (xe f1 + ye f2 )/Γ12 f3 = −wr + . Γ2
2
1 + φ¯e − 2.
The time derivative of V0 is
) where
k(t ) = λ1 vr + λ2 sin(t ),
Γ1 =
1 + x2e + y2e +
V˙0 = −k1
3.1. Adaptive control of kinematic model Introduce a new variable φ¯ e = φe + arcsin( √
= V˙ 0 + ϖ ˜ T [−C¯ (w)ϖ − DR ϖ + ε + BR sat (τ ) − Rϖ˙ c ] = V˙ 0 + ϖ ˜ T [−(C¯ (w) + DR )ϖ ˜ + ε + BR sat (τ ) − Yc P ]
(18)
where Yc P = Rϖ˙ c + C (w)ϖc + DR ϖc and
Yc = (14)
v˙c 0
0
w˙c
wc w −vc w
(see Eq. (20) in Box I).
vc 0
wc vc
0
wc
(19)
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
P =
m11 + m22
(m11 − m22 )b
b
c
d11 + d22
d11 − d22
b(d11 + d22 )
2b
2
2
237
T (20)
Box I.
Remark 2. Unlike the typical way of designing virtual controllers for (11) as in [14,1], we use v and w as the virtual controllers. By doing this, the tracking error dynamic system in (13) and the virtual controllers vc and wc in (17) do not contain any unknown system parameters. So when taking the time-derivatives of vc and wc in the matrix Yc in (19) to get the torque τi , no unknown parameter will appear. This will reduce the number of unknown parameters in (20) from 10 in [14] to 6 and thus greatly simplify the matrix Yc . Therefore parameter estimation is simplified compared to [14]. Denote α :=
β :=
ˆ and nˆ be the and m = α1 , n = β1 . Let m ˜ = m−m, ˆ n˜ = n−nˆ , estimates of m and n respectively, and define m sat (τ1 )−sat (τ2 ) sat (τ1 )+sat (τ2 ) T , u = , U = [ u u ] . Then we get u1 = 2 1 2 ˆ m nˆ r , 2b
αZ BR sat (τ ) = β
α −β
r 2
ˆ 1 sat (τ1 ) α mu = . sat (τ2 ) β nˆ u2
ˆ = α(m − m ˜ ) = 1 − αm ˜ and also β nˆ = 1 − β n˜ , As α m BR sat (τ ) =
˜ u1 α mu − ˜ 1 u2 β nu2
Let Ω1 = ( Γxe −
k(t )xe ye φ¯ e
1
Γ1 2 Γ2 Γ3
=U−
) , Ω2 =
˜ 1 α mu . β n˜ u2
φ¯ e (1 − k(Γt )1xe ), and Ω Γ3
1 2
P˜ T T P˜ +
1 2
E˜ T K E˜ +
1 2
= [Ω1 Ω2 ]T .
1
˜ 2 + β n˜ 2 αm 2
where P˜ = P − Pˆ and Pˆ is the estimate of P, T = aI with a being ˆ Eˆ is the estimates of the bounds of a positive constant; E˜ = E − E, unknown disturbances, K is a given positive definite matrix. Then
˙˜ + β n˜ n˙˜ ˜m + P˜ T T P˙˜ + E˜ T K E˙˜ + α m x2 k(t )vr y2e φ¯ 2 ye f2 ˙˜ + β n˜ n˙˜ ˜m = −k1 e2 − − k2 e2 + + αm 2 Γ1 Γ1 Γ1 Γ3 +ϖ ˜ T [−(C¯ (w) + DR )ϖ ˜ + ε + BR sat (τ ) − Yc P + Ω ] ˙ ˙ T ˜ T ˆ ˜ ˜ + P TP − E KE k(t )vr y2e
ye f2 φ¯ e2 ˙ˆ + u1 v˜ ) ˜ (m + − αm 2 2 2 Γ1 Γ1 Γ1 Γ3 − β n˜ (n˙ˆ + u2 w) ˜ + P˜ T T P˙˜ − E˜ T K E˙ˆ +ϖ ˜ T [−(C¯ (w) + DR )ϖ ˜ + ε + U − Yc P + Ω ]. x2e
−
(22)
By choosing U as (23)
where sgn(ϖ ˜ ) ∗ Eˆ = (sgn(ϖ ˜ 1 )Eˆ 1 , sgn(ϖ ˜ 2 )Eˆ 2 )T , we get k(t )vr y2e φ¯ 2 ye f2 x2 V˙ 2 ≤ −k1 e2 − − k2 e2 + −ϖ ˜ T DR ϖ ˜ 2 Γ1 Γ1 Γ1 Γ3 ˜ (m ˆ˙ + u1 v˜ ) − β n˜ (nˆ˙ + u2 w) − αm ˜ T
1 sat (τ ) = 1
1
−1
ˆ m 0
−
k(t )vr y2e
Γ12
− k2
Ψ (i) P (i)min + σ < Pˆ (i) < P (i)max − σ 1 ˙ Ψ (i) + (1 + Ψ (i)2 ) Pˆ (i) ≤ P (i)min + σ Pˆ (i) = 2 Ψ (i) − 1 (1 + Ψ (i)2 ) Pˆ (i) ≥ P (i) − σ max 2 Ξ (j) σ ≤ Eˆ (j) < Emax (j) − σ 1 Ξ (j) − (1 + Ξ (j)2 ) Eˆ (j) ≥ Emax (j) − σ Eˆ (j) = 2 Ξ (j) + 1 (1 + Ξ (j)2 ) Eˆ (j) < σ
(26)
2
where Ψ = −T Yc T ϖ ˜ and Ξ = K −1 |ϖ ˜ |. Following the same analysis as (25), these parameters update law guarantee that
˙ P (i)min < Pˆ (i) < P (i)max , E (j) < Emax (j) and −P˜ T T (Pˆ + T −1 Yc T
˜ |) ≤ 0. ϖ ˜ ) − E˜ T K (E˙ˆ − K −1 |ϖ Thus we have
The torque τ is designed as
−1
Γ12
−1
˜ |). − P˜ T T (P˙ˆ + T −1 YcT ϖ ˜ ) − E˜ T K (E˙ˆ − K −1 |ϖ
φ¯ e2 ye f2 −ϖ ˜ T DR ϖ ˜ + Γ1 Γ32 − P˜ T T (P˙ˆ + T −1 YcT ϖ ˜ ) − E˜ T K (E˙ˆ − K −1 |ϖ ˜ |). x2e
From Assumption 2, we have P in a known set which satisfies P (i)min + σ < P (i) < P (i)max − σ and E (j) < Emax (j) − σ for i = 1, 2, 3, 4, 5 and j = 1, 2. The parameters update laws for Pˆ and Eˆ are then chosen as
− k2
U = Yc Pˆ − Ω − sgn(ϖ ˜ )T ∗ Eˆ
(25)
ˆ and nˆ so that mmin < m ˆ (0) < We choose the initial value for m ˆ ≤ mmin + σ , we have mmax and nmin < nˆ (0) < nmax . When m ˙ˆ ≥ 0, and this law will prevent m ˆ from getting smaller than mmin . m ˙ˆ + u1 v˜ > 0. Therefore we ˜ = m−m ˆ > 0 and m Also we get m ˙ ˜ (m ˆ + u1 v˜ ) < 0. Similarly, when m ˆ ≥ mmax − σ , we have −α m ˙ˆ ≤ 0, and this law will prevent m ˆ from getting greater than have m ˙ˆ + u1 v˜ < 0, and thus ˜ = m−m ˆ < 0 and m mmax . Also we get m ˙ ˜ (m ˆ + u1 v˜ ) < 0. For other parameters the same parameter −α m projection rule is adopted. From the above analysis, we have V˙ 2 ≤ −k1
V˙ 2 = V˙ 0 + ϖ ˜ T [−(C¯ (w) + DR )ϖ ˜ + ε + BR sat (τ ) − Yc P ]
= −k1
ˆ < mmax − σ −u1 v˜ mmin + σ < m 1 2 ˆ ≤ mmin + σ ˙ˆ = −u1 v˜ + [1 + (u1 v˜ ) ] m m 2 −u v˜ − 1 [1 + (u v˜ )2 ] m ˆ ≥ mmax − σ 1 1 2 −u 2 w ˜ nmin + σ < nˆ < nmax − σ 1 ˜ 2 ] nˆ ≤ nmin + σ ˜ + [1 + (u2 w) n˙ˆ = −u2 w 2 1 −u w [1 + (u2 w) ˜ 2 ] nˆ ≥ nmax − σ . 2 ˜ − 2
(21)
We now define another new Lyapunov function V2 = V1 +
The initial values of estimates are set to be in the given compact sets. By using parameter projection, the estimates to be updated are confined in the known sets. To illustrate this, we use the update ˆ and nˆ as examples. From Assumption 2, there exist laws for m mmax , mmin , nmax , nmin and a small positive constant σ so that mmin + σ < m < mmax − σ and nmin + σ < n < nmax − σ . ˆ and nˆ are designed as follows: The update law for m
0 U. nˆ
(24)
V˙ 2 ≤ −k1
x2e
Γ12
−
k(t )vr y2e
Γ12
− k2
φ¯ e2 ye f2 + −ϖ ˜ T DR ϖ ˜. 2 Γ1 Γ3
(27)
238
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
Proposition 1. Under the controllers (17) and (24) with parameter update laws in (25) and (26), there exist appropriate design constants k1 , k2 , λ1 , λ2 , δ1 and δ2 such that system (16) is uniformly stable and the trajectory of virtual robot (9) is asymptotically tracked or the system is stabilized to the origin. Proof. It is proved in Appendix that positive constants δ1 ∈ (0, 1) and δ2 > 0 can be chosen such that ye f2
Γ1
δ1 vr 2 ye 2 φ¯ 2 ≤ + δ2 e2 . 2 Γ1 Γ3
(28)
x2e
Γ12
λ2 sin(t )v Γ12
2 r ye
−
= −ϖ T DR ϖ + ϖ T s(τ )
(λ1 − δ1 )vr2 y2e φ¯ 2 − (k2 − δ2 ) e2 − ϖ ˜ T DR ϖ ˜ 2 Γ1 Γ3
−
≤ −dmin ϖ T ϖ + 0.5ζ ϖ T ϖ +
.
(29)
On the other hand, based on the condition that |k(t )| < 0.5, we choose positive constants λ1 and λ2 to satisfy
λ1 vr max + λ2 < 0.5
(30)
where vr denotes the maximum value of |vr |. From (29), the choices of λ1 , λ2 and k2 also meet the following condition max
λ1 > δ1 ,
k2 > δ2 ,
vr 2 (λ1 − δ1 ) − |λ2 vr | ≥ 0.
V˙2 ≤ −
c2 ye
−
Γ1 2
k1 xe
2
Γ1 2
2 c1 φ¯ e − −ϖ ˜ T DR ϖ ˜. Γ3 2
(31)
For stability analysis we consider the stabilization and tracking separately. For tracking, we have limt →∞ |vr | ̸= 0, thus we get limt →∞ c2 > 0. Then from (31) we get limt →∞ |xe | + |ye | + |φ¯e | → 0. For stabilization, we have limt →∞ |vr | + |˙vr | + |wr | + |w ˙ r | = 0. So from (31) we get V˙2 ≤ −
k1 xe 2
Γ1 2
− c1
2 φ¯e −ϖ ˜ T DR ϖ ˜ ≤ 0. Γ3 2
(32)
From (32), (xe , ye , φ¯ e ) is bounded and limt →∞ |xe | + |φ¯ e | + |˜v | + |w| ˜ → 0. It is left to prove that limt →∞ |ye | → 0. From (16) and (17) we get x˙ e = −
k1 xe
Γ1
+ Σ (t )
(33)
−ye k(t )xe
k2
Γ1
φ¯ e xe + f3 + k1 + f1 Γ3 Γ1
k(t )xe ye
Γ1 2 Γ2
Based on (7) and (11) it is easy to check that x¨ e is bounded. Since limt →∞ xe = 0, using Barbalat’s Lemma we get limt →∞ x˙ e = 0, k x which means limt →∞ Σ (t ) − Γ1 e = 0. Since limt →∞ v˜ = 1
limt →∞ w ˜ = 0, then from (14) and (33)
t →∞
Γ2
s(τ )T s(τ )
s(τ )T s(τ ) ζ dζ 0.5 s(τ )T s(τ ) ≤− Vϖ + rmax ζ
(35)
where dmin is the smallest eigenvalue of DR , dζ = dmin − 0.5ζ and s(τ ) = BR sat (τ ) + ε with ζ being any positive constant that satisfying dmin > 0.5ζ . Then we have Vϖ ≤ e
ζ t − rmax
s(τ ) s(τ )rmax T
Vϖ (0) +
2ζ dζ
.
(36)
So from (35) and (36) we obtain
T dζ 2 s(τ ) s(τ )rmax t − rmax Vϖ (0) + |ϖi | ≤ e rmin 2ζ dζ
(37)
for i = 1, 2. From (14) and (17) we know that ϖ ˙ c and ϖc are bounded. From (27) Pˆ is bounded, and from (37) w is bounded. Thus the torque designed for sat (τ ) is bounded and its bound is given in the following proposition. Proposition 2. For the designed torque sat (τi ), i = 1, 2, there exists a bound τi max such that |sat (τi )| < τi max and τi max is solely a function of designed parameters, reference trajectories and the bounds of the known compact sets in Assumption 2, namely
ˆ max , τi max = F (vr max , wr max , v˙ rmax , w ˙ rmax , λ1 , λ2 , k1 , k2 , m (38)
where
× (k2 + 1.15(0.2v˙ rmax + 0.1) + 2.7vrmax + wrmax + 0.5(k1 + 1.11vrmax )) ˆ max Pˆ4 max + Pˆ3 max nˆ max wmax ) (0.5k1 + 0.56vrmax ) + (m
+w ˜ ye + v˜ .
k˙ (t )ye 2
0.5
ζ
ˆ max Pˆ3 max wmax + Pˆ5 max + nˆ max Pˆ6 max ) F (·) = (m
1−
lim
0.5
nˆ max , Pˆ max , Eˆ max , ϖmax ) i = 1, 2
where
Σ (t ) =
= −dζ ϖ T ϖ +
d
Clearly the above choices of parameters are possible, and we choose k1 > 0. Let c1 = k2 − δ2 and c2 = vr 2 (λ1 − δ1 ) − |λ2 vr |, then we get 2
Note that 21 rmin ϖ T ϖ ≤ 12 ϖ T Rϖ ≤ 12 rmax ϖ T ϖ where rmax = max(R11 , R22 ), rmin = min(R11 , R22 ). Taking the derivative of Vϖ = 1 ϖ T Rϖ , we get 2 V˙ ϖ = ϖ T Rϖ ˙ = ϖ T (−(C¯ (η) ˙ + DR )ϖ + ε + BR sat (τ ))
Substituting (28) into (27) yields V˙ 2 ≤ −k1
this condition can be satisfied if v˙ r is not linearly related to function sin(t ). Otherwise, λ1 and λ2 should be carefully chosen to prevent λ1 v˙ r and λ2 cos(t ) from canceling each other. Finally from the definition of φ¯ e we know that limt →∞ ye + |φ¯ e | → 0 guarantees limt →∞ |φe | → 0. Therefore the trajectories are asymptotically tracked or the robot is stabilized to the origin.
= 0.
(34)
If λ1 and λ2 are set so that limt →∞ k˙ (t ) ̸= 0, (34) implies limt →∞ ye = 0. As k(t ) = λ1 vr + λ2 sin(t ) and λ2 is free of choice,
ˆ max Pˆ1max ) ((1.62k1 + λ1 )vrmax + (m + 1.52vr2 max + 12.8v˙ rmax ) + nˆ max Pˆ2max (0.85wr2 max + 1.02vr2 max + 2.5w ˙ rmax + 4.63vrmax wrmax + λ1 v¨ rmax + λ2 + 2.1λ1 vrmax v˙ rmax + 2.1vrmax λ2 ) ˆ max (1 + Eˆ 1max + 0.5nˆ max (1.5 + Eˆ 2max )) + 0.5m and vr max , wr max , v˙ rmax , w ˙ rmax , Pˆi max , 1 ≤ i ≤ 6 denote the maximum values of vr , wr , v˙ r , w ˙ r and Pi respectively.
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
|ϖi − ϖic | ≤
2
rmin
e
−
2dmin rmax t
V3 (0) +
Pm T TPm + Em T KEm + α m2m + β n2m
rmax (ϖmax + ϖc max )T Ωmax
+
2
239
(41)
2dmin
Box II.
Proof. From (23) and (24) τi is composed of the estimated parameters, ϖc and ϖ ˙ c . From (12)–(14) and (17), ϖc and ϖ ˙ c only Γ d xe d ye d φ¯ e d xe d ye d 1 , , , , , , d 2 , r, dt Γ1 dt Γ1 dt Γ3 dt Γ2 dt Γ2 dt Γ2 dt Γ1 xe ye φ¯e 1 Γ2 xe ye 2 , k1 , k2 , Γ , Γ , Γ , Γ , Γ , Γ , Γ , cos e , sin e ,k
v wr ,
depend on variables
v˙ r , w ˙ r , λ1 , λ (φ¯ ) (φ¯ ) (t ), 1 1 3 2 1 2 2 ˙k(t ), k¨ (t ) and ϖ . These signals are bounded and their bounds are d xe = Γx˙e1 − Γxe1 ( Γxe1 Γx˙e1 + Γye1 Γy˙e1 ). computable. For example, note that dt Γ1 From (13) we know the bounds of d xe dt Γ1
the bound of
x˙e Γ1
and
y˙e Γ1
are computable. Thus
is also computable. It can be similarly checked
that the bounds of other ones are also computable. Since | Γxe | < 1, 1
¯ | Γye1 | < 1, | Γφ3e | < 1, | Γ12 | < 1, | ΓΓ12 | < 1, | Γxe2 | < 1, cos(φ¯ e )| ≤ 1, y sin(φ¯ e )| ≤ 1 and | e | < 1.15, from (24) we know (38) holds.
(2) The bound of virtual control error at any time is given by (see Eq. (41) in Box II) for i = 1, 2, where mm = mmax − mmin , nm = nmax − nmin , Pm = Pmax − Pmin and Em = Emax − Emin , ϖmax is defined in (37), ϖc max and Ωmax are the maximum values of ϖc and Ω respectively, and V3 is defined in (42). Proof. (1) Based on Propositions 1 and 2, we can ensure that the set-point stabilization and the asymptotical tracking for a reference are achieved simultaneously. From (29) we know that V2 is non-increasing. Hence ϖ ˜ , Pˆ and Eˆ are bounded. By applying LaSalle–Yoshizawa theorem to (29), we further know that ϖ ˜ Tϖ ˜ → 0 as t → ∞, which implies (40) holds. (2) Define a new Lyapunov function
Γ2
Replacing these variables with their maximum values and after a lengthy calculation, we get the expression of F (·). From F (·) we can calculate τi max and ensure τi max ≤ uMi by choosing suitable parameters and reference signals. If τi max ≤ uMi , we have sat (τi ) = τi , i = 1, 2. In this case, the design law in (24) is our control law for τ , namely
1 τ= 1
1
−1
−1
ˆ m 0
(39)
Theorem 1. Consider the nonholonomic system (1) and (2) with input saturation and disturbance satisfying Assumptions 1–3. With the application of controller (24) and parameters update law (25) and (26), the set-point stabilization and the asymptotical tracking for a reference are achieved simultaneously, and the following statements hold: (1) The steady state virtual control error satisfies lim ϖ ˜ Tϖ ˜ = lim (ϖ − ϖc )T (ϖ − ϖc ) = 0. t →∞
1 1 1 1 ˜ 2 + β n˜ 2 . ϖ ˜ T Rϖ ˜ + P˜ T T P˜ + E˜ T K E˜ + α m 2
2
2
2
(42)
≤
max
V˙3 ≤ −
2dmin rmax
V3 +
dmin rmax
˜ 2 + β n˜ 2 ) (P˜ T T P˜ + E˜ T K E˜ + α m
+ (ϖmax + ϖc max )T Ωmax .
Remark 3. • For a general class of system, it is difficult to establish a bound for the control signal as a function of design parameters. The result of Proposition 2 is achieved mainly due to exploiting the special structure of the mobile robot with three ideas. Firstly, sat (τi ), i = 1, 2 is so designed that xe , ye and φ¯e appearing in the design law are normalized. Secondly, the proposed parameters update law guarantees the unknown parameters are in known compact sets and thus bounded. Thirdly, by using v and w as the virtual controllers, designing parameter update laws and control law for τ is greatly simplified, which enables us to compute the bound of τ possible. • The actual form of F (·) in (38) depends on the given system and reference trajectories. It is noted that τimax can be divided into two parts: one totally independent of all design parameters λ1 , λ2 , k1 and k2 mentioned in Proposition 1, and the other only having these design parameters. If the former one is smaller than the saturation bound, then there is a margin so that we can find such design parameters to make τimax < uMi . How to obtain F (·) and calculate τi max will be illustrated in simulation studies given in Section 4.
t →∞
2
We get V˙3 ≤ −ϖ ˜ T DR ϖ ˜ − ϖ ˜ T Ω . Since −ϖ ˜ T DR ϖ ˜ 2dmin 1 T T −dmin ϖ ϖ ≤ − r ϖ ˜ R ϖ ˜ , we have 2
0 U. nˆ
1
V3 =
(40)
Thus we obtain V3 ( t ) ≤ e
2dmin rmax t
−
+
V3 (0) +
Pm T TPm + Em T KEm + α m2m + β n2m
2dmin
Also as we have 21 ϖ ˜ T Rϖ ˜ ≥
ϖ ˜ ϖ ˜ ≤ T
2
rmax (ϖmax + ϖc max )T Ωmax
2 rmin
+ +
e
−
2dmin rmax t
rmin 2
.
(43)
ϖ ˜ Tϖ ˜ . This gives that
V3 (0)
Pm T TPm + Em T KEm + α m2m + β n2m 2 rmax (ϖmax + ϖc max )T Ωmax 2dmin
Thus it can be obtained that (41) holds.
.
(44)
4. Simulation results In this section, we illustrate the design procedure and how to compute the bound of the control torque based on design parameters and reference trajectories. Our simulation tool is Matlab. The physical parameters of robots are set as: b = 0.75, d = 0.3, r = 0.5, mc = 10, mw = 1, Ic = 5.6, Iw = 0.005, Im = 0.0025, d11 = d22 = 1. The unknown disturbance ε is white noise satisfying 0 ≤ |εi | ≤ 2 for i = 1, 2. The initial estimates for the unknown parameters are set to be 75% of their true values. Suppose the torque saturation bound uMi is 100, i = 1, 2. Based on Proposition 2, we need to choose suitable parameters in order to perfectly track a given reference and guarantee the designed torque strictly within the saturation bound. For simplicity, we only leave parameter k1 as a free parameter to achieve
240
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
Fig. 2. Simulation result of tracking control of a line and a circle. Left: robot position in (x, y) plane. Right: control torques.
Fig. 3. Simulation result of stabilization. Left: robot position in (x, y) plane. Middle: tracking errors. Right: control torques.
this. The other parameters are chosen as k2 = 3, λ1 = 0.2, λ2 = 0.1, T = 0.06I, K = 0.03I. The maximum and minimum values of parameters r, b, m11 , m12 , c, d11 , d22 are given as {(0.5, 1.5), (1, 2), (0.1, 0.5), (−0.1, 0.05), (0.05, 0.2), (0.2, 1.5), (0.2, 1.5)} respectively. Set the initial velocities {ϖ1 , ϖ2 } = {0, 0}, then we have Vw (0) = 0. From (37) we know
|ϖ1,2 | ≤
2 s(τ ) s(τ )rmax
T
rmin
2ζ dζ
≤
s(τ ) s(τ ) T
2ζ (5 − 0.5ζ )
.
Choose ζ = 5, we get |ϖ1,2 | ≤ 28.31, which means |w| ≤ 28.31. Note that f1 < 1.11vr , f2 < 2.1vr , f3 < 1.15(0.2v˙ r + 0.1) + 2.7vr + ˆ nˆ , wr , vc < k1 + f1 and wc < 2(3 + f3 + 0.5vc ). Replacing m, m11 , m12 , c, d11 , d22 , w by their maximum values specified above, after a lengthy but simple calculation, we get polynomial F (·) for computing τi max
τi max = 4.13vr 2 + (30.34 + 0.26k1 )vr + 10.35 + 0.75k1 + 2.04wr 2 + 11.12vr wr + 15.2v˙r + 6w˙r = F1 (vr , wr , v˙ r , w ˙ r ) + F2 (k1 ) i = 1, 2 where F1 = 4.13vr 2 + 30.34vr + 10.35 + 2.04wr 2 + 11.12vr wr + 15.2v˙r + 6w˙ r and F2 = (0.75 + 0.26vr )k1 . We first simulate the case of tracking a line for the first 4 s and a circle in the remaining 5 s in a plane. For the line, set vr = 2, v˙r = 0, wr = 0, w˙r = 0 and for the circle, set vr = 1.4, v˙r = 0, wr = π /2, w˙r = 0. It is easy to check that for the line F1 = 87.55 and for the circle F1 = 90.39. The inequality (0.75 + 2.6vr )k1 < 100 − F1 under these two paths has a solution k1 < 8.6. In our simulation we choose k1 = 5, and get the simulation results shown in Fig. 2. Clearly, the magnitudes of the torques are strictly less than 100 and perfect tracking is achieved.
Remark 4. Saturation constraints of input torques restrict the controllability of systems. For a given reference, there exists a minimum saturation bound that makes perfect tracking possible. Thus for a tracking problem, certain reference trajectories cannot be tracked due to saturation constraints, regardless of control scheme used. For example in our case, for a given reference and a saturation bound uMi , if the design parameters in Proposition 1 cannot guarantee τi max ≤ uMi , then the reference cannot be tracked under this saturation bound. Secondly we consider stabilization. In this case the reference velocities are: vr = 0, wr = 0, so we have |k(t )| = |λ1 vr + λ2 sin(t )| ≤ |λ2 |. Thus we can have a larger λ2 to reduce the converging time compared with the case of tracking. In this case we set λ2 to be 0.5. The initial position is set to be {2, 2}, and other parameters and initial conditions are the same as the tracking case, and we have τimax = 24.3 + 7.32k1 . So 24.3 + 7.32k1 < 100 has a solution k1 < 10.32. In our simulation we still choose k1 = 5. The results are shown in Fig. 3. Thirdly we make a comparison by considering the torque design ∂V in [1], where the torque control law τ = B−1 (−kd v˜ +Yc pˆ −( ∂ q1 Sˆ )T ) is developed based on combined kinematic and dynamic model without considering torque saturation. The torque is applied to the system described above for the case of tracking a circle under input saturation. The results are shown in Fig. 4, together with the tracking results obtained with our proposed tracking controller. Due to the presence of amplitude constraints, the torque applied to the system experiences saturation for the controller designed based on [1], and it is observed that perfect tracking cannot be achieved. However the amplitude constraint will not affect the tracking result with our controllers since the designed torque is always within the saturation bound.
J. Huang et al. / Systems & Control Letters 62 (2013) 234–241
241
Fig. 4. Comparison of two different controllers. Left: the torque of two different controllers after suffering from input saturation. Right: robot position in plane.
A global adaptive stabilization and tracking control scheme is proposed for a nonholonomic wheeled mobile robot with input saturation and external disturbances. With the proposed scheme, we can compute the bounds of control signals in advance and thus ensure them within the saturation limits to avoid the occurrence of saturation by suitably choosing design parameters. System stability and perfect tracking are established. Simulation studies are also conducted to illustrate the design procedure and verify the effectiveness of the proposed scheme. However it may be possible that the computed bound of the control signal with any choice of design parameters is larger than the saturation bound. In this case, we need to explore alternative controller design methods. Other possible future work includes extending the proposed method to the controlling of other kinds of underactuated mechanical systems subject to input saturation, such as an underactuated surface vessel. Formation or flocking control of mobile robots [16– 21] facing obstacles and communication packets loss is also an interesting area for exploration when control input is subject to saturation constraint. Acknowledgments The authors would like to thank the Editor, the Associate Editor and the reviewers for their helpful comments. This work is partly supported by National Natural Science Foundation of China under Grant No. 61203068. Appendix. Proof of (28) ¯ vr (cos φ¯ e −1)Γ2 − vr k(t )Γye1 sin φe = −vr Λ where Λ = Γ1 2 2 ¯ (cos φ¯ e −1)Γ2 + k(t )yΓe 1sin φe . We have − yeΓv1r Λ ≤ δ1 vΓr 2ye +δ1 −1 Λ2 where Γ1 1 κ φ¯ 2 δ1 ∈ (0, 1) is a positive constant. It is left to prove that Λ2 ≤ 1+φ¯e2 e
Let f2 = −
where κ is a positive design parameter. Denote fΛ (x) = Λx 2 = [a1 (cos(x) − 1) + a2 sin(x)]2 and fκ (x) k(t )y
Γ
κ x2 , 1 +x 2
where a1 = Γ2 , a2 = Γ e and 0 < |ai | < 1 for 1 1 i = 1, 2. √ We first prove √ that there exists a positive constant κ so that fΛ (x)| ≤ | fκ (x)| for x ∈ [0√, ∞). Define f4 (x) =
=
|a1 (cos(x) − 1) + a2 sin(x)| and f5 (x) = √ κ x 2 . Note that f4 (x) is 1 +x
periodic and attains its maximum value at ϕ = arcsin( √
|a2 | a1 2 +a2 2
).
Also f4 (0) = 0, f5 (0) = 0 and f4 (x) monotonically increases in the ∂ f (x) ∂ f (x) interval for x ∈ [0, φ], it is sufficient to show ∂5 x > ∂4 x for x ∈ [0, φ]. Since
∂ f4 (x) ∂x
=
a1 2 + a2 2 sin(ϕ − x) for x ∈ [0, φ) and
√
= (1+x2κ)1.5 , it is easy to choose κ so that ∂ f∂5 x(x) > ∂ f∂4 x(x) for x ∈ [0, φ]. For example, it could be chosen as (1 + a2 2 )3 . Letting δ2 = δ1 −1 κ , then the result holds. For x ∈ (−∞, 0), it can be ∂ f5 (x) ∂x
5. Conclusions
proved similarly.
References [1] T. Fukao, H. Nakagawa, N. Adachi, Adaptive tracking control of a nonholonomic mobile robot, IEEE Trans. Robot. Automat. 16 (2000) 609–615. [2] P. Morin, C. Samson, Contorl of nonholonomic systems based on transverse function approach, IEEE Trans. Robotics 25 (2009) 1058–1073. [3] T.C. Lee, Z.-P. Jiang, Uniform asymptotic stability of nonlinear switched systems with an application to mobile robots, IEEE Trans. Automat. Control 53 (2008) 1235–1252. [4] R.W. Brockett, Asymptotic stability and feedback stabilization, in: Differential Geometric Control Theory, Birkhauser, Boston, 1983, pp. 181–191. [5] C. Samson, K. Ait-Abderrahim, Feedback control of a nonholonomic wheeled cart in Cartesian space, in: Proceeding of IEEE International Conference on Robotics Automation, Sacramento, 1991, pp. 1136–1141. [6] Z.-P. Jiang, H. Nijmeijer, Tracking control of mobile robots: a case study in backstepping, Automatica (1997) 1393–1399. [7] C. Samson, Control of chained systems-application to path follow and timevarying point stabilization of mobile robots, IEEE Trans. Automat. Control 40 (1995) 64–77. [8] Z.-P. Jiang, H. Nijmeijer, A recursive technique for tracking control of nonholonomic systems in chained form, IEEE Trans. Automat. Control 44 (7) (1999) 256–279. [9] R. Fierro, F.L. Lewis, Control of a nonholonomic mobile robot: backstepping kinematics into dynamics, in: Proc. of 34th IEEE Conf. Decision and Control, 1995, pp. 3805–3810. [10] T.C. Lee, K.-T. Song, Tracking control of unicycle-modeled mobile robots using a saturation feedback controller, IEEE Trans. Control Syst. Technol. 9 (2) (2001) 305–318. [11] N.O. Perez-Arancibia, T.-C. Tsao, J.S. Gibson, Saturation-induced instability and its avoidance in adaptive control of hard disk drives, IEEE Trans. Control Syst. Technol. 18 (2010) 368–382. [12] V. Kapila, K. Grigoriadis (Eds.), Actuator Saturation Control, in: Automation and Control Engineering, CRC Press, 2002. [13] Z.-P. Jiang, E. Lefeber, H. Nijmeijer, Saturation stabilization and tracking of a nonholonomic mobile robot, Systems Control Lett. 42 (2001) 327–332. [14] K.D. Do, Z.P. Jiang, J. Pan, Simultaneous tracking and stabilization of mobile robots: an adaptive approach, IEEE Trans. Automat. Control 49 (7) (2004) 1147–1152. [15] Y. Kanayama, Y. Kimura, F. Miyazaki, T. Noguchi, A stable tracking control method for an autonomous mobile robot, in: Proc. IEEE International Conference on Robotics and Automation, 1990, pp. 384–389. [16] P. Lin, Y. Jia, Distributed rotating formation control of multi-agent systems, Systems Control Lett. 59 (10) (2010) 587–595. [17] W. Ren, Trajectory tracking for unmanned air vehicles with velocity and heading rate constraints, IEEE Trans. Control Syst. Technol. 12 (5) (2004) 706–716. [18] W. Ren, Distributed cooperative attitude synchronization and tracking for multiple rigid bodies, IEEE Trans. Control Syst. Technol. 18 (2) (2010) 383–392. [19] Z. Chen, H.-T. Zhang, No-beacon collective circular motion of jointly connected multi-agents, Automatica 47 (9) (2011) 1929–1937. [20] H.-T. Zhang, Z. Chen, L. Yan, W. Yu, Application of collective circular motion control to multi-robot systems, IEEE Transactions on Control Systems Technology (2012) http://dx.doi.org/10.1109/TCST.2012.2200679. [21] K.D. Do, Formation tracking control of unicycle-type mobile robot with limited sensing ranges, IEEE Trans. Control Syst. Technol. 16 (3) (2008) 527– 538.