Laboratory 1, part b - Position estimation(assigned on Sep 4)

Objective

Implement and test position estimation

Steps

  1. Implement position estimation on the ePuck.

  2. Verify that the estimates are correct over simple trajectories. (Note: think about how you can verify this, and describe it in your report.)

Optional parts

  1. Measure the error over a closed square trajectory.
    Make sure to measure the error over a sufficient number of laps, and see how the error increase without bounds at each lap.
    Make sure to try both directions.

  2. Try to improve the estimate by computing a compensation factor.
    For instance, a systematic error may be due to a small difference in the diameters of the two wheels: compensate by adequately scaling the readings from one of the wheels.

  3. (Advanced) Try to detect wrong estimates by using the sensors.
    For instance, you can notice that you are close to a wall according to the readings from the IR sensors, but you should not be close to a wall according to your (x, y, theta) position. Then, you can print a warning message.

  4. (Advanced) Try to improve the robot's estimate of its position by using the sensors.
    For instance, when you observe that you are close to a wall according to the readings from the IR sensors, you can adjust the (x, y, theta) position of the robot accordingly.
    Can you think of other ways to corrent the robot's position estimate using data from the sensors?

Report due: Sep 14 (max)

Make sure to read the "How to write your lab reports" document.

Include (only) your code, with comments.

Discuss problems encoutered and solutions invented.

Discuss the quality of the position estimate, and explain how you have measured it.

Did you try to do anything to improve the quality of the estimate? If so, explain clearly what you have tried that worked, and what you have tried that did not work.