---
title: "Open-loop automobile cruise controller design"
subject: "Embedded System"
chapter: 7
key: "semester_6/embedded_system:open-loop-cruise-controller"
source: https://www.bctengineer.com/q/semester_6/embedded_system/open-loop-cruise-controller
site: BCT Engineering
---

# Open-loop automobile cruise controller design

Embedded System · Chapter 7: Control System

- Asked in: 2072 Magh, 8 marks; 2073 Magh, 8 marks; 2079 Jestha, 8 marks (asked 3 times)
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/embedded_system/open-loop-cruise-controller
- Whole chapter: https://www.bctengineer.com/md/semester_6/embedded_system/chapter-7

## Question

Design an open loop automobile cruise controller and derive the conditions for no oscillation and reduction of road disturbance and determine the performance parameters.

## Short answer

Open-loop cruise sets engine force u=b·r using car model m·dv/dt=-b·v+u+d. No oscillation requires sampling period T < m/b (pole 0<a<1). Bounded output requires T < 2m/b. Steady-state speed v_ss=r+d/b, so road disturbance error d/b cannot be rejected. Performance: time constant τ=m/b, rise time ≈2.2m/b, settling time ≈4m/b, zero overshoot.

## Answer

An open-loop cruise controller sets the engine force from the desired speed only, using a known model of the car. It does not measure the actual speed.

#### Model

Let m = mass, b = friction (drag) coefficient, v = speed, u = engine force, d = road disturbance force (slope, wind), r = desired speed.

m·dv/dt = -b·v + u + d

#### Open-loop design

Controller: u = K·r, with K = b (so that, with d = 0, the steady speed is v = u/b = r).

```text
 r --> [ K = b ] --u--> (+) --> [ 1/(m s + b) ] --> v
                         ^ d
```

Transfer function: V(s) = [1/(m·s + b)]·(K·R(s) + D(s)).

#### Discrete form (sampling period T)

Euler approximation: v[k+1] = a·v[k] + c·(u[k] + d[k]), with a = 1 - b·T/m and c = T/m.

#### Condition for no unbounded output

The pole of the system is at z = a. A stable (bounded) output needs |a| < 1, i.e. 0 < b·T/m < 2, so T < 2m/b. In continuous time the pole s = -b/m is negative for b > 0, so the response is always bounded.

#### Condition for no oscillation

Oscillation occurs when the pole is negative. We need 0 < a < 1, i.e. b·T/m < 1, so T < m/b. The speed then rises smoothly with no overshoot (first-order response).

#### Steady state and road disturbance

With constant r and d, the steady-state speed is v_ss = (K·r + d)/b = r + d/b.

- Tracking error due to the road = d/b.
- The controller cannot reduce this error: changing K only shifts the speed reached, while the d/b term depends only on the plant, so open loop has no way to reject the disturbance.
- If b or m changes (passengers, tyre wear), K = b is wrong and an error appears even with d = 0.

#### Performance parameters

| Parameter | Value |
|---|---|
| Time constant | τ = m/b |
| Rise time (10-90 %) | ≈ 2.2·m/b |
| Settling time (2 %) | ≈ 4·m/b |
| Overshoot | 0 % |
| Steady-state error | d/b (plus model error) |

**Conclusion:** the open-loop controller is simple and non-oscillatory when T < m/b, but it cannot remove the road-disturbance error; this motivates feedback.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. In the open-loop cruise controller, what value of K gives v = r when d = 0?
   A. K = m
   B. K = b
   C. K = 1/b
   D. K = m/b
   Answer: B. Steady speed v = K*r/b, so K = b gives v = r. (Key point: Controller design)

2. What condition on the sampling period gives no oscillation (0 < a < 1)?
   A. T < m/b
   B. T < 2m/b
   C. T > m/b
   D. T < b/m
   Answer: A. a = 1 - bT/m must be positive, so bT/m < 1. T < 2m/b only keeps it bounded. (Key point: No oscillation)

3. What is the steady-state tracking error due to the road disturbance d?
   A. d/(b + K)
   B. d*b
   C. Zero
   D. d/b
   Answer: D. v_ss = r + d/b, so the error is d/b. (Key point: Road disturbance)

4. What are the time constant and 2% settling time?
   A. b/m and about 4b/m
   B. m/b and about 2.2m/b
   C. m/b and about 4m/b
   D. m*b and about 4m*b
   Answer: C. First-order system: tau = m/b, 2% settling ~ 4 tau. (Key point: Performance)

## Related in Embedded System

- [Open-loop cruise control using P control](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aopen-loop-cruise-p-control) — Embedded System, chapter 7
- [Closed loop better than open loop (cruise)](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aclosed-loop-better-cruise-integral) — Embedded System, chapter 7
- [Closed loop speed control design conditions](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aclosed-loop-speed-control-conditions) — Embedded System, chapter 7
- [Open loop versus closed loop control](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aopen-vs-closed-loop) — Embedded System, chapter 7, asked 6×

## Related in other subjects

- [Closed loop disturbance rejection and command tracking](https://www.bctengineer.com/question.md?key=semester_3%2Fcontrol_systems%3Acl-disturbance-tracking) — Control Systems, chapter 1
- [Controller design with 8 samples per cycle, step response and Kv](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Adesign-8-samples-step-kv) — Digital Control System, chapter 4
- [Open loop TF and ramp error from (Ks+b)/(s²+as+b)](https://www.bctengineer.com/question.md?key=semester_3%2Fcontrol_systems%3Acltf-ks-b-ramp-ess) — Control Systems, chapter 3, asked 2×
- [Static and dynamic performance parameters](https://www.bctengineer.com/question.md?key=semester_4%2Finstrumentation_i%3Astatic-dynamic-performance-parameters) — Instrumentation I, chapter 2
