Next Article in Journal
Graph-Based Modeling in Shop Scheduling Problems: Review and Extensions
Previous Article in Journal
Multi-Structural Optimization of Bearingless Permanent Magnet Slice Motor Based on Virtual Prototype in Ansoft Maxwell
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Neural Network Control for Trajectory Tracking and Balancing of a Ball-Balancing Robot with Uncertainty

1
Department of Future Convergence Engineering, Kongju National University, Cheonan 31080, Korea
2
Department of Electrical, Electronic, and Control Engineering, Kongju National University, Cheonan 31080, Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(11), 4739; https://doi.org/10.3390/app11114739
Submission received: 7 May 2021 / Revised: 18 May 2021 / Accepted: 19 May 2021 / Published: 21 May 2021

Abstract

:
In this paper, a neural-network-based control method to achieve trajectory tracking and balancing of a ball-balancing robot with uncertainty is presented. Because the ball-balancing robot is an underactuated system and has nonlinear couplings in the dynamic model, it is challenging to design a controller for trajectory tracking and balancing. Thus, various approaches have been proposed to solve these problems. However, there are still problems such as the complex control system and instability. Therefore, the objective of this paper was to propose a solution to these problems. To this end, we developed a virtual angle-based control scheme. Because the virtual angle was used as the reference angle to achieve trajectory tracking while keeping the balance of the ball-balancing robot, we could solve the underactuation problem using a single-loop controller. The radial basis function networks (RBFNs) were employed to compensate uncertainties, and the controller was designed using the dynamic surface control (DSC) method. From the Lyapunov stability theory, it was proven that all errors of the closed-loop control system were uniformly ultimately bounded. Therefore, the control system structure was simple and ensured stability in achieving simultaneous trajectory tracking and balancing of the ball-balancing robot with uncertainty. Finally, the simulation results are given to verify the performance of the proposed controller through comparison results. As a result, the proposed method showed a 19.2 % improved tracking error rate compared to the existing method.

1. Introduction

Mobile robots have been attracting attention in many fields due to their various applications. Therefore, various techniques have been proposed to operate mobile robots, such as automatic control and a brain–computer interface (BCI) that connects the brain and a computer to control the robot [1]. In this paper, we focused on the automatic control of a ball-balancing robot, which is a type of mobile robot. The ball-balancing robot is an omnidirectional mobile robot, the body of which is placed over a spherical wheel. Because of this characteristic, a control strategy different from traditional methods for mobile robots was required to achieve simultaneous trajectory tracking and balancing. However, designing the controller was challenging due to several problems such as underactuation and nonlinear coupling.
Early studies used single-loop control methods such as proportional–integral–derivative (PID) [2] and a linear quadratic regulator (LQR) [3], which was only possible for balancing the robot. To enable both trajectory tracking and balancing of the robot, multi-loop control methods such as PI-LQR [4] and PD-PID [5] were presented using independent inner- and outer-loops. However, the above papers were based on the linearized model, which requires a narrow operating range. Although the partial feedback linearization (PFL) technique [6] was proposed to relax this restriction, the control system using the multi-loop method becomes complex due to additional feed-forward controllers for robustness against uncertainties [7].
Sliding mode control (SMC) is a representative nonlinear control method that is robust to uncertainty. Thus, the hierarchical sliding mode control (HSMC) method [8], which is composed of combinations of independent sliding surfaces, was proposed to address underactuated systems. The HSMC method based on the two-dimensional model of the ball-balancing robot was presented in [9] and then applied to the aggregated model to consider the combined effects [10]. An integral backstepping technique using the HSMC structure was proposed in [11], and an artificial neural network-based method [12] was presented to deal with uncertainty and input saturation. The hierarchical structure used in the above papers can solve the underactuation problem and has robustness for uncertainties. However, the hierarchical structure has the local minimum problem [13], which may not guarantee the convergence of all errors.
Therefore, a different approach was needed to achieve simultaneous trajectory tracking and balancing for the ball-balancing robot. In this regard, we proposed a virtual angle-based approach [14]. The virtual angle composed of the tracking errors was used as a reference angle to achieve simultaneous trajectory tracking and balancing using the single-loop control system. However, the upper bounds of uncertainties for robustness should be known, which may be impossible in the real world. Artificial intelligence can be a solution to address this problem. In [15], deterministic artificial intelligence (DAI) was used for underactuated systems with nonlinear couplings. In [16], a artificial neural network was employed to deal with model uncertainty and the external disturbance of underactuated surface vessels. The field of non-stochastic or DAI involves the assertion of self-awareness statements and uses optimal learning to compensate the deleterious effects of error sources [15]. On the other hand, an artificial neural network (ANN), which is in the field of stochastic artificial intelligence, does not need to devise an algorithm to perform a particular task because the learning process of a neural network takes place by itself [17].
Motivated by these observations, we proposed a neural network-based control for trajectory tracking and balancing of the ball-balancing robot with uncertainty. A virtual angle-based control method was used to design a single-loop control system to achieve trajectory tracking and balancing of the robot. Unlike in [14], the radial basis function networks (RBFNs) [18], a kind of ANN, were used to compensate the uncertainties without knowing their upper bounds, and the dynamic surface control (DSC) method [19] was employed to design the controller. From the Lyapunov stability theory, it was proven that all errors of the closed-loop control system were uniformly ultimately bounded. Finally, the performance of the proposed method was demonstrated through the simulation results.
The main contributions of this paper are summarized as follows:
  • The trajectory tracking and balancing of the ball-balancing robot was achieved using a single-loop controller;
  • It was possible to implement a control system without any knowledge of the upper bounds of uncertainties.
This paper is organized as follows. In Section 2, the dynamics of the ball-balancing robot and the RBFNs are described, and the neural network-based controller is developed for trajectory tracking and balancing of the ball-balancing robot. In Section 3, the simulation results are presented to demonstrate the performance of the proposed method, and the discussion is given in Section 4.

2. Materials and Methods

In this section, we describe the system model of the ball-balancing robot for formulating the problems and introduce the RBFNs for compensating the uncertainty.

2.1. Dynamics of the Ball-Balancing Robot

Consider the ball-balancing robot shown in Figure 1. Assuming that there is no slip between the sphere and the floor and between the driving wheels and the sphere, the dynamic equation of the ball-balancing robot can be expressed as [12]:
M ( q ) q ¨ + C ( q ˙ , q ) q ˙ + f ( q ˙ ) + g ( q ) = B ( q ) u .
Here, M ( q ) R 4 × 4 is the symmetric inertia matrix, C ( q ˙ , q ) R 4 × 4 represents the Coriolis and centripetal matrix, f ( q ˙ ) R 4 is the friction matrix, g ( q ) R 4 is the gravity vector, B ( q ) R 4 × 2 denotes control input matrix, and u R 2 represents the control input vector. These terms are given by:
M ( q ) = m 1 m 2 m 3 m 4 m 2 m 5 m 6 m 7 m 3 m 6 m 8 0 m 4 m 7 0 m 9 , C ( q ˙ , q ) = c 11 c 12 c 13 c 14 c 21 c 22 c 23 c 24 c 31 c 32 c 33 c 34 c 41 c 42 0 c 44 , f ( q ˙ ) = ζ x x ˙ , ζ y y ˙ , ζ θ θ ˙ , ζ φ φ ˙ , g ( q ) = 0 , 0 , g 3 , g 4 , u = u x , u y , B ( q ) = B s , B b , q = x , y , θ , φ , B s = 1 r w 0 cos φ cos θ sin φ cos θ , B b = r s r w 0 1 1 0 ,
where the X- and Y-axis positions of the ball are denoted by x and y, respectively, pitch and roll are denoted by θ and φ , respectively, and u x and u y denote the control inputs of the virtual acting wheels by the three omnidirectional wheels, respectively. The terms in ζ i ( i = x , y , θ , φ ) are viscous coefficients. r s and r w denote the ball radius and omnidirectional wheel radius, respectively. It is noted that control input matrices B s and B b are invertible with | θ | , | φ | < π / 2 . The terms in M ( q ) , C ( q ˙ , q ) , and g ( q ) are given in Appendix A.
The dynamic equation in (1) can be decoupled into two subsystems of the position and the angle as follows:
q ¨ s = F s + Δ F s + G s u ,
q ¨ b = F b + Δ F b + G b u .
In these expressions, q s = x , y , q b = θ , φ , and the matrices F j , Δ F j and G j ( j = s , b ) are given in Appendix B. Δ F j represents the model uncertainties including viscous damping coefficients ζ i ( i = x , y , θ , φ ) .
The control objective was to design the control input u satisfying that lim t q s q s r = μ 0 and lim t q b q b r = μ 1 , where q s r = x r , y r and q b r = 0 , 0 are the reference vectors for trajectory tracking and balancing, respectively, and μ 0 and μ 1 are arbitrary positive constants.

2.2. Radial Basis Function Networks

We employed the RBFNs [20] to approximate Δ F b , and it can be expressed as:
Δ F b = Δ F b 1 , Δ F b 2 = Φ 1 ( χ 1 ) ω 1 * + ε 1 , Φ 2 ( χ 2 ) ω 2 * + ε 2 ,
where χ i R n ( i = 1 , 2 ) is the input vector of the RBFN, ω i * R m is the optimal weight vector, m is the node number, ε i denotes the reconstruction error, and Φ i ( χ i ) = Φ i 1 ( χ i ) , , Φ i m ( χ i ) with:
Φ i j ( χ i ) = exp χ i μ i j 2 η i j 2 , j = 1 , 2 , , m .
Here, μ i j R n is the center of the receptive field and η i j is the width of the Gaussian function.
Assumption 1.
There exists an ideal constant weight vector ω i * such that | ε i | ε M with a positive constant ε M for i = 1 , 2 , and the optimal weight vector is defined as the value of ω ^ i that minimizes | ε i | , i.e.,
ω i * = arg min ω ^ i R m sup χ i R n | Δ F b i Φ i ( χ i ) ω ^ i | .
Assumption 2.
The optimal weight vector is bounded such that ω i * ω M with a positive constant ω M .

2.3. Controller Design

The ball-balancing robot model given in (2) and (3) is underactuated and has uncertainties. To deal with these problems, we introduced a virtual angle that can achieve both the trajectory tracking and balancing of the robot and designed a neural-network-based controller using the DSC method step-by-step.
Let us define the following errors:
e s = e x , e y = q s q s r , z 1 = tanh q b θ f ,
z 2 = z 21 , z 22 = q ˙ b α f ,
where θ f and α f are the signals filtered by τ 1 2 θ ¨ f + 2 τ 1 θ ˙ f + θ f = θ v and τ 2 α ˙ f + α f = α with positive design parameters τ 1 and τ 2 . In these expressions, α denotes the virtual control input and θ v denotes the virtual angle for the underactuation problem given by:
θ v = λ θ s , s = e ˙ s + λ e s ,
where λ θ is a diagonal matrix and λ > 0 is a design parameter.
Remark 1.
In (8), the boundedness of z 1 implies that θ f and θ v are bounded. This leads to the boundedness of the tracking error e s from (9). If the tracking error converges to zero, it is easily shown that the body angle q b of the robot also converges to zero from (8) and (9). Therefore, we can solve the underactuation problem.
Remark 2.
The first and second derivatives of the virtual angle θ v are required to design a controller. By the definition of the virtual angle in (9), it includes the control input u , which is impossible to implement the controller. To avoid this problem, we used the virtual angle θ f passed through the second-order filter.
Differentiating both sides of (8) using (3) gives the following error dynamics:
z ˙ 1 = H 1 ( z 2 + α f ) θ ˙ f ,
z ˙ 2 = F b + Δ F b + G b u α ˙ f ,
where H 1 = diag ( sech 2 θ , sech 2 φ ) and diag ( · ) denotes a diagonal matrix. Note that H 1 is invertible.
Step 1: Consider the Lyapunov function candidate as:
V 1 = 1 2 z 1 z 1 .
Let ϖ be the filter error of the virtual control input, i.e., ϖ = α α f . Differentiating both sides of (12) along (10) yields:
V ˙ 1 = z 1 ( H 1 ( z 2 + α ϖ ) θ ˙ f ) .
From (13), we chose the virtual control input vector α to be:
α = H 1 1 ( θ ˙ f K 1 z 1 ) ,
where K 1 is a diagonal positive definite matrix.
Step 2: Consider the Lyapunov function candidate as:
V 2 = 1 2 ( z 2 z 2 + ϖ ϖ ) .
The time derivative of (15) along (11) is:
V ˙ 2 = z 2 ( F b + Δ F b + G b u α ˙ f ) + ϖ ( α ˙ τ 2 1 ϖ ) .
From (16), we chose the actual control vector u to be:
u = G b 1 ( F b Φ 1 ( χ 1 ) ω ^ 1 , Φ 2 ( χ 2 ) ω ^ 2 + α ˙ f K 2 z 2 H 1 z 1 ) ,
where K 2 is a diagonal positive definite matrix and ω ^ i ( i = 1 , 2 ) denotes the estimate of the optimal weight vector ω i * for the RBFNs.
Remark 3.
Because the ball-balancing robot is operated by the three driving motors acting on the spherical wheel, it needs torque conversion between the control input u and the actual motors for the implementation (see the details in [7]).
Step 3: Consider the total Lyapunov function candidate as:
V T = V 1 + V 2 + 1 2 i = 1 2 ω ˜ i Γ i 1 ω ˜ i ,
where ω ˜ i = ω i * ω ^ i and Γ i is a diagonal positive definite matrix.
The time derivative of (18) along (13), (14), (16), and (17) is:
V ˙ T = z 1 K 1 z 1 z 2 K 2 z 2 + z 2 Φ 1 ( χ 1 ) ω ˜ 1 + ε 1 Φ 2 ( χ 2 ) ω ˜ 2 + ε 2 τ 2 1 ϖ ϖ z 1 H 1 ϖ + ϖ α ˙ i = 1 2 ω ˜ i Γ i 1 ω ^ ˙ i .
From (19), we chose the update law ω ^ ˙ i to be:
ω ^ ˙ i = Γ i ( Φ i ( χ i ) z 2 i σ i ω ^ i ) , i = 1 , 2 ,
where σ i is a positive design parameter.
Substituting (20) into (19) yields:
V ˙ T = i = 1 2 z i K i z i + σ i ω ˜ i ( ω ˜ i ω i * ) τ 2 1 ϖ ϖ z 1 H 1 ϖ z 2 ε + ϖ α ˙ ,
where ε = ε 1 , ε 2 .

3. Results

In this section, the stability of the control system designed in Section 2 is analyzed using the Lyapunov stability theory, and the main result of this paper is given. Moreover, the simulation results are provided to verify the performance of the proposed method.

3.1. Stability Analysis

The main result of this paper is given by the following theorem.
Theorem 1.
Consider the ball-balancing robot model given in (2) and (3). Under Assumptions 1 and 2, if the control inputs α and u given in (14) and (17) with the update law (20) are applied to the ball balancing model, then for any initial conditions satisfying V T ( 0 ) p , where p is a positive constant, it is ensured that all error signals in the closed-loop system are uniformly ultimately bounded and can be made arbitrarily small.
Proof. 
From (14), one can show that α ˙ η ( z 1 , z 2 , ϖ , θ f , θ ˙ f , θ ¨ f ) for some continuous functions η . Consider a set Q : = { ( θ f , θ ˙ f , θ ¨ f ) : θ f + θ ˙ f + θ ¨ f K 0 } and a set A : = { ( z 1 , z 2 , ϖ , ω ˜ 1 , ω ˜ 2 ) : z 1 z 1 + z 2 z 2 + ϖ ϖ + ω ˜ 1 Γ 1 1 ω ˜ 1 + ω ˜ 2 Γ 2 1 ω ˜ 2 2 p } where K 0 is a positive constant. Since Q and A are compact sets, there exists a positive constant η M such that η ( · ) η M on A × Q . Then, by Assumptions 1 and 2 and Young’s inequality, (21) can be rewritten as:
V ˙ T i = 1 2 z i K i 1 2 I 2 z i + 1 2 σ i ω ˜ i ω ˜ i ϖ τ 2 1 1 2 I 2 ϖ + ε M 2 + 1 2 σ 1 ω M 2 + 1 2 σ 2 ω M 2 + 1 2 η M 2 ,
where I 2 R 2 × 2 denotes the identity matrix.
Choosing K 1 = 1 2 I 2 + K 1 * , K 2 = 1 2 I 2 + K 2 * , and τ 2 1 = 1 2 + τ 2 * with K 1 * , K 2 * , τ 2 * > 0 results in:
V ˙ T c 0 V T + c 1 ,
where c 0 = min { λ K 1 * , λ K 2 * , τ 2 * , σ 1 λ Γ 1 1 , σ 2 λ Γ 2 1 } , c 1 = ε M 2 + 1 2 σ 1 ω M 2 + 1 2 σ 2 ω M 2 + 1 2 η M 2 , and λ ( · ) denotes the minimum eigenvalue of the matrix ( · ) .
Integrating both sides of (23) yields:
V ( t ) T V T ( 0 ) c 1 c 0 e c 0 t + c 1 c 0 ,
From (24), the boundedness of z 1 is guaranteed, and it leads to the boundedness of the virtual angle θ v .
Integrating both sides of (9) yields:
e s ( t ) min { e s ( 0 ) , λ 1 λ θ 1 θ v } .
Therefore, all errors in the closed-loop system are uniformly ultimately bounded and can be made arbitrarily small by properly choosing the design parameters. This completes the proof. □

3.2. Simulation Results

This section presents the simulation results on the proposed method. The model parameters are given in Table 1. The design parameters were chosen as K 1 = diag ( 10 , 10 ) , K 2 = diag ( 10 , 10 ) , λ = 2 , λ θ = diag ( 0.1 , 0.1 ) , σ 1 = σ 2 = 0.1 , and τ 1 = τ 2 = 0.1 . The initial states of the robot were taken as q = 0.2 , 0.2 , 0 , 0 . The friction parameters were chosen as ζ x = ζ y = 2 N · s / m and ζ θ = ζ φ = 1 N · s / rad . To consider perturbed dynamics, we assumed that we knew the nominal parameters as follows: m b = 116 kg , l = 0.23 m , I b x = 16.25 kg · m 2 , and I b y = 15.85 kg · m 2 . To verify the performance of the proposed method, the reference trajectory was composed of straight lines and curves, and the proposed controller (PC) was compared with the integral backstepping hierarchical sliding mode control (IBHSMC) method [12].
The simulation results on the trajectory tracking are shown in Figure 2. It can be seen that both methods had precise tracking performance for straight paths and slight errors for curved paths. Figure 3 shows the detailed simulation results. The trajectory tracking errors of the ball-balancing robot are shown in Figure 3a,b, and the body angles of the robot are depicted in Figure 3c,d. It can be seen that neither method made a significant difference in balancing performance. On the other hand, in trajectory tracking, the proposed method showed a 19.2 % improved error rate compared to the IBHSMC method. Figure 4a,b shows the control inputs and estimates of the optimal weights for the RBFNs, respectively. Table 2 shows the root mean square (RMS) of the tracking errors for various control gains. This result sufficiently validated that the tracking and balancing errors can be made arbitrarily small by properly choosing the design parameters. From these results, we could demonstrate that the proposed method was effective in achieving simultaneous trajectory tracking and balancing of the ball-balancing robot.

4. Discussion

In this paper, a neural-network-based control method was proposed for trajectory tracking and balancing of a ball-balancing robot. We introduced a virtual angle to solve the underactuation problem and designed a single-loop controller using the DSC method for a simple control system. Moreover, we employed the RBFNs to compensate for the uncertainties and derived the update laws for the RBFNs in the Lyapunov sense. From the Lyapunov stability theorem, it was proven that all errors in the closed-loop control system were uniformly ultimately bounded and could be made arbitrarily small. The simulation results, including comparisons with the previous method, were provided to verify the performance of the proposed method. It was shown that the proposed method had a 19.2 % improved tracking error rate compared to the previous method. In addition, it was confirmed that all errors could be made arbitrarily small as the choice of the design parameters shown in Table 2. Therefore, unlike other previous studies, the proposed method had a simple control system structure and guaranteed stability in achieving simultaneous trajectory tracking and balancing.
In this paper, it was assumed that all states, such as the position, body angle, and velocity of the robot, were measurable and exact. However, this may not be practical because it requires many sensors and can be contaminated by noise. The output-feedback control method using the observer can be a solution to this problem. Therefore, as future research, we will provide a control method that minimizes the use of sensors, such as output-feedback control.

Author Contributions

Conceptualization, H.-G.J. and B.-S.P.; methodology, H.-G.J., C.-H.H. and B.-S.P.; software, H.-G.J.; validation, C.-H.H. and B.-S.P.; investigation, H.-G.J.; writing—original draft preparation, H.-G.J.; writing—review and editing, C.-H.H. and B.-S.P.; supervision, B.-S.P.; funding acquisition, B.-S.P. All authors read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korean government Grant NRF-20191A2C1087552.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

The terms of the Lagrange equation are as follows [12]:
m 1 = m b s + 1.5 ( 3 S α 2 S φ 2 S α 2 + C φ 2 ) I w r , m 2 = 0.75 c 1 S 2 φ S θ , m 3 = 1.5 ( c 1 C φ 2 2 S φ 2 ) r s + l m b C φ C θ , m 4 = l m b S φ S θ , m 5 = m b s + 1.5 ( C α 2 C θ 2 + C α 2 S φ 2 S θ 2 + 2 C φ 2 S α 2 S θ 2 ) I w r , m 6 = 1.5 c 1 C φ S φ S θ I w r r s , m 7 = 1.5 r s C α 2 C θ I w r l m b C φ , m 8 = I b y C φ 2 + m b l 2 C φ 2 + 1.5 ( 3 S α 2 S φ 2 S α 2 + C φ 2 ) I w r r s , m 9 = I b x + m b l 2 + 1.5 r s 2 C α 2 I w r , c 11 = 3 S 2 φ ( 3 C 2 α 1 ) I w r φ ˙ / 8 , c 12 = 0.75 c 1 I w r ( S θ C 2 φ φ ˙ + c 2 θ ˙ ) , c 13 = 0.75 c 1 S 2 φ I w r x ˙ + 0.75 c 1 C 2 φ S θ I w r y ˙ l m b C φ S θ φ ˙ ( 1.5 r s C φ c 1 l m b C θ ) S φ I w r θ ˙ , c 14 = 0.75 c 1 c 2 I w r y ˙ ( 1.5 c 1 I w r r s C φ + l m b C θ ) S φ φ ˙ l m b C φ S θ θ ˙ , c 21 = 0.75 c 1 C 2 φ S θ I w r φ ˙ + 0.75 c 1 C φ C θ S θ I w r θ ˙ , c 22 = 1.5 c 1 C φ 2 C θ S θ I w r θ ˙ 1.5 c 1 C φ S θ 2 S φ I w r φ ˙ , c 23 = 0.75 c 1 C 2 φ S θ I w r x ˙ 0.75 c 1 S 2 φ S θ 2 I w r y ˙ + l m b S φ φ ˙ 0.5 ( c 1 C φ 2 + 2 C 2 φ ) r s S θ I w r θ ˙ , c 24 = 0.75 c 1 C φ C θ S φ I w r x ˙ + 1.5 c 1 C φ 2 C θ S θ I w r y ˙ + ( 3 3 c 1 C φ 2 2 C α 2 ) S θ I w r r s φ ˙ / 2 1.5 c 1 c 2 I w r r s θ ˙ , c 31 = 3 ( 3 C 2 α 1 ) S 2 φ C θ I w r y ˙ / 16 + 3 ( 3 C 2 α 1 ) S 2 φ I w r r s φ ˙ / 8 , c 32 = 3 I w r ( c 3 S θ r s φ ˙ / 2 c 1 c 2 x ˙ / 4 c 1 C φ 2 C θ S θ y ˙ / 2 ) , c 33 = 0.75 c 1 S 2 φ I w r r s x ˙ + 1.5 c 3 S θ I w r r s y ˙ + ( 3 r s 2 c 1 2 m b l 2 2 I b y ) S 2 φ I w r θ ˙ / 4 , c 34 = ( 4 m b l 2 + 4 I b y + 3 ( 3 C 2 α 1 ) S 2 φ I w r r s 2 ) φ ˙ / 8 , c 41 = 3 c 1 S 2 φ I w r x ˙ 3 c 1 S θ C 2 φ I w r y ˙ + 0.75 c 1 S 2 φ I w r r s θ ˙ , c 42 = 0.75 I w r ( c 1 S θ 2 S 2 φ y ˙ c 1 C 2 φ S θ x ˙ 2 c 3 S θ r s θ ˙ ) , c 44 = 0.75 c 1 S 2 φ r s I w r x ˙ 1.5 c 3 S θ r s I w r y ˙ + ( 2 m b l 2 3 c 1 I w r r s 2 + 4 I b y ) S 2 φ θ ˙ / 4 , g 3 = g l m b C φ S θ , g 4 = g l m b C θ S φ ,
where C ( · ) and S ( · ) denote cos ( · ) and sin ( · ) , respectively, and c 1 = ( 2 3 C α 2 ) , c 2 = C φ C θ S φ , c 3 = ( S α 2 c 1 C φ 2 ) , I w r = 3 I w C α 2 / ( 2 r w 2 ) , and m b s = m b + m s + I s / r s 2 .

Appendix B

The terms in (2) and (3) are defined as:
F s = M 1 1 ( C 11 q ˙ s + C 12 q ˙ b + g 1 ) , F b = M 2 1 ( C 21 q ˙ s + C 22 q ˙ b + g 2 ) , Δ F s = M 1 1 f 1 , Δ F b = M 2 1 f 2 , G s = M 1 1 B 1 , G b = M 2 1 B 2 , M 1 = M s b 1 M s s 1 M b b 1 M b s 1 , M 2 = M s s 1 M s b 1 M b s 1 M b b 1 , C 11 = M b b 1 C b s M s b 1 C s s , C 12 = M b b 1 C b b M s b 1 C s b , C 21 = M b s 1 C b s M s s 1 C s s , C 22 = M b s 1 C b b M s s 1 C s b , f 1 = M b b 1 f b M s b 1 f s , f 2 = M b s 1 f b M s s 1 f s , g 1 = M b b 1 g b , g 2 = M b s 1 g b , B 1 = M s b 1 B s M b b 1 B b , B 2 = M s s 1 B s M b s 1 B b , M s s = m 1 m 2 m 2 m 5 , M b b = m 8 0 0 m 9 , M s b = M b s T = m 3 m 4 m 6 m 7 , C s s = c 11 c 12 c 21 c 22 , C s b = c 13 c 14 c 23 c 24 , C b s = c 31 c 32 c 41 c 42 , C b b = c 33 c 34 0 c 44 , f s = ζ x x ˙ ζ y y ˙ T , f b = ζ θ θ ˙ ζ φ φ ˙ T , g b = g 3 g 4 T , B b = 1 r w 0 C φ C θ S φ S θ , B s = r s r w 0 1 1 0 .

References

  1. Paszkiel, S. Using the Raspberry PI2 Module and the Brain-Computer Technology for Controlling a Mobile Vehicle. In Automation 2019; Szewczyk, R., Zieli ’nski, C., Kaliczy ’nska, M., Eds.; Springer International Publishing: Cham, Switzerland, 2020; Volume 920, pp. 356–366. [Google Scholar]
  2. Han, H.Y.; Han, T.Y.; Jo, H.S. Development of omnidirectional self-balancing robot. In Proceedings of the 2014 IEEE International Symposium on Robotics and Manufacturing Automation (ROMA), Kuala Lumpur, Malaysia, 15–16 December 2014; pp. 57–62. [Google Scholar]
  3. Tsai, C.C.; Chan, C.K.; Kau, L.C. LQR Motion Control of a Ball Riding Robot. In Proceedings of the 2012 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Tokyo, Japan, 11–14 July 2012; pp. 861–866. [Google Scholar]
  4. Lauwers, T.B.; Kantor, G.A.; Hollis, R.L. A dynamically stable single-wheeled mobile robot with inverse mouse-ball drive. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando, FL, USA, 15–19 May 2006; pp. 2884–2889. [Google Scholar]
  5. Nagarajan, U.; Kantor, G.; Hollis, R. The ballbot: An omnidirectional balancing mobile robot. Int. J. Robot. Res. 2014, 33, 917–930. [Google Scholar] [CrossRef]
  6. Pham, D.B.; Weon, I.S.; Lee, S.G. Partial feedback linearization double-loop control for a pseudo-2D ridable ballbot. Int. J. Control Autom. Syst. 2020, 18, 1310–1323. [Google Scholar] [CrossRef]
  7. Pham, D.B.; Kim, H.; Kim, J.; Lee, S.G. Balancing and transferring control of a ball segway using a double-loop approach [applications of control]. IEEE Control Syst. Mag. 2018, 38, 15–37. [Google Scholar]
  8. Wang, W.; Yi, J.; Zhao, D.; Liu, D. Design of a stable sliding-mode controller for a class of second-order underactuated systems. IEE Proc.-Control Theory Appl. 2004, 151, 683–690. [Google Scholar] [CrossRef] [Green Version]
  9. Pham, D.B.; Lee, S.G. Hierarchical sliding mode control for a two-dimensional ball segway that is a class of a second-order underactuated system. J. Vib. Control 2019, 25, 72–83. [Google Scholar] [CrossRef]
  10. Pham, D.B.; Lee, S.G. Aggregated hierarchical sliding mode control for a spatial ridable ballbot. Int. J. Precis. Eng. 2018, 19, 1291–1302. [Google Scholar] [CrossRef]
  11. Do, V.T.; Lee, S.G.; Kim, J.H. Robust integral backstepping hierarchical sliding mode controller for a ballbot system. Mech. Syst. Signal Process. 2020, 144, 106866. [Google Scholar] [CrossRef]
  12. Do, V.T.; Lee, S.G. Neural Integral Backstepping Hierarchical Sliding Mode Control for a Ridable Ballbot Under Uncertainties and Input Saturation. IEEE Trans. Syst. Man Cybern. Syst. 2021, 1–14. [Google Scholar] [CrossRef]
  13. Park, K.B. Comments on ‘design of a stable sliding-mode controller for a class of second-order underactuated Systems’. IET Control Theory Appl. 2012, 6, 1153. [Google Scholar] [CrossRef]
  14. Lee, S.M.; Park, B.S. Robust Control for Trajectory Tracking and Balancing of a Ballbot. IEEE Access 2020, 8, 159324–159330. [Google Scholar] [CrossRef]
  15. Sands, T. Development of Deterministic Artificial Intelligence for Unmanned Underwater Vehicles (UUV). J. Mar. Sci. Eng. 2020, 8, 578. [Google Scholar] [CrossRef]
  16. Fan, Y.; Huang, H.; Tan, Y. Robust adaptive path following control of an unmanned surface vessel subject to input saturation and uncertainties. Appl. Sci. 2019, 9, 1815. [Google Scholar] [CrossRef] [Green Version]
  17. Sands, T. Deterministic Artificial Intelligence; IntechOpen: London, UK, 2020; ISBN 978-1-78984-111-4. [Google Scholar]
  18. Tran, D.T.; Nguyen, M.N.; Ahn, K.K. RBF Neural Network Based Backstepping Control for an Electrohydraulic Elastic Manipulator. Appl. Sci. 2019, 9, 2237. [Google Scholar] [CrossRef] [Green Version]
  19. Swaroop, D.; Hedrick, J.K.; Yip, P.P.; Gerdes, J.C. Dynamic surface control for a class of nonlinear systems. IEEE Trans. Autom. Control 2000, 45, 1893–1899. [Google Scholar] [CrossRef] [Green Version]
  20. Ge, S.S.; Wang, C. Adaptive neural control of uncertain MIMO nonlinear systems. IEEE Trans. Neural Netw. 2004, 15, 674–692. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Spatial model of the ball-balancing robot [10].
Figure 1. Spatial model of the ball-balancing robot [10].
Applsci 11 04739 g001
Figure 2. Simulation results on the trajectory tracking performances of the ball-balancing robot.
Figure 2. Simulation results on the trajectory tracking performances of the ball-balancing robot.
Applsci 11 04739 g002
Figure 3. Simulation results (a) tracking error e x ; (b) tracking error e y ; (c) body angle θ ; (d) body angle φ .
Figure 3. Simulation results (a) tracking error e x ; (b) tracking error e y ; (c) body angle θ ; (d) body angle φ .
Applsci 11 04739 g003
Figure 4. Simulation results (a) control inputs; (b) estimates of the optimal weights of the RBFNs (solid: ω ^ 1 , dotted: ω ^ 2 ).
Figure 4. Simulation results (a) control inputs; (b) estimates of the optimal weights of the RBFNs (solid: ω ^ 1 , dotted: ω ^ 2 ).
Applsci 11 04739 g004
Table 1. Parameters of the ball-balancing robot [12].
Table 1. Parameters of the ball-balancing robot [12].
SymbolParameterValue
m b Body mass 116 kg
lBody length 0.23 kg
I b x Moment of inertia of the body about the roll axis 16.25 kg · m 2
I b y Moment of inertia of the body about the pitch axis 15.85 kg · m 2
r w Omnidirectional wheel radius 0.1 kg
m w Omnidirectional wheel mass 0.56 kg
I w Moment of inertia of the omnidirectional wheel 0.26 kg
m s Ball mass 11.4 kg
r s Ball radius 0.19 kg
I s Moment of inertia of the ball 0.165 kg
α Zenith angle 56
Table 2. RMS of tracking errors according to the control gain.
Table 2. RMS of tracking errors according to the control gain.
GainNominalPerturbed
K 1 = diag ( 0.1 , 0.1 ) 0.12990.2108
K 1 = diag ( 1 , 1 ) 0.12780.1355
K 1 = diag ( 10 , 10 ) 0.12710.1244
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Jang, H.-G.; Hyun, C.-H.; Park, B.-S. Neural Network Control for Trajectory Tracking and Balancing of a Ball-Balancing Robot with Uncertainty. Appl. Sci. 2021, 11, 4739. https://doi.org/10.3390/app11114739

AMA Style

Jang H-G, Hyun C-H, Park B-S. Neural Network Control for Trajectory Tracking and Balancing of a Ball-Balancing Robot with Uncertainty. Applied Sciences. 2021; 11(11):4739. https://doi.org/10.3390/app11114739

Chicago/Turabian Style

Jang, Hyo-Geon, Chang-Ho Hyun, and Bong-Seok Park. 2021. "Neural Network Control for Trajectory Tracking and Balancing of a Ball-Balancing Robot with Uncertainty" Applied Sciences 11, no. 11: 4739. https://doi.org/10.3390/app11114739

APA Style

Jang, H.-G., Hyun, C.-H., & Park, B.-S. (2021). Neural Network Control for Trajectory Tracking and Balancing of a Ball-Balancing Robot with Uncertainty. Applied Sciences, 11(11), 4739. https://doi.org/10.3390/app11114739

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop