Matlab無人機算法開發(fā)套件上新,快速實現控制算法到無人機平臺的移植
在現有的旋翼無人機市場中,絕大部分可二次開發(fā)的產品都只提供C、C++等SDK,但在科研類無人機這一細分領域中,更多的開發(fā)者偏好或善于使用Matlab進行算法的開發(fā)和驗證。為了助力從事控制算法理論研究的開發(fā)者,能夠獨立完成控制算法到無人機平臺的移植,快速實現控制算法從“理論”到“應用”落地,阿木實驗室特推出“Matlab無人機算法開發(fā)套件?”。
該套件基于Matlab/Simulink進行了深度開發(fā),仿真和真機實驗的程序完全通用和兼容、接口和示例豐富、底層安全檢查功能齊全。開發(fā)者不僅可以使用Matlab對頂層控制算法進行開發(fā)、仿真驗證和實驗驗證,還能在Matlab端完成算法修改和測試,無需將Matlab程序改寫為C語言程序并移植到機載電腦,極大地降低了開發(fā)者的工作量和開發(fā)難度。

Matlab無人機算法開發(fā)套件技術框架
1、總體技術框架
主要包含兩部分:第一部分是Simulink模塊,包含無人機位置、速度、加速度三種控制器;第二部分是Prometheus模塊,用于轉發(fā)PX4底層提供的無人機狀態(tài)信息和Simulink提供的控制信息,在仿真中提供Gazebo仿真環(huán)境,而在實驗中直接對無人機真機進行控制。

總體技術框架
2、Matlab/Simulink ROS Toolbox
利用Matlab/Simulink ROS Toolbox,在Simulink程序中對無人機位姿、狀態(tài)、控制指令、配置指令等話題的訂閱與發(fā)布,實現Simulink對無人機進行閉環(huán)控制的功能。

Simulink程序中的ROS接口程序

接口程序中的ROS話題的發(fā)送與接收模塊3、Matlab Bridge
在Prometheus系統(tǒng)中,本開發(fā)套件包含了一個專用模塊“Matlab Bridge”,其功能是將Prometheus中的自定義ROS消息轉換成標準的ROS話題,并與Simulink進行消息的傳輸。同時,Matlab Bridge也通過重定義特定的標準ROS話題,來傳輸無人機的飛行狀態(tài)信息和安全檢查標志,以完全兼容Prometheus原有的安全模塊。

Matlab Bridge在系統(tǒng)中轉發(fā)的ROS話題
功能介紹1、核心功能
三種控制模式切換
支持位置控制、速度控制和加速度控制三種無人機控制模式,并可以在程序中通過撥動旋鈕進行一鍵切換。
控制示例程序及二次開發(fā)
提供豐富的控制算法示例程序,包括經典的串級PID控制、UDE、ADRC等魯棒控制方法,控制方法之間可進行一鍵切換,且預留二次開發(fā)程序接口。
飛行狀態(tài)顯示
實時顯示無人機的飛行狀態(tài)、通信情況、時鐘同步信息、電池電壓、電量等信息。?


2、安全檢查功能兼容Prometheus原有的安全檢查功能,在無人機真機和仿真環(huán)境中,無人機能進行自檢和報錯。同時,在Matlab_bridge程序中,也定義了相應的安全邏輯,以應對通信丟包、通信丟失、Matlab程序失效等意外情況。


3、輔助功能
飛行數據記錄
將飛行過程中的無人機狀態(tài)、控制信號等數據進行自動保存,支持自定義保存途徑。
飛行數據自動繪圖
在停止仿真或實驗后,Simulink程序將自動對飛行結果進行繪圖,用于展示飛行過程中的關鍵信息。

配置與服務

如您對Matlab無人機算法開發(fā)套件感興趣,可添加銷售工程師: yinyue199506? ?我們將給您提供專業(yè)的選購建議~