Use a PID controller derived from the Bode Frequency Analysis to stabilize and balance an inherently unstable robot
Create the CAD model of the robot
Perform a free body diagram analysis of the forces acting on the robot
3D print all of the parts
Wire all of the connections
Create the PID algorithm using the the Root Locus and Bode Analysis Methods
Program the robot
All parts were modeled from scratch using Fusion 360.
The parts were then 3D printed, and custom material properties were imported into the software to get accurate weights and distributions.
The frame was made using PLA and the wheels in TPU95.
From the CAD model, I was able to determine the necessary parameters that I would need for my transfer function, which will then be used to create the PID algorithm.
The electrical components include:
2x Power Switches
3x 18650 Batteries
L298N Motor Driver
2x 12V DC Motors
9V Battery
Arduino Uno
MPU6050
Rotary Encoder
I created a wiring diagram, and then soldered all parts together.
Using Bode Frequency Analysis in MATLAB, I was able to determine the necessary values of Kp, Ki, and Kd for the PID algorithm. The initial step response without any control and the final step response with the PID loop is shown below. The result gave me a Percent Maximum Overshoot of 46% and a rise time of 0.1 seconds.
The robot was able to successfully balance using the PID algorithm derived using the Bode Frequency Analysis.