Tuesday, January 13, 2009

Simulation and drawing

Simulated experiments with MCL2D

The combination of the graphical user interface and the MCL2D class is established. The following experiments show how the MCL2D algorithm works on different kind of maps. The first map is in respect that we know about the relative angle to the map, unique. The second one has several ambiguous points as it's possible to see in the images. The red blob is a representative for the expected position of the actual MCL-state (the average of all sample positions), the green circles are the samples at their certain position and the blue blob is the position of the robot, which we type into the simulation. The robot never moves in the simulation.
The sensor inputs is simulated by using the function which estimate the meassured value from a position. This is the same function which is used to estimate the measurements of the samples. Because the same function is used it's possible to have exact matches.
We expect that the samples will go to the blue blob, because they want to reduce the error of the comparison with the real- and the expected sensor readings. Because of the uniqueness in the first map there should be one cluster of samples around the simulated position. The second map could show several clusters.

This experiment shows that the MCL-algorithm seems to work accurately. The samples clumb after several steps at the simulated position. The endpoint will not be smaller because of the uncertainty in the algorithm

This experiment has ambiguous points. These points give the same sensor readings. After some steps the samples clumb at four different positions with a higher probability and more samples at the simulated position. After several steps the samples build a cluster at the simulated position.

After some simulation experiments it's possible to say that the algorithm works accurately. None of the test runs with image one didn't find the simulated position. The test runs with map two showed that the samples always clumb after several steps at one of the possible positions.

This gives the conclusion: It should be possible to follow a robot correctly on these maps with a very high probability. It should be possible to use the algorithm in an physical world.

No comments: