robotics
DESCRIPTION
Robotics competitionTRANSCRIPT
-
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