State estimation · University · about 35 min
Odometry prediction, a tag as the measurement, and a gain that rises as the estimate ages.
[1 mark]The variance for six ticks, with a tag fix on ticks 3 and 6. What does it print?
Q, R_TAG = 0.6, 9.0
p = 4.0
for tick in range(1, 7):
p += Q
if tick % 3 == 0:
k = p / (p + R_TAG)
p = (1 - k) * p
print(tick, round(p, 2))[1 mark]Using the lesson's range model R_tag = 4.0 + 0.002 * d * d, what is R for a tag 100 cm away?
[1 mark]The gate accepts a fix when (measured - est) squared is less than 9 * (p + R_TAG). With p = 16 and R_TAG = 9, what is the largest innovation magnitude accepted, in cm?
[1 mark]Why is it useful that this gate widens when the filter is unsure?
[1 mark]U3.5 took a fix by replacing the estimate with the tag's value. Which weaknesses does fusing with a gain fix?
Tick every answer that is true.
[1 mark]Between fixes the robot dead reckons. What does the variance plot show?
Drive at least 80 cm towards tag 4, predicting with flow and correcting once a second while the tag is in view. Plot estimate and variance, and print my y:. No position().
from bugbot import *
connect()
DT, TAG_Y = 0.1, 165.0
Q, R_TAG = 0.6, 9.0
set_cv("apriltag")
est, p = 0.0, 4.0Plan your program here, then type it in and press Run.
R_TAG grow with range and compare the estimate.