历史上的今天
返回首页

历史上的今天

今天是:2024年11月09日(星期六)

正在发生

2019年11月09日 | 在无人机制导、导航与控制中应用半实物仿真

2019-11-09 来源:eepw

  “使用NI PXI,我们能够在实时状态下以低延时完成复杂的无人机模型仿真,并完美地模拟了航空设备界面。”


  挑战:

  在目标硬件上搭建一个系统,在实时控制仿真环境中,来验证无人飞机(UAV)的制导、导航和控制(GNC)算法。


  解决方案:

  在开发的早期阶段,开发一个硬件在环(HIL)测试环境来测试无人机GNC解决方案。


  HIL测试环境是软件仿真和飞机实验的一个中间步骤,对于无人机GNC软件的开发过程非常关键。通过HIL环境,工程师可以在一个可控的仿真环境中对无人机软件进行测试。同时,它也能加速设计,缩短开发周期。


  通过HIL环境,工程师可以发觉软件仿真(主要是同步和定时)中没有出现的问题,从而避免现场试验的故障,并增加无人机团队的安全性。


  我们开发了一个通用的HIL平台来设计验证控制和导航算法。这个HIL测试环境完全集成在一个基于模型的设计开发周期中(见图1)。  


图1 : HWIL测试环境示意图

  基于模型的开发

  首先我们设计编改了无人机平台,将其用于仿真,并将控制器和算法部署至硬件中。

  我们根据基于模型的设计理念来完成这个任务。对于系统设计和仿真来说这是一个可靠方便的方法。使用代码自动生成工具可以使我们减少设计时间,轻松完成对于测试架构的重复利用,以及快速系统原型,从而形成一个连续的确认和验证过程。


  构架的目的包括:在不同的硬件平台上不用任何改变即可对模型重复利用;对设计测试套件模型进行重复使用以验证目标系统;将透明模型完全集成到目标硬件中,并创建一个系统的,快速的流程,将自动生成的代码集成到目标硬件,从而使得控制工程师无需软件工程师的参与,即可以快速测试模型(见图2)。对于这个项目,我们使用Simulink®公司的MathWorks软件(我们还使用了Esterel Technologies公司的SCADE套件)开发了模型任务,并使用MathWorks和Real-Time Workshop®公司的软件实现自动编码。我们需要两次不同的编改:在无人机中进行测试及执行的算法是由ANSI C代码编写的,仿真无人机动态行为的数学模型将通过LabVIEW仿真接口工具包转换至NI LabVIEW软件动态库中。  


图2: 基于模型的开发流程

  在最终的系统中,我们使用多个LabVIEW I/O模块来仿真一些无人机航空电子和逻辑传感器以及激励器接口。


  LabVIEW Real-Time PXI

  PXI 是一个基于PC的平台,可用于测试,测量和控制,能够在不同的接口和总线中提供高带宽和超低的执行延时。在这个案例中,PXI需要在一个复杂的无人机模型中运行,该模型会在实时中以动态库的形式被执行。 在系统中使用PXI模块能让我们使用无人机上完全一样的接口进行HIL仿真。所以,我们会以现场实验完全相同的配置验证GNC算法处理单元。这对于一些使用纯仿真不足以捕捉所有硬件相关问题(例如信号噪音,错误和同步问题)的系统来说是十分重要的。


  GPS仿真器

  通过Spirent GSS8000 GPS仿真器,我们能够仿真并生成用户选择的GNSS星座卫星所发出的相同的射频信号。这些信号会以飞行实验相同的方式传送到无人机上真实的GPS传感器,并能仿真惯性传感器(加速度计和回转仪)。我们可以指定不同的情况,降级信号,指定天线模式及模拟IMU传感器错误。


  板载处理单元

  我们在实时操作系统(QNX或VxWorks)中运行一个PC/104单元,操作系统中包含了算法和控制策略,用于测试自动代码生成工具和集成架构创建的代码的完成。我们在现场实验的真实无人机中也使用了相同的单元。


  可视化

  我们可以使用Simulink External Mode软件对无人机进行调试。通过这个软件,我们可以监测用户需要实时知晓的信号值。此外我们可以改变嵌入式处理单元中所执行算法的参数。在操作中所使用的界面,与控制工程师在仿真设计算法时所使用的界面完全一样。由此,整个测试环境完全透明,而且能以同现场测试一样的方式进行HIL测试,从而大幅减少开发时间。


  结果

  对比飞行遥测和使用同样的GNC算法的HIL仿真,可以表明HIL的精准性和与真实测试结果的相似性。


  我们在一架改装过的无线电控制的直升飞机上集成了几个传感器(加速度计,回转仪,磁力计,GPS和一个高度计)和一个处理单元(见图3),将其转变成一架无人机,进行飞行测试。  


图3:实验中使用的基于CB5000 RC直升机改装而成的无人机

  无人机在没有过冲或任何一个永久误差的情况下,达到了水平面要求的参考值(见图4和图5)。HIL仿真和真实的飞行测试结果极其一致。  


图4:北方位置对比结果  

图5: 西方位置对比结果

  结论

  HIL环境非常适用于测试包含真实硬件的整个系统。使用NI PXI,我们在实时状态下以低延时仿真了一个复杂的无人机模型,并完美模拟了航空设备界面。


  这个环境能检测出软件仿真中无法显示的错误,从而避免现场实验意外的发生。因为控制工程师在设计,开发和验证过程中也会使用相同的可视化和调试工具,由此可以快速重复循环,减少开发时间。


推荐阅读

史海拾趣

Auris公司的发展小趣事

Auris公司在技术研发方面取得了显著成果。其中,一款名为Auris Robotic Endoscopy System(ARES)的医疗机器人尤为引人注目。这款机器人能够通过精准的操控,帮助医生在不切口的情况下发现早期肺癌,提高了诊断的精确性。20XX年,食品与药品监督管理局(FDA)正式批准了ARES机器人的使用,这是对Auris公司技术实力和产品质量的高度认可。

ETTINGER公司的发展小趣事

作为英国翘楚皮具品牌,Ettinger有幸获得了H.R.H威尔士王的皇家保证。这一荣誉不仅是对Ettinger产品质量的认可,也为品牌的发展带来了更多的机遇。随着品牌知名度的提升,Ettinger逐渐成为了英国人最喜爱的皮具品牌之一,并在全球范围内拥有了广泛的粉丝群。

ABB公司的发展小趣事

作为英国翘楚皮具品牌,Ettinger有幸获得了H.R.H威尔士王的皇家保证。这一荣誉不仅是对Ettinger产品质量的认可,也为品牌的发展带来了更多的机遇。随着品牌知名度的提升,Ettinger逐渐成为了英国人最喜爱的皮具品牌之一,并在全球范围内拥有了广泛的粉丝群。

Eaton公司的发展小趣事

伊顿公司起源于1911年,由Viggo Torbensen和年轻商人Joseph Eaton共同创建的Torbensen齿轮轴承公司,这是伊顿的前身。Joseph Eaton坚信战略收购是拓展业务的最佳方法,因此在公司的发展过程中,他积极推动了一系列重要的收购活动。随着时间的推移,公司的产品逐渐多元化,从最初的齿轮轴承扩展到更广泛的能源管理领域。到1932年,公司更名为伊顿制造公司,进一步彰显了其向多元化发展的决心。

HEIMANN公司的发展小趣事

在伊顿的发展历程中,合作伙伴起到了至关重要的作用。伊顿一直秉持开放合作的态度,与全球各地的企业和机构建立了广泛的合作关系。通过与合作伙伴的共同努力,伊顿不仅在技术和产品上取得了突破和创新,还实现了市场份额的快速增长和业务的全球化拓展。例如,伊顿与天合智慧达成的战略合作伙伴关系,就是双方共同推动分布式光伏产业发展的有力证明。这一合作不仅为双方带来了共赢的机会,也为全球能源结构的转型和升级做出了积极贡献。

以上五个故事涵盖了伊顿公司在电子行业中的发展历程、在中国市场的拓展、与绿色能源的结合、在商用车领域的发展以及与合作伙伴的共赢等多个方面。这些故事不仅展示了伊顿公司的实力和成就,也体现了其不断创新和追求卓越的精神。

Highland Electronics Co Ltd公司的发展小趣事

High Tech Chips Inc深知人才是企业发展的核心竞争力。因此,公司一直将人才战略放在企业发展的重要位置。公司不仅吸引了大量来自国内外顶尖高校的优秀人才加盟,还建立了完善的人才培养体系和激励机制。通过举办技术交流会、设立创新基金等方式激发员工的创新潜能和工作热情。这些举措为公司的发展奠定了坚实的人才基础和技术储备。

问答坊 | AI 解惑

电源产业的发展趋势

[&]纵观当今国内外电源,不难看出显著的特点是:电源门类多,涉及技术相当全面,且技术含量高,但核心技术应是电能变换和功率传递技术,是光、机、电一体化,新能源与高效节能等多个高新技术领域的复合。当今的开关电源门类就是这些技术复合型的 ...…

查看全部问答>

PCB地与地的问题

一块PCB板子的地与接插件的地不通会怎样?怎样才会不通?各位大大99…

查看全部问答>

求教:功耗问题

    我用的是飞思卡尔的射频芯片MC13213,需要完成的功能是:用MC13213的I2C接口接收数据,当从机有中断信号的时侯开始接收数据,接收到的数据不为0时才通过射频发送数据。    可是在功耗上出现了问题:不管有没有中断产生, ...…

查看全部问答>

RELEASETYPE is not set. Using default settings.

今天编译CE5.0内核遇到这么个警告: RELEASETYPE is not set. Using default settings. 结果导致编译出错,而用同样的BSP在我同事的机子上却没事,所以我怀疑是PB出了问题,哪位大侠给指点一下…

查看全部问答>

Unicode问题 进来看看

用c# 调用ril 函数发送at 命令,可是 发送命令貌似发送到底层貌似解码是错的 求高手解释一下  字符串应该怎么重新编码。 …

查看全部问答>

怎么构建PXA270的交叉编译环境

我买了一本书《ARM嵌入式从入门到精通》其中第二章有关于分步构建交叉编译环境的内容,但是按书上说的去做总是有错,已经失败了N次,。。。。…

查看全部问答>

帮忙看一下,输入的信号被忽略了!

程序实现功能如下: 通过clk的脉冲,在recive=0时统计clk的跳变数,达到计时的目的,再把时间通过4个七段数码管显示出来。 程序代码如下: library ieee; use ieee.std_logic_1164.all; entity device is port(clk        ...…

查看全部问答>

我的ZLG M0估计杯具了

今天兴高采烈的在调 PWM程序 弄示波器探头接触引脚的时候 貌似出现了点火花  我也没太在意 出现了波形 可是频率差了点 于是乎准备重新载程序 突然就出现了 我想估计芯片毁了…

查看全部问答>

BIOS\"任务\"对象的问题.

请教各位:      在BIOS中,我用TSK0调用函数test(),硬件中断INT1调用T0ISR().运行程序后,程序一直进入T0ISR(),而不调用\\"任务\\"对象.不应该是在两次中断之间的时间里,会调用TSK0吗?或者是需要什么API函数调用? 部分程序 ...…

查看全部问答>

AT89C51控制M62429的程序谁有?

AT89C51控制M62429程序中的发送6位数据和发送5位数据子程序我不会作,谁能教教我?…

查看全部问答>