48
x96 Autonomous Robot Design Review Thursday, May 6, 2004 By John Budinger Francisco Otibar

X96 Autonomous Robot Design Review Thursday, May 6, 2004 By John Budinger Francisco Otibar

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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 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 (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

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)

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

x96 Autonomous Robot

Robot and Communications Power Management

Motor Drivers

Data Processing

Communications Module

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.