MATLAB无人机开发:算法移植与应用

在现有的旋翼无人机市场中,绝大部分可二次开发的产品都只提供C、C++等SDK,但在科研类无人机这一细分领域中,更多的开发者偏好或善于使用Matlab进行算法的开发和验证。为了助力从事控制算法理论研究的开发者,能够独立完成控制算法到无人机平台的移植,快速实现控制算法从“理论”到“应用”落地,阿木实验室特推出“Matlab无人机算法开发套件 ”。

该套件基于Matlab/Simulink进行了深度开发,仿真和真机实验的程序完全通用和兼容、接口和示例丰富、底层安全检查功能齐全。开发者不仅可以使用Matlab对顶层控制算法进行开发、仿真验证和实验验证,还能在Matlab端完成算法修改和测试,无需将Matlab程序改写为C语言程序并移植到机载电脑,极大地降低了开发者的工作量和开发难度。

Matlab无人机算法开发套件技术框架

1、总体技术框架

主要包含两部分:第一部分是Simulink模块,包含无人机位置、速度、加速度三种控制器;第二部分是Prometheus模块,用于转发PX4底层提供的无人机状态信息和Simulink提供的控制信息,在仿真中提供Gazebo仿真环境,而在实验中直接对无人机真机进行控制。

总体技术框架

2、Matlab/Simulink ROS Toolbox

利用Matlab/Simulink ROS Toolbox,在Simulink程序中对无人机位姿、状态、控制指令、配置指令等话题的订阅与发布,实现Simulink对无人机进行闭环控制的功能。

Simulink程序中的ROS接口程序

接口程序中的ROS话题的发送与接收模块3、Matlab Bridge

在Prometheus系统中,本开发套件包含了一个专用模块“Matlab Bridge”,其功能是将Prometheus中的自定义ROS消息转换成标准的ROS话题,并与Simulink进行消息的传输。同时,Matlab Bridge也通过重定义特定的标准ROS话题,来传输无人机的飞行状态信息和安全检查标志,以完全兼容Prometheus原有的安全模块。

Matlab Bridge在系统中转发的ROS话题 功能介绍1、核心功能

  • 三种控制模式切换

支持位置控制、速度控制和加速度控制三种无人机控制模式,并可以在程序中通过拨动旋钮进行一键切换。

  • 控制示例程序及二次开发

提供丰富的控制算法示例程序,包括经典的串级PID控制、UDE、ADRC等鲁棒控制方法,控制方法之间可进行一键切换,且预留二次开发程序接口。

  • 飞行状态显示

实时显示无人机的飞行状态、通信情况、时钟同步信息、电池电压、电量等信息。 

2、安全检查功能兼容Prometheus原有的安全检查功能,在无人机真机和仿真环境中,无人机能进行自检和报错。同时,在Matlab_bridge程序中,也定义了相应的安全逻辑,以应对通信丢包、通信丢失、Matlab程序失效等意外情况。

3、辅助功能

  • 飞行数据记录

将飞行过程中的无人机状态、控制信号等数据进行自动保存,支持自定义保存途径。

  • 飞行数据自动绘图

在停止仿真或实验后,Simulink程序将自动对飞行结果进行绘图,用于展示飞行过程中的关键信息。

配置与服务

如您对Matlab无人机算法开发套件感兴趣,可添加销售工程师: yinyue199506   我们将给您提供专业的选购建议~

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空