Robot 75 - Jeeves








·        Secondary Obstacle Avoidance

·        Ball Collection

·        Ball Drop Off








·        A-Star Algorithm

·        Obstacle Detection

·        Color Vision







·        Gripper Design

·        Ball Collection

·        System Integration and Trouble Shooting








·        LabVIEW

·        Obstacle Detection

·        System Integration and Trouble Shooting



The Objective:

The objective of the contest is for the robot to navigate through the course to 5 pre-designated waypoints. When traversing the course, the robot must avoid obstacles (2’x2’ square boxes) and collect colored golf balls along the way. For a successful run, the robot will collect & categorize at least two golf balls, and deploy them into the ball chutes after reaching all waypoints.



















Path Planning:

The robot primarily utilizes the A-star path planning algorithm in order to move about the course. The premise of this algorithm is to build an optimal path from the robot’s location to each waypoint, using intermediate waypoints. The algorithm check through a list of “available nodes”, or locations on the map that do not have obstacles, and then uses heuristics to find an optimal path to the waypoint. In the later stages of the project the team implemented diagonal A-star which allowed the robot to travel on a diagonal and not be tied to a grid system. This allowed the robot to run more efficient paths.





Ball Collection:

A key component of the contest is ball collection and deployment. Our robot utilizes image processing for golf ball detection. A camera, mounted on the front of the robot, processes video and thresholds the color values being sent through. Blue and orange color values are marked as golf balls after additional thresholding. Once found, the robot centers the golf ball in the camera, before running through an open loop collection method. Orange and blue golf balls are contained in different compartments in the robot’s “gripper”. Each compartment has its own gate to ensure the golf balls remain in the gripper until deployment.










The LabVIEW interface is a useful tool for visualizing what the robot encounters when traversing the course. The LabVIEW environment collects and plots the obstacles that the robot sees in the course, the golf balls it collects, and keeps track of the robot’s path along the way.







Obstacle Avoidance:

Before traversing the course, the only prior information that the robot know are the external course dimensions and the location of the waypoints the robot must travel to. The robot must be able to locate and avoid up to five, 2’x2’ square obstacles. The robot uses a LADAR (Light Detection and Ranging) sensor to range solid objects in the course. Whenever a LADAR reading is received by the robot, its value is compared to the values for known possible locations of obstacles. If each obstacle is positively identified 5 times, the robot will avoid those tiles when running its path planning algorithm.













Additional Notes and Features+Video:

One additional piece of technology that the robot uses is motion tracking technology. This technology, set up in the room, is used to correct the dead reckoning position of the robot to allow for an accurate knowledge of the robot’s location at all times. The robot uses Kalman filtering to weight the   “trust” of the dead reckoning and the motion tracking data to provide a proper integration of the two values.

Additional Feature of the Robot:

-Sound – The Robot speaks to notify when critical objectives are reached or balls are picked up. This uses an adapted Linux file.

-LADAR “Bubble” Avoidance – We added in a LADAR “bubble” to detect when the robot is too close to an obstacle in front of it. It therefore will backup and turn a small amount when inside of this bubble and rerun the A-star algorithm to ensure that it will not hit the obstacle.



The Robot was able to successfully run the course and collect all 5 golf balls. It ran a total time of 107 seconds. The robot did not touch would enabling a deduction of 40 seconds. It also collected 3 extra golf balls deducting 60 seconds. Lastly, the robot was able to identify all 5 golf balls in the course and plot them in labview. This resulted in a deduction of 100 seconds. The adjusted total time therefore was -93 seconds. Finishing in 2nd by .75 seconds.



Attached Code

Code Composer