无人驾驶飞行器在民用和军用的许多领域中,是一个很有前景的低成本选择。相比传统的飞行器,无人飞行器可以提供更低的运行成本和显著的人员安全优势(特别是枯燥、肮脏和危险的任务)。近几年来,我们开展了若干个民用的固定机翼或旋翼式UAV平台的研究项目。
为了开发出这种类型的平台,我们需要新的航空电子系统,能够使直升机保持在稳定的高度并按照需要的轨迹飞行。该航空电子设备系统包含传感器、计算机和数据通信硬件,以及对飞行器进行导航和控制的软件。RUAV航空电子系统的开发,需要涉及到微电子、数据通信、电子集成、安装和编程、滤波器设计、信号调理及振动隔离等广泛领域。传统的RUAV项目使用机载电子设备,需要雇佣大量的专业技术人员进行系统的装配和测试,这增加开发的时间成本。
在我们开发的RUAV航空电子系统组件中,使用CompactRIO作为飞行计算机,因为它有着可靠且可重新配置的构架,可以快速而便捷地集成不同的I/O硬件和传感器。
与直升机平台建造及航空电子系统开发同时进行的是,在LabVIEW环境中开发模块化半实物测试平台,用于安全无风险的飞行前测试。CompactRIO和HIL仿真器可以快速而便捷的进行编程。它们还可以加速软硬件的开发和整合。
硬件和系统构架
RUAV系统的开发通常使用下面的方法:
- 硬件选型和系统建立
- 设计传感器采集软件和控制系统
- 开发半实物测试台,对机载硬软件进行无风险的地面测试
- 最终的自主飞行实验测试
我们的RUAV平台由Hirobo60业余直升机组成,我们对直升机进行了改装来装载航空电子硬件。为了提高直升机的载重能力,我们还安装了更为强大的引擎、更长的玻璃纤维桨叶、更长的尾桁和尾桨。
同时,我们使用CompactRIO硬件作为飞行计算机,用于采集传感器信息,并且根据CompactRIO上的控制算法生成PWM执行器信号。此系统利用数字输入模块NI9411管理RS232协议,从Crossbow NAV420 AHRS (航姿系统) 接收飞行数据信息;分别利用数字输入模块NI 9411和数字输出模块NI 9474,接收和发送PWM执行器信号;利用数字输入模块NI 9411和数字输出模块NI 9474管理I2C协议,采集声纳传感器的高度信息;从现场可编程门阵列(FPGA)接收传感器信息并记录所有的飞行数据,同时管理与地面控制台的无线以太网通信。
我们开发的HIL测试台在测试环中包含了尽可能多的飞行器硬件:
- 运行机载软件的飞行计算机等效硬件。我们使用了NI PXI-7831R与计算机的通信。利用FPGA接口卡模拟CompactRIO实时计算机。
- 模拟直升机单元和机载传感器输出的计算机。
- 包含了真正的GCS源代码,并使用TCP/IP协议与模拟计算机进行通信的地面控制台(GCS)计算机。
- 还可以选择性地添加OpenGL视觉系统计算机,用于重现直升机飞行时的虚拟景色。视觉系统可以通过TCP/IP协议从GCS计算机接收输入。
HIL仿真器软件
LabVIEW代码管理整个RUAV系统和HIL仿真器。这两段软件有着典型的CompactRIO应用设计构架。
在实际的RUAV系统中,FPGA代码使用四个不同的传感器读写循环和1个比例-积分-微分(PID)控制循环用于直升机的控制。PID循环是50Hz的闭环。写循环将PWM命令发送到直升机的主旋翼、尾旋翼和伺服执行器,完成预定义的飞行动作。第一个读取循环使用RS232协议,从Crossbow NAV 420处获得直升机的高度、角速度、速度和GPS位置,我们使用FPGA数字输入管理RS232协议,确保确定性数据采集。第二个读取循环管理PWM命令数据采集。另一个读写循环用于采集声纳传感器数据并管理I2C协议。
我们使用CompactRIO实时软件进行FPGA数据采集、机载飞行数据记录及与地面控制站的无线以太网通信。为了管理地面控制台的通信,我们使用了LabVIEW Real-Time Communication Wizard。同时,在Windows OS中使用LabVIEW开发了地面控制台软件。
远程图形化用户界面包含两个窗口:虚拟驾驶舱和用于实时显示飞行数据信息的遥感勘测窗口。我们使用ActiveX控件开发了虚拟驾驶舱,就像Global Majic软件公司的飞行器仪器那样。我们还可以使用额外的信息,如GPS和惯性测量单元的状态和系统警告等。
HIL仿真器中的等效代码包含了运行在NI PXI-7831R上的FPGA代码,它与实际RUAV系统运行的FPGA代码是相同的。在模拟计算机上运行的代码包含三个主要部分:仿真循环,它包含了使用LabVIEW Control Design and Simulation Module开发的直升机仿真模型;串口写循环,用于根据直升机仿真循环的状态信息,模拟Crossbow NAV 420的RS232输出;运行LabVIEW实时软件的CompactRIO系统,它与实际运行在GCS计算机的软件是相同的。
直升机仿真器和实时代码运行在相同的机器上,这是因为所有的源代码都使用了独立的循环。这种设定的结果就是机载计算机“认为”正在控制飞行器,所有的配置数据流与自动飞行的设定都是相同的。在这种情况下,经过大量的地面安全仿真,我们在进行飞行测试前就可以了解机载软件的性能和可能的缺陷。
成功开发硬件在环仿真器
我们进行了HIL仿真和试飞,来测试使用选定的硬件和开发的软件用于直升机控制的可行性。仿真和试飞结果的比较表明,使用开发的HIL模拟器作为RUAV系统的地面安全测试台是十分可行的。
在将来,我们将对仿真平台做进一步的改进。我们将在HIL仿真器上实现更为复杂的动力学模型,包含更精确的飞行传感器模型。与RUAV平台一起,这些仿真环境提供了有效的测试平台,用于安全地面飞行前测试或研究不同的控制和导航策略。