cs team: ece team: reckoning ieee region v robotics competition cody mass, jared saul david ameh,...

18
CS Team: ECE Team: Reckoning IEEE Region V Robotics Competition Cody Mass, Jared Saul David Ameh, Lance Martin, Nick Schlag CS 425 Senior Project Design, Fall 2009 1

Upload: marianna-cameron

Post on 26-Dec-2015

222 views

Category:

Documents


4 download

TRANSCRIPT

CS Team:

ECE Team:

ReckoningIEEE Region V Robotics Competition

Cody Mass, Jared Saul

David Ameh, Lance Martin, Nick Schlag

CS 425 Senior Project Design, Fall 2009

1

Client & CompetitionWe’re going to Disneyland Texas!

2

Gaylord Texan Resort and Convention Center, Grapevine, TX

Our GoalToxic waste Nuclear fuel rod disposal is totally our area of expertise (...right?)

“…The task this year is to construct a land-based robot which can autonomously transport expended nuclear fuel rods from a central location to remote processing areas. Due to the high riskof human exposure or environmental damage, it is desirable to transport spent fuel rods from the power plant to remote processing locations via autonomous unmanned transport. ... Each team must design and build an autonomous robot that can detect and transport containers from 4 central locations to the assigned square areas in the corners of the course. The robot must deliver the rods from 4 central locations to their specified delivery areas in any order.”

3

Our GoalWait...there are rules?

• Course:– 8’ x 8’ Field– Randomly-placed obstacles

(final round only)• Cargo containers:

– Copper fuel rods (see diagram)• Robot:

– 1’ L x 1’ W x 2’ H– Weighs less than 50 lbs.

• The competition:– 1 minute to prepare the robot– 4 minutes to perform the task

4

TimelineIn addition, May 2010: Victory celebration

5

• Blue:• Yellow:• Green:

Implementation

Testing and modification

Refinement

Hardware ComponentsFloat like a butterfly, sting like a $135 robot

6

Hardware ComponentsNuclear fuel rods: Handle with care

7

Light Sensor

Hardware ComponentsEverything but the kitchen sink

Gumstix

PSoC

LaserLine

Sensor

Arm Wheels

8

Hardware ComponentsWhen we say “move”, the ECE team says “How far?”

• The Gumstix (microcontroller) will send a movement request to the PSoC (created by the ECE team)

• The PSoC will then perform the low-level motor/sensor commands:– Move wheels forward/backward– Rotate (move one wheel forward, one backward)– Full stop– Open/close/move robotic arm– Get light frequency sensor data 9

Light Sensor

PSoC

Arm Wheels

Hardware ComponentsTurns out a “Gumstix” isn’t a candy bar

• Overo Fire Gumstix:– 600 MHz, 256MB RAM, 256MB Flash– Includes 802.11(g) and Bluetooth

• Summit expansion board:– USB OTG mini-AB, USB host mini-A,

DVI-D (HDMI), USB Serial Console, Audio in/out, many other ports and lines (including I2C) for the PSoC

10

Gumstix

LaserLine

Sensor

Hardware ComponentsAnd if there’s still room left over, maybe a coffee machine, too...

• Webcam – No longer needed!• Laser:

– High-quality proximity detection at various angles—can even determine orientation

– Used for locating fuel rods and/or obstacles• Line Sensor:

– Following the painted black lines on the course would really help localization

11

Gumstix

LaserLine

Sensor

Inter-Integrated Circuit…otherwise known as I2C

12

Gumstix

PSoC

• Provides serial connection between Gumstix and PSoC

• Each device connected to the bus has a unique address

• No strict baud rate requirements

// Sample Driver command// tell the driver we want the device at// address 0x20

fh = open("/dev/i2c-3", O_RDWR);ioctl(fh, I2C_SLAVE, 0x20)

The Users…of an autonomous robot?

• There’s really only one type: us!– Creators– Designers– Coders– Operators

• Since the robot must be autonomous, there is no “end user”

13

Development EnvironmentBecause programming in assembly would simply take too long

• Operating system:– Angstrom Linux

• Programming language:– C– C++

• Libraries:– OpenCV no longer needed, but

standard C/C++ libraries, of course• Getting the code there:

– Wireless subversion– Bluetooth– Serial connection (laptopGumstix)

14

Software Designrobot.winCompetition(true);

15

• Primary choice for localization: Dead reckoning• Possible additional algorithms: Scan feature, seeing beacons• PSoC Command Set Parameters:

– moveStraight(float distance, float speed)– A negative distance signifies moving straight backwards– Speed is a percentage of the robot’s top speed, from 1 to 100

– rotate(float degrees, float speed)– Positive degrees makes a clockwise turn, and

negative degrees makes a counter-clockwise turn– stop()– moveCustom(float leftSpeed, float rightSpeed, float time)

– Time is the number of seconds to run

State DiagramThat doesn’t look anything like Illinois…or Texas!!

16

Gumstix Demo

ReckoningIEEE Region V Robotics Competition

17

Questions??

ReckoningIEEE Region V Robotics Competition

18