1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Điều khiển bám quỹ đạo cho hệ bóng thanh trục lệch

79 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Khiển Bám Quỹ Đạo Cho Hệ Bóng Thanh Trục Lệch
Tác giả Trần Văn Thành, Đỗ Quốc Thịnh
Người hướng dẫn TS. Nguyễn Văn Đông Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 9,84 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (14)
    • 1.1 Đặt vấn đề (14)
    • 1.2 Các công trình nghiên cứu trong và ngoài nước (15)
    • 1.3 Mục tiêu (16)
    • 1.4 Nội dung nghiên cứu (17)
    • 1.5 Phương pháp nghiên cứu (17)
    • 1.6 Ý nghĩa khoa học, thực tiễn (18)
  • Chương 2. TÍNH TOÁN VÀ THIẾT KẾ HỆ BÓNG THANH TRỤC LỆCH (19)
    • 2.1 Hệ thống bóng thanh trục lệch (19)
    • 2.2 Phân tích và xây dựng mô hình toán học (20)
    • 2.3 Phân tích và xây dựng mô hình toán học của động cơ (22)
  • Chương 3. XÂY DỰNG GIẢI THUẬT ĐIỀU KHIỂN (28)
    • 3.1 Tổng quan bộ điều khiển trượt (28)
      • 3.1.1 Nguyên lí ổn định Lyapunov (28)
      • 3.1.2 Bộ điều khiển trượt cơ bản (30)
    • 3.2 Tổng quan về bộ điều khiển LQR (33)
    • 3.3 Tổng quan về giải thuật di truyền (34)
      • 3.3.1 Giới thiệu (34)
      • 3.3.2 Áp dụng giải thuật GA tối ưu hóa thông số điều khiển (36)
    • 3.4 Thiết kế bộ điều khiển SMC cho hệ bóng thanh trục lệch (37)
      • 3.4.1 Bộ điều khiển SMC cơ bản cho hệ SIMO (37)
      • 3.4.2 Bộ điều khiển SMC bám quỹ đạo cho hệ bóng thanh trục lệch (41)
    • 3.5 Thiết kế bộ điều khiển LQR cho hệ bóng thanh trục lệch (44)
  • Chương 4. MÔ PHỎNG HỆ THỐNG (49)
    • 4.1 Điều kiện mô phỏng (49)
    • 4.2 Kết quả mô phỏng (52)
      • 4.2.1 Điều khiển ổn định tại chỗ (52)
      • 4.2.2 Điều khiển bám quỹ đạo (54)
    • 4.3 Kết luận (58)
  • Chương 5. KẾT QUẢ THỰC NGHIỆM (59)
    • 5.1 Thiết kế cơ khí cho hệ thống (59)
      • 5.1.1 Tổng quan về hệ thống (59)
      • 5.1.2 Board STM32F4 (59)
      • 5.1.3 Cầu H HI216 (61)
      • 5.1.4 Động cơ DC (62)
      • 5.1.5 Nguồn DC (63)
      • 5.1.6 Mạch giao tiếp UART (63)
    • 5.2 Phần mềm lập trình STM32F4 (64)
    • 5.3 Phần mềm thu thập dữ liệu (64)
    • 5.4 Chương trình nhúng thực nghiệm (65)
    • 5.5 Thiết kế giao diện cho hệ thống (67)
    • 5.6 Kết quả thực nghiệm (67)
      • 5.6.1 Điều khiển ổn định tại chỗ (67)
      • 5.6.2 Điều khiển bám quỹ đạo hình sine (69)
      • 5.6.3 Điều khiển bám quỹ đạo hình xung vuông (71)
    • 5.7 Kết luận (73)
  • Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (74)
    • 6.1 Kết luận (74)
    • 6.2 Hướng phát triển (74)
  • TÀI LIỆU THAM KHẢO (76)

Nội dung

I.TÊN ĐỀ TÀI: Điều khiển bám quỹ đạo cho hệ bóng thanh trục lệch II.NHIỆM VỤ 1.Các số liệu ban đầu: a/ Link sản phẩm: https://www.quanser.com/products/ball-and-beam/b/ Link video: https:

TỔNG QUAN

Đặt vấn đề

Việc nghiên cứu các giải thuật điều khiển khác nhau là vô cùng quan trọng trong ngành điều khiển tự động, giúp đánh giá và tìm ra ưu điểm cũng như nhược điểm của từng bộ điều khiển Các bộ điều khiển tuyến tính như PID và LQR đã được nghiên cứu và công bố rộng rãi, nhưng vẫn tồn tại những khuyết điểm nhất định, như việc hiệu chỉnh thông số PID gần như hoàn toàn là thử sai và LQR chỉ giúp hệ thống hoạt động tốt tại điểm cân bằng và lân cận điểm làm việc Để điều khiển ổn định bám quỹ đạo, các bộ điều khiển phi tuyến là giải pháp khả thi, có thể đảm bảo về mặt toán học trong quá trình hoạt động và trên toàn không gian của hệ thống thông qua nguyên lí ổn định Lyapunov.

Điều khiển trượt (SMC) là một trong những giải thuật phi tuyến phổ biến nhất hiện nay Mặc dù phương pháp này vẫn còn một số hạn chế, chẳng hạn như hiện tượng chattering, nhưng nó vẫn được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau.

Bộ điều khiển SMC có thể được áp dụng cho nhiều hệ thống khác nhau, bao gồm cả hệ thống có tính chất phức tạp như quỹ đạo pha dao động quanh mặt trượt Dựa trên nghiên cứu [7], nhóm dự định xây dựng bộ điều khiển SMC và LQR ổn định tại chỗ và bám quỹ đạo cho trước, hướng tiếp cận này đã được chứng minh thành công trên các hệ thống như pendubot và con lắc ngược trên xe.

Hệ bóng thanh trục lệch là một hệ thống SIMO (Single-Input Multiple-Output) được sử dụng rộng rãi trong các phòng thí nghiệm để kiểm chứng các giải thuật điều khiển Tại Việt Nam cũng như trên toàn thế giới, đã có nhiều nghiên cứu khoa học tập trung vào việc điều khiển hệ thống này bằng cách áp dụng các giải thuật khác nhau Mặc dù vậy, việc hiểu rõ và điều khiển hiệu quả hệ thống bóng thanh trục lệch vẫn còn là một chủ đề nghiên cứu mở và đầy tiềm năng.

Nhóm nghiên cứu đã lựa chọn đề tài "Điều khiển bám quỹ đạo cho hệ bóng thanh trục lệch" làm đề tài luận văn tốt nghiệp đại học, với mục tiêu ứng dụng chính là hệ bóng thanh trục lệch Đề tài này tập trung vào việc sử dụng hai bộ điều khiển LQR và SMC để giải quyết vấn đề bám quỹ đạo cho hệ bóng thanh trục lệch, đồng thời áp dụng giải thuật tìm kiếm để tối ưu hóa hiệu suất điều khiển.

Giải thuật di truyền (GA) được áp dụng để tối ưu hóa thông số điều khiển và nâng cao chất lượng điều khiển Đồng thời, các kết quả mô phỏng và thực nghiệm cũng sẽ được thực hiện để kiểm chứng hiệu quả của hai giải thuật LQR và SMC trong việc tối ưu hóa hệ thống điều khiển.

Các công trình nghiên cứu trong và ngoài nước

Trong những năm gần đây, đã có nhiều công trình khoa học và bài báo về điều khiển hệ bóng thanh trục lệch được công bố bởi các trường đại học và phòng nghiên cứu trong và ngoài nước, mang lại những kết quả đáng ghi nhận Mặc dù đã giải quyết được nhiều vấn đề liên quan đến hệ thống phi tuyến này, vẫn còn một số thiếu sót cần được cải thiện.

Hệ thống bóng thanh trục lệch là một trong những hệ thống phổ biến nhất trên thế giới, đã được nghiên cứu sâu rộng thông qua nhiều công trình khoa học Các nghiên cứu trước đây đã đề xuất các bộ điều khiển khác nhau, chẳng hạn như bộ điều khiển PID và LQR, để ổn định hệ thống tại điểm làm việc Tuy nhiên, các giải pháp này chỉ tập trung vào việc điều khiển hệ thống tại điểm làm việc cố định, mà chưa đề cập đến việc điều khiển hệ thống trong các điều kiện hoạt động khác nhau.

Hệ thống này đã được áp dụng các phương pháp điều khiển cấp cao hơn, bao gồm bộ điều khiển Fuzzy và bộ PID mờ Tuy nhiên, các nghiên cứu trước đây về giải thuật SMC cơ bản vẫn chưa đề cập đến điều khiển bám quỹ đạo Mặc dù có một số hướng nghiên cứu về điều khiển quỹ đạo cho hệ thống, nhưng kết quả chỉ dừng ở mô phỏng và chưa được chứng minh trong thực nghiệm.

Tại Việt Nam, một số nghiên cứu đã áp dụng các phương pháp điều khiển cho hệ bóng thanh trục lệch, chẳng hạn như bộ điều khiển LQR được đề cập trong tài liệu [15], cho thấy kết quả mô phỏng và kiểm chứng khả quan trên mô hình thực nghiệm Tuy nhiên, vẫn còn hạn chế khi chưa đề cập đến việc điều khiển quỹ đạo của hệ thống Một nghiên cứu khác về hệ bóng thanh trục giữa sử dụng giải thuật PID trong tài liệu [16] chỉ đạt được sự ổn định hệ thống tại vị trí cân bằng, chưa giải quyết được vấn đề điều khiển quỹ đạo.

Các nghiên cứu trước đây đã áp dụng thành công giải thuật SMC thông qua mô phỏng và thực nghiệm, nhưng phương pháp thiết kế mặt trượt và điều khiển quỹ đạo vẫn còn hạn chế Một số tài liệu đã đề xuất giải thuật thông minh kết hợp bộ điều khiển PID và mạng Nơ-ron, đạt được kết quả ổn định và bám theo quỹ đạo, tuy nhiên thiết kế phụ thuộc nhiều vào kinh nghiệm của tác giả và chưa tận dụng được phương trình toán học của hệ.

Mặc dù hệ phi tuyến bóng thanh trục lệch là một hệ thống quen thuộc, nhưng việc điều khiển quỹ đạo cho hệ thống này vẫn còn là một chủ đề mới mẻ ở Việt Nam Do đó, việc nghiên cứu và áp dụng các giải thuật điều khiển hiện đại như LQR và SMC để điều khiển bám quỹ đạo là một hướng đi phù hợp và tiềm năng cho đề tài luận văn này.

Mục tiêu

Trong đề tài này, nhóm nghiên cứu tập trung vào việc xây dựng bộ điều khiển phi tuyến SMC và bộ điều khiển tuyến tính LQR có khả năng điều khiển ổn định và bám quỹ đạo hình sine và xung vuông một cách chính xác Mục tiêu của nhóm là tạo ra một hệ thống điều khiển đáng tin cậy và hiệu quả, đáp ứng nhu cầu thực tế trong việc điều khiển các hệ thống phức tạp.

Để đánh giá hiệu suất của hai bộ điều khiển, chúng tôi đã sử dụng mô phỏng trên Matlab-Simulink và thực nghiệm để kiểm chứng Thông số tối ưu của hai bộ điều khiển này được tìm kiếm thông qua giải thuật di truyền GA, giúp xác định được các thông số điều khiển hiệu quả nhất Sau đó, kết quả điều khiển của hai bộ điều khiển sẽ được so sánh với nhau, nhằm tìm ra ưu điểm và nhược điểm của hai giải thuật này và lựa chọn giải pháp điều khiển tối ưu.

Nội dung nghiên cứu

 Nghiên cứu phương trình toán học của hệ thống

 Nghiên cứu bộ điều khiển LQR và SMC điều khiển hệ bóng thanh trục lệch

 Nghiên cứu áp dụng giải thuật di truyền GA để tối ưu thông số điều khiển

 Nghiên cứu cấu trúc toán học mô tả hệ bóng thanh trục lệch

 Nghiên cứu giải thuật SMC điều khiển ổn định tại chỗ và bám theo quỹ đạo đặt trước

 Nghiên cứu giải thuật LQR điều khiển ổn định tại chỗ và bám theo quỹ đạo đặt trước

 Nghiên cứu GA tìm ra thông số tối ưu của bộ điều khiển

 So sánh giải thuật trượt với giải thuật cổ điển LQR

 Nghiên cứu mô phỏng bộ điều khiển và hệ bóng thanh trục lệch trên phần mềm Matlab/Simulink

 Xây dựng mô hình bóng thanh trục lệch thực nghiệm

 Áp dụng vi xử lý STM32F4 trong điều khiển hệ thống.

Phương pháp nghiên cứu

Xây dựng thuật toán điều khiển:

 Trình bày cấu trúc toán học phi tuyến của hệ

 Xây dựng bộ điều khiển SMC ổn định tại chỗ, từ đó phát triển lên điều khiển bám quỹ đạo

Xây dựng bộ điều khiển LQR ổn định tại chỗ và điều khiển bám quỹ đạo là bước đầu tiên quan trọng trong việc so sánh với bộ điều khiển SMC Thông qua việc thiết kế bộ điều khiển LQR, chúng ta có thể tạo cơ sở để đánh giá và so sánh với bộ điều khiển SMC, từ đó chỉ ra được ưu điểm và nhược điểm của SMC so với LQR, giúp chúng ta hiểu rõ hơn về hiệu suất và tính ổn định của từng bộ điều khiển.

 So sánh LQR và SMC thông qua mô phỏng

 Tổng hợp và đưa ra nhận xét, kết luận

Xây dựng mô hình thực nghiệm:

 Xây dựng mô hình cơ khí và điện tử cho hệ bóng thanh trục lệch

 So sánh LQR và SMC thông qua kiểm chứng thực tế

 Tổng hợp và đưa ra nhận xét, kết luận.

Ý nghĩa khoa học, thực tiễn

Hệ bóng thanh trục lệch là mô hình chuẩn để kiểm chứng các giải thuật điều khiển, được sử dụng rộng rãi trong các phòng thí nghiệm và trường đại học trên toàn thế giới nhờ chi phí thấp Việc áp dụng vi điều khiển STM32F4 giúp giảm thiểu chi phí và tạo cơ hội cho sinh viên xây dựng mô hình thực nghiệm chuẩn, từ đó áp dụng các giải thuật điều khiển vào các hệ thống SIMO khác như hệ con lắc ngược trên xe Điều này không chỉ giúp sinh viên phát triển kỹ năng ứng dụng mà còn tạo nền tảng cho việc phát triển các mô hình lớn hơn trong tương lai, chẳng hạn như máy bay không người lái và tên lửa.

TÍNH TOÁN VÀ THIẾT KẾ HỆ BÓNG THANH TRỤC LỆCH

Hệ thống bóng thanh trục lệch

Hệ bóng thanh trục lệch là một hệ thống SIMO (Single-Input Multi-Output) phổ biến và được ứng dụng rộng rãi trong nhiều lĩnh vực nhờ cấu trúc đơn giản và chi phí thấp Hệ thống này dễ dàng tiếp cận và được đưa vào giảng dạy tại nhiều trường đại học trên toàn thế giới, không chỉ ở Việt Nam Hãng Quanser, chuyên chế tạo mô hình nghiên cứu cho các trường đại học, đã phát triển một mô hình chuẩn cho hệ bóng thanh trục lệch, thể hiện rõ trong hình minh họa.

Hình 2 1 Mô hình chuẩn bóng thanh trục lệch của Quanser

Hệ thống điều khiển quả bóng trên thanh ngang là một hệ thống phức tạp có tính phi tuyến cao, bao gồm các thành phần chính như thanh nằm ngang, quả bóng, động cơ DC, cảm biến đọc vị trí quả bóng và xác định góc nghiêng của thanh Việc điều khiển vị trí của quả bóng trên thanh được thực hiện thông qua việc thay đổi góc nghiêng của thanh beam so với phương ngang bằng cách sử dụng động cơ DC Cảm biến và encoder đóng vai trò quan trọng trong việc xác định vị trí quả bóng, trong khi các bộ điều khiển tính toán và xác định sai số giữa vị trí hiện tại và vị trí mong muốn của quả bóng, sau đó cấp tín hiệu điều khiển cho động cơ để điều chỉnh góc nghiêng thanh ngang Sự ổn định của hệ thống phụ thuộc vào kết cấu, thông số hệ thống và khả năng điều khiển chính xác của hệ thống dưới tác động của trọng lực.

Điện áp cấp cho động cơ là một yếu tố quan trọng trong việc điều khiển và giám sát hoạt động của động cơ Chính vì vậy, việc nghiên cứu và phân tích tín hiệu đầu vào này đã trở thành một đề tài nghiên cứu phổ biến trong các phòng thí nghiệm, giúp các nhà khoa học hiểu rõ hơn về cách thức hoạt động của động cơ và tìm ra giải pháp cải thiện hiệu suất và độ tin cậy của chúng.

Phân tích và xây dựng mô hình toán học

Để tìm ra phương trình động lực học mô tả hệ bóng thanh trục lệch, phương pháp Lagrange được áp dụng dựa trên nguyên tắc cân bằng năng lượng của hệ thống Phương pháp này cho phép chúng ta xây dựng mô hình toán học chính xác, giúp mô tả và dự đoán hành vi của hệ thống một cách hiệu quả.

Hình 2 2 Mô hình tham khảo hệ bóng thanh trục lệch

Thông số mô hình được thể hiện ở Bảng 2 1

Thông số/Biến số Mô tả thông số Giá trị

 Góc thanh beam so với phương ngang rad

( ) r t Vị trí của quả bóng rad

 Góc bánh răng động cơ rad d Bán kính đĩa tròn 0.075( ) m g Gia tốc trọng trường 9.81( / g s 2 ) m Khối lượng quả bóng 0.065( kg )

M Khối lượng thanh beam 0.34( kg )

R Bán kính của quả bóng 0.0125( ) m u Momen xoắn được tạo ra bởi động cơ

J B Momen quán tính của quả bóng 2 2 2

J b Momen quán tính của thanh beam 1 2 2

Đầu tiên, để phân tích hệ thống, chúng ta cần xác định động năng của cả hệ thống, bao gồm động năng của quả cầu và động năng của thanh beam Động năng của quả cầu là một phần quan trọng trong việc tính toán tổng động năng của hệ thống.

(2) Động năng của thanh beam:

 Thanh beam không có động năng tịnh tiến, chỉ có động năng quay:

(3) Động năng của hệ thống là:

Thế năng của hệ thống:

 Thế năng của quả cầu: B m gr B sin (5)

 Thế năng của thanh beam: sin b b 2 m g L (6)

Thế năng của hệ là: sin sin

Ta có toán tử Lagrange có dạng như sau: k (8)

Ta có phương trình Lagrange :

Sau một vài tính toán ta được được kết quả như sau:

Phân tích và xây dựng mô hình toán học của động cơ

Trong thực nghiệm, việc điều khiển điện áp ngõ vào cấp cho động cơ đóng vai trò quan trọng Để thực hiện điều này, cần thực hiện bước chuyển đổi từ momen xoắn thành điện áp Cụ thể, động cơ bao gồm hai phần chính là phần điện và phần cơ, như mô tả trong Hình 2.3, giúp chúng ta hiểu rõ hơn về cơ chế hoạt động của động cơ.

Hình 2 3 Khối mô tả động cơ

Thông số của motor được miêu tả theo bảng Bảng 2 2

Thông số Mô tả Giá trị

C m Hệ số ma sát nhớt 0.00034( / ( N m rad s / ))

J m Momen quán tính của rotor 0.000134( kg m 2 )

T f Momen ma sát 0.010764( ) N m dt Tỉ số truyền 5.6

K 3 Hằng số L dt d e Điện áp ngõ vào ( ) V

Bảng 2 2 Thông số động cơ

Cấu tạo của động cơ chia làm 2 phần: phần điện và phần cơ

Công suất cơ: P m i (21) Áp dụng định luật bảo toàn năng lượng: e m b i b t b t

Phương trình biến đổi Laplace:

Giả sử T f là hằng số: sgn( ) f f

Vì tốc độ điện nhanh hơn nhiều so với tốc độ cơ khí nên: m e L di dt

Từ đó suy ra: m m m b m e L di di dt

Khối mô tả động cơ DC theo hàm truyền như sau:

Hình 2 4 Khối mô tả hàm truyền

Chuyển đổi từ mô-men xoắn qua điện áp:

Trong đó d t là tỉ số truyền của động cơ sin d sin

Vì góc alpha và teta rất nhỏ nên giả sử rằng sin and sin , suy ra: d L t d

Chuyển đổi từ mô-men xoắn qua điện áp:

Từ (34), (34) ta có hệ phương trình trạng thái được thiết lập như sau:

XÂY DỰNG GIẢI THUẬT ĐIỀU KHIỂN

Tổng quan bộ điều khiển trượt

3.1.1 Nguyên lí ổn định Lyapunov Đối với hệ tuyến tính bất kỳ thì một quá trình quá độ nào cũng có thể xem xét ở dạng tổng của thành phần quá độ, hệ tuyến tính được coi là ổn định nếu thành phần quá độ tiến tới không khi thời gian tiến tới vô cùng

Đối với hệ phi tuyến, việc xét ổn định hệ thống trở nên phức tạp hơn nhiều do không thể áp dụng nguyên lí xếp chồng và khả năng xuất hiện tự dao động Hệ phi tuyến có đặc điểm là tồn tại nhiều trạng thái cân bằng, trong khi hệ tuyến tính chỉ có một trạng thái cân bằng duy nhất Ngoài ra, vấn đề ổn định trong hệ phi tuyến còn bao gồm ổn định của chuyển động và ổn định của quỹ đạo, đòi hỏi phải xem xét kỹ lưỡng các yếu tố ảnh hưởng đến hệ thống.

 Phương pháp thứ nhất của Lyapunov:

Lyapunov đã xây dựng và phát triển các phương pháp hiệu quả để giải quyết bài toán ổn định chuyển động, bao gồm hai loại chính Phương pháp đầu tiên liên quan đến việc khảo sát trực tiếp chuyển động bị nhiễu dựa trên việc xác định các nghiệm tổng quát hoặc nghiệm riêng của phương trình vi phân của chuyển động bị nhiễu, giúp đánh giá hệ thống ổn định hay không ổn định Để thực hiện điều này, Lyapunov đã tuyến tính hóa phương trình vi phân phi tuyến của chuyển động bị nhiễu bằng cách sử dụng hệ phương trình tuyến tính gần đúng và bỏ qua các số hạng bậc cao, từ đó tạo ra một phương pháp tiếp cận mới để phân tích ổn định của hệ thống.

Ta xét hàm phi tuyến có dạng:

Phương trình có thể khai triển thành chuỗi Taylor như sau:

Phương trình xấp xỉ tuyến tính được thành lập dưới dạng:

Trong đó I là ma trận đơn vị có Rank là n (bậc của phương trình)

Từ phương trình đặc trưng, nhà toán học Lyapunov đã chứng minh rằng nếu nghiệm của phương trình đặc trưng có phần thực khác không, thì các phương trình xấp xỉ tuyến tính luôn cung cấp câu trả lời chính xác cho câu hỏi về sự ổn định của hệ phi tuyến.

 Nếu tất cả các nghiệm của phương trình đặc trưng có phần thực âm thì hệ phi tuyến sẽ ổn định trong phạm vi hẹp

 Nếu chỉ có một trong số các nghiệm của phương trình đặc trưng có phần thực dương thì hệ phi tuyến không ổn định

Nếu phương trình đặc trưng của hệ phi tuyến có một nghiệm với phần thực bằng không và tất cả các nghiệm còn lại đều có phần thực âm, thì không thể kết luận về tính ổn định của hệ Điều này có nghĩa là hệ phi tuyến có thể ổn định hoặc không ổn định, và cần phải phân tích thêm để xác định tính ổn định của hệ.

 Phương pháp thứ hai của Lyapunov:

Phương pháp trực tiếp của Lyapunov là một trong những phương pháp hiệu quả nhất để khảo sát bài toán ổn định chuyển động, cho phép áp dụng trực tiếp tiêu chuẩn ổn định chuyển động vào hệ phương trình vi phân của chuyển động bị nhiễu mà không cần thông qua việc tích phân hệ phương trình.

Phương pháp thứ hai mang lại giá trị không chỉ ở việc xác lập các tiêu chuẩn ổn định của chuyển động mà còn cho phép xác định miền biến thiên của các thông số, xác định thời gian chuyển tiếp và đánh giá chất lượng điều chỉnh trong các hệ thống tự động, đặc biệt là thông qua Định lý Lyapunov về ổn định tiệm cận.

Nếu tìm được một hàm V(x) với mọi biến trạng thái x1, x2, , xn là một hàm xác định dấu dương, và đạo hàm của nó dV(x)/dt dựa theo phương trình vi phân của chuyển động bị nhiễu x = f(x1, x2, , xn) cũng là hàm xác định dấu, nhưng trái dấu với hàm V(x), thì chuyển động không bị nhiễu sẽ ổn định tiệm cận.

3.1.2 Bộ điều khiển trượt cơ bản

Bộ điều khiển trượt được mô tả như Hình 3 1

Hình 3 1 Bộ điều khiển trượt cơ bản

Ta xét hệ được biểu diễn bởi phương trình:

Hệ thống có thể được mô tả bằng phương trình vector trạng thái X, bao gồm tín hiệu điều khiển u, tín hiệu ra y và bậc hệ thống n Các hàm phi tuyến f và g mô tả hệ thống, với giá trị của f và g bị giới hạn bởi các giá trị tối thiểu và tối đa Cụ thể, giá trị của f nằm trong khoảng từ min đến max, trong khi giá trị của g nằm trong khoảng từ min đến max.

Bài toán đặt ra là xác định luật điều khiển u sao cho sai lệch tiến tới 0 khi t 

Gọi r là tín hiệu đặt Giả thiết r có đạo hàm theo thời gian t đến cấp n, r được định nghĩa như sau:

Hàm trượt được định nghĩa như sau:

Các hệ số a a 0 , , 1 a n  2 phải được chọn sao cho phương trình đặc trưng của phương trình vi phân (48):

2 1 0 0 n n p  a n  p   a p a (49) có tất cả các nghiệm với phần thực âm (thỏa tiêu chuẩn ổn định Hurwitz)

Trong không gian trạng thái, phương trình S = 0 xác định một mặt cong được gọi là mặt trượt, nơi luật điều khiển u được thiết kế để đảm bảo S tiến về 0 trong khoảng thời gian hữu hạn Trên mặt trượt S = 0, do tất cả các nghiệm của phương trình đều có phần thực âm, hệ thống sẽ ổn định và đạt được trạng thái mong muốn.

E khi t  Các quỹ đạo pha của hệ thống được đưa về mặt trượt, bên trên mặt trượt, quỹ đạo pha bám theo điểmX d một cách tiệm cận

Ta đạo hàm (48) theo thời gian, từ đó có thể xác định luật điều khiển:

(50) Áp dụng nguyên lí Lyapunov, hàm V có dạng:

Từ (51) suy raV SS Để V xác định âm cần chọn luật điều khiển u sao cho:

Thay (52) vào (50) ta được luật điều khiển:

Với k là hằng số dương Giá trị của k được chọn sao cho trong trường hợp xấu nhất SS 0 khi S 0 vẫn luôn thỏa mãn

Trong thực tế, do ảnh hưởng của thời gian trễ và quán tính của khâu chấp hành, quỹ đạo pha thường vượt qua khỏi mặt trượt ngay cả khi đã chạm vào nó, gây ra hiện tượng chattering - một hiện tượng quỹ đạo pha dao động quanh mặt trượt.

Tổng quan về bộ điều khiển LQR

Một hệ thống đạt hiệu suất tối ưu khi nó luôn ở trong trạng thái tốt nhất theo một tiêu chuẩn chất lượng cụ thể, phụ thuộc vào nhiều yếu tố như tác động lên đối tượng điều khiển và chất lượng đặt ra Đối với các hệ phi tuyến nhiều ngõ ra, điều khiển LQR là phương pháp điều khiển hiệu quả Bộ điều khiển LQR hoạt động dựa trên nguyên lý phản hồi trạng thái, nhận tín hiệu vào là trạng thái của hệ thống và tín hiệu mẫu, sau đó tính toán và chuyển thành tín hiệu điều khiển cho hệ thống, giúp hệ thống đạt trạng thái tối ưu.

Hình 3 3 Cấu trúc bộ điều khiển LQR

Ta xét hệ thống có dạng: x Ax Bu y Cx

Vector điều khiển tối ưu có dạng như sau:

Bài toán đặt ra là cần tìm ma trận K của phương trình (55) thỏa mãn chỉ tiêu chất lượng J đạt giá trị cực tiểu:

Trong đó : R là ma trận xác định dương, Q là ma trận bán xác định dương (hoặc xác định dương)

Từ phương trình Riccati, ta có ma trận K tối ưu được xác định như sau:

Từ đó, luật điều khiển tối ưu cho bài toán điều khiển tối ưu dạng tuyến tính toàn phương có dạng:

Khi đó ta có ma trận P thỏa mã phương trình Riccati:

Khi S không thay đổi theo thời gian S , phương trình đại số Riccati được biểu diễn như sau:

Bộ điều khiển LQR là một giải thuật điều khiển tuyến tính cơ bản nhưng sở hữu thông số điều khiển được đảm bảo bởi toán học, giúp mang lại kết quả đáng tin cậy và ổn định trong các ứng dụng thực tế.

Tổng quan về giải thuật di truyền

Thuật toán di truyền (Genetic algorithm - GA) được phát minh bởi John Holland vào những năm 1960 và sau đó được phát triển thêm bởi các sinh viên và đồng nghiệp của ông tại Đại học Michigan trong thập niên 1960 và 1970.

Holland's 22-volume work, Adaptation in Natural and Artificial Systems, presented genetic algorithms as an abstraction of biological evolution, introducing a new theoretical framework.

Quá trình tiến hóa tự nhiên được xem là quá trình tối ưu và hoàn hảo nhất, nơi các cá thể thích ứng tốt với môi trường sẽ được giữ lại và phát triển thành thế hệ mới Đây là một quan điểm hợp lí, phù hợp với thực tế cuộc sống, khi mà thế hệ sau luôn phát triển và hoàn thiện hơn so với các thế hệ trước Quá trình này có tính tối ưu vì nó cho phép các cá thể mạnh mẽ và thích nghi tốt hơn được giữ lại, trong khi những cá thể không thể thích ứng sẽ bị đào thải.

Lưu đồ giải thuật GA được minh họa như Hình 3 4 :

Hình 3 4 Lưu đồ giải thuật GA

Để áp dụng giải thuật Di truyền (GA) vào bài toán tối ưu, bước đầu tiên là mã hóa lời giải của bài toán thành chuỗi nhiễm sắc thể, trong đó mỗi nhiễm sắc thể đại diện cho một cá thể trong quần thể Tiếp theo, cần định nghĩa một hàm thích nghi (fitness function) để đánh giá và so sánh các cá thể này, nhằm tìm ra giải pháp tối ưu.

Quá trình tiến hóa bắt đầu với thế hệ đầu tiên gồm nhiều cá thể cha mẹ được khởi tạo ngẫu nhiên Trong quá trình này, chọn lọc tự nhiên sẽ ưu tiên cá thể có độ thích nghi cao, giúp chúng tồn tại và sinh sản ra các thế hệ con tiếp theo với độ hoàn thiện hơn Quá trình lai ghép cũng giúp lưu giữ và truyền lại các đặc tính tốt của thế hệ trước cho thế hệ sau Đôi khi, hiện tượng đột biến có thể xảy ra và tạo ra những cá thể vượt trội với độ thích nghi cao hơn hẳn trong quần thể Quá trình tiến hóa diễn ra lặp đi lặp lại, giúp lời giải của bài toán tiến gần hơn đến lời giải tối ưu.

3.3.2 Áp dụng giải thuật GA tối ưu hóa thông số điều khiển Đối với bộ điều khiển LQR và SMC, sinh viên dùng GA để tìm bộ thông số hoạt động tốt trong cùng khoảng thế hệ quy ước Từ đó, bộ thông số hoạt động tốt của mỗi giải thuật sẽ được so sánh với nhau Sau đây ta sẽ xem xét từng bộ điều khiển Đối với bộ điều khiển SMC, việc lựa chọn các thông số ci (i=1,2,3,4), k, η ở (89),(90) là cần thiết để ổn định hệ thống bám quỹ đạo cũng như điều khiển ổn định tại chỗ

Còn với bộ điều khiển LQR, việc lựa chọn các thông số Qi (i=1,2,3,4) và R1 ở

Để đảm bảo sự ổn định của hệ thống, (100) đóng vai trò quan trọng Ngoài ra, với các thông số Qi và R1, chúng ta có thể điều khiển hệ thống bám quỹ đạo một cách chính xác.

Dựa trên lý thuyết giải thuật di truyền, chúng tôi sẽ thiết kế bộ giải thuật GA tương ứng với từng bộ điều khiển SMC và LQR Mỗi bộ điều khiển sẽ được đại diện bởi một cá thể, tương ứng với một nhiễm sắc thể (NST), và mỗi thông số điều khiển trong bộ điều khiển đó sẽ được mã hóa bởi một gen cụ thể trong nhiễm sắc thể đó.

Đối với bộ điều khiển SMC, các gen quan trọng cần xem xét bao gồm c1, c2, c3, c4, k và η cho mỗi nhiễm sắc thể (NST) Trong khi đó, bộ điều khiển LQR lại tập trung vào các gen Q1, Q2, Q3, Q4 và R1 cho mỗi NST, giúp tối ưu hóa hiệu suất điều khiển.

Các thông số điều khiển sẽ được tối ưu hóa dần theo thời gian thông qua việc chạy chương trình GA, tạo ra các bộ điều khiển khác nhau ở mỗi lần chạy Sau khi chạy 50.000 thế hệ, chương trình sẽ dừng lại và thông số điều khiển tối ưu nhất của LQR sẽ được so sánh với thông số tối ưu nhất của SMC để đánh giá hiệu suất của từng phương pháp.

Các thông số giải thuật GA được chọn là:

 Số thế hệ tối đa: 100

 Số lượng nhiễm sắc thể trong một cá thể: 6

 Kiểu mã hóa: mã hóa thập phân

 Kiểu chọn lọc: chọn lọc sắp hạng tuyến tính

 Kiểu lai ghép: lai ghép hai điểm

Giá trị của J phụ thuộc vào sai số quỹ đạo theo thời gian mô phỏng, trong đó hệ thống càng ổn định thì J càng nhỏ Điều này cho thấy chất lượng của hệ thống có mối quan hệ trực tiếp với giá trị của J Do đó, nếu yêu cầu chất lượng của hệ thống thay đổi, việc định nghĩa lại hàm mục tiêu J sẽ cần được điều chỉnh tương ứng để đảm bảo hệ thống hoạt động ổn định và đạt được chất lượng mong muốn.

Thiết kế bộ điều khiển SMC cho hệ bóng thanh trục lệch

3.4.1 Bộ điều khiển SMC cơ bản cho hệ SIMO Ở nghiên cứu [7], một giải thuật SMC đã được trình bày để áp dụng cho hệ SIMO Trong nghiên cứu trên, giải thuật SMC đã điều khiển ổn định các hệ thống SIMO khác nhau như con lắc ngược trên xe, pendubot thành công tại vị trí làm việc ổn định hướng lên

Ta xét hệ SIMO có dạng tổng quát như sau:

Trong đó, X=[x1, x2, , x2n]T là ma trận biến trạng thái của hệ thống, mô tả các trạng thái quan trọng của hệ thống; các hàm phi tuyến fi và bi mô tả mối quan hệ phức tạp giữa các trạng thái và tín hiệu vào, trong khi u là tín hiệu vào điều khiển hệ thống, đóng vai trò quyết định trong việc điều khiển và kiểm soát hệ thống.

Bộ điều khiển trượt có thể được xây dựng dựa trên quy tắc cụ thể, với sự sắp xếp các mặt trượt được thể hiện rõ ràng, giúp người dùng dễ dàng hiểu và áp dụng.

Hình 3 5 Quy tắc sắp xếp các mặt trượt

Mặt trượt con dạng tổng quát cho hệ SIMO được định nghĩa bởi công thức: s_i = c_i * x_1 - x_2i + x_2i+1 Khi đạo hàm mặt trượt này theo thời gian t, ta có được biểu thức: ds_i/dt = c_i * dx_1/dt - dx_2i/dt + dx_2i+1/dt = c_i * f + g * u.

Từ (64), để kéo mặt trượt si về 0 ta có tín hiệu điều khiển tại lớp thứ i để s i 0 là:

Cấu trúc mặt trượt lớn bao gồm cấu trúc mặt trượt nhỏ được thể hiện rõ ràng qua mối quan hệ giữa các lớp Mặt trượt lớp thứ i bao gồm toàn bộ thông tin của mặt trượt thứ i-1 lớp khác và mặt trượt thứ i của hệ thống con, tạo nên một cấu trúc phân cấp rõ ràng.

Với các hằng số  i 1  và   0 S 0 0

Luật điều khiển chế độ trượt lớp thứ i cần phải tích hợp thông tin từ các luật điều khiển chế độ trượt lớp thấp hơn khác, cụ thể là lớp i - 1 Vì vậy, luật điều khiển chế độ trượt lớp thứ i được định nghĩa như sau: i i 1 equi swi u u  u u (67), trong đó thông tin từ các lớp thấp hơn được kết hợp để tạo ra một luật điều khiển toàn diện và chính xác hơn.

Mặt khác, từ (63),(66) ta có: i i i i i j r j r r 1 j r r 1 j r

Trong đó, u0=0 và uswi (với i=1,2, n) là tín hiệu điều khiển giúp đảm bảo mặt trượt ở lớp thứ i dao động quanh mặt trượt

Dựa vào nguyên lí ổn định Lyapunov, ta có thể tính toán được luật điều khiển ở phương trình (67) Ta chọn hàm Lyapunov cho lớp thứ i là:

V (t)S 2 (69) Đạo hàm (69) theo thời gian t ta được:

          Để đảm bảo ổn định cho mặt trượt lớn thứ i, ta đặt: i i i i i

Trong đó ki và  i là các hằng số

Từ (71) và (72) ta tính toán được luật điều khiển cho lớp thứ i là: i i i j r eql l 1 r 1 j r i 1 r l i i i i swi swl i i i i l 1 j r j r r 1 j r r 1 j r r l r l a g u k S sgn S u u a g a g

Cuối cùng, với i=n ta có thể xác định tín hiệu điều khiển SMC của lớp ngoài cùng như sau: n 1 n n swl swn eql l 1 l 1 u u u u

Trong phương trình (74), chỉ còn tín hiệu điều khiển của lớp cuối cùng được giữ lại, trong khi tín hiệu của các lớp n-1 khác bị hợp nhất và biến mất trong quá trình tính toán và thu gọn Điều này cho phép lớp trên cùng điều khiển hệ thống bên dưới, giúp hệ thống trở về vị trí 0 khi có sự lệch khỏi mặt trượt Cụ thể, khi s3 tiến về 0, thì s1 và s2 cũng có xu hướng tiến về 0, đảm bảo sự ổn định của hệ thống.

3.4.2 Bộ điều khiển SMC bám quỹ đạo cho hệ bóng thanh trục lệch

Bộ điều khiển trượt (SMC) là giải pháp hiệu quả để điều khiển hệ thống trong cả hai trường hợp ổn định tại chỗ và bám quỹ đạo Mặc dù điều khiển ổn định tại chỗ chỉ là một trường hợp riêng của điều khiển bám quỹ đạo, nhưng nó vẫn có thể được thực hiện bằng cách thay thế khối quỹ đạo đặt bằng khối Constant trong mô phỏng hệ thống Cấu trúc của bộ điều khiển SMC cho hệ bóng thanh trục lệch được thiết kế để đáp ứng các yêu cầu này, giúp hệ thống hoạt động ổn định và chính xác.

Hình 3 6 Cấu trục bộ điều khiển SMC cho hệ bóng thanh trục lệch

Theo tài liệu [7], ta định nghĩa các mặt trượt như sau:

Hình 3 7 Cấu trục mặt trượt hệ bóng thanh trục lệch

Ta điều khiển SMC bám quỹ đạo bằng cách xác lập trạng thái mẫu cho hệ:

Trong đó, x 1d , x 2d , x 3d , x 4dlà các quỹ đạo đặt của các biến trạng thái x 1 , x 2 , x 3 , x 4 Ta đặt x 2d =x 3d =x 4d =0 còn x 1dlà hàm theo thời gian tùy thuộc quỹ đạo mà ta mong muốn

Để điều khiển viên bi bám theo quỹ đạo, chúng ta cần xây dựng cấu trúc điều khiển SMC như hình 3.6 Trong đó, biến trạng thái x1 đại diện cho vị trí của viên bi, và mục tiêu là điều khiển viên bi dao động quanh điểm làm việc theo quỹ đạo đặt trước Khi đó, góc thanh beam cũng sẽ dao động theo vị trí của viên bi Do đó, giá trị mong muốn của các biến trạng thái x2, x3, x4 là 0, trong khi giá trị mong muốn của x1 là một hàm theo thời gian, tương ứng với quỹ đạo đặt trước.

Sai số giữa trạng thái thực và mẫu là : e i, (i = 1, 2, 3) = x i – x d (76) Đặt các mặt trượt:

Trong đó c ,c ,c ,c 1 2 3 4 là các thông số điều khiển

Một điều cần lưu ý khi so sánh Hình 3.7 và Hình 3.5 là s3 trong Hình 3.7 tương ứng với S2 trong Hình 3.5 Cả hai hình đều có cấu trúc và cách đặt mặt trượt tương đương nhau, điểm khác biệt chính nằm ở việc biến trạng thái hay sai số được đặt là thành phần con.

Việc điều khiển giúp các mặt trượt về giá trị 0, từ đó làm giảm sai số ei về 0 Khi đó, viên bi sẽ di chuyển theo đúng quỹ đạo đặt ra, đồng thời góc thanh beam sẽ dao động theo vị trí của viên bi Điều này cho phép hệ thống điều khiển viên bi một cách chính xác và hiệu quả.

30 Điện áp điều khiển cho từng mặt trượt được định nghĩa như sau:

Công thức (81) là công thức riêng của hệ bóng thanh trục lệch được suy ra từ công thức tổng quát (67) của hệ SIMO Trong đó, eq i là tín hiệu điều khiển giữ các thành phần trên mặt trượt tương ứng để đảm bảo kéo mặt trượt si về giá trị 0 Cụ thể, tín hiệu điều khiển này được chia thành hai phần: u s w i là tín hiệu điều khiển giữ các thành phần thuộc mặt trượt si quanh giá trị 0.

Hàm Lyapunov có dạng: V s 3 2 2 Đạo hàm V theo thời gian:

Theo nguyên lý ổn định của Lyapunov, do V là hàm xác định dương, nên V bắt buộc phải là hàm xác định âm Do đó, ta đặt:

Với k ,  là những hằng số dương Kết quả là:

Thỏa mãn nguyên lý ổn định của Lyapunov Khi ấy, ta có:

Tín hiệu điều khiển SMC là: w eq s uu u (88)

Công thức (89) và (90) tương ứng với công thức (82) và (87) thể hiện mối quan hệ chặt chẽ giữa các tham số điều khiển Khi sử dụng tín hiệu điều khiển SMC như (88), mặt trượt s3 sẽ tiến về 0, kéo theo mặt trượt s1 và s2 cũng tiến về 0 Việc áp dụng giải thuật di truyền để tìm ra các thông số c1, c2, c3, c4 và k giúp tối ưu hóa quá trình điều khiển và đạt được kết quả mong muốn.

Bộ điều khiển SMC có khả năng điều khiển bám quỹ đạo và ổn định tại chỗ cho hệ bóng thanh trục lệch một cách hiệu quả Khi mô hình phù hợp, các sai số sẽ có xu hướng dịch chuyển về 0, chứng tỏ tính ổn định và chính xác của bộ điều khiển này trong việc điều khiển hệ thống.

Thiết kế bộ điều khiển LQR cho hệ bóng thanh trục lệch

Cấu trúc bộ điều khiển LQR như sau:

Hình 3 8 Cấu trúc bộ điều khiển LQR cho hệ bóng thanh trục lệch

Ta có tín hiệu điều khiển của hệ thống là: u  Kx (91)

Trong đó, u đại diện cho tín hiệu điều khiển của hệ thống, thường được thể hiện dưới dạng điện áp cấp cho động cơ Ma trận điều khiển K đóng vai trò quan trọng trong việc quyết định tín hiệu điều khiển này Đồng thời, biến trạng thái của hệ thống được biểu diễn bởi vector x=[x1 x2 x3 x4] T, bao gồm các thông số trạng thái quan trọng của hệ thống.

Giả sử ta xét hệ phi tuyến ở (35) chỉ làm việc quanh một điểm cân bằng như sau:

Từ phương trình (92), ta có thể suy ra tín hiệu điều khiển phù hợp trong trường hợp này là khi hệ thống ở vị trí làm việc tĩnh, viên bi và thanh beam đứng yên hoàn toàn, và không có tác động nào khác vào hệ thống, do đó tín hiệu điều khiển là u = u0 = 0 như phương trình (93).

Khi hệ bóng thanh trục lệch chỉ hoạt động quanh điểm làm việc, ta có thể xem hệ này tương đương với một hệ tuyến tính Hệ tuyến tính này có dạng x  Ax  Bu, trong đó A và B là các tham số hệ thống, x là vectơ trạng thái và u là vectơ đầu vào.

Ta có thể tính toán ma trận A và B với thông số mô hình được cho ở Bảng 2 1 Bảng 2 2 và từ điểm làm việc tĩnh ở (92),(93):

Từ (96), ma trận điều khiển của hệ thống có dạng:

Sử dụng Matlab để tính toán, ta có:

Hệ thống là điều khiển được tại điểm làm việc tĩnh do hạng của ma trận Mct bằng với số biến trạng thái của hệ phương trình toán Để tìm tín hiệu điều khiển, cần tính toán ma trận K thông qua phương trình đại số Riccati, nhưng việc này gặp nhiều khó khăn Do đó, sử dụng Matlab với lệnh cụ thể giúp tính toán ma trận K một cách hiệu quả.

Với các ma trận A, B đã tính toán ở (96), ma trận Q và R được xác định như sau:

Các giá trị Qi (i=1,2,3,4) và R1 được chọn để tính toán ma trận K, tuy nhiên việc lựa chọn này tương đối linh hoạt Tuy nhiên, giải thuật tuyến tính LQR chỉ đảm bảo tính toán chính xác tại vị trí cân bằng, dẫn đến hệ thống chỉ hoạt động tốt quanh điểm làm việc tĩnh Khi hệ thống bị lệch khỏi điểm cân bằng, nó có thể mất ổn định và khoảng lân cận của điểm làm việc cũng không thể xác định chính xác.

Để tối ưu hóa thông số Q và R, giải thuật tìm kiếm được áp dụng, giúp tìm ra ma trận K phù hợp và cho phép hệ thống hoạt động hiệu quả hơn quanh điểm cân bằng Điều khiển LQR bám quỹ đạo là một kỹ thuật quan trọng trong việc điều khiển hệ thống, và việc tối ưu hóa thông số này đóng vai trò then chốt trong việc đảm bảo hệ thống hoạt động ổn định và chính xác.

Để đạt được mục tiêu điều khiển bám quỹ đạo cho hệ bóng thanh trục lệch, việc xây dựng bộ điều khiển LQR bám quỹ đạo là cần thiết Điều này cho phép so sánh kết quả giữa hai giải thuật, từ đó rút ra được những nhận xét, ưu và nhược điểm của mỗi bộ điều khiển, giúp đánh giá hiệu quả và khả năng ứng dụng của chúng trong thực tế.

Giải thuật LQR được thiết kế để điều khiển hệ thống hoạt động tại điểm cân bằng, với ma trận tối ưu K được tạo ra vì mục đích này Tuy nhiên, hệ thống cũng có thể được điều khiển để bám quỹ đạo bằng cách phát triển từ điều khiển ổn định tại chỗ Để thực hiện điều này, ma trận K được sử dụng kèm theo việc điều chỉnh biến trạng thái x1, tương tự như trong bộ điều khiển SMC bám quỹ đạo Biến trạng thái x1 được trừ đi một giá trị tương ứng trong khối quỹ đạo đặt để tạo ra biến trạng thái mới, và do bộ điều khiển LQR ổn định hệ thống về vị trí cân bằng, x1 sẽ dần tiến về giá trị 0, từ đó bám theo quỹ đạo cho trước Điều này cho phép viên bi trong hệ bóng thanh trục lệch bám theo quỹ đạo đặt và góc thanh beam dao động theo vị trí của viên bi.

35 lớn thì rất có thể việc đảm bảo về mặt toán học sẽ không hoàn toàn được tối ưu và bị ảnh hưởng.

MÔ PHỎNG HỆ THỐNG

Điều kiện mô phỏng

Trong mô phỏng, thời gian mô phỏng được chọn là 100s, thời gian lấy mẫu được chọn là 0.01s

Quá trình tối ưu hóa thông số điều khiển được hoàn thành trong vòng 100 giây, đảm bảo tốc độ xử lý nhanh chóng và hiệu quả Để kết quả kiểm tra mô phỏng sát với chạy thực nghiệm nhất, thời gian lấy mẫu khi mô phỏng được chọn trùng với thời gian lấy mẫu mô hình thực nghiệm Điều này giúp đảm bảo tính chính xác và đáng tin cậy của kết quả mô phỏng.

Hàm thích nghi được tính toán dựa trên sai số theo thời gian mô phỏng, do đó mỗi bộ thông số điều khiển tìm ra bởi GA sẽ được mô phỏng trong 100 giây để tính toán hàm thích nghi Khối "Stop simulation" đóng vai trò quan trọng trong việc dừng mô phỏng khi hệ thống gặp giá trị gây mất ổn định, chỉ những thông số cho ra kết quả tốt và mô phỏng chạy được tới 100 giây mới được tính toán để xác định hàm thích nghi.

Sau 50000 thế hệ, thông số điều khiển của bộ điều khiển SMC được tìm ra như sau: c1 = -21.1390, c2 = -43.4570, c3 = 41.3830 c4 = 24.1960, k = 42.3130, nuy = -29.7560

(102) Đồng thời cũng với 50000 thế hệ, thông số bộ điều khiển LQR được tìm thấy như sau:

Giá trị ban đầu của các biến trạng thái được chọn là: x1_init=0.54; x2_init=0; x3_init=0.1319(rad); x4_init=0 (104) Các bộ điều khiển được xây dựng trên Matlab-Simulink

Hình 4 1 Cấu trúc mô phỏng bộ điều khiển LQR trong trường hợp ổn định tại chỗ

Giải thích các khối trong Hình 4 1:

1- Khối mô phỏng hệ bóng thanh trục lệch

3- Khối thu thập dữ liệu các biến trạng thái

4- Khối dồn kênh tạo ma trận trạng thái

Hình 4 2 Khối mô phỏng hệ bóng thanh trục lệch

Hình 4 3 Cấu trúc mô phỏng giải thuật LQR bám quỹ đạo

Giải thích các khối trong hình Hình 4 3:

1- Khối quỹ đạo đặt cần chọn

2- Khối so sánh sai số giữa quỹ đạo tham chiếu và vị trí quả cầu

Hình 4 4 Cấu trúc bộ điều khiển SMC bám quỹ đạo

Giải thích các khối trong Hình 4 4:

1- Khối quỹ đạo đặt cần chọn, trong trường hợp ổn định tại chỗ thì khối này được thay thế bằng khối Constant

Kết quả mô phỏng

4.2.1 Điều khiển ổn định tại chỗ

Kết quả mô phỏng điều khiển ổn định tại chỗ được thể hiện từ Hình 4 5 đến Hình 4 7:

Kết quả mô phỏng vị trí quả cầu cho thấy hệ thống dưới sự điều khiển của SMC có dao động mạnh hơn so với LQR, đồng thời thời gian xác lập cũng dài hơn khoảng 10s so với 3s của LQR Tuy nhiên, sai số so với giá trị đặt của SMC là rất ít, chỉ khoảng 0.005m Ngược lại, bộ điều khiển LQR khiến hệ thống ít dao động hơn nhưng tạo ra sai số lớn hơn, khoảng 0.05m, so với SMC.

Kết quả mô phỏng góc lệch thanh beam (rad) cho thấy bộ điều khiển SMC tạo ra dao động mạnh trong khoảng từ -0.143 rad đến 0.284 rad, trong khi bộ điều khiển LQR cho độ dao động ban đầu ít hơn Điều này cho thấy hiệu suất của bộ điều khiển LQR trong việc giảm thiểu dao động góc lệch thanh beam.

41 hơn, chỉ từ -0.039 rad cho đến 0.126 rad Tương tự, thời gian xác lập trong trường hợp điều khiển bởi SMC cũng dài hơn so với LQR (10s so với 3.2s)

Kết quả mô phỏng điện áp cấp cho động cơ (V) được thể hiện ở Hình 4.7 cho thấy điện áp dao động trong khoảng -2.9V đến 7.6V khi áp dụng bộ điều khiển SMC Ngược lại, khi áp dụng bộ điều khiển LQR, điện áp cấp cho động cơ có sự dao động ít hơn và đạt được sự ổn định nhanh hơn so với phương pháp SMC.

Như vậy, đáp ứng của viên bi dưới tác động của bộ điều khiển LQR là tốt hơn hẳn so với SMC trong trường hợp trên

4.2.2 Điều khiển bám quỹ đạo

Trong mô phỏng, quỹ đạo hình sine có biên độ là 0.1(m) và tần số là 0.314 Hz Kết quả mô phỏng được thể hiện từ Hình 4 8 đến Hình 4 10

Kết quả mô phỏng vị trí viên bi dưới sự điều khiển của SMC và LQR cho thấy bộ SMC có khả năng điều khiển hệ thống không có độ trễ, mặc dù có độ sai lệch nhỏ so với quỹ đạo đặt Trong khi đó, bộ điều khiển LQR có ít dao động hơn nhưng dẫn đến hệ thống đáp ứng trễ hơn khoảng 1s và có sai số lớn hơn so với quỹ đạo đặt, với sai số lên đến 0,054m ở giây thứ 15.

Hình 4 9 Kết quả mô phỏng góc lệch thanh beam (rad)

Bộ điều khiển SMC và LQR đều được áp dụng để điều khiển góc thanh beam trong Hình 4.9 Tuy nhiên, kết quả cho thấy bộ điều khiển SMC tạo ra góc dao động mạnh hơn, từ -0.135 rad đến 0.256 rad, trong khi bộ điều khiển LQR có độ dao động ban đầu ít hơn, từ -0.04 rad đến 0.124 rad Cả hai bộ điều khiển đều không thể giữ thanh beam đứng yên hoàn toàn mà chỉ có thể giảm dao động quanh vị trí cân bằng.

Kết quả mô phỏng điện áp cấp cho động cơ được thể hiện ở Hình 4.10, cho thấy điện áp cấp cho động cơ có sự dao động lớn trong khoảng 5s đầu khi áp dụng bộ điều khiển SMC, trong khi đó bộ điều khiển LQR cho thấy sự ổn định hơn với dao động điện áp cấp cho động cơ ít hơn.

Qua mô phỏng bám quỹ đạo hình sine, bộ điều khiển SMC đã chứng tỏ khả năng bám quỹ đạo thành công và hiệu quả hơn so với bộ điều khiển LQR Tuy nhiên, SMC vẫn còn hạn chế trong việc cải thiện độ vọt lố và thời gian quá độ, không có sự khác biệt đáng kể so với LQR trong các chỉ số này.

4.2.2.2 Quỹ đạo hình xung vuông

Trong mô phỏng, quỹ đạo hình xung vuông có biên độ là 0.01(m), chu kì 20s và duty 50% Kết quả mô phỏng được thể hiện từ Hình 4 11 đến Hình 4 13

Hình 4 11 Kết quả mô phỏng vị trí viên bi (m)

Bộ điều khiển LQR cho thấy viên bi không bám sát quỹ đạo xung vuông, với sai số khoảng 0.05m Ngược lại, bộ điều khiển SMC giúp hệ thống bám quỹ đạo tốt hơn, nhưng lại có xu hướng dao động nhiều hơn so với LQR Thời gian xác lập của SMC cũng dài hơn, khoảng 8s, trong khi LQR chỉ mất khoảng 4.5s để đạt được trạng thái ổn định.

Hình 4 12 Kết quả mô phỏng góc lệch thanh beam (rad)

Kết quả mô phỏng trong Hình 4.12 cho thấy góc thanh beam khi được điều khiển bởi SMC có độ dao động lớn hơn so với LQR Cụ thể, độ dao động của SMC chủ yếu tập trung trong khoảng từ -0.13 rad đến 0.264 rad, trong khi đó LQR chỉ dao động trong khoảng từ -0.036 rad đến 0.124 rad.

Hình 4 13 Kết quả mô phỏng điện áp cấp cho động cơ (V)

Quan sát Hình 4.13 cho thấy điện áp cấp cho động cơ khi sử dụng bộ điều khiển LQR gần như ổn định và không đổi Ngược lại, khi sử dụng bộ điều khiển SMC, điện áp có xu hướng dao động mạnh mẽ và rõ rệt hơn so với bộ điều khiển LQR.

Kết luận

Bộ điều khiển SMC đã chứng tỏ khả năng ổn định hệ thống hiệu quả trong cả hai trường hợp điều khiển ổn định tại chỗ và ổn định bám quỹ đạo thông qua quá trình mô phỏng Tuy nhiên, vẫn còn dư địa để cải thiện và tối ưu hóa chất lượng điều khiển, giúp hệ thống hoạt động trơn tru và hiệu quả hơn.

Bộ điều khiển SMC và LQR có những đặc điểm khác nhau khi áp dụng vào hệ thống điều khiển Trong trường hợp điều khiển ổn định tại chỗ, bộ SMC giúp hệ thống bám sát giá trị đặt nhưng có độ dao động lớn hơn và thời gian xác lập dài hơn so với bộ LQR Tuy nhiên, khi áp dụng vào điều khiển bám quỹ đạo, bộ SMC thể hiện khả năng điều khiển hệ thống bám theo quỹ đạo hình sine và xung vuông một cách hiệu quả, trong khi bộ LQR có độ trễ lớn và sai số cao hơn khi lệch giá trị đặt.

KẾT QUẢ THỰC NGHIỆM

Thiết kế cơ khí cho hệ thống

5.1.1 Tổng quan về hệ thống

Nhóm xây dựng mô hình bóng thanh trục lệch có cấu trúc như Hình 5 1

Hình 5 1 Mô hình thực nghiệm hệ bóng thanh trục lệch

Cấu trúc của mô hình gồm có:

Kit STM32F407 Discovery hiện là lựa chọn phổ biến trong số các dòng ARM cùng mức giá, nhờ vào cấu hình và ngoại vi vượt trội Loại kit này đang được sử dụng rộng rãi và là lựa chọn hàng đầu cho nhiều dự án phát triển.

47 dụng để mang vào chương trình giảng dạy tại rất nhiều trường đại học, cao đẳng không chỉ ở Việt Nam mà còn trên toàn thế giới

Hình 5 3 Cấu tạo của STM32F407

So với vi điều khiển Arduino UNO thông thường, STM32F4 sở hữu một số ưu điểm vượt trội hơn Khi đọc tín hiệu từ encoder bằng Arduino, do khối lượng dữ liệu lớn, tốc độ xử lý có thể không đủ nhanh để đáp ứng yêu cầu thực tế Trong khi đó, STM32F4 với khả năng xử lý mạnh mẽ và tốc độ cao hơn hẳn, giúp việc đọc và xử lý tín hiệu từ encoder trở nên chính xác và hiệu quả hơn.

Khi số lượng xung quá lớn, hệ thống có thể không kịp xử lý, dẫn đến dữ liệu thu thập không hoàn chỉnh và gây ra sự cố trong quá trình vận hành Việc sử dụng kit STM32F407 là lựa chọn phù hợp do hiệu năng cao của nó Ngoài ra, STM32F4 còn được tích hợp công cụ ST-Link trên bo mạch, giúp việc tải và gỡ lỗi chương trình trở nên nhanh chóng và tiện lợi hơn.

Mạch cầu H là một mạch điện đơn giản được sử dụng để điều khiển động cơ DC quay thuận hoặc quay nghịch Tùy thuộc vào việc lựa chọn linh kiện có dòng điện, áp điều khiển lớn hay nhỏ, tần số xung PWM, sẽ có nhiều kiểu mạch cầu H khác nhau, quyết định đến khả năng điều khiển của cầu H trong các ứng dụng thực tế.

Bộ cầu H HI216 được trang bị IC kích FET chuyên dụng, đảm bảo FET hoạt động tốt nhất, tránh hiện tượng trùng dẫn và tăng cường công suất cũng như hiệu năng của board Điều này giúp giảm thiểu hư hỏng FET và mang lại hiệu suất ổn định Bộ cầu H này đặc biệt phù hợp cho việc điều khiển tốc độ động cơ công suất lớn, điều khiển vị trí và vận tốc DC Motor, đồng thời cho phép lựa chọn mức kích âm hoặc dương để dễ dàng điều khiển.

Động cơ DC SERVO tích hợp encoder cho phép hồi tiếp xung về vi điều khiển, giúp điều khiển viên bi theo ý muốn bằng cách điều khiển điện áp cấp cho động cơ Thông qua mạch công suất và các giải thuật như LQR, SMC, vi xử lí có vai trò tác động lại động cơ để điều khiển viên bi và góc thanh beam một cách chính xác.

Hình 5 6 Động cơ DC Nisca

Để cấp nguồn cho động cơ, nhóm nghiên cứu sử dụng khối nguồn chuyển đổi 220VAC - 12VDC - 10A Khối nguồn này được lựa chọn kỹ lưỡng để đảm bảo điện áp và dòng điện phù hợp với driver cầu H công suất và động cơ DC, giúp hệ thống hoạt động ổn định và hiệu quả.

Mạch chuyển USB UART CP2102 hỗ trợ trên nhiều hệ điều hành phổ biến bao gồm Windows, Mac, Linux và Android, mang lại sự tiện lợi và dễ dàng giao tiếp Module này được trang bị đèn LED nguồn và đèn LED báo hiệu Tx/Rx, giúp người dùng theo dõi quá trình nhận và gửi dữ liệu một cách trực quan Với khả năng giao tiếp nối tiếp giữa các mạch điện tử và máy tính, mạch chuyển USB UART CP2102 thường được ứng dụng làm mạch nạp cho các vi điều khiển, trong đó có STM32, cho phép kết nối và hiển thị dữ liệu trên màn hình máy tính một cách hiệu quả.

Phần mềm lập trình STM32F4

Để lập trình nhúng cho vi điều khiển STM32F4, nhóm sử dụng thư viện Waijung trên Matlab-Simulink Việc cài đặt thư viện Waijung cho Matlab đòi hỏi thực hiện theo một số bước cụ thể.

Bước 1: Tải Waijung theo địa chỉ: https://www.aimagin.com/en/waijung-1- stm32-target.html

Bước 2: Mở Matlab, trỏ đến đường dẫn chứa file cài đặt và tiến hành cài đặt như Hình 5 9.

Phần mềm thu thập dữ liệu

Nhóm nghiên cứu đã tận dụng phần mềm Terminal quen thuộc để thu thập dữ liệu cần thiết Phần mềm này cho phép giao tiếp và truyền nhận dữ liệu giữa vi xử lý và máy tính một cách hiệu quả Thông qua Terminal, nhóm có thể theo dõi và thu thập dữ liệu chính xác về vị trí viên bi cũng như góc quay của thanh beam, cung cấp cơ sở dữ liệu quan trọng cho nghiên cứu.

Chương trình nhúng thực nghiệm

Sau khi cài đặt thư viện Waijung và thiết lập các khối cần thiết, cấu trúc chương trình thực nghiệm cho mỗi bộ điều khiển sẽ được xác định Cấu trúc này đóng vai trò quan trọng trong việc xây dựng chương trình điều khiển hiệu quả.

Hình 5 11 Chương trình thực nghiệm bộ điều khiển LQR

1- Khối đọc xung Encoder để tính toán ra góc lệch thanh beam

2- Khối đọc ADC để tính toán ra vị trí viên bi

3- Khối nhận dữ liệu từ máy tính

4- Khối cài đặt chuẩn giao tiếp UART, chân Tx/Rx

5- Khối khai báo trình biên dịch, thời gian lấy mẫu, MCU

6- Khối chuyển đổi từ xung qua góc động cơ

8- Khối chuyển đổi góc từ “độ” sang “radian”

9- Khối chuyển đổi từ góc động cơ sang góc thanh beam

10- Khối chuyển đổi từ xung sang điện áp

11- Khối quỹ đạo tham chiếu

12- Khối chuyển đổi điện áp sang vị trí viên bi

13- Khối đạo hàm rời rạc

14- Khối thực hiện giải thuật LQR : u= -K*x

15- Khối chuyển đổi dữ liệu sang “single” để có thể truyền qua cổng UART

16- Khối thực hiện chuyển đổi dữ liệu UART lên máy tính

17- Khối chuyển đổi điện áp sang độ lớn xung PWM tương ứng

18- Khai báo Timer và chân dùng chế độ PWM, khai báo chu kỳ

19- Xuất tín hiệu Digital kích cầu H để đảo chiều động cơ

Hình 5 12 Chương trình thực nghiệm bộ điều khiển SMC

Giải thích bổ sung Hình 5 12 so với Hình 5 11:

2- Các thông số bộ điều khiển SMC

3- Khối quỹ đạo tham chiếu

Thiết kế giao diện cho hệ thống

Trong luận văn này, nhóm sử dụng phần mềm Visual Studio của Microsoft để thiết kế giao diện điều khiển hệ thống, nhờ vào khả năng hỗ trợ đa nền tảng, bao gồm Windows, Linux và Mac Systems, mang lại sự tiện lợi cho lập trình viên trong quá trình ứng dụng.

Kết quả thực nghiệm

5.6.1 Điều khiển ổn định tại chỗ

Kết quả thực nghiệm điều khiển ổn định tại chỗ được thể hiện từ Hình 5 14 đến Hình 5 16

Hình 5 14 Kết quả thực nghiệm vị trí viên bi (m)

Kết quả từ Hình 5.14 cho thấy cả hai bộ điều khiển đều có khả năng ổn định hệ thống thành công Tuy nhiên, bộ LQR thể hiện sự vượt trội khi có sai số nhỏ hơn đáng kể so với SMC, cụ thể là khoảng 0.015m so với 0.05m của SMC Ngoài ra, thời gian xác lập của bộ LQR cũng ngắn hơn so với bộ SMC, lần lượt là khoảng 12s và 23s.

Hình 5 15 Kết quả thực nghiệm góc thanh beam (độ)

TrongHình 5 15, độ dao động của góc thanh beam khi sử dụng bộ điều khiển SMC là lớn hơn so với bộ điều khiển LQR Bộ SMC dao động trong khoảng -7.5 độ

Kết quả thực nghiệm cho thấy nhiệt độ dao động trong khoảng 5.6 đến 7.5 độ khi sử dụng bộ điều khiển SMC, trong khi đó bộ điều khiển LQR có nhiệt độ dao động trong khoảng -3 độ đến 3.5 độ Điều này cho thấy bộ điều khiển LQR có thời gian xác lập ngắn hơn so với bộ điều khiển SMC, tương tự như kết quả vị trí viên bi.

Hình 5 16 Điện áp cấp cho động cơ (V)

Quan sát Hình 5.16 cho thấy điện áp cấp cho động cơ khi sử dụng hai bộ điều khiển LQR và SMC có mức độ dao động tương đương nhau, nằm trong khoảng từ -11V đến 11V.

Kết quả cho thấy bộ điều khiển SMC vẫn đảm bảo sự ổn định của hệ thống trong trường hợp điều khiển ổn định tại chỗ Tuy nhiên, chất lượng điều khiển không được cải thiện so với phương pháp LQR, điều này phù hợp với kết quả mô phỏng đã được thực hiện trước đó.

5.6.2 Điều khiển bám quỹ đạo hình sine

Kết quả thực nghiệm điều khiển bám quỹ đạo sine được thể hiện qua Hình 5 17 đến Hình 5 19

Hình 5 17 Kết quả thực nghiệm vị trí viên bi (m)

Qua Hình 5.17, có thể quan sát thấy rõ ràng sự khác biệt về mức độ đáp ứng của viên bi khi sử dụng hai bộ điều khiển khác nhau Cụ thể, bộ điều khiển LQR cho thấy sự trễ khoảng 1,5 giây so với tín hiệu đặt, trong khi đó bộ điều khiển SMC lại có khả năng đáp ứng gần như tức thì Sự khác biệt này xuất phát từ cách thiết kế hai bộ điều khiển, trong đó bộ điều khiển SMC tính toán đến quỹ đạo đặt, giúp nó phản ứng nhanh hơn, trong khi bộ điều khiển LQR chỉ chủ động điều chỉnh giá trị đặt.

Hình 5 18 Kết quả thực nghiệm góc thanh beam (độ)

Kết quả so sánh trong Hình 5.18 cho thấy góc thanh beam khi sử dụng bộ điều khiển SMC có độ dao động nhỏ hơn đáng kể so với LQR Cụ thể, bộ SMC giới hạn độ dao động trong khoảng từ -1.2 độ đến 5.3 độ, trong khi đó LQR cho độ dao động trong khoảng từ -4.2 độ đến 7 độ, thể hiện sự ổn định và hiệu suất cao hơn của bộ điều khiển SMC.

Hình 5 19 Điện áp cấp cho động cơ (V)

Nhìn vào Hình 5.19, chúng ta có thể thấy rằng điện áp cấp cho động cơ trong cả hai trường hợp điều khiển SMC và LQR là tương đương nhau, với điện áp dao động trong khoảng từ -11 độ đến 11 độ, cho thấy hiệu suất điều khiển tương tự giữa hai phương pháp này.

Kết quả thực nghiệm đã chứng minh rằng giải thuật SMC đã thành công trong việc điều khiển viên bi bám quỹ đạo sóng sine tốt hơn so với LQR, mặc dù vẫn còn sai số so với tín hiệu đặt Đặc biệt, bộ SMC cho ra đáp ứng gần như tức thì, trong khi bộ LQR gây ra độ trễ do đáp ứng chậm hơn, thể hiện rõ qua hình minh họa.

5.6.3 Điều khiển bám quỹ đạo hình xung vuông

Trong phần này, xung vuông được chọn có biên độ là 0.05 (m) và chu kì là 25s Kết quả thực nghiệm được thể hiện từ Hình 5 20 đến Hình 5 22

Hình 5 20 Kết quả thực nghiệm vị trí viên bi (m)

Bộ điều khiển LQR thể hiện sự dao động mạnh trong khoảng thời gian đầu, dẫn đến hệ thống phản ứng chậm so với tín hiệu đặt khoảng 1,5 giây Ngược lại, bộ SMC cho kết quả phản ứng không bị trễ, mặc dù vẫn còn tồn tại sai số trong quá trình hoạt động.

Hình 5 21 Kết quả thực nghiệm góc thanh beam (độ)

Trong Hình 5.21, ban đầu cả hai bộ điều khiển đều khiến hệ thống dao động mạnh Tuy nhiên, khi thời gian trôi qua, bộ điều khiển SMC cho thấy sự cải thiện đáng kể khi giảm thiểu độ dao động của hệ thống, thể hiện hiệu suất ổn định và chính xác hơn so với bộ điều khiển khác.

60 lớn hơn so với bộ LQR Độ dao động này là khoảng từ 0.4 độ đến 3.7 độ (so với khoảng từ 0.7 độ đến 3 độ của LQR)

Hình 5 22 Điện áp cấp cho động cơ (V)

Điện áp cấp cho động cơ khi sử dụng hai bộ điều khiển SMC và LQR được thể hiện trong Hình 5.22 cho thấy sự tương đồng đáng kể, với giá trị nằm trong khoảng từ -11 độ đến 11 độ Điều này cho thấy cả hai bộ điều khiển đều có khả năng cung cấp điện áp ổn định cho động cơ.

Bộ điều khiển SMC thể hiện kết quả vượt trội hơn so với bộ LQR khi điều khiển viên bi bám quỹ đạo xung vuông, mang lại khả năng đáp ứng nhanh và không có độ trễ Tuy nhiên, vẫn tồn tại sai số so với tín hiệu đặt, nhưng hiệu suất tổng thể của bộ SMC vẫn được đánh giá cao hơn trong trường hợp này.

Kết luận

Kết quả thực nghiệm cho thấy sự tương đồng đáng kể so với kết quả mô phỏng, chứng tỏ hiệu quả của các bộ điều khiển trong ứng dụng thực tế Mỗi bộ điều khiển đều có những ưu và nhược điểm riêng biệt, trong đó bộ điều khiển SMC nổi bật với khả năng bám quỹ đạo tốt và ổn định hơn so với bộ LQR, đặc biệt là khả năng đáp ứng nhanh và không có độ trễ Tuy nhiên, bộ điều khiển LQR lại thể hiện khả năng điều khiển cân bằng tại điểm làm việc vượt trội so với bộ SMC, với thời gian xác lập nhanh và sai số ít.

Ngày đăng: 28/12/2023, 18:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w