www.as‐se.org/sss Studies in System Science (SSS) Volume 2, 2014
A Sliding Mode Approach for Trajectory Tracking Control of a Spherical Robot Tao Yu*1, Hanxu Sun2 1
Faculty of Mechanical Engineering and Automation, Liaoning University of Technology, Jinzhou, Liaoning, China
2
School of Automation, Beijing University of Posts and Telecommunications, Haidian District, Beijing, China
*1
yutaolanjie@163.com; 2hxsun@bupt.edu.cn
Abstract In this study, a variable structure approach based on sliding mode is presented for trajectory tracking control of a spherical mobile robot. The spatial dynamics of the spherical robot rolling without slipping and spinning on a level plane is derived by using the constrained Lagrangian formulation. Based on the complete equations of motion of the robotic system, a sliding mode control algorithm combined with an adaptive scheme, which is used to estimate the unknown parameter bounds, is developed for trajectory control of the robot. Simulation results show the validity of accurate tracking capability and robust performance of the proposed controller. Keywords Spherical Robot; Trajectory Tracking; Sliding Mode Control; Adaptive Estimation
Introduction A spherical robot is a robotic device without wheels or legs which has a single spherical form that, literally, scrolls by itself to conduct the missions and being inherently stable. The spherical shape of this type of mobile robots offers several advantages over other forms of surface‐based locomotion such as wheels, tracks or legs. The sphere is a strong shape providing a high level of robustness with no major weakness points on its surface, whereas wheels, tracks or legs can be damaged, potentially disabling the mobility of the robot. The shell can also be resilient and serve as a protective barrier between the outside environment and the inside equipments. A spherical robot is by nature non‐ invertible further limiting the risk of becoming disabled, while most other mobile robot designs are vulnerable to tipping over or becoming stuck on the terrain where their means of locomotion lose contact with the ground. These advantages indicate that a spherical robot is appropriate for many different applications such as surveillance, reconnaissance, hazardous environment assessment, search and rescue, as well as planetary exploration. Over the last few decades, there has been considerable interests in the development of powerful methods for motion control of mobile robots. The control problems addressed in the literature can be roughly classified into three groups: trajectory tracking, path following and point stabilization [1]. With respect to trajectory tracking control of spherical robots, many studies had been carried out in the past few years. Alves and Dias [2] presented a line tracking method for a spherical robot based on the robot kinematics. Zhan and Liu et al. [3] designed a trajectory tracking controller for a spherical robot via backstepping method. Zheng and Zhan et al. [4] proposed a trajectory tracking control algorithm for a spherical robot based on a RBF‐PD controller. Cai and Zhan et al. [5] synthesized a hierarchical sliding mode controller integrated with a fuzzy guidance scheme for trajectory tracking of a spherical robot through a backstepping strategy. According to the above review, there have not been any well‐established methodologies for effectively resolving the trajectory tracking problem of spherical robots, although it plays an important role in many practical applications of this type of mobile robots. This paper is intended to provide practical solutions for trajectory tracking control of a spherical robot rolling on a level plane. The main contributions of this paper include two parts. Firstly, the kinematics and dynamics of the spherical robot subject to non‐slipping and non‐spinning constraints are derived. Secondly, an adaptive sliding mode scheme is developed for trajectory control of the spherical robot. Mathematical Model System Description Our robot, named BYQ‐VIII [6], is a pendulum‐driven spherical mobile robot with dual inputs. The mechanical structure of the robot BYQ‐VIII is illustrated in Fig. 1. BYQ‐VIII is mainly made of three rigid bodies: the spherical
68
Studies in System Science (SSS) Volume 2, 2014 www.as‐se.org/sss
shell, the internal mechanism and the pendulum. The actuation mechanism of BYQ‐VIII consists of two separate actuators: a drive motor and a tilt motor. The drive motor is located on one side of the internal mechanism, perpendicular to the front heading of the robot and attached to an extremity of the spherical shell. It moves the center of gravity of the robot forward or backward, for longitudinal motion of the robot. Lateral motion of the robot is achieved through the use of the pendulum, driven by the tilt motor, which allows the robot to tilt on one side or the other as the spherical shell rolls.
FIG. 1 BASIC STRUCTURE OF THE SPHERICAL ROBOT BYQ‐VIII
Kinematic Constraints A complete dynamic model is necessary to develop the trajectory tracking control algorithm for this robotic system. In the following subsections, we will derive the nonholonomic kinematic constraints of the rolling sphere, as well as the dynamic model of the robotic system by using the constrained Lagrangian formulation. Zb
Yb
B
Xb
Z Y C (x, y)
O
X
FIG. 2 DEFINITION OF COORDINATE FRAMES AND SYSTEM VARIABLES
In deriving the equations of motion of the spherical robot, we first assume that the exoskeleton of the robot is a rigid, homogeneous, and thin‐walled spherical shell which rolls over a perfectly flat surface of a level plane without slipping and spinning. Neglecting the influence of coupling dynamic characteristics of the spherical shell and the internal driving mechanisms, we model the whole robotic system as a rolling sphere as shown in Fig. 2. TABLE 1 VARIABLE DEFINITION OF THE ROBOTIC SYSTEM
m R I , ,
,
mass of the spherical shell radius of the spherical shell moment of inertia of the spherical shell yaw angle, roll angle and pitch angle of the spherical shell, respectively drive torque of the drive motor and tilt torque of the tilt motor, respectively
Next, we assign two coordinate frames as follows: (1) the inertial frame O X ,Y , Z , whose XY plane is anchored to the flat surface, and Z is the vertical position to the surface, (2) the body coordinate frame B X b ,Yb , Zb , whose origin is located at the center of the sphere. The definition and configuration of the system and variables are shown in Table 1 and Fig. 2.
69
www.as‐se.org/sss Studies in System Science (SSS) Volume 2, 2014
Here we first derive the kinematic constraints of the rolling sphere, and then develop the dynamic model of the spherical robot based on these constraints. Let v B and B denote respectively the velocity of the center of mass of the spherical shell and its angular velocity with respect to the inertia frame O . Then, we have v B x i y j z k (1)
B x i y j z k (2) where (x, y, z) are the coordinates of the center of mass of the spherical shell with respect to the inertial frame O , and (i, j, k) are the unit vectors of the inertia frame O .
x cos cos sin
y cos sin cos
z sin
The non‐spinning constraint of the rolling sphere requires that the angular rate of the sphere around the Z‐axis is zero at any instant. According to Eq. (2), the non‐spinning constraint of the rolling sphere can be formulated as
sin 0 (3) The constraint in Eq. (3) is nonintegerable and hence it represents a nonholonomic constraint. The pure rolling and non‐slipping constraints of the sphere require that the velocity of the contact point between the sphere and the incline is zero at any instant, i.e., vC 0 (4)
where vC is the velocity of the contact point C as shown in Fig. 2. Now, we can express v B as v B B rBC vC (5) where rBC Rk represents the vector from point C to point B. Substituting Eq. (2) and Eq. (4) into Eq. (5), and combining the result with Eq. (1), we have
x R cos sin cos 0
y R sin cos cos 0 (6) z 0 (7)
The constraints in Eq. (6) are nonholonomic, whereas the constraint in Eq. (7) is holonomic and can be integrated to obtain z R (8)
Therefore, the configuration of the robotic system can be completely described by a generalized coordinates vector of five independent variables, q x , y , , , (9) T
The nonholonomic kinematic constraints of the robotic system are now rewritten into the following form A q q 0 (10)
where 1 0 0 Rcos A q 0 1 0 Rsin 0 0 1 0
Rsin cos Rcos cos sin
Robot Dynamics In this subsection, we develop the equations of motion by calculating the Lagrangian L T P of the system, where T and P are the kinetic energy and potential energy of the system respectively. The kinetic energy of the spherical shell is given by
70
Studies in System Science (SSS) Volume 2, 2014 www.as‐se.org/sss
1 2
1 2
m x 2 y 2 z 2 I x2 y2 z2 (11) Substituting Eq. (2) and Eq. (7) into Eq. (11) yields 1 2
1 2
sin (12) m x 2 y 2 I 2 2 2 2
According to Eq. (8), the potential energy of the spherical shell is P mgR (13)
where g denotes the gravitational acceleration. Subtracting Eq. (13) from Eq. (12), we can determine the Lagrangian of the robotic system. Note that there are only two control inputs available on the system. One is the drive torque , and the other is the tilt torque . Consequently, using the constrained Lagrangian method, the dynamic equation of the robotic system is given by M q q V q , q q ur E q u AT q (14)
where M q is the inertia matrix, V q , q is the centripetal and coriolis matrix, ur 5 denotes bounded unknown disturbances including unstructured unmodeled dynamics, E q is the input transformation matrix, u is the input vector, A q as in Eq. (10) is the constraint matrix, and is the vector of constraint forces.
0 m 0 0 m 0 M q 0 0 I 0 0 0 0 0 I sin
0 I sin 0 I 0 I
0 0
0 0
0 0 0 V q , q 0 0
0 0 0
0 0
0 0
0
1 I cos 2
1 I cos 2 1 0 Icos 2
0
1 I cos 2 1 I cos 2 0 0 0
0 1 Icos 2
0 0 E q 0 1 0
0 0 1 0 2 u 3 0 1
Equations of Motion In this subsection, we will eliminate the Lagrange multipliers in order to obtain a minimum set of differential equations in a manner similar to [7]. We first partition the constraint matrix A q into two parts, i.e., A A1 A2 (15)
where 1 0 0 A1 0 1 0 0 0 1
Rcos A2 Rsin 0
Rsin cos Rcos cos sin
Let Rcos Rsin A11 A2 A2 C q 0 I 22 I 22 1 0
where
2
Rsin cos Rcos cos (16) sin 0 1
.
It is straightforward to verify that C q satisfies A q C q 0 (17)
71
www.as‐se.org/sss Studies in System Science (SSS) Volume 2, 2014
In view of Eq. (15), we adopt the following partition of the generalized coordinates vector q . q q 1 (18) q2
where q1 x , y , , q2 , . T
T
According to Eq. (10), Eq. (15) and Eq. (18), we have A q q A1
q A2 1 q1 A2 q2 0 (19) q2
This implies q1 A2 q2 (20)
Differentiating Eq. (18) and using Eq. (20), we arrive at q A q A1 A q 1 2 2 1 2 q2 C q q2 (21) q2 q2 I 22
If we choose q2 to be the two quasi‐coordinates, t 1 (22) 2
where t q2 t is a velocity vector. Then, we have q C q t (23)
The system represented by Eq. (14) is now transformed into a more appropriate representation for control purposes. Differentiating Eq. (23), substituting this result into Eq. (14), and then premultiplying both sides by CT, we can eliminate the Lagrange multipliers .
C T MC C T MC VC C T ur C T Eu (24)
The complete equations of motion of the nonholonomic spherical robot are now given by Eq. (23) and Eq. (24). By appropriate definitions we can rewrite Eq. (24) as follows M q V q , q ur u (25)
where
M q CT q M q C q
V q , q C T q M q C q , q V q , q C q
ur C T q ur
Some properties concerning the reduced dynamics defined by Eq. (25) are addressed below [8].
Property 1: There exists a vector 2 with components depending on the robot parameters (masses, moments of inertia, etc.), such that
M q V q , q W q , q , , (26)
where W 22 is the regressor matrix, 2 is a vector of smooth functions. q 2V q , q is skew symmetric. Property 2: The matrix M
Sliding Mode Controller With Bounds Estimation Controller Design This subsection addresses the trajectory tracking problem of BYQ‐VIII. The proposed sliding mode control algorithm
72
Studies in System Science (SSS) Volume 2, 2014 www.as‐se.org/sss
based on nonholonomic kinematics and dynamics can be implemented into two consecutive steps [4][9]. Step 1: Based on the robot kinematics given by Eq. (23), we may select the desired velocity vector which ensures exponential convergence of the tracking error to zero. Suppose the desired trajectory is pd t xd t yd t (27) T
where the parameter t represents time. Here we assume that the first and second derivative of the desired trajectory pd t with respect to time both exist. We define the trajectory tracking error as e p pd (28)
where p q x
y is coordinate variables of the reference point of the robot. T
Let e Ke (29)
where K 22 is a positive diagonal matrix. Eq. (29) represents an exponentially stable error dynamics. Differentiating Eq. (28) and using Eq. (23), we arrive at D q d p d Ke (30)
where d respresents the desired velocity vector; D q J q C q and J q
p q q
are the decoupling matrix and
the Jacobian matrix, respectively. 1 0 0 0 0 J q 0 1 0 0 0
Rcos D q Rsin
Rsin cos Rcos cos
Using Eq. (28) and Eq. (30), we have cos xd k1e1 sin yd k2 e2 d R (31) d d cos yd k2 e2 sin xd k1e1 Rcos
where ki and e j t denote the i‐th diagonal element of the gain matrix K and the j‐th component of the error vector e t respectively. By integrating Eq. (31), we can obtain the value of q2d t d t d t at any given T
instant of time, where q2d represents the desired value of the quasi‐coordinates q2 as in Eq. (18). Step 2: We choose the following switching function S q2 q2
q2 t q2 t q2d t (32)
where 22 is a positive diagonal matrix. Generally, in the variable structure system, the uncertainties are assumed to be bounded. This assumption may be reasonable for external disturbances, but it is rather restrictive as far as some uncertainties are concerned. For example, the viscous and Coulomb friction may be modelled as the sum of a damping component and a switching term, which are both associated with the angular velocity of a revolute joint. Generally speaking, uncertainties are the functions of the system states and may grow beyond any constant bound if the system becomes unstable. Therefore, we assume here that the uncertainty effects are presented by
ur d1 d2 q2 d3 q2 (33)
73
www.as‐se.org/sss Studies in System Science (SSS) Volume 2, 2014
where d1 , d2 and d3 are some positive constants. In order to derive the sliding mode control law, which forces the evolution of the tracking error q2 to be along the sliding surface S , a vector of self‐defined reference variables is introduced for the succinct formula expression in the sequel, that is q2r q2d q2 d q2 (34)
The linear parameterizability of the dynamics (Property 1) enables us to write the following expression M q q2r V q , q q2r W q , q , q2r , q2r (35) T where 1 2 mR 2
T
I . The regressor matrix W is given by
W12 W W q , q , q2r , q2r 11 , W21 W22
W11 q2r 1 q2r 1 q2r 2 cos W q q q cos 2r 1
12
2r 1 2
2r 2
W21 q2r 2 cos q2r 1 cos q2r 2 sin cos W22 2 sin 2 cos 2 q2r 2 q2r 1 cos cos 2 sin 2 q2r 2
Here q2r 1 , q2r 2 , q2r 1 and q2r 2 denote respectively the first and second component of the vector q2r and their derivatives. The sliding mode control law is now defined as
u W q , q , q2r , q2r ˆ1S ˆ2 sgn S (36)
2
i ˆi sgn s j W ji , i 1, 2 (37) j 1
where i and s j denote respectively the i‐th component of the vector and the j‐th component of the sliding surface S . 2
ˆi i s j W ji , i 1, 2 j 1
ˆ1 1 S
ˆ 2 2 S (38)
2
where i , 1 and 2 are positive constants, which determine the rate of adaptation. Robustness with Respect to Uncertainties
Theorem 1: Considering the robotic system defined by Eq. (23) and Eq. (25), with the sliding surface S described by Eq. (32), then S approaches zero asymptotically provided that the control laws Eq. (36)‐(38) are used. Proof: Subtracting Eq. (35) from both side of Eq. (25), and using the fact that S q2 q2r , we can obtain the following sliding mode equation M q S W q , q , q2r , q2r W q , q , q2r , q2r ˆ1S ˆ2 sgn S V q , q S ur (39)
A Lyapunov function candidate is chosen as 1 1 1 2 1 2 2 2 V S T M S q2T q2 i ˆi i i ˆi i (40) 2 2 2 i 1 2 i 1
where I 22 , is a positive constant; i and i are desired positive constant values of ˆi and ˆi satisfying
i i , 2 d1 and 1 guaranteeing that the following matrix Q is positive definite. 1 d2 Q max d2 d3 2
74
max d2 d3 2
min
Studies in System Science (SSS) Volume 2, 2014 www.as‐se.org/sss
Differentiating V in Eq. (40) with respect to time and using Property 2 gives
2
V S T M S S TVS q2T q2 i ˆi ˆi i 1
2
i i ˆi ˆi i 1
i
2
S T W q , q , q2r , q2r W q , q , q2r , q2r ˆ1S ˆ 2 sgn S ur q2T q2 i ˆi ˆi i 1 1 S
2
2
i i ˆi ˆi i 1
i
2 S S T ur q2T q2
(41) According to Eq. (32), we can write
S T ur S d1 d2 q2 d3 q2 d1 S d2 S
2
max d2 d3 S q2
q2T q2 q2T S q2 S q2 min q2
2
(42)
It then follows that V 1 d2 S
2
max d2 d3 S q2 min q2
2
2 d1 S
S q2 Q 0 q2
S
(43)
Thus the theorem is proved. Simulation Results
In order to illustrate the effectiveness of the proposed controller, numerical simulations are conducted on the spherical mobile robot BYQ‐VIII. The nominal values of the dimensions and inertial parameters of the robot are selected as m 1.2 kg
R 0.15 m
I
2 mR 2 0.018 kg m 2 3
To test the robustness of the proposed sliding mode controller, the mass of the spherical shell m is increased by 10% to be 1.32 kg , the radius of the spherical shell R is also increased by 10% to be 0.165 m , and the moment of inertia of the spherical shell I is then recalculated as 0.024 kg m 2 . Note that changes in the robot parameters are not accounted for in the controller. For the trajectory tracking algorithm, the following control parameters are used. 2 0 K 0 2
4 0 0 4
1 0.2
2 0.1
1 0.6
2 0.4
Firstly, consider a straight line trajectory given by Eq. (44), xd t 0.1t (44) yd t 0.1t
The initial values of the system configuration variables are such that
x0 ,
y0 , 0 , 0 , 0 0, 0.1, 2 , 0 , 0 ,
and the initial velocity is zero. The performance of the control system in tracking the straight line is illustrated in Fig. 3 and Fig. 5, and the star marker in Fig. 3 indicates the starting point of the robot. Next, we consider the following circular trajectory
xd t 0.5cos 0.2t (45) yd t 0.5sin 0.2t
75
www.as‐se.org/sss Studies in System Science (SSS) Volume 2, 2014
The initial values of the system configuration variables are such that
x0 ,
y0 , 0 , 0 , 0 0 , 0 , 2 , 0 , 0 ,
and the initial velocity is zero. Fig. 4 and Fig. 6 depict the system responses for the desired circular trajectory, and the star marker in Fig. 4 denotes the initial position of the robot. 1
actual desired
actual desired
0.6
0.8
0.4 0.2
y/m
y/m
0.6
0
0.4
−0.2 0.2
0
−0.4
0
0.2
0.4
0.6
0.8
−0.8
1
x/m
−0.6
−0.4
−0.2
0 x/m
0.2
0.4
0.6
FIG. 3 CONTROL PERFORMANCE IN TRACKING A STRAIGHT LINE FIG. 4 SYSTEM RESPONSE FOR A CIRCULAR TRAJECTORY 1
1
actual desired
actual desired 0.8
0.6
0.6
x/m
y/m
0.8
0.4
0.4
0.2
0.2
0
0
1
2
3
4
5 t/s
6
7
8
9
0
10
0
2
4
6
8
10
t/s
FIG. 5 TIME EVOLUTION OF THE COORDINATE VARIABLES OF THE ROBOT REFERENCE POINT IN TRACKING A STRAIGHT LINE 1
1
actual desired
actual desired 0.5
y/m
x/m
0.5
0
−0.5
−0.5
−1
0
0
5
10
15 t/s
20
25
−1
30
0
5
10
15 t/s
20
25
30
FIG. 6 TIME EVOLUTION OF THE COORDINATE VARIABLES OF THE ROBOT REFERENCE POINT IN TRACKING A CIRCULAR TRAJECTORY
As shown in Fig. 3 to Fig. 6, in both cases the reference point of the robot is able to reach the desired trajectory and stay on the trajectory thereafter. It is confirmed that the validity of the proposed algorithm is explicitly for the purpose of trajectory tracking in such uncertainty as significant parameter variations.
76
Studies in System Science (SSS) Volume 2, 2014 www.as‐se.org/sss
Conclusions
A sliding mode control scheme with bounds estimation is presented for trajectory tracking of a spherical mobile robot by using the theory of VSS. The basic principle of this methodology lies in the use of the regressor matrix, which makes it possible to isolate the unknown uncertainties from the robot dynamics. Based on the upper bounds of these unknown uncertainties which are estimated by a simple adaptive law, the proposed sliding mode controller strictly guarantees the asymptotic stability of the closed‐loop system. The robustness analysis shows that even in the presence of the uncertainties, which are assumed to be unbounded and fast‐varying, the closed‐loop system can still be stabilized. Simulation results show the validity of the proposed control approach. ACKNOWLEDGMENT
The authors wish to acknowledge the financial support provided by the National Natural Science Foundation of China (No. 51175048) and the Cultivation Fund of the Key Scientific and Technical Innovation Project, Ministry of Education of China (No. 708011). REFERENCES
[1]
Soeanto, D., Lapierre, L., and Pascoal, A. “Adaptive, Non‐singular Path‐following Control of Dynamic Wheeled Robots.” Proceedings of 42nd IEEE Conference on Decision and Control, Maui, HI, USA, 2, 1765‐1770, 2003.
[2]
Alves, J. and Dias, J. “Design and Control of a Spherical Mobile Robot.” Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 217(6), 457‐467, 2003.
[3]
Zhan, Q., Liu, Z., and Cai, Y. “A Back‐stepping Based Trajectory Tracking Controller for a Non‐chained Nonholonomic Spherical Robot.” Chinese Journal of Aeronautics, 21(5), 472‐480, 2008.
[4]
Zheng, M., Zhan, Q., Liu, J., and Cai, Y. “Trajectory Tracking of a Spherical Robot Based on a RBF Neural Network.” Proceedings of the International Conference on Electrical Engineering and Automatic Control, Zibo, China, 7, 151‐154, 2010.
[5]
Cai, Y., Zhan, Q., and Xi, X. “Path Tracking Control of a Spherical Mobile Robot.” Mechanism and Machine Theory, 51, 58‐73, 2012.
[6]
Yu, T., Sun, H., Zhang, Y., and Zhao, W. “Control and Stabilization of a Pendulum‐driven Spherical Mobile Robot on an Inclined Plane.” International Symposium on Artificial Intelligence, Robotics and Automation in Space, Turin, Italy, 22‐28, 2012.
[7]
Bloch, A. M., Reyhanoglu, M., and McClamroch, N. H. “Control and Stabilization of Nonholonomic Dynamic Systems.” IEEE Transactions on Automatic Control, 37(11), 1746‐1757, 1992.
[8]
Jarzebowska, E. M. “Advanced Programmed Motion Tracking Control of Nonholonomic Mechanical Systems.” IEEE Transactions on Robotics and Automation, 24(6), 1315‐1328, 2008.
[9]
Zheng, M., Zhan, Q., Liu, J., and Cai, Y. “Control of a Spherical Robot: Path Following Based on Nonholonomic Kinematics and Dynamics.” Chinese Journal of Aeronautics, 24(3), 337‐345, 2011.
Tao Yu was born in Jinzhou, Liaoning, China, in 1980. He received the B.S. and M.S. degrees in mechanical engineering from Jilin University, Changchun, Jilin, China, in 2002 and 2005, respectively, and the Ph.D. degree in mechanical engineering from Beijing University of Posts and Telecommunications, Beijing, China, in 2014. He is currently an Associate Professor with Faculty of Mechanical Engineering and Automation, Liaoning University of Technology, Jinzhou, Liaoning, China. His main research interests include sliding mode control, intelligent control, and robotics. Hanxu Sun was born in Hanzhong, Shanxi, China, in 1960. He received the M.S. degree in mechanical engineering from Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun, Jilin, China, in 1986, and the Ph.D. degree in mechanical engineering from Beijing University of Aeronautics and Astronautics, Beijing, China, in 1989. He is currently a Professor with School of Automation, Beijing University of Posts and Telecommunications, Beijing, China. His main research interests concern the dynamics and control of industrial robots, space robots and special robots.
77