Week 2 - Uncertainty
The goal of this assignment is to get familiar with the simulator, and explore uncertainties in the sensors and motion.
Task 1 – The simulator
Download the simulator from GitHub https://github.com/Robotics-BUT/MPC-MAP-Student, and get familiar with it (see the Simulator section). Focus your attention on the private_vars
, read_only_vars
and public_vars
data structures, and the sequence of operations in the infinite simulation loop. Try loading different maps and setting various motion commands. No output is required in this step.
Task 2 – Sensor uncertainty
The robot is equipped with 8-way LiDAR and GNSS receiver. Determine the standard deviation (std) sigma
for the data from both sensors by placing static robot (zero velocities) into suitable maps, and reading the data for at least 100 simulation periods. Discuss whether the std is consistent across the individual LiDAR channels, and across both GNSS axes. Plot histograms of the measurements.
Task 3 – Covariance matrix
Use the measurements from the previous step, and MATLAB internal cov
function to assemble covariance matrix for both sensors. Verify the resultant matrix is of size 8x8 and 2x2 for the LiDAR and GNSS, respectively. Verify the values on the main diagonal equal to sigma^2
, i.e. equal to variance=std^2
.
Task 4 – Normal distribution
Create a function norm_pdf
for assembling probability density function (pdf) of the normal distribution. The function accepts three arguments: x
(values at which to evaluate the pdf), mu
(mean), and sigma
(standard deviation). Utilize this function and sigma
values from the Task 2 (e.g. for the 1st LiDAR and X GNSS axis) to generate two pdfs illustrating the noise characteristics of the robots sensors, and plot it into one image (use mu=0
in both cases).
Task 5 – Motion uncertainty
The uncertainty is not just in the measurement (in the sensor data), but in the motion as well. Load the indoor_1
map and try to navigate the robot to the goal location without using sensors. To do so, apply a proper sequence of motion commands inside the plan_motion.m
function. Save the screenshot of the successful run and discuss, what could be the potential source of uncertainty in the robot motion.
Submission
To implement the tasks, use the algorithm
directory only; do not modify the rest of the simulator. The solution must work in the fresh simulator without any errors, and must generate the graphical outputs contained in the report.
Create a single A4 report that will briefly describe your solution (few sentences for each task and an image, if makes sense).
Send the report and zip
archive comprising the algorithm
directory to the lecturer's e-mail by Sunday 23:59 of the given week of the semester.