PID Controls of Motors Howie Choset thanks to

  • Slides: 22
Download presentation
PID Controls of Motors Howie Choset (thanks to Gary Fedder) http: //www. library. cmu.

PID Controls of Motors Howie Choset (thanks to Gary Fedder) http: //www. library. cmu. edu/ctms/examples/motor. htm

Controls • • • Review of Motor Model Open Loop (controller-free) Response Proportional Control

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 t

Mass-Spring-Damper Model (Analogy) Model of mass spring damper system z(t) position, z(t) velocity t 0 initial time, z(t 0) initial position & velocity

Review of Motor Model • electric inductance (L) = [H] (VL = L di/dt)

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

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 Assume (K=Ke=Kt) Electrical Equation of Motion Solve for sq/V

Transfer Function of Motor (with Approximations). = Open Loop Transfer Function = Can rewrite

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

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 get a velocity output Ref +

Closed Loop Controller Give it a velocity command 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

Close the loop analogy

Stability Asymptotic Stability:

Stability Asymptotic Stability:

Closed Loop Response (Proportional Feedback) Proportional Control Easy to implement Input/Output units agree Improved

Closed Loop Response (Proportional Feedback) Proportional Control 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 No Steady State Error Bigger Overshoot and

Closed Loop Response (PI Feedback) Proportional/Integral Control 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 = (Kp+1/s Ki) error voltage Plant

Closed Loop Response (PID Feedback) Proportional/Integral/Differential Quick response Reduced Overshoot Sensitive to high frequency

Closed Loop Response (PID Feedback) Proportional/Integral/Differential Quick response Reduced Overshoot 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 - Voltage = (Kp+1/s Ki + s. Kd) error voltage Plant

Feed Forward Volt Decouples Damping from PID To compute Try different open loop inputs

Feed Forward Volt Decouples Damping from PID To compute Try different open loop inputs and measure output velocities For each trial i, Tweak from there. . R + error - + volt + Controller Plant

Follow a straight line with differential drive Error can be difference in wheel velocities

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 m 1 vref = vref + K 1 * thetaerror + K 2 * offset error modeling kinematics of robot dead-reckoning

Encoders

Encoders

Encoders – Incremental Photodetector Encoder disk LED Photoemitter

Encoders – Incremental Photodetector Encoder disk LED Photoemitter

Encoders - Incremental

Encoders - Incremental

Encoders - Incremental • Quadrature (resolution enhancing)

Encoders - Incremental • Quadrature (resolution enhancing)

Where are we? • If we know our encoder values after the motion, do

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

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° / 2 N where

Encoders - Absolute § More expensive § Resolution = 360° / 2 N where N is number of tracks 4 Bit Example