Stastaball: Design and Control of a Statically Stable Ball Robot
<p>The operational principle of a statically stable ball robot. As the centre of mass of the robot (CM) is lower than the centre of rotation (CR) of the ball, any induced tilt onto the robot will result in a restoring force that corrects for this tilt.</p> "> Figure 2
<p>The Stastaball robot as simulated in Webots. A solid sphere of mass 10 kg was used as the central ball. Frame mass was 1 kg and offset downwards from ball centre by 0.08 m.</p> "> Figure 3
<p>Response of the stationary robot when a pitch and roll disturbance is introduced in the first 1.3 s.</p> "> Figure 4
<p>Rotation of the robot frame as the robot translates in the x direction, the dotted horizontal lines show the maximum pitch angle for the robot. At 0.05 m/s (shown in (<b>A</b>)), oscillations are seen in the pitch angle. At 0.1 m/s (shown in (<b>B</b>)), the excessive pitching causes the frame to collide with the ground at 5.0 s, causing movement in the roll and yaw.</p> "> Figure 5
<p>Recovery of the robot to a disturbance at 2 s using a PID controller to correct frame orientation. The PID controller was activated at 2.7 s.</p> "> Figure 6
<p>Response of the robot to an initial disturbance at 2 s followed by a command at 3.1 s to translate towards a heading of −135° with PID implemented.</p> "> Figure 7
<p>Response of the robot to a command to move forward with a heading of −135° with PID implemented. Initial heading is 0°. Sudden changes in yaw causes disturbances in pitch and roll as seen at 31.2 s.</p> "> Figure 8
<p>CAD drawing of the robot viewed from (<b>A</b>) above and (<b>B</b>) below from where the drive wheels are clearly visible. Six omnidirectional support wheels on the halo of the robot were incorporated to help centralize the ball within the frame.</p> "> Figure 9
<p>Schematic of the communication structure of the robot.</p> "> Figure 10
<p>Image of the constructed prototype of Stastaball showing a primary Arduino (<b>A</b>); a secondary Arduino (<b>B</b>); a driven wheel (<b>C</b>), which is partially visible behind the halo; passive support wheels on the frame (<b>D</b>); and halo (<b>E</b>); one of the power banks (<b>F</b>); ultrasonic sensors (<b>G</b>); and camera (<b>H</b>). Upper inset shows zoomed view of primary Arduino containing Bluetooth module (<b>I</b>) and IMU module (not visible in this image). Lower inset shows zoomed view of one of the secondary Arduinos with voltage regulator (<b>J</b>) and motor driver (<b>K</b>) mounted onto an Arduino shield.</p> "> Figure 11
<p>Static stability test for the robot. Induced displacements in the pitch and then roll angles demonstrate damped oscillations back to the static position.</p> "> Figure 12
<p>Response of the robot in the pitch, roll and yaw axes when (<b>A</b>) being driven at 0.05 m/s in the x direction and (<b>B</b>) programmed to rotate on the spot at varying yaw rates.</p> "> Figure 12 Cont.
<p>Response of the robot in the pitch, roll and yaw axes when (<b>A</b>) being driven at 0.05 m/s in the x direction and (<b>B</b>) programmed to rotate on the spot at varying yaw rates.</p> "> Figure A1
<p>(<b>A</b>) Side view of the robot showing placement of one of the drive wheels. (<b>B</b>) Top view of the robot showing placement of the three drive wheels. The force imparted on the ball by the wheels, shown by the arrows, results in the frame rotating in the opposite direction (clockwise for the case shown).</p> "> Figure A2
<p>The moment produced by the driving wheels results in a tilting of the frame, which is then balanced by the moment produced from the gravitational force on the offset centre of mass.</p> ">
Abstract
:1. Introduction
2. Concept Design and Control
2.1. Design Principle
2.2. Robot Kinematics and Dynamics
2.3. Acceleration Control Algorithm
3. Webots Simulation
3.1. Building the Simulation
3.2. Testing in Webots
3.2.1. Open-Loop Control
3.2.2. Closed-Loop Control
4. Prototype
4.1. Mechanical Build
- A halo located around the lower hemisphere of the ball. The purpose of the halo ring is to provide a mounting point for the drive wheels whilst lowering the centre of mass of the robot. The halo was made in two layers, this provided for a more rigid structure and increased the amount of weight below the centre of the ball. The use of additional bolts on the halo allowed for the adjustment of the weight and centre of mass of the robot. The double-layered design also made cable management much simpler as the wires were secured, routed within the layers. In addition, the halo served as a bumper for the robot;
- Supporting arms, attached to a top mounting plate, supported the halo in the correct position. Similar to the halo, these were made in two layers. It was important to optimise the mass of this part of the structure as its location high on the robot significantly affects the position of the overall centre of mass.
- Three symmetrically placed driven omnidirectional wheels. Due to the weight of the corresponding motors and batteries, these are placed on the halo to help maintain an overall low centre of mass;
- Three passive omnidirectional wheels placed on the supporting arms ensured that the drive wheels maintained contact with the ball;
- Three 27:1 planetary geared stepper motors (Stepperonline, 17HS13-0404S-PG27) were used to drive the robot. Each of these 12V motors had a maximum permissible torque of 3 Nm and maximum speed of 9 rpm. The motor speed was limited to their start/stop range, and motor velocity control was operated in an open-loop configuration.
4.2. Electronics
- A primary Arduino located in the top housing of the robot provides the control commands and communications interface;
- Three secondary Arduinos are used to control each motor through a Popolu DRV8825 driver chip. They are connected to the primary Arduino via I2C communications and positioned close to their respective motors;
- Three Anker 5 V, 10,400 mAH power banks (one for each motor) supplies the required current to the motors and corresponding drive electronics. These were attached close to the motors using custom 3D printed housing. The Arduino and sensors are directly connected to the power banks; the motors are connected via a Popolu 12V step-up voltage regulator (U3V70F12). The primary Arduino is powered from one of these power banks;
- A six-degree-of-freedom MPU6050 motion-tracking device, containing an accelerometer and gyroscope, is utilised to measure roll, pitch, and yaw values. This IMU is located in the top housing, vertically aligned with the centre of mass and connected to the primary Arduino;
- A HM-10 Bluetooth module provides the option to remotely control the robot. The Dabble smartphone app was used as the user interface for this option;
- Additional sensors included an array of HC-SR04 ultrasonic sensors and an OpenMV camera. Although not reported here, the intention is to utilise these sensors towards the future autonomous control of the robot.
4.3. Final Adjustments
4.4. Testing
4.5. Discussion
4.5.1. Current Issues
4.5.2. Future Developments
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
References
- Lauwers, T.; Kantor, G.; Hollis, R. One is enough! In Proceedings of the International Symposium for Robotics Research, San Francisco, CA, USA, 12–15 October 2005; pp. 327–336. [Google Scholar]
- Shut, R.; Hollis, R. Development of a Humanoid Dual Arm System for a Single Spherical Wheeled Balancing Mobile Robot. In Proceedings of the 2019 IEEE-RAS 19th International Conference on Humanoid Robots (Humanoids), Toronto, ON, Canada, 15–17 October 2019; pp. 499–504. [Google Scholar] [CrossRef]
- Kumagai, M.; Ochiai, T. Development of a Robot Balanced on a Ball—First Report, Implementation of the Robot and Basic Control. J. Robot. Mechatron. 2010, 22, 348–355. [Google Scholar] [CrossRef]
- Fankhauser, P.; Gwerder, C. Modeling and Control of a Ballbot. Bachelor’s Thesis, Swiss Federal Institute of Technology, Zurich, Switzerland, 2010. [Google Scholar]
- Jespersen, T.K. Kugle—Modelling and Control of a Ball-Balancing Robot. Master’s Thesis, Aalborg University, Aalborg, Denmark, April 2019. [Google Scholar]
- Gao, X.; Yan, L.; He, Z.; Wang, G.; Chen, I.-M. Design and Modeling of a Dual-Ball Self-Balancing Robot. IEEE Robot. Autom. Lett. 2022, 7, 12491–12498. [Google Scholar] [CrossRef]
- FESTO. Available online: https://www.festo.com/gb/en/e/about-festo/research-and-development/bionic-learning-network/highlights-from-2018-to-2021/bionicmobileassistant-id_326923/ (accessed on 20 February 2023).
- Nagarajan, U.; Kantor, G.; Hollis, R. The ballbot: An omnidirectional balancing mobile robot. Int. J. Rob. Res. 2014, 33, 917–930. [Google Scholar] [CrossRef]
- Nagarajan, U.; Hollis, R. Shape space planner for shape-accelerated balancing mobile robots. Int. J. Rob. Res. 2013, 32, 1323–1341. [Google Scholar] [CrossRef] [Green Version]
- Hertig, L.; Schindler, D.; Bloesch, M.; Remy, C.; Siegwart, R. Unified state estimation for a ballbot. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 2471–2476. [Google Scholar] [CrossRef]
- Jespersen, T.K.; Ahdab, M.A.; Méndez, J.D.D.F.; Damgaard, M.R.; Hansen, K.D.; Pedersen, R.; Bak, T. Path-Following Model Predictive Control of Ballbots. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 1498–1504. [Google Scholar] [CrossRef]
- Zhou, Y.; Lin, J.; Wang, S.; Zhang, C. Learning Ball-Balancing Robot through Deep Reinforcement Learning. In Proceedings of the 2021 International Conference on Computer, Control and Robotics (ICCCR), Shanghai, China, 8–10 January 2021; pp. 1–8. [Google Scholar] [CrossRef]
- DIY Sphere Robot. Available online: https://www.instructables.com/DIY-Sphere-Robot (accessed on 20 February 2023).
- Sphero. Available online: https://sphero.com/products/sphero-bolt (accessed on 20 February 2023).
- Chase, R.; Pandya, A. A Review of Active Mechanical Driving Principles of Spherical Robots. Robotics 2012, 1, 3–23. [Google Scholar] [CrossRef]
- Tholapu, S.; Sudheer, A.P.; Joy, M.L. Kinematic Modelling and Structural Analysis of a Spherical Robot: BALL-E. IOP Conf. Ser. Mater. Sci. Eng. 2021, 1132, 012034. [Google Scholar] [CrossRef]
- Cardini, S.B. A history of the monocycle stability and control from inside the wheel. IEEE Control. Syst. Mag. 2006, 26, 22–26. [Google Scholar] [CrossRef]
- Cieslak, P.; Buratowski, T.; Uhl, T.; Giergiel, M. The mono-wheel robot with dynamic stabilisation. Rob. Auton. Syst. 2011, 59, 611–619. [Google Scholar] [CrossRef]
- Geist, A.R.; Fiene, J.; Tashiro, N.; Jia, Z.; Trimpe, S. The Wheelbot: A Jumping Reaction Wheel Unicycle. IEEE Robot. Autom. Lett. 2022, 7, 9683–9690. [Google Scholar] [CrossRef]
- Shen, J.; Hong, D. OmBURo: A Novel Unicycle Robot with Active Omnidirectional Wheel. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 8237–8243. [Google Scholar] [CrossRef]
- Cai, C.; Lu, J.; Li, Z. Kinematic Analysis and Control Algorithm for the Ballbot. IEEE Access 2019, 7, 38314–38321. [Google Scholar] [CrossRef]
- 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] [CrossRef]
- Goodwill, S.; Haake, S. Modelling of tennis ball impacts on a rigid surface. Proc. Inst. Mech. Eng. C-J. Mech. E 2004, 218, 1139–1153. [Google Scholar] [CrossRef]
- IEEE Spectrum. Available online: https://spectrum.ieee.org/042910-a-robot-that-balances-on-a-ball (accessed on 20 February 2023).
- Siegwart, R.; Nourbakhsh, I.R. Introduction to Autonomous Mobile Robots, 1st ed.; The MIT Press: Cambridge, MA, USA, 2004; pp. 53–67. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Fornarelli, L.; Young, J.; McKenna, T.; Koya, E.; Hedley, J. Stastaball: Design and Control of a Statically Stable Ball Robot. Robotics 2023, 12, 34. https://doi.org/10.3390/robotics12020034
Fornarelli L, Young J, McKenna T, Koya E, Hedley J. Stastaball: Design and Control of a Statically Stable Ball Robot. Robotics. 2023; 12(2):34. https://doi.org/10.3390/robotics12020034
Chicago/Turabian StyleFornarelli, Luca, Jack Young, Thomas McKenna, Ebenezer Koya, and John Hedley. 2023. "Stastaball: Design and Control of a Statically Stable Ball Robot" Robotics 12, no. 2: 34. https://doi.org/10.3390/robotics12020034
APA StyleFornarelli, L., Young, J., McKenna, T., Koya, E., & Hedley, J. (2023). Stastaball: Design and Control of a Statically Stable Ball Robot. Robotics, 12(2), 34. https://doi.org/10.3390/robotics12020034