MoBot Rover
MoBot Obstacle Course
The objective of this project was to program a MoBot Rover through an obstacle course as fast as possible. The obstacle course consist of three sliding gates, three 90° shalom turns, and must stop before the wall after the finish line. Wheels on both sides of the MoBot are controlled by 2 servo motors. Changing the RPM on each wheel will control the direction and speed of the rover. We used an infrared and ultrasonic sensor for the MoBot to read the surroundings and follow the track on the obstacle course.
For smooth transitions, we implemented a line-following condition, an object detection algorithm, and stopping command. We converted the sensor readings into voltage outputs desired for the servo motors.
We faced a mechanical complication on the MoBot. One of wheel experienced less friction along the axial, meaning the wheels on the right side of the rover would rotate more than those on the left side, preventing perfectly straight movement and causing drifting. Our solution was to time how long the rover would take to go through each obstacle, and have RPM conditions that changed based on time.
On demo day, the MoBot finished the course in 1 minute 44 seconds. If given a second attempt to try the obstacle course again, I would use a PID system instead of the simpler “If…then…” statements that we used. To resolve the inconsistent rotation of the wheel, I would try greasing the axial of the wheels to reduce the friction. If the problem persisted, I would add some sort of thin fabric or sandpaper between the wheel and the axial to apply a even friction on each motor.