Introducing Self Balancing Bot using 96Boards

Manivannan Sadhasivam


Finally, 96Boards is doing Robotics with Self Balancing Bot! Yes, you heard it right :-) This is the introductory blog for Self Balancing Bot using 96Boards CE. Like our previous project Home Surveillance, this project is also organized in series and each part will accompany a blog and a demonstrating video. The entire project has been framed in such a way it suits readers of very little exposure to Robotics as well as Pros.

Self Balancing Bot

A Self Balancing Bot also called Segway is a semi-autonomous (autonomous sometimes) Bot capable of balancing itself on the ground. It works on the basis of Balancing Pendulum principle. Bot balances itself steadily by moving back and forth to counteract the fall. As per the Balancing Pendulum concept, Bot needs to be designed in such a way that the centre of gravity should be high in order to get large moment of inertia. Then only The Bot will fall at a slow pace allowing us to control the fall by moving back and forth.

If we dive deep into the control system of this Bot, we can easily find the use of one of the most commonly used feedback controller which is PID Controller. The heart of this Self Balancing Bot is the IMU (Inertial Measurement Unit), which is used to determine the angle of Bot. IMU in combination with PID controller keeps the Bot steady by detecting the fall and moving the wheels to counteract it.

Alright, we can now look into the BoM for this project.

Bill of Materials (BoM)

BoM has been prepared in such a way that it takes very little time to build the Hardware. But if you really want to get your hands dirty by doing carpentry work, you can always build the chassis on your own. For the sake of this project, I’ve decided to go with a ready-made chassis available online.

The above BoM makes it into almost any Robotics projects. Only difference here would be the use of two separate batteries for motor and CE board.

Project Roadmap

As said earlier, this project has been divided into series of parts. At the end doing each part, I’ll post a blog as well as a demonstration video.

  • Part - 1: Measuring tilt using IMU
    • In this part, IMU will be used to measure the tilt of Bot. A simple filter will be employed in filtering out the noise from the Accel and Gyro data.
  • Part - 2: Self Balancing Bot - Rev 1
    • This part focusses on providing the Revision 1 of Self Balancing Bot using 96Boards. This involved using the Complementary filter for sensor fusion and PID controller for stabilizing the bot.
  • Part - 3: Self Balancing Bot - Rev 2
    • This part will provide the Revision 2 of the Self Balancing Bot which uses on-chip DMP in MPU6050 for sensor fusion and offloaded PID to Arduino. This will improve the stability of bot drastically.


So, that’s it about the Self Balancing Bot introduction. I am really excited to see this project running on 96Boards :D. Keep your fingers crossed for the first part of this project, where we’ll see how to measure the tilt of the Bot using 6 DoF IMU. You can find the entire project on our 96Boards 96Boards projects repository.

comments powered by Disqus

Other Posts