本课程提供的实验平台总体可以分成两个部分:硬件平台和软件平台。本讲简要介绍各个部分的基本组成及实验开发流程。
平台使用篇-RflySim飞控底层实验平台配置介绍
01
电脑配置
1.1推荐配置
•系统:Windows 10 x64系统(版本大于等于1809)
•CPU:Intel i7 八代处理器及以上,或同等性能AMD处理器
•显卡:独立显卡NVIDIA GTX2060及以上,或同等性能AMD显卡
•内存:容量16G及以上,频率DDR3 1600MHz及以上
•硬盘:剩余容量40G及以上(推荐固态硬盘)
•显示器:分辨率1080P(1920*1080)及以上(推荐双屏幕)
•接口:至少有一个USB Type A接口(可用扩展线)
•MATLAB:2017B或以上版本(推荐2017b版本)
注:电脑配置应该越高越好,低配电脑也可以运行本平台Demo,但是可能出现控制不稳定、实验效果不佳等问题。MATLAB请提前自行安装。
1.2最低配置
最新版平台支持更低配电脑:
•系统:Windows 10 x64系统(版本大于等于1809)
•CPU:Intel i5 十代处理器及以上,或同等性能AMD处理器
•显卡:英特尔集成显卡UHD630及以上,或同等性能AMD显卡
•内存:容量16G及以上,频率DDR3 1600MHz及以上
•硬盘:剩余容量40G及以上(推荐固态硬盘)
•显示器:分辨率1080P(1920*1080)及以上(推荐双屏幕)
•接口:至少有一个USB Type A接口(可用扩展线)
•MATLAB:2017B或以上版本(推荐2017b版本)
02
软件平台
本平台附带的仿真软件包内有一键安装脚本,只需运行安装命令,即可完成所有软件的安装与配置。
2.1控制器设计与仿真
MATLAB
本平台支持MATLAB 2017b以上所有版本,目前最高版本为MATLAB 2023a 推荐安装版本为:MATLAB 2017b (平台大部分例程基于此版本开发,若需更高版本,会在对应的readme中注明)安装时推荐勾选所有工具箱(全功能安装)。如果条件受限只能部分安装,本实验必须的工具箱包括:
lightGear飞行模拟器
一款非常受欢迎的开源飞行模拟器软件,可以通过UDP接收Simulink发送的飞行状态,方便地观测Simulink仿真时飞机的飞行状态。
2.2代码自动生成与固件编译
Pixhawk Support Package(PSP)工具箱
Mathworks公司官方为Pixhawk自驾仪推出一个工具箱,用于将Simulink中设计的控制算法生成C代码并编译上传到Pixhawk自驾仪硬件。
PX4 Firmware源代码
PX4 是一款开源飞行控制软件系统,它运行在Pixhawk系列自驾仪硬件平台上,构成了Pixhawk PX4自驾仪软硬件平台,是目前世界范围内广泛应用的开源无人机自驾仪。
PX4 Toolchain编译环境
用于将PX4原生代码和PSP工具箱生成的控制器代码编译成.px4格式的固件,然后上传并烧录到Pixhawk自驾仪硬件中(类似于重装系统的过程),重新启动后就会自动运行PSP工具箱生成的控制算法。
代码阅读与修改-Visual Studio Code
用于阅读与修改PX4源代码,是一款小巧的C/C++集成开发环境,功能类似于Eclipse IDE for C/C++ 。
2.3软件在环
QGroundControl(QGC)地面站
用于在多旋翼起飞前对Pixhawk自驾仪进行传感器校准和参数调整等初始化工作,以及在飞机飞行过程中通过无线数传接收飞行状态并实时发送控制指令。
CopterSim 实时运动仿真软件
北航可靠飞行控制研究组开发的针对Pixhawk PX4自驾仪平台的硬件在环仿真软件,可以在软件中配置多旋翼的模型,通过USB串口与Pixhawk自驾仪连接来实现硬件在环仿真,达到室内模拟室外飞行测试的效果。
3DDisplay/RflySim3D/RflySimUE5三维可视化视景软件
北航可靠飞行控制研究组开发的多旋翼三维显示软件,通过UDP接收CopterSim的飞行数据来实时显示多旋翼的姿态与位置。CopterSim仿真程序与显示软件两者共同构成了硬件在环仿真平台,两者分布式独立运行机制保证了多机多视角的仿真成为可能。此外,基于UE4/UE5开发了更逼真的3D场景引擎RflySim3D/RlySimUE5,可用于后期的图像处理需求。
注:目前平台主要使用RflySim3D,后期会迁移至RflySimUE5,如电脑配置较低,推荐使用3DDisplay。
03
硬件平台
由于控制算法最终将会在真机上进行部署与飞行实验,一套可完成基本飞行任务的多旋翼硬件平台是必不可少的。
3.1地面计算机
主要承担两部分工作• 飞行前的控制算法开发与仿真验证(开发与仿真计算机功能);• 实际飞行实验过程中用于地面发送控制指令以及实时显示飞行状态(地面站功能)。
3.2自驾仪系统
作为控制软件的运行平台,具有强大的计算性能与丰富的传感器,来获取飞行状态并计算输出动力系统的控制指令,实现多旋翼的飞行控制。本书选用目前应用广泛的Pixhawk 系列和卓翼H7开源自驾仪系统。其中,Pixhawk是一个独立的开源硬件项目,致力于为教育、爱好和开发者提供易用、高品质且低成本的自驾仪硬件。针对不同的飞行任务、性能需求和成本需求,Pixhawk提供了一系列的自驾仪硬件产品,极大地推动了多旋翼无人机行业的发展。
3.3遥控器系统
包含遥控器、接收机、充电器等,用于将地面控制人员(飞控手)的操控指令发给自驾仪以实现多旋翼的飞行操纵。
3.4动力系统
包含电池、螺旋桨、电子调速器(电调)和电机,用于接收自驾仪发送的PWM控制指令,通过螺旋桨旋转产生拉力与力矩,控制多旋翼的运动。
3.5机架系统
包含机身、机臂、起落架等,用于承载负载、动力系统和自驾仪,需要优良的气动和结构强度来保证飞行任务可靠顺利的完成。
04
实验开发流程
4.1软件在环
整个阶段都在MATLAB环境下进行,利用给定多旋翼仿真模型和例程,在Simulink中进行控制算法设计,并正确连接模型和控制器,确保输入输出信号与实际多旋翼系统一致。类似于实际多旋翼系统,多旋翼模型将传感器数据或状态估计信息(例如,姿态角、角速率、位置和速度等)发送给控制器,控制器将每个电机PWM控制指令发回给模型,从而形成一个软件在环仿真闭环系统。在本阶段,读者可以观察控制性能,自行修改或设计控制器来达到期望的性能需求。
4.2硬件在环
利用给定的模型和例程,进行实验。模型在硬件在环多旋翼飞行器仿真器里,而控制器上传到Pixhawk飞控硬件环境下,其中通讯过程是通过串口线直接连接。模型通过串口线将姿态角、姿态角速率、位置和速度发送给控制器,控制器通过串口线将每个电机PWM控制指令发回给模型,从而形成一个闭环。将Simulink多旋翼模型参数导入到CopterSim中,并将Simulink控制器算法生成代码下载到Pixhawk自驾仪,然后用USB实体信号线替代Simulink中的虚拟信号线。CopterSim将传感器数据(例如,加速度计、气压计、磁力计等)通过USB数据线发送给Pixhawk系统;Pixhawk系统中的PX4自驾仪软件将收到传感器数据进行滤波和状态估计,将估计的状态信息通过内部的uORB消息总线发送给控制器;控制器再通过USB数据线将每个电机的PWM控制指令发回给CopterSim,从而形成一个硬件在环仿真闭环。
4.3实飞测试
在这个阶段,CopterSim的虚拟仿真模型进一步由真实多旋翼飞行器替代,传感器数据直接由传感器芯片感知飞行运动状态得到,控制器信号直接输出给电机,从而实现真实飞机的控制。需要注意的是,无论是硬件在环仿真还是软件在环仿真,其仿真模型都难以与真实飞机保持完全一致,因此进一步的参数调整也是必要的。