3. 硬件使用和配置(Hardware usage and configuration)
3.1 硬件实验开发流程(Hardware experiment development process)
• 控制器设计与仿真
• Simulink代码生成/Python编程
• 软件/硬件在环仿真
• 室外实验

3.2 基于模型开发流程简介(Introduction to the model-based development process)
(1)软件在环仿真阶段
整个阶段都在MATLAB环境下进行,利用给定多旋翼仿真模型和例程,在Simulink中进行控制算法设计,并正确连接模型和控制器,确保输入输出信号与实际多旋翼系统一致。类似于实际多旋翼系统,多旋翼模型将传感器数据或状态估计信息(例如,姿态角、角速率、位置和速度等)发送给控制器,控制器将每个电机PWM控制指令发回给模型,从而形成一个软件在环仿真闭环系统。在本阶段,读者可以观察控制性能,自行修改或设计控制器来达到期望的性能需求。

3.2 基于模型开发流程简介(Introduction to the model-based development process)
(2)硬件在环仿真阶段
利用给定的模型和例程,进行实验。模型在硬件在环多旋翼飞行器仿真器里,而控制器上传到Pixhawk飞控硬件环境下,其中通讯过程是通过串口线直接连接。模型通过串口线将姿态角、姿态角速率、位置和速度发送给控制器,控制器通过串口线将每个电机PWM控制指令发回给模型,从而形成一个闭环。

3.2 基于模型开发流程简介(Introduction to the model-based development process)
(2)硬件在环仿真阶段
将Simulink多旋翼模型参数导入到CopterSim中,并将Simulink控制器算法生成代码下载到Pixhawk自驾仪,然后用USB实体信号线替代Simulink中的虚拟信号线。CopterSim将传感器数据(例如,加速度计、气压计、磁力计等)通过USB数据线发送给Pixhawk系统;Pixhawk系统中的PX4自驾仪软件将收到传感器数据进行滤波和状态估计,将估计的状态信息通过内部的uORB消息总线发送给控制器;控制器再通过USB数据线将每个电机的PWM控制指令发回给CopterSim,从而形成一个硬件在环仿真闭环。

3.2 基于模型开发流程简介(Introduction to the model-based development process)
(2)硬件在环仿真阶段
相对于软件在环仿真,硬件在环仿真中多旋翼模型运行速度与实际时钟是一致的,以此保证仿真的实时性,同时控制算法可以部署并运行在真实的嵌入式系统中,更加接近实际多旋翼系统。需要注意的是,实际硬件通讯中可能会存在传输延迟,同时硬件在环系统的仿真模型和控制器所运行环境也难免与软件在环系统存在一定差异,因此控制器的参数可能需要进一步调节来达到设计需求,这也恰恰反映实际中的情况。

3.2 基于模型开发流程简介(Introduction to the model-based development process)
(3)飞行测试阶段
在这个阶段,CopterSim的虚拟仿真模型进一步由真实多旋翼飞行器替代,传感器数据直接由传感器芯片感知飞行运动状态得到,控制器信号直接输出给电机,从而实现真实飞机的控制。需要注意的是,无论是硬件在环仿真还是软件在环仿真,其仿真模型都难以与真实飞机保持完全一致,因此进一步的参数调整也是必要的。

3.3 硬件系统组成(Hardware system composition)
- 地面计算机/机载计算机
- 机架系统(机臂、机身、起落架等)
- 动力系统(电机、电调、电池、螺旋桨等)
- 遥控器系统(遥控器发射器、接收机、充电器、锂电池等)
- 自驾仪系统(自驾仪/飞控、GPS模块、电源模块、USB数据线、数传模块、机载AI视觉/集群计算机)
3.4 Pixhawk硬件配置(1) — 在线固件下载(Pixhawk hardware Configuration (1) - Online firmware download hardware system composition)
方法如下:
1)打开QGC地面站软件,断开Pixhawk的USB与电脑的连接;
2)如右图上所示,点击工具栏齿轮图标进入载具设置页面,再点击“Firmware”(固件)标签进入固件烧录页面;
3)用 USB 线重新*连接 Pixhawk 自驾仪到电脑,此时软件会自动识别 Pixhawk 硬件,如右图所示所示,在界面右侧弹出固件配置窗口,勾选第一项“PX4 \**”,然后点击“确定”


注意1:本小节例子需要使用PX4的官方固件,任意版本均可,这里选择了最新固件
注意2:如果手头没有Pixhawk自驾仪硬件,可以跳过飞控硬件配置内容,直接进行软件在环仿真
3.4 Pixhawk硬件配置(2) — 离线固件下载(因网络无法在线下载固件时采用本方法(Pixhawk Hardware Configuration (2) -- Offline firmware download (This method is used when online firmware download is unavailable due to network ))
方法如下:
1)打开QGC地面站软件;
2)点击“Firmware”(固件)标签,此时用USB数据线连接Pixhawk自驾仪,地面站会自动检测自驾仪
3)勾选“advanced settings”(高级设置)选框;
4)点击“Standard Version (stable)”(标准版Stable)标签 – “Custom firmware file …”(自定义固件文件…)选项,再点“确定”;
5)在弹出的文件选择页面中,如果使用Pixhawk 4飞控选择“RflySimAPIs\FlightControlExpCourse\code\e0\4.PX4Firmwares\px4_fmu-v5_default1.12.3Stable.px4”,(如果使用Pixhawk 1,选择fmu-v3的固件)


注意:如果文件夹中没有需要版本固件,请访问https://github.com/PX4/Firmware/releases 下载
3.4 Pixhawk硬件配置(3) — 离线固件编译生成(前两者都无法使用时采用本方法(Pixhawk Hardware Configuration (3) -- Offline firmware build ( This method is used when neither of the first two are available ))
- 在MATLAB中重新运“OnekeyScript.p”一键安装脚本;
- 第2行输入“px4_fmu-v5_default”(注意:这里针对Pixhawk 4,请根据自己的飞控硬件选择编译命令)
- 如右图所示,将第9项和第10项分别设置为“是”和“否”,其他选项保持默认(选“否”),点击“确定”按钮,即可编译出不屏蔽PX4自身输出的PX4官方固件。
- 在MATLAB中运行“PX4Upload”命令,即可弹出固件烧录页面,此时插入Pixhawk飞控,即可将官方固件烧入。
注意:前两种方法都失效时才尝试本方法;本方法可以生成任何PX4支持的固件;这里主要需要设置编译命令和取消输出屏蔽,固件版本根据自身需求选择。
3.5 Pixhawk硬件在环仿真模式设置(Pixhawk hardware is set in loop emulation mode)
- 完成固件烧录后,自驾仪会自动重启并连接到QGC上;此时,如右图所示,进入“Airframe”(机架)标签页,选择机架类型为“HIL Quadcopter X”,然后点击右上角的“Apply and Restart” (应用并重启)按钮,此时自驾仪会自动重启;
重启后QGC会自动寻找串口并连接到Pixhawk,此时查看各个配置页,确保Pixhawk进入硬件在环仿真模式。
注意:请忽略QGC上的警告消息(例如,电池缺参数、传感器数据等),这些警告不会影响仿真效果。
对于使用1.13版本的固件时,需要新增一个这个步骤也就是设置完HITL Enable的后,再加上一个这个参数设置。
- 使用QGC连接上飞控后,打开设置选项,在搜索栏中搜索UAVCAN_ENABLE后,在弹出的界面中设置未Disabled,接着点击应用并重启飞控即可。
3.6 开启单机硬件在环仿真(HITL)
步骤:(To enable single-machine hardware-in-the-loop simulation (HITL) steps:)
- 将Pixhawk自驾仪(已经按上一节配置好,并连接遥控器和接收机)通过USB插入电脑。
- 打开CopterSim软件,并在其“仿真模式”选项选择标签“PX4_HITL”,同时检查其他配置,确保模型参数、地图、初始位置和偏航满足需求,再打开RflySim3D配置视景。
- 在“飞控选择”中选择Pixhawk对应串口,然后点击CopterSim界面的“开始仿真”按钮,即可开始硬件在环仿真(注:也可以双击HITLRun快捷方式,并输出飞控串口号数字直接开始硬件在环仿真),等待左下角消息框提示“GPS 3D Fixed”完成初始化。
- 打开QGroundControl(QGC)地面站软件,在FLY页面(纸飞机图标)点击“起飞”按钮,向右滑动滑块,即可控制飞机自动起飞;也可用遥控器手动控制飞机起飞。
RflySim: 平台简介+如何启动单无人机的硬件在环仿真(RflySim: Platform Introduction + How to start single UAV hardware-in-the-loop simulation)
本视频观看地址:
- 优酷:https://v.youku.com/v_show/id_XNDcwNjA4MjEwNA==.html
- YouTube:https://youtu.be/3ytbk63Og5k
- B站:https://www.bilibili.com/video/BV13a411i7sH?p=1
3.7 同时连多个Pixhawk进行仿真(Simulates multiple Pixhawks at the same time)
1. 插入任意个Pixhawk飞控


3. 输入Pixhawk串口号序列

4.QGC控制起飞

注意:可以在地面站上控制飞机依次起飞,来观察仿真现象,具体操作请看视频.
RflySim: 如何快速启动多机的硬件在环编队仿真(RflySim: How to quickly start multi-machine hardware in ring formation simulation)
本视频观看地址:
- 优酷:https://v.youku.com/v_show/id_XNDcwNjA3OTQ0MA==.html
- YouTube:https://youtu.be/oZ_-yhEgebA
- B站:https://www.bilibili.com/video/BV13a411i7sH?p=4
3.8 遥控器配置标准(Remote control configuration standard)
- 本课程使用的遥控器推荐使用“美国手”的操纵方式,即左侧摇杆对应的油门与偏航控制量,而右侧摇杆对应滚转与俯仰。
- 遥控器中滚转、俯仰、油门和偏航分别对应了接收机的CH1~CH4通道,左右上侧拨杆对应了CH5/CH6号通道,用于触发飞行模态切换。
- 油门杆(CH3通道)从最下端和最上端分别对应了PWM信号从1100到1900附近波动(通道不同或遥控器不同都会存在区别,因此需要校准);滚转(CH1通道)和偏航(CH4通道)摇杆从最左端到最右端对应PWM信号从1100到1900;俯仰(CH2通道)摇杆从最下端到最上端对应PWM信号从1900到1100;CH5/6为三段开关,从顶部(最远离使用者的档位)到底部(最靠近使用者的档位)档位对应PWM信号为1100、1500和1900。
- 配置与校准方法如下:
3.9 遥控器配置与校准(Remote control configuration and calibration)
1、正确连接Pixhawk与接收机,用USB数据线连接Pixhawk与电脑,打开遥控器,打开QGroundControl地面站软件,点击右下图所示的“Radio”(遥控器)标签页。
2、依次从左到右(或从上到下)拨动遥控器的CH1到CH5通道(见右上图),观测右下图地面站右侧红框区域中各个通道的白点。如果观测到:1、2、4、5、6号小圆点从左到右移动(PWM从1100到1900);3号圆点从右向左移动,说明遥控器设置正确。否则需要重新配置遥控器。
3、点击右下图的“Calibrate”(校准)按钮,按提示可以校准遥控器。



注意: 若要重新配置遥控器,请参考如下教程的第33页起进行配置,https://rflysim.com/doc/第02讲_实验平台配置.pdf
3.9 遥控器配置与校准(Remote control configuration and calibration)
- 点击QGC地面站上的“Calibrate” –“Next” 按钮,然后依次将摇杆置于右图所示位置(根据QGC页面的实时提示)即可完成遥控器校准。
3.10 飞行模式设置(Flight mode setting)
1. 经过上面的遥控器校准步骤后,点击地面站进入“Flight Modes”(飞行模式)设置页面,选择“Mode Channel”(模式通道)为前面测试过的Channel 6通道。由于CH6通道是一个三段开关,开关的顶部、中部、下部档位分别对应了“Flight Mode(飞行模式) 1、4、6”三个标签。
2. 将这三个标签分别设置为“Stabilized”(自稳模式,只有姿态控制)、“Altitude”(定高模式,姿态和高度控制)和“Position”(定点模式,有姿态、定高和水平位置控制)。在后续的硬件在环仿真中,可以通过切换不同的模式来体验不同的控制效果。

3.11 遥控器进行硬件在环步骤:(遥控器进行硬件在环步骤)
在硬件在环仿真中,可以和控制真实飞机一样,通过遥控器仿真的多旋翼完成解锁、起飞、手动飞行、降落等动作。具体步骤如下:
1. 首先将遥控器电源开关推上去,打开遥控器;
2. 按上文步骤正确连接Pixhawk软硬件,并通过HITLRun脚本开始硬件在环仿真系统;
3.等待CopterSim消息栏显示“3D Fixed & EKF initialization finished”,说明初始化完毕。



3.12 硬件在环飞行测试(Hardware in the ring flight test)
1. 向上拨遥控器油门杆(见右图CH3),使多旋翼起飞到一定高度,然后上下拨动油门杆,确认多旋翼的上下运动控制功能;
2. 左右拨动遥控器左侧偏航杆(见右图CH4),确认多旋翼的偏航方向转动控制功能;
3. 上下拨动遥控器右侧俯仰杆(见右图CH2),控制多旋翼俯仰角大小,确认多旋翼的前后运动控制功能;
4. 左右拨动遥控器右侧滚转杆(见右图CH1),控制多旋翼的滚转角大小,确认实现多旋翼的左右运动;
5. 拨动遥控器右上角的三段开关(见右图CH6拨杆开关),确认多旋翼的控制模式切换功能;
6. 向下拨遥控器左侧的油门摇杆(CH3),使多旋翼降落在地面;
7. 将遥控器左侧油门摇杆置于左下角,保持2~3秒来锁定Pixhawk自驾仪;
8. 直接在HITLRun的黑框中按下任意键,即可退出HIL仿真并关闭所有软件,然后断开Pixhawk与电脑硬件连接。
