Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
x96 Autonomous Robot Design Review Thursday, May 6, 2004 By John Budinger Francisco Otibar 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 still the same x96 Autonomous Robot Autonomous Robot • Soccer robot • Composed of 3 main subsystems (sensors, AI, robot) computer COMM sensors AI • Design software and hardware (separate modules) • Combine all subsystems robot x96 Autonomous Robot Autonomous Robot Input Output sensors Images Coordinates AI Coordinates Commands Commands robot Action x96 Autonomous Robot Sensor Subsystem almost 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 (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 Ball • 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 Ball • 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 100% Artificial Intelligence 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 “Line Man” x96 Autonomous Robot Artificial Intelligence “Line Man” x96 Autonomous Robot Artificial Intelligence “Line Man” x96 Autonomous Robot Artificial Intelligence “Quad 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 Problems: Law of Cosines, angle less than 180 Result: Quad Man • Consideration: multiple objects on field x96 Autonomous Robot Francisco Fighter II: Championship Edition 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) x96 Autonomous Robot Robot and Communications • ? cm x ? cm x ? cm • Modular design • IC dominant • Simple chassis • Built in cards (not layers) COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications PC Rx Tx Decode Data Process Motor Driver 0 Chip count: 7 ICs User COMM PSU V-Reg PWM Motor Driver 1 Motor 0 Motor 1 x96 Autonomous Robot Robot and Communications • IN: rs232/user signal • OUT: TTL/CMOS data signal COMM Data Processing Power Supply Unit Motor Controls Motors • MAX232A (ext. cap., fast baud rate) • -/+10V (rs232) to +/-5V (TTL) • Various controls (manual, computer, wireless*) x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications • IN: data signal • OUT: control signal COMM Data Processing Power Supply Unit Motor Controls Motors • Decodes message from computer • 8-bit string to commands • PIC16F877 (33 I/O, USART, 2 PWM, 20MHz) x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications • IN: AC or DC • OUT: DC for circuits COMM Data Processing Power Supply Unit Motor Controls Motors • 9V battery • ??? AA batteries (12-15V, 2A) x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications • IN: processor commands • OUT: physical motion COMM Data Processing Power Supply Unit Motor Controls Motors • 12V DC motors • LMD18200 (PWM, braking, bidirectional) x96 Autonomous Robot Robot and Communications COMM Data Processing Power Supply Unit Motor Controls Motors x96 Autonomous Robot Robot and Communications PC Rx Tx Chip count: 5 ICs User COMM PSU V-Reg Decode Data Process PWM Motor Driver 0 Motor Driver 1 Motor 0 Motor 1 x96 Autonomous Robot Robot and Communications x96 Autonomous Robot Robot and Communications Power Management Communications Module Motor Drivers Data Processing 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!!! • 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 Robot and Communications PROBLEMS x96 Autonomous Robot Summary • 1 robot, 1 ball • Custom software, hardware design • Code AI and vision program • Result: robot moves… x96 Autonomous Robot Questions? Comments? Goodbye.