Inverted Pendulum

  • Arduino Programming
  • DFM
  • FDM 3D Printing
  • PID Control
  • Rapid Prototyping
  • Solidworks
  • Teamwork

The task for this project was to create something that uses an open loop feedback system to control a device.

My team and I chose to create an inverted pendulum operated by a spinning mass. The theory behind this is that a mass at the end of a pendulum can use changes in acceleration to generate a torque on the pendulum arm to cause a rotation. Using this theory we were able to create a pendulum that can balance in an inverted state.

Our design process consisted of creating a CAD assembly of the device we were building, using stock pieces of 8020 aluminum extrusion, an off the shelf motor and encoder, and custom designed 3D printed parts. The next step was to print and assemble the device, tweak the custom parts, reprint and reassemble. After the device was assembled, we started working on the code. The code controlled the voltage sent to the motor based on a simple PID control algorithm based on the pendulum's position.

After tuning the PID coefficients, we got the pendulum to successfully start at the inverted position, get a push from an external force, and eventually right it self again an maintain the inverted position.