x96 autonomous robot design review thursday, may 6, 2004 by john budinger francisco otibar
Post on 22-Dec-2015
217 views
TRANSCRIPT
x96 Autonomous Robot
Introduction… again, and 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 (revised*)
• Artificial Intelligence (revised)
• Robot and Communications (revised)
Questions or Comments and Answers
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 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 (DEAD)
• Logitech QuickCam SDK (C++) (DEAD)
• MS Visual C++ 6.0 (DEAD)
• 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
• Newer problems: SDK, Windows
• Result: Nothing new
• Consideration: multiple object identification and tracking
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
• Quad Man… sort of
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
Problems: Law of Cosines, angle less than 180
Result: Quad Man
• Consideration: multiple objects on field
x96 Autonomous Robot
Robot and Communications
• Input
commands (BYTE)
• Output
action (move, kick, sleep)
x96 Autonomous Robot
Robot and Communications
• ? cm x ? cm x ? cm
• Modular design
• IC dominant
• Simple chassis
• Built in cards (not layers)
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• ? cm x ? cm x ? cm
• Modular design
• IC dominant
• Simple chassis
• Built in cards (not layers)
x96 Autonomous Robot
Robot and Communications
Chip count: 7 ICs
PC
TxRx
DecodeData
Process
PWM
MotorDriver 0
MotorDriver 1
Motor0
Motor1User
COMM
PSU
V-Reg
x96 Autonomous Robot
Robot and Communications
• IN: rs232/user signal
• OUT: TTL/CMOS data signal
• MAX232A (ext. cap., fast baud rate)
• -/+10V (rs232) to +/-5V (TTL)
• Various controls (manual, computer, wireless*)
COMMCOMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
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 (33 I/O, USART, 2 PWM, 20MHz)
Data Processing
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Data Processing
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Data Processing
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
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
• 9V battery
• ??? AA batteries (12-15V, 2A)
Power Supply Unit
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Power Supply Unit
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
• IN: processor commands
• OUT: physical motion
• 12V DC motors
• LMD18200 (PWM, braking, bidirectional)
Motor Controls
Motors
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Motor Controls
Motors
COMM
Motors
Power Supply Unit
Motor Controls
Data Processing
x96 Autonomous Robot
Robot and Communications
Chip count: 5 ICs
PC
TxRx
MotorDriver 0
MotorDriver 1
Motor0
Motor1User
COMM
PSU
DecodeData Process
PWM
V-Reg
x96 Autonomous Robot
Robot and Communications Power Management
Motor Drivers
Data Processing
Communications Module
x96 Autonomous Robot
Robot and Communications
• Robot structure and module designs
• Convert to schematic
• Begin production of robot
• WHEELS!!!
• Result: semi-working robot controlled by computer
• Consideration: implement ball handler/kicker
x96 Autonomous Robot
Robot and Communications
• Robot structure and module designs
• Convert to schematic
• Begin production of robot
• BATTERIES!!!
• Result: semi-working robot controlled by computer
• Consideration: implement ball handler/kicker
x96 Autonomous Robot
Summary
• 1 robot, 1 ball
• Custom software, hardware design
• Code AI and vision program
• Result: robot moves…