Uncertainty Estimator-based Sliding Mode Control for a Novel Spherical Robot with Cable Transmission Mechanism

This paper presents a new spherical robot with a cable transmission mechanism. Cable transmission mechanism replaces conventional gear train to eliminate the inﬂu-ence of gear backlash, lower the costs on mechanical cus-tomization, and can be arranged ﬂexibly. By projection method, the 3D robot dynamic model with structural asymmetry is decoupled into balance subsystem and velocity subsystem, and the kinetics equations are established based on Newton-Euler’s law. To estimate the unknown structural dynamics in the balance subsystem and external disturbance in the velocity subsystem, adaptive law containing both control and estimation error information is proposed for the uncertainty estimator (UE) design. Then, an uncertainty estimator-based sliding mode controller (UESMC) is introduced for balance and velocity control, leading to enhanced disturbance rejection capability and a reduced steady-state error. Simulations and experiments on a real spherical robot are conducted to demonstrate the efﬁcacy of the proposed control strategies.

the degree of freedom (DoFs), spherical robots belong to underactuated systems, getting much attention from the control community, and many meaningful achievements have been published in [6,2,9,24,21,10,26]. However, the control of spherical robot is more difficult than that of traditional wheeled mobile robot. Specifically, the contact area between the spherical shell and the ground is only one point and, subsequently, the internal or external disturbance will cause unpredictable effects on the tracking performance. In this paper, we will focus on the control problem of a spherical robot system where the spherical shell is actuated by a pendulum mechanism. For the spherical robot, the objective in this paper is to roll along a straight trajectory at an expected velocity. To accomplish this control objective, besides the velocity control, the balance control of the spherical shell should also be considered as the work in [13].
In the past years, the study of spherical robots has made great progress. For instance, a traditional PID controller is adopted in [18] to guarantee the stability for position tracking error, and the backstepping control is applied for trajectory tracking control in [4]. In [3], a Beta function-based feedforward controller is established for tracing spherical contact curves and this method is verified in simulations, tracing Viviani's curve and Loxodrome. By analyzing energy consumption, based on inverse dynamics, the optimal path between two points is investigated in [22]. More recently, multiple control techniques are proposed in [11] to achieve the balance and movement of a ballbot, including robust nonlinear control, sliding mode control, and backstepping control. However, these mentioned studies just perform feedback control for the spherical shell, without considering the control for the pendulum. For better robustness and control accuracy, closed-loop control for both spherical shell and pendulum will be conducted in this paper, where the reference signals of spherical shell and pendulum are required. In fact, the reference signal of the spherical shell is set by us before control, whereas that of the pendulum is unknown, which is concluded as a "Where-to-Go" problem.
The value of the reference signal of the pendulum is related to the uncertainty in the dynamics of the spherical robot, which will be presented in Section 3. Therefore, to deal with the "Where-to-Go" problem, an uncertainty estimator or disturbance observer for the robot system should be designed. Till now, many successful investigations on disturbance observer have been proposed and applied in practical industries, such as extended state observer (ESO) proposed by Han in [12], nonlinear ESO [29,25,20], sliding mode observer (SMO) [5,27,16,14] and disturbance approximation using neural network [17,8,28,23]. Unfortunately, most of them are adjusted by the state tracking error, ignoring the uncertainty estimation error. Motivated by the PID controller, which uses the state tracking error to update the controller and guarantee the stability of the state tracking error, we will consider the uncertainty estimation error in the proposed estimator to guarantee the convergence of the uncertainty estimation. According to our mentioned review, the full-state feedback control for both the spherical shell and pendulum is still a challenging issue. To deal with the issue, we will design new uncertainty estimator-based sliding mode controllers in this paper, and our contributions are as follows: 1) A novel spherical robot with a cable transmission mechanism is presented. Compared with the gear train used in [7,19,1,15], the cable transmission mechanism is much cheaper and can be flexibly arranged in the robot.
2) From a 3D model perspective, without the consumption that the structure of the spherical robot is symmetric, balance control is considered for velocity tracking in this paper, which better meets the requirements of practical application. Specifically, the robot system is decoupled into balance subsystem and velocity subsystem on different planes. And the equivalent length of the pendulum in each subsystem is derived by projecting the original pendulum onto the two planes.
3) Adaptive law containing both state tracking error and uncertainty estimation error is designed for uncertainty estimator. Then, the proposed uncertainty estimator is cooperated into a sliding mode scheme for the balance and velocity control. Through this operation, the stability of state tracking error and uncertainty estimation error can both be guaranteed.
This paper is organized as follows. A novel spherical robot with a cable transmission mechanism and the dynamics of the robot system are presented in Sect. 2. Sect. 3 shows the designed UESMC of this paper. Simulation and experimental results are provided to demonstrate the advantages of the proposed method in Sect. 4 and Sect. 5, respectively. Section 5 states the conclusion.
2 Mechanical design and dynamic modeling

Mechanical design
The 3D schematic diagram of the designed spherical robot is presented in Fig. 1. The forward (or backward) movement and the turning motion of the spherical robot are both realized by changing the center position of the mass. In the center of the robot, the shaft of a DC motor is parallel to the shaft of the spherical shell. The DC motor rotates the pendulum, shifting the center of mass outward from the center, and the spherical shell begins to roll forward (or backward). At the top of the middle of the cuboid box shown in Fig. 1, there is a servo motor used for adjusting the angle of deviation from the vertical axis by tightening (or loosening) the cable between the servo motor and the pendulum.
The process of the servo motor adjusting the pendulum through the cable is presented in Fig. 2: The initial state of the pendulum is shown in the middle figure of Fig. 2 and now the cables are tight. When the servo motor rotates clockwise, the red cable is tightening, and the blue cable begins to be loosened. Thus the pendulum is driven clockwise as shown in the left figure of Fig. 2 and then the spherical

Dynamic modeling
The decoupled schematic diagram of the spherical robot is given in Fig. 3. As shown in Fig. 3, the dynamic model of the spherical robot is decoupled into two subsystems Σ X and Σ Y , representing the balance subsystem and the velocity subsystem, respectively. The reference frame O b − X b Y b Z b denotes the body-fixed reference frame and frame O g − X g Y g Z g is the ground reference frame. Angle ϕ , θ denote the angular displacement of the spherical shell in Σ X , Σ Y and the corresponding angular displacement of the pendulum are ζ , γ. When the spherical robot is driven on the road, the mass of the robot is simplified into two parts, that is, the mass of the spherical shell M s and the pendulum m p .
To establish the kinetics of the subsystems, the force analysis diagram of spherical shell and pendulum in each subsystem is presented in Fig. 4.

Modeling of balance subsystem
For balance subsystem Σ X shown in Fig. 4(a), the rolling friction on plane Y g O g Z g is sufficiently small to be ignored, and the balance of the sphere is only affected by the eccentric torque Ξ x on plane Y g O g Z g . The eccentric distance ε of the spherical shell is marked in Fig. 3(a) and Fig. 4(a). During the modeling process, the spherical shell and the pendulum are analyzed separately. As illustrated in the right figure of Fig. 4(a), based on Newton-Euler's law, the motion of the pendulum can be described by where a y1 , a z1 are the acceleration of the pendulum along O g Y g axis and O g Z g axis, respectively. F y ′ , F z1 ′ are the corresponding internal forces. L 1 is the moment of momentum of the equivalent particle A about O b Y b axis. ∑ M 1 is the sum of moment applied to O b , including the control input torque, the inertia moment and the torque generated by the gravity of the pendulum. According to physics knowledge, we can get a y1 = Rφ + l 2ζ cos ζ − l 2ζ 2 sin ζ , a z1 = l 2ζ sin ζ + l 2ζ 2 cos ζ , Similarly, based on Newton-Euler's law, the motion of the spherical shell in left figure of Fig. 4(a) can be described by where a y2 , a z2 are the acceleration of the spherical shell along O g Y g axis and O g Z g axis, respectively. F y , F z1 are the interaction forces of F y ′ , F z1 ′ , respectively. F t1 denotes the tangential force and F N1 denotes the support force between the ground and the spherical shell. L 2 is the moment of momentum of the spherical shell about O b Y b axis. ∑ M 2 is the sum of moment applied to O b , including the control input torque, the eccentric torque Ξ x and the torque generated by (1), the differential equation of the pendulum is derived as Combining (1) and (2), the differential equation of the spherical shell is computed as where a = 1 3 (5M s + 3m p )R 2 , b x = m p Rl 2 , c x = m p l 2 2 , d x = m p gl 2 , and R is the radius of the spherical shell. By choosing the state variables in the subsystem Σ X as x 1 = ϕ , x 2 =φ , x 3 = ζ , x 4 =ζ , the dynamic model of the spherical robot (5) rolling along O g −Y g is given aṡ and

Modeling of velocity subsystem
The dynamic modeling of velocity subsystem Σ Y is established in the same way as the process in 2.2.1. For velocity subsystem Σ Y , as the robot rolls forward (or backward) along O g X g axis, the rolling friction Ξ y is the main disturbance.
As mentioned in 2.2.1, based on Newton-Euler's law, the motion of the pendulum (right figure of Fig. 4(b)) in subsystem Σ Y and the spherical shell (left figure of Fig. 4(b)) can be expressed as with the following components: a x1 , a z3 : Acceleration of the pendulum along O g X g , O g Z g axis, respectively. a x2 , a z4 : Acceleration of the spherical shell along O g X g , O g Z g axis, respectively.
Internal interaction forces. L 3 , L 4 : Moment of momentum of the equivalent particle A and spherical shell about O b X b axis, respectively. F t2 , Ξ y : Tangential force and rolling friction torque, respectively.
Meanwhile, a x1 = Rθ +l 1γ cos γ −l 1γ 2 sin γ, a z3 = l 1γ sin γ + l 1γ 2 cos γ, Then, the differential equation of the pendulum and the spherical shell are derived as m p l 1 2γ + m p Rl 1θ cos γ = τ y − m p gl 1 sin γ which can be rewritten as Likely, if we choose states in Σ Y as x 5 = θ , x 6 =θ , x 7 = γ, x 8 =γ, the dynamic model of the spherical robot rolling along O g − X g can be derived as follows: where b y = m p Rl 1 , c y = m p l 2 1 , d y = m p gl 1 . From Fig. 3(a), it is known that the equivalent/projection length l 1 , l 2 and the original length l of the pendulum satisfy the following mechanical constraints l 1 cos(γ) = l 2 cos(ζ ) Remark 1 Generally, while studying the linear motion of a spherical robot, the researchers, from a simplified 2D model perspective, always assume that the mass of the robot is symmetrically distributed, which is not valid for a real robot. In this paper, a more realistic 3D dynamic model is developed using (6), (12), and the structural asymmetry is also considered. Moreover, the overall dynamics of the spherical robot is decoupled into two subsystems subjected to (14). Through this operation, each subsystem can be analyzed separately, which dramatically simplifies the controller design problem.

Uncertainty estimator-based sliding mode control design
This paper aims to control the spherical robot to track a given trajectory, i.e., a straight line with an expected velocity. To achieve this goal, two controllers should be designed for the two underactuated subsystems, corresponding to the balance control and the velocity control, respectively. The overall control diagram for the spherical robot is shown in Fig. 5.
In practical situation, the eccentric torque and rolling friction are unknown and cannot be measured directly. Therefore, the uncertainty estimator (UE) should be designed to estimate the uncertainty. In Fig. 5, the adaptive laws are designed for the updating of UE online, considering the information of both state tracking error and uncertainty estimation error. Meanwhile, considering that the subsystems (6) and (12) are nonlinear with high orders, the hierarchical sliding mode control technique is adopted both in the balance adjustment and velocity control process. The tracking errors e x and e y are defined as where x 1d , x 3d , x 5d , x 7d are the reference signals.

Controller design
In this subsection, the balance controller is designed to guarantee that the robot can roll along straight trajectory. Actually, the reference signals in (15) are partially known, that is, x 1d , x 5d can be set by us before control and x 3d , x 7d are unknown and related with value of the uncertainty. While tracking a straight trajectory by predefined velocity, the robot's desired states for balance subsystem Σ X and velocity subsys- To facilitate UE's design, define (6) and (12) can be rewritten aṡ The first layers of sliding mode surface of the subsystems Σ X and Σ Y are defined as Then, the first derivative with respect to time of (18) arė where i = 1, 2, j = 3, 4, and the equivalent controllers are derived fromṠ i = 0(i = 1, 2) andṠ j = 0( j = 3, 4), so we can get the following equations: In order to make full use of the state information of the spherical shell and the pendulum, the second layer of sliding mode surfaces are defined as First-order filtering is performed on each item in (17) to obtain the variables that are not easily measured. This operation is shown as follows where X B f , ϖ 1 f , ϑ 1 f are the filtered variables of X B , ϖ 1 and ϑ 1 , and X V f , ϖ 2 f , ϑ 2 f are the filtered variables of X V , ϖ 2 and ϑ 2 , respectively. Meanwhile, from (17) and (22), we can geṫ Auxiliary matrix P 1 , Q 1 , P 2 and Q 2 are introduced by the following differential equation: By solving differential equations in (24), matrix P 1 , Q 1 , P 2 and Q 2 are derived as The parameters c i (i = 1, 2) and c j ( j = 3, 4) in (18), λ i (i = 1, 2) and λ j ( j = 3, 4) in (21), ℓ 1 and ℓ 2 in (22) and n 1 , n 2 in (24) are all positive to be designed. Taking (23) into (25), we can get function H 1 , H 2 of the estimation errorΞ x and Ξ y , which are With both the estimation error and system tracking error considered, we present adaptive law of UE in the subsystems as shown in (27): (27) where Γ 1 > 0, ρ 1 > 0, Γ 2 > 0, ρ 2 > 0. If the switch controllers for balance subsystem and velocity subsystem are chosen as Finally, as τ x = 1 τ xeq + 2 τ xeq + τ xsw , τ y = 3 τ yeq + 4 τ yeq + τ ysw , the final balance controller and velocity controller are computed as where k 1 , k 2 , k 3 and k 4 are positive parameters to be selected.
Theorem 1 By adopting balance controller and velocity controller in (29) with adaptive law (27) of UE, the stability while tracking the desired straight trajectory at predefined velocity can be guaranteed for the spherical robot system in (6) with uncertain structural modeling part Ξ x and in (12) with uncertain rolling friction Ξ y .
Remark 2 Unlike traditional adaptive control schemes, the proposed adaptive law (27) contains both the uncertainty estimation error and the control error information, which can guarantee the convergence of uncertainty estimation and robot control simultaneously.

Stability proof
In this subsection, the stability proof of Theorem 1 will be given. As balance controller and velocity controller in (29) have the same form and the corresponding adaptive laws (27) are in the same form as well, it's enough only to provide the stability proof for balance control and a similar proof process for velocity control can be derived by referring to the presented proof.
Proof Firstly, construct Lyapunov function as This completes the proof of balance control. In the proof, there exists the fact that matrix P 1 is positive definite, as our system is persistent exaction (PE) condition.

Simulation results
In this section, numerical simulations are provided to validate the effectiveness of the proposed controllers in terms of the straight trajectory tracking for the spherical robot. The physical parameters of the spherical robot model are set as M s = 3kg, m p = 8kg, R = 0.175m, l = 0.094m, g = 9.81N/kg. In the simulations, the uncertainty Ξ x and Ξ y to be estimated and compensated in the controllers are given as where Ξ y is linearly varying from 6s to 7s and 13s to 14s.
2) NNSMC: In this NNSMC method, the neural network (NN) is adopted to approximate the uncertainty Ξ x and Ξ y and compensated in the same SMC scheme of this paper, , h y (x), g y (x) are the basis functions,V h ,V g ,Ŵ h ,Ŵ g are the estimated NN weights. The adaptive laws for updating the NN weights are derived froṁ where η 1 = η 2 = 20, η 3 = η 4 = 1. The control parameters are the same with that in UESMC. 3) PID: This classical PID controller is determined as The simulation results are plotted in Figs. 6-9, respectively. In Fig. 6(a), the spherical shell shows faster convergence speed under the proposed balance controller than NNSMC and PID. The velocity tracking performance in the velocity subsystem is shown in Fig. 6(b), from which we can see that the UESMC has more robust performance on disturbance rejection than the compared methods, especially when the unknown rolling friction changes suddenly.
As mentioned in Sec. 3, the desired position of the pendulum is unknown before control due to the underactuated characteristic. Owing to the uncertainty estimator or approximator in UESMC and NNSMC, the desired position of the pendulum in balance subsystem and velocity subsystem can be computed online for these two methods, referring to the lines labeled as Reference and Reference 2 in Figs. 7-8. For PID, the desired position of pendulum is assumed to be known, i.e., the line labeled as Reference 3 in Figs. 7-8, because PID lacks the ability to estimate the uncertainty. From the curves of position tracking error in Figs. 7-8, it can be found out that the proposed method presents more minior steady-state error of pendulum than NNMSC and PID both in balance subsystem and velocity subsystem. Fig. 9 is the result of uncertainty estimation under the proposed method and NNSMC, in which the proposed method has better estimation performance than NNSMC, especially in Fig. 9(b), proving the effectiveness of the proposed UE.

Experimental results
To show the effectiveness of the proposed controllers, we carried out experiments using the spherical robot in Fig. 1(b). The control module of this spherical robot is Arduino Nano V3.0. A Bluetooth module is used for information interaction between the PC and the control board. MPU6050 sensor is used for states measurement. And the programming software is Arduino IDE version 1.8.9. Throughout the experiments, the parameters of compared controllers are kept the same with those in the simulations. We placed a rod with 2cm radius across the path of the robot as an obstacle.
The experimental results are shown in Fig. 10. By adopting the proposed balance controller, the spherical shell can be steered to the desired position more accurately than NNSMC and PID, as it has the smallest overshot in Fig. 10(a). As we can see, when the robot contacts the obstacle, the bal- ance of the spherical shell gets affected: the largest angle of inclination is −1 × 10 −3 rad for proposed method, −2.2 × 10 −3 rad for NNSMC and −4.8 × 10 −3 rad for PID. The velocity tracking performance is depicted in Fig. 10(b), where the desired velocity of spherical shell in velocity subsystem is 0.5rad/s, and the velocity tracking error is compared in Fig. 11. Obviously, the spherical shell gets the most minior steady-state error while tracking the desired velocity under the proposed method. Furthermore, the curves' recovery process from the sudden drop in Fig. 10(b) and Fig. 11 show that NNSMC and PID controller consumed more time to actuate the robot to reach the desired velocity. These indicate that our proposed UESMC can suppress added disturbance more quickly and exhibits better robustness.

Conclusion
To control the balance and velocity of our novel spherical robot with a cable transmission mechanism, UESMC is proposed in this article. Specifically, the 3D robot dynamic model with structural asymmetry is decoupled into balance subsystem and velocity subsystem. The uncertainty estimator is designed to implement the feedback control of both the spherical shell and pendulum for the subsystems. Moreover, adaptive law containing both control and estimation error information is proposed for the uncertainty estimator design, which guarantees the uncertainty error's stability. Finally, simulations and experiments on a real spherical robot are conducted to demonstrate the efficacy of the proposed UESMC. In our future work, we will devote to the perfection of the hardware design and manufacturing, and investigate novel algorithms to test the robot in the wild.