Skip to content

Workshop 5 ‐ Localisation errors

gcielniak edited this page Oct 21, 2024 · 2 revisions

Preliminaries

First, synchronise your fork with the main repository on GitHub (Sync fork) as some structural changes were made and new files were added. Then clone or pull the repository to your local PC and re-open it in the dev container using VSC. Rebuild the updated packages colcon build --symlink-install, and source the repository source install/setup.bash.

Accuracy of the odometry sensor

In this task, you will evaluate the quality of the odometry sensor of the LIMO robot. The evaluation scenario will involve implementing a simple behaviour that would drive the robot in a square pattern (e.g. 2m long) visiting 4 corner points and reaching the starting position at the end. The 4 corner points of known location will be used as measurement points where you will collect the odometry readings and compare them to the actual position of the corner. Your goal is to calculate error-based metrics using Euclidean distance for x,y coordinates only (you can disregard the angular information). The metrics should include RMSE, MAE, MBE and STD. To achieve this task consider the following:

  • You can implement the driving task any way you can, which can involve simple teleoperation.
  • It is not important that the robot visits the exact corner locations; in such cases, though, you need to measure the corner's location.
  • You can perform odometry data collection any way you deem feasible; logging the ROS topics into a csv file might be the easiest way.
  • Make sure that you note odometry readings at the start of the data collection, and if they are not 0, take that difference into account.
  • Your results in a simulated scenario might not be so insightful due to the way odometry is implemented.
  • Consider repeated trails and compare the results between each run.
  • When you have the final results, perform the same evaluation but with the robot traversing the corners in the opposite direction.