Real-time control of balancing robot using ROS
Real-time computing is an important feature in many robotic systems, particularly safety and mission-critical applications such as autonomous vehicles, spacecraft, and industrial manufacturing. To help meet the growing needs of the robotics community, the Robot Operating System (ROS) is currently undergoing a major redesign in which one of its primary design goals is to prioritize support for real-time computing (ROS2). This paper documents the design and development of a custom built, two wheeled, self-balancing robot that successfully demonstrates the use of ROS for high bandwidth, real-time control of an unstable system. An overview of the hardware and software design is provided before detailing the approach taken to implement and test the real-time system. A high fidelity simulator is developed to test the controller initially in software. An analysis is then carried out in order to predict desirable control gains and their expected performance. The work concludes with results from hardware system tests that show good comparison with the predictions made by the simulator.