Following a trajectory · University · about 30 min
Dead band, lag and loop period, measured as the centimetres the robot is behind its own plan.
[1 mark]On the accelerating ramp the first order lag holds the velocity about a x tau below the demand. With a = 12 cm/s/s and tau = 0.25 s, how far below, in cm/s?
[1 mark]The robot is 3 cm behind its reference while travelling at 15 cm/s. How far behind is that in seconds?
[1 mark]Put the phases of the tracking error on a trapezoidal move in the order they happen.
Number the lines 1 to 4 to put them in the right order.
It settles once the reference stands stillIt grows on the accelerating rampIt goes negative on the decelerating rampIt shrinks during the cruise[1 mark]What does this print? It is the profile from the lesson.
D, A, V = 80.0, 12.0, 14.0 t_acc = V / A d_acc = 0.5 * A * t_acc * t_acc t_flat = (D - 2 * d_acc) / V print(round(t_acc, 2), round(t_flat, 2), round(2 * t_acc + t_flat, 2))
[1 mark]Why does pure pursuit degrade gracefully when the robot falls behind, and what does it give up?
[1 mark]Which of these add delay between the plan and the robot on the BugBot?
Tick every answer that is true.
[1 mark]A trajectory follower that slows its clock when the tracking error grows is using time scaling. What priority does that encode?
Build a trapezoid to 80 cm at 12 cm/s/s and 14 cm/s, follow it with feedforward and a correction, and keep holding the target for a few seconds afterwards. Plot ref, actual and error, and print duration:, what the profile says the move takes, and worst:, the furthest the robot ever fell behind the reference in centimetres.
from bugbot import * connect() DT = 0.1 DISTANCE, A_MAX, V_CRUISE, K = 80.0, 12.0, 14.0, 1.5
Plan your program here, then type it in and press Run.
worst into seconds using the speed at the moment it happened. Which number is more useful to whoever asked?