You are on page 1of 22

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

BÁO CÁO BTL ĐIỀU KHIỂN NỐI MẠNG


Đề tài:
Distributed control of spacecraft formation via
cyclic pursuit - Theory and experiments

STT:
Giảng viên hướng dẫn: TS. Trịnh Hoàng Minh
Sinh viên thực hiện: Nguyễn Minh Tiến - 20174258
Tạ Hữu Quang Duy - 20173802
Hoàng Nguyễn Bách Tùng – 20174349
Phạm Đức Cường - 20173701

Hà Nội, tháng 08 năm 2021


LỜI NÓI ĐẦU

Trong những năm gần đây, ý tưởng phân tán các chức năng của một hệ các tác
tử phức tạp thành nhiều tác đơn giản hơn đang thu hút sự quan tâm ngày càng lớn.
Trên thực tế, hệ thống đa tác tử có một số ưu điểm. Ví dụ như bản chất song song của
một hệ thống đa tác tử cải thiện độ chắc chắn khi khắc phục các lỗi của từng tác tử đơn
lẻ và trong nhiều trường hợp có thể đảm bảo hiệu quả thời gian tốt hơn. Hơn nữa có
thể giảm tổng chi phí thực hiện và vận hành, tăng khả năng phản ứng và độ tin cậy của
hệ thống, đồng thời tăng tính linh hoạt và tính mô-đun cho các phương pháp tiếp cận
nguyên khối.
Trong phạm vi kiến thức của mình, nhóm em chọn bài báo “Distributed
Control of Spacecraft Formation via Cyclic Pursuit: theory and experiment” để tìm
hiểu. Báì báo này tập trung vào các bài toán hình thành đội hình hình học, đặc biệt là
mối liên hệ của chúng với đội hình bay. Nội dung của bài báo, trước hết là mở rộng
luật điều khiển phân tán dựa trên vị trí và tốc độ tuyệt đối cho các tác tử trong không
gian 3 chiều, sau đó đề xuất luật điều khiển với các thông tin tương đối. Kết quả của
luật điều khiển hội tụ tới các đội hình khác nhau với mỗi thông số khác nhau và được
kiểm chứng trên phần mềm MATLAB. Cuối cùng luật điều khiển này được tiến hành
thực nghiệm trên 3 tàu vũ trụ nano trên Trạm Vũ trụ Quốc tế (ISS).
Do lượng kiến thức còn hạn chế nên trong quá trình tìm hiểu không thể tránh
khỏi những sai sót, mong thầy góp ý tận tình để nhóm em có thể hiểu sâu hơn về kiến
thức môn học cũng như kiến thức bài báo đề cập tới.
Chúng em xin chân thành cảm ơn!

2
MỤC LỤC
LỜI NÓI ĐẦU..............................................................................................................2
MỤC LỤC.................................................................................................................... 3
DANH MỤC HÌNH VẼ...............................................................................................4
Chương 1. LÝ THUYẾT CHUNG.............................................................................5
1.1. Tích Kronecker.....................................................................................................5
1.2. Định thức của ma trâ ̣n khối.................................................................................5
1.3. Ma trâ ̣n quay.........................................................................................................5
1.4. Bài toán cyclic pursuit cho mô hình tích phân bậc nhất:...................................6
1.4.1 Cyclic pursuit trên không gian 2D.................................................................6
1.4.2 Cyclic pursuit trong không gian 3D..............................................................7
Chương 2. THUẬT TOÁN CYCLIC PURSUIT MÔ HÌNH TÍCH PHÂN BẬC 2 8
2.1. Thuật toán cyclic pursuit với hệ tọa độ tuyệt đối...............................................8
2.2. Luật điều khiển với thông tin tương đối............................................................10
2.2.1. đội hình đường tròn.....................................................................................12
2.2.2. đội hình đường xoắn ốc Archimede............................................................12
Chương 3. KẾT QUẢ MÔ PHỎNG.........................................................................14
Chương 4. THÍ NGHIỆM TRÊN TÀU TẠI ISS.....................................................16
KẾT LUẬN................................................................................................................18
DANH MỤC TÀI LIỆU THAM KHẢO..................................................................19
PHỤ LỤC: CODE MÔ PHỎNG..............................................................................20
Phụ lục 1: thuật toán cyclic pursuit với thông tin tuyệt đối................................20
Phụ lục 2: luật điều khiển với thông tin tương đối..............................................21

3
DANH MỤC HÌNH VẼ

Hình 3.1 Kết quả mô phỏng luật điều khiển với thông tin tuyệt đối............................14
Hình 3.2 Luật điều khiển với thông tin tương đối........................................................15
Hình 4.1 Kết quả thí nghiệm........................................................................................16

4
Chương 1. LÝ THUYẾT CHUNG
Trong phần này cung cấp một số định nghĩa và kết quả từ lý thuyết ma trận.
Hơn nữa, chúng ta xem xét các luật kiểm soát phân tán.
1.1. Tích Kronecker
Gọi A và B lần lượt là các ma trận m × n và p × q. Khi đó, tích Kronecker
A⊗B của A và B là ma trận mp × nq

 a11 B ... a1n B 


A  B     
 am1 B ... amn B 

Nếu λA là giá trị riêng của A với vector riêng ν A và λB là giá trị riêng của B với
vector riêng νB, thì λA.λB là giá trị riêng của A ⊗ B với vector riêng νA⊗νB. Hơn nữa,
thuộc tính sau đây giữ nguyên: (A ⊗ B) (C ⊗ D) = AC ⊗ BD, trong đó A, B, C và D
là các ma trận có kích thước thích hợp.
 Tính chất :
1. (A + B)⊗C = A⊗C + B⊗C
2. (A⊗B)(C⊗D) = AC ⊗ BD
3. (A⊗B)T = AT⊗BT
4. (A⊗B)-1= A-1⊗B-1
5. Giả sử ma trận A ∈ Rmxm có các giá trị riêng và vectơ riêng tương ứng là λ1,…,λm và
u1,…,um; ma trận B ∈ Rnxn có các giá trị riêng và vectơ riêng tương ứng là µ1,…,µn và
v1,…,vn thì ma trận A⊗B có các giá trị riêng và vectơ riêng tương ứng là λ 1µ1 và
u1⊗v1 với i = 1,…,m và j = 1,…,n.
1.2. Định thức của ma trâ ̣n khối
Nếu A, B, C và D là các ma trận có kích thước n × n và AC = CA, thì

A B
det  
C D    det  AD  CB  (1)
  
1.3. Ma trâ ̣n quay
Ma trận quay là một ma trận vuông thực có chuyển vị bằng nghịch đảo của nó
và định thức của nó là +1. Trong phạm vi bài báo, chỉ tìm hiểu ma trận quay trong
không gian 2 chiều (2) và không gian 3 chiều (3):

   cos  sin  
R ( )    (2)
  sin  cos  

5
 cos sin 0 
R       sin cos 0  (3)

 0 0 1 
Các giá trị riêng của ma trận quay theo hai chiều là e±jθ, trong đó θ là độ lớn
góc quay của phép quay và j là đơn vị ảo. Các giá trị riêng của ma trận quay theo ba
chiều là 1 và e±jθ, trong đó θ là độ lớn góc quay của phép quay đối với trục quay; đối
với một phép quay quanh trục (0, 0, 1)T, các vecto riêng tương ứng là (0, 0, 1)T, (1, + i,
0)T (1, −i, 0)T.
1.4. Bài toán cyclic pursuit cho mô hình tích phân bậc nhất:

1.4.1 Cyclic pursuit trên không gian 2D


Có n tác tử di động trong không gian, vị trí của mỗi tác tử được biểu diễn bởi
vector xi(t)=[xi,1(t), xi,2(t)]T. Trong đó xi,1(t) là tọa độ của tác tử thứ i theo trục x, x i,2(t)
là tọa độ của tác tử thứ i theo trục y. Ở đây tác tử thứ i sẽ bám theo tác tử thứ i+1, với i
= 1,…,n (quy ước n+1 = 1). Mô hình động học của mỗi tác tử được biểu diễn bởi hệ
phương trình:

ẋ i=ui ,
i  1,..., n (4)
ui = R(θ)( x i+1 - x i),

Trong đó R(θ) là ma trận quay, θ ∈ [-π, π)


cos θ sin θ
R(θ)= (−sin θ cos θ ) (5)

Ma trận quay R( ) có 2 trị riêng, ejθ và e-jθ.


Với x = [x1T, x2T, …, xnT]T, động học của toàn bộ hệ thống được viết lại như sau:

ẋ=( L ⊗ R ( θ ) ) . x (6)
Trong đó L là ma trận:
 1 1 0 ... 0 
 0 1 1 ... 0 
L 
 
 
 1 0 0 ... 1 (7)

Trị riêng của ma trận L là


k  e2 kj / n  1 , k  {1,..., n} . Dựa vào tính chất của tích

Kronecker, ma trận L  R ( ) sẽ có 2n trị riêng: e2 ( k n ) j / n  j  e j và


e 2 ( k  2 n ) j / n  j  e  j , k  1,..., n .

6
Định lý 1: Ma trận L  R( ) luôn có 2 giá trị riêng bằng 0 và:

0  
1, Nếu n tất cả các trị riêng khác 0 nằm bên trái trục ảo => các tác tử sẽ hội tụ
về một điểm.

 
2, Nếu n có 2 giá trị riêng của nằm trên trục ảo, trong khi các trị riêng khác 0
nằm ở nửa bên trái trục ảo => các tác tử sẽ hội tụ về một đội hình vòng tròn cách đều
nhau.
 2
 
3, Nếu n n có 2 giá trị riêng khác không nằm bên phải trục ảo, trong khi các
giá trị riêng khác 0 còn lại nằm ở nửa bên trái trục ảo => Các tác tử sẽ tạo thành một
hình xoắn ốc cách đều nhau.
1.4.2 Cyclic pursuit trong không gian 3D
Tương tự, có thể mở rộng thuật toán cyclic pursuit trên không gian 3D một cách
T
dễ dàng. Khi đó tọa độ của mỗi tác tử: x i (t)=[ x i ,1 (t ), x i ,2 (t) , xi , 3 (t) ] ∈ R3 , ma trận quay:
R( ) ’ là ma trận quay trong không gian 3 chiều với   [   ,  ) và quay quanh trục
z. Động học của toàn bộ hệ thống trở thành:

ẋ=( L ⊗ R ( θ ) ) . x (8)
Trong đó x biểu diễn tọa độ của n tác tử trong không gian 3 chiều. Ma trận
L  R( ) sẽ có 3n giá trị riêng:

k  e2 kj / n  1 k  1,..., n
k  e2 ( k  n ) j / n  j  e j k  n  1,..., 2n
k  e2 ( k  2 n ) j / n  j  e j ,
k  2n  1,...,3n (9)


Ở đây với k  {1,..., n  1} thì k nằm ở nửa bên trái trục ảo, với k = n, chúng ta
có n = 0 và với k  {n+1,...,3n} , các giá trị riêng của ma trận sẽ tương tự như định lý
1. Khác biệt ở đây là ma trận L  R( ) có 3 giá trị riêng bằng 0. Các kết quả phân tích
trong trường hợp này cũng giống với định lý 1.

7
Chương 2. THUẬT TOÁN CYCLIC PURSUIT MÔ HÌNH TÍCH PHÂN
BẬC 2
Trong phần này. bài báo mở rô ̣ng luâ ̣t điều khiển Cyclic Pursuit trước đó thành
phép tích phân bậc 2. Xét mô hình động lực học cho các tác tử biểu diễn mô ̣t luâ ̣t điều
khiển mà yêu cầu mỗi tác tử có khả năng đo được vâ ̣n tốc toàn cục của chúng, sau đó
thiết kế mô ̣t luâ ̣t điều khiển chỉ yêu cầu mối liên hê ̣ giữa phép đo vâ ̣n tốc và vị trí của
các tác tử. Đă ̣t xi(t) = [xi,1(t), xi,2(t), xi,3(t)]T ∈ R3 là vị trí tại thời điểm t ≥ 0 của tác tử
thứ i , i∈{1 ,2 , 3 ,... , n } và đă ̣t x=[x 1T , x 2T ,... , xnT ]T , đă ̣t R(θ ) là ma trâ ̣n quay trong không
gian ba chiều với góc quay θ ∈ [-π, π ) và trục quay (0,0,1)T . Động lực học của mỗi tác
tử được biểu diễn bởi mô ̣t mô hình tích phân bậc 2:
ẍ i=ui (10)
2.1. Thuật toán cyclic pursuit với hệ tọa độ tham chiếu
Luật điều khiển được sử dụng:
ui=k d R(θ)(x i+1 −xi )+ R(θ)( ẋ i+1− ẋ i )−k d ẋ i (11)
Trong đó kd là hằng số:
Mô hình động học của n tác tử dưới dạng ma trận:
¿ ẋ = 0 I 3n
[ ][
¿ ẍ k d A (θ) A (θ)−k d I 3 n ]
x ¿˙ C (θ) x (12)

Trong đó: A(θ) ¿˙ L⊗ R(θ), I 3n : là ma trận đơn vị, kích thước 3n x 3n

- Phân tích các trị riêng và vector riêng của ma trận C ( ) :


Định lý 2: giả sử -kd không phải là giá trị riêng của ma trận A( ) . Các giá trị riêng của
ma trận C ( ) bao gồm 3n giá trị riêng -kd và 3n giá trị riêng của A( ) . Hay nói cách
khác  (C ( ))   ( A( ))  {  kd } .

Vector riêng của ma trận C ( ) tương ứng với trị riêng thứ k là:

v k ¿˙ ¿ v k ,1 = ¿ μ k
[ ][ ]
¿ v k ,2 ¿ λk μk
(13)


Trong đó k là vector riêng của ma trận A( ) tương ứng với giá trị riêng k . 3n vector
riêng (độc lập) ứng với 3n giá trị riêng -kd:

v k ¿˙ ¿ v k ,1 = ¿−k d e k−3 n , k  3n  1,..., 6n . Trong đó ej là vector cơ sở thứ i của không


−1

[ ][
¿ v k ,2 ¿ e k−3 n ]
gian vector R3 n .

-Chứng minh: Các trị riêng của ma trận C ( ) được tính bởi phương trình:

8
λ I3 n
0=det
[ −I 3 n
−k d A (θ) λ I 3n −( A (θ)−k d I 3 n ) ] (14)

è 0  det(  2
I 3n   ( A( )  kd I 3n )  kd A( ))  det((  kd ) I 3n ) det( I 3n  A( ))

Do đó các trị riêng của C ( ) phải thỏa mãn det((  kd ) I 3n )  0 và


det( I 3n  A( ))  0 => phần đầu tiên trong định lý 2 được chứng minh.

[vkT,1vkT,2 ]T
Bằng cách định nghĩa vector riêng thứ k: tương ứng với giá trị riêng k ,
k  1,...,6n . Thỏa mãn phương trình:

¿ v k ,1 0 I 3n ¿ vk , 1 vk , 2
λk
[ ][
¿ v k ,2
=
][ ] [
k d A (θ) A( θ)−k d I 3 n ¿ v k , 2
=
k d A(θ)v k , 1+ A (θ) v k ,2−k d v k ,2 ] (15)

Từ phương trình trên có thể dễ dàng thu được:


k vk ,1  vk ,2
k vk ,2  kd A( )vk ,1  A( )vk ,2  k d vk ,2
(16)
Do đó:
k (kd  k )vk ,1  (kd  k ) A( )vk ,1
(17)

   k [  kd 1e j , e j ]T j  1,...3n kd   ( A( ))


Nếu k d chúng ta có 3n vector riêng là , , =>
k vk ,1  A( )vk ,1
=> điều phải chứng minh.

Định lý 3: Giả sử -kd không phải là một giá trị riêng của ma trận A( ) , với tín hiệu
điều khiển cho mỗi tác tử là ui được cho bởi phương trình như ở trên và vị trí ban đầu
của các tác tử là ngẫu nhiên khác 0  R , các tác tử sẽ hội tụ theo hàm mũ:
3n


0  
1, nếu n các tác tử sẽ hội tụ đến một điểm giới hạn là điểm trọng tâm từ vị trí
ban đầu của các tác tử.

 
2, nếu n các tác tử sẽ tạo thành một đội hình vòng tròn cách đều nhau.

 2
 
3, nếu n n các tác tử sẽ tạo thành hình xoắn ốc cách đều nhau.

Chứng minh: như ở định lý 2 các vector riêng của C ( ) là độc lập tuyến tính. Thật

vậy, các vector riêng


vk , k  1,...3n độc lập tuyến tính cho đến vector  k ,

9
k  3n  1,..., 6n cũng là độc lập tuyến tính. Vì bằng cách giả sử -kd không phải là trị

riêng của A( ) , từ yêu cầu thực tế các vector riêng tương ứng với các trị riêng khác
nhau là độc lập tuyến tính.

Từ thảo luận về trị riêng của ma trận L  R( ) trong định lý 2, nghiệm của bài toán có
thể được viết lại:
q mk q mk
et λ μ jk
x (t )
[ ]
k

[ ]
ẋ ( t ) k =2 j=1
tλ k 1 2 3
=∑ ∑ α kj e v jk + x G d G +¿ y G d G + z G d G =∑ ∑ α kj
k=2 j=1

λ k e μ jk
+ x G d 1G + y G d 2G + z G d 3G(18)
k
¿

Trong đó q là số giá trị riêng phân biệt, mk là bội số của các trị riêng, αkj là hằng
số, di là vector hằng thuộc R6n, (xG, yG, zG)T là một vector hằng khác, từ thảo luận định
G

lý 2 ta có :

0  
+Nếu n tất cả các trị riêng khác không nằm bên trái trục ảo => các tác tử sẽ
hội tụ về một điểm.

 
+Nếu n có 2 giá trị riêng của nằm trên trục ảo, trong khi các trị riêng khác không
nằm ở nửa bên trái trục ảo => các tác tử sẽ hội tụ về một đội hình vòng tròn cách đều
nhau.
 2
 
+ Nếu n n có 2 giá trị riêng khác không nằm bên phải trục ảo, trong khi các
giá trị riêng khác không còn lại nằm ở nửa bên trái trục ảo => Các tác tử sẽ tạo thành
một hình xoắn ốc cách đều nhau.
2.2. Luật điều khiển với thông tin tương đối
Xét luật điều khiển phản hồi:

ui=k 1 . R2 ( θ ) . ( ( xi +2−x i+1 ) −( x i+1−x i ) ) + k 2 . R ( θ ) .( ẋi +1− ẋ i) (19)


Trong đó k1, k2 là các hằng số thực. Trong trường hợp này, mỗi tác tử thứ i chỉ cần
phải đo vị trí tương đối với tác tử thứ i+1 và i+2, và tốc độ tương đối với tốc độ của tác
tử thứ i+1.
Với ma trận L xác định như trên ta tính tính được ma trận L2 như sau:
1 −2 1 0 … 0

⋮ ⋮ ⋮
[
L = 0 1 −2 1 … 0
2
⋮ ⋮ ⋮
−2 1 0 0 … 1
Suy ra dạng ma trận của mô hình động lực học của n tác tử:
] (20)

[ ẋẍ]=[ k L ⊗0 R ( θ )
1
2 2
I 3n
k 2 L⊗ R ( θ ) ] . x=F ( θ ) . x (21)

10
Đặt A ( θ )=L ⊗ R(θ).
2
Theo tính chất của tích Kronecker: L2 ⊗ R 2 ( θ )= ( L⊗ R ( θ ) ) . Vậy ta có ma trận F ( θ ) được
viết lại:

0 I 3n
F (θ)=
[ 2
k 1 A (θ) k 2 A (θ) ] (22)

Phương trình đặc trưng:


λ I 3n −I 3 n
det
[ 2
−k 1 A (θ ) λ I 3 n−k 2 A ( θ ) ] =0 (23)

Do λ I 3 n . (−k 1 A 2 ( θ ) ) =(−k 1 A 2 ( θ ) ) . λ I 3 n, suy ra:

det ( λ2 I 3 n −λ . k 2 A ( θ )−k 1 A 2 (θ ) )=0 (24)


Đặt;

k2 k2 2

Suy ra:
±
β =
2
±
√( 2 ) + k1 (25)

0=det ( λ2 I 3 n− λ . k 2 A ( θ ) −k 1 A 2 ( θ ))

¿ det ¿¿ (26)
¿ det ¿
Suy ra các trị riêng của ma trận F thỏa mãn:

det ¿ ¿ (27)
Vậy ma trận F có 6n giá trị riêng thỏa mãn:
λk
- 3n giá trị riêng λk thỏa mãn là trị riêng của ma trận A(θ) với k=1…3n
β+¿ ¿
λ
- 3n giá trị riêng λk thỏa mãn −¿k là trị riêng của ma trận A(θ) k=3n+1…6n
β ¿
T
Đặt v k =[ v k1 v k 2 ] là vector riêng ứng với trị riêng λk của ma trận F (k=1…6n). Ta có:

0 I 3n v k1 v k2 v
[ 2
k1 A ( θ ) k2 A ( θ) vk 2 ][ ] [
= 2
k 1 A ( θ ) . v k 1+ k 2 A ( θ ) . v k 2
=λk k 1
vk 2 ] [ ] (28)

Suy ra ta có:
v k 2=λk . v k 1
(29)
k 1 A 2 ( θ ) . v k 1 + k 2 A ( θ ) . v k 2 = λk . v k 2
Hay:

λ 2k . v k1=k 1 A 2 ( θ ) . v k 1 +k 2 A ( θ ) . λ k . v k 1 (30)

11
Bằng phép đặt β ± như trên , phương trình trên được viết lại như sau:

¿ (31)
λk
Xét trường hợp +¿ là trị riêng của ma trận A ( θ ). Suy ra v k1 =μ k là
β (k =1 …3 n) ¿
λk
vector riêng của ma trận A ( θ ) ứng với trị riêng . Vậy ta có:
β+¿ ¿
vk 1 μ
v k=
[ ][ ]
vk 2
= k (k =1 … 3 n)
λk μk
(32)

λk
Tương tự xét với trường hợp −¿ là trị riêng của ma trận A ( θ ) , suy ra
β ( k=3 n+1 … 6 n)¿
λ k
ta có vector riêng ứng với trị riêng −¿
β :¿
vk 1 μ
v k=
[ ][ ]
vk 2
= k (k =3 n+1 … 6 n)
λk μk
(33)

Bằng việc lựa chọn hằng số k1, k2 và góc θ, các tác tử sẽ hội tụ tới các đội hình khác
nhau. Trong bài báo này, tác giả tập trung vào việc xác định k1, k2 và θ sao cho đội
hình các tác tử hội tụ tới đội hình đường tròn cách đều và đội hình xoắn ốc Archimede.
2.2.1. đội hình đường tròn
π k 2 2

Định lý 4: Với k 2=2. cos ( ) 2n 2 ( ) ( ( )) và θ= 2πn , đội hình các tác


, k 1=− 2 − sin
π
2n
tử sẽ hội tụ tới đội hình đường tròn cách đều nhau.
π
Thật vậy, với các giá trị k1, k2 đã chọn, có β ± =e j . 2 n . Khi đó ma trận F(θ) có 6
trị riêng bằng 0, 2 trị riêng nằm trên trục ảo và các trị riêng còn lại nằm bên trái
mặt phẳng phức. Khi t  ∞, đội hình các tác tử sẽ hội tụ tới giá trị đồng thuận:

w1dom w2dom
[ ][ ] [ ] [
x ( t ) = xG +t ẋ G + c
ẋ(t) ẋG 0 1
−ω . w2dom
+c 2
] [
−ω . w1dom ] (34)

Trong đó, x G , ẋ G lần lượt là vị trí và tốc độ ban đầu của trọng tâm đội hình các tác tử; c 1

và c2 là các hằng số phụ thuộc vào các điều kiện ban đầu; ω=const=2.sin ( πn ); w dom là
các hàm riêng, xác định bởi:
w 1dom =[cos ( ωt+ δ 1 ) , sin ( ωt +δ 1 ) ,0 , … , cos ( ωt+ δ n ) , sin ( ωt +δ n ) , 0]
(35)
w 2dom =[sin ( ωt + δ 1 ) ,−cos ( ωt +δ 1) , 0 , … , sin ( ωt +δ n ) ,−cos ( ωt+ δ n ) , 0]
2 π ( i−1 )
Với: δ i= (n=1 … . n)
n

12
2.2.2. đội hình đường xoắn ốc Archimede
k2 2 π
Định lý 5: Với k 1=− ( )
2
, k 2 >0 và θ= đội hình các tác tử sẽ hội tụ tới đội hình
n
dường xoắn ốc Archimedes với trọng tâm của đội hình có tốc độ là hằng số.
Thật vậy, với giá trị k1 và k2 chọn như trên, sẽ có β+ = β- và λk= λk+3n (k=1…3n). Khi đó
ma trận F(θ) có 4 trị riêng nằm trên trục ảo, 6 trị riêng bằng 0 và các trị riêng còn
lại nằm bên trái mặt phẳng phức. Khi t  ∞, đội hình các tác tử sẽ hội tụ tới giá trị
đồng thuận:

1 2
x ( t ) = xG +t ẋ G + d 0 +d 0 +(c ¿ 1+d t ) w dom +(c ¿ 2+ d t) w dom ¿ ¿
[ ][ ] [ ] [ ] [ ]
ẋ(t) ẋG 0 1
w1dom 2
w 2dom
¿ 1
[
−ω . w2dom
¿
] 2
−ω . w1dom[
(36) ]
Trong đó, x G , ẋ G lần lượt là vị trí và tốc độ ban đầu của trọng tâm đội hình các
tác tử; c1, c2, d1, d2 là các hằng số phụ thuộc vào các điều kiện ban đầu;

ω=const=2.sin ( πn ).
Khi đó các tác tử sẽ chuyển động theo quỹ đạo xoắn ốc; bán kính quỹ đạo tăng
với tỷ lệ không đổi bằng √ d 1+ d 2 và trọng tâm của đội hình di chuyển với tốc độ không
đổi ẋ Gxác định bởi điều kiện ban đầu.

13
Chương 3. KẾT QUẢ MÔ PHỎNG
Xét trường hợp mô phỏng với luật điều khiển:
ui=k d . R ( θ ) . ( x i+1− xi ) + R ( θ ) . ( ẋ i+1− ẋ i )−k d . ẋi

Như đã trình bày ở phần trước, với các giá trị θ khác nhau, hệ thống các tác tử
sẽ hội tụ tới các đội hình khác nhau. Kết luận này được chứng minh bởi các kết quả
mô phỏng trong hình 3.1a, 3.1b và 3.1c tương ứng với các trường hợp góc θ<π/n, θ=
π/n và θ>π/n.

(a) Các tác tử hội tụ tới trọng tâm đội hình

(b) Các tác tử hội tụ tới đội hình đường tròn (c) Các tác tử hội tụ tới đội hình xoắn ốc
Hình 3.1 Kết quả mô phỏng luật điều khiển với thông tin tuyệt đối
Xét trường hợp luật điều khiển với thông tin tương đối:
ui=k 1 . R2 ( θ ) . ( ( xi +2−x i+1 ) −( x i+1−x i ) ) + k 2 . R ( θ ) .( ẋi +1− ẋ i)

Bằng việc lựa chọn các giá trị k1, k2 và θ theo định lý 4 và 5, các tác tử sẽ hội tụ
tới đội hình đường tròn cách đều hoặc đội hình xoắn ốc Archimede. Định lý được
kiểm chứng bằng bằng kết quả mô phỏng thể hiện trên hình 3.2. Hình 3.2a thể hiện kết
quả cho định lý 4, các tác tử hội tụ tới đội hình các đường tròn cách đều. Trong khi đó

14
hình 3.2b, quỹđạo các tác tử hội tụ tới đội hình xoắn ốc Archimede với bán kính tăng
dần.
(a) Quỹ đạo
đường tròn
cách đều

(b) Quỹ đạo


đường xoắn
ốc
Archimede
Hình 3.2 Luật điều khiển với thông tin tương đối.

15
Chương 4. THÍ NGHIỆM TRÊN TÀU TẠI ISS
Bài báo đã thử nghiệm các định luật điều khiển trên SPHERES tại trạm không
gian Quốc tế. SPHERES là một khu vực thử nghiệm bao gồm nhiều thiết bị nhỏ có các
chức năng tương tự như các thiết bị trên một vệ tinh. Hệ thống đẩy sử dụng khí CO2
nén , còn bộ phận đo lường hoạt động như thiết bị GPS. Mỗi thiết bị đều có bộ ước
lượng để tính toán trạng thái cục bộ từ việc đo đạc xung siêu âm. Hệ thống sử dụng
TDMA đơn dựa vào 1 kênh RF để kết nối trạng thái của nó với các tàu lân cận. Động
lực học của mỗi tàu vũ trụ được ước tính gần đúng bằng một hàm tích phân bậc 2. Đối
với phần thí nghiệm trong mục này, bài báo sử dụng luật điều khiển kiểm soát tốc độ
để theo dõi biểu đồ vận tốc. Sự hội tụ thành các quỹ đạo tròn cách đều nhau với bán
kính cho trước được thực hiện bằng cách tạo góc quay động, cụ thể:

i   / n  k (r  xi 1  xi ) (37)

Với r > 0 và
k > 0. Góc quay có thể khác nhau giữa các tác tử. Nếu các tác tử ở gần

nhau, chúng sẽ xoắn ốc khi i


  /n . Ngược lại nếu các tác tử ở xa nhau, chúng sẽ
xoắn ốc khi i   / n . Dễ dàng nhận ra rằng một đội hình mà trong đó tất cả các tác
tử di chuyển trên 1 đường tròn bán kính r / (2 sin( / n)) xung quanh trung tâm cố
định của đội hình, mà các tác tử cách đều nhau, là trạng thái cân bằng tương đối của hệ
thống.

Hình 4.3 Kết quả thí nghiệm: (a) Phép quay trong mặt phỏng x-z; (b) Hội tụ thành
một hình tròn có bán kính lớn hơn; (c) Tác tử thứ 3 tham gia vào đội hình; (4) Hình 3D [1]

16
Thí nghiệm bao gồm các bước sau, với điều kiện ban đầu là x1 = [0, −0.1, −0.2]T ,
x2 =[0, 0.1, 0.2]T , x3 = [0, 4, 0]T và vận tốc bằng 0:
1. Hai tàu vũ trụ chuyển động quay theo phương x-z.
2. Thay đổi bán kính theo giá trị mong muốn và con tàu xoắn ốc ra ngoài để đạt
được đường tròn với bán kính lớn hơn.
3. Tàu thứ ba tham gia vào sự hình thành và cấu hình hệ thống, tạo thành đội hình
vòng tròn 3 tàu cách đều nhau.
Mục đích của thí nghiệm là để kiểm tra sự hội tụ thực tế để đạt được khoảng cách đều
nhau và sự thay đổi số lượng lớn của các tác tử.

17
KẾT LUẬN
Bài báo đã nghiên cứu các chiến lược điều khiển phân tán đối với sự hình thành
của đội hình tàu vũ trụ, lấy cảm hứng từ simple cyclic pursuit. Đồng thời thuật toán đề
xuất cũng được kiểm chứng cả với mô phỏng và thực nghiệm. Bài báo đã đưa ra
những ứng dụng tiềm năng cùng với đó là kết quả thí nghiệm, mà có thể sẽ mở ra
nhiều hướng nghiên cứu quan trọng khác trong tương lai.
Bên cạnh đó, trong thời gian thực hiê ̣n đề tài, do với trình đô ̣ và kiến thức còn
hạn chế nên không tránh khỏi những sai sót. Do đó chúng em rất mong sẽ nhâ ̣n được
những ý kiến đóng góp của TS. Trịnh Hoàng Minh để đề tài của chúng em được mô ̣t
hoàn thiê ̣n hơn.
Chúng em xin được cảm ơn TS. Trịnh Hoàng Minh đã chỉ dạy chúng em để
chúng em có thể hoàn thành tốt đề tài này.
Mô ̣t lần nữa, chúng em xin chân thành cảm ơn!

18
DANH MỤC TÀI LIỆU THAM KHẢO
[1] J. L. Ramirez-Riberos, M. Pavone, E. Frazzoli, and D. W. Miller, “Distributed
Control of Spacecraft Formations via Cyclic Pursuit: Theory and Experiments,”
J. Guid. Control. Dyn., vol. 33, no. 5, pp. 1655–1669, Sep. 2010.
[2] M. Pavone and E. Frazzoli, “Decentralized Policies for Geometric Pattern
Formation and Path Coverage,” J. Dyn. Syst. Meas. Control, vol. 129, no. 5, pp.
633–643, Sep. 2007.
[3] Trịnh Hoàng Minh, Slide bài giảng Điều khiển nối mạng.

19
PHỤ LỤC: CODE MÔ PHỎNG
Phụ lục 1: thuật toán cyclic pursuit với hệ tọa độ tham chiếu
clear all close all
global C;
n=4; teta=pi/4; kd=2;
L=[-1 1 0 0;
0 -1 1 0;
0 0 -1 1;
1 0 0 -1];
R=[cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1];
I3=eye(3*4); At=kron(L,R);
C11=0*I3; C12=I3; C21=kd*At; C22=At-kd*I3;
C=[C11 C12;C21 C22];
x0=(0.5-rand(24,1))*2;
[t,x]=ode45(@consensus,[0 10],x0);
[row,col]=size(x)
for i=1:(col/2)
if mod(i+2,3)==0
x1(:,(i+2)/3)=x(:,i);
end
if mod(i+1,3)==0
x2(:,(i+1)/3)=x(:,i);
end
if mod(i,3)==0
x3(:,i/3)=x(:,i);
end
end
for i=(col/2+1):col
if mod(i+2,3)==0
dx1(:,(i+2)/3-4)=x(:,i);
end
if mod(i+1,3)==0
dx2(:,(i+1)/3-4)=x(:,i);
end
if mod(i,3)==0
dx3(:,i/3-4)=x(:,i);
end
end
figure(1)

20
hold on
plot3(x1,x2,x3)
plot3(x1(1,:),x2(1,:),x3(1,:),'*','LineWidth',3);
plot3(x1(row,:),x2(row,:),x3(row,:),'s','LineWidth',3);
legend('tác tử 1','tác tử 2', 'tác tử 3', 'tác tử 4','vị
trí đầu', 'vị trí cuối');

hàm đồng thuận


function y=consensus(t,x)
global C;
y=C*x;
end
Phụ lục 2: luật điều khiển với thông tin tương đối
clear all
close all
global C; n=4;
%chọn các thông số cho đội hình đườngng tròn
teta=pi/(2*n);
k2=2*cos(pi/(2*n));
k1=-(k2/2)^2-(sin(pi/(2*n)))^2;
% %chọn thông số cho đội hình Archimedes spirals
% teta=pi/(n);
% k2=4; %k2>0
% k1=-(k2/2)^2;
L=[-1 1 0 0;
0 -1 1 0;
0 0 -1 1;
1 0 0 -1];
R=[cos(teta) -sin(teta) 0;
sin(teta) cos(teta) 0;
0 0 1];
I3=eye(3*n); At=kron(L,R);
C11=0*I3; C12=I3; C21=k1*At^2; C22=k2*At;
C=[C11 C12;C21 C22];
x0=(0.5-rand(3*2*n,1))*2;
[t,kq]=ode45(@consensus,[0 10],x0);
[row,col]=size(kq)
for i=1:(col/2)
if mod(i+2,3)==0
x(:,(i+2)/3)=kq(:,i);
end
if mod(i+1,3)==0
y(:,(i+1)/3)=kq(:,i);
end
if mod(i,3)==0
z(:,i/3)=kq(:,i);

21
end
end
for i=(col/2+1):col
if mod(i+2,3)==0
dx(:,(i+2)/3-n)=kq(:,i);
end
if mod(i+1,3)==0
dy(:,(i+1)/3-n)=kq(:,i);
end
if mod(i,3)==0
dz(:,i/3-n)=kq(:,i);
end
end
figure(3)
hold on
grid on
plot3(x,y,z)
plot3(x(1,:),y(1,:),z(1,:),'*','LineWidth',3);
plot3(x(row,:),y(row,:),z(row,:),'s','LineWidth',3);
legend('tác tử 1','tác tử 2', 'tác tử 3', 'tác tử 4','vị
trí đầu', 'v trí cuối');
figure(4)
hold on
grid on
plot3(dx,dy,dz)
plot3(dx(1,:),dy(1,:),dz(1,:),'*','LineWidth',2);
plot3(dx(row,:),dy(row,:),dz(row,:),'s','LineWidth',2);

hàm đồng thuận


function y=consensus(t,x)
global C;
y=C*x;
end

22

You might also like