ME311-Autumn2024-ACCExample
ME311-Autumn2024-ACCExample
0
Automatic Cruise Control (ACC)
1
Automatic Control System Fuel
Desired Throttle Actual Added, Road
Desired Vehicle
Valve Position Throttle Valve Grade
Speed
Throttle Position Vehicle
Control Speed
Valve Engine+
Algorithm
Control Gearbox
on ECU
System
Wheel
Estimated Vehicle Rotation
Speed Sensor
2
ACC: Block Diagram Mass of fuel injected
Friction, loads Road grade, load
Desired Desired Actual
Vehicle Speed Throttle Throttle Vehicle
Throttle
Speed Position Position Engine+ Speed
Position
Control Gearbox
Control
Algo +Inertias
System Plant
Measured
Wheel speed Wheel
Speed
Sensor
Measured Throttle
Position
Potentiometer
3
The Problem and the Challenge
Why is it challenging?
n Conflicting objectives (eg reference tracking vs noise rejection)
n Signal, Model undertainty: Disturbances, sensor noise; Plant, actuator,
sensor behaviour not known precisely
n Behaviour of plant, actuator can display dynamics (past control inputs
affect the present)
n Actuator limitations (eg saturation |uac|<U)
4
ACC Controller Design Problem
5
Controller Design Process
6
Control-Oriented Model of Plant
mf FL
α Te Tw Fw Fnet v
E G 1/Rw 1/M ∫
7
Control-Oriented Model of Plant
FL
α Te Tw Fw Fnet v
E G 1/Rw 1/M ∫
Mv(t ) = ( EG / Rw )a (t ) - FL (t )
8
Cruise Control Algo Design Problem
n If the vehicle speed estimation system was assumed to be perfect and
perfect actuator, the design of the speed control algo boils down to
choosing α(t) such that the closed loop (ie map from (vdes, FL)àv
consisting of the control-oriented model of the plant in feedback with
speed control algo) satisfies some desired specifications
Loads (FL)
Desired Actual
Vehicle Speed Throttle Vehicle
(vdes) Position Speed (v)
Speed (α)
Control Mv(t ) = ( EG / Rw )a (t ) - FL (t )
Algo
9
ACC: Closed Loop Dynamics, P & PI Control
P Control PI Control
23
23 !"#$% '($#)*+,: .0̇ = 5 − 7"
!"#$% '($#)*+,: .0̇ = 5 − 7" 4!
4! 7889:#+; !G <=$%>=":
7889:#+; ! <=$%>=": '
5 = ?# 0$ % − 0 % + ?% ∫& 0$ I − 0 I 9I
5 = ?# (0$ % − 0 % )
<"=,89 B==C '($#)*+,
<"=,89 B==C '($#)*+,
D*%ℎ !G <=$%>=":
D*%ℎ ! <=$%>=":
'
23 23
.0̇ = ? (0 − 0) − 7" .0̇ = J? 0 − 0 + +?% L 0$ I − 0 I 9IK − 7"
4! # $ 4! # $ &
23 23 23
=> .0̇ + ?# 0 = ? 0 − 7" *8 .0̈ = ?# 0̇ $ − 0̇ + ?% (0$ − 0) − 7"̇
4! 4! # $ 4!
23 23 23 23
=> .0̈ + ?# 0̇ + ?% 0 = ?# 0̇ $ + ? 0 − 7"̇
4! 4! 4! 4! % $
12
What all did we do to ‘build’ our first cut ACC controllers?
n Build rudimentary understanding of the control objectives involved with the ACC
problem
n Analyze behaviour of first and second order linear constant coefficient ODEs
towards deciding which structure of controller is better suited
n Simulate closed loop behaviour using a tool (that also allows you to relax some
simplifying assumptions) to check if your design controller behaviour satisfies
performance objectives
13
What we will (hopefully) learn to do for major chunk of course?
n Simulate closed loop behaviour using a tool (that also allows you to
relax some simplifying assumptions) to check if your design controller
behaviour satisfies performance objectives
14