intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Ứ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-rotor

Chia sẻ: ViColor2711 ViColor2711 | Ngày: | Loại File: PDF | Số trang:12

54
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết trình bày việc phân tích và biến đổi mô hìmh động học Tri-rotor khi xây dựng mô hình hệ điều khiển dưới dạng affine để giúp cho việc ứng dụng lý thuyết điều khiển hiện đại tổng hợp luật điều khiển Tri-rotor.

Chủ đề:
Lưu

Nội dung Text: Ứ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-rotor

Nghiên cứu khoa học công nghệ<br /> <br /> ỨNG DỤNG GIẢI THUẬT BACKSTEPPING<br /> XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN CHUYỂN ĐỘNG CHO<br /> UAV DẠNG TRI-ROTORS<br /> Đặng Văn Thành*, Trần Đức Thuận<br /> Tóm tắt: Trình bày việc phân tích và biến đổi mô hìmh động học Tri-rotor khi<br /> xây dựng mô hình hệ điều khiển dưới dạng affine để giúp cho việc ứng dụng lý thuyết<br /> điều khiển hiện đại tổng hợp luật điều khiển Tri-rotor.<br /> Từ khóa: UAV; Tri-rotor; Affine.<br /> <br /> 1. MỞ ĐẦU<br /> Máy bay không người lái UAV dạng Tri-rotors là một chủng loại UAV có<br /> cấu tạo đơn giản, xong điều khiển nó lại có tính phức tạp hơn so với các chủng loại<br /> UAV khác. Trong các công trình [1,2] đã xây dựng mô hình động học cho chuyển<br /> động của Tri-rotors. Trong công trình [3] nhóm tác giả đã đưa hệ phương trình mô<br /> tả quá trình điều khiển bay Tri-rotors về dạng affine. Trong công trình này chúng<br /> tôi sẽ áp dụng lý thuyết điều khiển Backstepping để tổng hợp lệnh điều khiển<br /> chuyển động cho UAV dạng Tri-rotors.<br /> 2. XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN<br /> CHUYỂN ĐỘNG TRI-ROTORS<br /> Trên các hình từ H.1 đến H.3 mô tả UAV dạng Tri-rotor và các hệ tọa độ<br /> dùng để khảo sát chuyển động của Tri-rotor trong không gian.<br /> <br /> <br /> <br /> <br /> Hình 1. Mô hình của Tri- Hình 2. Hệ tọa độ sử dụng Hình 3. Góc nghiêng<br /> rotors. trong mô hình toán UAV. động cơ cánh quạt.<br /> Trong [3] đã xây dựng mô hình mô tả chuyển động cho tri-rotors theo quan<br /> điểm điều khiển với các tham số đặc trưng sau:<br />  x   x1     x4 <br /> X 1     y    x2  ; X 2        x5 <br />     (1a)<br />  z   x3     x6 <br />  p   x7  u   x10 <br /> X 3     q    x8  ; X 4    v    x11 <br />     (1b)<br />  r   x9   w   x12 <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 152<br /> Tên lửa & Thiết bị bay<br /> <br /> Trong đó  là véc tơ vận tốc tâm khối Tri-rotors trong hệ tọa độ mặt đất; <br /> là véc tơ tốc độ quay của Tri-rotors với các thành phần p, q, r ;  ,  ,  là ba góc<br /> tư thế của Tri-rotors so với hệ tọa độ mặt đất; x , y , z là tọa độ tâm khối Tri-<br /> rotors trong hệ tọa độ mặt đất. Hệ phương trình mô tả chuyển động tâm khối và<br /> chuyển động quay được đưa về dạng affine như sau:<br /> X  RX 1 4 (2)<br /> X 2  X 3 (3)<br /> X 3  F3 ( X 3 )  B3U (4)<br /> X 4  F4 ( X 2 , X 3 , X 4 )  B4U (5)<br /> trong đó:<br />  s ( x4 )c( x5 ) s ( x5 )  s ( x4 )c( x5 ) <br /> 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 )  (6)<br /> <br /> c( x4 ) s ( x5 ) s ( x6 )  s ( x4 ) s ( x6 )  c( x5 ) s ( x6 ) s ( x4 ) s ( x5 ) s ( x6 )  c( x4 )c( x6 ) <br /> <br />  I 2  I3 <br />  x8 x9 <br /> I<br />  s ( x5 )c( x4 ) s ( x5 ) s ( x4 ) c( x5 )   f 31 ( X 3 )   1 <br /> 1   I  I <br />    c( x5 ) s ( x4 ) c( x5 )c( x4 ) 0  ; F3 ( X 3 )   f 32 ( X 3 )    3 1 x7 x9  (7)<br /> x5 I<br />  c( x4 ) s ( x4 ) 0   f 33 ( X 3 )   2 <br />  I1  I 2 <br />  x7 x8 <br />  I3 <br />  f 41 ( X 2 , X 3 , X 4 ) <br /> F4 ( X 2 , X 3 , X 4 )   f 42 ( X 2 , X 3 , X 4 )  (8)<br />  f 43 ( X 2 , X 3 , X 4 ) <br /> f 41 ( X 2 , X 3 , X 4 )  x9 x11  x8 x12  g s( x6 ) s( x4 )  gc( x6 )c( x4 ) s( x5 ) (9)<br /> f 42 ( X 2 , X 3 , X 4 )  x7 x12  x9 x10  gc( x4 ) s ( x6 )  gc( x6 ) s ( x4 ) s ( x5 ) (10)<br /> f 43 ( X 2 , X 3 , X 4 )  x8 x10  x7 x11  gc( x6 )c( x5 ) (11)<br /> <br />  k 3l k f 3l <br /> 0 0 0 0  f <br />  2 I1 2 I1 <br />  k l kfl kfl <br /> B3   0 0 0  f  (12)<br />  I2 2I2 2I2 <br />  <br /> kfl kfl kfl 0 0 0 <br />  I3 I3 I3 <br />  <br /> <br /> <br /> <br /> <br /> 153 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br /> Nghiên cứu khoa học công nghệ<br /> <br />  k 3 kf 3 <br /> 0  f 0 0 0 <br />  2m 2m <br /> k 3 k 3 kf 3 <br />  f  f  0 0 0 <br /> B4   m 2m 2m  (13)<br />  <br />  <br />  kf kf kf <br />  0 0 0<br /> m m m <br /> 2<br /> u1  1 sin(1 ) <br /> u   2 sin( ) <br />  2  2 2 <br /> <br /> u3  3 sin( 3 ) <br />  2<br /> <br /> U   2  (14)<br />  4  1 cos (1 ) <br /> u <br /> u   2 <br />  5  2 cos ( )<br /> 2 <br />  <br /> u6  3 cos ( 3 ) <br /> 2<br /> <br /> <br /> Ở đây c(.) , s (.) là hàm số cos (.) và sin(.) ; I1 , I 2 , I 3 -mô men quán tính của<br /> Tri-rotors theo các trục 1, trục 2, trục 3; l -khoảng cách từ tâm cánh quạt đến tâm<br /> Tri-rotors; 1 , 2 , 3 -tốc độ quay cánh quạt Tri-rotors; k f -hệ số tỉ lệ thể hiện<br /> quan hệ giữa lực tạo ra của một cánh quạt với tốc độ quay của cánh quạt, tức là:<br /> Fi  k f i2 , i  1, 2, 3 (15)<br /> Ở đây coi ba cánh quạt tương đương nhau, nên các hệ số tỉ lệ bằng nhau. Vì vậy<br /> hệ số k f dùng chung cho cả 3 cánh quạt; m -khối lượng Tri-rotors; các góc 1 ,<br />  2 ,  3 là ba góc nghiêng của động cơ cánh quạt, có ba động cơ điện để thay đổi<br /> các góc này. Để thay đổi các thành phần U1, U2, U3, U4, U5, U6 của véc tơ điều<br /> khiển U có thể thay đổi ba góc nghiêng này cùng với tốc độ quay 1 , 2 , 3 của ba<br /> cánh quạt.<br /> Việc điều khiển ở đây chính là xác định quy luật thay đổi véc tơ U để tâm khối<br /> và tư thế Tri-rotors bám theo quy luật mong muốn, tức là làm cho X 1 và X 2 bám<br /> theo véc tơ đặt trước X 1d , X 2d , tức là:<br /> X 1  X 1d ; X 2  X 2d hoặc ( X 1  X 1d )  0 ; ( X 2  X 2d )  0 (16)<br /> Với cách đặt biến như (1a), (1b) và từ các biểu thức (2), (3), (4), (5), (6), (7) cho<br /> thấy: hệ động học (2) và (3) không phụ thuộc trực tiếp vào véc tơ điều khiển U ,<br /> mà phụ thuộc vào hai véc tơ trạng thái X 4 và X 3 của hai hệ động học sau. Từ đặc<br /> điểm này cho phép sử dụng giải thuật backstepping để tổng hợp lệnh điều khiển<br /> U sao cho đạt yêu cầu (16).<br /> Hai phương trình (2), (3) có thể được viết dưới dạng véc tơ mở rộng sau:<br /> <br />  X 1   0 R( X 2 )   X 3 <br />       (17)<br />  X 2    ( X 2 ) 0   X 4 <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 154<br /> Tên lửa & Thiết bị bay<br /> <br /> ở đây 0 là ma trận kích thước (3 X 3) với tất cả phần tử đều băng 0 . Từ (17) cho<br /> tấy véc tơ trạng thái ( X 3 X 4 )T có thể coi là véc tơ điều khiển (véc tơ đầu vào) của<br /> hệ động học (17). Định nghĩa véc tơ sai lệch bám như sau:<br />  Z11   X 1   X 1d <br /> Z1   2       d  , tức là: Z11   X 1  X 1d  , Z12   X 2  X 2d  (18)<br />  Z1   X 2   X 2 <br /> Tiến hành phép lấy đạo hàm đối với véc tơ sai lệch bám Z1 nhận được:<br /> <br />  X 1   X 1d   0 R( X 2 )   X 3   X 1d <br /> <br /> Z1      d        (19)<br />   0   X 4   X 2d <br />  X 2   X 2    ( X 2 )<br /> Đặt điều khiển ảo  kích thước (4X1) như sau:<br />  <br />   1 (20)<br /> 2 <br /> Véc tơ sai lệch vec tơ điều khiển ảo khi đó sẽ là:<br />  X3   X 3   <br /> Z2           1  (21)<br /> X4   X 4  2 <br /> Khi đó véc tơ điều khiển ảo sẽ được tính như sau:<br />    X  X   <br />    1    3   Z2 ;  3     Z2   1   Z2 (22)<br /> 2   X 4  X4  2 <br /> Xây dựng hàm Lyapunov cho hệ động học (19) như sau:<br /> 1<br /> V1  Z1T Z1 (23)<br /> 2<br /> Tiến hành phép lấy đạo hàm theo biến thời gian đối với hàm V1 có:<br />  X 1   X 1d <br /> V1  Z1T Z1  Z1T (     d  ) (24)<br />  X 2   X 2 <br /> Thay đạo hàm Z1 bằng vế phải biểu thức (19) nhận được:<br /> <br />  0 R( X 2 )   X 3   X 1d <br /> V1  Z1T (        ) (25)<br />   ( X 2 ) 0   X 4   X 2d <br /> Không thay đổi giá trị V1 khi thêm và bớt vào biểu thức (25) véc tơ c1Z1 (trong<br /> đó c1 là hằng số dương được chọn):<br /> <br />  T<br />  0 R( X 2 )   X 3   X 1d <br /> V1  Z1 (c1Z1  c1Z1         ) (26)<br />   ( X 2 ) 0   X 4   X 2d <br /> Thay véc tơ ( X 3 X 4 )T tính theo biểu thức (22) vào (26) và triển khai tiếp<br /> nhận được:<br /> <br /> <br /> 155 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br /> Nghiên cứu khoa học công nghệ<br /> <br />  0 R( X 2 )   X 1d <br />  T T<br /> V1  c Z Z1  Z (c1Z1     (Z 2   )   d )<br /> 1 1 1<br /> <br />   ( X 2 ) 0   X 2 <br /> <br /> T T<br />  0 R( X 2 ) <br />  c1Z1 Z1  Z1    Z2 (27)<br />   ( X 2 ) 0 <br /> <br /> T<br />  0 R( X 2 )   X 1d <br />  Z1 (c1Z1        d )<br />   ( X 2 ) 0   X 2 <br /> Nếu điều khiển ảo  được xác định sao cho véc tơ thứ hai trong tích của số<br /> hạng thứ ba ở vế phải (27) bằng 0, tức là:<br /> <br />  0 R( X 2 )   X 1d <br /> c1Z1      d 0 (28)<br /> <br />   ( X 2 ) 0   X 2 <br /> hoặc:<br /> <br />  0 R( X 2 )   X 1d <br />       d   c1Z1 (29)<br /> <br />   ( X 2 ) 0   X 2 <br /> thì:<br /> <br />  0 R( X 2 ) <br /> V1  c1Z1T Z1  Z1T    Z2 (30)<br />   ( X 2 ) 0 <br /> Triển khai phương trình (29) với cách phân chia biến theo biểu thức (18), (20) có:<br /> R( X 2 )  2  X 1d  z11 (31)<br />  ( X )   X  z<br /> 2 1 2<br /> d<br /> 1<br /> 2<br /> (32)<br /> Vậy điều khiển ảo được xác định như sau:<br /> 1   1 ( X 2 )( X 2d  z12 )  1    ( X 2 )( X 2  z1 ) <br /> 1 d 2<br /> <br /> ;   <br />     1  (33)<br />  2  R 1 ( X 2 )( X 1d  z11 )  2   R ( X 2 )( X 1  z1 ) <br /> d 1<br /> <br /> <br /> Tiếp tục xây dựng hệ động học cho sai lệch vec tơ điều khiển ảo:<br />  X 3 <br /> Z 2      (34)<br /> <br />  X 4 <br /> Xây dựng hàm Lyapunov cho cả hai hệ động học (19) và (34) như sau:<br /> 1<br /> V2  V1  Z 2T Z 2 (35)<br /> 2<br /> Tiến hành phép lấy đạo hàm theo biến thời gian đối với hàm V2 có:<br /> V  V  Z T Z<br /> 2 1 2 2 (36)<br /> Thay V1 bằng vế phải phương trình (30), thay Z 2 bằng vế phải phương trình<br /> (34) vào phương trình (36) nhận được:<br /> <br />  0 R( X 2 )   X 3 <br /> V2  c1Z1 Z1  Z1    Z 2  Z 2 (     )<br /> T T T<br /> (37)<br /> <br />   ( X 2 ) 0   X 4 <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 156<br /> Tên lửa & Thiết bị bay<br /> <br /> Không thay đổi giá trị V2 khi thêm và bớt vào biểu thức (37) véc tơ c2 Z 2 (trong<br /> đó c2 là hằng số dương được chọn) nhận được:<br /> <br />  0 R( X 2 )   X 3 <br /> V2  c1Z1 Z1  Z1    Z 2  Z 2 (c2 Z 2  c2 Z 2      )<br /> T T T<br /> <br />   ( X 2 ) 0   X 4 <br />  (38)<br />  0 R ( X )   X <br />   Z 2  Z 2 (c2 Z 2      )<br /> 2 3<br />  c1Z1T Z1  c2 Z 2T Z 2  Z1T  T<br /> <br />   ( X 2 ) 0  <br />  X 4 <br /> Thay véc tơ ( X X )T trong biểu tức (38) bằng vế phải hai phương trình (4) và<br /> 3 4<br /> <br /> (5) nhận được:<br /> <br />  0 R( X 2 ) <br /> V2  c Z Z1  c2 Z Z 2  Z <br /> T<br /> 1 1<br /> T<br /> 2<br /> T<br /> 1   Z2<br />   ( X 2 ) 0 <br /> (39)<br />  F 3 ( X 3 )  B 3U  <br />  Z 2T (c2 Z 2     )<br /> F (<br />  4 2 3 4X , X , X )  B U<br /> 4 <br /> <br /> Nếu chọn véc tơ điều khiển U sao cho:<br />  F3 ( X 3 )  B3U  <br /> (c2 Z 2     )  0 (40)<br />  F4 ( X 2 , X 3 , X 4 )  B4U <br /> thì phương trình (39) sẽ có dạng sau:<br /> <br />  0 R( X 2 ) <br /> V2  c1Z1T Z1  c2 Z 2T Z 2  Z1T    Z2<br />   ( X 2 ) 0 <br />  (41)<br />  0 R ( X 2 ) <br />  (c1Z1T Z1  c2 Z 2T Z 2  Z1T    Z2 )<br />   ( X 2 ) 0 <br /> Có thể chứng minh bổ đề sau:<br /> <br />  0 R( X 2 ) <br /> Bổ đề: Với bất kỳ ma trận    đều có thể chọn được hai hệ số<br />   ( X 2 ) 0 <br /> c1  0, c2  0 để hàm số:<br /> <br />  0 R( X 2 ) <br /> y  y ( Z1 , Z 2 )  (c1Z1T Z1  c2 Z 2T Z 2  Z1T    Z2 ) (42)<br />   ( X 2 ) 0 <br /> luôn luôn dương, tức là V luôn luôn âm:<br /> 2<br /> <br /> V2  0 (43)<br /> Chứng minh: Ký hiệu các phần tử của hai véc tơ Z1 và Z 2 như sau:<br /> Z1  ( z1(1) z2(1) z3(1) z4(1) z5(1) z6(1) )T ; Z 2  ( z1(2) z2(2) z3(2) z4(2) z5(2) z6(2) )T (44)<br /> Tiếp tục ký hiệu các phấn tử cúa hai ma trận R( X 2 ) và  ( X 2 ) như sau:<br /> <br /> <br /> 157 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br /> Nghiên cứu khoa học công nghệ<br /> <br />  r11 r12 r13   11 12 13 <br /> R( X 2 )   r21 r22 r23  ;  ( X 2 )    21  22  23 <br />   (45)<br />  r31 r32 r33    31  32  33 <br /> Tiến hành các phép nhân vô hướng các véc tơ trong biểu thức (42) nhận được:<br /> 1  c1Z1T Z1  c1 z1(1)<br /> 2 2<br />  c1 z2(1) 2<br />  c1 z3(1) 2<br />  c1 z4(1) 2<br />  c1 z5(1) 2<br />  c1 z6(1) (46)<br /> 2  c2 Z 2T Z 2  c2 z1(2)<br /> 2 2<br />  c2 z2(2) 2<br />  c2 z3(2) 2<br />  c2 z4(2) 2<br />  c2 z5(2) 2<br />  c2 z6(2) (47)<br /> <br /> 0 0 0 r11 r12 r13   z1(2)   r11 z4(2)  r12 z5(2)  r13 z6(2) <br /> 0 0 0 r r r   z   r z  r z  r z <br />  21 22 23   2(2)   21 4( 2) 22 5(2) 23 6(2) <br />     <br />  0 R( X 2 )  0 0 0 r31 r32 r33  3(2) z r z<br /> 31 4(2)  r z<br /> 32 5(2)  r z<br /> 33 6(2)<br />    Z2        <br />   ( X 2 ) 0   <br />  11 12 13  0 0 0  z<br />  4(2)    z<br /> 11 1(2)   z<br /> 12 2(2)   z<br /> 13 3(2)<br /> <br />    0 0 0  z    <br /> 21 22 23     21 z1(2)   22 z2(2)   23 z3(2) <br />   5(2)<br />    <br />   31  32  33 0 0 0   z6(2)    31 z1(2)   32 z2(2)   33 z3(2) <br /> Khi đó:<br />  <br />  0 R ( X 2 )   0 R( X 2 ) <br /> Z1T    Z 2  ( z1(1) z2(1) z3(1) z4(1) z5(1) z6(1) )    Z2<br />   ( X 2 ) 0    ( X 2 ) 0 <br />  r11 z4(2)  r12 z5(2)  r13 z6(2) <br />  <br />  r21 z4(2)  r22 z5(2)  r23 z6(2)  (48)<br /> r z  r z  r z <br /> 31 4(2) 32 5(2) 33 6(2)<br />  ( z1(1) z2(1) z3(1) z4(1) z5(1) z6(1) )  <br /> 3<br />  11 z1(2)  12 z2(2)  13 z3(2) <br />  <br />   21 z1(2)   22 z2(2)   23 z3(2) <br />  z   z   z <br />  31 1(2) 32 2(2) 33 3(2) <br /> <br /> Triển khai (48) có:<br /> 3  r11 z1(1) z4(2)  r12 z1(1) z5(2)  r13 z1(1) z6(2)  r21 z2(1) z4(2)  r22 z2(1) z5(2)<br />  r23 z2(1) z6(2)  r31 z3(1) z4(2)  r32 z3(1) z5(2)  r33 z3(1) z6(2)  11 z4(1) z1(2)<br /> (49)<br />  12 z4(1) z2(2)  13 z4(1) z3(2)   21 z5(1) z1(2)   22 z5(1) z2(2)   23 z5(1) z3(2)<br />   31 z6(1) z1(2)   32 z6(1) z2(2)   33 z6(1) z3(2)<br /> Dễ dàng nhận thấy hàm số y sẽ có dạng sau:<br /> y  y ( Z1 , Z 2 )  1   2  3 (50)<br /> Hai hằng số dương c1 , c2 có thể tách thành các thành phần sau:<br /> c1  c11  c12  c13 ; c2  c21  c22  c23 (51)<br /> Trong đó: c11 , c12 , c13 , c21 , c22 , c23 cũng là các hằng số dương. Thay các hằng<br /> số theo biểu thức (51) vào (46), (47) nhận được:<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 158<br /> Tên lửa & Thiết bị bay<br /> <br /> 1  c1Z1T Z1  c11 z1(1)<br /> 2 2<br />  c12 z1(1) 2<br />  c13 z1(1) 2<br />  c11 z2(1) 2<br />  c12 z2(1) 2<br />  c13 z2(1)<br /> 2 2 2 2 2 2<br />  c11 z3(1)  c12 z3(1)  c13 z3(1)  c11 z4(1)  c12 z4(1)  c13 z4(1) (52)<br /> 2 2 2 2 2 2<br />  c11 z5(1)  c12 z5(1)  c13 z5(1)  c11 z6(1)  c12 z6(1)  c13 z6(1)<br /> 2  c2 Z 2T Z 2  c21 z1(2)<br /> 2 2<br />  c22 z1(2) 2<br />  c23 z1(2) 2<br />  c21 z2(2) 2<br />  c22 z2(2) 2<br />  c23 z2(2)<br /> 2 2 2 2 2 2<br />  c21 z3(2)  c22 z3(2)  c23 z3(2)  c21 z4(2)  c22 z4(2)  c23 z4(2) (53)<br /> 2 2 2 2 2 2<br />  c21 z5(2)  c22 z5(2)  c23 z5(2)  c21 z6(2)  c22 z6(2)  c23 z6(2)<br /> Nhóm các số hạng trong ba tổng 1 ,  2 , 3 theo cụm gồm ba số hạng, theo quy<br /> tắc sau: trong mỗi nhóm đều có các số hạng của ba tổng trên, ngoài ra số hạng<br /> thuộc tổng 3 chứa các phần tử của hai nhóm 1 ,  2 . Khi đó hàm số y ( Z1 , Z 2 )<br /> được thể hiện lại như sau:<br /> 2 2 2 2<br /> y ( Z1 , Z 2 )  (c11 z1(1)  r11 z1(1) z4(2)  c21 z4(2) )  (c12 z1(1)  r12 z1(1) z5(2)  c21 z5(2) )<br /> 2 2 2 2<br />  (c13 z1(1)  r13 z1(1) z6(2)  c21 z6(2) )  (c11 z2(1)  r21 z2(1) z4(2)  c22 z4(2) )<br /> 2 2 2 2<br />  (c12 z2(1)  r22 z2(1) z5(2)  c22 z5(2) )  (c13 z2(1)  r23 z2(1) z6(2)  c22 z6(2) )<br /> 2 2 2 2<br />  (c11 z3(1)  r31 z3(1) z4(2)  c23 z4(2) )  (c12 z3(1)  r32 z3(1) z5(2)  c23 z5(2) )<br /> 2 2 2 2<br />  (c13 z3(1)  r33 z3(1) z6(2)  c23 z6(2) )  (c11 z4(1)  11 z4(1) z1(2)  c21 z1(2) ) (54)<br /> 2<br />  (c12 z4(1)  12 z4(1) z2(2)  c21 z2(2 2) )  (c13 z4(1)<br /> 2 2<br />  13 z4(1) z3(2)  c21 z3(2) )<br /> 2 2 2 2<br />  (c11 z5(1)   21 z5(1) z1(2)  c22 z1(2) )  (c12 z5(1)   22 z5(1) z2(2)  c22 z2(2) )<br /> 2 2 2 2<br />  (c13 z5(1)   23 z5(1) z3(2)  c22 z3(2) )  (c11 z6(1)   31 z6(1) z1(2)  c23 z1(2) )<br /> 2 2 2 2<br />  (c12 z6(1)   32 z6(1) z2(2)  c23 z2(2) )  (c13 z6(1)   33 z6(1) z3(2)  c23 z3(2) )<br /> Dễ dàng nhận thấy 18 nhóm trong biểu thức (54) có cấu trúc giống nhau, và có<br /> dạng sau:<br /> y1  c1 z12  rz1 z2  c2 z22 (55)<br /> Vì c1 , c2 là các số dương nên biểu thức (55) có thể viết như sau:<br /> y1  ( c1 ) 2 z12  rz1 z2  ( c2 ) 2 z22 (56)<br /> Vì c1 , c2 là các số cần chọn nên có thể chọn sao cho:<br /> 2. c1 . c2  r (57)<br /> Khi đó biểu thức (56) sẽ nhận một trong hai biểu thức sau:<br /> -Nếu r  0 , thì:<br /> y1  ( c1 z1 ) 2  2( c1 z1 )( c2 z2 )  ( c2 z2 ) 2 =[( c1 z1 )  ( c2 z2 )]2 (58)<br /> -Nếu r  0 , thì:<br /> y1  ( c1 z1 ) 2  2( c1 z1 )( c2 z2 )  ( c2 z2 ) 2 =[( c1 z1 )  ( c2 z2 )]2 (59)<br /> Từ hai biểu thức (58) và (59) cho thấy: nếu chọn c1 , c2 theo biểu thức (57) thì:<br /> y1  0 (60)<br /> <br /> <br /> 159 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> Để y1  0 (không có trường hợp  ) thì phải chọn:<br /> 2. c1 . c2  r (61)<br /> Từ bất đẳng thức (61) và (54) cho thấy để thỏa mãn bất đẳng thức sau:<br /> y ( Z1 , Z 2 )  0 (62)<br /> thì các số c11 , c12 , c13 , c21 , c22 , c23 cần chọn sao cho thỏa mãn 18 bất đẳng thức sau:<br /> 2. c11 . c 21  r11 ; 2. c12 . c 21  r12 ; 2. c13 . c 21  r13 (63)<br /> 2. c11 . c 22  r21 ; 2. c12 . c 22  r22 ; 2. c13 . c 22  r23 (64)<br /> 2. c11 . c 23  r31 ; 2. c12 . c 23  r32 ; 2. c13 . c 23  r33 (65)<br /> 2. c11 . c 21  11 ; 2. c12 . c 21  12 ; 2. c13 . c 21  13 (66)<br /> 2. c11 . c 22   21 ; 2. c12 . c 22   22 ; 2. c13 . c 22   23 (67)<br /> 2. c11 . c 23   31 ; 2. c12 . c 23   32 ; 2. c13 . c 23   33 (68)<br /> Các bất đẳng thức (63), (64), (65), (66), (67), (68) chính là quy tắc chọn các số<br /> c11 , c12 , c13 , c21 , c22 , c23 . Sau đó xác định c1 và c2 theo hai công thức (51). Như vậy<br /> đã chỉ được quy tắc xác định c1 và c2 để thỏa mãn yêu cầu theo điều kiện (43), tức<br /> là, V  0 , (bổ đề đã được chứng minh). Khi này theo lý thuyết ổn định Lyapunov<br /> 2<br /> <br /> hệ động học (19), (34) sẽ ổn định tiệm cận, nghĩa là:<br /> Z1  0, Z 2  0 , (69)<br /> tức là véc tơ X 1 (tọa độ UAV Tri-rotors) và véc tơ X 2 (tư thế UAV Tri-rotors)<br /> bám theo giá trị đặt (giá trị mong muốn). Việc xác định các c1 , c2 sẽ phụ thuộc vào<br /> từng bài toán cụ thể (phụ thuộc vào ma trận R( X 2 ) và  ( X 2 ) ), vấn đề này có thể<br /> được đề cập ở các công trình tiếp theo.<br /> Tiếp theo triển khai việc giải phương trình (40) như sau: thiết lập véc tơ mở<br /> rộng và ma trận mở rộng như sau:<br />  F3 ( X 3 )   B3 <br /> F34 ( X 2 , X 3 , X 4 )    ;B    (70)<br />  F4 ( X 2 , X 3 , X 4 )   B4 <br /> Khi đó phương trình (40) sẽ có dạng mới tương đương sau:<br /> c2 Z 2  F34 ( X 2 , X 3 , X 4 )  BU    0 (71)<br /> Từ phương trình (71) có nghiệm đối với véc tơ điều khiển như sau:<br /> U  B 1 (   c2 Z 2  F34 ( X 2 , X 3 , X 4 )) (72)<br /> Biểu thức (72) chính là luật thay đổi các biến của véc tơ U ở biểu thức (14) để<br /> điều khiển Tri-rotors bám theo các tham số đặt (tham số mong muốn).<br /> Tham số đặt (tham số mong muốn) là bộ tham số do yêu cầu thực tế đặt ra, như<br /> bài toán cất cánh thẳng đứng, bài toán đứng yên trong không gian khi làm nhiệm<br /> vụ cảnh giới, bài toán bay bám quỹ đạo cho trước, hay bài toán hạ cánh.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 160<br /> Tên lửa & Thiết bị bay<br /> <br /> 3. MÔ PHỎNG ĐỘNG LỰC HỌC UAV DẠNG TRI-ROTORS<br /> Tiến hành mô phỏng trên ngôn ngữ Matlab-simulink với mô hình một Tri-rotors<br /> có luật điều khiển được thực hiện theo giải thuật backstepping.<br /> Trên các hình mô phỏng từ H.4 đến mô phỏng H.15 là kết quả mô phỏng trường<br /> hợp Tri-rotors dịch chuyển từ một vi trí bất kỳ về gốc hệ tọa độ và cất cánh thẳng<br /> đứng. Trong quá trình cất cánh có lúc bị nhiễu gió tác động. Các hình mô phỏng H4,<br /> H.6, H.8, H.10, H.12, H.14 là biểu đồ các thành phần u1 , u2 , u3 , u4 , u5 , u6 của véc<br /> tơ điều khiển U , còn trên các hình mô phỏng H.5, H.7, H.9. là các đồ thị sự thay đổi<br /> của các góc:  (góc chúc ngóc),  (góc hướng),  (góc cren), trên hình mô phỏng<br /> H.11, H.13, H.15 là vị trí tâm khối Tri-rotors theo các trục x , y , z .<br /> <br /> <br /> <br /> <br /> Hình 4. Tín hiệu điều khiển U1. Hình 5. Sự thay đổi góc (chúc góc)  .<br /> <br /> <br /> <br /> <br /> Hình 6. Tín hiệu điều khiển U2. Hình 7. Sự thay đổi góc  (hướng).<br /> <br /> <br /> <br /> <br /> Hình 8. Tín hiệu điều khiển U3. Hình 9. Sự thay đổi góc  (cren).<br /> <br /> <br /> <br /> 161 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> <br /> <br /> <br /> Tọa độ đk - m<br /> Hình 10. Tín hiệu điều khiển U4. Hình 11. Tâm khối theo trục x.<br /> <br /> <br /> Tọa độ đk - m<br /> <br /> <br /> <br /> <br /> Hình 12. Tín hiệu điều khiển U5. Hình 13. Tâm khối theo trục y.<br /> Tọa độ đk - m<br /> <br /> <br /> <br /> <br /> Hình 14. Tín hiệu điều khiển U6. Hình 15. Tâm khối theo trục z.<br /> 4. KẾT LUẬN<br /> Bằng giải thuật cuốn chiếu Backstepping đã xác định được luật điều khiển tư<br /> thế và tâm khối Tri-rotors bám theo quỹ đạo mong muốn. Bằng diễn giải toán học<br /> đã xác định được các luật điểu khiển, xác định các hằng số trong luật điều khiển<br /> Backstepping. Các kết quả mô phỏng cho thấy sự hợp lý của thuật toán đề xuất.<br /> TÀI LIỆU THAM KHẢO<br /> [1]. Hoàng Quang Chính, Nguyễn Công Toàn, “Nghiên cứu xây dựng mô hình<br /> toán và mô phỏng UAV tri-rotor”, Tuyển tập công trình Hội nghị toàn quốc<br /> lần thứ 2 về Điều khiển và Tự động hóa- VCCA-2013, tr 556-563.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san TĐH, 04 - 2019 162<br /> Tên lửa & Thiết bị bay<br /> <br /> [2]. Đặng Văn Thành, Trần Đức Thuận, "Khảo sat chuyển động UAV tri-rotor trong<br /> trường hợp một động cơ thay đổi tốc độ và góc nghiêng", Tạp chí Nghiên cứu<br /> KH&CN quân sự, số 52, 12-2017.<br /> [3]. Dong-Wan Yoo, “Dynamic Modeling and Control System Design for Tri-<br /> rotor UAV”, Proceedings of the 2010 3rd International Symposium on<br /> System and Control in Aeronautics and Astronautics, 2010.<br /> [4]. Nguyễn Doãn Phước, “Phân tích và điều khiển hệ phi tuyến”, NXB Bách<br /> khoa, 2012.<br /> [5]. Nguyễn Doãn Phước, “Lý thuyết điều khiển nâng cao”, NXB Khoa học và Kỹ<br /> thuật, 2009.<br /> <br /> ABSTRACT<br /> APPLICATION SOLUTIONS BACKSTEPPING BUILDING ALTERNATIVES<br /> OF MOTION CONTROL FOR THE UAV FORM-ROTORS<br /> Presentation of the analysis and transformation of Tri-rotor kinematic<br /> models when building an affine control system model to help apply the modern<br /> control theory of Tri-rotor control law.<br /> Keywords: UAV; Tri-rotor; Affine.<br /> <br /> <br /> Nhận bài ngày 15 tháng 01 năm 2019<br /> Hoàn thiện ngày 07 tháng 3 năm 2019<br /> Chấp nhận đăng ngày 15 tháng 3 năm 2019<br /> Địa chỉ: Viện Khoa học và Công nghệ quân sự.<br /> *<br /> Email: dangvanthanh2004@yahoo.com.<br /> <br /> <br /> <br /> <br /> 163 Đ. V. Thành, T. Đ. Thuận, “Ứng dụng giải thuật backstepping … UAV dạng tri-rotors.”<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1