Xem mẫu

  1. Nghiên cứu khoa học công nghệ X¢Y DùNG THUËT TO¸N X¸C §ÞNH LUẬT ĐIỀU KHIỂN CHO UAV TRI-ROTORS TRÊN CƠ SỞ ỨNG DỤNG LÝ THUYẾT ĐIỀU KHIỂN TRƯỢT Đặng Văn Thành1*, Trần Đức Thuận1, Phạm Văn Nguyên2, Đặng Tiến Trung3 Tóm tắt: Bài báo trình bày giải pháp ứng dụng điều khiển trượt để tổng hợp lệnh điều khiển cho UAV tri-rotors bay và bám theo quỹ đạo và tư thế đặt trước. Luật điều khiển trượt có khả năng kháng nhiễu và đảm bảo yêu cầu độ chính xác bám cả khi có sai lệch tham số trong mô hình mô tả UAV tri-rotors. Từ khóa: UAV tri-rotors; Điều khiển trượt. 1. ĐẶT VẤN ĐỀ Máy bay không người lái dạng tri-rotors là loại máy bay có cấu tạo đơn giản, song điều khiển nó có tính phức tạp. Vì vậy, để làm chủ được nó đòi hỏi phải có các nghiên cứu chuyên sâu. Ở Việt Nam đã có một số ít công trình [1-3] đề cập đến vấn đề điều khiển loại UAV này. Bản thân nhóm tác giả cũng đã đề xuất giải pháp điều khiển trên cơ sở áp dụng giải thuật backstepping [2]. Tuy nhiên, Luật điều khiển backstepping sẽ rất hiệu quả khi các tham số mô hình được rõ, song nó sẽ không hiệu quả khi các tham số này có sai số và hệ có tác động nhiễu. Để khắc phục vấn đề này ở đây, chúng tôi tiếp tục đề xuất giải pháp ứng dụng lý thuyết điều khiển trượt để tạo luật điều khiển cho Tri-rotors. Việc dùng giải pháp trượt cho UAV đã có một số tác giả đề cập như trong các công trình [4, 5], tuy nhiên cho các chủng loại UAV không phải là UAV tri-rotors. 2. THUẬT TOÁN XÁC ĐỊNH LUẬT ĐIỀU KHIỂN CHO UAV TRI-ROTOR ỨNG DỤNG LÝ THUYẾT ĐIỀU KHIỂN TRƯỢT Phương tiện bay không người lái tri-rotors là thiết bị bay thuộc kiểu máy bay lên thẳng. Cấu trúc của tri-rotor được minh họa trên hình 1. Tri-rotors mà bài báo nghiên cứu có cấu trúc hình tam giác có 3 cánh tay có chiều dài giống hệt nhau (l) được đặt lệch nhau 120o và cuối mỗi cánh tay có gắn cơ cấu tạo ra lực và mô men theo các yêu cầu điều khiển. Tất cả 3 cơ cấu tạo ra lực giống hệt nhau và mỗi một cơ cấu bao gồm một cánh quạt và được dẫn động bởi một động cơ một chiều không cổ góp (BLDC) để tạo ra lực đẩy. Ba động cơ có thể được cấp nguồn từ một nguồn pin hoặc từ những pin riêng rẽ được đặt ở tâm của tri-rotors. Hình 1. Mô hình tri-rotor nhìn từ trên xuống và dạng 3D. Mỗi cánh quạt được gắn vuông góc với cánh tay tri-rotors thông qua một động cơ servo, để tạo lực tác động vào tri-rotors, thân động cơ có thể quay quan trục của cánh tay một góc -π/2≤α≤π/2. Các hệ tọa độ gắn với ba cánh quạt X li , Yli , Zli thể hiện như trên hình 3. Gốc của hệ tọa độ này trùng với điểm nối giữa cánh tay tri-rotors và động cơ. Ở đây, X li hướng theo Tạp chí Nghiên cứu KH&CN quân sự, Số 67, 6 - 2020 3
  2. Tên lửa & Thiết bị bay chiều cánh tay ra ngoài, Zli dọc theo trục động cơ khi góc nghiêng bằng không. a) Nhìn ngang của một cánh tay b) Nhìn từ phía trước cánh tay Hình 2. Cấu tạo một cánh tay của tri-rotor. E E E E E E Hình 3. Sơ đồ các hệ trục tọa độ của UAV tri-rotor. Dạng tổng quát của trận quay từ hệ tọa độ cố định 1 đến hệ tọa độ quay 2 sử dụng các ký hiệu của các góc quay roll  , pitch  , yaw  để thể hiện hướng của UAV tri-rotors. Trong trường hợp tổng quát để điều khiển chuyển động cho UAV tri-rotors có thể đồng thời thay đổi các tốc độ quay của các cánh quạt 1 , 2 , 3 và thay đổi các góc nghiêng 1 ,  2 ,  3 . Từ đó, có thể gọi các biến của véc tơ lệnh điều khiển như sau: 2 u1  1 sin(1 )  u   2 sin( )   2  2 2  u3  3 sin( 3 )   2 U  2  (1) u  4 1 cos ( 1 )  u   2   5  2 cos ( 2 )  u6   2 cos ( )   3 3  Để thuận tiện trong việc tổng hợp luật điển khiển U , tức là luật thay đổi các giá trị sẽ ký hiệu lại các véc tơ liên quan đến tọa độ tâm khối, các góc định hướng, tốc độ quay và tốc độ dịch chuyển tâm khối của UAV tri-rotors như sau:  x   x1     x4  X1  λ   y    x2  ; X 2  η      x5      (2)  z   x3     x6  4 Đ. V. Thành, …, Đ. T. Trung, “ Xây dựng thuật toán … lý thuyết điều khiển trượt.”
  3. Nghiên cứu khoa học công nghệ  p   x7  u   x10  X3  ω   q    x8  ; X 4  υ  v    x11       r   x9   w   x12  Với cách đặt biến ở các biểu thức (2), theo [1], hệ phương trình trạng thái mô tả UAV tri-rotors sẽ có dạng sau:   Rb X X (3) 1 e 4  X  X (4) 2 3 Trong đó, hai ma trận Reb ,  của các biểu thức (3) và (4) có dạng sau:  s ( x4 )c( x5 ) s ( x5 )  s ( x4 )c( x5 )  R   c( x4 ) s ( x5 )c( x6 )  s ( x4 ) s ( x6 ) c( x5 )c( x6 ) s ( x4 ) s ( x5 )c( x6 )  c( x4 ) s ( x6 )  (5) b e  c( x4 ) s ( x5 ) s ( x6 )  s ( x4 ) s ( x6 )  c( x5 ) s ( x6 ) s ( x4 ) s ( x5 ) s ( x6 )  c( x4 )c( x6 )   s ( x5 )c( x4 ) s ( x5 ) s ( x4 ) c( x5 )  1   c( x5 ) s ( x4 ) c( x5 )c( x4 ) 0  (6) c( x5 )   c( x4 ) s ( x4 ) 0  Trong đó, các ký hiệu s(.) và c(.) dùng để chỉ các hàm sin(.) và cosin(.) của các góc tương ứng. Thực hiện phép nhân ma trận trong biểu thức (3) nhận được:  f11 ( X 2 , X 4 )    R X  F (X , X )   f (X , X ) X b (7) 1 4 e1 2 4  12 2 4   f13 ( X 2 , X 4 )  trong đó: f11 ( X 2 , X 4 )  s ( x4 )c( x5 ) x10  s ( x5 ) x11  s ( x4 )c( x5 ) x12 (8) f12 ( X 2 , X 4 )  (c( x4 ) s ( x5 )c( x6 )  s ( x4 ) s ( x6 )) x10  c( x5 )c( x6 ) x11 (9)  ( s ( x4 ) s ( x5 )c( x6 )  c( x4 ) s ( x6 )) x12 f13 ( X 2 , X 4 )  (c( x4 ) s ( x5 ) s ( x6 )  s ( x4 ) s ( x6 )) x10  c( x5 ) s ( x6 ) x11 (10)  ( s ( x4 ) s ( x5 ) s ( x6 )  c( x4 )c( x6 )) x12 Thực hiện phép nhân ma trận (4) nhận được:  f 21 ( X 2 , X3 )    X  F ( X , X )   f ( X , X )  X (11) 2 3 2 2 3  22 2 3   f 23 ( X 2 , X3 )  trong đó: f 21 ( X 2 , X3 )  ( s ( x5 )c( x4 ) x7  s ( x5 ) s ( x4 ) x8  c( x5 ) x9 ) / c( x5 ) (12) f 22 ( X 2 , X3 )  (c( x5 ) s ( x4 ) x7  c( x5 )c( x4 ) x8 ) / c( x5 ) (13) f 23 ( X 2 , X3 )  (c( x4 ) x7  s ( x4 ) x8 ) / c( x5 ) (14) Tạp chí Nghiên cứu KH&CN quân sự, Số 67, 6 - 2020 5
  4. Tên lửa & Thiết bị bay Với cách đặt biến ở các biểu thức (3) theo [2] hệ phương trình trạng thái mô tả chuyển động của UAV tri-rotors có dạng sau:  I 2  I3 k 3  [ x8 x9  t (u2  u3 )   I1 2 I1   k 3L   f (u5  u6 )]   2 I1     I  I k  p   x7  [  3 1 x7 x9  t (2u1  u2  u3 )   I 2 I   ω X    q    x8    2 2  (15) 3     kfl  r   x9     2 I (2u4  u5  u6 )]  2    I1  I 2 kt  [ I x7 x8  I (u4  u5  u6 )  3 3    kfl   (u1  u2  u3 )]   I3  [ x x   9 11 8 12 x x  g s( x6 ) s( x4 )  gc ( x6 ) c ( x4 ) s( x5 )     kf 3    2m (u2  u3 )]    u   x10  [ x7 x12  x9 x10  gc( x4 ) s ( x6 )  gc( x6 ) s ( x4 ) s ( x5 )    υ  v    x    X  (16) 4    11   k f 3 u2 u3     x12    w  ( u 1   ] m 2 2  [ x x  x x  gc( x )c( x )   8 10 7 11 6 5   kf    (u4 +u5 +u6 )]   m  Trong đó, kf là hằng số lực đẩy giống hệt nhau cho cả 3 động cơ cánh quạt; I1, I2, I3 là ma trận mô men quán tính của tri-rotors theo ba trục x, y z. Hai hệ phương trình trạng thái (15) và (16) tiếp tục được biểu diễn được viết dưới dạng sau:   F (X )  B U X (17) 3 3 3 3   F (X , X , X )  B U X (18) 4 4 2 3 4 4 Trong đó:  I 2  I3   x8 x9  I  f 31 ( X3 )   1     I 3  I1  F3 ( X3 )   f 32 ( X3 )    x7 x9  (19) I  f 33 ( X3 )   2   I1  I 2   x7 x8   I3  6 Đ. V. Thành, …, Đ. T. Trung, “ Xây dựng thuật toán … lý thuyết điều khiển trượt.”
  5. Nghiên cứu khoa học công nghệ  k 3l kt 3l k f 3l k f 3l  0  t 0    2 I1 2 I1 2 I1 2 I1   kl kt l kt l kfl kfl kfl  B3    t   (20)  I2 2I 2 2I 2 I2 2I2 2I2    kfl kfl kfl kt kt kt   I3 I3 I3 I3 I3 I 3   Với kt là hằng số mô men cản  f 41 ( X 2 , X3 , X 4 )  F4 ( X 2 , X3 , X 4 )   f 42 ( X 2 , X3 , X 4 )  (21)  f 43 ( X 2 , X3 , X 4 )  f 41 ( X 2 , X3 , X 4 )  x9 x11  x8 x12  g s( x6 ) s( x4 )  gc( x6 )c( x4 ) s( x5 ) (22) f 42 ( X 2 , X3 , X 4 )  x7 x12  x9 x10  gc( x4 ) s ( x6 )  gc( x6 ) s ( x4 ) s ( x5 ) (23) f 43 ( X 2 , X3 , X 4 )  x8 x10  x7 x11  gc( x6 )c( x5 ) (24)  k 3 kf 3  0  f 0 0 0   2m 2m  k 3 kf 3 kf 3   f   0 0 0  B4   m 2m 2m  (25)      kf kf kf   0 0 0 m m m  Trong đó: m là khối lượng tri-rotors Kết hợp các hệ phương trình (3), (4), (17), (18) có hệ đầy đủ mô tả quá trình điều khiển Tri-rotors như sau:   F (X , X ) X  1 1 2 4   X  F (X , X ) 2 2 2 3    F (X )  B U  (26) X 3 3 3 3    F (X , X , X )  B U  X 4 4 2 3 4 4  Từ hệ phương trình (26) cho thấy, hệ phương trình mô tả quá trình điều khiển Tri- rotors là hệ phi tuyến có cấu trúc affine. Sai số giữa vị trí tâm khối Tri-rotors và tư thế của nó so với tham số đặt (tham số theo yêu cầu-tùy theo bài bay của Tri-rotors) được ký hiệu là e : Tạp chí Nghiên cứu KH&CN quân sự, Số 67, 6 - 2020 7
  6. Tên lửa & Thiết bị bay  x  x d   x1  x1d   d   d   y  y   x2  x2  T  z  z d   x  xd  e  ( X1  X1d )T ( X 2  X d2 )T    3 3 (27)      x4  x4d  d  d   d       x5  x5    d   d    x6  x6  Để xây dựng luật điều khiển theo lý thuyết điều khiển trượt, ta xây dựng mặt trượt như sau: s  [s1 s 2 s3 s 4 s5 s6 ]T  e  e  0 (28) Mặt trượt thể hiện mục đích điều khiển là dẫn UAV tri-rotors về tọa độ và tư thế mong muốn với tốc độ sai lệch cũng tiệm cận tới giá trị không (0). Cần tổng hợp véc tơ điều khiển U để hệ động học được mô tả bởi các phương trình (26) tiến về mặt trượt. Xây dựng hàm Lyapunov: 1 V  sT s (29) 2 Theo [2] đối với mặt trượt dừng thì trạng thái hệ động học tiến về mặt trượt khi véc tơ điều khiển U phải tạo ra được: V  sT s  0, khi s  0 (30) Từ (28) có: s  e   e (31) Trong thực tế đối với UAV tri-rotors các giá trị đặt thường là các tham số dừng (không biến đổi theo thời gian), tức là: x d  0 ; y d  0 ; z d  0 ; d  0 ;  d  0 ;  d  0 (32) Vậy từ (31) và (32) có:  x  x d   x   x1   d       y  y   y   x2   z  z d   z   x  e         3 (33)        x4  d             x5  d    d     x6       Đối chiếu (33) với (27), (26) với điều kiện (32) nhận được: X    RX  e      1 4  (34)   X 2   X3  8 Đ. V. Thành, …, Đ. T. Trung, “ Xây dựng thuật toán … lý thuyết điều khiển trượt.”
  7. Nghiên cứu khoa học công nghệ Trong giai đoạn điều khiển ổn định UAV tri-rotor, các ma trận R ,  dao động xung quanh giá trị đặt nên:   de  RX  e  4 (35) dt  X  3 Thay X ở (35) bằng vế phải phương trình thứ 3 của hệ (26), thay X  ở (35) bằng vế 4 3 phải phương trình thứ 4 của hệ (26), khi đó, phương trình (35) sẽ có dạng:    R (F ( X , X , X )  B U )  de  RX  e  4  4 2 3 4 4  (36)  dt  X3    (F3 ( X3 )  B3 U)  Từ (31), (34) và (36) sẽ có:  RX 4   R (F4 ( X 2 , X3 , X 4 )  B4 U)  s  e   e    X3    (F3 ( X3 )  B3 U)  (37)  R( X 4  F4 ( X 2 , X3 , X 4 )  B4 U)      ( X3  F3 ( X3 )  B3 U)  Véc tơ điều khiển U được phân chia thành hai thành phần: U  U eq  UT (38) Trong đó, U eq được xác định sao cho: X 4  F4 ( X 2 , X3 , X 4 )  B4 U eq  0 (39) X3  F3 ( X3 )  B3 U eq  0 (40) Còn UT được xác định sao cho:  s g n ( s1 )     sg n ( s2 )   R B4U T   R B4   sgn (s )  3 (41)     UT   k .s g n ( s )   k     B3U T   B3   sg n ( s4 )     s g n ( s5 )   s g n ( s 6 )  Trong đó, k là số dương tùy chọn. Việc cho véc tơ điều khiển thỏa mãn các hệ phương trình (38), (39), (40) và (41) thì khi này, theo (37) sẽ là:  s g n ( s1 )   sgn (s )  2   sg n ( s3 )  (42) s   k    sg n (s4 )   sgn (s )  5    s g n ( s 6 )  Tạp chí Nghiên cứu KH&CN quân sự, Số 67, 6 - 2020 9
  8. Tên lửa & Thiết bị bay Lúc này, hàm V theo (30) sẽ là:  s g n ( s1 )   sgn (s )  2   sg n ( s3 )  (43) V  s T s   k .[ s 1 s 2 s 3 s 4 s 5 s6 ]    sgn (s4 )  sgn (s )  5    s g n ( s 6 )   Triển khai phép nhân vô hướng hai véc tơ ở biểu thức (43) có: V  k ( s1.sgn( s1 )  s2 .sgn( s2 )  s3 .sgn( s3 )  s4 .sgn( s4 )  s5 .sgn( s5 )  s6 .sgn( s6 )) (44) Vì si .sgn( si ) luôn là số dương và k là số dương tùy chọn, do vậy, hàm số V sẽ luôn luôn là số âm. Điều này có nghĩa, trạng thái hệ động học luôn nằm trên mặt trượt hoặc tự động tiến về mặt trượt khi bị lệch ra khỏi mặt trượt, tức là tâm khối của UAV tri-rotors và tư thế của nó tự động bám sát vị trí và tư thế đặt. Tiếp tục triển khai việc xác định U eq và UT . Coi U eq và UT là ẩn số cần tìm. Từ hai hệ phương trình (39) và (40) có thể xây dựng hệ phương trình mở rộng như sau:  B4   ( X 4  F4 ( X 2 , X3 , X 4 ))   B  U eq   ( X  F ( X ))  (45)  3  3 3 3  Vì ma trận B4 và ma trận B3 là các ma trận không vuông kích thước (3x6). Dễ dàng nhận thấy ma trận mở rộng:  B4  B  (46)  B3  sẽ là ma trận vuông kích thước (6x6). Phương trình (44) là hệ phương trình tuyến tính, sẽ có nghiệm khi ma trận B không suy biến:  ( X 4  F4 ( X 2 , X3 , X 4 ))  U eq  B 1   (47)  ( X3  F3 ( X3 ))  Vì ma trận R và ma trận  là các ma trận kích thước (3x3), còn ma trận B4 và ma trận B3 là các ma trận kích thước (3x6). Dễ dàng nhận thấy ma trận:  RB4  Φ  (48)  B3  sẽ là ma trận vuông kích thước (6x6) và từ phương trình (41) có lời giải sau:   k .sgn( s1 )    k .sgn( s )   2    k .sgn ( s ) (49) 3 U T  Φ 1     k .sgn( s4 )    k .sgn( s )  5     k .sgn( s6 )  10 Đ. V. Thành, …, Đ. T. Trung, “ Xây dựng thuật toán … lý thuyết điều khiển trượt.”
  9. Nghiên cứu khoa học công nghệ Như vậy, các công thức (38), (47) và (49) chính là luật điều khiển trượt để đưa UAV tri-rotors bám theo các tham số đặt (vị trí tâm khối và tư thế). Thành phần lệnh điều khiển theo (46) là thành phần duy trì trạng thái nằm trên mặt trượt, còn thành phần điều khiển theo (48) chính là thành phần đưa trạng thái về mặt trượt khi có hiện tượng bị chệch ra khỏi mặt trượt. Trên hình 4 là các đồ thị kết quả mô phỏng trên Matlab-simulink. Hình 4. Kết quả mô phỏng bám tư thế và quỹ đạo đặt của UAV tri-rotors. 3. KẾT LUẬN Điều khiển trượt khác với điều khiển backstepping việc chọn hệ số sẽ đơn giản (chỉ cần chọn một số dương). Tuy nhiên, độ lớn của hệ số này cũng cần chú ý để đạt yêu cầu về quá trình qúa độ. Qua kết quả mô phỏng cho thấy, lệnh điều khiển UAV tri-rotors dựa trên giải pháp trượt đảm bảo quỹ đạo và tư thế bám theo quỹ đạo đặt và có tính kháng nhiễu. Tuy nhiên, để hiện thực hóa giải pháp này trên UAV tri-rotors cần có các thiết bị đo và bộ phận xử lý thông tin đáp ứng yêu cầu xây dựng luật điều khiển dạng trượt theo công thức (49). TÀI LIỆU THAM KHẢO [1]. Đặng Văn Thành, Trần Đức Thuận. “Xây dựng mô hình điều khiển chuyển động dạng affine cho UAV tri-rotors (UAV tpi-rotors motion control model)”. Tạp chí Nghiên cứu khoa học và công nghệ quân sự, Số 66, 4-2020. [2]. Đặng Văn Thành, Trần Đức Thuận, “Ứng dụng giải thuật backstepping xây dựng thuật toán điều khiển chuyển động cho UAV dạng tri-rotors”. Tạp chí Nghiên cứu KH-CNQS. Tạp chí Nghiên cứu KH-CNQS, số đặc san, 4/2019, 152-163. [3]. Hoàng Quang Chính, Nguyễn Công Toàn. “Nghiên cứu xây dựng mô hình toán và mô phỏng UAV tri-rotors”. Hội nghị toàn quốc lần thứ 2 về điều khiển và Tự động hóa- VCCA-2013. [4]. Nguyễn Đình Quân, Hoàng Quang Chính. “Thiết kế bộ điều khiển vị trí cho quadrotor bằng phương pháp trượt”. Hội nghị toàn quốc lần thứ 5 về điều khiển và Tự động hóa-VCCA-2019. Tạp chí Nghiên cứu KH&CN quân sự, Số 67, 6 - 2020 11
  10. Tên lửa & Thiết bị bay [5]. Sai Khun Sai, Hla Myo Tun, “Modeling and Analysis of Tri-Copter (VTOL) Aircraft”, 2015. ABSTRACT BUILDING THE OPERATION OF DETERMINING THE CONTROL LAW FOR TRI-ROTORS UAV ON THE BASIS OF THE APPLICATION OF SLIDING CONTROL THEORY The paper presents a sliding mode control solution for tri-rotors UAV to follow the reguired trajectory and posture. The sliding mode control laws are resistant to interference and ensure the required tracking accuracy even if there are parameter errors in the model describing tri-rotors UAV. Keywords: Tri-rotors UAV; Sliding control. Nhận bài ngày 23 tháng 4 năm 2020 Hoàn thiện ngày 07 tháng 5 năm 2020 Chấp nhận đăng ngày 12 tháng 6 năm 2020 Địa chỉ: 1Viện Khoa học và Công nghệ quân sự; 2 Học viện Kỹ thuật quân sự; 3 Đại học Điện lực. * Email: thanhdv051975@gmail.com. 12 Đ. V. Thành, …, Đ. T. Trung, “ Xây dựng thuật toán … lý thuyết điều khiển trượt.”
nguon tai.lieu . vn