The Acrobat Robot
Video 1: The Acrobat robot in operation.
The objective of this project was to design a self-balancing robot that makes contact with the ground at only two points, corresponding to its two coaxially-mounted wheels. Among other specified constraints, the design was required to have a center-of-gravity located at a distance of at least one-half its wheel radius above the wheel axis. A patch of faux-grass served as the terrain on which the robot had to perform its balancing act.
In the design adopted for this project, the two wheels were actuated by two hobby-grade motors, and a 9-degree-of-freedom inertial measurement unit was used to provide the state information needed for actively stabilizing the robot. In particular, an Invensense MPU6050 motion processing unit provided a 3-axis accelerometer that was used to obtain orientation information, as well as a 3-axis rate gyroscope from which angular rate information was collected. All this sensor information was passed to a microcontroller for processing, which in turn sent commands to the two motors through a motor-driver circuit. Firmware had to be developed and uploaded to the microcontroller that would effectively filter and properly translate the orientation and angular-rate information received from the sensors, and would subsequently compute the signals to be sent to the motor-driver in order to initiate an appropriate response from the motors to rapidly balance and stabilize the robot.
Mechanically, the design consisted of three “layers” stacked onto each other. The bottom layer contained the IMU sensor as well as the motors that drove the wheels. The middle layer supported the power source, which was comprised of two sets of 6 AA batteries, with each set providing a total of 9V to a particular motor. Finally, the microcontroller and the motor-driver circuit were attached to the upper layer. The spacing of the layers and the distribution of components among them were selected in such a way as to meet the abovementioned center-of-gravity location requirement. Two arm-like structures extending on either side of the robot were also included as per a given design requirement – during evaluation, the robot was considered to have failed to maintain balance if either of these arms touched the ground.
The video above shows the final design in operation. The robot was able to maintain its balance for well over the minimum threshold of 6 seconds that was stipulated for passing the evaluation. As can be seen from the video, it was also able to successfully recover its balance when subjected to small disturbances. Nevertheless, the design could have been improved by faster data-processing and response-time, which would contribute to a more stable balance.