Đến nội dung chính
Thư viện GKNơi khơi nguồn tò mò
Tiếng Việt

Kỹ thuật giảm sai số để đạt mục tiêu, điều khiển tỉ lệ–tích phân–vi phân (Proportional-Integral-Derivative Control)

Khi cánh tay robot vươn ra để cầm một chiếc cốc, nếu tiến đến vị trí mục tiêu quá nhanh, nó sẽ vượt quá vị trí đó; còn nếu quá thận trọng, nó sẽ chần chừ rất lâu. Con người nhìn khoảng cách bằng mắt và tự nhiên giảm tốc độ, nhưng máy móc phải tính toán xem cần tác dụng lực bao nhiêu ở từng thời điểm. Một trong những phương pháp lâu đời nhất và được sử dụng rộng rãi nhất để thực hiện phép tính này chính là điều khiển PID.

Nói đơn giản, điều khiển PID là “phương pháp xác định lực bằng cách xem xét chênh lệch giữa mục tiêu và trạng thái hiện tại, đồng thời cân nhắc độ lớn, lượng tích lũy và tốc độ thay đổi của chênh lệch đó”. Tên đầy đủ là điều khiển tỉ lệ–tích phân–vi phân (Proportional-Integral-Derivative Control), được gọi tắt là PID theo chữ cái đầu của ba từ.

Trong tài liệu này, chúng ta sẽ lần lượt tìm hiểu điều khiển PID ra đời như thế nào, từng thành phần trong ba thành phần đảm nhiệm công việc gì, cũng như cách nó được ứng dụng trong robot và máy móc hằng ngày cùng những giới hạn của nó.


Nguyên lý và ứng dụng của điều khiển PID

Điều khiển học từ người lái tàu

Sơ đồ khái niệm điều khiển PID. Lấy giá trị mục tiêu r trừ đi giá trị đo y để tính sai số e, rồi bộ điều khiển P·I·D cộng ba thành phần để tạo tín hiệu điều khiển u. Giá trị đo của đối tượng điều khiển được đưa trở lại bước tính sai số. Sơ đồ giải thích ý nghĩa của tỉ lệ, tích phân và vi phân, việc điều chỉnh hệ số khuếch đại, cùng những giới hạn do bão hòa và nhiễu.
Cấu trúc phản hồi âm cơ bản và ba thành phần của PID. Khi thiết kế thực tế, cần điều chỉnh hệ số khuếch đại phù hợp với đặc tính của đối tượng, xử lý giới hạn đầu ra và nhiễu.
Buồng lái tàu hơi nước đầu thế kỷ 20 với bánh lái gỗ lớn và các chi tiết trang trí bằng đồng thau

Lý thuyết điều khiển PID bắt nguồn từ bài toán giữ cho tàu đi thẳng. Năm 1922, kỹ sư người Mỹ gốc Nga Nicolas Minorsky đã phân tích bằng toán học phương pháp điều khiển kết hợp ba thành phần trong bài báo “Sự ổn định về hướng của vật thể được điều khiển tự động”.

Minorsky đã chú ý quan sát cách những người lái tàu lành nghề điều khiển tàu. Khi xoay bánh lái, họ không chỉ xem tàu lệch khỏi hải trình bao nhiêu mà còn theo dõi tốc độ quay của tàu. Ông chuyển trực giác này thành công thức và vào năm tiếp theo, tức năm 1923, đã thử nghiệm thiết bị lái tự động trên thiết giáp hạm New Mexico của Hải quân Hoa Kỳ, thu được kết quả tốt.

Nghiên cứu này quan trọng vì đã biến việc điều khiển vốn dựa vào cảm giác của con người thành những quy tắc mà bất kỳ ai cũng có thể làm theo. Nhờ đó, cùng một nguyên lý có thể áp dụng cho mọi thứ chuyển động, từ tàu thuyền đến máy móc.

Sau đó, vào năm 1942, khi John Ziegler và Nathaniel Nichols của Hoa Kỳ công bố các quy tắc điều chỉnh có thể sử dụng tại hiện trường, điều khiển PID nhanh chóng được phổ biến trong các thiết bị điều chỉnh nhiệt độ và áp suất tại nhà máy.


Công việc của ba thành phần

Kỹ sư điều chỉnh một cánh tay robot nhỏ trên bàn làm việc trong phòng thí nghiệm sáng sủa

Trước tiên, điều khiển PID dùng cảm biến để đo trạng thái hiện tại, rồi tính sai số, tức chênh lệch so với giá trị mục tiêu. Sau đó, sai số này được xem xét theo ba cách.

(1) Tỉ lệ (Proportional)
Sai số hiện tại càng lớn thì lực tác dụng càng mạnh. Đây là phản ứng cơ bản nhất: tác động mạnh khi ở xa mục tiêu và nhẹ khi ở gần. Tuy nhiên, nếu chỉ dùng thành phần này, máy thường dừng ngay trước mục tiêu khi vẫn còn thiếu một chút.

(2) Tích phân (Integral)
Thành phần này cộng dồn sai số tích lũy cho đến hiện tại để bổ sung vào lực tác dụng. Việc tính đến sai số tích lũy giúp giảm sai số còn lại. Tuy nhiên, kết quả thay đổi tùy theo độ ổn định, giới hạn đầu ra và cách điều chỉnh hệ số khuếch đại.

(3) Vi phân (Derivative)
Thành phần này xem xét sai số đang giảm hoặc tăng nhanh đến mức nào. Nếu được điều chỉnh phù hợp, nó có thể giúp giảm hiện tượng vượt quá mục tiêu, nhưng không phải lúc nào cũng ngăn được hiện tượng đó.

Có thể dễ dàng hiểu điều này khi hình dung một người đang điều chỉnh nhiệt độ nước vòi sen. Khi nước lạnh, người đó xoay tay vặn nhiều (tỉ lệ); nếu đã chờ khá lâu mà nước vẫn chỉ âm ấm, họ xoay thêm một chút (tích phân); khi cảm thấy nước đang nóng lên nhanh chóng, họ ngừng tay trước (vi phân).

Đầu ra cuối cùng là tổng của ba giá trị này sau khi mỗi giá trị được nhân với một trọng số phù hợp. Nói đơn giản, tỉ lệ nhìn vào hiện tại, tích phân nhìn về quá khứ, còn vi phân nhìn tới tương lai gần.


Điều khiển PID trong robot và đời sống

Drone bốn cánh quạt bay lơ lửng ổn định trên cánh đồng xanh có gió

Nhờ cấu trúc đơn giản và khối lượng tính toán nhỏ, điều khiển PID đến nay vẫn chiếm một phần đáng kể trong các thiết bị điều khiển công nghiệp. Trong lĩnh vực robot, nó cũng có mặt ở gần như mọi bộ phận tạo chuyển động cho cơ thể.

  • Điều khiển vị trí khớp (Joint Position Control): Giúp động cơ ở từng khớp của cánh tay robot công nghiệp quay chính xác đến góc đã định rồi dừng lại.
  • Ổn định tư thế (Attitude Stabilization): Drone liên tục điều chỉnh tốc độ quay của cánh quạt dựa trên giá trị từ cảm biến độ nghiêng để giữ thăng bằng theo phương ngang ngay cả trong gió.
  • Giữ thăng bằng (Balancing): Robot đứng trên hai bánh lăn bánh xe theo hướng cơ thể đang nghiêng để giữ mình không bị ngã.
  • Duy trì tốc độ (Cruise Control): Hệ thống điều khiển hành trình của ô tô điều chỉnh công suất động cơ để duy trì tốc độ đã định ngay cả khi lên dốc.

Nồi hơi sưởi trong nhà duy trì nhiệt độ phòng ổn định cũng dựa trên nguyên lý tương tự. Vô số máy móc đang giảm sai số bằng điều khiển PID mà chúng ta không hề nhận ra.


Khó khăn khi điều chỉnh và các giới hạn

Robot tự cân bằng hai bánh đứng thẳng trên sàn phòng nghiên cứu robot sáng sủa

Hiệu năng của điều khiển PID phụ thuộc vào việc thiết lập trọng số của ba thành phần phù hợp đến đâu. Công việc này được gọi là tinh chỉnh (Tuning); nếu các trọng số không phù hợp, máy sẽ liên tục dao động quanh mục tiêu hoặc chuyển động quá chậm chạp.

Những vấn đề thường gặp
  • Vượt mức (Overshoot): Nếu thành phần tỉ lệ hoặc tích phân quá mạnh, máy sẽ liên tục vượt quá mục tiêu rồi quay trở lại.
  • Tích lũy tích phân quá mức (Integral Windup): Nếu sai số tiếp tục tích lũy dù lực mà động cơ có thể tạo ra đã có giới hạn, điều này sẽ khiến máy vượt quá mục tiêu rất nhiều về sau.
  • Khuếch đại nhiễu (Noise Amplification): Thành phần vi phân nhạy với sự thay đổi nên có thể khuếch đại mạnh ngay cả những dao động nhỏ trong giá trị cảm biến.

Ngoài ra, do điều khiển PID chỉ phản ứng sau khi sai số xuất hiện, các giới hạn của nó bộc lộ ở những robot có trọng lượng thay đổi lớn hoặc chuyển động phức tạp. Vì vậy, trong các trường hợp khó như robot biết đi, người ta thường kết hợp nó với những phương pháp điều khiển khác có khả năng tính toán trước chuyển động của cơ thể.


Điều khiển PID là phương pháp đưa máy móc đến mục tiêu qua ba góc nhìn: chênh lệch hiện tại, chênh lệch tích lũy và tốc độ thay đổi. Nguyên lý đơn giản học được từ người lái tàu cách đây 100 năm này vẫn đang hoạt động không ngừng trong các khớp robot và cánh quạt drone ngày nay.

Đo chính xác chênh lệch so với mục tiêu và điều chỉnh từng chút một chính là bước đầu tiên để có chuyển động chính xác.