Observer-Based Robot Arm Control System Nick Vogel, Ron Gayles, Alex Certa Advised by: Dr. Gary Dempsey
Outline Project Overview Project Overview Project Goals Project Goals Functional Description Functional Description Technical Background Information Technical Background Information Functional Requirements Functional Requirements Work Completed Work Completed Conclusions Conclusions 2
3 Project Overview Control of robot arms Control of robot arms Pendulum & 2 DOF arms Pendulum & 2 DOF arms Load Changes Load Changes Observer-based Observer-based Ellis's method Ellis's method
4 Pendulum Arm Configuration Pendulum Arm Configuration
5 2-DOF Arm Configuration
6 Project Goals Learn the Quanser software package Learn the Quanser software package Model the pendulum and horizontal arm Model the pendulum and horizontal arm Design controllers using classical control Design controllers using classical control Design controllers using observer-based control Design controllers using observer-based control Evaluate the relative performance of observers to classical controllers Evaluate the relative performance of observers to classical controllers
7 Equipment Used PC with Matlab, Simulink, and Real Time Workshop PC with Matlab, Simulink, and Real Time Workshop Motor with Quanser Control System Motor with Quanser Control System Linear Power Amplifier Linear Power Amplifier Robot arm with Gripper Robot arm with Gripper SRV-02 Rotary Servo Plant SRV-02 Rotary Servo Plant
8 Overall Block Diagram
9 Ellis's Observer-Based Controller
10 Situational Description Command of +-90 degrees Command of +-90 degrees Meet specifications for a load of up to 75 grams Meet specifications for a load of up to 75 grams Be able to pass a load back and forth between two systems Be able to pass a load back and forth between two systems Work with existing arm, sensor, and converters Work with existing arm, sensor, and converters
Technical Background Information % Overshoot – Amount the system advances past the target position % Overshoot – Amount the system advances past the target position Settling Time – Time it takes for the system to complete its response Settling Time – Time it takes for the system to complete its response Steady-State Error – Error of system after completely settling Steady-State Error – Error of system after completely settling 11
Technical Background Information Gain Margin – How much gain can be added without instability Gain Margin – How much gain can be added without instability Phase Margin – how much phase lag can be added to the system without instability Phase Margin – how much phase lag can be added to the system without instability PM=180-|system phase lag| PM=180-|system phase lag| 12
13 Product Specifications for 2-DOF Arm The overshoot of the arm shall be less than or equal to 15% The overshoot of the arm shall be less than or equal to 15% The settling time of the arm shall be less than or equal to 2s The settling time of the arm shall be less than or equal to 2s The phase margin shall be at least 50 deg The phase margin shall be at least 50 deg The gain margin shall be at least 3.5 dB The gain margin shall be at least 3.5 dB The steady state error of the system shall be at most 5 degrees The steady state error of the system shall be at most 5 degrees
14 Product Specifications For Pendulum Arm The overshoot of the arm shall be less than or equal to 15% The overshoot of the arm shall be less than or equal to 15% The settling time of the arm shall be less than or equal to 2s The settling time of the arm shall be less than or equal to 2s The phase margin shall be at least 50 deg The phase margin shall be at least 50 deg The gain margin shall be at least 3.5 dB The gain margin shall be at least 3.5 dB The steady state error of the system shall be at most 1 degree The steady state error of the system shall be at most 1 degree
15 Work Completed: Pendulum Arm Arm Modeling Arm Modeling Traditional Arm Control Traditional Arm Control Non-Linear Arm Modeling Non-Linear Arm Modeling Load Testing Load Testing Observer Design Observer Design
16 Modified Estimated DC gain vs Voltage
17 2 nd Order Pole Locations and Model System assumed to System assumed to be as shown to right Poles at -11, -2.6 Poles at -11, -2.6 Model resultsSystem results Model resultsSystem results
18 Frequency Response
19 Proportional Control Used control toolbox to find initial gain value Used control toolbox to find initial gain value Tuned gain: 0.14 Tuned gain: 0.14 For 20 degree input For 20 degree input % O.S.=15% % O.S.=15% ess= 2.5 degrees ess= 2.5 degrees tr=0.12 s tr=0.12 s ts= 0.41 s ts= 0.41 s
20 PID controller Form: kp(0.09s+1)(0.4s+1)/[s(s/p1+1)] Form: kp(0.09s+1)(0.4s+1)/[s(s/p1+1)] Exact 2 nd order Exact 2 nd order Higher pole is faster Higher pole is faster D/A Converter saturates D/A Converter saturates Rate limitation needed Rate limitation needed
21 PID Controller Continued Pole Location Gain Value Overshoot % Settling Time Rate Limitation Rate Limited Settling Time Rad/s Rad/ssdeg/s 1 deg input 180 deg input
22 PID Results 45 deg input 45 deg input % OS=3.3% % OS=3.3% Ts=0.4 s Ts=0.4 s
23 Non-Linear Modeling
24 Loaded Testing Tested Loaded DC gain: approximately 27 degrees/volt (compared to 50 for unloaded model) Tested Loaded DC gain: approximately 27 degrees/volt (compared to 50 for unloaded model) Performed Frequency Response and compared to original model with adjusted DC gain Performed Frequency Response and compared to original model with adjusted DC gain
25 Observer Controller Design
26 Observer Feedback Controller used: Parallel PI controller Feedback Controller used: Parallel PI controller Linear System Model Used Linear System Model Used
Controller Used PID Controller with disturbance rejection
Unloaded Results
Loaded Results
Disturbance Rejection Observer Specifications Phase Margin = 50 degrees Gain Margin = 3.5 Steady state error < 1 degree Rise Time = 1.17 s % Overshoot = 3%
How the Others Fail All: good rise time and overshoot Proportional controller: bad steady state error Observer and PID: insufficient phase margin
32 Work Completed: 2-DOF Arm Base Modeling Spring Modeling Sample Rate Controller Design
33 Base Modeling Model of arm without effect of springs Model of arm without effect of springs T s =4/( ζ ω n ) T s =4/( ζ ω n ) ζ ω n is the real part of poles ζ ω n is the real part of poles Gp=1500/(s 2 +10s) Gp=1500/(s 2 +10s)
34 Spring Modeling Reran test and plotted arm displacement Reran test and plotted arm displacement Frequency of oscillation is imaginary part Frequency of oscillation is imaginary part Settling time is real part Settling time is real part G D =G Ddc s/(s 2 +8s+289) G D =G Ddc s/(s 2 +8s+289)
35 Spring Modeling Spring effect is instantaneous Spring effect is instantaneous Springs have no steady state effect Springs have no steady state effect Behaves like differentiator Behaves like differentiator G D =0.42s/(s 2 +8s+289) G D =0.42s/(s 2 +8s+289)
36 Spring and Arm Together Modeled as a minor loop disturbance Modeled as a minor loop disturbance Positive feedback because of increasing overshoot and settling time Positive feedback because of increasing overshoot and settling time Actual Arm Position Base transfer function remains unchanged Spring Displacement depends on base movement
37 Model and Plant Comparison ArmModel
38 Model and Plant Comparison PlantModel PlantModel %os=41.7%os=37.4% %os=41.7%os=37.4% T s =1.12sT s =1.21s T s =1.12sT s =1.21s
39 System Root Locus
40 New Sample Rate For smooth operation of motor, ω s ≥ 6ω c For smooth operation of motor, ω s ≥ 6ω c ω c =10.7rad/s : T c = 0.587s ω c =10.7rad/s : T c = 0.587s T sam max ≈0.0978s T sam max ≈0.0978s T sam chosen to be 0.1s T sam chosen to be 0.1s Largest sample time spreads out root locus Largest sample time spreads out root locus Complex poles and zeros don’t affect response Complex poles and zeros don’t affect response
41 New Plant Root Locus
42 Proportional Control KP = KP = 0.024Unloaded 0.27% OS 0.27% OS ζ= 0.88 ζ= 0.88 T s = 1.1s T s = 1.1s KG = KG = PM = 70.5 deg PM = 70.5 deg GM = 20.5dB GM = 20.5dBLoaded 3.91% OS 3.91% OS ζ= 0.72 ζ= 0.72 T s = 1.9s T s = 1.9s KG = KG = PM= 72 deg PM= 72 deg GM= 21dB GM= 21dB
43 PID Control
44 PID Control KP = KP = KI = 0.01 KI = 0.01 KD = 0.01 KD = 0.01Unloaded 0% OS 0% OS ζ= 1 ζ= 1 T s = 1.1s T s = 1.1s PM≈ 75 deg PM≈ 75 degLoaded 3.3% OS 3.3% OS ζ= 0.74 ζ= 0.74 T s = 1.8s T s = 1.8s PM≈ 75 deg PM≈ 75 deg
45 Lead Network Pole-zero cancellation Pole-zero cancellation Lead pole chosen to be at zero for fastest settling time Lead pole chosen to be at zero for fastest settling time
46 Lead Network Gain of 0.06 should give T s of 0.72s with 15%OS Gain of 0.06 should give T s of 0.72s with 15%OS
47 Lead Network KP = 0.09 KP = 0.09 G c =z-0.458/z G c =z-0.458/zUnloaded %OS = 0% %OS = 0% ζ=1.0 ζ=1.0 T s = 0.9s T s = 0.9s PM = 75 deg PM = 75 deg GM =21.3 dB GM =21.3 dBLoaded %OS = 0% %OS = 0% ζ=1.0 ζ=1.0 T s = 1.1s T s = 1.1s PM = 76 deg PM = 76 deg GM = 22.2 dB GM = 22.2 dB
48 Minor Loop With PI Control Diagram Position Velocity PI Control
49 Minor Loop With PI Control KP = 6.0 KP = 6.0 KI = 0.05 KI = 0.05Unloaded %OS = 7.0% %OS = 7.0% T s = 1.0s T s = 1.0s PM = 50 deg PM = 50 degLoaded %OS = 10% %OS = 10% T s = 1.0s T s = 1.0s PM ≈ 61 deg PM ≈ 61 deg
Classical Control Conclusions Proportional and PID control did not handle loads very well Proportional and PID control did not handle loads very well Minor Loop Performed well but is close to instability Minor Loop Performed well but is close to instability Lead Network was the best choice by far Lead Network was the best choice by far 50
51 Observer Controller G C (s) = Our Lead Network = (0.2)(z )/z G PEst (s) = Plant Estimator = (3.127z )/(z z ) G CO (s) = Observer Compensator (Lead-Network Controller) = (0.06)(z – 0.4)/z
52 Estimator Output
53 The Observer gave us no overshoot and a settling time of 0.9 seconds.
Observer Controller With Disturbance Rejection 54
Observer With Disturbance Rejection KDD = 2 KDD = 2 G CO = (z-0.4)/z G CO = (z-0.4)/z No Load No Load %OS = 9% %OS = 9% T s = 1.2s T s = 1.2s PM ≈ 63 deg PM ≈ 63 deg Loaded Loaded %OS = 12% %OS = 12% T s = 1.4s T s = 1.4s PM ≈ 55 deg PM ≈ 55 deg 55
Comparison Of No Load Results 56
Comparison Of Loaded Results 57
Spring Inaccuracy 58
Results
2-DOF Arm Conclusions Observer works best if there is no need for disturbance rejection Observer works best if there is no need for disturbance rejection With disturbance rejection, observer was not better than classical controller methods With disturbance rejection, observer was not better than classical controller methods Lead Network Controller proved to be the most effective overall for both loaded and unloaded conditions Lead Network Controller proved to be the most effective overall for both loaded and unloaded conditions 60
Inverted Arm Conclusions Encoder used was very accurate Results mildly are improved Useful if computational complexity is cheap
62 Questions
63 Root Locus with Graphical K Proportional control
64 Lead Network Root Locus
65 Minor Loop Graphical Gain
66 Minor Loop Bode Plot
67 2-DOF Arm Configuration
68 Inverted Arm Configuration
69 2 nd Order Step Response Proportional gain of 0.45 Proportional gain of 0.45 %O.S.=46% %O.S.=46% Ts=0.58 s Ts=0.58 s Tr=0.06 s Tr=0.06 s Tp=0.14 s Tp=0.14 s
70 Q8 Acquisition Board Specs 14 bit A/D converter +-10V 14 bit A/D converter +-10V mV resolution - Maximum conversion time = 5.2μs - Maximum Sample Frequency = 192kHz
71 Q8 Acquisition Board Specs 12 bit D/A converter +- 5V 12 bit D/A converter +- 5V mV resolution - Slew rate = 2.5V/μs - Max voltage change is from -5 to 5, or 10V - Max conversion time = 4μs - Max sample frequency = 250kHz