Odometry and drift · University · about 30 min
Measuring the gyro bias and the flow scale, and taking both out of the estimate.
[1 mark]A robot is driven exactly 100 cm, and its integrated flow says 96 cm. What scale factor should multiply future readings? Give three decimal places.
[1 mark]A gyro with a bias of 0.3 deg/s is integrated over five 0.1 s ticks, once raw and once with the bias subtracted. What does this print?
DT = 0.1
bias = 0.3
rates = [0.3, 0.3, 30.3, 30.3, 0.3]
raw = cal = 0.0
for r in rates:
raw += r * DT
cal += (r - bias) * DT
print(round(raw, 2), round(cal, 2))[1 mark]Why calibrate the gyro before the flow scale?
[1 mark]What is the name for recalibrating an inertial sensor at every moment the vehicle is known to be still, as a shoe-mounted pedestrian tracker does once per step?
[1 mark]Which of these can calibration not fix?
Tick every answer that is true.
[1 mark]Why can the flow scale not be calibrated using only the robot's own sensors?
Calibrate the gyro, then dead reckon at least 120 cm with turns in it. Print bias:, my x: and my y:. The position tolerance is tighter than the uncalibrated task, so the calibration has to be real.
from bugbot import * import math connect() DT = 0.1 # stand still first and learn the bias
Plan your program here, then type it in and press Run.
distance().