Team Echoes

Zippy 2 (RoboMagellan)

 -Mission

 -The Build

 -Robot   Anatomy

 -Challenges

 -Competition

 -Intrepid

 -Other Robots

Hexapod

FIRST Team 1047

Summer Robotics Camp

Ben's Portfolio

Sergiy's Portfolio

 

Robot Anatomy

Zippy was built with simplicity. This was partially due to our inexperience, and partially due to the fact that we had very limited hardware to work with.

Software:
Zippy had three stages of logic that it would exectue.
In stage 1 it would move to the desired GPS location. When the sonars saw anything closer than 12 feet, Zippy would avoid the object.
Stage 2 was triggered by getting within a small radius of the desired GPS location where Zippy would start preforming a "search for cone" function.
Stage 3 was entered if Zippy was within a small radius of the desired GPS location, and also saw the cone. At this point, the sonar sensors would be ignored and Zippy would move forward while tracking the cone until he touched it. Then, Stage 1 was triggered with a new desired GPS location.
After touching a cone, Zippy would stop to wait for the gimbal to level out the compass. The first consistent reading produced was used to figure out the desired travel angle for Stage 1.

Mouse over the highlighted parts to see what each part of the robot did:






Main electronic components of Zippy:

Garmin eTrex GPS - This commercially made handheld GPS device was able to output text data containing longitude and latitude information to the PIC microcontroller. This data was then used to figure out what angle the robot should be pointing at to reach its destination. The angle was given in "degrees away from north".

Gyroscope - The robot had to move at specific angles. The gyro allowed the robot to turn to a specific angle. It also kept the robot moving straight even when knocked off course by rough terrain or varying wheel traction.

Devantech CMPS03 Digital Compass - The compass was used to tell the robot where it was facing. Since the GPS only gave us position and not orientation, we had to figure out what direction Zippy was facing compared to North. This data was compared to the the GPS data to figure out the angle to which the gyro should turn the robot. As the robot moved over larger distances or if it spun really fast, the gyro would get knocked off and give false readings. So, a reading from the compass was taken whenever the robot spun rapidly or touched a cone. The compass was used sparingly because the robot had to be stopped when getting compass readings. This was due to the fact that the compass had to be perfectly horizontal to the ground to give a good reading.

Max Sonar EZ-0 - The two sonar system was used to detect objects blocking the robot's path. Zippy used the sonar data to navigate around obstacles.

CMUcam2 - The camera panned side to side and cycled auto exposures (image brightness) in search of orange cones. Once the robot was in range of a GPS location which marked a cone and the camera detected it, the robot was directed toward the cone by the camera.

Touch Sensor (microswitch) - Once this was pressed, the robot knew it had touched the cone. If the camera was not seeing a cone when this was pressed, then the robot knew it had run into an obstacle and had to back up and go around.

PIC18F8722 Microcontroller - The brain of our robot. It received data from all sensors, processed this data to figure out where the robot had to go next and if there were obstacles to avoid, and then told the wheels how fast to spin in order to successfully manuever the course. This logic barely fit on the microcontroller. We ended up finding its absolute limit on the very last day of coding and debugging.