OUR FINAL PROJECT

Spring 2008

GE 423

 

Matt Pepich

Sharath Avadhanam

Tejaswi Tamminedi

Heather Curran

 

OBJECTIVE

 

This yearÕs objective was to navigate the course designed by Dan, Carlos, and Chris while cleaning up and recycling certain materials.  We had to pick up a can and deposit it in the correct area after triggering specified IR beams and refueling at a specified station.  Next we had to collect blue and orange golf balls, or Òtrash,Ó and deposit them in the correct garbage shoot according to color.  All these tasks were performed without running into the walls of the course or performing things out of order.

 

OUR MECHANICAL DESIGNS

 

The final design for our can gripper slowly emerged after many trials and errors with several initial grippers.  First, we started with a plastic three-piece design consisting of a two-pronged gripper on one side with a single-pronged gripper on the other side, which conveniently slid between the two on the opposite side.  This gripper held the can firmly in place and because of the extra support from the third ÒarmÓ the can was released upright and never tipped over.  In the end, this gripper idea was scrapped because there was not enough room underneath the third arm for golf balls to freely move, and the gripper was constantly coming loose from the base.  The second gripper design involved the initial design minus an arm.  We removed the third component, and while the gripper still held the can firmly in place and deposited it upright ninety percent of the time, it was still coming loose from the base and needed constant readjustment.  The final gripper design was composed of two arms made of plastic foam board that worked like scissors, which easily picked up the can slightly off the ground for better transport to the depositing spot. We added two additional top pieces onto the gripper to further stabilize the can while in transport.

 

The golf ball holder door design was constructed after several ideas being tossed around by our group members.  The first design we were going to implement consisted of two separate doors controlled by servos that would open and close according to the color of the golf ball.  Orange and blue golf balls would be separated with a center divider and deposited in the correct color garbage shoot.  However, upon learning that if the robot merely drove over the garbage shoot, the balls would be considered deposited, this idea was thrown out.  The new design was to have two arm-like doors that opened and shuffled the balls underneath the robot body rather than running over them with a door-like design.  We made replacement arms due to the robot destroying some by running into walls and crushing them.

CODE IMPLEMENTATION

 

Soon after we started working on the code, we realized there were many problems with our little robot.  The camera was attached crooked so when the robot ÒcenteredÓ an object, it was about 5 degrees off from being actually centered.  Then we found out that our left motor ran at a faster speed than our right motor so we had to adjust the friction compensation gains to run the robot in a straight line.  When trying to fix the threshold values using the camera, we discovered that our robot could not correctly see blue and had a difficult time finding the blue golf balls.  Every time we left the lab late at night to return the next morning, several parts of the code needed to be readjusted because of our picky robot.  Our group spent more time redoing code and trying to get our robot to run the same way as it had when we left, than actually writing new code.  Then late one night while group member Matt was hard at work, our robot got a mind of its own and decided to stop working according to our code and violently spin in place.  Carlos was kind enough to give us a new robot, which worked amazingly better than our old one.  Although we were all sad to see the old one go, the time we spent re-correcting everything vanished which made us very happy.

 

Our code was designed according to a state machine system.  Each state was designed with respect to a flow chart of one run of the entire course.  The code was developed for each major state and then adjusted for each specific state according to the overall flow chart.  Writing code by state allowed for easy manageability of each individual state, simplified debugging, and the ability to move states around if something was not working. The main state breakdown is as follows:

 

CAN FINDING:  Our robot spins in place until the IR sensors recognize an object, or the can, and the robot moves towards it.  The object is centered before the robot moves forward a designated distance and grabs the can.

LIGHT RECOGNITION:  After successfully grabbing the can, our robot is sent to a certain x-y position in the course.  It then looks for a white light with the camera.  Upon finding the center white light, the robot looks left and right to find the next white light, goes towards it, and then the right-wall-follow is implemented.

 

CAN DROP OFF:  The robot stays in a right-wall-following state until it reaches a certain range of x position values.  It then spins and goes to another designated x-y position, until stopping and moving forward.  It then looks for the white light with the camera, moves towards it, and finally drops the can close to the light.

 

GOLF BALL FINDING:  After dropping off the can, the robot spins in place and goes to a designated x-y position.  It then navigates the course looking for orange golf balls all while avoiding blue golf balls, walls, and sharp corners.  After it has collected all the orange balls, it is sent around the course to the beginning to deposit them in the correct Ògarbage shoot.Ó  After dropping off the orange balls, the robot goes back into the course to repeat the same code adjusted to find the blue golf balls.

 

GOLF BALL DROP OFF:  The car is sent to the designated x-y position depending on which color golf ball it has just collected.  The golf ball arms open, the robot backs up, and the arms are closed.

 

 

 

   GROUP MEMBERS

 

 

 

 


Matt Pepich is a Graduate Student in Electrical and Computer Engineering.  He decided to take this course to gain experience programming DSPs.  After graduation, he plans to pursue a job in the Defense Industry.

 

 

 

Sharath Avadhanam is a Graduate Student pursuing a Masters degree in the College of Engineering at UIUC. He will be graduating with a Master's degree in Industrial Enterprise and Systems Engineering in August 2008. He has a BachelorÕs Degree in Mechanical Engineering.  His interest in Motion PLanning and Control motivated him to take this course.

   

 

 


Tejaswi Tamminedi is a Graduate Student in the IESE department. This course was one of the best learning experiences he has had. After graduating in August 2007, he plans to work in the field of robotics and automation to gain expertise and eventually start his own company back in India, where he hails from.  

 

             

            

 

 

 


Heather Curran is an Undergraduate Student in General Engineering. Her favorite part of this course was watching the robot finally do what it was supposed to.  After graduation next December, she plans on    attending law school and becoming a Patent Lawyer.

 

 

 

 

 

 

 

 

    Check out the video of our robot in action: video, introduction

    Here is the code to our project: code, VBcode