EEL 5666: Intelligent Machine Design Laboratory Final Presentation by Rob Hamersma April 12, 2005
µCHIP Micro-Controlled High-tech Independent Putter
Introduction Project goal: Develop a robot that can play miniature golf autonomously. Main functions: Locate and approach golf ball Locate hole and turn to face it Determine the distance to the hole Strike the ball with the appropriate force to sink the putt.
Main System Components MAVRIC-IIB board with ATmega V, 44 rpm DC gearhead drive motors with caster wheel 1 – 7.2V, 175 rpm DC gearhead motor for putter mechanism 2 mechanical bump switches with extended wire actuators SRF04 ultrasonic range finder CMUcam color digital camera Hitec HS-303 standard servo for camera tilt 7.2V NiMH battery pack
Original Platform Design 2 drive wheels with caster for balance Bump switches Putting surface centered behind wheels Camera mounted in front above ball
Final Platform Design
Design Changes Motorized putter vs. driving into the ball Drive motors need to be slow to position the ball and find the hole but fast to putt. Sonar instead of IR for obstacle avoidance No sonar for ball positioning or hole distance detection Needed slower motors with more torque
Obstacle Avoidance (1) SRF04 ultrasonic range finder (sonar) detects objects at a distance (2) Drive motors start turning in random direction (3) Sonar determines if it is moving away from or closer to the object (4) Drive motors correct turn direction if necessary (5) If too close to object, stop and spin until way is clear (6) If bump switch pressed, stop, back up, and turn away from object
Mini-Golf Behavior (1) Spin around with camera at 40º, then 20º (2) Drive towards ball avoiding obstacles (3) Center ball between drive wheels using camera (4) Look up and spin to locate hole with camera (5) Calculate distance to hole by computing the size of the ball in pixels (6) Look down and readjust ball position with LEDs on (7) Putt ball into hole with appropriate speed
Special Sensor: CMUcam Used to: (1) detect red golf ball on green turf (2) center the ball between the drive wheels using servo to follow ball (3) locate the hole (larger red ball mounted over hole)
CMUcam Operation Uses raw mode to process incoming data easily Used polling mode at first, now parses streaming with receive interrupt Uses RGB mode to find hole marker and YCrCb mode to find ball (less susceptible to changes in illumination) Uses bounded box data rather than pixel count to determine size of object Uses color, size, and confidence level to recognize ball Uses color, y-position, and confidence level to recognize hole marker
Putting Speed Analysis Measured minimum putting speed at various distances and ran a simple regression Formula: 0.03x² - 3.2x + 125
Conclusions µCHIP meets all of my original design objectives CMUcam works well with adequate lighting (YCrCb mode helps) As far as motor selection – slower (with torque) is better for precision and positioning