What is Motion Planning?

Download Report

Transcript What is Motion Planning?

PID Controls of Motors
Howie Choset
(thanks to Gary Fedder)
http://www.library.cmu.edu/ctms/ctms/examples/motor/motor.htm
Controls
•
•
•
Review of Motor Model
Open Loop (controller-free) Response
Proportional Control
– Stable
– Faster Response = Bigger Overshoot
– Steady State Error
•
PI Control
– Maintain Stability
– Decrease Steady State Error = Bigger Overshoot
•
PID Control
– Derivative term reduces overshoot, settling time
•
Feed Forward
– Overcome damping
Mass-Spring-Damper Model
(Analogy)
Model of mass spring
damper system
z(t) position, z(t) velocity
t0 initial time, z(t0), z(t0) initial position & velocity
Review of Motor Model
•electric inductance (L) = [H]
(VL = L di/dt)
* input (V): Source Voltage
* output (theta): position of shaft
* The rotor and shaft are assumed to be rigid
• moment of inertia of the rotor (J) [kg.m^2/s^2]
* damping ratio of the mechanical system (b) [Nms]
* electromotive force constant
•Ke is volt (electromotive force) per radians per second (V/ rad/sec)
• torque constance
•Kt is torque amp (Nm/Amp)
* electric resistance (R) = [ohm]
Review of Motor Model
Torque is proportional to current (Lenz’s Law)
Back emf is proportional to motor speed (Faraday’s Law)
Mechanical Equation of Motion
Electrical Equation of Motion
J  b  Ki
di
L  Ri  V  K
dt
sJs  b(s)  KI(s)
(Ls  R)I ( s )  V  Ks( s)
s
K

V Js  b Ls  R   K 2
Assume (K=Ke=Kt)
Solve for s/V
Transfer Function of Motor (with Approximations)
.
=
Open Loop Transfer Function
=
Can rewrite function in terms of an
electrical and mechanical behavior
.
Electrical
time
constant on
motor is
much
smaller
example motor with
equivalent time constants
.
=
For small motors, the mechanical
behavior dominates (electrical
transients die faster).
Open Loop Response (to a Step)
• Apply constant voltage
• Slow response time (lag)
• Weird Apples-to-Orange relationship between input and output
– If you want to set speed, what voltage do you input?
– Weird type of steady state error
• No reaction to perturbations
Input
Voltage
Plant
Output
Speed
Closed Loop Controller
Give it a velocity command
and get a velocity output
Ref
+
error
-
Controller
voltage
Controller Evaluation
Steady State Error
Rise Time (to get to ~90%)
Overshoot
Settling Time (Ring) (time to steady state)
Stability
Plant

Close the loop analogy
Stability
Asymptotic Stability:
Closed Loop Response (Proportional Feedback)
Proportional Control K p
Easy to implement
Input/Output units agree
Improved rise time
Steady State Error (true)
P: Rise Time vs.  Overshoot
P: Rise Time vs.  Settling time
R
+
error
-
Voltage = Kp error
Controller
voltage
Plant

Closed Loop Response (PI Feedback)
Proportional/Integral Control
1
K p  KI
s
No Steady State Error
Bigger Overshoot and Settling
Saturate counters/op-amps
P: Rise Time vs.  Overshoot
P: Rise Time vs.  Settling time
I: Steady State Error vs. Overshoot
Ref
+
error
-
voltage
1
K p  KI
s
Voltage = (Kp+1/s Ki) error
Plant

Closed Loop Response (PID Feedback)
Proportional/Integral/Differential
Quick response
Reduced Overshoot
1
K p  K I  sK D
s
Sensitive to high frequency noise
Hard to tune
P: Rise Time vs.  Overshoot
P: Rise Time vs.  Settling time
I: Steady State Error vs. Overshoot
D: Overshoot vs. Steady State Error
R
+
error K
-
1
K I  sK D
p 
s
Voltage = (Kp+1/s Ki + sKd) error
voltage
Plant

Feed Forward
Volt
Decouples Damping from PID
To compute K b
Try different open loop inputs and measure output velocities
For each trial i,
ui
i
K b  . , K b  avg K bi
Tweak from there.
K
i
Kb
R
+
error
-
Controller
+
+ volt
Plant

Follow a straight line with differential drive
Error can be difference in wheel velocities or accrued distances
Make both wheels spin the same speed
asynchronous – false start
wheels can have slight differences (radius, etc)
Make sure both wheels spin the same amount and speed
false start
More complicated control laws – track orientation
m1vref = vref + K1 * thetaerror + K2 * offset error
modeling kinematics of robot
dead-reckoning
Encoders
Encoders – Incremental
Photodetector
Encoder disk
LED Photoemitter
Encoders - Incremental
Encoders - Incremental
• Quadrature (resolution enhancing)
Where are we?
• If we know our encoder values after the
motion, do we know where we are?
Where are we?
• If we know our encoder values after the
motion, do we know where we are?
• What about error?
Encoders - Absolute
 More expensive
 Resolution = 360° / 2N
where N is number of tracks
4 Bit Example