Đặt vấn đề
AI là sợi chỉ xuyên suốt trong loạt bài báo của chúng tôi trình bày trên tạp chí Tự động hóa trong nhiều kỳ tới. Nhằm nâng cao tính ứng dụng của AI, không chỉ trong nhận dạng mà còn trong ra quyết định, trong bài báo này chúng tôi sẽ trình bày một hệ thống công cụ hỗ trợ trong xây dựng hệ thống điều khiển tự động. Công cụ này là nền tảng trong các trình bày sau về ứng dụng AI trong điều khiển, nhưng đồng thời là công cụ hữu hiệu cho kỹ sư điều khiển, khi xây dựng các hệ thống tự động hóa cổ điển.
Một cách tổng quát, hệ thống điều khiển tự động mạch vòng kín được mô hình như hình 1:
Hình 1: Mô hình hệ thống điều khiển vòng kín có phản hồi âm |
Để thiết kế được bộ điều khiển vòng kín (Controller), kỹ sư thiết kế cần biết được mô hình động học của hệ thống cần được điều khiển (System) và mô hình động học của hệ thống đo phản hồi (Sensor) đo tín hiệu đầu ra của hệ thống hoặc đo trạng thái của hệ thống. Mô hình động học của hệ thống được xây dựng dựa trên các phương trình toán học mô tả đặc tính động học của hệ thống trên miền thời gian.
Hình 2: Quy trình 2 bước cho việc thiết kế và triển khai mô hình bộ điều khiển xuống hệ thống phần cứng. |
Hình 2 mô tả quy trình 2 bước thiết kế bộ điều khiển.
Bước 1: Thiết kế và mô phỏng bộ điều khiển trên miền Laplace (s domain). Trong bước này mô tả động học của hệ thống (open-loop system model) được sử dụng để thiết kế ra bộ điều khiển.
Thông thường, các bài toán trên miền thời gian thường rất khó giải quyết nên nó được chuyển sang miền Laplace (s domain) dưới hạng các hàm truyền (transfer function) hoặc chuyển sang không gian trạng thái (state space). Trong miền Laplace hoặc không gian trạng thái, các lý thuyết điều khiển tự động được vận dụng để thiết kế được bộ điều khiển (Controller) sao cho đáp ứng động học của toàn bộ hệ thống vòng kín đạt chỉ tiêu tối ưu nhất.
Bước 2: Triển khai bộ điều khiển xuống hệ thống phần cứng.
Để có thể triển khai (deploy) mô hình bộ điều khiển xuống hệ thống phần cứng để thực hiện quá trình điều khiển thời gian thực (real-time control), mô hình động học của bộ điều khiển lại được chuyển sang miền rời rạc (z domain) thông qua quá trình rời rạc hóa với thời gian trích mẫu (sampling time) là T.
Trong bước 2, dựa vào đáp ứng thực tế của hệ thống thực mà bộ điều khiển ở bước 1 cần phải được tinh chỉnh lại. Từ đó dẫn đến việc thay đổi mô hình của bộ điều khiển trong miền rời rạc. Quá trình này có thể bị lặp đi lặp lại nhiều lần cho đến khi đáp ứng thực tế của hệ thống đạt được các yêu cầu tối ưu. Bên cạnh đó, thời gian trích mẫu T cũng ảnh hưởng trực tiếp đến mô hình của bộ điều khiển trong miền rời rạc, dẫn đến mô hình của cùng một bộ điều khiển có thể bị thay đổi khi được triển khai lên các hệ thống thời gian thực khác nhau.
Hơn thế nữa, việc ứng dụng trí tuệ nhân tạo (AI) trong lĩnh vực điều khiển tự động ngày càng trở nên quan trọng do trên thực tế mô hình động học của các hệ thống thường là phi tuyến và không mô tả được dưới các hàm toán học. Đồng thời AI cũng rất phù hợp với các bài toán điều khiển phi tuyến do có những tính chất như khả năng tự học (self learning), ổn định với các hệ thống phi tuyến, và có thể tự thích nghi (adaptive) và xấp xỉ được bất kỳ hàm phi tuyến nào (function approximation).
Với các công cụ hỗ trợ thiết kế và mô phỏng hệ thống điều khiển có trên thị trường như MATLAB Simulink, MATLAB system toolbox, hoặc LabVIEW control design and simulation module, thì hai bước này được thực hiện riêng biệt nhau. Quá trình này tốn thời gian và công sức vì một thay đổi nhỏ ở bước 1 sẽ dẫn đến mô hình điều khiển ở bước 2 bị thay đổi và ngược lại. Bên cạnh đó, việc triển khai thẳng xuống các hệ thống phần cứng (real-time targets) thường không dễ dàng và đòi hỏi thêm các add-on toolboxes như MATLAB Real-Time Workshop. Mặc dù cả MATLAB và LabVIEW có hỗ trợ thư viện mạng trí tuệ nhân tạo (AI), song các thư viện này chỉ giải quyết các bài toán không liên quan đến điều khiển tự động.
Để giải quyết vấn đề này, ANSCENTER (https://www.anscenter.com) đã phát triển Process Control Toolbox cho ngôn ngữ lập trình LabVIEW với mục đích kết hợp hai bước trong quy trình thiết kế làm một. Người thiết kế chỉ quan tâm đến việc thiêt kế bộ điều khiển ở bước 1 và quá trình rời rạc hóa ở bước 2 được hệ thống thực hiện một cách tự động. Bên cạnh đó, việc triển khai xuống các hệ thống thời gian thực cũng đơn giản hóa và sẽ được trình bày cụ thể trong phần tiếp theo của bài báo này. Hơn thế nữa, thư viện Process Control Toolbox này có thể kết hợp trực tiếp với sản phẩm mạng trí tuệ nhân tạo của ANSCENTER (sẽ được trình bày ở các bài báo tiếp theo) nhằm đưa công nghệ AI vào các hệ thống điều khiển tự động.
ANSCENTER Process Control Toolbox
Hình 3: ANSCENTER Process Control Toolbox trong ngôn ngữ lập trình LabVIEW |
Tương tự như MATLAB Simulink, Process Control Toolbox (PCT) là thư viện chứa toàn bộ công cụ thiết kế và mô phỏng hệ thống điều khiển tự động (linear time-invariant systems) được xây dựng trên ngôn ngữ lập trình LabVIEW. PCT hoạt động dựa trên nguyên tắc luôn có quá trình khởi tạo mô hình hệ thống (điểm 1 hàm Create trong hình 4) và hàm Run đặt trong vòng lặp điều khiển (điểm 2 trong hình 4).
Hình 4: Nguyên tắc hoạt động của ANS Process Control Toolbox |
Để có thể mô hình hóa một hệ thống phức tạp hơn, các khối trong PCT được kết nối với nhau theo cấu trúc mô tả toán học của hệ thống. Hình 5 mô tả hệ thống điều khiển mạch vòng kín sử dụng bộ điều khiển PID cho động cơ điện một chiều.
Hình 5: Hệ thống điều khiển vòng kín cho động cơ điện 1 chiều: Mạch vòng dòng điện và mạch vòng tốc độ |
Việc triển khai xuống các hệ thống phần cứng cũng rất đơn giản, tín hiệu điều khiển từ bộ điều khiển có thể kết nối trực tiếp tiếp với hệ thống phần cứng. Hình 6 mô tả hệ thống điều khiển lưu lượng nước bằng máy tính công nghiệp (instrustrial PC) và thiết bị NI USB-6009. Với nguyên tắc tương tự, ANSCENTER Process Control Toolbox được triển khai trực tiếp xuống các hệ thống real-time targets của hãng National Instruments.
Hình 6: Hệ thống điều khiển lưu lượng nước sử dụng ANSCENTER Process Control Toolbox trên máy tính công nghiệp và thiết bị NI USB 6009. |
Bên cạnh đó, ANSCENTER PCT bao gồm các khối thư viện (hình 7) cho phép người thiết làm việc trực tiếp với không gian trạng thái (space space). Hình 8 mô tả quá trình điều khiển lò nhiệt độ bằng phương pháp phản hồi trạng thái với bộ quan sát trạng thái (state observer).
Hình 7: Khối thư viện không gian trạng thái của ANSCENTER Process Control Toolbox |
Hình 8: Cấu trúc hệ thống điều khiển lò nhiệt độ sử dụng phương pháp phản hồi trạng thái (state feedback) và bộ quan sát trạng thái. |
Hơn thế nữa, ANSCENTER Process Control Toolbox còn hỗ trợ các kỹ thuật điều khiển nâng cao trong không gian trạng thái như State Space Input Tracking (hình 9) và State Space Intergral Control and Robust Tracking (hình 10).
Hình 9: Kỹ thuật điều khiển nâng cao trong không gian trạng thái (State Space Input Tracking) |
Hình 10: Kỹ thuật điều khiển nâng cao trong không gian trạng thái (State Space Integeral Control and Robust Tracking) |
Như đã đề cập ở phần đặt vấn đề, ANSCENTER Process Control Toolbox cho phép mô tả hệ thống ở miền liên tục (continous) và hệ thống sẽ tự động chuyển sang miền số rời rạc (discrete) dựa vào thời gian trích mẫu Ts.
Hình 11: Mô hình hệ thống lò nhiệt độ trong miền Laplace và không gian trạng thái với các thời gian trích mẫu khác nhau |
Có thể thấy, người thiết kế không cần quan tâm đến việc chuyển đổi giữa hai miền (continous to discrete), đồng thời cũng không phải lo lắng khi triển khai mô hình bộ điều khiển của mình xuống các phần cứng khác nhau.
Ứng dụng của ANSCENTER Process Control Toolbox trong bài toán điều khiển lưu lượng.
Hình 12: Sơ đồ cấu trúc hệ thống điều khiển lưu lượng |
Sơ đồ cấu trúc của hệ thống điều khiển lưu lượng được mô tả ở hình 12. Cảm biến đo mực nước ở thùng 2 sẽ gửi tín hiệu đến thiết bị thu thập và điều khiển NI 6009. Thiết bị này được kết nối với máy tính công nghiệp qua cổng USB. Dựa vào tín hiệu đo được từ cảm biến, thuật toán điều khiển được thiết kế để tạo ra tín hiệu điều khiển bơm từ NI 6009 để đảm bảo mực nước ở thùng 2 luôn giữ ở vị trí mong muốn. Mô hình hệ thống điều khiển mạch vòng kín được thể hiện trong hình 13, trong đó G (s) là mô hình động học vòng hở của hệ thống (open-loop) bao gồm 2 thùng nước và máy bơm.
Hình 13: Mô hình điều khiển vòng kín (closed-loop) của hệ thống điều khiển lưu lượng bằng máy tính công nghiệp |
Để thiết kế được thuật toán điều khiển cho hệ thống điều khiển lưu lượng trên, trước hết mô hình động học của hệ thống phải được xây dựng. Trong bài toán này, hàm truyền mạch vòng hở của hệ thống được xây dựng trên phương pháp thực nghiệm và có được mô tả bởi phương trình sau:
Đáp ứng của hệ thống đối với tín hiệu từ NI 6009 kích hoạt với điện áp 3906mV trong 90 giây được mô tả ở hình 13. Thời gian trích mẫu là T = 100ms.
h
Hình 13: Đáp ứng của hệ thống (open-loop) với tín hiệu điều khiển từ NI 6009 (3906mV). |
Bằng phương pháp Ziegler- Nichols, hàm truyền của hệ thống vòng hở (open-loop) được xác định như sau:
Hình 14: Mô hình mô phỏng điều khiển vòng kín (closed-loop) của hệ thống điều khiển lưu lượng được xây dựng trên phần mềm LabVIEW và thư viện ANSCENTER Process Control Toolbox. |
Toàn bộ hệ thống điều khiển lưu lượng được thiết kế dễ dàng bởi thư viện ANSCENTER Process Control Toolbox trên ngôn ngữ lập trình LabVIEW. Kỹ sư thiết kế có thể dễ dàng mô phỏng đáp ứng của hệ thống như mô tả ở hình 14.
Hình 15: Hệ điều khiển vòng kín (closed-loop) của hệ thống điều khiển lưu lượng được xây dựng trên phần mềm LabVIEW và thư viện ANSCENTER Process Control Toolbox. |
Để triển khai hệ thống điều khiển lưu lượng lên phần cứng thực (máy tính công nghiệp, NI 6009 và hệ thống lưu lượng thực), tín hiệu điều khiển từ bộ điều khiển PID (control effort) được đưa ra trực tiếp từ 1 kênh analog output (AO) của NI 6009 để điều khiển máy bơm. Đồng thời, tín hiệu từ cảm biến lưu lượng cũng được đo bằng 1 kênh đầu vào tương tự (analog input- AI) của NI 6009. Như vậy, chỉ bằng cách thay thế mô hình mô phỏng vòng hở của hệ thống ở hình 14 (liquid level dynamics) bằng hệ thống phần cứng thực (hình 15), ta có thể dễ dàng triển khai thuật toán điều khiển trên các hệ thống điều khiển thời gian thực (real-time targets).
Kết luận
Trong bài báo này, các tác giả đã giới thiệu thư viện phần mềm ANSCENTER Process Control Toolbox trong lĩnh vực mô phỏng và điều khiển hệ thống điều khiển tự động. Cũng giống như các phần mềm điều thiết kế hệ thống điều khiển tự động như MATLAB Simulink, PCT cho phép mô tả tất cả các khối động học trong miền Laplace và không gian trạng thái. Bên cạnh đó, ngoài việc hỗ trợ các thuật toán điều khiển nâng cao trong không gian trạng thái, PCT còn cho phép kỹ sư thiết kế kết hợp trưc tiếp với phần mềm điều khiển ứng dụng mạng trí tuệ nhân tạo (sẽ được trình bày ở các bài báo sau). Nhờ có sự chuyển đổi giữa miền liên tục sang miền rời rạc được thực hiện một cách tự động, việc thiết kế hệ thống điều khiển bằng PCT trở nên đơn giản và hiệu quả hơn. Đồng thời, PCT không tách biệt quá trình mô phỏng và điều khiển thực làm hai quá trình. Điều đó giúp cho người thiết kế dàng triển khai mô hình điều khiển của mình xuống các hệ thống điều khiển thời gian thực (real-time targets). Các tác giả hi vọng rằng thông qua bài báo này, thư viện phần mềm PCT sẽ được giới thiệu đến các sinh viên, kỹ sư và giảng viên như một công cụ để học và pháp triển lý thuyết điều khiển tự động cũng như ứng dụng trong các bài toán điều khiển thời gian thực. Mặc dù thư viện PCT đã và đang được sử dụng trong môi trường công nghiệp tại tập đoàn II-VI Finsiar (https://www.finisar.com/), mọi đóng góp của độc giả sẽ giúp thư viện hoàn thiện hơn trong các phiên bản tiếp theo.
Để sử dụng phần mềm miễn phí với mục đích không thương mại (non commercial), hãy liên hệ và đăng ký tại ANSCENTER theo các địa chỉ:
https://www.anscenter.com/Identity/Account/Register;
https://www.anscenter.com/Customer/Home/Contact
Nguyễn Tuấn Nghĩa - CEO ANSCENTER
Nguyễn Hồng Quang, Đại học Bách khoa Hà Nội