Skip to main content
Log in

Double-Loop Control with Hierarchical Sliding Mode and Proportional Integral Loop for 2D Ridable Ballbot

  • Regular Paper
  • Published:
International Journal of Precision Engineering and Manufacturing Aims and scope Submit manuscript

Abstract

In this study, we propose a nonlinear double-loop control system for a ridable ballbot. An improved nonlinear double-loop control technique based on double-loop control scheme and sliding mode technology is used, and the inner-loop consists of proportional–integral feedback plus feedforward control. A sliding mode control enables the ridable ballbot to balance and transfer on the floor. Feedforward compensation has been added for the stability of the ballbot. As a result, the control system can stabilize all state variables of the ballbot system despite the uncertainties of the system parameters such as model, friction, and external disturbances, and relatively large body inertia. Experiments demonstrate the effectiveness of the proposed control system and the performance validation of the nonlinear double-loop control.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Abbreviations

m a :

Mass of the body

m k :

Mass of the ball

I k :

Moment of inertia of the ball

I x, I y :

Moments of inertia of the body about the x- and y-axes

l :

Distance from the mass center of the body to that of the ball

r k :

Radius of the ball

r w :

Radius of the omnidirectional wheel

I w :

Moment of inertia of each omnidirectional wheel

α :

Zenith angle

x k, y k :

Position of the ball

θ x, θ y :

Roll and pitch angles of the body

τ x, τ y :

Corresponding resultant toques of the motors to the x- and y-axes

b rx, b ry, b x, b y :

Friction factors

g :

The gravity acceleration

References

  1. Ba, P. D., Lee, S. G., Back, S., Kim, J., & Lee, M. K. (2016). Balancing and translation control of a ball segway that a human can ride. In 16th International conference on control, automation and systems (ICCAS) (pp. 477–480).

  2. Aphiratsakun, N., Remi Nordeng, P. K., Suikkanen, M., & Lorpatanakasem, N. (2014). Implementation of AU balancing ballbot. In International electrical engineering congress (iEECON) (pp. 1–4).

  3. Han, H. Y., Han, T. Y., & Jo, H. S. (2014). Development of omnidirectional self-balancing robot. In IEEE international symposium on robotics and manufacturing automation (ROMA) (pp. 57–62).

  4. Vaidya, B., Shomin, M., Hollis, R., & Kantor, G. (2015). Operation of the ballbot on slopes and with center-of-mass offsets. In IEEE international conference on robotics and automation (ICRA) (pp. 2383–2388).

  5. Kumaga, M., & Ochiai, T. (2009). Development of a robot balanced on a ball and application of passive motion to transport. In IEEE international conference on robotics and automation (ICRA) (pp. 4106–4111).

  6. Tsai, C. C., Chan, C. K., & Kuo, L. C. (2012). LQR motion control of a ball-riding robot. In IEEE/ASME international conference on advanced intelligent mechatronics (AIM) (pp. 861–866).

  7. Lotfiani, A., Keshmiri, M., & Danesh, M. (2013). Dynamic analysis and control synthesis of a spherical wheeled robot (ballbot). In 1st RSI/ISM international conference on robotics and mechatronics (ICRoM) (pp. 481–486).

  8. Zabihi, H., Talebi, H. A., & Suratgar, A. A. (2016). Open-loop trajectory planning and nonlinear control for underactuated spherical wheel mobile robot (ballbot). In 24th Iranian conference on electrical engineering (ICEE) (pp. 549–554).

  9. Inal, A. N., Morgul, O., & Saranli, U. (2012). A 3D dynamic model of a spherical wheeled self-balancing robot. In IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 5381–5386).

  10. Jian, J., Wang, M., Lv, N., Yang, Y., Zhang, K., Li, Y., & Liu, T. (2014). Standing-up control and ramp-climbing control of a spherical wheeled robot. In 13th International conference on control automation robotics and vision (ICARCV) (pp. 1386–1391).

  11. Peng, Y.-F., Chiu, C.-H., Tsai, W.-R., & Chou, M.-H. (2009). Design of an omni-directional spherical robot: using fuzzy control. In International multiconference of engineers and computer scientists (Vol. I, No. IMECS, p. 6).

  12. Chih-Hui, C., & Wen-Ru, T. (2015). Design and implementation of an omnidirectional spherical mobile platform. IEEE Transactions on Industrial Electronics, 62(3), 1619–1628.

    Article  Google Scholar 

  13. Tsai, C.-C., Chiang, C.-H., Tai, F.-C., & Hwang, K.-S. (2015). Adaptive RFWCMAC cooperative formation control for multiple ballbots incorporated with coupling dynamics. In International conference on informative and cybernetics for computational social systems (ICCSS) (pp. 59–65).

  14. Pham, D. B., & Lee, S.-G. (2018). Aggregated hierarchical sliding mode control for a spatial ridable ballbot. International Journal of Precision Engineering and Manufacturing, 19(9), 1291–1302.

    Article  Google Scholar 

  15. Spong, M. W., Corke, P., & Lozano, R. (2001). Nonlinear control of the reaction wheel pendulum. Automatica, 37(11), 1845–1851.

    Article  MATH  Google Scholar 

  16. Tuan, L. A., Lee, S.-G., Nho, L. C., & Kim, D. H. (2013). Model reference adaptive sliding mode control for three dimensional overhead cranes. International Journal of Precision Engineering and Manufacturing, 14(8), 1329–1338.

    Article  Google Scholar 

  17. Tuan, L. A., Kim, J.-J., Lee, S.-G., Lim, T.-G., & Nho, L. C. (2014). Second-order sliding mode control of a 3D overhead crane with uncertain system parameters. International Journal of Precision Engineering and Manufacturing, 15(5), 811–819.

    Article  Google Scholar 

  18. Tuan, L. A., Lee, S.-G., Ko, D. H., & Nho, L. C. (2014). Combined control with sliding mode and partial feedback linearization for 3D overhead cranes. International Journal Robust Nonlinear Control, 24, 3372–3386.

    Article  MathSciNet  MATH  Google Scholar 

  19. Zou, Y. (2017). Nonlinear robust adaptive hierarchical sliding mode control approach for quadrotors. International Journal of Robust and Nonlinear Control, 27, 925–941.

    Article  MathSciNet  MATH  Google Scholar 

  20. Zhao, B., Xian, B., Zhang, Y., & Zhang, X. (2015). Nonlinear robust sliding mode control of a quadrotor unmanned aerial vehicle based on immersion and invariance method. International Journal Robust Nonlinear Control, 25, 3714–3731.

    Article  MathSciNet  MATH  Google Scholar 

  21. Liao, C.-W., Tsai, C.-C., Li, Y. Y., & Chan, C.-K. (2008). Dynamic modeling and sliding-mode control of a Ball robot with inverse mouse-ball drive. In SICE annual conference (pp. 2951–2955).

  22. Pham, D. B., & Lee, S.-G. (2019). Hierarchical sliding mode control for 2D Ball Segway that is a class of second-order underactuated system. Journal of Vibration and Control, 25(1), 72–83.

  23. Chan, C.-K., & Tsai, C.-C. (2012). Intelligent backstepping sliding-mode control using recurrent interval type 2 fuzzy neural networks for a ball robot with a four-motor inverse-mouse ball drive. In Proceedings of SICE annual conference (SICE) (pp. 1281–1286).

  24. Garcia-Garcia, R. A., & Arias-Montiel, M. (2016). Linear controllers for the NXT ballbot with parameter variations using linear matrix inequalities [lecture notes]. IEEE Control Systems, 36(3), 121–136.

    Article  MathSciNet  Google Scholar 

  25. Tsai, C.-C., Juang, M.-H., Chan, C.-K., Liao, C.-W., & Chan, S.-J. (2010). Self-balancing and position control using multi-loop approach for ball robots. In International conference on system science and engineering (ICSSE) (pp. 251–256).

  26. Lauwers, T. B., Kantor, G. A., & Hollis, R. L. (2006). A dynamically stable single-wheeled mobile robot with inverse mouse-ball drive. In Proceedings 2006 IEEE international conference on robotics and automation (ICRA) (pp. 2884–2889).

  27. Nagarajan, U., Kantor, G., & Hollis, R. (2014). The ballbot: An omnidirectional balancing mobile robot. The International Journal of Robotics Research, 33(6), 917–930.

    Article  Google Scholar 

  28. Sukvichai, K., & Parnichkun, M. (2014). Double-level ball-riding robot balancing: From system design, modeling, controller synthesis, to performance evaluation. Mechatronics, 24(5), 519–532.

    Article  Google Scholar 

  29. Pham, D. B., Kim, H., Kim, J., & Lee, S. G. (2018). Balancing and transferring control of a Ball Segway using a double-loop approach [applications of control]. IEEE Control Systems, 38(2), 15–37.

    Article  MathSciNet  Google Scholar 

  30. Slotine, J. J. E., & Li, W. (1991). Applied nonlinear control (p. 461). Upper Saddle River: Prentice-Hall, Inc.

    MATH  Google Scholar 

Download references

Acknowledgements

This research was partly supported by the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2019R1A2C2010195); and by the Ministry of Science and ICT, Korea, under the Grand Information Technology Research Center support program (IITP-2018-2015-0-00742) supervised by the IITP. It was also supported by the Senior-friendly Product R&D program funded by the Ministry of Health and Welfare through the Korea Health Industry Development Institute (KHIDI) (HI15C1027).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Soon-Geul Lee.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A

The components of standard nonlinear state-space dynamics of the 2D ridable ballbot in the yz plane are the following:

$$\begin{aligned} A_{r3} \left( {{\mathbf{x}}_{r} } \right) & = - \,\frac{{r_{k}^{2} }}{{mau_{r} }}\left( {\begin{array}{*{20}l} {2I_{x} b_{y} r_{w}^{2} \dot{y}_{k} - 3I_{w} b_{rx} r_{k} { \cos }^{2} \alpha \dot{\theta }_{x} + 2b_{y} l^{2} m_{a} r_{w}^{2} \dot{y}_{k} } \hfill \\ {\quad + \,3I_{w} b_{y} r_{k}^{2} { \cos }^{2} \alpha \dot{y}_{k} - gl^{2} m_{a}^{2} r_{w}^{2} { \sin }2\theta_{x} + 2l^{3} m_{a}^{2} r_{w}^{2} \dot{\theta }_{x}^{2} { \sin }\theta_{x} } \hfill \\ {\quad + \,2I_{x} lm_{a} r_{w}^{2} \dot{\theta }_{x}^{2} { \sin }\theta_{x} + 2b_{rx} lm_{a} r_{w}^{2} \dot{\theta }_{x} { \cos }\theta_{x} } \hfill \\ {\quad + \,3I_{w} lm_{a} r_{k}^{2} { \cos }^{2} \alpha \dot{\theta }_{x}^{2} { \sin }\theta_{x} + 3I_{w} glm_{a} r_{k} { \cos }^{2} \alpha { \sin }\theta_{x} } \hfill \\ \end{array} } \right), \\ B_{r3} \left( {{\mathbf{x}}_{r} } \right) & = r_{k}^{2} \left( {2m_{a} r_{w} l^{2} + 2m_{a} r_{k} r_{w} l{ \cos }\theta_{x} + 2I_{x} r_{w} } \right)/mau_{r} , \\ A_{r4} \left( {{\mathbf{x}}_{r} } \right) & = - \,\frac{1}{{mau_{r} }}\left( {\begin{array}{*{20}l} {2I_{kx} b_{rx} r_{w}^{2} \dot{\theta }_{x} + 3I_{w} b_{rx} r_{k}^{2} { \cos }^{2} \alpha \dot{\theta }_{x} - 2glm_{a}^{2} r_{k}^{2} r_{w}^{2} { \sin }\theta_{x} } \hfill \\ {\quad - \,3I_{w} b_{y} r_{k}^{3} \dot{y}_{k} { \cos }^{2} \alpha + 2b_{rx} \left( {m_{a} + m_{k} } \right)r_{k}^{2} r_{w}^{2} \dot{\theta }} \hfill \\ {\quad + \,l^{2} m_{a}^{2} r_{k}^{2} r_{w}^{2} \dot{\theta }_{x}^{2} { \sin }2\theta_{x} - 3I_{w} lm_{a} r_{k}^{3} { \cos }^{2} \alpha \dot{\theta }_{x}^{2} { \sin }\theta_{x} } \hfill \\ {\quad + \,2b_{y} lm_{a} r_{k}^{2} r_{w}^{2} \dot{y}_{k} { \cos }\theta_{x} - 2I_{kx} glm_{a} r_{w}^{2} { \sin }\theta_{x} } \hfill \\ {\quad - \,2glm_{a} m_{k} r_{k}^{2} r_{w}^{2} { \sin }\theta_{x} - 3I_{w} glm_{a} r_{k}^{2} { \cos }^{2} \alpha { \sin }\theta_{x} } \hfill \\ \end{array} } \right), \\ B_{r4} \left( {{\mathbf{x}}_{r} } \right) & = \left( {2m_{a} r_{k}^{3} r_{w} + 2m_{k} r_{k}^{3} r_{w} + 2I_{kx} r_{k} r_{w} + 2lm_{a} r_{k}^{2} r_{w} { \cos }\theta_{x} } \right)/mau_{r} , \\ {\text{and}}\;mau_{r} & = \left( {\begin{array}{*{20}l} {3I_{w} \left( {m_{a} + m_{k} } \right)r_{k}^{4} { \cos }^{2} \alpha + 2\left( {l^{2} m_{a} + I_{x} } \right)\left( {m_{a} + m_{k} } \right)r_{k}^{2} r_{w}^{2} } \hfill \\ {\quad + \,3\left( {I_{kx} + I_{x} } \right)I_{w} r_{k}^{2} { \cos }^{2} \alpha + 2I_{kx} I_{x} r_{w}^{2} + 6I_{w} lm_{a} r_{k}^{3} { \cos }^{2} \alpha \cos \theta_{x} } \hfill \\ {\quad - \,2l^{2} m_{a}^{2} r_{k}^{2} r_{w}^{2} \cos^{2} \theta_{x} + 3I_{w} l^{2} m_{a} r_{k}^{2} { \cos }^{2} \alpha + 2I_{kx} l^{2} m_{a} r_{w}^{2} } \hfill \\ \end{array} } \right). \\ \end{aligned}$$

Appendix B

The elements of standard nonlinear state-space dynamics of the 2D ridable ballbot in the xz plane are the following:

$$\begin{aligned} A_{p3} \left( {{\mathbf{x}}_{p} } \right) & = - \frac{{r_{k}^{2} }}{{mau_{p} }}\left( {\begin{array}{*{20}l} {2I_{y} b_{x} r_{w}^{2} \dot{x}_{k} + 3I_{w} b_{ry} r_{k} \dot{\theta }_{y} { \cos }^{2} \alpha + 2b_{x} l^{2} m_{a} r_{w}^{2} \dot{x}_{k} } \hfill \\ { + \,3I_{w} b_{x} r_{k}^{2} { \cos }^{2} \alpha \dot{x}_{k} + gl^{2} m_{a}^{2} r_{w}^{2} { \sin }2\theta_{y} - 2l^{3} m_{a}^{2} r_{w}^{2} \dot{\theta }_{y}^{2} { \sin }\theta_{y} } \hfill \\ { - \,2I_{y} lm_{a} r_{w}^{2} \dot{\theta }_{y}^{2} { \sin }\theta_{y} - 2b_{ry} lm_{a} r_{w}^{2} \dot{\theta }_{y} { \cos }\theta_{y} } \hfill \\ { - \,3I_{w} lm_{a} r_{k}^{2} { \cos }^{2} \alpha \dot{\theta }_{y}^{2} { \sin }\theta_{y} - 3I_{w} glm_{a} r_{k} { \cos }^{2} \alpha { \sin }\theta_{y} } \hfill \\ \end{array} } \right), \\ B_{p3} & = - 2r_{k}^{2} r_{w} \left( {m_{a} l^{2} + m_{a} r_{k} l{ \cos }\theta_{y} + I_{y} } \right)/mau_{p} , \\ A_{p4} & = - \frac{1}{{mau_{p} }}\left( {\begin{array}{*{20}l} {2I_{kx} b_{ry} r_{w}^{2} \dot{\theta }_{y} + 2b_{ry} \left( {m_{a} + m_{k} } \right)r_{k}^{2} r_{w}^{2} \dot{\theta }_{y} + 3I_{w} b_{ry} r_{k}^{2} { \cos }^{2} \alpha \dot{\theta }_{y} } \hfill \\ { + \,3I_{w} b_{x} r_{k}^{3} { \cos }^{2} \alpha \dot{x}_{k} - 2glm_{a}^{2} r_{k}^{2} r_{w}^{2} { \sin }\theta_{y} - 2I_{kx} glm_{a} r_{w}^{2} { \sin }\theta_{y} } \hfill \\ { + \,l^{2} m_{a}^{2} r_{k}^{2} r_{w}^{2} \dot{\theta }_{y}^{2} { \sin }2\theta_{y} - 3I_{w} lm_{a} r_{k}^{3} { \cos }^{2} \alpha \dot{\theta }_{y}^{2} { \sin }\theta_{y} } \hfill \\ { - \,2b_{x} lm_{a} r_{k}^{2} r_{w}^{2} \dot{x}_{k} { \cos }\theta_{y} - 2glm_{a} m_{k} r_{k}^{2} r_{w}^{2} { \sin }\theta_{y} } \hfill \\ { - \,3I_{w} glm_{a} r_{k}^{2} { \cos }^{2} \alpha { \sin }\theta_{y} } \hfill \\ \end{array} } \right), \\ B_{p4} \left( {{\mathbf{x}}_{p} } \right) & = 2r_{k} r_{w} \left( {I_{kx} + m_{a} r_{k}^{2} + m_{k} r_{k}^{2} + lm_{a} r_{k} { \cos }\theta_{y} } \right)/mau_{p} , \\ {\text{and}}\;mau_{p} & = \left( {\begin{array}{*{20}l} {2I_{kx} I_{y} r_{w}^{2} + 3I_{w} \left( {m_{a} + m_{k} } \right)r_{k}^{4} { \cos }^{2} \alpha + 2l^{2} m_{a}^{2} r_{k}^{2} r_{w}^{2} } \hfill \\ { + \,2I_{kx} l^{2} m_{a} r_{w}^{2} + 2l^{2} m_{a} m_{k} r_{k}^{2} r_{w}^{2} + 2I_{y} \left( {m_{a} + m_{k} } \right)r_{k}^{2} r_{w}^{2} } \hfill \\ { + \,3I_{w} l^{2} m_{a} r_{k}^{2} { \cos }^{2} \alpha + 6I_{w} lm_{a} r_{k}^{3} { \cos }^{2} \alpha { \cos }\theta_{y} + 3I_{w} I_{y} r_{k}^{2} { \cos }^{2} \alpha } \hfill \\ { + \,2I_{kx} l^{2} m_{a} r_{w}^{2} - 2l^{2} m_{a}^{2} r_{k}^{2} r_{w}^{2} { \cos }^{2} \theta_{y} + 3I_{kx} I_{w} r_{k}^{2} { \cos }^{2} \alpha } \hfill \\ \end{array} } \right). \\ \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pham, D.B., Kim, J., Lee, SG. et al. Double-Loop Control with Hierarchical Sliding Mode and Proportional Integral Loop for 2D Ridable Ballbot. Int. J. Precis. Eng. Manuf. 20, 1519–1532 (2019). https://doi.org/10.1007/s12541-019-00139-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12541-019-00139-4

Keywords

Navigation