Self-Balancing System

Self-balancing technology is critical in robotics industry. For example, those robots designed by Boston Dynamics show us amazing self-balancing ability. These robots can get adapted to many rugged topographies and help human finish some dangerous tasks.

In Teaching Laboratory of Department of Physics, Fudan University, Shanghai, China, we try to build up a demo system to help our students learn about technology used in self-balancing.


PID controller is widely used in Automation.

There are many materials about PID online. You can learn about it by yourself.

Design I

  • Use two six-axis accelerometers to monitor the positions of the baseboard and the arm
  • Use a step motor to wave the arm, the step motor is attached to the baseboard
  • The baseboard is hold by a aluminum frame, hanging in the air
  • Controlled by STM32F401RE with our program running on it
  • $K_P$: set to -2 at first
  • $K_D$: set to -80 to solve over adjustment by $K_P$
    Before introducing $K_D$:
    After introducing a suitable $K_D$:
  • $K_I$: set to -0.005 to compensate accumulated errors
    With a too big $K_I$:
    With a proper $K_I$:

  • We added some objects to adjust the center of mass.

Design II

Because Design I is a rough design, its mechanical performance and stability are not good enough. Therefore, we launch the project of Design II.

Here are some improvements we try to make:

  • Design and verify with SolidWorks
  • Use 3D printer to make some parts
  • Use encoder to track the position and the speed of the step motor instead of a six-axis accelerometer attached to the top of the arm
  • Use a slider to replace the arm, and make the slider to move fast for better mechanical performance

Because I have graduated from Fudan University, this project, as an extracurricular project, is not finished yet. Therefore, in oder to help future students of my mentor, Prof. LE, learn about the progress and restart this project faster, I provide more step-by-step details in this section.

In construction …

In construction …

In construction …

  • projects/self_balancing_system.txt
  • Last modified: 12 months ago
  • by daizhirui