MEAM.Design - MEAM 410/510 - A6: Localize Me!


For Robockey, your robots will be using the custom mWii sensor to determine location within the rink. Capable of detecting a constellation of four infrared stars mounted approximately 5 meters above the rink, your task will be to turn camera pixel results into useful localization data. The star pattern dimensions (relative to the rink center) can be seen below (click for higher resolution). For the purpose of this assignment, Goal "A" will be to the left of the constellation, and Goal B will be to the right.

.



1 - Where am I?

You put your robot in the rink, and you get back the following array of data from the mWii:

492330104733688567367105134025

What is the offset (in pixels) and orientation (mWii X axis relative to a line from the rink center to goal B) of the robot relative to the center of the rink? Answer this for yourself, and confirm with at least other person in the class - you needn't submit anything.



2 - Where have I been?

Download this zip file, which contains three .mat files obtained as the mWii was moved in a pattern under the constellation. Each .mat file contains an array, "rawStarData", that represents the values obtained from the sensor (without size data, so they are Nx8 arrays, arranged as [ x_1 x_2 x_3 x_4 y_1 y_2 y_3 y_4 ] ).

Your task is to plot the pixel-space position and an orientation vector for the mWii relative to the stationary constellation centered above the rink. Once you are confident in your results, save a PDF file of your plot, rename it as "510-A5-PennKey.PDF" (where PennKey is the part of your Penn email before the @ sign), and send it to "medesign@seas.upenn.edu" with the email title of "510-A5".



3 - Here I am! (no longer required)

Write M2 code to send mRF messages to address 0xDA at rate of 10Hz containing your XY location (in centimeters) relative to the rink center. The packet must take the following packet format:

char packet[3] = {0xAA, 0xXX, 0xYY};

Where AA is your assigned robot address from the Robockey project, and the remaining bytes are the signed X and Y coordinates, respectively.