38
x96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Design Review

Saturday, March 13, 2004

By

John Budinger

Francisco Otibar

Scott Ibara

Page 2: 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)

Page 3: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Design Reviews

• Autonomous Robot

• Sensor Subsystem

• Artificial Intelligence (revised)

• Robot and Communications (revised)

Questions or Comments and Answers

Page 4: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Autonomous Robotstill the same

Page 5: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 6: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Autonomous Robot

Input Output

Images Coordinates

Coordinates Commands

Commands Action

sensors

robot

AI

Page 7: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Sensor Subsystemalmost the same

Page 8: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Sensor Subsystem

• Input

raw data (unprocessed image)

• Output

object coordinate and label (X, Y, OBJECT)

Page 9: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Sensor Subsystem

• Collect as much data as quickly as possible

• Low cost and reliable

• Custom versus Commercial

Page 10: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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)

Page 11: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Sensor Subsystem

• Global Vision

• Green field

• White markers/borders

• Orange golf ball

• Robot w/ mostly black top

Page 12: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 13: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 14: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 15: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

All your AI are belong to us!evolution happens…

Page 16: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Artificial Intelligence

• Input

all objects (coordinates and labels)

• Output

robot command (BYTE)

Page 17: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Artificial Intelligence

• Uses objects position and labels

• Creates a map with XY coordinates

• Implemented in C++

Page 18: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 19: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Artificial Intelligence

“Line Man”

Page 20: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Artificial Intelligence

“Line Man”

Page 21: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Artificial Intelligence

“Line Man”

Page 22: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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);

Page 23: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 24: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Francisco Fighter IIb:Championship Edition

Page 25: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Robot and Communications

• Input

commands (BYTE)

• Output

action (move, kick, sleep)

Page 26: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Robot and Communications

• 10 cm x 10 cm x N cm

• Modular design

• IC dominant

• Simple chassis

• Built in layers

Page 27: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 28: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Robot and Communications

Chip count: 6 ICs

PC

TxRx

DecodeData

Process

PWM

MotorDriver 0

MotorDriver 1

Motor0

Motor1User

COMMPSU

Page 29: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 30: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 31: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 32: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 33: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Robot and Communications

Chip count: 4 ICs

PC

TxRx

MotorDriver 0

MotorDriver 1

Motor0

Motor1User

COMMPSU

DecodeData Process

PWM

Page 34: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Robot and Communications

Page 35: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 36: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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

Page 37: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

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…

Page 38: X96 Autonomous Robot Design Review Saturday, March 13, 2004 By John Budinger Francisco Otibar Scott Ibara

x96 Autonomous Robot

Questions? Comments?

Goodbye.