View
215
Download
1
Tags:
Embed Size (px)
Citation preview
x96 Autonomous Robot
Design Review
Saturday, March 13, 2004
By
John Budinger
Francisco Otibar
Scott Ibara
x96 Autonomous Robot
Introduction… again.
• 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
Design Reviews
• Autonomous Robot
• Sensor Subsystem
• Artificial Intelligence (revised)
• Robot and Communications (revised)
Questions or Comments and Answers
x96 Autonomous Robot
Autonomous Robotstill the same
x96 Autonomous Robot
Autonomous Robot
• Soccer robot
• Composed of 3 main subsystems (sensors, AI, robot)
• Design software and hardware (separate modules)
• Combine all subsystems
computer
sensorsrobotCOMM
AI
x96 Autonomous Robot
Autonomous Robot
Input Output
Images Coordinates
Coordinates Commands
Commands Action
sensors
robot
AI
x96 Autonomous Robot
Sensor Subsystemalmost the same
x96 Autonomous Robot
Sensor Subsystem
• Input
raw data (unprocessed image)
• Output
object coordinate and label (X, Y, OBJECT)
x96 Autonomous Robot
Sensor Subsystem
• Collect as much data as quickly as possible
• Low cost and reliable
• Custom versus Commercial
x96 Autonomous Robot
Sensor Subsystem
• Custom solution
• Logitech QuickCam Messenger
• Logitech QuickCam SDK (C++)
• MS Visual C++ 6.0
• TRIPOD by Prof. Paul Oh (testing C code)
• DevIL (complicated processes)
x96 Autonomous Robot
Sensor Subsystem
• Global Vision
• Green field
• White markers/borders
• Orange golf ball
• Robot w/ mostly black top
x96 Autonomous Robot
Sensor Subsystem
• Image Capture (SDK)
• Color Detection (color comparison)
• Image Filter (matrix)
• Object Detection (size, color)
• Object Position (center of mass)
• Object Identification***
Markers
Specified colors/pattern
Ball
Ball
x96 Autonomous Robot
Sensor Subsystem
• Image Capture (SDK)
• Color Detection (color comparison)
• Image Filter (matrix)
• Object Detection (size, color)
• Object Position (center of mass)
• Object Identification***
Markers
Specified colors/pattern
x96 Autonomous Robot
Sensor Subsystem
• Sensor application
• Camera mount
fluorescent lights
green carpet
• New problems? Windows, location, camera?
• Goal: implement sensor program that successfully tracks one robot and one ball
• Consideration: multiple object identification and tracking
x96 Autonomous Robot
All your AI are belong to us!evolution happens…
x96 Autonomous Robot
Artificial Intelligence
• Input
all objects (coordinates and labels)
• Output
robot command (BYTE)
x96 Autonomous Robot
Artificial Intelligence
• Uses objects position and labels
• Creates a map with XY coordinates
• Implemented in C++
x96 Autonomous Robot
Artificial Intelligence
• Find appropriate command for situation
… and find it fast!
• Keep the algorithm simple and consistent
• Optimize code for common cases
• “Dummy” robot
• Line Man algorithm meets specifications
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
• void FieldMap(int X, int Y, int OBJECT, Map *field);
• void Motor0(int DIRECT, int SPEED);
• void Motor1(int DIRECT, int SPEED);
• void Kick(void);
• void RobotCommand(BYTE command);
x96 Autonomous Robot
Artificial Intelligence
• Line Man algorithm with tracking
Based on line of sight
Dynamic turning/movement
Includes steering/acceleration
Ideal for current robot design
• Goal: robot uses optimal path
• Consideration: multiple objects on field
x96 Autonomous Robot
Francisco Fighter IIb:Championship Edition
x96 Autonomous Robot
Robot and Communications
• Input
commands (BYTE)
• Output
action (move, kick, sleep)
x96 Autonomous Robot
Robot and Communications
• 10 cm x 10 cm x N 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
• 10 cm x 10 cm x N cm
• Modular design
• IC dominant
• Simple chassis
• Built in layers
x96 Autonomous Robot
Robot and Communications
Chip count: 6 ICs
PC
TxRx
DecodeData
Process
PWM
MotorDriver 0
MotorDriver 1
Motor0
Motor1User
COMMPSU
x96 Autonomous Robot
Robot and Communications
• IN: rs232/user signal
• OUT: TTL/CMOS data signal
• MAX233 (no ext. cap., fast baud rate)
• -/+15V (rs232) to +/-5V (TTL)
• Various 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
• PIC16F627 (USART, PWM, 20MHz)
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
• Monitor power level
• Efficient power supply
• 6-8 AA batteries (1.2V, 1.6Ah)
Power Supply Unit
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• IN: processor commands
• OUT: physical motion
• 1.5-3V Mabuchi DC motors
• LMD18200 (PWM, braking, bidirectional)
Motor Controls
Motors
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Chip count: 4 ICs
PC
TxRx
MotorDriver 0
MotorDriver 1
Motor0
Motor1User
COMMPSU
DecodeData Process
PWM
x96 Autonomous Robot
Robot and Communications
x96 Autonomous Robot
Robot and Communications
• Robot structure and module designs
• Convert to schematic
• Begin production of robot
• WHEELS!!!
• 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… or manually),
as long as the robot moves
• Consideration: complete AI and robot first
x96 Autonomous Robot
Schedule
March 13-21 build and test prototype circuits, design AI
March 22-28 build and test robot, design AI, resume sensor
March 29-April 4 build and test comm, code AI, test sensor
April 5-11 test AI, finalize robot
April 12-18 integrate AI, sensor
April 19-25 debug and test final program
April 26-May 2 test robot with comm (and program)
yeah right…
x96 Autonomous Robot
Questions? Comments?
Goodbye.