0.2 Proper Pizza Delivery

In 0.1 a constant force got the driver to the door — and often through it — with leftover speed. That fails a quiet requirement of real delivery:

x(T)=D,v(T)=0,a(T)=0.x(T) = D, \qquad v(T) = 0, \qquad a(T) = 0.

Arrive at the customer, stop, and stop pushing. The pizza (and the doorframe) appreciate all three.

Why constant force is not enough

With a=F/ma = F/m held positive the whole trip, speed only climbs:

v(t)=at.v(t) = a t.

At the door you still have v>0v > 0. You cannot satisfy v(T)=0v(T) = 0 without changing the force — usually by braking, F→−FF \to -F (same magnitude, opposite direction, in this ideal model).

Once you are at rest at x=Dx = D, set F=0F = 0. Then a=F/m=0a = F/m = 0 as well. That is the “proper” end state.

A simple open-loop plan: accel, then brake

Keep the vehicle from 0.1: no drag, ∣F∣|F| fixed when thrusting or braking. One classic plan:

  1. Apply +F+F from the shop until a switch mark xsx_s.
  2. Apply −F-F (brake) until speed hits zero.
  3. Hold F=0F = 0 at rest.

If ∣a∣|a| is the same on both phases, the symmetric choice xs=D/2x_s = D/2 stops exactly at the door. Switch earlier and you stop short; switch later and you overshoot or still have speed at DD.

That plan is still open-loop — the switch is chosen ahead of time, not from a sensor reading the door. Feedback comes later in Section 1.1. Here the goal is only to feel the boundary conditions v=0v = 0, a=0a = 0.

Try it

Use Ideal halfway switch for a clean stop, then try braking early or late. Data shows aa going negative during the brake phase, then flat at zero.

Playground — accel then brake; goal v = 0 and a = 0 at the door
Acceleration
|a| = F/m = 3.27 m/s²
Speed
v = 0.00 m/s
Position
x = 0.0 / 80 m
Time
t = 0.00 s

Accelerate with +F, then brake with −F after the switch mark. Ideal switch is halfway for equal |F|.

Discussion

Fix the halfway switch xs=D/2x_s = D/2 and turn up ∣F∣|F|. Acceleration magnitude ∣a∣=∣F∣/m|a| = |F|/m rises with it. For the same shop-to-door distance DD, the trip finishes sooner: you climb to a higher peak speed in the middle, then scrub that speed over a shorter brake phase. The end conditions do not change. If the switch is right, you still arrive with

v(T)=0,a(T)=0v(T) = 0, \qquad a(T) = 0

at x=Dx = D. Larger force compresses the schedule; it does not rewrite the boundary conditions.

Why push as hard as the throttle (and brakes) allow? In this idealized vehicle — a double integrator, mx¨=Fm\ddot{x} = F with ∣F∣≤Fmax⁡|F| \le F_{\max} — the fastest stop-at-the-door plans use the extremes: full accel, then full brake. That pattern is often called bang-bang. Intuition beats formal optimal control here. Every moment spent below ∣Fmax⁡∣|F_{\max}| is a moment you could have been building speed faster or dumping it faster. Coasting at constant vv, or easing the pedal, leaves distance on the table while the clock runs. For minimum time with a hard force limit, you want to get moving ASAP and stop moving ASAP. (That is the classic time-optimal idea for a double integrator; Pontryagin’s principle says the same thing more carefully later, if you go there.)

Time is not the only score. Larger ∣F∣|F| means harsher accel and brake for the stack of boxes — and for whoever is riding. Soft pizza and sore wrists care about peak ∣a∣|a| as much as the stopwatch cares about TT. Control design is usually a compromise among speed, comfort, wear, and safety, not a single objective. 0.3 keeps the same stop and scores gas instead.

Use the widget to feel both sides. Run Ideal halfway switch with a small FF, then again with a large one; open Data and compare how tall the vv peak gets and how quickly aa flips from +F/m+F/m to −F/m-F/m. Then deliberately switch early or late: a bigger force does not rescue a bad plan. Magnitude sets how hard you push; the switch mark decides whether you stop short, cleanly at the door, or still roll through it.