0% found this document useful (0 votes)
52 views10 pages

Lec03 MotorControl

The document discusses different types of control systems including feed-forward control, proportional control, proportional-integral control, and proportional-integral-derivative control. It explains how these different controller types address issues like steady-state error and overshoot. The document also discusses concepts like process variables, set points, error signals, and gain selection in control systems.

Uploaded by

.adtmmal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views10 pages

Lec03 MotorControl

The document discusses different types of control systems including feed-forward control, proportional control, proportional-integral control, and proportional-integral-derivative control. It explains how these different controller types address issues like steady-state error and overshoot. The document also discusses concepts like process variables, set points, error signals, and gain selection in control systems.

Uploaded by

.adtmmal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Motor Control

RSS Technical Lecture 3


M d
Monday, 13 Feb
F b 2012
Prof. Seth Teller
Jones, Flynn & Seiger § 7.8.2

Today: Control
• Early mechanical examples
• Feed-forward and Feedback control
• gy
Terminology
• Basic controllers:
– Feed-Forward (FF) control
– Bang-Bang control
– Proportional (P) control
– The D term: Proportional-Derivative (PD) control
– Th I term:
The t Proportional-Integral
P ti lI t l (PI) control
t l
– Proportional-Integral-Derivative (PID) control
• Gain selection
• Applications

1
What is the point of control?
• Consider any mechanism with adjustable DOFs*
(e.g. a valve, furnace, engine, car, robot…)

• Control is purposeful variation of these DOFs


to achieve some specified maintenance state
– Early mechanical examples:† float valve, steam governor

www.freshwatersystems.com wikimedia commons

*DOFs = Degrees of Freedom †Note blanks on your printed slides!

The Role of Control


• Many robotics tasks are defined by (high-level)
achievement goals requiring planning:
– Go to the exit of the maze
– Push a box around some obstacles to a goal location
– Pass to the left around a slower-moving vehicle
• Other robotics tasks are defined by (low-level)
maintenance goals requiring control:
– Drive at 60 mph (or in RSS, roll forward at 0.5 m/s!)
– Keep to the center of the lane indefinitely
– Follow some trajectory computed by the planner
– Balance on one leg
• Today’s focus is control; we’ll see planning later

2
Feed-Forward (FF) Control
• Pass command signal from external environment
directly to the loaded element (e.g., the motor)
• Command signal typically multiplied by a gain K
Command 
signal
Motor RPM

K
• … What are the units of the command signal?
• … Where does the gain value K come from?
– Calibration (example: PWM = 0, PWM = 255)
• Under what conditions will FF control work well?
– When the presented load is uniform and known
• You will implement a FF controller in Lab

Feedback Control Terminology


• Plant P: process commanded by a Controller
• Process Variable PV: Value of some process
or system quantity of interest (e.g. temperature,
speed, force, …) as measured by a Sensor
• Set Point* SP: Desired value of that quantity
e(t) u(t)
SP - Controller Plant PV

Feedback Sensor
• Error signal e(t) = SP-PV: error in the process
variable at time t, computed via Feedback
• Control signal u(t): controller output (value of
switch, voltage, PWM, throttle, steer angle, …)
*Set point is sometimes called the “Reference”

3
Example: Home Heating System
• Plant P: Boiler with on-off switch (1 = all on ; 0 = all off)
• Process Variable PV: Current home temperature
• Controller: Thermostat Sensor: Thermometer
• Set Point SP: Thermostat setting (desired temp.)
• Control signal: Boiler on-off switch u(t) ∈ {0, 1}
e(t) u(t)
SP - Thermostat Boiler PV

Temperature Sensor

How could the function u(t) be implemented?


u(t) = 1 if e(t) > 0 [i.e., if SP > PV], 0 otherwise
This is called “bang-bang control.” Would it work well?
No; add hysteresis for better performance.

Proportional Control
• Suppose plant can be commanded by a
continuous, rather than discrete, signal, e.g.:
– Valve position to a pipeline or carburetor
– Throttle to an internal combustion engine
– PWM value to a DC motor
• What’s a natural thing to try?
– Proportional (P) Control: make the command signal
a scalar multiple of the error term: u(t) = KP  e(t)
e(t) u(t)
(t)
SP - Controller Plant PV

Sensor

4
Example: Cruise Control (CC) System
• Plant P: Engine with throttle setting u ∈ [0..1]
• Process Variable PV: Current speed Vactual
• Controller: CC system
y Sensor: Speedometer
p
• Set Point SP: Desired speed Vdesired
• Control signal: Continuous throttle value u ∈ [0..1]
e(t) u(t)
Vdesired - CC System Engine Vactual

Speedometer

Define e(t) = Vdesired-Vactual, u(t) = KP  e(t), clipped to [0..1]


i.e. Throttle = KP  (Vdesired - Vactual)
Does this controller “settle” at the desired speed?
No; it exhibits steady-state error (SSE).

Proportional Control: Why SSE?


– Suppose PV=SP. Then u(t) = KP * e = 0 (Plant inactive)
– Process Variable deviates from Set Point, activating plant
– But any real physical system has a delayed response
– Deviation, sustained over delay interval, yields SSE

Delay
Set Point Steady-State
Error (SSE)

Process
Variable PV < SP, u(t) > 0, Plant activates
PV = SP, u(t) = 0, Plant inactive
Time

Why not just introduce constant term, u(t) = A + KP * e(t) ?

5
Proportional Control Step Response
Notional plot and terminology:

Step
input Steady-State
S S
Error (SSE)

Settle Time
Set Point
Process
Variable
Time

Is SSE constant over time? No; it depends on load.

Proportional Control and SSE


• Can combat SSE by increasing KP (“the P gain”)
• This gives a faster response and lower SSE
• But increasingg the g
gain too much leads to
overshoot and instability
Higher KP
Step
Set input
Point
Low KP

Process
Variable Time

6
Combatting Overshoot: The D Term
• Note the derivative of error in responses below
• Subtract it from output to counteract overshoot
• Then u(t) = KP  e(t) + KD  d [e(t)] / dt
– KD the “derivative” or “damping” term in PD controller
Higher KP
Step
Set input
Damped response, KD > 0
Point
Low KP
Small derivative
Process Large derivative
Variable Time

• … But still haven’t eliminated steady-state error!

Combatting Steady-State Error: I Term


• Idea: apply correction based on integrated error
– If error persists, integrated term will grow in magnitude
– Sum proportional and integral term into control output
e(t) u(t)
SP -   Plant PV
KP
  KI

Then u(t) = KP  e(t) + KI   e(t) (where the integral of


the error term is taken over some specified time interval)
This produces a proportional-integral (PI) controller

Incorporating the I term eliminates SSE by modulating


the plant input so that the time-averaged error is zero.
You’ll hear robotics people speak of controller “wind-up”

7
Putting it All Together: PID Control
• Incorporate P, I and D terms in controller output
– Combine as a weighted sum, using gains as weights

d/dt  KD

e(t) u(t)
SP -   Plant PV
KP
  KI

Then u(t) = KP  e(t) + KI   e(t) + KD  d [e(t)] / dt


This is a “proportional-integral-derivative” or PID controller
(In “ideal form,” controller gains are physically meaningful)

How to determine effective gain values?


• P controller: search 1-D space of gains KP
– Identify various behavior regimes; you’ll do this in Lab
• Choose analytical or empirical approach (how?)
• Hybrid:
H b id Zi
Ziegler-Nichols
l Ni h l T Tuning
i M Method
th d (Heuristic)
– Useful in absence of system model (if system linear, slow)
– Start with pure P control (how?); Increase KP until system
oscillates indefinitely; note critical gain KC and period TC
– Then for P, PI, or PID control, set gains as follows:
KP KI KD
P 0.5 KC
PI 0.45 KC 1.2 KP / TC
PID 0.6 KC 2 KP / TC KPTC / 8
– Yields acceptable but not optimal controller behavior

8
Other Applications of Feedback Control
• Mobility:
– Lane-keeping
– Trajectory-following
– Standoff
St d ff maintenance
i t
• Manipulation:
– Maintaining a steady contact force for grasping
– Holding a mass at a certain location or attitude
– Pushing a sliding object at constant velocity
• Sensing:
– Automatic gain control, white balance, etc.
– Target-tracking for active vision (body, head, eyes…)
• Many, many more

To Think About
• Lab 2 involves running motor at constant speed
• Lab 4 involves following a hand-held ball
• L b 5 iinvolves
Lab l moving
i alongside
l id a solid
lid wallll
• Lab 7 involves picking up a block from the ground
• How might you use P/I/D feedback control to
implement any of these behaviors?
• What sensor(s) would you use, and what sort
of error signal(s) would you infer from them?
• What would your robot's behavior look like?

9
What’s Next?
• For more on control, consider taking any of:
– 2.003, 2.004, 2.086, 2.12, 2.14x, 2.151, 2.152, 2.830, …
– 6.01, 6.003, 6.011, 6.142, 6.231, 6.241, 6.243, 6.832, …
– 16.06, 16.30, 16.31, 16.301, 16.32x, 16.72 (ATC!), …
– 9.05, 9.272, 10.450, 10.976, HST.545, …

• Today & Wed in Lab: implementing controllers


• Wednesday lecture: Sensing
• Lab 2 wiki
iki materials,
materials briefings due
d e T 21 Feb
(Note that this date is an MIT virtual Monday)

10

You might also like