卡索practicos

NASA实习生开发基于模型设计的四轴飞行器制导、导航和控制软件

挑战

为工程实习生提供航空航天领域的实际工作经验

解决方案

创建一个程序,让实习生使用基于模型的设计为多旋翼飞机建模、模拟、实现和飞行GNC算法

结果

  • GNC算法在10周内开发和实现
  • 硬件集成简化
  • 获得实际工程经验

基于模型的设计使得在NASA MSFC工作的工程师和实习生都更有效率。学生们有更多的乐趣,因为他们可以在真正的处理器上运行他们在Simulink中创建的GNC算法,并快速完成任务。

NASA实习生使用四轴飞行器和ArduPilot Mega 2.5硬件。

NASA的实习项目为工程专业的学生提供参与航空航天项目的机会,并向他们介绍实习工程师使用的工具和流程。

NASA的马歇尔太空飞行中心(MSFC)通过一个项目满足了这些目标,在该项目中,实习生和初级工程师使用MATLAB基于模型的设计®和仿真软件®为小型多旋翼飞机开发制导、导航和控制(GNC)软件。

通过基于模型的设计,年轻的工程师可以在10周的项目中构建硬件,编写飞行软件,并进行飞行测试来验证他们的模型和控制设计。他们使用了NASA MSFC团队用于为“神鹰”机器人着陆器和其他系统开发GNC算法的相同工具。

挑战

NASA MSFC团队寻求一种现实而经济的方式,让他们的实习生有机会直接使用飞行软件和硬件。他们为这个项目选择了四轴飞行器和ArduPilot Mega 2.5硬件,但这种方法带来了一些挑战。

首先,他们需要为本科工程师(其中许多人几乎没有控制设计或编程经验)提供易于学习的工具,他们可以使用这些工具快速开发GNC算法。其次,为了避免损坏飞机,他们需要一个模拟环境,使实习生能够在飞行测试前验证他们的算法。最后,他们需要一种简单的方法,让实习生将算法部署到ArduPilot硬件上,并与ArduPilot板上的加速计、陀螺仪和其他传感器进行交互。

解决方案

NASA MSFC团队选择了基于MATLAB和Simulink的模型设计作为他们的工程实习项目。

实习生通过mathworks.com上的Simulink教程学习建模、仿真和控制设计,并参加由NASA工程师进行的培训课程。

在从套件中组装四轴飞行器之后,他们在Simulink中建立了六自由度四轴飞行器模型,使用Aerospace Blockset™来建模运动方程。

在Simulink中,他们创建了一个控制器模型,为四轴飞行器提供稳定性增强。为了访问ArduPilot传感器的输入,包括加速计、陀螺仪和磁强计,他们从APM2Simulink Blockset到他们的控制器模型。

他们从Simulink中获取线性模型,用控制系统工具箱™中的SISO设计工具分析增益和相位裕度,然后运行仿真来验证控制系统的性能。他们使用Aerospace Blockset中的一个模块,将模型连接到FlightGear飞行模拟软件,以可视化模拟结果,然后根据这些结果改进他们的设计。

利用Simulink的目标硬件运行功能,实习生将他们的控制器模型直接加载到ArduPilot Mega硬件上进行飞行测试。

他们在MATLAB中对记录的飞行数据进行后期处理,并使用结果微调他们的控制算法和工厂模型。

NASA MSFC工程师目前正在修改他们的实习计划。新版本将使用六轴直升机。ArduPilot Mega硬件将被更强大的Pixhawk处理器所取代,这将使实习生能够结合卡尔曼滤波,实现滑模控制,并处理引擎故障情况。他们将使用嵌入式编码器从Simulink模型中为Pixhawk目标生成C代码®

结果

  • GNC算法在10周内开发和实现.对于正在工作的航空航天工程师来说,开发一个高级控制算法,用C语言编写它,并将它与飞机飞行所需的其他代码集成,这可能是一项令人生畏的任务。通过基于模型的设计,NASA的实习生开发了他们的控制算法,并在10周内让它们飞行。

  • 硬件集成简化.只需点击一下,这些实习生就可以将他们的Simulink模型部署到Arduino上,并准备在飞行中测试他们的算法。使用APM2 Simulink块集简化了与ArduPilot硬件的通信。

  • 获得实际工程经验.其中一名实习生利用他在NASA获得的知识,在他的第四年工程设计项目中设计了一种先进的飞行控制卡尔曼滤波器。另一个人得到了一份模拟四轴飞行器的工作,部分原因是他有基于模型的设计经验。

Baidu
map