donderdag 9 juni 2011

Camera to coordinates

Yesterday we started working on translating the position of a lake in pixel on the camera to the x-y position of the lake with respect to the rover. Instead of the usual approach of using the camera position and goniometrics to derive the coordinates, we decided to create a lookup table to transform the camera output to coordinates. Below is a picture of what the camera sees with a grid superimposed on top. The nodes of the grid have certain pixel coordinates, and corresponding "real world coordinates". Using this data we created a lookup table and fitted parabolic functions in matlab to describe the camera's field of view for each "real world coordinate". By transforming the lookup tables into parabolic functions we avoid using vast amounts of memory for storage.


Below are the surface plots with on x and y the camera output in pixels and in z the corresponding distance in x & y in mm.

woensdag 8 juni 2011

Presentation / pictures Mars Rover.

Today we made the first version of the presentation for friday about our Mars Rover.

We also want to show how our linetracker and mars rover looks like up till now, see understanding pictures respectivily left and right. The camera standard has already been made but is not attached in this picture. Furthermore one can see that there is a fancy spoiler on our linetracker and mars rover ;-).


Motor controllers finished

The motor controllers have been working for about two weeks now, however the blogging had a little delay. There used to be a problem with reversing the direction and the problem was found to be in the abs() function. This function returned an int, while floats were required for the controller calculation. The robot drives in a straight line with input values a speed and a reference distance in mm and it is able to turn with input variables angle in degrees, turn speed and direction.

Smart driving using the map

Keeping track of edges on mars makes it possible to do smart path planning. Once the robot has received lake coordinates from the camera, it will check if a straight line towards the lake is possible. If there are known obstacles on the way, a new path is planned, avoiding the obstacle. Of course the map is completely empty at the start, so it might occur that the robot finds an edge on its way. This is then added on the map and a new path is planned, avoiding this edge too.

Finishing the linetracker

Yesterday the linetracker was finished. It will now beep before and directly after the measurement. Furthermore, our beautiful calibration file is removed, because we are not allowed to calibrate 10 seconds before the competition.

maandag 6 juni 2011

Problem sending lake coordinates to brick solved

Last week, just before the holidays, we were succesfull in the final attempt! We had to change the com.c file to be succesfull. A semaphore was created so that two functions cannot do their job at the same time: receiving the coordinates values and writing them in to the memory. Today we checked if our success wasn't a one time lucky shot and luckily it wasn't! Further programming was done to save these coordinates so that our 'tactics department' can test with these coordinates.

dinsdag 31 mei 2011

Problem sending lake coordinates to brick

Since two weeks, we have spent quite a lot of hours on the program that sends the lake coordinates to the brick. But we still aren't lucky in succeeding. Today the com.c-file has been adjusted in such way that we know now that the problem lies (probably) in the way the data is copied to the memory. More research needs to be done to receive the coordinates on the brick.