Team Reaver Barbie

Jonathan Beall - Robin Schriebman - Whitney Buchanan

Introduction Set Up Software Ball Following Final Write-Up

We decided that the end goal of our robot would be to follow a path of yellow dots on the ground. As a first step towards this product, we took our vision software and implemented it on the robot. Now, the robot will head towards the largest yellow object in its field of view which is usually the smilely yellow beach ball we use as a target, but which on ocaasion can be Professor Bernoff's shoes.

Overview

Goal

We used an iSight camera for input, and a MacBook Pro for processing. Ths vision program determined which direction the robot needed to head to zero in on the target. The steering is controlled by a linear actuator connected to the front axle, with a potentiometer serving as an angular encoder to give us data on the robot's heading, as the linear actuator provides only a continuous movement in either direction. The linear actuator is controlled by our HB-25 motor controller which proved unsuitable for controlling the main motors of the robot.

The motors on the back wheels are controlled using a MC-7 motor controller . This allows us to have reverse and forward at variable speeds. For most application of tracking, the robot is kept at its lowest speed.

Process

The first step was to calibrate the potentiometer and give ourselves the ability to center the wheels and drive the robot straight. Once the potentiometer was calibrated we could send the robot in a straight line. We then integrated the ball tracking software to control the heading of the robot. The software tracking the ball is entirely the same as was completed for the visions assignment, though it no longer gives verbal cues at all. The ball successfully tracks the largest yellow object in the field of vision as demonstrated in the movies.

After watching our robot run into walls, we decided to install another Arduino to handle sensor measurements and put the sonars that are installed in the front lights to use. The robot now stops when it detects an object within 20 cm of either sonar. Now, the robot will head towards the yellow ball and stop when something obstructs its path.

Media

The Setup

Misidentification


Those shoes... (video)

Tracking in Action (video)


A sucessful tracking run... (video)

The code

Results

Conclusions

All in all, we were all surprised at how well it worked from the start. There were some troubles when the robot was on difficult terrain like linoleum that is sloped down hill. This posed a problem since the robots wheels do not have good traction and so it goes much faster as it slips down hill and is not able to stop to choose a new direction to head as effectively as on flat or carpeted ground. We also determined that the robot was not powerful enough to tow Jonathan along with it.

Future Goals

From here it should not be a huge leap to have the robot follow a trail of yellow dots on the ground. It will require some reworking of the vision algorithm as well as a repositioning of the camera on the robot.