On the Right Track: Semi-Autonomous Car
For this project, we were given a test track and the only premise we had was to build a car that was propelled by something that didn't leave a mess. 
 
We decided to take this opportunity to fabricate a car that could take an input velocity profile using both an open loop system and a closed loop feedback system to test the differences.
 
The car utilizes a micro controller which interfaces with Simulink to run a PID controller and measure wheel speed via magnets embedded in one of the drive wheels, which trigger a Hall effect sensor. The open loop code pushes a velocity profile to the motor while the closed loop code incorporates the error between this velocity profile and the wheel speed feedback from the Hall effect sensor using PID to determine the output voltage pulse width modulation to the motor. We did much testing to prove the feedforward control matched the desired profile trends. However, the hardware did not provide adequate resolution for robust feedback control. Ultimately the car successfully tracked a desired input velocity profile on the roll car track.
 
Digitally mapped image of the track with dimensions in cm. 
Base plate made of steel. Pillow blocks and motor mounts hand milled out of alumninum.
Initial mockup of our car in Solidworks.
Most parts were bought from McMaster to save on production cost and time. However, the rest we made ourselves in our student machine shop for custom fit. 
Simplified PID system block diagram.
Open loop feedforward system.
Closed loop feedback system.
Pushing code into the car to test motor response. We decided to use an Arduino Mega in order to be able to run code externally. 
Hall effect sensors are triggered on when a magnetic field passes in front of them, and triggered off when a magnetic field passes again. We tested using various numbers of magnets that we milled into our 3 inch diameter wheels. In the end we chose to use 1 magnet becuase it provided the highest resolution readings. 5 and 10 magnet variations were tested in case the speed of the vehicle was too fast and could not react to the field of just 1 magnet. The result was quite the opposite, as more magnets created signals that bled into each other. 
We upgraded our motors through testing; the car was heavier than initial calculations and we needed to power through the hump in the track. Our final motor (as shown mounted on our car) gives out 150 rpm with 200 oz-in of force. 
Initial bevel gears slipped when the car reached the slope. (3/8" outer diameter)
Upgraded bevel gears. Never slipped again. (1" outer diameter). 3 rubber bands per wheel were used to prevent slipping on the plastic track.
Here our car is programmed to start from rest and maintain a constant slow velocity and pause afterwards. Then it maintains a constant velocity higher than the previous segment and pauses at the top of the hill. Finally, it continues until the end of the track with the same velocity.
On the Right Track: Semi-Autonomous Car
13
481
0
Published:

On the Right Track: Semi-Autonomous Car

A car built to compare different velocity control schemes.
13
481
0
Published:
Copyright Info

Attribution, Non-commercial

Read More