X96 Autonomous Robot Proposal Presentation Monday, February 16, 2004 By John Budinger Francisco...

Post on 22-Dec-2015

215 views 0 download

Tags:

Transcript of X96 Autonomous Robot Proposal Presentation Monday, February 16, 2004 By John Budinger Francisco...

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.