You are on page 1of 33

FRA 233: Control Engineering

for Robotics
by Pi Thanacha Choopojcharoen
Frequency Response Analysis: Part 2-Controller Design
การวิเคราะห์ผลตอบสนองเชิงความถี่ : ตอนที่ 2 การออกแบบตัวควบคุม
ผลตอบสนองแบบระบบปิ ด Closed-loop Response

𝐸 𝑠
𝑅 𝑠 + 𝑈 𝑠
𝐶 𝑠 𝑃 𝑠 𝑌 𝑠

𝑃 𝑠 𝐶 𝑠 𝐺 𝑠
𝑌 𝑠 = 𝑅 𝑠 = 𝑅 𝑠
1+𝑃 𝑠 𝐶 𝑠 1+𝐺 𝑠

𝑌 𝑠 =𝑇 𝑠 𝑅 𝑠 Open-loop Transfer function

Closed-loop Transfer function


ลักษณะของระบบปิ ด (Close-loop)ที่พึงประสงค์
ปฏิเสธและกาจัด noise ที่ความถี่สงู

𝑃 𝑠 𝐶 𝑠
𝑇 𝑠 =
1+𝑃 𝑠 𝐶 𝑠

ลู่เข้าเป้าหมายที่ตอ้ งการวิ่ง Reference Tracking Noise Rejection


ตาม เพื่อที่จะให้ 𝑇 𝑠 ใกล้เคียงกับ 0dB หรือ 1 เมื่อ
อยู่ภายใน bandwidth frequency
แสดงว่า Magnitude 𝑃 𝑠 𝐶 𝑠 ≫ 1.
ratio ต้องเกือบเท่ากับ 1

ถ้า 𝑃 𝑠 𝐶 𝑠 ≪ 1 แล้ว

𝑇 𝑠 =𝑃 𝑠 𝐶 𝑠

แสดงว่า 𝑃 𝑠 𝐶 𝑠 ต้องมี roll-off rate ที่


ชันมากๆ เพื่อที่จะกาจัด noise ได้ดี
ลักษณะของระบบเปิ ด (Open-loop)ที่พึงประสงค์
𝐸 𝑠
𝑈 𝑠
𝐶 𝑠 𝑃 𝑠 𝑌 𝑠

𝐺 𝑠 =𝑃 𝑠 𝐶 𝑠

ต้องมากกว่า 0dB มากๆ (ในอุดมคติ DC Gain ควรเป็ นอนันต์)

เมื่อทางานอยู่ใน bandwidth
𝑃 𝑠 𝐶 𝑠 ≫1

เมื่อทางานนอก Bandwidth
𝑃 𝑠 𝐶 𝑠 ต้องมี roll-off
rate ที่ชนั มากๆ

หากเส้นยิ่งชัน ระบบยิ่งกัน noise ได้ดี


ปรัชญาในการออกแบบตัวควบคุม

𝐺 𝑠 : Open-loop System

𝑅 𝑠 + 𝐸 𝑠 𝑌 𝑠
𝑈 𝑠
? 𝑃 𝑠

ก่อนจะออกแบบระบบควบคุม ต้องถามก่อนว่า ระบบนั้นสามารถเป็ นไปตามความต้องการได้หรือไม่ !!


Bandwidth ของ Plant ความเร็วในการตอบสนองตาม
requirement
ระบบ Plant ที่ยงั ไม่มี controller นัน้ มี
ความสามารถมากที่สดุ เท่าที่ธรรมชาติจะรับไหว แสดง
ว่า ระบบไม่ตอบสนองได้เร็วกว่า Bandwidth ของ
มันเอง

Bandwidth
1.) เราสามารถปรับระบบทางกลใหม่เพื่อให้
Bandwidth สูงขึน้ ตามที่เราต้องการ

2.) เราตัง้ Requirement ให้เป็ นไปได้ตามระบบ


ทางกล
Bandwidth ของ Plant ความเร็วในการตอบสนองตาม
requirement
ระบบ Plant ที่ยงั ไม่มี controller นัน้ มี
ความสามารถมากที่สดุ เท่าที่ธรรมชาติจะรับไหว แสดง
ว่า ระบบไม่ตอบสนองได้เร็วกว่า Bandwidth ของ
มันเอง

Bandwidth
1.) เราสามารถปรับระบบทางกลใหม่เพื่อให้
Bandwidth สูงขึน้ ตามที่เราต้องการ

2.) เราตัง้ Requirement ให้เป็ นไปได้ตามระบบ


ทางกล
เราสามารถจาลอง หรือทาการทดลองหา bandwidth ของระบบ
ปรัชญาในการออกแบบตัวควบคุม

𝐺 𝑠 : Open-loop System

𝑅 𝑠 + 𝐸 𝑠 𝑌 𝑠
𝑈 𝑠
? 𝑃 𝑠

Proportional Control
Proportional Control
𝑅 𝑠 𝐸 𝑠 𝐾𝑃 > 0
+ 𝑈 𝑠 𝑌 𝑠
𝐾𝑃 𝑃 𝑠

Controller Open-loop System

𝑢 𝑡 = 𝐾𝑃 𝑟 𝑡 − 𝑦 𝑡 = 𝐾𝑃 𝑒 𝐺 𝑠 =𝑃 𝑠 𝐶 𝑠

𝑈 𝑠 = 𝐾𝑃 𝐸 𝑠 𝐺 𝑠 = 𝐾𝑃 𝑃 𝑠
𝑈 𝑠
𝐶 𝑠 =
𝐸 𝑠
= 𝐾𝑃 𝐺 𝜔 = 𝐾𝑃 𝑃 𝜔
ผลลัพธ์ของการใช้ Proportional Control
เราจะได้ Open-loop Transfer Function
𝐺 𝜔 = 𝐾𝑃 𝑃 𝜔

หากเราหา Magnitude ของ Transfer Function

𝐺 𝜔 = 𝐾𝑃 𝑃 𝜔

ถ้าหากวิเคราะห์ใน Decibel

𝐺 𝜔∗ 𝑑𝐵 = 20 log 𝐾 𝑃 𝜔
𝐺 𝜔∗ 𝑑𝐵 = 20 log 𝐾 + 20 log 𝑃 𝜔

เราสรุปได้ว่า การคูณค่าเกนโดย 𝐾 เทียบเท่ากับการเลื่อนกราฟ


Magnitude ของ 𝑃 𝜔
และเราสามารถใส่ ค่า Gain สุม่ สี่สมุ่ ห้าได้หรือไม่ ?????
ผลลัพธ์ของการใช้ Proportional Control
เราวิเคราะห์ผลทีไ่ ด้ผา่ น Close-loop Transfer Function

𝐺 𝜔
𝑇 𝜔 =
1+𝐺 𝜔
𝑅 𝑠 + 𝐸 𝑠 𝑌 𝑠
เราทราบได้วา่ ระบบปิ ด (Close-loop System) จะไม่เสถียรหากส่วน
𝐺 𝑠 เป็ น 0
− หรือ
1+𝐺 𝜔 =0

𝐺 𝜔 = −1

เมื่อระบบเปิ ด 𝐺 𝜔 มีค่า Magnitude เท่ากับ 0 decibel แล้วมี Phase


ถ้าแปลงเปนพิกดั เชิงขัว้ เราจะได้มมุ เฟส (Phase Angle)
Angle เท่ากับ 180 องศา หรือ -180 องศา

𝐺 𝜔 = 1𝑒 𝑗 180° = 1𝑒 𝑗 −180°
Gain Margin & Phase Margin

เมื่อระบบเปิ ด 𝐺 𝜔 มีค่า Magnitude 𝑃 𝜔∗ Gain Crossover:


และเราสามารถใส่ ค่า Gain
เท่ากับ 0 decibel แล้วมี Phase Angle ความถี่ท่ี 0 dB สุม่ สี่สมุ่ ห้าได้หรือไม่ ?????
เท่ากับ 180 องศา หรือ -180 องศา
𝜔∗
0 dB
ถ้า Gain Crossover มีค่า Gain
Margin : ค่าเกนที่เพิ่มได้จนกว่าระบบจะไม่เสถียร
ตรงกับ Phase Crossover
ระบบจะไม่เสถียร ∠𝑃 𝜔∗

Phase
Margin 𝜔∗
−180°

Phase Crossover:
ความถี่ท่ี -180 องศา
การประมาณกราฟ Magnitude
โดยพืน้ ฐานแล้ว Normalized Transfer
function ทีม่ ี pole ที่ −𝜔𝑛 สามารถเขียนใน
รู ปแบบดังต่อไปนี ้
𝜔𝑛 𝐺 𝜔
𝐺 𝑠 =
𝑠 + 𝜔𝑛 0 dB
เราสามารถวาดเป็ นเส้นตรงสองเส้นได้
1.) เส้นแนวนอนที่ 0dB ซึง่ ลากยาวจากแกนจินตภาพ −20 dB
ไปถึง 𝜔 = 𝜔𝑛
𝜔

2.) เส้นเฉียงที่เชื่อมกับเส้นแนวนอน และลากยาวและ 𝜔𝑛 10𝜔𝑛


ลดค่าลงไป 20 dB ต่อทุกๆ 10 เท่าของความถี่ท่ี
เพิ่มขึน้
𝐺 𝜔

การประมาณกราฟ Magnitude 0 dB

𝜔
ดังนัน้ ถ้าเรามี พจน์หลายอันคูณกัน เช่น
3
𝐺 𝜔
3 30
𝐺∗ 𝑠 = 0 dB
𝑠+3 𝑠 + 30

𝜔
มันจะมีค่าเท่ากับว่า เรานา กราฟทัง้ สองมาบวกรวมกัน
(นี่คือข้อเด่นของการกราฟในรูป Decibel) 30
เทคนิคการประมาณกราฟ 0 dB

𝜔
เราสามารถเริม่ ต้นจากกราฟของ pole ที่ขวาสุด (𝑠 = −3)
3
เนื่องจากว่าทุกกราฟมีค่าเท่ากับ 0 dB ในช่วงที่ 𝜔 ≤ 3
ผลรวมของทุกกราฟจะได้เท่ากับ 0dB
0 dB

เมื่อเราวิเคราะห์ในช่วง 3 ≤ 𝜔 ≤ 30 เราจะสังเกตเห็นว่า
กราฟที่สองมีค่าเป็ นศูนย์ ซึง่ เมื่อรวมกับฟราฟด้านบน กราฟ 𝜔
ผลลัพธ์ก็จะได้เท่ากับเส้นฉียงของกราฟด้านบน 30

ในช่วงสุดท้าย 𝜔 ≥ 30 ผลรวมของทัง้ สองกราฟจะเป็ นเส้น 0 dB


เฉียงที่มีความชันเป็ นสองเท่าของเส้นเฉียงก่อนหน้านี ้ −20 dB
𝜔
3 30
−60 dB 300
การประมาณกราฟ Phase Angle
โดยพืน้ ฐานแล้ว Normalized Transfer
function ทีม่ ี pole ที่ −𝜔𝑛 สามารถเขียนใน
รู ปแบบดังต่อไปนี ้ ∠ 𝐺 𝜔
𝜔𝑛
𝐺 𝑠 =
𝑠 + 𝜔𝑛 0°
เราสามารถวาดเป็ นเส้นตรงสองเส้นได้
1.) เส้นแนวนอนที่ 0 องศา −45°

−90° 𝜔
2.) เส้นแนวนอนที่ -90 องศา
𝜔𝑛

จากนัน้ เราทาการเชื่อมที่ 𝜔 = 𝜔𝑛 ที่ค่า -45 องศา


ตัวอย่างการออกแบบ Proportional Control
1
𝑃 𝑠 =
𝑠 + 5 𝑠 + 20 𝑠 + 50

a.) จงวาด Bode plots ของระบบที่ได้รบั การ normalized


b.) จาก Bode Plots จงประมาณช่วงของ 𝐾𝑃 ที่ทาให้ระบบเสถียร
c.) จงประเมิณ gain margin
ตัวอย่างการออกแบบ Proportional Control
ระบบถูกกาหนดมาดังต่อไปนี ้
1
𝑃 𝑠 =
𝑠 + 5 𝑠 + 20 𝑠 + 50

เราสามารถ Normalize ฟั งก์ชนั ถ่ายโอนได้โดยการอิงถึงค่าที่สงู ที่สดุ ให้เป็ น 0 dB ดังนัน้ หากเราแทนค่าระบบด้วย 𝑠 = 0 เราจะได้


1
lim 𝑃 𝑠 =
𝑠→0 5000

ดังนัน้ เราจะทาการ normalize โดยการคูณด้วย 5000 กับ 𝑃 𝑠

5000
𝑃∗ 𝑠 =
𝑠 + 5 𝑠 + 20 𝑠 + 50
ตัวอย่างการออกแบบ Proportional Control (การวาดกราฟ)
ตัวอย่างการออกแบบ Proportional Control(ช่วงที่ระบบ
เสถียร) 𝐺 = 20 log 𝐾 𝐺 = −25.6904 dB 𝑀 𝑚𝑎𝑟𝑔𝑖𝑛
𝐺𝑀
𝑀

𝐾𝑚𝑎𝑟𝑔𝑖𝑛 = 10 20

จากกราฟที่เราได้ เราจะสังเกตได้ว่า Gain Margin จะมีค่าประมาณ 25.6094 dB

แต่เนื่องจากก่อนหน้านีเ้ ราคูณ 5,000 𝐾𝑛𝑜𝑟𝑚 ที่เกิดจากการ normalize เราต้องคูณ


Gain Margin 𝐺𝑀 เพิ่มเข้าไปจาก 𝐾𝑛𝑜𝑟𝑚 เพื่อที่จะทาให้ได้ค่าเกนที่ทาให้ระบบไม่
เสถียร 𝐾𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒

𝐾𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒 = 𝐾𝑛𝑜𝑟𝑚 ∗ 𝐾𝑚𝑎𝑟𝑔𝑖𝑛

𝐺𝑀
𝐾𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒 = 𝐾𝑛𝑜𝑟𝑚 ∗ 10 20
ดังนัน้

25.6094
𝐾𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒 = 5,000 ∗ 10 20 = 96,270

𝐾 < 96,270
ค่า Gain Margin ที่รับได้

ดังนัน้ ระบบ 𝑃 𝑠 มี Gain Margin ที่25.6904 dB

ผลลัพธ์นีแ้ สดงให้เห็นว่า ค่าเกนของ Proportional Control สามารถเพิ่มเป็ น 19.254 เท่าก่อนที่ระบบจะไม่เสถียร

โดยปกติแล้ว เราจะเพิ่ม 𝐾𝑃 เพื่อให้เหลือพืน้ ที่ในการขยายสัญญาณอีก 2-2.5 เท่าตัว

ดังนัน้ Gain Margin ควรจะเหลืออย่างน้อย


เราสามารถขยับ Gain Margin ได้ตราบใดที่
ระบบยังเสถียร หน้าที่ท่ีเหลือคือการปรับให้ระบบ
𝐺𝑀dB = 20 log10 2 ≈ 6 dB
หรือ มี Bandwidth frequency ที่เหมาะสม
𝐺𝑀dB = 20 log10 2.5 ≈ 8 dB ตาม Requirement

หากเหลือน้อยกว่านัน้ ระบบอาจจะเจอ Noise หรือสัญญาณรบกวนอื่นๆ ทาให้ระบบไม่เสถียร


ความสัมพันธ์ระหว่าง อัตราความฝื ด Damping Ratio และ
Phase Margin
ความสัมพันธ์ระหว่างอัตราความฝื ดและ phase
margin ΦM สามารถเขียนเป็ นสมการ
nonlinear ได้ดงั ต่อไปนี ้

ΦM = tan−1
−2ζ2 + 1 + 4ζ4
เมื่อเรากราฟสมการออกมา เราจะเห็นได้วา่ ฟั งก์ชนั
นัน้ มีเป็ น monotonic increasing และ
ใกล้เคียงกับเส้นตรง เราจึงสามารถประมาณ
ความสัมพันธ์นีเ้ ป็ นเส้นตรงได้
ความสัมพันธ์ระหว่าง Percent Overshoot และ Phase
Margin
ความสัมพันธ์ระหว่างอัตราความฝื ดและ Percent
overshoot ก็เป็ น monotonic ด้วย ทาให้เรา
สรุปได้ว่า

Φ𝑀 = 𝑓 %𝑂𝑆

จะอย่างไรก็ตาม เรามักจะสนใจ Percent


Overshoot ที่ประมาณ 10% ดังนัน้ เราจะ

ประมาณช่วงของ Phase Margin ที่รบั ได้ Φ𝑀
ที่


Φ𝑀 ∈ 45°, 60°
ข้อแนะนาในการออกแบบ controller
• ปรับระบบให้ Close-loop System มี Bandwidth Frequency ที่ตาม Requirement
• Gain Margin ควรอยูใ่ นช่วง 6-8 dB
• เหลือมากกว่านี ้ ระบบจะทางานช้าไป
• เหลือน้อยกว่านี ้ สัญญาณรบกวนอาจจะทาให้ไม่เสถียร
• Phase Margin ควรอยูใ่ นช่วง 45-60 องศา เพื่อให้ percent overshoot ไม่มากเกินไป
Controller แบบต่างๆ
Proportional Control : 𝐺 𝑠 = 𝐾𝑃
PD-Control : 𝐺 𝑠 = 𝐾𝑃 + 𝐾𝐷 𝑠

𝐾𝑃
𝐺 𝑠 = 𝐾𝐷 𝑠+
𝐾𝐷
𝐾
𝐾𝑃 +𝐾𝐷 𝑠 𝑠+ 𝑘 𝑃
𝐷
Lead-Compensator / filtered differentiator : 𝐺 𝑠 = = 𝐾𝐷
𝑠+𝑁 𝑠+𝑁

𝐾𝑃
<N
𝑘𝐷
𝐾𝐼
PI-Control : 𝐺 𝑠 = 𝐾𝑃 +
𝑠

𝐾𝐼
𝑠+
𝐾𝑃
𝐺 𝑠 = 𝐾𝑃
𝑠
𝐾𝐼
𝐾𝐼 𝑠+𝑁+
𝐾𝑃
Lag-Compensator :𝐺 𝑠 = 𝐾𝑃 + = 𝐾𝑃
𝑠+𝑁 𝑠+𝑁

𝐾𝐼
𝑁<𝑁+
𝐾𝑃
MATLAB’s Control System Designer
• GUI for designing controller for SISO System

• Example:
144
𝑃 𝑠 =
𝑠+7.5 𝑠+55

- Rise time < 0.5 seconds


- Percent overshoot <5%
- Settling time < 1 second
- NO steady-state error in position
MATLAB’s Control System Designer
• GUI for designing controller for SISO System

• Example:
144
𝑃 𝑠 =
𝑠+7.5 𝑠+55

- Gain Margin = 2.5 dB


- Phase Margin อยู่ในช่วง 45-60 องศา
- ไม่มี steady-state error ในตาแหน่ง

You might also like