Mapping · University · about 35 min
The forward model: given a map and a pose, what would the sensor read?
[1 mark]What does this program print?
CELL = 5.0
occupied_row = 6
y = 2.0
r = 0.0
while int((y + r) / CELL) < occupied_row:
r += 1.0
surface = 33.0
print(r, surface - y)
[1 mark]A ray caster's predictions are consistently a few centimetres shorter than the real readings. Why?
[1 mark]A particle filter has 300 particles and uses 2 beams each, at 10 Hz, and each ray cast marches 150 steps. How many grid lookups is that per second?
[1 mark]What does a likelihood field precompute, and what does it save?
[1 mark]A planner uses a ray cast to ask whether a straight route is safe. How should that caster treat unknown cells?
[1 mark]Why can using two of the eight beams improve the estimate as well as the speed?
Standing at (100, 50), build a map from the scans. Then ray cast from a pose 20 cm behind the robot and print predicted:. Drive back 20 cm, measure, and print measured: and error:.
from bugbot import * import math connect() CELL, W = 5.0, 40 L_OCC, L_FREE, L_MAX, FAR = 0.85, -0.4, 8.0, 170.0 START_X, START_Y = 100.0, 50.0 grid = [0.0] * (W * W)
Plan your program here, then type it in and press Run.
scan() uses and compare the whole predicted fan with the real one.