jump to navigation

Mars mission, strategy and code June 17, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

Yesterday our rover and the ones produced by other teams competed on the mars platform and demonstrated their abilities to find lakes. Unfortunately our Rover didn’t make it in the top 3, but it did manage to find one lake as you can see in the video below. This is the end of the project, and therefore it is time to publish our source code. The full source is available in a zip-file here and the most important part, the strategy, is web-viewable here.

The strategy comes down to this: The rover starts in exploring mode. First it drives a little distance, then it rotates 45 degrees and waits a while, this is repeated until it has rotated 360 degrees. When it does not receive coordinates it drives a little further and scans again. When it does find coordinates at any time it rotates towards the lake using the function described in a post below, and starts driving towards the lake. If the rover gets new coordinates it does a correcting steer action and drives further towards the lake. When a lake is detected using the middle light sensor the temperature is measured and sent back to the earth computer. Of course, edge detection is always on to keep the rover from driving off an edge. When moving away from an edge the rover rotates to the right or left randomly to avoid getting stuck in an infinite loop of edge avoidance.

Source code (.zip)

Strategy code (web-viewable)

If the earth is not available, we create our own. June 16, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

Because the last available days of testing saturated the testing opportunities on the mars platform, we decided to build our ow earth station (see picture below).

We used the simulink model, adapted it to the camera and it worked very well. This feature gave us the opportunity to test our communication between the earth station and the mars rover. Furthermore, we could check if we were on right “track” regarding the coordinate conversion from the camera to the real world. The artificial lakes were created by using original rover blue screens.

Camera Coordinate Conversion June 15, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

To be able to use the coordinates which are sent by the Earth computer when it has recognized a lake, the coordinates from the camera have to be converted to “real world” coordinates. A special function is designed which calculates the angle and distance of the recognized spot on the camera by using a linear conversion. The camera coordinates must be converted onto a trapezoidal grid. There was chosen to convert the camera coordinates to a steering angle and a distance as the tank-like tracks allow on spot rotation. This makes navigation a lot easier compared to making round corners, which poses more difficulties in planning a path to the lake.

At first the most distant camera-point  was used to interpolate the other coordinates. After some more testing is seemed that the lens distorts the image in a non-linear way, causing the conversion to be too crude for points closer to the camera where the highest accuracy was needed. Therefore the camera was calibrated for a good conversion in the lower half (nearest/lower part of the field of view). The inaccuracy in the upper half of the camera field of view does not really pose a problem as the lakes in that region are not very often recognized by the Earth computer. As the angle still is converted correctly the error in the distance estimation is not a real problem; when Hank drives to a lake it checks its middle edge sensor to detect the lake.

 

2nd place linetracking! June 14, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

Hank became officially second at the line-tracking contest!

Measured distance 728 mm in 8 sec!

Beneath the slides of the presentation are shown:


Small updates June 14, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

Temperature calibration update

The calibration of the temperature measurement calibration has been extend with a 0 degree calibration value. This update gives us increased accuracy.

UML update

The following UML files have been updated to the current status.

Component diagram:
Deployment diagram:

Use case diagram:

Just wandering June 8, 2011

Posted by embeddedmotioncontrol in Uncategorized.
add a comment

Today we sent Hank on a mars field trip, apparently he was still a bit nervous.