The answersDownload the PDF
Worksheet

U10.6 How far behind

Following a trajectory · University · about 30 min

BugBotLab
NameClassDate

What this lesson is about

Dead band, lag and loop period, measured as the centimetres the robot is behind its own plan.

Questions 7 marks in all

  1. [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?

  2. [1 mark]The robot is 3 cm behind its reference while travelling at 15 cm/s. How far behind is that in seconds?

  3. [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.

    1. It settles once the reference stands still
    2. It grows on the accelerating ramp
    3. It goes negative on the decelerating ramp
    4. It shrinks during the cruise
  4. [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))
  5. [1 mark]Why does pure pursuit degrade gracefully when the robot falls behind, and what does it give up?

    1. AIt advances its target from the robot's own projection, not a clock, so the error cannot run away; but it has no opinion about timing
    2. BIt uses a longer look-ahead when behind; but it cuts corners more
    3. CIt feeds forward the reference speed; but it drifts without feedback
    4. DIt slows the clock when the error grows; but it needs a trajectory
  6. [1 mark]Which of these add delay between the plan and the robot on the BugBot?

    Tick every answer that is true.

    1. AThe dead band, which makes the first few cm/s of the profile produce nothing
    2. BThe 0.25 s first order lag in the drive
    3. CThe 0.1 s loop period
    4. DHeavy filtering of the position being controlled on
    5. EParameterising the path by arc length
  7. [1 mark]A trajectory follower that slows its clock when the tracking error grows is using time scaling. What priority does that encode?

    1. AGeometry first, timing second, because being in the wrong place is worse than being late
    2. BTiming first, geometry second, because the plan promised a duration
    3. CNeither: it simply lowers the cruise speed for the whole route
    4. DIt removes the need for feedback

The task: how far behind the plan

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.

QR code
Do it on the robot
www.bugbotlab.com/learn/u10-6-how-far-behind/
The simulator checks it and tells you when it passes. Nothing to install, no account.

Challenges

  1. Convert your worst into seconds using the speed at the moment it happened. Which number is more useful to whoever asked?
  2. Halve the acceleration limit and measure again. The move takes longer on paper: does it finish sooner in practice?
  3. Advance the reference from the robot's own position instead of from the clock. What can no longer go wrong, and what have you given up?