Upload
stevy-xu
View
8
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Robotics competition
Citation preview
THE POWERFULPAPAYASDOOLITTLE INSTITUTES MINI-URBAN CHALLENGE 2014
Stephen XuSticky Note
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
Stephen XuSticky NoteRushad
Pathfinder
Generates the shortest path which goes through multiple destinations
A traveling salesman problem
Stephen XuSticky NotePaul
PathfinderAlgorithm: 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
Stephen XuSticky NotePaul
PathfinderEnter 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]
Stephen XuSticky NoteAlex
Pathfinder: Challenges
How to actually write the program.
We couldnt run it well on the school computers on one thread.
Stephen XuSticky NoteAlex
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
Stephen XuSticky NoteStephen
LDD DESIGNREAR VIEW
Stephen XuSticky NoteStephen
LDD DESIGNFRONT VIEW
Stephen XuSticky NoteStephen
Robot Design
Features:
Custom button pusher
Rear wheel drive
4 color sensors
Stephen XuSticky NoteRushad
BUTTON PUSHER
Stephen XuSticky NoteRushad
Robot Programming: Data and Route Files
We wanted to make it easy to input the route and other data
Solution: store data in a file 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 file
Stephen XuSticky NoteJacob
DATA INPUT
Stephen XuSticky NoteJacob
Robot Programming: Data and Route Files
When the program starts, it reads the route data from a text file
Example file:
DI T90PL3
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.
Stephen XuSticky NoteJacob
Robot Programming: Line Following
Uses four color sensors to determine the exact position of the line
Stephen XuSticky NoteJacob
SENSORS: CENTERED
Stephen XuSticky NoteJacob
SENSORS: NOT CENTERED
Stephen XuSticky NoteJacob
Robot Programming: Line Following
!
PID line following
Proportional to the error
Integral accumulated error
Derivative trend of error
Stephen XuSticky NotePaul
}x
}L
Robot Programming: Turning
Move center of robot to center of next road
Travel distance is modified according to the angle
Total distance is: x + Lcsc()
Turn in place
Stephen XuSticky NotePaul
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
Stephen XuSticky NoteStephen
Program: Color Identification
RGB values used as Cartesian coordinates
Proximity based on color identification
Stephen XuSticky NoteJacob
RGB COLOR CUBE
Stephen XuSticky NoteJacob
Robot: ChallengesMany 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
Stephen XuSticky NoteRushad