This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\marginsize

2.4cm2.0cm3.2cm3.0cm

Cải thiện thời gian bay dựa trên mô hình điều khiển dự đoán thích nghi cho máy bay không người lái

Ngô Huy Hoàng, Nguyễn Cảnh Thanh và Hoàng Văn Xiêm Bộ môn Kỹ thuật Robot, Khoa Điện tử - Viễn Thông
Trường Đại học Công Nghệ - Đại học Quốc gia Hà Nội
Email: [email protected], [email protected], [email protected]
Abstract

Các nền tảng trên không thông minh như máy bay không người lái (UAV) đang được kỳ vọng mang đến cuộc cách mạng trong hàng loạt lĩnh vực như vận chuyển và giao thông, giám sát hiện trường, sản xuất công nghiệp, quản lý nông nghiệp. Trong đó, điều khiển chính xác là một trong những nhiệm vụ quan trọng mang tính quyết định hiệu suất và khả năng làm việc của hệ thống máy bay không người lái. Tuy nhiên, các nghiên cứu hiện nay tập trung giải quyết vấn đề theo dõi quỹ đạo, giảm thiểu sai số trong quá trình bay mà ít quan tâm tới cải thiện thời gian bay. Trong bài báo này, chúng tôi đề xuất một mô hình điều khiển dự đoán (MPC) giảm thiểu thời gian bay đồng thời khắc phục những hạn chế của bộ điều khiển MPC cổ điển thường được sử dụng. Bên cạnh đó, phương pháp MPC và ứng dụng của nó cho điều khiển máy bay không người lái đã được trình bày chi tiết trong bài báo. Cuối cùng, kết quả đã chứng minh hiệu suất của bộ điều khiển đề xuất được cải thiện so với MPC tiêu chuẩn. Ngoài ra, hướng tiếp cận này có tiềm năng trở thành nền tảng cho việc kết hợp các thuật toán thông minh vào các bộ điều khiển cơ bản.

Index Terms:
Máy bay không người lái, Thời gian tối ưu, Hàm chi phí, Mô hình điều khiển dự đoán phi tuyến.

I GI´I THI.U

Máy bay không người lái (UAVs) đang tạo ra một cuộc cách mạng trong nhiều ngành công nghiệp, nông nghiệp cũng như quân sự. Nhờ khả năng di chuyển linh hoạt trong các môi trường và thiết kế nhỏ gọn, máy bay không người lái có thể cắt giảm chi phí hoạt động đi 50%, giảm rõ rệt thời gian cần để thực hiện công việc nhất là với những hệ thống có quy mô lớn [1]. Để đạt được hiệu suất cao trong các ứng dụng, một yêu cầu quan trọng là phải duy trì được độ chính xác bay, trong khi giảm thời gian thực hiện chuyến bay đi ngắn nhất có thể. Điều đó đặt ra thách thức cho việc cải tiến các thuật toán điều khiển cổ điển được sử dụng, trong khi vẫn phải đảm bảo độ chính xác cũng như độ phức tạp để phù hợp cho hệ thống phần cứng hạn chế của máy bay không người lái.

Gần đây, các phương pháp điều khiển dựa trên tối ưu hóa đặc biệt là mô hình điều khiển dự đoán (MPC) và những biến thể của nó thu hút nhiều sự chú ý cho điều khiển quadrotor nhờ những tiến bộ trong hiệu quả phần cứng, thuật toán và mô hình. MPC xem xét các giá trị hiện tại và quá khứ và tạo ra lệnh điều khiển theo đường chân trời lùi giúp tối ưu hóa sai khác trong tương lai theo đường chân trời. Các phương pháp MPC tuyến tính và phi tuyến đều đã được áp dụng để điều khiển mô hình quadrotor được tổng kết và đánh giá trong [2]. Ngoài ra, MPC thể hiện khả năng hoạt động với những ràng buộc về vật lý của hệ, cũng như thích nghi tốt với hệ thống đa cảm biến, phi tuyến tính [3, 4, 5]. Tuy nhiên, nhiều ứng dụng của MPC vẫn gặp phải những thách thức đáng kể, chẳng hạn như yêu cầu về mô hình tính toán chính xác và sự cần thiết của việc giải những bài toán tối ưu hóa quỹ đạo trực tuyến với khả năng tính toán hạn chế của máy tính quy mô nhỏ gắn trên máy bay.

Việc cải tiến các tham số trong bộ điều khiển MPC từ lâu đã được các nhà khoa học quan tâm đến. Amos trong [6] đề xuất MPC khả vi, khi các trọng số trong hàm chi phí được cập nhật qua từng bước thời gian để thích nghi và nâng cao hiệu suất của bộ điều khiển. Angel trong [7] đã đề xuất và ứng dụng bộ điều khiển dự đoán biên mô hình, bằng sự kết hợp giữa MPC và các thành phần sai số biên [8], vừa xét tới tính chính xác của bộ điều khiển cũng như cải thiện thời gian bay. Nhìn chung, các thuật toán MPC cải tiến mặc dù đã được chứng minh là mang lại hiệu suất bay tốt hơn, nhưng vẫn có sự đánh đổi nhất là về độ phức tạp của thuật toán cải tiến, và phần lớn các thuật toán MPC cải tiến cho quadrotor chưa thể hoạt động được trong điều kiện thời gian thực [9].

Cải tiến thời gian tối ưu trong các thuật toán điều khiển là một hướng nghiên cứu tiềm năng trong tương lai. Các thuật toán điều khiển cơ bản mặc dù khai thác nhiều vào sai số giữa trạng thái và tín hiệu điều khiển hiện tại đối với trạng thái và tín hiệu điều khiển tham chiếu nhưng rất ít thuật toán xét tới việc tối ưu hoá thời gian thực hiện. Neunert và các cộng sự trong [10] đã đưa ra một mô hình MPC với một trong những đầu vào là thời gian tối ưu để điều khiển UAV. Thời gian tối ưu trong bài báo này được định nghĩa là thời gian từ khi bắt đầu chuyển động cho tới lúc đạt được một điểm tham chiếu quan trọng (thường là điểm đích).

Trong bài báo này, chúng tôi đề xuất thuật toán MPC cải tiến nhằm tối ưu thời gian bay cho mô hình máy bay không người lái được mô tả trong Hình 1. Ngoài ra, chúng tôi cũng ứng dụng và trình bày toàn diện mô hình MPC trong điều khiển máy bay không ngưới lái để phù hợp với đặc trưng động học và động lực học của hệ thống. Cuối cùng, chúng tôi đánh giá thuật toán đề xuất với thuật toán MPC tiêu chuẩn, cho thấy hiệu quả trong việc đáp ứng vị trí, thời gian bay, góc lệch và đưa ra một số hướng phát triển tiềm năng của thuật toán trong tương lai.

Refer to caption
Figure 1: Tổng quan về thuật toán cải tiến đề xuất

Cấu trúc của bài báo được sắp xếp theo thứ tự như sau: Hệ thống điều khiển đề xuất được mô tả trong phần II. Tiếp đến, phần III trình bày những kết quả đạt được, bao gồm cả việc cấu hình hệ thống với những ràng buộc động học và động lực học, cùng với đó là kết quả và đánh giá hiệu năng của thuật toán MPC cải tiến. Cuối cùng, những kết luận được nêu rõ trong phần IV.

II Đề xuất bộ điều khiển MPC cải tiến

II-A Bộ điều khiển MPC tiêu chuẩn

Một mô hình MPC tiêu chuẩn thường được chia ra là hai loại: MPC tuyến tính và MPC phi tuyến. Trong khi MPC tuyến tính xấp xỉ hoá mô hình động học - động lực học và rời rạc hoá thời gian nhằm tối giản mô hình, MPC phi tuyến xét tới mô hình một cách đầy đủ và toàn diện, và thường đem lại hiệu suất bay tốt hơn so với MPC tuyến tính. Chi tiết hơn về bộ điều khiển MPC cũng như tương tác giữa không gian trạng thái của MPC và mô hình động học cuả máy bay không người lái được chúng tôi trình bày trong [2].

II-A1 MPC tuyến tính

MPC tuyến tính được xây dựng như một bài toán tối ưu hoá phương trình bậc hai. Chúng tôi định nghĩa vector trạng thái 𝒙12\boldsymbol{x}\in\mathbb{R}^{12} như sau:

𝒙={𝝃T,𝜼,𝝃˙T,𝜼˙T}.\boldsymbol{x}=\{\boldsymbol{\xi}^{T},\boldsymbol{\eta},\dot{\boldsymbol{\xi}}^{T},\dot{\boldsymbol{\eta}}^{T}\}. (1)

và vector đầu vào 𝒖4\boldsymbol{u}\in\mathbb{R}^{4}:

𝒖={ω12,ω22,ω32,ω42}.\boldsymbol{u}=\{\omega_{1}^{2},\omega_{2}^{2},\omega_{3}^{2},\omega_{4}^{2}\}. (2)

Về cơ bản, MPC tuyến tính rời rạc hoá bước thời gian và không gian để giảm độ phức tạp cũng như cải thiện độ ổn định của hệ thống. Mô hình không gian trạng thái tuyến tính được xác định theo công thức:

𝒙k+1=𝑨𝒙k+𝑩𝒖k+𝑽d𝑭e,k,\boldsymbol{x}_{k+1}=\boldsymbol{A}\boldsymbol{x}_{k}+\boldsymbol{B}\boldsymbol{u}_{k}+\boldsymbol{V}_{d}\boldsymbol{F}_{e,k}, (3)

trong đó 𝑭e,k\boldsymbol{F}_{e,k} là các lực bên ngoài, 𝑩d\boldsymbol{B}_{d} là ma trận nhiễu loạn.

Hàm chi phí mục tiêu J(𝒙,𝒖)J(\boldsymbol{x},\boldsymbol{u}) được định nghĩa như sau:

J(𝒙,𝒖)=k=0N1(e𝒙𝒌𝑸2)+k=0Nu1(𝒖k𝑹2)+e𝒙N𝑷2,J(\boldsymbol{x},\boldsymbol{u})=\sum_{k=0}^{N-1}(\|^{e}\boldsymbol{x_{k}}\|^{2}_{\boldsymbol{Q}})+\sum_{k=0}^{N_{u}-1}(\|\boldsymbol{u}_{k}\|^{2}_{\boldsymbol{R}})+\|^{e}\boldsymbol{x}_{N}\|^{2}_{\boldsymbol{P}}, (4)

với:

{𝒙k+1=f(𝒙k,𝒖k,𝑭e,k)𝑭e,k+1=𝑭e,k𝒖min𝒖k𝒖max𝒙0=𝒙(t0),𝑭e,0=𝑭e(t0)k[0,N1],\left\{\begin{matrix}\boldsymbol{x}_{k+1}=f(\boldsymbol{x}_{k},\boldsymbol{u}_{k},\boldsymbol{F}_{e,k})\\ \boldsymbol{F}_{e,k+1}=\boldsymbol{F}_{e,k}\\ \boldsymbol{u}_{min}\leqslant\boldsymbol{u}_{k}\leqslant\boldsymbol{u}_{max}\\ \boldsymbol{x}_{0}=\boldsymbol{x}(t_{0}),\boldsymbol{F}_{e,0}=\boldsymbol{F}_{e}(t_{0})\end{matrix}\right.\hskip 5.69046pt\forall k\in\left[0,N-1\right], (5)

trong đó \|\cdot\| biểu thị khoảng cách Euclidean. 𝑸0\boldsymbol{Q}\geqslant 0, 𝑹0\boldsymbol{R}\geqslant 0, 𝑷0\boldsymbol{P}\geqslant 0 lần lượt là ma trận trọng số của trạng thái, đầu vào và trạng thái cuối cùng. NN là số bước dự đoán chân trời và NuN_{u} là số bước điều khiển chân trời. 𝒖min\boldsymbol{u}_{min}, 𝒖max\boldsymbol{u}_{max} là giới hạn dưới và giới hạn trên của tín hiệu điều khiển.

Sai số trạng thái bay được định nghĩa bởi trạng thái hiện tại 𝒙k\boldsymbol{x}_{k} và trạng thái tham chiếu 𝒙kr{}^{r}\boldsymbol{x}_{k}:

𝒙ke=𝒙kr𝒙kk[0,N].{}^{e}\boldsymbol{x}_{k}=\boldsymbol{x}_{k}-^{r}\boldsymbol{x}_{k}\hskip 14.22636pt\forall k\in\left[0,N\right]. (6)

Trong trường hợp của chúng tôi, sáu trạng thái đầu vào [x,y,z,ϕ,θ,ψ][x,y,z,\phi,\theta,\psi] phải tuân theo quỹ đạo tham chiếu do số lượng tín hiệu điều khiển nhỏ hơn số lượng tham chiếu đầu ra dẫn tới không đủ bậc tự do để thực hiện bay độc lập cho tất cả đầu ra.

Phương trình (4) được viết lại như sau:

J(𝒙¯,𝒖¯)=𝒙¯T𝑸¯𝒙¯+𝒖¯T𝑹¯𝒖¯+e𝒙NT𝑷e𝒙NJ(\bar{\boldsymbol{x}},\bar{\boldsymbol{u}})=\bar{\boldsymbol{x}}^{T}\bar{\boldsymbol{Q}}\bar{\boldsymbol{x}}+\bar{\boldsymbol{u}}^{T}\bar{\boldsymbol{R}}\bar{\boldsymbol{u}}+^{e}\boldsymbol{x}^{T}_{N}\boldsymbol{P}\ ^{e}\boldsymbol{x}_{N} (7)

trong đó,

𝒙¯=[𝒙1e𝒙2e𝒙Ne]N\bar{\boldsymbol{x}}=\begin{bmatrix}{}^{e}\boldsymbol{x}_{1}&{}^{e}\boldsymbol{x}_{2}&\dots&{}^{e}\boldsymbol{x}_{N}\end{bmatrix}\in\mathbb{R}^{N}

𝒖¯=[𝒖1𝒖2𝒖Nu1]Nu\bar{\boldsymbol{u}}=\begin{bmatrix}\boldsymbol{u}_{1}&\boldsymbol{u}_{2}&\dots&\boldsymbol{u}_{N_{u}-1}\end{bmatrix}\in\mathbb{R}^{N_{u}}

𝑸¯=[Q1000Q20000QN]\bar{\boldsymbol{Q}}=\begin{bmatrix}Q_{1}&0&\dots&0\\ 0&Q_{2}&\dots&0\\ \vdots&\vdots&\ddots&0\\ 0&0&\dots&Q_{N}\\ \end{bmatrix}

𝑹¯=[R000R0000R]\bar{\boldsymbol{R}}=\begin{bmatrix}R&0&\dots&0\\ 0&R&\dots&0\\ \vdots&\vdots&\ddots&0\\ 0&0&\dots&R\\ \end{bmatrix}

II-A2 MPC phi tuyến

Bên cạnh bộ điều khiển MPC tuyến tính, bộ điều khiển MPC phi tuyến cho phép tính toán thời gian liên tục cho quadrotor dựa trên vấn đề điều khiển tối ưu.

Tương tự như bộ điều khiển MPC tuyến tính, chúng tôi xây dựng hàm chi phí phi tuyến như sau:

min𝒖t=0T(e𝒙(t)𝑸2+𝒖(t)𝑹2)dt+e𝒙(T)𝑷2\min_{\boldsymbol{u}}\int_{t=0}^{T}\bigg{(}\|^{e}\boldsymbol{x}(t)\|^{2}_{\boldsymbol{Q}}+\|\boldsymbol{u}(t)\|^{2}_{\boldsymbol{R}}\bigg{)}dt+\|^{e}\boldsymbol{x}(T)\|^{2}_{\boldsymbol{P}} (8)

phụ thuộc vào:

{𝒙˙=𝒇(𝒙,𝒖)𝒖min𝒖(t)𝒖max𝒙0=𝒙(t0),,\left\{\begin{matrix}\dot{\boldsymbol{x}}=\boldsymbol{f}(\boldsymbol{x},\boldsymbol{u})\\ \boldsymbol{u}_{min}\leqslant\boldsymbol{u}(t)\leqslant\boldsymbol{u}_{max}\\ \boldsymbol{x}_{0}=\boldsymbol{x}(t_{0}),\end{matrix}\right., (9)

với, \|\cdot\| biểu thị khoảng cách Euclidean. 𝑸0\boldsymbol{Q}\geqslant 0, 𝑹0\boldsymbol{R}\geqslant 0, 𝑷0\boldsymbol{P}\geqslant 0 lần lượt là ma trận trọng số của trạng thái, đầu vào và trạng thái cuối cùng. T chiều dài đường dự đoán. 𝒖(t)𝑹2\|\boldsymbol{u}(t)\|^{2}_{\boldsymbol{R}} là giá trị đầu vào, e𝒙(T)𝑷2\|^{e}\boldsymbol{x}(T)\|^{2}_{\boldsymbol{P}} đánh giá độ lệch so với trạng thái mong muốn ở cuối đường dự đoán .e𝒙(t)𝑸2\|^{e}\boldsymbol{x}(t)\|^{2}_{\boldsymbol{Q}} là giá trị trạng thái được định nghĩa bằng sai số của trạng thái hiện tại 𝒙(t)\boldsymbol{x}(t) và trạng thái tham chiếu 𝒙r(t){}^{r}\boldsymbol{x}(t):

𝒙e(t)=𝒙(t)r𝒙(t){}^{e}\boldsymbol{x}(t)=\boldsymbol{x}(t)-^{r}\boldsymbol{x}(t) (10)

Bộ điều khiển thực hiện tối ưu hóa theo kiểu đường chân trời lùi dần. Bên cạnh đó, các ràng buộc về tính liên tục được áp đặt vào trong hệ thống động lực học.

II-B Bộ điều khiển MPC cải tiến thời gian tối ưu

Mặc dù MPC tuyến tính và phi tuyến đã đạt được hiệu suất ổn định cả trong mô phỏng cũng như thực tế, bộ điều khiển tồn tại những hạn chế lớn. MPC tập trung vào việc tối thiểu hoá sai số giữa máy bay và đích, dự đoán trước tương lai gần cũng như đảm bảo các ràng buộc về động học, động lực học và ràng buộc về động cơ; do vậy MPC chỉ có thể giải quyết tốt bài toán theo dõi quỹ đạo - khi đường bay đã được lập sẵn qua một tập hợp điểm được định trước. Tuy nhiến, đối với bài toán lập đường đi và bay từ điểm tới điểm trong không gian, MPC chưa đem lại hiệu quả vượt trội và hơn hết, thời gian thực hiện thành công những chuyến bay thường không được tối ưu và xem xét. Do vậy, chúng tôi tập trung giải quyết vấn đề thời gian tối ưu thông qua cải tiến hàm mất mát.

Chúng tôi định nghĩa vector trạng thái và vector đầu vào của MPC cải tiến tương đồng với MPC phi tuyến như sau:

𝒙={𝝃T,𝜼,𝝃˙T,𝜼˙T}.\boldsymbol{x}=\{\boldsymbol{\xi}^{T},\boldsymbol{\eta},\dot{\boldsymbol{\xi}}^{T},\dot{\boldsymbol{\eta}}^{T}\}. (11)
𝒖={ω12,ω22,ω32,ω42}.\boldsymbol{u}=\{\omega_{1}^{2},\omega_{2}^{2},\omega_{3}^{2},\omega_{4}^{2}\}. (12)

Chúng tôi cải tiến bộ MPC phi tuyến ở công thức 8 bằng cách thêm một thành phần vào hàm chi phí mục tiêu J. Ngoài ba thành phần dã được định nghĩa và giải thích, chúng tôi định nghĩa JiJ_{i} như sau:

Ji=k=0N1(|e𝒙k|2)Qi|eα(tto)1|J_{i}=\sum_{k=0}^{N-1}\left(|e\boldsymbol{x}_{k}|^{2}\right)\cdot Q_{i}\cdot\left|e^{-\alpha(t-t_{o})}-1\right| (13)

trong đó \|\cdot\| biểu thị khoảng cách Euclidean. 𝑸0\boldsymbol{Q}\geqslant 0, 𝑹0\boldsymbol{R}\geqslant 0, 𝑷0\boldsymbol{P}\geqslant 0 lần lượt là ma trận trọng số của trạng thái, đầu vào, trạng thái cuối cùng và thời gian tối ưu. NN là số bước dự đoán chân trời và NuN_{u} là số bước điều khiển chân trời. 𝒖min\boldsymbol{u}_{min}, 𝒖max\boldsymbol{u}_{max} là giới hạn dưới và giới hạn trên của tín hiệu điều khiển. tt biểu thị thời gian hiện tại của hệ thống, trong khi đó tot_{o} là thời gian tối ưu được định nghĩa và α\alpha là hằng số. Như vậy, hàm chi phí mục tiêu mới sẽ được định nghĩa là:

J(𝒙,𝒖,𝒕𝒐)=Jx+Ju+Jp+JiJ(\boldsymbol{x},\boldsymbol{u},\boldsymbol{t_{o}})=J_{x}+J_{u}+J_{p}+J_{i} (14)

trong đó, JxJ_{x} là thành phần sai số theo trạng thái,JuJ_{u} là thành phần sai số theo tín hiệu điều khiển, JpJ_{p} là thành phần sai số theo trạng thái dự đoán, JiJ_{i} là thành phần sai số theo thời gian tối ưu.

Thành phần JiJ_{i} có hai ý nghĩa: đầu tiên, tham số e mũ biểu thị JiJ_{i} là một hàm có trọng số giảm dần, và sẽ đạt cực tiểu tại thời điểm t=tot=t_{o}. Điều này có ý nghĩa là nếu thời gian bay tổng thể thực tế càng gần tot_{o}, thành phần JiJ_{i} sẽ càng có giá trị vì nếu t>tot>t_{o}, JiJ_{i} sẽ lại bắt đầu lớn hơn, làm hàm mục tiêu trở nên lớn hơn không cần thiết và gây ra những sai lệch trong quá trình ước lượng và tối ưu hoá. Thứ hai, một thành phần giống với thành phần trạng thái JxJ_{x} được lựa chọn để làm số nhân với JiJ_{i}. Thành phần giống với JxJ_{x} này lúc đầu sẽ có giá trị lớn do sai số ở những thời điểm ban đầu luôn lớn, tuy nhiên sẽ nhỏ dần theo thời gian. Việc thêm số nhân này kích thích cho bộ điều khiển sinh ra những lệnh điều khiển có độ lớn cao hơn trong những bước thời gian đầu của chuyến bay, và sẽ giảm dần trong quá trình bay. Điều này đặc biệt phù hợp với bài toán máy bay không người lái bay từ điểm tới điểm, khi không cần phải bay theo chuẩn xác một quỹ đạo định từ trước thì máy bay sẽ ưu tiên việc tạo ra những chuyển động nhanh trong khoảng thời gian mới bay để nhanh chóng tiếp cận hướng tới đích.

Việc thêm một thành phần JiJ_{i} không làm ảnh hưởng tới những thành phần khác trong hàm chi phí hay sự hội tụ của toàn bộ hàm số. Trực quan hoá, thành phần JiJ_{i} có tác dụng giống việc dịch toàn bộ hàm số JJ sang phải ở những bước thời gian đầu trong khi vẫn giữ nguyên các tính chất khác, từ đó kích thích hệ thống đưa ra những tín hiệu điều khiển cao hơn trong khoảng thời gian này.

II-C ´ng dụng MPC cho điều khiển máy bay không người lái

Dựa theo những đặc trưng về phương trình động học và động lực học của máy bay không người lái, chúng tôi đề xuất một hệ thống điều khiển toàn diện cho máy bay không người lái. Theo đó trong những nghiên cứu trước về ứng dụng MPC cho điều khiển máy bay không người lái thường ứng dụng trực tiếp một bộ MPC để điều khiển cho tất cả các giá trị trạng thái và thời gian [11, 2]. Chúng tôi sử dụng 3 bộ diều khiển MPC cho ba thành phần độ cao, toạ độ theo xx, yy và góc quay. Lý do cho sự tách biệt của ba bộ điều khiển đến từ việc trong khi độ cao của quadrotor chỉ liên quan tới lực đẩy theo phương thẳng đứng của 4 động cơ, giá trị toạ độ của máy bay theo trục xxyy còn phụ thuộc vào momen xoắn của các động cơ. Chi tiết về bộ điều khiển MPC cho máy bay không người lái được thể hiện trên hình 2.

Refer to caption
Figure 2: Bộ điều khiển MPC cho quadrotor

III Kết quả

III-A Thiết lập môi trường

Chúng tôi mô hình bài toán của mình để điều khiển máy bay không người lái tiếp cận một điểm đích động. Phương trình của điểm đích được định nghĩa như sau:

x\displaystyle x =5cos(2π5t)(m)\displaystyle=5\ cos(\frac{2\pi}{5}t)\ \ (m)
y\displaystyle y =5sin(2π5t)(m)\displaystyle=5\ sin(\frac{2\pi}{5}t)\ \ (m)
z\displaystyle z =0.5(m)\displaystyle=0.5\ \ \ \ \ \ \ \ \ \ \ \ (m)
Refer to caption
Figure 3: Mô hình bài toán

Bộ điều khiển với hàm chi phí đã được trình bày trong phần II-A2II-A. Chúng tôi giới hạn tất cả các tham số đầu vào điều khiển theo biên độ sau:

𝕌={𝒖4|[0(rad/s)0(rad/s)0(rad/s)0(rad/s)]𝒖[5(rad/s)5(rad/s)5(rad/s)5(rad/s)]}\mathbb{U}=\left\{\boldsymbol{u}\in\mathbb{R}^{4}|\left[\begin{matrix}0\ (rad/s)\\ 0\ (rad/s)\\ 0\ (rad/s)\\ 0\ (rad/s)\end{matrix}\right]\leqslant\boldsymbol{u}\leqslant\left[\begin{matrix}5\ (rad/s)\\ 5\ (rad/s)\\ 5\ (rad/s)\\ 5\ (rad/s)\end{matrix}\right]\right\} (15)

Bên cạnh đó, tỷ lệ thay đổi của tham số đầu vào điều khiển được giới hạn nhằm ngăn chặn các chuyển động đột ngột với:

δ𝒖max=δ𝒖min=[1(rad/s)1(rad/s)1(rad/s)1(rad/s)]\delta\boldsymbol{u}_{max}=-\delta\boldsymbol{u}_{min}=\left[\begin{matrix}1\ (rad/s)\\ 1\ (rad/s)\\ 1\ (rad/s)\\ 1\ (rad/s)\end{matrix}\right] (16)
TABLE I: So sánh hiệu suất của MPC tiêu chuẩn và MPC cải tiến (IMPC)
MPC IMPC
Tổng sai số x 401.43 348.43
Tổng sai số y 404.00 348.43
Tổng sai số z 10.70 8.19
Sai số x nhỏ nhất 0.009 2.86e-3
Sai số y nhỏ nhất 2.64e-3 2.89e-3
Sai số z nhỏ nhất 4.84e-12 2.55e-15
TABLE II: So sánh thời gian bay giữa MPC tiêu chuẩn và MPC cải tiến với các giá trị thời gian tối ưu khác nhau
Phương pháp LQR MPC to=1t_{o}=1 to=2t_{o}=2 to=2.4t_{o}=2.4 to=5t_{o}=5 to=10t_{o}=10
Thời gian bay(giây) 2.83 2.75 2.53 2.45 2.42 2.49 2.59

Chúng tôi chọn ma trận trọng số như sau:

𝑷\displaystyle\boldsymbol{P} =𝑸=diag([ones(1,10)zeros(1,10)])\displaystyle=\boldsymbol{Q}=diag(\begin{bmatrix}ones(1,10)&zeros(1,10)\end{bmatrix}) (17)
𝑸𝒊\displaystyle\boldsymbol{Q_{i}} =diag([ones(1,15)zeros(1,15)])\displaystyle=diag(\begin{bmatrix}ones(1,15)&zeros(1,15)\end{bmatrix})
𝑹\displaystyle\boldsymbol{R} =diag([0.10.10.10.1])\displaystyle=diag(\begin{bmatrix}0.1&0.1&0.1&0.1\end{bmatrix})

Bên cạnh đó, số bước dự đoán (prediction horizon) và số bước điều khiển (control horizon) được đặt tương ứng với N=18N=18, Nu=1N_{u}=1. Quadrotor được khởi tạo với vị trí ban đầu là 𝝃(0)=(0,0,0)T\boldsymbol{\xi}(0)=(0,0,0)^{T} và vận tốc góc ban đầu là 𝜼(0)=(0,0,0)T\boldsymbol{\eta}(0)=(0,0,0)^{T}.

Cuối cùng, giá trị α\alpha trong công thức 13 được ấn định là 0.5.

III-B Kết quả mô phỏng

Trong phần này, các mô phỏng được thực hiện để cho thấy hiệu quả của bộ điều khiển. Trong các hình vẽ, chúng tôi định nghĩa MPC là MPC tiêu chuẩn và IMPC là MPC cải tiến.

Hình 4 cho thấy sai số của trạng thái quadrotor với trạng thái tham chiếu của hai bộ điều khiển là MPC tiêu chuẩn và MPC cải tiến. Tại thời điểm bắt đầu chuyển động, vị trí của máy bay không người lái cách xa điểm đích do đó nhiệm vụ của các bộ điều khiển là hướng tới điểm tham chiếu.

Sai số về trạng thái của hệ thống hội tụ về 0. Bộ điều khiển MPC cải tiến cho khả năng hội tụ nhanh hơn so với bộ điều khiển MPC tiêu chuẩn, nhất là khả năng tiến tới đích theo trục z. Ngoài ra, sai số ở trạng thái ổn định của bộ điều khiển đề xuất cũng nhỏ hơn đáng kể so với bộ MPC tiêu chuẩn. ' khả năng điều khiển góc quay, IMPC cũng cho hiệu suất tốt hơn so với MPC tiêu chuẩn nhất là ở khả năng điều khiển góc xoay roll và pitch.

Chúng tôi định lượng những kết quả trên bằng bảng I. Trong đó, tổng sai số được tính bằng tích luỹ các sai số trên các trục trong từng bước thời gian khảo sát. Sai số nhỏ nhất được tính bằng giá trị sai số nhỏ nhất trong tất cả các bước thời gian. Kết quả mô phỏng cho thấy IMPC mang lại tích luỹ sai số nhỏ hơn đáng kể trên cả ba trục x y và z, với lần lượt 14%, 15% và 23%. Bên cạnh đó, sai số nhỏ nhất của phương pháp đề xuất cũng nhỏ hơn so với phương pháp cổ điển, thể hiện khả năng điều khiển chính xác được cải thiện của phương pháp MPC cải tiến so với MPC tiêu chuẩn. Tuy nhiên, sai số nhỏ nhất ở trục y của MPC tiêu chuẩn vẫn nhỏ hơn so với MPC cải tiến.

Cuối cùng, chúng tôi thử nghiệm các giá trị tot_{o} đầu vào khác nhau và biểu thị kết quả trên bảng II. Thời gian bay ở đây được định nghĩa là thời gian ngắn nhất để máy bay từ điểm xuất phát tới điểm có sai số nhỏ hơn 0.01(m) ở cả ba trục. Nhìn chung, giá trị thời gian bay tốt nhất của phương pháp đề xuất đã cải thiện 11% so với phương án tiêu chuẩn. Ngoài ra, nếu thời gian tối ưu được lựa chọn chuẩn xác (gần với thời gian thực tế thực hiện chuyển bay) thì hiệu suất bay cũng được cải thiện. Đây có thể là cơ sở để kết hợp các thuật toán học máy cùng với bộ điều khiển MPC cải tiến để lựa chọn tham số thời gian bay tối ưu.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 4: Sai số bám quỹ đạo theo từng thành phần
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 5: Tín hiệu điều khiển theo thời gian

IV Kết luận

Trong bài báo này, chúng tôi đã trình bày một mô hình cải tiến của bộ điều khiển dự đoán mô hình để giải quyết bài toán điều khiển chính xác máy bay không người lái. Mô hình điều khiển dựa trên đặc trưng của máy bay không người lái cũng được cung cấp từ đó chứng minh tính hiệu quả của bộ điều khiển đề xuất. Kết quả mô phỏng được triển khai trên phần mềm đã so sánh, đánh giá và kết luận về hiệu suất của bộ điều khiển cải tiến đề xuất. Ngoài ra, bộ điều khiển MPC tối ưu thời gian còn cho thấy tiềm năng để trở thành nền tảng cho việc kết hợp cùng các thuật toán nâng cao.

References

  • [1] J. Xing, G. Cioffi, J. Hidalgo-Carrió, and D. Scaramuzza, “Autonomous power line inspection with drones via perception-aware mpc,” arXiv preprint arXiv:2304.00959, 2023.
  • [2] N. C. Thanh, N. H. Hoang, A. V. Dang, and V. X. Hoang, “Theo dõi quỹ đạo quadrotor sử dụng linear and nonlinear model predictive control,” The 25th National Conference on Electronics, Communications and Information Technology, 2022.
  • [3] D. Falanga, P. Foehn, P. Lu, and D. Scaramuzza, “Pampc: Perception-aware model predictive control for quadrotors,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2018, pp. 1–8.
  • [4] M. Kamel, T. Stastny, K. Alexis, and R. Siegwart, “Model predictive control for trajectory tracking of unmanned aerial vehicles using robot operating system,” Robot Operating System (ROS) The Complete Reference (Volume 2), pp. 3–39, 2017.
  • [5] H. Nguyen, M. Kamel, K. Alexis, and R. Siegwart, “Model predictive control for micro aerial vehicles: A survey,” in 2021 European Control Conference (ECC).   IEEE, 2021, pp. 1556–1563.
  • [6] B. Amos, I. Jimenez, J. Sacks, B. Boots, and J. Z. Kolter, “Differentiable mpc for end-to-end planning and control,” Advances in neural information processing systems, vol. 31, 2018.
  • [7] A. Romero, S. Sun, P. Foehn, and D. Scaramuzza, “Model predictive contouring control for time-optimal quadrotor flight,” IEEE Transactions on Robotics, vol. 38, no. 6, pp. 3340–3356, 2022.
  • [8] D. Lam, C. Manzie, and M. Good, “Model predictive contouring control,” in 49th IEEE Conference on Decision and Control (CDC).   IEEE, 2010, pp. 6137–6142.
  • [9] P. Foehn, A. Romero, and D. Scaramuzza, “Time-optimal planning for quadrotor waypoint flight,” Science Robotics, vol. 6, no. 56, p. eabh1221, 2021.
  • [10] M. Neunert, C. De Crousaz, F. Furrer, M. Kamel, F. Farshidian, R. Siegwart, and J. Buchli, “Fast nonlinear model predictive control for unified trajectory optimization and tracking,” in 2016 IEEE international conference on robotics and automation (ICRA).   IEEE, 2016, pp. 1398–1404.
  • [11] T. Luukkonen, “Modelling and control of quadcopter,” Independent research project in applied mathematics, Espoo, vol. 22, p. 22, 2011.