Você está na página 1de 25

THE POWERFUL!

PAPAYAS
DOOLITTLE INSTITUTES MINI-URBAN CHALLENGE 2014

Team
Robot Design and Programing! Jacob Glueck! Rushad Antia! Stephen Xu

Team
Route Generator Programming! Alex Dano"! Mathematician! Paul Neves

Software and Programming Language


Software: Eclipse! Free, open source IDE! Language: Java! Modern object oriented language! Firmware: leJOS! leJOS a JVM for the NXT

Pathnder

Generates the shortest path which goes through multiple destinations! A traveling salesman problem

Pathnder
Algorithm: brute force! Start a single robot in the staring parking space! Make it follow the road! Every time a simulated robot reaches an intersection, split it into two robots! The program is threaded to make full use of a multi-core computer

Pathnder
Enter the necessary waypoints delimited by spaces: L01A L02A L03A L04A L05A L06A! Total Distance: 392.0! Route: [L00A, I00, I01, L01A, L01B, L01C, L01D, I02, I03, I04, I30, I29, I28, I31, I38, I41, L05A, L05B, L05C, I42, I43, L06A, L06B, L06C, I48, I46, I42, I39, I33, I29, I28, I27, I14, I15, I16, I19, L02A, L02B, L02C, I21, L04A, L04B, L04C, I22, I25, I26, L03A, L03B, L03C, I23, I30, I29, I28, I27, I14, I15, L00A]

Pathnder: Challenges

How to actually write the program.! We couldnt run it well on the school computers on one thread.

Robot Design
Designed in Lego Digital Designer (LDD)! Originally modeled after a shopping cart! Has motile sensors which can see the lines bordering the road and can move to see the lines which divide the parking spots

LDD DESIGN
REAR VIEW

LDD DESIGN
FRONT VIEW

Robot Design
Features:! Custom button pusher! Rear wheel drive ! 4 color sensors

BUTTON PUSHER

Robot Programming: Data and Route Files


We wanted to make it easy to input the route and other data! Solution: store data in a le on the robot! When we run the ION program, if we hold down a button while it is starting up, the program will enter calibration mode! The program will prompt the user to place the sensors over certain colors and will write the data to a le

DATA INPUT

Robot Programming: Data and Route Files


When the program starts, it reads the route data from a text le! Example le:! DI# T90# PL3! This moves the robot forwards until an intersection, makes a 90 degree right turn, parks the robot in the third spot on the left and then pulls out of the spot.

Robot Programming: Line Following

Uses four color sensors to determine the exact position of the line

SENSORS: CENTERED

SENSORS: NOT CENTERED

Robot Programming: Line Following


!

PID line following! Proportional to the error! Integral accumulated error! Derivative trend of error

Robot Programming: Turning


Move center of robot to center of next road! Travel distance is modied according to the angle! Total distance is: x + Lcsc($)! Turn in place
x
!

}
L

Robot Programming: Parking


Line follow in the parking lot until the robot gets close to the space! Raise the sensors to look for the parking lines! Back in

Program: Color Identication

RGB values used as Cartesian coordinates! Proximity based on color identication

RGB COLOR CUBE

Robot: Challenges
Many null pointer exceptions! Created method stubs which returned null and never implemented them! Data read-in problem! Using negative array indices which causes data aborts! Calibrating the PID controller and getting proper color values

Você também pode gostar