Inspiration
Inspired by car's auto piloting feature, we wanted to apply this similar ideas to a smaller scale, thus we built a small robot to mimic basic functions of object followers which can be applied to many areas.
What it does
It follows a target and copies its movement, start, stop, accelerating and decelerating, turn left/right even when reversing and keeps a safe distance from the target.
How we built it
Using motors, plastic boards, ultrasonic sensors and arduino board to build a functioning cart. We use sensors to obtain distances from the target. Then using PID (proportional–integral–derivative) control algorithm to calculate the output of motor. "P" is proportional to the current value of distance difference. "I" accounts for past differences overtime to eliminate residual errors. "D" is used to smooth future adjusting change based on current rate of change. We used MatLab and statistical tests to stimulate the adjustments and try to optimize and smooth proportions for each category. Lastly, when detecting inconsistency in two sensors' measurements, it adjust the motor to turn along with the target. Cart is also capable to back up when too close to the target.
Challenges we ran into
First when applying PID algorithm to our situation and to execute onto aruino board occurs with errors from underlying factors. Unlike software developing, ideal codes may not work well in the real life. For example, unaligned wheels, frictions, unstable sensor readings. We had to eliminate many confounding variables and adjust from many trials.
Upgrading from one sensor(linear movement) to two sensors. Huge inconsistencies between two sensors first, but we ended up benefiting from this difference and allowed the cart to detect horizontal changes.
We planned an algorithm for sensor to consistently tracking ONE object instead of which ever thing run in front of it. We sketched the calculation for the rate of change of sensor inputs and create a regression line to eliminate temporary "outliers". But when experimenting we found the sensor was not stable enough to produce accurate measures and we had to give up this step until we have more accurate sensors.
Accomplishments that we're proud of
We were stucking for hours to just get the cart moving linearly, but when working on making it turn which we thought could last even longer, we actually worked things out better than we expected.
We are glad to see many cars today are working similarly as our cart does :)
What we learned
Works cannot be done without everyone who helped and snacks.
What's next for Object Follower
Upgrade the sensor for better accuracy and availability to perform more developed functions. We hope to apply this tracker to many areas to help our everyday lives. Luggage carts/bags, port fork-lifts, even shopping carts so ladies won't be needing to push heavy carts.
Log in or sign up for Devpost to join the conversation.