25
THE POWERFUL PAPAYAS DOOLITTLE INSTITUTE’S MINI-URBAN CHALLENGE 2014

Robotics

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