Skip to main content

Open-loop cruise control using P control

Short answer

In open-loop cruise P control, set engine force u = Kp·r with Kp = b to obtain v = r. The discrete model v[k+1] = (1-bT/m)v[k] + (T/m)(u+d). Stability requires T < 2m/b, no oscillation T < m/b. Performance: time constant m/b, settling time ~4m/b, zero overshoot, steady-state error d/b.

Design control system for an automobile cruise control in open-loop control system using P control.

In an open-loop cruise controller the "P control" is a proportional gain applied to the reference speed: the engine force is u = Kp·r. Nothing is measured, so there is no error signal; the gain Kp is set from the car model.

Plant model

m·dv/dt = -b·v + u + d, where m = mass, b = drag/friction coefficient, v = speed, u = engine force, d = road disturbance (slope, wind), r = desired speed.

 r --> [ Kp ] --u--> (+) --> [ 1/(m s + b) ] --> v
                      ^
                      d

Design steps

  1. Choose Kp. With d = 0 the steady state is v = Kp·r/b. To get v = r choose Kp = b.
  2. Discretise (sampling period T, Euler): v[k+1] = a·v[k] + c·(u[k] + d[k]), with a = 1 - b·T/m and c = T/m.
  3. No unbounded output: |a| < 1, so T < 2m/b.
  4. No oscillation: 0 < a < 1, so T < m/b. The speed then rises smoothly like a first-order exponential.
  5. Implementation: the microcontroller reads the set speed r, computes u = Kp·r every T, and writes it to the throttle actuator (DAC/PWM).

Performance

ParameterValue
Time constantm/b
Settling time (2 %)about 4·m/b
Overshootnone
Steady-state errord/b from road disturbance, plus error from wrong b or m

The controller is simple and stable, but it cannot reject road disturbance or compensate for changes in mass or drag; for that, feedback (closed loop) is required.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 7 questions →