Bài viết trình bày phương pháp kiểm thử mô hình điều khiển máy bay không người lái cánh bằng với cấu hình QuadPlane sử dụng kết hợp công cụ Matlab và X-Plane. Mô hình hệ thống mô phỏng, quá trình thiết lập môi trường mô phỏng cũng như cơ chế điều khiển tự động quá trình cất cánh, bay hành trình và quá trình hạ cánh của phương tiện Quadplane được trình bày chi tiết trong bài báo. Thông qua kết quả kiểm thử các kịch bản điểu khiển tự động phương tiện bay cho thấy thuật toán điều khiển tự động cho UAV cấu hình QuadPlane có thể tin cậy về mặt lý thuyết và khả thi khi áp dụng cho một số tình huống được mô phỏng khảo sát theo thời gian thực. Mời các bạn cùng tham khảo!
Trang 1Abstract— Trong bài báo này, chúng tôi trình bày phương pháp
kiểm thử mô hình điều khiển máy bay không người lái cánh bằng
với cấu hình QuadPlane sử dụng kết hợp công cụ Matlab và
X-Plane Mô hình hệ thống mô phỏng, quá trình thiết lập môi
trường mô phỏng cũng như cơ chế điều khiển tự động quá trình
cất cánh, bay hành trình và quá trình hạ cánh của phương tiện
Quadplane được trình bày chi tiết trong bài báo Thông qua kết
quả kiểm thử các kịch bản điểu khiển tự động phương tiện bay cho
thấy thuật toán điều khiển tự động cho UAV cấu hình QuadPlane
có thể tin cậy về mặt lý thuyết và khả thi khi áp dụng cho một số
tình huống được mô phỏng khảo sát theo thời gian thực
Index Terms— UAV, cánh bằng, mô phỏng, điều khiển
I GIỚITHIỆU
A Máy bay không người lái cấu hình QuadPlane
Trong những năm gần đây, công nghệ máy bay không người
lái-UAV (Unmanned Arial Vehicles) đã được phát triển và ứng
dụng rất mạnh vào nhiều lĩnh vực cả kinh tế xã hội và an ninh
quốc phòng Hai cấu hình phổ biến của UAV là cánh bằng và
UAV đa chong chóng mang (mutirotor), nhưng mỗi cấu hình có
điểm mạnh và điểm hạn chế riêng
Hình 1 Cấu hình Twin-boom QuadPlane
UAV cánh bằng có điểm mạnh là tiêu thụ ít nhiên liệu hơn
nếu cùng khối lượng và trên cùng một quãng đường bay so với
multirotor nhưng lại cần đường băng dài và bằng phẳng trong
cả quá trình cất và hạ cánh Ngược lại, multirotor tốn nhiều năng lượng nhưng lại có khả năng cất hạ cánh thẳng đứng Cấu hình QuadPlane ra đời để tận dụng được điểm mạnh cũng như khắc phục điểm hạn chế của cả hai cấu hình trên Đối tượng khảo sát
là cấu hình UAV có sự kết hợp của máy bay cánh bằng cấu hình Twin-boom inverted V-tail (đuôi V ngược) với Quadcopter
Với cấu hình này, UAV có đủ các bộ phận cũng như các cơ cấu chấp hành của một Twin-boom inverted V-tail: aileron, ruddervators (đuôi chữ V ngược) Đồng thời cấu hình này sẽ có thêm bốn động cơ cánh quạt nằm song song với mặt đất, hướng thẳng đứng như bốn động cơ của cấu hình Quadcopter [1]
Bảng 1 Thông số cấu hình UAV
B Kiến trúc tổng quan hệ thống UAV
Trong sơ đồ nguyên lý của một hệ thống UAV điển hình, tín hiệu điều khiển sẽ được truyền đến UAV, hệ thống điều khiển bay nhận và thực hiệu lệnh điều khiển các cơ cấu chấp hành
Tiếp theo phản hồi của UAV sẽ được quan sát bởi hệ thống cảm biến Dữ liệu này sẽ được dùng để kết hợp tính toán đưa ra tín điều khiển tiếp theo
Hình 2 Sơ đồ kiến trúc tổng quan một hệ thống UAV
Mô hình mô phỏng cũng sẽ được được hiện tương tự như vậy Trong đó công cụ tạo môi trường mô phỏng là phần mềm X-Plane và thuật toán điều khiển sẽ được triển khai trên Matlab-Simulink Hiện có 3 hệ thống mô phỏng thường sử dụng là: (1) FAA/EASA approved Flight Simulators, (2) RC Model Aircraft Flight Simulator, và (3) Full Scale Flight Simulators.Trongcông
cụ mô phỏng trên, FAA/EASA approved Flight Simulators là phần mềm mô phỏng chuyên dụng dùng để huấn luyện phi công
Tự động Phương Tiện Bay QuadPlane Sử Dụng
Kết Hợp Công Cụ Matlab và X-Plane
1Viện Điện tử Viễn thông, Đại học Bách khoa Hà Nội 2Viện Hàng Không Vũ trụ Viettel
†Email: tuan.dotrong@hust.edu.vn Email: thethaibinh@gmailcom
Trang 2cho máy bay thương mại với chi phí cao RC Model Aircraft
Flight Simulator là phần mềm mô phỏng dùng trong việc tập
luyện lái các loại máy bay mô hình cỡ nhỏ Full Scale Flight
Simulators là phần mềm mô phỏng máy bay với quy mô đầy đủ
cho phép nhiều tùy biến từ người dùng từ đó đáp ứng đủ yêu
cầu có thể kiểm thử các thuật toán bay tự động trên matlab
simulink Trong đó X-Plane thuộc loại thứ nhất, FAA/EASA
approved Flight Simulators, là phần mềm mô phỏng máy bay
toàn diện và mạnh mẽ nhất, cung cấp các mô hình và chuyến
bay thực tế cũng như có thể kết hợp với công cụ
Matlab-Simulink để thực hiện kiểm thử thuật toán điều khiển tự động
với đa dạng các mô hình UAV
C Nền tảng mô phỏng X-Plane
X-Plane là một công cụ phần mềm cho phép thực hiện các
chuyến bay mô phỏng trong môi trường giả lập của hãng
Laminar Research, mô hình hóa chi tiết động lực học của
phương tiện bay Bộ công cụ X-Plane đã được FAA - Cục hàng
không liên bang Mỹ sử dụng trong quá trình đào tạo phi công
của họ bởi phương pháp tiếp cận của nó đảm bảo sự tin cậy của
kết quả đáp ứng Vì sự tiên tiến và chi tiết hơn so với những nền
tảng mô phỏng bay dựa trên phương pháp tính các phương trình
vi phân cân bằng (stability derivatives), nhiều dự án nghiên cứu
thành công đã được thực hiện với sự trợ giúp của X-Plane là
công cụ dùng để mô phỏng và kiểm thử [2]
Hình 3 Phương pháp tiếp cận mô phỏng của X-Plane
Cấu trúc một mô hình động lực học bay của một nền tảng mô
phỏng điển hình sẽ bao gồm một solver khí động lực học - một
tập hợp các phương trình miêu tả đáp ứng của phương tiện bay
Đáp ứng đầu ra của solver sẽ được đưa vào khối tính toán 6DoF
(6 degrees of freedom) Một nền tảng mô phỏng thông thường
như FlightGear hay Matlab-Simulink sẽ tạo ra đáp ứng thực của
phương tiện bay dựa trên các dữ liệu thực nghiệm và các bảng
tham chiếu định nghĩa trước – lookup table để xác định lực khí
động như lực nâng, lực cản, những đại lượng này sẽ luôn thay
đổi theo điều kiện bay khác nhau X-Plane khác biệt so với phần
còn lại của thế giới bằng cách áp dụng một phương pháp mô
hình hóa khí động có tên gọi là blade element theory Phương
pháp này sẽ cải thiện độ chính xác của mô phỏng bằng cách tái
tạo lại lực và mô men tác động lên từng thành phần của phương
tiện bay mà có đóng góp vào lực hay mô men đó một cách độc
lập [3]
D Kiến trúc hệ thống mô phỏng
Hình 4 Kiến trúc của hệ thống mô phỏng
Hệ thống mô phỏng cấu thành bởi hai thành phần chính như trên hình 4, bao gồm:
- Phần mềm điều khiển được thực thi dưới dạng mô hình Simulink Mô hình này sẽ tính toán và cung cấp tín hiệu điều khiển cơ cấu chấp hành Phần mềm điều khiển bao gồm hai thành phần con: một khối tính toán ước lượng trạng thái vật lý của UAV và một bộ điều khiển Bộ ước lượng trạng thái sử dụng dữ liệu thô từ cảm biến để tính toán và đưa ra trạng thái của UAV Trạng thái ước lượng được sẽ được sử dụng bởi bộ điều khiển để tính toán tín hiệu điều khiển Ngoài ra một vài mô hình tín hiệu của cảm biến sẽ được xây dượng để giả lập tín hiệu thô cảm biến từ dữ liệu phản hồi thực do X-Plane cung cấp
- Mô hình động lực học và môi trường mô phỏng của X-Plane
sẽ bao gồm một mô hình đối tượng UAV được xây dựng bằng Plane Maker, công cụ mô hình hóa phương tiện bay của X-Plane, mô hình đối tượng này sẽ được đưa vào bên trong môi trường mô phỏng được tạo ra bởi chính X-Plane
Hình 5 Thiết kế biên dạng thân UAV
Công cụ Plane Maker có một bộ sưu tập những thành phần
cơ bản đã được định nghĩa trước của máy bay Người dùng phải định nghĩa vị trí và kích thước của các thành phần tạo nên máy bay Đi kèm với một thư viện biên dạng cánh lớn và nhiều mẫu máy bay mẫu có sẵn, Plane Maker cho phép người dùng chỉnh sửa mẫu có sẵn để đưa ra một cấu hình nhanh hơn Các hệ số khí động sẽ được tính luôn tại thời điểm xây dựng mô hình từ hình dạng của máy bay X-Plane sử dụng tất cả các hệ số và hình dạng của máy bay để tính toán đáp ứng của phương tiện bay trong thời gian thực X-Plane có nhiều địa hình của nhiều
Trang 3sân bay lớn nhỏ trên thế giới Người ta cũng cung cấp một công
cụ phục vụ việc tích hợp bản đồ số của bên thứ ba vào để tùy
chỉnh địa hình tại cục bộ
II THIẾT LẬP MÔI TRƯỜNG MÔ PHỎNG
A Mô hình hóa đối tượng UAV bằng công cụ Plane Maker
Để mô hình hóa một UAV cần cấu hình một số bộ phận cơ
bản như cánh, thân, càng đáp, bánh, động cơ, khối lượng, trọng
tâm Sau đó cần ghép các bộ phận đúng vị trí bằng cách nhập
chính xác tọa độ của các bộ phận trong không gian Plane Maker
có rất nhiều các loại cấu hình, từ biplanes cho đến trực thăng
với nhiều lựa chọn tính năng của động cơ hoặc yêu cầu về biên
dạng cánh hay vật liệu Mô hình tạo ra hoàn toàn tương thích
với môi trường X-Plane
Hình 6 Mô hình hóa đối tượng UAV
B Tích hợp hệ thống mô phỏng
Do nhiệm vụ là đánh giá thuật toán điều khiển tự động, hệ
thống mô phỏng cần được thực thi sao cho đáp ứng hiệu năng
trong thời gian thực, do đó chúng ta sử dụng truyền thông theo
giao thức UDP giữa X-Plane và Simulink để truyền và nhận dữ
liệu Để làm được điều này, chúng ta sử dụng thư viện UDP của
Simulink cho phép gửi lệnh điều khiển cơ cấu chấp hành cho
mô hình bên X-Plane và nhận lại dữ liệu về trạng thái vật lý [4]
Các tín hiệu cơ cấu chấp hành được chuẩn hóa lại dưới dạng
đơn vị: Throttle in [0,1]; Elevator, Aileron, Rudder and Nose
wheel in [–1,1]
Hình 7 Sơ đồ kết nối hệ thống mô phỏng
Tại bước đầu tiên địa chỉ IP và cổng đầu ra, đầu vào của
truyền thông UDP của cả X-Plane và Simulink được cấu hình
Hệ thống mô phỏng sẽ sẵn sàng khi kết nối được thiết lập Để
đạt hiệu quả điều khiển tốt nhất, tần số cập nhật gói qua UDP
được đặt là 50Hz Tiếp theo quá trình cân chỉnh bộ điều khiển
tuyến tính PID để tìm ra các hệ số tối ưu bằng phương pháp
Ziegler-Nichols [5] [6] được thực thi
III THIẾT KẾ MÔ HÌNH ĐIỀU KHIỂN TỰ ĐỘNG
A Cấu trúc thuật toán điều khiển
Mỗi một pha trong chu trình bay đều được quản lý bởi một
bộ điều khiển riêng biệt (stage-controller), đó là tự động cất
cánh, tự động hạ cánh và tự động bay hành trình
Ổn định tư thế - Attitude Stabilizer là bộ điều khiển ở mức
thấp nhất, trực tiếp cung cấp đầu ra tín hiệu điều khiển cơ cấu chấp hành hoặc bộ phân phối tín hiệu điều khiển Bộ ổn định tư thế được sử dụng ở tất cả các pha bay của QuadPlane, đặc biệt quan trọng trong quá trình cất hạ cánh thẳng đứng bởi khối Quad Lõi của bộ ổn định tư thế vẫn là bộ điều khiển vi tích phân tỷ lệ PID (Proportional Integral Derivative) Được cấu trúc
một cách có thứ bậc và nối tiếp, Attitude Stabilizer có hai bậc
điều khiển nối tiếp: điều khiển góc và điều khiển vận tốc góc,
cả hai điều là bộ điều khiển PID
Bộ ổn định tư thế
Quy đổi Pitch Quy đổi roll
Điều phối góc roll Điều phối góc yaw
Các góc mục tiêu theo tỉ lệ
Góc pitch mục tiêu
Bộ PID điều khiển kết hợp giữa vận tốc góc và giá trị góc
Bô khiển
sử dụng trị góc
Vận tốc góc thực tế Giá trị góc thực tế Tín hiệu điều khiển chiều dọc Tín hiệu điều khiển hướng
Hệ số tín hiệu điều khiển
Hình 8 Sơ đồ bộ ổn định tư thế
Khi UAV thực hiện một pha rẽ, các cánh lái aileron chịu trách nhiệm chủ yếu cho việc nghiêng thân máy bay sang một bên, tạo ra hiệu ứng quay thân – adverse yaw [7] Một kết quả của việc phân bố không đồng đều giữa lực cản trên cánh khi rẽ hướng Để giảm điều này, cơ cấu chấp hành điều khiển góc yaw
sẽ tham gia vào điều khiển trong quá trình rẽ bằng cách phân phối lượng điều khiển tương ứng tỷ lệ với điều khiển roll Điều này sẽ chỉnh lại định hướng cho thân máy bay trong quá trình
rẽ Với cấu hình này, việc xoay thân sẽ do hai cơ cấu chấp hảnh
ở đuôi V đảm nhiệm (ruddervator) Ta sử dụng một bộ phân phối tỷ lệ giữa điều khiển yaw và roll để giải quyết vấn đề này
IV KỊCH BẢN MÔ PHỎNG VÀ KẾT QUẢ
A Tự động cất cánh thẳng đứng
Hình 9 Quỹ đạo quá trình cất cánh thẳng đứng
Hình 10 Biểu đồ độ cao và hướng mũi theo thời gian thực giai đoạn cất cánh
Trang 4Kết quả của quá trình cất cánh tương tự như lí thuyết Phải
mất 36s để UAV hoàn thành giai đoạn cất cánh, với độ cao là
50m và hướng mũi là 153° Đồng thời trong giai đoạn này, UAV
gần như chỉ bay thẳng, nên vị trí hình chiếu của UAV trên mặt
đấ gần như là không thay đổi
B Bay hành trình theo Waypoint cho trước
UAV sẽ được di chuyển với vận tốc tối ưu là 25 m/s với độ
cao được giữ ở giá trị 50 m trong giai đoạn di chuyển tới các
điểm tham chiếu Kịch bản khảo sát bao gồm hai điểm tham
chiếu mục tiêu với mục đích để UAV di chuyển theo các đường
cong khác nhau để kiểm tra khả năng đáp ứng, cũng như hiệu
quả kiểm soát Dữ liệu sau mô phỏng cho thấy thuật toán hoạt
động hiệu quả, điều khiển UAV di chuyển tới vị trí cách điểm
mục tiêu 1,5m
Hình 11 Quỹ đạo 2D và quỹ đạo 3D bay hành trình theo Waypoint
Hình 12 Quỹ đạo 3D trong chế độ hover – bay vòng tròng quanh một điểm
Tuy nhiên, hầu hết các thử nghiệm cho thấy kết quả tốt hơn,
UAV hoàn thành nhiệm vụ di chuyển tới vị trí tham chiếu với
khoảng cách là 1m Một tiêu chí quan trọng khác là bán kính
quỹ đạo cong (𝑅°𝐶) đạt mức tối thiểu khi chuyển tới điểm tham
chiếu Trong đó, các giá trị quan trọng là: 𝑅°𝐶𝑚𝑖𝑛= 50 m với
roll = 40° ở vận tốc 25 m/s Giá trị tối thiểu giữ 2 điểm tham
chiếu liên tiếp có khoảng cách bằng khoảng 125 m X-Plane có
tính năng cho ta thấy quỹ đạo 3D của UAV trực tiếp trong lúc
UAV đang di chuyển như thể hiện trên Hình 15
Hình 13 Quỹ đạo 3D của quá trình bay
C Tự động hạ cánh thẳng đứng
Trong giai đoạn hạ cánh, để UAV hạ cánh với thời gian ít
nhất nhưng vận tốc khi tiếp xúc với mặt đất lại nhỏ, ta sẽ sử
dụng thêm giá trị độ cao để điều khiển giảm gas của 4 động cơ
Trong thuật toán này, vận tốc khi tiếp xúc mặt đất rơi vào
khoảng 1,748m/s, vận tốc này tương đương với vận tốc chạm
đất khi ta thả một vật rơi tự do xuống mặt đất ở độ cao 15,6cm Đồng thời hướng mũi được giữ dao động xung quanh hưỡng mũi tham chiếu là 288°
Hình 14 Quỹ đạo hạ cánh thẳng đứng tự động
Tuy nhiên để vận tốc tiếp xúc với mặt đất nhỏ như vậy thì thời gian cho giai đoạn hạ cánh là tương đối lớn (gần 100s), điều này có thể khiến UAV di chuyển ra xa vị trí mục tiêu để
hạ cánh với khoảng cách đáng kể
Hình 15 Biểu đồ độ cao và hướng mũi theo thời gian thực giai đoạn hạ cánh
D Thu thập và phân tích, đánh giá dữ liệu
Bộ điều khiển cân bằng tư thế thực thi cơ chế tự động ổn định giữ cân bằng cho máy bay trước các kích thích điều khiển hoặc nhiễu động trong giới hạn cho phép Việc đánh giá hiệu quả của
bộ điều khiển tự động cân bằng tư thế được kiểm chuwscng thông qua kịch bản mô phỏng như sau: thu lại tín hiệu điều khiển đầu vào thực của UAV cho kịch bản giữ các kênh điều khiển ở vị trí trung gian sau đó giảm góc roll (nghiêng trái), về lại trung gian và tăng góc roll (nghiêng phải) một lượng xấp xỉ tương đương rồi lưu lại dưới dạng ma trận dữ liệu
Hình 16 Tín hiệu đầu vào thực điều khiển kênh roll
Sau mô phỏng, dữ liệu đầu ra góc tư thế của máy bay trong toàn bộ quá trình được thu thập và biểu diễn lại trên đồ thị trên miền thời gian Qua các đồ thị hiển thị trên Hình 18-21 có thể
Trang 5thấy bộ điều khiển thực thi thuật toán cân bằng tư thế đã giúp
tự động hóa được một phần trong việc điều khiển UAV, chuyển
từ cân bằng tư thế thủ công sang tự động cân bằng
Hình 17 Đáp ứng tư thế góc roll của UAV
Hình 18 Minh họa quá trình cập nhật điều khiển của bộ cân bằng tư thế
Bộ điều khiển tự động cân bằng tư thế sẽ sử dụng các tầng
điều khiển PID cùng với các giá trị đầu vào từ các cảm biến để
tính toán và đưa ra giá trị điều khiển cập nhật với tốc độ cao cho
các cơ cấu chấp hành phụ trách điều khiển góc roll để đảm bảo
đáp ứng sát với “mong muốn” của tín hiệu điều khiển Đường
màu đỏ cam trong hình biểu diễn giá trị roll đầu ra của bộ cân
bằng tư thế (Attitude Stabilizer) cập nhật điều khiển tốc độ cao
cho cơ cấu chấp hành để giữ cân bằng cho góc roll
Hình 19 Dữ liệu thu được đánh giá kết quả tự động giữ cân bằng tư thế của
UAV khi có tác động của đầu vào điều khiển
Trong cả quá trình mô phỏng, bộ điều khiển cân bằng tư thế
đã được chứng minh là hiệu quả về mặt lý thuyết trong việc tự
động giữ cân bằng tư thế UAV trước những kích thích điều
khiển đầu vào thay đổi theo thời gian thực
V KẾT LUẬN Bài báo trình bày phương pháp kiểm thử mô hình điều khiển máy bay không người lái cánh bằng với cấu hình QuadPlane sử dụng kết hợp công cụ Matlab và X-Plane Kết quả của quá trình kiểm thử cho thấy thuật toán điều khiển tự động cho UAV cấu hình QuadPlane là tin cậy về mặt lý thuyết khi áp dụng cho một
số kịch bản tự động cất cánh, bay hành trình và hạ cánh của phương tiện Quadplane Tuy nhiên, những yếu tố ảnh hưởng từ môi trường trong các mô phỏng này đã được lý tưởng hóa (nhiễu động và gió nhỏ nhất) để tập trung và mục tiêu nghiên cứu thuật toán điều khiển tự động Định hướng tiếp theo sẽ dựa trên hai định hướng: chuẩn hóa và thực thi thuật toán điều khiển trên nền tảng phần cứng để tiến hành mô phỏng HIL (Hardware
in the Loop) và sử dụng tính năng của X-Plane trong việc đánh giá thuật toán trong các điều kiện bất lợi từ môi trường như gió ngang và nhiễu động
TÀILIỆUTHAMKHẢO [1] Douglas M Marshall, R Kurt Barnhart, Eric Shappee, Michael Most, Introduction to Unmanned Aircraft Systems, New York: CRC Press, 2016
[2] Richard Garcia, Laura Barnes, "Multi-UAV Simulator
Utilizing X-Plane," Journal of Intelligent and Robotic
Systems, vol 57, pp 393-406, 2010
[3] https://www.x-plane.com/desktop/how-x-plane-works/ [Accessed 09 08 2018]
[4] M A Zahana, "Simulink-Xplane10 Communication Via UDP," File Exchange - MathWorks, [Online] Available: https://www.mathworks.com/matlabcentral/fileexchang e/47144-simulink-xplane10-communication-via-udp [Accessed 23 6 2017]
[5] J.G Ziegler, N B Nichols, "Optimum Settings for
Automatic Controllers," Transactions of the ASME 64:
759–768, 1942
[6] N D Phước, “Designing controller,” trong Cơ sở lý
thuyết điều khiển tuyến tính - Fundamentals of Linear Control, Hanoi, Hanoi University of Science and
Technology Publisher, 2016, pp 170-174
[7] Federal Aviation Administration, Pilot's Handbook of Aeronautical Knowledge, Wayback Machine, 2008 [8] http://airfoiltools.com/airfoil/details?airfoil=naca65241 5a05-il [Accessed 17 6 2017]
[9] Stevens B, Lewis F, Aircraft control and simulation, 2, Ed., New York: Wiley, 2003
[10] S R, Flight dynamics, 1, Ed., Princeton University,
2004
[11] B Godbolt, N I Vitzilaios, and A F Lynch,
"Experimental validation of a helicopter autopilot design
using model-based PID control," Journal of Intelligent
and Robotic Systems, vol 70, p 385–399, 2013
[12] L Quang, Cơ học vật bay, Hà Nội: Nhà xuất bản Đại học Bách Khoa Hà Nội, 2012