Motor Control. RSS Lecture 3 Monday, 7 Feb 2011 Prof. Daniela Rus (includes some material by Prof. Seth Teller) Jones, Flynn & Seiger 7.8.

Similar documents
Process Control Primer

PID Control. Chapter 10

EE 402 RECITATION #13 REPORT

PID Control. Proportional Integral Derivative (PID) Control. Matrix Multimedia 2011 MX009 - PID Control. by Ben Rowland, April 2011

PID control - Simple tuning methods

MSc in Autonomous Robotics Engineering University of York

Microcontroller-based experiments for a control systems course in electrical engineering technology

dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor

PID Controller Tuning: A Short Tutorial

Mixing Valves. ARGUS Application Note: Mixing Valves

PROCESS CONTROL SYSTEM DESIGN Process Control System Design. LECTURE 6: SIMO and MISO CONTROL

Basics electronic speed Governor

Current Loop Tuning Procedure. Servo Drive Current Loop Tuning Procedure (intended for Analog input PWM output servo drives) General Procedure AN-015

QNET Experiment #06: HVAC Proportional- Integral (PI) Temperature Control Heating, Ventilation, and Air Conditioning Trainer (HVACT)

A simple method to determine control valve performance and its impacts on control loop performance

Time Response Analysis of DC Motor using Armature Control Method and Its Performance Improvement using PID Controller

Control System Definition

HITACHI INVERTER SJ/L100/300 SERIES PID CONTROL USERS GUIDE

MECE 102 Mechatronics Engineering Orientation

Industrial Steam System Process Control Schemes

Motor Control. Suppose we wish to use a microprocessor to control a motor - (or to control the load attached to the motor!) Power supply.

Dr. Yeffry Handoko Putra, S.T., M.T

Chapter 9: Controller design

Prelab Exercises: Hooke's Law and the Behavior of Springs

Technical Guide No High Performance Drives -- speed and torque regulation

Robotics. Lecture 3: Sensors. See course website for up to date information.

Controller Design using the Maple Professional Math Toolbox for LabVIEW

TwinCAT NC Configuration

Implementation of Fuzzy and PID Controller to Water Level System using LabView

IPB-IB ELECTRIC ACTUATORS FOR INDUSTRIAL PROCESS CONTROL INDUSTRIAL STEAM BOILERS. BECK VIDEO Scan w/ Smartphone

Motor Modeling and Position Control Lab Week 3: Closed Loop Control

Understanding Power Impedance Supply for Optimum Decoupling

Keywords: Fuzzy Logic, Control, Refrigeration Systems and Electronic Expansion Valves.

Control of an industrial process using PID control blocks in automation controller

A Design of a PID Self-Tuning Controller Using LabVIEW

Best Practices for Controller Tuning

How to Turn an AC Induction Motor Into a DC Motor (A Matter of Perspective) Steve Bowling Application Segments Engineer Microchip Technology, Inc.

Understanding PID Control

TEACHING AUTOMATIC CONTROL IN NON-SPECIALIST ENGINEERING SCHOOLS

EECE 460 : Control System Design

Frequently Asked Questions

Talon and Talon SR User Manual

INTERFERENCE OF SOUND WAVES

Motor Control Application Tuning (MCAT) Tool for 3-Phase PMSM

Pulse Width Modulated (PWM) Drives. AC Drives Using PWM Techniques

Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore.

Lambda Tuning the Universal Method for PID Controllers in Process Control

Advantages of Auto-tuning for Servo-motors

A Study of Speed Control of PMDC Motor Using Auto-tuning of PID Controller through LabVIEW

Frequency Response of Filters

Sensing and Control. A Process Control Primer

Manufacturing Equipment Modeling

Chapter 10. Control Design: Intuition or Analysis?

FIELD TESTS OF FUEL EFFICIENCY MAGNETS J A CRABB JULY 1997 SWEEG REPORT 80

ANTI LOCK BRAKING SYSTEM MODELLING AND DEVELOPMENT

ARCHITECTURE OF INDUSTRIAL AUTOMATION SYSTEMS

Introduction to SMPS Control Techniques

CHAPTER 1 : INTRODUCTION TO PROCESS CONTROL

stable response to load disturbances, e.g., an exothermic reaction.

EDUMECH Mechatronic Instructional Systems. Ball on Beam System

Outline Servo Control

Adaptive Cruise Control of a Passenger Car Using Hybrid of Sliding Mode Control and Fuzzy Logic Control

Industrial Process Controllers

Inrush Current. Although the concepts stated are universal, this application note was written specifically for Interpoint products.

Centrifugal Fans and Pumps are sized to meet the maximum

Practical Process Control For Engineers and Technicians

ALL DIGITAL DESIGN AND IMPLEMENTAION OF PROPORTIONAL- INTEGRAL-DERIVATIVE (PID) CONTROLLER

Programming Logic controllers

Drivetech, Inc. Innovations in Motor Control, Drives, and Power Electronics

PID Control. 6.1 Introduction

Matlab and Simulink. Matlab and Simulink for Control

Automation System TROVIS 6400 TROVIS 6493 Compact Controller

Welcome to this presentation on LED System Design, part of OSRAM Opto Semiconductors LED 101 series.

Introduction to Building Automation Systems (BAS)

Introduction to Electronic Signals

Physics 1010: The Physics of Everyday Life. TODAY Velocity, Acceleration 1D motion under constant acceleration Newton s Laws

Pulse Width Modulated (PWM)

ELECTRICAL ENGINEERING

Active Vibration Isolation of an Unbalanced Machine Spindle

USER MANUAL ESP. Enhanced Steering Performance. R-Net

Precise Modelling of a Gantry Crane System Including Friction, 3D Angular Swing and Hoisting Cable Flexibility

Accuracy and Tuning in CNC Machine Tools

Degree programme in Automation Engineering

1.3 Instrument Terminology and Performance*

Experiment 8 : Pulse Width Modulation

Lecture 24: Oscillators. Clapp Oscillator. VFO Startup

CE801: Intelligent Systems and Robotics Lecture 3: Actuators and Localisation. Prof. Dr. Hani Hagras

Introduction to Process Control Actuators

Failure code manual. content

NEBB STANDARDS SECTION-8 AIR SYSTEM TAB PROCEDURES

Véronique PERDEREAU ISIR UPMC 6 mars 2013

Chilled Water Valves: Resizing and Tuning for Peak Performance. IDEA Conference Feb Jay Russell, PE University of Michigan

HVAC Processes. Lecture 7

F B = ilbsin(f), L x B because we take current i to be a positive quantity. The force FB. L and. B as shown in the Figure below.

Electronic Diesel Control EDC 16

Lab 2: Vector Analysis

Physics 221 Experiment 5: Magnetic Fields

Temperature Transmitter TTX300

Figure 1.1 Vector A and Vector F

Control Systems Engineering. A Practical Approach

Transcription:

Motor Control RSS Lecture 3 Monday, 7 Feb 2011 Prof. Daniela Rus (includes some material by Prof. Seth Teller) Jones, Flynn & Seiger 7.8.2 http://courses.csail.mit.edu/6.141/

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

The Role of Control Many tasks in robotics are defined by achievement goals Go to the end of the maze Push that box over here Other tasks in robotics are defined by maintenance goals: Drive at 0.5m/s Balance on one leg

The Role of Control Control theory is generally used for low-level maintenance goals General notions: output = Controller(input) output is control signal to actuator (e.g., motor voltage/current) input is either goal state or goal state error (e.g., desired motor velocity) Controller is stateless

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 *DOFs = Degrees of Freedom

Motor Control: Open Loop Give robot task with no concern for the environment Applications:??? Open loop: signal to action Not checked if correct action was taken Example: go forward for 15 secs, then turn left for 10 secs. Issues? signal actuator output

Open loop (feed-forward) control Open loop controller: output = FF(goal) Example.: motor speed controller (linear): V = k * s V is applied voltage on motor s is speed k is gain term (from calibration) Weakness: Varying load on motor => motor may not maintain goal speed

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 Where does the gain value K come from? Under what conditions will FF control work well? You will implement an FF controller in Lab 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 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 an FF controller in Lab 2

Feedback Control Feedback controller: output = FB(error) error = goal state - measured state controller attempts to minimize error Feedback control requires sensors: Binary (at goal/not at goal) Direction (less than/greater than) Magnitude (very bad, bad, good)

Example: Wall Following How would you use feedback control to implement a wall-following behavior in a robot? What sensors would you use, and would they provide magnitude and direction of the error? What will this robot's behavior look like?

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 - PV Feedback Controller Plant 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

Bang-bang control Discrete on/off Furnace: goal temp = 70 when temp < 70 BANG! Heat; when temp > 70 BANG! Stop the heat Example source: Mathworks

Bang-bang control Desired speed V d < V? 0/1 * k motor Actual speed Encoder measurement O(t) = O(t) =

Bang-bang control Desired speed V d < V? 0/1 * k motor Actual speed Encoder measurement O(t) = k if v(t) < V d O(t) = 0 otherwise

Example: Home Heating System Plant P: Process Variable PV: Controller: Sensor: Set Point SP: Control signal: e(t) u(t) SP - PV Thermostat Boiler Temperature Sensor

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 - PV Thermostat Boiler Temperature Sensor How could the function u(t) be implemented?

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 - PV Thermostat Boiler Temperature Sensor How could the function u(t) be implemented? u(t) = 1 if e(t) > 0 [i.e., if SP > PV], 0 otherwise

Motor Control: closed loop A way of getting a robot to achieve and maintain a goal state by constantly comparing current state with goal state. Use sensor for feedback Desired speed test computation motor Actual speed Encoder measurement

Motor Control: PID Control theory is the science that studies the behavior of control systems CurrentState - DesiredState = Error Main types of simple linear controllers: P: proportional control PD: proportional derivative control PI: proportional integral control PID: proportional integral derivative control

Example: driving Steer a car in the center of a lane

Example: driving Steer a car in the center of it lane Observed error: distance off from center line

Example: driving Steer a car in the center of it lane Error is zero but how is the car pointed? What will this do to the car? P controller is happy on line independent of orientation!

What if respond ~ rate of change? Steer a car in the center of it lane

Example: driving Steer a car in the center of it lane What is the observed rate of error? Other error?

What if respond ~ rate of change? Steer a car in the center of it lane D controller is Happy on any parallel line!

What if Road Sloped? Steer a car in the center of its lane

What if Road Sloped? Steer a car in the center of it lane Slower response uphill Faster response downhill Gravity contributes a steady-state error

Proportional Control Suppose plant can be commanded by a continuous, rather than discrete, signal 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) = K P e(t) e(t) u(t) SP - PV Controller Plant Sensor

Example: Cruise Control (CC) System Plant P: Process Variable PV: Controller: Sensor: Set Point SP: Control signal: e(t) u(t) V desired - C-C System Engine V actual Speedometer

Example: Cruise Control (CC) System Plant P: Engine with throttle setting u [0..1] Process Variable PV: Current speed V actual Controller: C-C system Sensor: Speedometer Set Point SP: Desired speed V desired Control signal: Continuous throttle value u [0..1] e(t) u(t) V desired - C-C System Engine V actual Speedometer Define e(t) = V desired -V actual, u(t) = K P e(t), clipped to [0..1] i.e. Throttle = K P (V desired - V actual ) Does this controller settle at the desired speed? No; it exhibits error (E).

Proportional Control: Why E? Suppose e(t) = 0. Then u(t) = K P * e = 0 (Plant inactivated) Process Variable deviates from Set Point, activating plant But any real physical system has a delayed response Deviation, sustained over delay interval, yields error Set Point Process Variable Delay Error (E) PV < SP, u(t) > 0, Plant activates PV = SP, u(t) = 0, Plant inactive Time Why not just introduce constant term, u(t) = A + K P * e(t)?

Proportional Control Step Response Notional plot and terminology: Step input Error (E) Set Point Process Variable Settle Time Time Is E constant over time? No; it depends on load.

Proportional Control and Error Can combat E by increasing K P ( the P gain ) This gives a faster response and lower E! But increasing the gain too much leads to overshoot and instability Set Point Step input Higher K P Low K P Process Variable Time

Combating Overshoot: The D Term Note the derivative of error in responses below Subtract it from output to counteract overshoot Then u(t) = K P e(t) + K D d [e(t)] / dt K D the derivative or damping term in PD controller Set Point Process Variable Step input Higher K P Damped response, K D > 0 Low K P Small derivative Large derivative Time But still haven t eliminated steady-state error!

Combating Steady-State Error: I Term Idea: apply correction based on integrated error SP If error persists, integrated term will grow in magnitude Sum proportional and integral term into control output - e(t) Σ u(t) Plant PV K P K I Then u(t) = K P e(t) + K I 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.

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 K D SP - e(t) u(t) Σ K P Plant PV K I Then u(t) = K P e(t) + K I e(t) + K D d [e(t)] / dt This is a proportional-integral-derivative or PID controller

Implementation Issues How do we approximate K i * err(t) dt to implement an I controller? How do we approximate K d * derr/dt to implement a D controller?

PID control PID control combines P and D control: o = K p * i + K i * i(t) dt + K d * di/dt o = K p * err + K i * err(t) dt + K d * derr/dt P component combats present error I component combats past (cumulative) error D component combats future error Gains must be tuned together

Ziegler-Nichols Tuning Method Exploration: set the plant under P control and start increasing the Kp gain until loop oscillates Note critical gain K C and oscillation period T C K P K I K D P 0.5K C PI 0.45K C 1.2K P /T C PID 0.5K C 2K P /T C K P T C /8 Z & N developed rule using Monte Carlo method Rule useful in the absence of models

Example: Quadrotor Control Using Ziegler-Nichols Method Integral and Derivative gains are set to zero Proportional gain is increased until system oscillates in response to a step input This is known as the critical gain K C, and the system oscillates with a period P C

Calculating PID parameters K P = 0.6*K C K I = 2*K P / T C K D = 0.125*K P *T C T C = 4 The Ziegler-Nichols Method is a guideline for experimentally obtaining 25% overshoot from a step response.

What does K I do? For this system, K I is crucial in eliminating steady state error primarily caused by gravity. The PD system overshoots and damping is still reasonable.

What does K D do? Reasonable K D helps minimize overshoot and settling time. Too much K D leads to system instability. P system has unacceptable overshoot, settling time, and steady state error. However, it is stable.

Control summary Control type Feedback Pro/Con Bangbang discrete yes Simple/ Discrete Open loop Control law no Simple/may be unrepeatable Closed loop P, I, D yes Continuous/ Tune Gains