TÊN ĐỀ TÀI: Điều khiển tối ưu bền vững kích hoạt sự kiện: ứng dụng cho robot một bánh tự cân bằng Event-trigger robust optimal control: Application to Single-Wheel Self-Balancing robots
CƠ SỞ LÝ THUYẾT
Mô hình robot tự cân bằng một bánh
Điều khiển tối ưu dựa tên quy hoạch động thích nghi cho mô hình robot cân bằng một bánh: Hướng tiếp cận tách bậc điều khiển xét tới hiệu ứng kết nối khi tách bậc và nhiễu ngoại lực [5], [7], [2]
Hình 2.1 Mô hình SWR: a) tổng thể; b) Kênh roll c) Kênh pitch
Hình 2.1 mô tả mô hình SWR trong đó tách bậc roll và pitch Có thể tóm tắt các kí hiệu bằng bảng sau:
Bảng 2.1 Các kí hiệu và thông số liên quan đến mô hình
Kí hiệu Mô tả Giá trị
R w Bán kính bánh xe 0.03(m) l 1 khoảng cách từ khối tâm của xe tới trục bánh xe
0.21(m) l 2 khoảng cách từ sàn tới trục quay của đĩa (roll) 0.35(m) l 3 khoảng cách từ sàn tới khối tâm của xe khi xét trong trục roll
0.175(m) m d Khối lượng của đĩa 0.2(kg) m b Khối lượng thân của robot 0.954(kg) m w Khối lượng bánh xe 0.043(kg) m bw Khối lượng kết hợp của thân xe và bánh xe (pitch) 0.997(kg) m bd Khối lượng kết hợp của thân xe và đĩa (roll) 1.154(kg)
J d Mô-men quán tính của đĩa 15*10 − 4 kg m 2
J w Mô-men quán tính của bánh xe 3.8*10 − 4 kg m 2
J b Mô-men quán tính tổng hợp của robot phương roll 0.04 kg m 2
J Mô-men quán tính tổng hợp của robot theo phương pitch
J m Mô-men quán tính của phần ứng động cơ 1*10 − 4 kg m 2
b Mô-men điều khiển roll 1.2(N.m)
d Mô-men điều khiển đĩa -
Mô-men điều khiển bánh xe 1.2(N.m)
Mô-men điều khiển pitch 1.2(N.m)
Xét hệ robot một bánh tự thăng bằng ở bài toán con lắc ngược, bánh xe xem như thẳng đứng và chỉ di chuyển theo một phương i Bánh đà phía trên xem như là một vật không mang động năng quay và kết hợp với phần thân robot để tạo thành một thể duy nhất llà khoảng cách từ tâm bánh xe đến tâm của thân robot R w là bán kính của bánh xe, góc quay của bánh xe và góc quay của thân robot lần lượt được biểu diễn là và Khi xét hệ thống ở bài toán thăng bằng con lắc ngược, khối lượng của bánh xe và khối lượng tổng của phần thân robot hợp với bánh đà được định nghĩa lần lượt là m w và m bd Các vector vị trí, lần lượt vector r 1 và r 2 được xác định từ góc tọa độ đến tâm bánh xe và từ góc tọa độ đến tâm của phần thân robot
2 ( w 1sin ) ( w 1cos ) r = R +l i + R +l j Động năng toàn phần của robot:
= dt J w , J và J m lần lượt là quán tính của bánh xe, quán tính của thân robot và lực cản ứng của động cơ, n là tỷ số truyền động của động cơ Thế năng toàn phần của robot:
Ta có đa thức Lagrange: L= −T V
Phương roll Ở bài toán con lắc bánh đà, bánh xe xem như không di chuyển tiến lùi mà chỉ nghiêng qua lại (phương trái – phải) Bánh đà phía trên sẽ quay theo sự điều khiển của mô men lực d Về nguyên lý, khi bánh đà quay theo một chiều, giả định là chiều kim đồng hồ theo một tốc độ thay đổi Bánh đà sẽ mang một gia tốc và gây ra một mô men lực theo cùng chiều tại trục quay Lực này tác dụng vào khung con lắc, và làm bộ khung quay theo chiều quay của bánh đà, vì điểm tiếp đất được giữ cố định nên chính khung quay sẽ di chuyển theo chiều kim đồng hồ Đây chính là nguyên lý để con lắc bánh đà lấy lại vị trí điểm trọng tâm khi bị nghiêng Mô hình động lực góc nghiêng trái – phải (Roll) được sử dụng, bằng cách xem thân robot và bánh xe là một thể cố định l 2 và l 3 lần lượt là chiều dài tính từ góc đến tâm bánh đà và chiều dài tính từ góc cho đến tâm của thân robot R p và d là bán kính và góc quay của bánh đà, tương ứng thì b chính là góc quay của phần thân robot Để có thể xác định được phương trình động học của robot Ta gọi m bw là khối lượng của phần thân robot và bánh xe Hai vector vị trí, r 3 và r 4 được xác định để có thể tính được phương trình Lagrangian, trong đó vector r 3 là vector chỉ gia tốc hướng tâm của bánh đà khi quay và r 4 là vector thể hiện gia tốc hướng tâm của phần thân và bánh xe của robot
8 Động năng toàn phần của robot, T như sau:
= J d và J b là lực quán tính khi bánh đà quay và lực quán tính khi thân robot và bánh xe nghiêng tạo ra Thế năng toàn phần của robot, V như sau:
Ta có đa thức Lagrange: L= −T V
Kết hợp cả 2 phương ta tổng quát như sau:
Phương trình động lực học của phương pitch được biểu diễn :
( cos ) ( ) sin w m w bw w bd w m bd w bd w m bd m bd
Phương trình động lực học của phương roll được biểu diễn :
Trong đó, i=r p, kí hiệu cho roll và pitch q r = b , d T , q p = , T ,
Phương trình E-L tách bậc sẽ được biểu diễn như sau:
1 1 cos cos w m w bw w bd w m p bd w m bd m
Từ (2.2), ta viết lại hệ thống hồi tiếp chặt bậc hai cho từng trục như sau:
Với d 1 và d 3 là nhiễu vận tốc và d 2 và d 4 là nhiễu ngoại lực được biểu thị là i d
Các giả thiết dưới đây đưa ra để tạo điều kiện điều khiển thuận lợi cho việc thiết kế mô hình robot thăng bằng một bánh r p ( ),x r p ( ),x x =[x 1 T ,x 2 T ,x x 3 , 4 ] T là các nhiễu bởi việc năm bắt các hiệu ứng kết nối vật lý không được mô hình hóa giữa trục cuộn và trục bước
Giả thiết 1: Với g i i g i max , k i i k i max với mọi 1 = [ x 1 T , x 2 T T ] , 2 = [ x 3 T , x 4 T T ] và max, max i i g k là các hằng số dương chưa biết Điều kiện Lípchitz với f i i i i có i là hằng số dương Các giới hạn trên chưa biết của g i max ,k i max được sử dụng trong phân tích độ ổn định chương 3.3.1 và không được đưa vào thiết kế điều khiển Vì vậy không cần xác định giá trị
Giả thiết 3: Góc tham chiếu của bánh xe và vận tốc của nó ref , ref là các giá trị trơn và bị giới hạn
NỘI DUNG NGHIÊN CỨU
Thiết kế bộ điều khiển thích nghi tối ưu bền vững
Mục tiêu điều khiển là thiết kế một sơ đồ điều khiển tách rời tối ưu thích nghi bền vững Đầu tiên, động lực học tập trung (2.3), (2.4) được tách thành các động lực học phương pitch và phương roll bất chấp các ràng buộc đầu vào, các nhiễu loạn bên ngoài và các hiệu ứng kết nối Sau đó, chính sách điều khiển cho động lực học góc nghiêng được thiết kế để điều khiển robot cân bằng một bánh đến vị trí mong muốn trên một đường thẳng đồng thời theo dõi vận tốc mong muốn Chính sách điều khiển tối ưu hợp tác cho cả động lực học theo phương pitch và phương roll giữ cho robot cân bằng một bánh ổn định xung quanh các điểm cân bằng Tất cả các chính sách này đều yêu cầu tối ưu hóa hai hàm chi phí hợp tác
Phần này thiết kế một sơ đồ điều khiển bù để tách hai động lực riêng biệt khỏi động lực tập trung của (2.3), (2.4) Quy trình được tuân theo và sửa đổi từ kỹ thuật back- stepping a) Đối với phương pitch Định nghĩa 1: Điểm cân bằng x 0 của hệ thống x= f x u x( , ), n được gọi là bị chặn UUB trong một tập compact Ω ∈ n nếu tồn tại một giới hạn B và thời gian T
T B x sao cho x − x 0 B x , 0 + t t 0 T Định nghĩa sai số bám vị trí e 1 = −x 1 x 1 ref = − ref , T với x 1 ref = ref , 0 T Khi đó động lực học sai số có thể trình diễn như sau[5]:
Trong đó x 2 d = x 2 +x 2 a là ngõ vào của luật điều khiển ảo với x 2 là luật điều khiển tối ưu sẽ được thiết kế trong mục sau và x 2 a là luật điều khiển bù được chọn như sau:
Thế (3.2) vào (3.1) để có được:
Với e 2 = −x 2 x 2d là sai số vận tốc Lấy đạo hàm nó và sử dụng (2.3), ta có:
Luật điều khiển sẽ được chọn u 1 =u 1 +u 1 a với u 1 là luật điều khiển tối ưu và u 1 a là luật điều khiển bù Luật điều khiển bù sẽ được chọn như sau:
Thay (3.5) vào (3.4), ta sẽ có:
Trong đó 𝐼 là ma trận đơn vị
L = e e + e e Thay (3.4) và (3.3) ta và lấy đạo hàm nó là kết quả các kết quả trên, ta sẽ thu được:
Dễ dàng chứng minh rằng hai số hạng cuối e e 1 T 2 −e e 2 T 1 triệt tiêu lẫn nhau Khi đó, ta viết lại thành
Nếu ta gọi động lực học sai số của pitch là
Thì sẽ tồn tại hàm Lyapunov là 2 1
L = e e với đạo hàm của nó được tìm thấy bởi:
Có thể thấy là có sự giống nhau giữa (3.6) và (3.8) nên nếu ta có thể thiết kế luật diều khiển tối ưu u p để làm cho hệ thống (3.8) là ổn định(Theo định nghĩa 1, L 2 0 L 1 0, cho nên e p ở trong phương trình (3.3) và (3.4) sẽ là UUB) với tất cả các tín hiệu là UUB thì điều đó cũng là tương đương với hệ thống (3.6) là ổn định với tất cả tín hiệu là UUB Có thể kết luận rằng bài toán điều khiển tách riêng tối ưu cho động lực phương trình (2.3) được chuyển thành bài toán điều khiển tách riêng tối ưu ở phương trình (3.7) Để chứng minh u p [9],[10] nói trên ta làm như sau:
14 Đặt u a p = [ u a p 1 , u a p 2 , u a p 3 , u a p 4 ] T = [( x 2 a ) , ( T u 1 a T T ) ] sẽ bị giới hạn như sau : tanh(1), 1, 2,3, 4 a pk p u − k = (3.9)
Nếu u * p được xấp xĩ theo hàm (tanh) dạng hyperbol trong tập , ( − , ) và
0 p , thì tín hiệu điều khiển ảo và thực tế u p sẽ nằm trong vùng giới hạn chẳng hạn u p 1 p , u p 2 p b) Đối với phương roll
Phương roll chỉ có một mục đích quan trọng là tối thượng chính là làm cho b →0 hay x 3 →0 gọi sai số e 3 =x 3 Lấy đạo hàm ta có:
Ta thiết kế luật điều khiển ảo x 4 d = x 4 +x 4 a với x 4 là luật điều khiển tới ưu sẽ được thiết kế sau và luật điều khiển bù x 4 a được chọn x 4 a =0 và sai số vận tốc roll là
Tiếp tục lấy đạo hàm sai số e 4 , ta có:
Luật điều khiển u 2 =u 2 +u 2 a được chọn với luật điều khiển tới ưu u 2 được thiết kế sau và luật điều khiển bù được chọn:
(3.13) Thay (3.13) vào (3.12), ta sẽ có:
Tương tự với pitch thì ta xét hàm Lyapunov đầu tiên là 3 1 3 2 1 4 2
L = e + e Lấy đạo hàm nó ta có:
Là động lực học sai số roll thì xét hàm Lyapunov 4 1
L = e e thì đạo hàm của nó đươc cho bởi:
Từ (3.14) và (3.16) ta thấy là nếu ta có thể chọn được luật điều khiển tối ưu để hệ thống (3.16) là ổn định với tất cả các tín hiệu vòng kín là UUB thì điều đó cũng là tương tự với (3.14)
Tương tự phương pitch ta có tanh(1), 1, 2 a rk r r u − k = với u r a = [ x u 4 a , 2 a T ] = [ u r a 1 , u r a 2 ] , 0 T r r (3.17)
3.1.2 Điều khiển tối ưu cộng tác được trên quy hoạch động thích nghi
Do tính chất cục bộ vốn có của bộ điều khiển nên không thể đạt được hiệu suất điều khiển tổng thể của toàn bộ hệ thống Như vậy, để xem xét bài toán có thể tối ưu hóa toàn cầu các hàm chi phí hợp tác, bao gồm đầu vào điều khiển và chính sách gây nhiễu tồi tệ nhất của cả hai động lực học Đầu tiên, động lực học sai số (3.7) và (3.15) có chuẩn độ lợi L 2 nhỏ hơn hoặc bằng
i , i = p r , nếu điều kiện sau được thỏa mãn[5]:
Trong đó, Q R i , i là ma trận xác định dương Nếu động lực học vòng kín (3.7) và
(3.15) ổn định với hệ hố tối thiểu i 0 thì nó sẽ ổn định với hệ số i i [11] Bởi vì đầu vào điều khiển là bị chặn nên hàm số không âm được chọn theo tính chất vật lý (dựa vào (3.9), (3.17))
= u Để có thể tìm ra luật điều khiển tối ưu thì ta định nghĩa hàm chỉ tiêu:
Khi đó, lấy cảm hứng từ lý thuyết trò chơi tổng bằng không, thì giá trị tối ưu được tìm thấy chính là điểm yên ngựa:
Từ đó, ta có thể tìm ra các luật điều khiển tối ưu cũng như luật nhiễu xấu nhất:
(3.24) Điều kiện để tồn tại điểm yên ngựa chính là điều kiện Nash được thỏa mãn
Khi đó hàm Hamilton có thể được viết lại
Việc giải phương trình (3.26) để có được i ( ) i i
là rất khó khăn vì khác với hệ tuyến tính, cái mà ta có thể dùng phương trình Ricati để giải thì trường hợp hệ phi tuyến này thì không thể, nên lấy cảm hứng từ [10] và [12] ta sử dụng mạng thân kinh nhân tạo để xấp xỉ:
Trong đó, i ( ) e i là vector hàm kích hoạt, i ( ) e i sai số xấp xỉ Vì trọng số là chưa biết nên ta chỉ có được giá trị xấp xỉ của (3.27), tức là
W = W W W là vector trọng số xấp xỉ Từ đó, ta có các luật xấp xỉ:
Khi đó xấp xỉ của HJI có thể được viết lại:
Khi đó W ˆ i phải được cập nhật bằng một chiến lược nào đó để lim ˆ i ( ) i ( ) 0 t H t H t
→ − Sử dụng kỹ thuật học tăng cường tích phân, cái mà tối thiểu sai số ˆ 1 ˆ ˆ
= + + + (3.33) Để tránh thao tác nhận dạng thì
Dựa trên luật suy giảm độ dốc thì ta có luật cập nhật như sau:
Thiết kế bộ điều khiển thích nghi tối ưu bền vững kích hoạt sự kiện
Bằng cách sử dụng các định lý và các phương pháp toán học để thiết kế chiến lược điều khiển tối ưu bền vững kích hoạt sự kiện cho mô hình SWR, chúng ta cần thiết kế một cấu trúc điều khiển tối ưu bền vững kích hoạt sự kiện và các chiến lược tối ưu kích hoạt sự kiện và chiến lược bù đắp nhiễu kích hoạt sự kiện, sẽ được thiết kế như sau:
Xét phương trình (3.36) với các tham số, đầu vào bị giới hạn và nhiễu, trong dạng động học như sau[6]:
Giá trị sai số e r sẽ được cập nhật cho e r , tức là giá trị rời rạc Giá trị rời rạc này sẽ được truyền tới bộ điều khiển thích nghi tối ưu bền vững như đã thiết kế ở 3.1.2 cho phương roll Điều kiện kích hoạt sẽ là (Chiến lược điều khiển cần một luật kích hoạt thỏa mãn‖ ‖e ‖e T ‖.)
Trong đó, e = − e r e r ngưỡng kích hoạt được chọn là:
Với 0 , 1 là các tham số hằng số, min ( ) Q là giá trị riêng nhỏ nhất của
Dựa trên lý thuyết trò chơi trong bài toán điều khiển tối ưu bền vững, chúng ta định nghĩa hàm giá trị kích hoạt sự kiện:
V e d u = t e Qe +U u − d d d (3.39) trong đó Q 0 , u r là một tín hiệu điều khiển tức thời của u r * , 0,d r =d t r ( ) k là hệ số bù nhiễu mong muốn tại thời điểm kích hoạt U(u ) r là hàm không âm, có thể chọn ( r ) r T r
U u =u Ru trong trường hợp không bị giới hạn, nếu không, theo Lemma 2, nó là:
(3.40) trong đó R là ma trận chéo xác định dương
Hàm Hamilton được xây dựng bởi
Sau đó, chúng ta có thể áp dụng lý thuyết trò chơi tổng bằng không để có giá trị tối ưu kích hoạt sự kiện:
V ồ e = r e d u d (3.42) Áp dụng điều kiện dừng vào, chiến lược bù nhiễu và điều khiển tối ưu kích hoạt sự kiện d ồ , u ồ được cho bởi:
Sử dụng Hamiltonian, phương trình HJI được viết lại là:
Ta thấy giá trị tối thiểu của một lời giải xác định dương trơn của HJI luôn tồn tại nhưng không thể giải quyết một cách phân tích Do đó, lời giải được xấp xỉ bằng hàm xấp xỉ kết hợp với cơ chế kích hoạt sự kiện liên quan đến vi phân phi tuyến bậc cao của HJI với các tham số
Lấy cảm hứng từ định lý Weierstrass về xấp xỉ hàm, đối với các hàm kích hoạt (e r ) : 3 n
→ , trọng số lý tưởng W n , và các lỗi xấp xỉ e r , chúng ta có thể biểu diễn V *( e r ) như sau:
V e =W e + e (3.46) trong đó ( e r ) thỏa mãn giả thiết sau
Giả thiết: Đối với một tập hợp cơ sở độc lập hoàn chỉnh ( ), 3 và một số hằng số dương b b , , , b b ò ò , các ràng buộc sau được thỏa mãn:
‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ ‖ Ngoài ra, đối với một hằng số dương L , ( ) là Lipschitz:
Do cỏc trọng số chưa biết, V ồ (e r )được xấp xỉ bằng: ˆ ( r ) ˆ T ( r ).
Sau đó, các chiến lược của điều khiển tối ưu và bù nhiễu được xấp xỉ bởi:
Ta có thể được viết lại là: ˆ ˆ r r r r r r e = f + g u + k d (3.51)
Sau đó, HJI trở thành: ˆ 2 ˆ ˆ ˆ ˆ T ( r )( r r ˆ r r r ) r T r ( ) ˆ r r T r
Có thể thấy rằng nếu lim ˆ( ) ( ) 0 t H t H t
→‖ − ồ ‖= , thỡ W ˆ r → W r Theo kỹ thuật học tăng cường tích phân (IRL), lỗi bình phương dư được định nghĩa là: ˆ ˆ ˆ
= + + = = − − (3.54) Để đảm bảo điều kiện PE được nới lỏng và hội tụ tham số đến các giá trị xác lập , ta sử dụng kỹ thuật học đồng thời (concurrent learning), trong đó yêu cầu tối thiểu hóa hàm mục tiêu của các lỗi quá khứ, ˆ
= + − (3.55) các giá trị ( ), ( ) t l r t ˆ l tại t = {t , t , , t } < t l 0 1 P được lưu trữ trong các tập
{ ( )} ,{ ( )} t l P l = r t l l P = Kích thước của tập thỏa mãn điều kiện học đồng thời: Điều kiện rank[ ( ), ( ), , ( )] t 0 t 1 t P =P
Dựa trên luật suy giảm độ dốc thì ta có luật cập nhật như sau:
(3.56) Định nghĩa W =W −Wˆ , động lực học sai số xấp xỉ được viết lại là:
Phân tích tính ổn định của hệ thống
3.3.1 Phân tích độ ổn định Để xét tính ổn định của 3.1 ta chọn một hàm Lyapunov [5] :
= + • = + (3.58) với hàm giá trị tối ưu V e l ( ) l và sai số xấp xỉ W l = W l − W l Lấy đạo hàm của L a dọc theo e l của (3.7) và (3.15) khi áp dụng u d l , l , và V l • f l từ (3.26) ( l l ) l
Với 1 = [1,1,1,1] , • R l chứa các phần tử đường chéo của R l trong một hàng của vector Thay thế (3.60) vào (3.59), sau đó biến đổi:
(3.61) Các hạng tử trong (3.61) được biến đổi như sau:
2 min ln 1 tanh ( ) 2 tanh ( / ) ( ) tanh( )
Với min ( Q l )là các giá trị riêng nhỏ nhất của Q l
Thay thế (3.62) vào (3.61), ta có:
Thay s= − l tanh( ) , tích phân của l trở thành
Dùng V e l * ( ) l từ (3.27) cho N l * trong (3.29) và sau đó thay thế N l * và N ˆ l từ (3.35) vào trong (3.65), lưu ý U u( )ˆ l 0 và W l =W l −W ˆ l ta có
Với W l b lW , 1 2 min 2 max 2 2 max 2
= + , max max{1, max} l l g = g , k l max =max{1,k l max } Động lực học sai số (3.41) được viết lại là
= = • và b l H 0 Lấy đạo hàm của L b cùng (3.67)
Sử dụng bất đẳng thức của Young cho hạng tử cuối trong (68), ta có:
Dễ dàng chọn tốc độ hội tụ 𝛼 𝑙 > 1 để có 𝛽 𝑙2 > 0 Đối với mọi 𝑙 = 𝑝, 𝑟
Trường hợp L 0khi và chỉ khi
(3.71) ở đây 𝑏 𝑙𝑒 ≥ 0 và b l 0 Có thể thấy rằng nếu sai số của pitch hoặc roll ∑ 𝑙=𝑝,𝑟 𝑒 𝑙 hoặc sai số xấp xỉ ∑ 𝑙=𝑝,𝑟 W l vượt quá các vùng ổn định, được trình bày bởi các tập hợp
𝑏 𝑙𝑒 hoặc 𝑏 𝑙𝑤 , thì L 0 Điều đó có nghĩa là các sai số được kéo vào các vùng ổn định
3.3.2 Phân tích hiện tượng zeno
Hiện tượng Zeno[6] sẽ bị loại trừ vì khoảng thời gian tối thiểu giữa hai sự kiện liên tiếp lớn hơn 0, tức là
Với , a là giới hạn dương của các tham số hệ thống Để chứng minh ta xét thành hai trường hợp: hệ thống trong khoảng thời gian giữa các sự kiện và tại các thời điểm kích hoạt sự kiện Đầu tiên, hàm Lyapunov sau được xem xét
Trường hợp 1: Vì V * (e r ) là hằng số, L f = 0 Lấy đạo hàm của L d theo e r từ (3.36) khi sử dụng V e f * ( ) r r từ (3.45), ta có
(3.74) Thay thế u r * từ (3.44) vào (3.40) ta được
Với1=[1,1,1,1] , • R là vectơ phần tử đường chéo của R Thay (3.44) thành (3.75) thu được
Các hạng tử trong (3.76) có thể được biến đổi thành
Thay thế (3.77)-(3.80) vào (3.76) ta có
Chuyển đổi p = −tanh( ) ta có
(3.83) Áp dụng V * từ (3.46) cho N * trong (3.44) và thay thế N * và N ˆ từ (3.49) trong (3.83) ta có được
Sử dụng bất đẳng thức có dạng : ( ab cd − ) 2 2 a b d 2 ( − ) 2 +2 d a c 2 ( − ) 2 ta được
Sử dụng giới hạn trên của H (.)Áp dụng bất đẳng thức của Young cho (87) ta có
(3.88) Thay thế (3.88) và (3.86) vào (3.73) ta có
4𝜇 3 Định nghĩa 𝑏 𝑊 ̃ = √𝜆 2 /𝜇 3 + 𝜇 2 /2𝜇 3 và áp dụng điều kiện kích hoạt (3.38) , ta có
− − + − ‖ ‖ Động học đóng kín được ổn định tiệm cận, và UUB của động học xấp xỉ được đảm bảo
Trường hợp 2: Xét hệ thống tại ∀𝑡 = 𝑡 𝑘 , ∀𝑘 ∈ 𝑁, hiệu hai phương trình của (3.73) ta có
Từ (3.89), vì 𝐿 𝐸𝑇 ̇ < 0, trạng thái của (3.36) và (3.46) là liên tục, ta có
Sau đó, ta viết lại 𝛥𝐿 𝐸𝑇 như sau
(3.93) trong đó 𝜓 nằm trong một hàm lớp-𝜅[8] Nhắc lại (3.90), có thể thấy rằng (3.73) vẫn giảm dần tại 𝑡 = 𝑡 𝑘 , 𝑘 ∈ 𝑁
Tổng hợp (3.89) và (3.93), sự ổn định tiệm cận được đảm bảo
Tiếp theo, chứng minh tồn tại một thời gian t min tức phương trình (3.72) Chúng ta lưu ý đến giới hạn của (3.49) và (3.50) và tính chất Lipschitz của f r để chứng minh khoảng thời gian tối thiểu giữa hai sự kiện liên tiếp là lớn hơn không Động học (3.36), ∀𝑡 ∈ [𝑡 𝑘 , 𝑡 𝑘+1 ), thỏa mãn
Lưu ý rằng e= −e r e r , với một số thực dương nhỏ 𝑎, = + 0 b f ta có
Chính thức, phần còn lại của chứng minh có thể theo từ [1] Điều này hoàn thành chứng minh.
Thiết kế, xây dựng mô hình
3.4.1 Sơ đồ khối phần cứng
Mục tiêu đặt ra trong nội dung này là xây dựng được mô hình robot cân bằng một bánh xe Thiết kế được hệ thống điện phần cứng cũng như xây dựng được luật đều khiển tối ưu cho hệ robot
Hình 3.1 Sơ đồ khối thiết kế phần cứng cho robot
Hệ thống robot Unicycle sử dụng vi điều khiển ESP32 DEVKITV1 và bao gồm các khối chức năng sau:
• Khối Accelerometer và Gyro (MPU 6050): Đây là cảm biến 6 trục, đảm nhận chức năng đo các góc pitch, roll, yaw và gia tốc tương ứng của các góc này
• Khối Encoder: Các cảm biến Encoder này có nhiệm vụ xác định vị trí và góc quay của động cơ bánh xe và động cơ bánh đà, từ đó truyền dữ liệu về vi điều khiển để xác định vị trí và góc quay của robot
• Khối Driver công suất động cơ: Mạch công suất này chuyển đổi xung PWM từ vi điều khiển thành điện áp điều khiển động cơ, giúp điều khiển hoạt động của động cơ
• Động cơ bánh xe và động cơ bánh đà: Hai thành phần quan trọng này giúp robot di chuyển và duy trì cân bằng Động cơ bánh xe thường có mô-men xoắn lớn để chịu tải trọng của robot, trong khi động cơ bánh đà có tốc độ quay cao giúp duy trì cân bằng nhanh chóng
• Vi điều khiển ESP32 DEVKITV1: Đây là thành phần trung tâm của hệ thống, chịu trách nhiệm xử lý tín hiệu từ cảm biến MPU 6050 và các Encoder Dựa trên các thuật toán đã được lập trình, vi điều khiển sẽ phát ra tín hiệu điều khiển cho hai động cơ, đảm bảo robot duy trì được sự cân bằng và di chuyển mượt mà
3.4.2 Sơ đồ mạch trên các khối
Trong phần này, chi tiết sơ đồ mạch và chức năng của từng khối trong hệ thống sẽ được nêu ra, nhằm cung cấp cái nhìn tổng quan và rõ ràng về cách thức hoạt động của robot Unicycle
Hình 3.2 Mô hình thực tế robot một bánh xe
Vi điều khiển ESP32 DEVKITV1 tích hợp lõi kép 32-bit Xtensa LX6, hoạt động ở tần số lên đến 240 MHz, với các đặc điểm chính sau:
Hình 3.3 Vi điều khiển ESP32 DEVKITV1
• Bộ nhớ: 520 kB SRAM và 4 MB Flash
• Wi-Fi và Bluetooth: Tích hợp chuẩn Wi-Fi 802.11 b/g/n và Bluetooth v4.2 BR/EDR và BLE, hỗ trợ kết nối không dây đa dạng
• GPIOs: 34 chân GPIO với nhiều chức năng đa dụng như PWM, ADC, DAC, I2C, SPI, UART, và cảm biến cảm ứng
• ADC và DAC: 18 kênh ADC 12-bit và 2 kênh DAC 8-bit
• PWM: 16 kênh PWM, hỗ trợ điều khiển động cơ và đèn LED
• Timers: 2 bộ timer 64-bit và 2 bộ timer watchdog, hỗ trợ các ứng dụng đòi hỏi độ chính xác cao
• Giao tiếp: 2 kênh I2C, 4 kênh SPI, 2 kênh I2S, 3 kênh UART, và 1 kênh CAN
• Điện áp hoạt động: từ 2.3V đến 3.6V, phù hợp cho nhiều ứng dụng năng lượng thấp
Mạch điều khiển động cơ TB6612
Hình 3.4 Mạch điều khiển động cơ TB6612
• Loại driver: TB6612 là driver động cơ bước hai kênh, có nghĩa là nó có thể điều khiển đồng thời hai động cơ bước riêng biệt
• Điện áp hoạt động: TB6612 có thể hoạt động với điện áp từ 9V đến 12V, phù hợp với nhiều loại động cơ bước và pin thông dụng
• Dòng điện đầu ra: Driver này có thể cung cấp dòng điện lên đến 1.2A mỗi kênh (có thể lên đến 3A với tản nhiệt tốt), đáp ứng nhu cầu của hầu hết các động cơ bước cỡ nhỏ và vừa
• Chế độ microstepping: TB6612 hỗ trợ nhiều chế độ microstepping khác nhau (lên đến 1/16 bước), cho phép điều khiển động cơ mượt mà và chính xác hơn
Mạch điều khiển động cơ DC BTS7960
Hình 3.5 Mạch điều khiển động cơ DC BTS7960
• Loại mạch: BTS7960 là mạch cầu H (H-bridge), cho phép điều khiển động cơ DC quay theo cả hai chiều (thuận và nghịch) cũng như điều chỉnh tốc độ động cơ
• Dòng điện tải tối đa: Mạch có thể xử lý dòng điện lên đến 43A (tải trở) hoặc 15A (tải cảm), phù hợp với nhiều loại động cơ DC công suất lớn
• Điện áp hoạt động: Mạch hoạt động với điện áp từ 6V đến 27V, tương thích với nhiều nguồn điện khác nhau
• Dòng điện tải cao: Khả năng xử lý dòng điện lên đến 43A cho phép mạch điều khiển các động cơ DC công suất lớn, phù hợp với các ứng dụng đòi hỏi mô-men xoắn cao như xe điện, robot, máy bơm,
• Điều khiển PWM: Giao diện điều khiển PWM cho phép điều chỉnh tốc độ động cơ một cách chính xác và linh hoạt
Cảm biến gia tốc HW-290(10DOF)
Hình 3.6 Cảm biến gia tốc HW-290(10DOF)
• Nguồn hoạt động linh hoạt: 3.3V - 5V
• Giao tiếp I2C: Kết nối dễ dàng với các vi điều khiển phổ biến
• Đo gia tốc: ±250, ±500, ±1000, ±2000 độ/giây
• Độ phân giải 16-bit: Đảm bảo độ chính xác cao trong việc đo lường
Board mở rộng cho vi điều khiển ESP32 DEVKITV1
Hình 3.7 Board mở rộng cho vi điều khiển ESP32 DEVKITV1
Chức năng chính bao gồm:
• Cung cấp nguồn 12V để điều khiển động cơ và chuyển đổi từ 12V sang 5V để cấp nguồn cho vi điều khiển
• Kết nối 2 kênh encoder của bánh xe bánh đà và lấy tín hiệu cho vi điều khiển
• Vi điều khiển cấp xung cho động cơ bánh xe và bánh đà
• I2C với cảm biến gia tốc giữa vi điều khiển và cảm biến
3.4.3 Giao thức kết nối Để thực hiện việc truyền thông tin giữa ESP32 và Laptop trong hệ thống robot Unicycle, phương thức kết nối thông qua WiFi sử dụng giao thức UDP (User Datagram Protocol) đã được lựa chọn Phương thức này cung cấp một kênh truyền thông nhanh chóng và hiệu quả, phù hợp với các ứng dụng thời gian thực như điều khiển robot
Hình 3.8 Giao thức truyền thông giữa robot và máy Thiết lập mạng WiFi
ESP32 sẽ được cấu hình để kết nối tới một mạng WiFi hiện có Khi kết nối thành công, ESP32 có thể giao tiếp với Laptop thông qua mạng này Việc kết nối đến mạng WiFi giúp đảm bảo phạm vi hoạt động rộng và ổn định cho hệ thống
Cấu hình giao thức UDP
Giao thức UDP được lựa chọn do tính chất không yêu cầu kết nối và khả năng truyền dữ liệu nhanh chóng Điều này phù hợp với các ứng dụng cần truyền thông tin liên tục và thời gian thực UDP sẽ được sử dụng để gửi và nhận các gói dữ liệu giữa ESP32 và Laptop
Truyền và nhận dữ liệu
ESP32 sẽ đóng vai trò như một máy chủ UDP, ESP32 sẽ gửi lại các thông tin cảm biến và trạng thái của robot tới Laptop để người điều khiển có thể giám sát và điều chỉnh kịp thời
KẾT QUẢ THỰC HIỆN
Mô phỏng giải thuật điều khiển ORADP kết hợp kích hoạt sự kiện
4.1.1 Mô hình mô phỏng robot
Dựa vào (1) ta có mô hình như sau:
Hình 4.1 Mô hình phi tuyến hệ thống trên Matlab
Dựa vào các thông số ở Bảng 2.1, ta mô phỏng được mô hình Unicycle robot Trong đó có một số ít các thông số liên quan đến lực quán tính nhưng do không có các trang thiết bị phục vụ cho việc đo đạc nên sẽ được ước lượng kết quả gần đúng nhất
4.1.2 Kết quả mô phỏng ORADP kết hợp kích hoạt sự kiện
Sử dụng bộ điều khiển đã được xây dựng ở mục 3.1 và 3.2, tiến hành mô phỏng cho robot với bộ điều khiển để tìm các trọng số NN xấp xỉ sau khi hội tụ Trong quá trình thực hiện việc training trọng số được khởi tạo, nhận thấy các trọng số này xấp xỉ bằng 0 nên không mất nhiều thời gian để hoàn thành việc hội tụ
Trong phần này, chúng ta sẽ thảo luận về kết quả mô phỏng của các phương pháp điều khiển thích ứng động lực học (ORADP) được kết hợp với cơ chế kích hoạt sự kiện Hai phương pháp điều khiển chính được phân tích bao gồm điều khiển cho góc nghiêng (Pitch) và điều khiển sự kiện kích hoạt cho chuyển động quay (Roll)
Trong mô phỏng này, phương pháp điều khiển thích ứng động lực học (ORADP) được áp dụng để điều khiển góc nghiêng (Pitch) của hệ thống Mục tiêu là duy trì trạng thái cân bằng của robot một bánh bằng cách điều chỉnh góc nghiêng thông qua các thuật toán tối ưu hóa thích ứng Các kết quả mô phỏng sẽ cho thấy khả năng của hệ thống trong việc duy trì sự ổn định và phản ứng nhanh chóng đối với các thay đổi trong môi trường hoạt động
ORADP Event Trigger Roll Ở phần này, chúng ta sẽ phân tích kết quả của phương pháp điều khiển ORADP kết hợp với cơ chế kích hoạt sự kiện cho chuyển động quay (Roll) Cơ chế này giúp tối ưu hóa hiệu suất của hệ thống bằng cách kích hoạt các hành động điều khiển chỉ khi cần thiết, từ đó tiết kiệm năng lượng và tài nguyên tính toán Các kết quả mô phỏng sẽ minh chứng hiệu quả của cơ chế kích hoạt sự kiện trong việc duy trì sự ổn định và cải thiện hiệu suất của hệ thống robot một bánh
Kịch bản mô phỏng Để kiểm tra khả năng đáp ứng bám vị trí và vận tốc của robot, một quỹ đạo dốc tham chiếu tiến lùi đã được áp dụng cho robot Khoảng cách quỷ đạo là 0.75m Các tham số cần được thiết lập
Véc tơ hàm tác động NN, ( )p 10 ,( )r 3 được chọn như sau:
= và trọng số NN được định nghĩa
= giá trị khởi tạo ban đầu bằng không Các hằng số học được chọn là p = r = 25 ChọnQ = diag 1,1,1,1 , R p 4 4 x , R r =1, p =5, r =5, p =2, r =2, P p =10, P r =10, ˆ ˆ
Nhiễu kích thích được áp dụng là nhiễu:
5 2 3 sin( ) cos( ) sin(2 ) cos(0.1 ) sin( 1.2 ) cos(0.5 )
Kết quả mô phỏng Áp dụng thuật toán với cách thông số học đã chọn ở trên, trọng số NN hội tụ được trình bày ở hình và hình , các trọng số của mạng NN hội tụ ở 7s, nhiễu d t ( ) được sử dụng để kích thích hệ thống trong 100 giây và tắt sau đó
Hình 4.2 Quá trình hội tụ trọng số mạng NN của góc pitch
Hình 4.3 Quá trình hội tụ trọng số mạng NN của góc roll
Nhận xét: Ở phương pitch, ta có thể thấy ở Hình 13 quá trình hội tụ trọng số mạng NN của góc pitch xác lập nhanh chóng chỉ sau 10s
Tương tự ở phương roll, tuy có nhiễu kích thích tương tự như phương pitch nhưng ở hình 14, ta có thể thấy quá trình hội tụ trọng số mạng NN của góc roll xác lập khi sau 70s
Giá trị vecto trọng số NN hội tụ là :
Tiếp theo là kết quả của việc mô phỏng bám quỹ đạo
Hình 4.4 Quỹ đạo theo phương x của robot
Hình 4.5 Vận tốc bánh xe robot theo quỹ đạo
Hình 4.6 Đáp ứng góc pitch
Hình 4.7 Đáp ứng góc roll Nhận xét: Ở hình 15 ta có thể thấy, mặc dù robot hoạt động dưới sự ảnh hưởng của nhiễu, quỹ đạo bám và vận tốc vẫn hội tụ gần bằng không Chưa đến 10s đã bám được quỹ đạo thay đổi theo thời gian, việc áp dụng bộ điều khiển đã làm cho quỹ đạo robot bám được theo giá trị mong muốn theo thời gian Tương tự ở hình 16, ta có thể thấy vận tốc của bánh xe cũng đã bám theo giá trị đặt ban đầu sau 10s bất chấp có pitch có dao động Ở hình 17 và hình 18, việc giao động của góc pitch, góc roll ta có thể thấy nó dao động theo nhiễu kích thích và khi tắt nhiễu các góc roll, pitch sẽ về vị trí 0 nhanh chóng
46 a) Biểu đồ so sánh số lần lấy mẫu b) Số lần kích hoạt sự kiện tích lũy theo thời gian c) Thời gian giữa các sự kiện
Hình 4.8 Các thời điểm kích hoạt sự kiện trong quá trình học của đầu vào điều khiển của góc roll
Nhận xét: Ở các hình 4.8 a,b,c khi áp dụng bộ kích hoạt sự kiện góc Roll ta có thể thấy ở Hình 4,8 a, số lần update đã giảm đi đáng kể chỉ còn 8.7% nhưng vẫn đảm bảo được góc roll không làm ảnh hưởng đến việc cân bằng của mô hình Unicycle robot Ở hình 4.8 d ta có thể thấy ngưỡng kích hoạt được thay đổi theo thời gian và sai số đo lường luôn nhỏ hơn căn bậc hai của ngưỡng Điều này cho thấy điều kiện kích hoạt sự kiện được đề xuất là phù hợp.
Kết quả thực nghiệm
Sau khi tiến hành mô phỏng dựa trên các thông số thực tế của mô hình ta có trọng số NN hội tụ Ta có thể sử dụng trọng số NN hội tụ mô phỏng để làm thông tin khởi tạo cho giải thuật điều khiển tối ưu áp dụng trên mô hình robot thực nghiệm Quá trình robot hoạt động sau khi được khởi tạo với bộ trọng số NN hội tụ khi mô phỏng được biểu diễn lần lượt qua các hình 4.2 và hình 4.3
Kịch bản thực nghiệm d) Sai số kích hoạt và giá trị ngưỡng
48 Để kiểm tra khả năng đáp ứng bám vị trí và vận tốc của robot, một quỹ đạo dốc tham chiếu tiến lùi đã được áp dụng cho robot Khoảng cách quỹ đạo là 0.75m, giá trị vận tốc đặt khi đi tới quỹ đạo 0.75m là 0.05(m/s) và đi lùi là -0.05(m/s) và để xét tính bền vững, ta sẽ đặt một vật có khối lượng vừa đủ tại một thời điểm bất kỳ và sau một khoảng thời gian ta sẽ tháo vật xuộng, cụ thể trong thực nghiệm lần này, tại thời điểm 30s đặt một vật có khối lượng 100g lên robot và tại thời điểm 90s tháo vật có khối lượng 100g xuống
Hình 4.9 Đáp ứng của robot khi thực nghiệm a)Đáp ứng thực tế góc roll của robot b)Đáp ứng thực tế góc pitch của robot c)Đáp ứng quỹ đạo bánh xe của robot d)Đáp ứng vận tốc bánh xe của robot
Hình 4.10 Kích hoạt sự kiện tại thời điểm góc roll giữ thăng bằng
Nhận xét: Từ hình 4.9 ta có thể , ban đầu, do quá trình lập trình robot là khi cảm biến gia tốc đạt góc bé hơn 5 o thì robot sẽ tự hoạt động, tác động của việc nhấc robot cũng ảnh hưởng đến sai số góc roll pitch cũng như vận tốc ban đầu thay đổi đột ngột Sau đó ta thấy đồ thị trạng thái của robot đã đáp ứng được yêu cầu bám quãng đường thẳng cũng như khả năng giữ trọng tâm ổn định kể cả khi có một vật có khối lượng vừa đủ đặt ở một thời gian bất kì và được tháo xuống ở một thời điểm khác thì việc bám quỹ đạo, giữ vận tốc đặt cũng như là khả năng giữ thăng bằng của robot cũng rất ổn định và bền vững Ở hình 4.10 b, số lần kích hoạt sự kiện sau 120s là khoảng 3000 lần đã giảm đi được 75% nhưng vẫn đảm bảo được góc roll không làm ảnh hưởng đến việc cân bằng của mô hình Unicycle robot (hình 4.9 a) Ở hình 4.10 a ta có thể thấy ngưỡng kích hoạt được thay đổi theo thời gian và sai số đo lường luôn nhỏ hơn căn bật hai của ngưỡng Điều này cho thấy điều kiện kích hoạt sự kiên được đề xuất là phù hợp a) Sai số kích hoạt và giá trị ngưỡng khi thực nghiệm b) Số lần kích hoạt sự kiện tích lũy theo thời gian khi thực nghiệm