This page shows some of the projects I did in my upper division engineer courses.
This course (ME107) was designed to allow students to demonstrate the knowledge they had gained and complete a project from start to finish. Our given task was to create a vehicle to travel from the start of the track to the end and stop. For “bonus points,” we could create a vehicle that would stop and then return to the start of the track.
Our team created a vehicle with a 3D printed chassis, encoders, DC motors, and an Arduino. The encoders sensed the distance traveled by the car and relayed this information to the Arduino. The Arduino took this information and determined the voltage to send to the DC motors in order to move the car forward, backward, or stop. The starting and stopping positions were pre-programmed on the Arduino so it could run autonomously without needing to be tethered to a computer.
Feedback Control Systems
Our first project was to take a given inverted pendulum setup: a 1D cart with a wheel powered by a DC motor, and two encoders: One on the cart’s wheel, and one at the pivot point of the pendulum arm, and create a control system to control the cart to balance the inverted pendulum. Furthermore, we were tasked with designing a controller that would “swing up” the pendulum from rest (hanging down) to its inverted state and balance the pendulum.
We used Simulink with a Luenberger Observer to approximate the unmeasured states of the system and LQR control to balance the pendulum once it was in its inverted state. To swing up the pendulum, we used an “engergy pumping” algorithm to add energy to the system in a complimentary way to swing the pendulum until it inverted.