Vòng ngược
1) Bắt đầu với lớp 𝐿𝐿(𝑁𝑁 = 0), rời rạc các đường biên của tập đích thành các điểm riêng biệt như quá trình tìm tập các điểm đại diện cho các lớp khác. Các điểm này sẽ gán hàm mục tiêu là 𝐵𝐵�𝑥𝑥𝑚𝑚�= 0.
2) Với các lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘) với 𝑘𝑘= 1,2, … ,𝑁𝑁, tính toán tối ưu cho lớp hiện tại rồi lưu lại kết quảđể chuẩn bị tính toán cho lớp phía bên ngoài. Cụ thể như sau: Với mỗi điểm đại diện 𝑥𝑥𝑚𝑚 hợp lệ trong tập các điểm đại diện cho lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘) đã có được các thông tin liên quan về các tín hiệu điều khiển hợp lệ𝑢𝑢𝑗𝑗, các giá trị hàm mục tiêu 𝐼𝐼�𝑥𝑥𝑚𝑚,𝑢𝑢𝑗𝑗�tương ứng với các tín hiệu điều khiển đó và các điểm đại diện 𝑥𝑥𝑚𝑚𝑗𝑗,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡 nằm trong tập các điểm đại diện cho lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘 −1), nên cũng sẽcó được thông tin về hàm mục tiêu của điểm này đến đích là 𝐵𝐵�𝑥𝑥𝑚𝑚𝑗𝑗,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡�, từđây sẽ tính toán được giá trị các hàm mục tiêu tương ứng với từng tín hiệu điều khiển 𝑢𝑢𝑗𝑗 như sau:
𝑄𝑄�𝑥𝑥𝑚𝑚,𝑢𝑢𝑗𝑗�=𝐼𝐼�𝑥𝑥𝑚𝑚,𝑢𝑢𝑗𝑗�+𝐵𝐵�𝑥𝑥𝑚𝑚𝑗𝑗,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡� (3.17) So sánh các giá trị các hàm mục tiêu này sẽthu được hàm mục tiêu có giá trị nhỏ nhất từđiểm này đến điểm đích. Kết quả tính toán này được mô tả trên Hình 3.6.
Hình 3.6. Tính toán quỹ đạo tối ưu cho điểm thử trong tập các điểm đại diện
Từđây, ứng với điểm trạng thái hợp lệ 𝑥𝑥𝑚𝑚 trong tập các điểm đại diện cho lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘), sẽthu được duy nhất một tín hiệu điều khiển tối ưu
0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50
20
𝑢𝑢𝑗𝑗 và hàm mục tiêu từđiểm đó đến lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘 −1) là 𝐵𝐵�𝑥𝑥𝑚𝑚�. Ta sẽ lần lượt thực hiện công việc tương tự cho các tất cảcác điểm hợp lệ còn lại trong lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘). Hình 3.7 mô tả kết quả tính toán cho lớp
𝐿𝐿(𝑁𝑁 = 1) cho không gian trạng thái hai chiều.
Hình 3.7. Kết quả tính toán cho lớp tiếp giáp đầu tiên
3) Các kết quả tính toán cho lớp được lưu lại cho các lần tính toán tiếp theo cho các lớp sau: 𝐿𝐿(𝑁𝑁 =𝑘𝑘+ 1), 𝐿𝐿(𝑁𝑁 =𝑘𝑘+ 2), … Việc tính toán cho các lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘+ 1), 𝐿𝐿(𝑁𝑁 =𝑘𝑘+ 2), … cũng được thực hiện tương tựnhưđối với lớp 𝐿𝐿(𝑁𝑁 =𝑘𝑘).
Khi việc tính toán hoàn tất, sẽthu được bộđiều khiển logic phản hồi trạng thái 𝐷𝐷:𝐸𝐸×𝑋𝑋×𝑋𝑋𝑇𝑇 → 𝑈𝑈 có thể cung cấp tín hiệu điều khiển tối ưu rời rạc cho tất cảcác điểm đại diện ở tất cảcác ô đã chia trong không gian trạng thái.
Sau khi tìm được bộ điều khiển tối ưu cho vòng ngược, công việc ở vòng xuôi sẽ là kiểm chứng bộđiều khiển đểđảm bảo rằng bộđiều khiển có thểđưa hệ thống đến tập đích và tránh được các vùng cấm. Việc này là cần thiết vì khi tính toán tối ưu, giải thuật nêu ở bên trên chỉxét đến các đoạn tối ưu riêng rẽ cho các điểm rời rạc trên các vùng biến ở mỗi ô, nó sẽkhông đảm bảo tất cả các quỹ đạo tối ưu sẽtránh được vùng cấm.
Vòng xuôi
1) Tại thời điểm đầu tiên 𝑘𝑘 = 0, trạng thái hệ thống là 𝑥𝑥0, tìm điểm gần nhất với điểm 𝑥𝑥0 trong tập các điểm đại diện của các lớp, ví dụlà điểm
𝑥𝑥0,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡. Tương ứng với điểm 𝑥𝑥0,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡 này sẽ có tín hiệu điều khiển tối ưu 𝑢𝑢0.
2) Đưa tín hiệu điều khiển 𝑢𝑢0 này vào hệ thống và giữ nguyên cho tới khi quỹ đạo trạng thái hệ thống chạm một ngưỡng nào đó, giả sử lúc này
0 10 20 30 40 50 0 10 20 30 40 50 𝑋𝑋𝑇𝑇
21 trạng thái hệ thống là 𝑥𝑥1và điểm gần nhất với nó là 𝑥𝑥1,𝑚𝑚𝑛𝑛𝑚𝑚𝑛𝑛𝑛𝑛𝑛𝑛𝑡𝑡 cùng với tín hiệu điều khiển tối ưu là 𝑢𝑢1.
3) Tiếp tục đưa tín hiệu điều khiển 𝑢𝑢1vào hệ thống và giữcho đến khi gặp một ngưỡng mới và quá trình tính toán tín hiệu điều khiển diễn ra giống bước 1.
Nếu trong quá trình kiểm tra, một vài quỹ đạo đi đến 𝑋𝑋𝐹𝐹 thì bộ điều khiển này là không hợp lệ. Khi đó, bộđiều khiển cần được hiệu chỉnh và kiểm tra lại lần nữa. Trong trường hợp ngược lại, nếu tất cả quỹđạo đều tránh được vùng cấm 𝑋𝑋𝐹𝐹, bộđiều khiển lúc này là hợp lệ và sẵn sàng đểcài đặt.
22
CHƯƠNG 4. THIẾT KẾ BỘ QUAN SÁT TRẠNG THÁI CHO HỆ THỐNG DCCS
Bộ lọc Kalman được giới thiệu lần đầu tiên vào năm 1960 bởi Rudolf E. Kalman (1930 – 2016), một kỹ sư điện, nhà toán học, nhà phát minh người Mỹ gốc Hungary. Thực tế đã chứng tỏ bộ lọc Kalman là một khám phá quan trọng trong lĩnh vực ước lượng thống kê (Statistical Estimation Theory). Mặc dù bộ lọc Kalman được ứng dụng trong nhiều lĩnh vực, chẳng hạn như điều khiển quá trình, điều hướng, hệ thống định vị,… nhưng nó được sử dụng chủ yếu với 2 mục đích chính: ước lượng trạng thái của hệ thống động học và phân tích hệ thống ước lượng. Bằng cách sử dụng các phương trình đại số, bộ lọc Kalman tiến hành ước lượng trạng thái hệ thống dựa trên việc tối thiểu hóa kì vọng của bình phương sai lệch Bộ lọc này không những có thể triển khai ước lượng cho các trạng thái hệ thống tại các thời điểm trong quá khứ, hiện tại và còn có thể áp dụng cho việc ước lượng các trạng thái trong tương lai, kể cảkhi mô hình động học hệ thống sử dụng trong quá trình tính toán là không hoàn toàn chính xác. Với những ưu điểm như trên và kểđến sự phát triển mạnh mẽ của các hệ thống tính toán số, bộ lọc Kalman ngày càng được áp dụng rộng rãi trong đa dạng các lĩnh vực.
Các kết quảđầu tiên của bộ lọc Kalman đều tập trung xung quanh vấn đề về bộ quan sát trạng thái cho hệ thống tuyến tính với nhiễu ồn trắng tồn tại trong cả mô hình động học và các hệ thống đo. Tuy nhiên, trong kỹ thuật, hầu như các hệ thống đều là phi tuyến vì vậy các kết quả nghiên cứu gần đây đều tập trung áp dụng kỹ thuật của bộ lọc Kalman để xử lý vấn đề này. Trong các biến thể của bộ lọc Kalman thì bộ lọc Extended Kalman Filter (EKF) được sử dụng phổ biến để tiến hành ước lượng trạng thái của hệ thống phi tuyến. Khi đó, mô hình động học hệ thống và phương trình đo, đều là các hàm phi tuyến, được sử dụng để tính toán trạng thái ước lượng từ trạng thái trước đó rồi tiến hành ước lượng giá trị đo. Tuy nhiên, hai hàm này không được sử dụng trực tiếp để tính toán ma trận hiệp phương sai mà thay vào đó là ma trận đạo hàm riêng – ma trận Jacobian. Cứ sau một khoảng thời gian xác định, giá trị ma trận Jacobian được tính toán tại giá trị trạng thái ước lượng hiện tại rồi được sử dụng trong các phương trình bộ lọc Kalman [26], [27], [28]. Quá trình này về cơ bản chính là tuyến tính hóa mô hình xung quanh trạng thái ước lượng hiện tại để có thể áp dụng được các kĩ thuật của bộ lọc Kalman gốc [29], [30], [28].
Do tính đơn giản và sốlượng phép tính thực hiện không nhiều nên bộ quan sát EKF được sử dụng rộng rãi, đặc biệt là trong các nền tảng nhúng hiện nay. Tuy nhiên, cũng có hai vấn đề cần phải xem xét kĩ lưỡng trước khi áp dụng. Đầu tiên, khi mô hình động học hệ thống là phi tuyến mạnh thì việc tuyến tính hóa xung
quanh điểm trạng thái ước lượng không còn đủ chính xác, điều này dẫn đến sai
lệch ước lượng không còn ổn định. Bên cạnh đó, việc triển khai tính toán ma trận Jacobian không phải lúc nào cũng thuận tiện do mô hình hệ thống có thể sẽ không ở trong dạng vi phân thường (Ordinary Differential Equations – ODEs). Mặc dù công thức tường minh ma trận Jacobian có thể thực hiện nhờ các công cụ sẵn có
23 Python, …, kết quảthu được vẫn rất phức tạp, điều này cũng sẽ làm giảm đi tính đơn giản vốn có của bộ quan sát EKF. Một hướng tiếp cận cho trường hợp này là sử dụng bộ quan sát Unscented Kalman Filter (UKF). Bộ quan sát UKF này sử dụng kỹ thuật lấy mẫu là Unscented Transform (UT) để cải thiện chất lượng bộ lọc Kalman khi sử dụng đối với các hệ thống động học phi tuyến. Kỹ thuật này làm việc dựa trên thao tác ánh xạ một nhóm các điểm được chọn một cách kĩ càng qua phương trình mô hình động học để từđó thu được trạng thái ước lượng và ma trận hiệp phương sai [31], [32], [33]. Điều này làm cho bộ quan sát UKF có thểđưa ra kết quảước lượng tốt hơn so với việc tuyến tính hóa cục bộ của phương pháp EKF. Không những thế, kĩ thuật này không sử dụng ma trận Jacobian, điều này làm giảm thiểu công việc chuẩn bịtrước khi thực thi bộ quan sát.
Phần này sẽ trình bày về lý thuyết bộquan sát EKF và UKF: điểm chung và sự khác biệt, từđó đi đến việc trình bày lược đồ thiết kế bộ quan sát cho hệ DCCS sử dụng hai phương pháp này.