x96 Autonomous Robot
Proposal Presentation
Monday, February 16, 2004
By
John Budinger
Francisco Otibar
x96 Autonomous Robot
Introduction
• Started in Spring 2003
• Gain experience with robots
• Engage in a fun and challenging project
• Different type of project (not too different)
x96 Autonomous Robot
Proposals
• Autonomous Robot
• Sensor Subsystem
• Artificial Intelligence
• Robot and Communications
Questions or Comments and Answers
x96 Autonomous Robot
Autonomous Robot
x96 Autonomous Robot
Autonomous Robot
• Soccer robot
• Composed of 3 main subsystems
• Design software and hardware
• Combine all subsystems successfully
computer
sensorsrobotCOMM
AI
x96 Autonomous Robot
Sensor Subsystem
x96 Autonomous Robot
Sensor Subsystem
• Camera and vision program
• Color, fast, low cost
• Custom versus Commercial
x96 Autonomous Robot
Sensor Subsystem
• Camera will collect data during play
• Provide information for AI
• Green field
• White borders/boundaries
• Orange golf ball
• Robot w/ mostly black top
x96 Autonomous Robot
Sensor Subsystem
• Custom solution
• Logitech Messenger QuickCam
• Logitech QuickCam SDK
• Visual C++ 6.0
• Global Vision
• TRIPOD by Prof. Paul Oh
• DevIL for processing
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
QuickCam drivers and SDK
RGB image
160x120 to 640x480 pixels
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
Homogenized
RGB to HSL conversion
if((pixelColor > MIN_COLOR_VALUE) &&
(pixelColor < MAX_COLOR_VALUE))
pixelColor = COLOR_VALUE;
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
• Image Filter
Remove noise
if(size(blob) < MIN_OBJECT_SIZE)
remove(blob);
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
• Image Filter
• Object Detection
Finds and labels valid objects
if((size(blob) == size(OBJECT)) &&
(color(blob) == color(OBJECT))
label(blob) = label(OBJECT);
Ball
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
• Image Filter
• Object Detection
• Object Position
Center of mass
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
• Image Filter
• Object Detection
• Object Position
• Object Identification*
Not yet…
x96 Autonomous Robot
Sensor Subsystem
• Image Capture
• Color Dectection
• Image Filter
• Object Detection
• Object Position
• Object Identification*
Not yet…
x96 Autonomous Robot
Sensor Subsystem
• Camera mount
• Template provided by SDK
• C/C++ for portability
• Calibration and lighting
• Goal: implement complete program
• Consideration: multiple object tracking
x96 Autonomous Robot
Sensor Subsystem
x96 Autonomous Robot
Artificial Intelligence
x96 Autonomous Robot
Artificial Intelligence
• Object position and label
• X,Y coordinates
• Find appropriate command for situation
• … and find it fast!
x96 Autonomous Robot
Artificial Intelligence
• Keep the algorithm simple and consistent
• Optimize code for common cases
• Line of sight in 2-dimensional map
• Trigonometry and geometry
• “Dummy” robot
x96 Autonomous Robot
Artificial Intelligence
“Running Man”
x96 Autonomous Robot
Artificial Intelligence
“Running Man”
x96 Autonomous Robot
Artificial Intelligence
“Line Man”
x96 Autonomous Robot
Artificial Intelligence
“Line Man”
x96 Autonomous Robot
Artificial Intelligence
“Line Man”
x96 Autonomous Robot
Artificial Intelligence
“Line Man”
x96 Autonomous Robot
Artificial Intelligence
• Line Man algorithm
• 2 versions of Running Man code
• Goal: robot uses optimal path
• Consideration: multiple objects on field
x96 Autonomous Robot
Francisco Fighter II:Championship Edition
x96 Autonomous Robot
Robot and Communications
• 20 cm x 20 cm x 30 cm
• Modular design
• IC dominant
• Simple chassis
• Built in layers
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• 20 cm x 20 cm x 30 cm
• Modular design
• IC dominant
• Simple chassis
• Built in layers
x96 Autonomous Robot
Robot and Communications
• IN: rs232 data signal
• OUT: TTL/CMOS data signal
• -/+15V (rs232) to +/-5V (TTL)
• MAX233
• 3 controls (manual, computer, wireless*)
COMMCOMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• IN: data signal
• OUT: control signal
• Decodes message from computer
• 8-bit string to commands
• PIC16F877
• RCM2000 RabbitCore
Data Processing
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• IN: AC or DC
• OUT: DC for circuits
• Provide power for circuits and motors
• Monitor power level
• Efficient power supply
• Allow 2 sources (DC or AC)
Power Supply Unit
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• IN: processor commands
• OUT: physical motion
• DC motors
• H-bridge
• PWM
• Braking
• Multidirectional
Motor Controls
Motors
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• Robot structure and module designs
• Convert to schematic
• Begin production of robot
• Goal: working robot controlled by user or computer
• Consideration: implement ball handler/kicker
x96 Autonomous Robot
Summary
• 1 robot, 1 ball
• Custom software, hardware design
• Code AI and vision program
• Build robot and circuits
• Goal: robot moves to ball (autonomously)
• Consideration: complete AI and robot first
x96 Autonomous Robot
Questions? Comments?
Goodbye.
Top Related