在Simulink中使用PX4硬件在环(HITL)和无人机动力学进行场景仿真和飞行可视化
这个例子演示了三维场景模拟和飞行可视化与PX4硬件在环(HITL)和无人机动力学包含在Simulink。采用虚幻引擎仿真环境进行三维场景仿真和可视化。有关更多信息,请参见无人机的虚幻引擎仿真.
限制:虚幻引擎仿真环境仅支持Microsoft®Windows®系统。
先决条件
如果您是Simulink的新手,请观看Simulink快速入门视频。
浏览PX4硬件在环系统架构文档,以了解设置用于HITL仿真的Pixhawk和Simulink所需的物理连接。
在HITL模式下配置和设置Pixhawk。有关更多信息,请参见通过QGroundControl在硬件在环(HITL)模式下设置PX4自动驾驶仪.
设置PX4固件,如为硬件在环(HITL)模拟设置PX4固件.在选择一个PX4自动驾驶仪和构建目标屏幕上,从下拉列表中选择任意一块Pixhawk系列板作为PX4 Autopilot板。本例使用Pixhawk 4。
熟悉无人机的联合仿真框架,参见无人机的虚幻引擎仿真
所需第三方软件
这个例子需要第三方软件:
所需的硬件
要运行这个例子,你需要以下硬件:
主机PC已配置MATLAB支持的GPU.建议使用GPU with计算能力大于5的。
Pixhawk系列飞行控制器
Micro USB - b型电缆
微型sd卡插槽
Pixhawk串行端口连接器。
在HITL模式下运行与Pixhawk一起的虚幻引擎飞行可视化模型的工作流
这个例子使用了三个不同的Simulink模型。
飞行控制器的Simulink模型将部署在PX4自动驾驶仪上。
无人机动力学与传感器仿真的Simulink模型。
用于飞行可视化的Simulink模型与虚幻引擎仿真无人机。
为了避免由于同时运行三个不同的Simulink模型而导致MATLAB中的性能下降,请启动同一个MATLAB的两个单独会话。
在MATLAB的第一节课中,飞行控制器将部署在自动驾驶仪上,无人机动力学模型将在与自动驾驶仪通信的主机上运行。
在MATLAB的第二届会议,Simulink模型飞行可视化与虚幻引擎仿真将运行。
步骤1:进行硬件连接并在HITL模式下设置Pixhawk
下图演示了HITL设置和各个模块之间的物理通信。
1.使用USB电缆将Pixhawk板连接到主机计算机。
2.请确保已将Pixhawk单板配置为HITL模式通过QGroundControl在硬件在环(HITL)模式下设置PX4自动驾驶仪.
3.确保您已经设置了PX4固件,如为硬件在环(HITL)模拟设置PX4固件.
第二步:启动MATLAB第一期和MATLAB项目
1.开放的MATLAB。
2.在MATLAB命令提示符下执行以下命令打开示例MATLAB项目:
px4demo_HardwareInLoopWithSimulinkPlantStart
3.打开Simulink项目后,单击项目的快捷方式2 .在MATLAB窗口中,单击开放式自动驾驶控制器启动PX4控制器命名Quadcopter_ControllerWithNavigation.
或者,在MATLAB命令提示符下执行这个命令:
open_system (“Quadcopter_ControllerWithNavigation”)
4.在项目的快捷方式选项卡上,单击开放式无人机动力学以Simulink无人机动力学模型命名UAV_Dynamics_Autopilot_Communication.
或者,在MATLAB命令提示符下执行这个命令:
open_system (“UAV_Dynamics_Autopilot_Communication”)
5.打开Simulink Plant模型UAV_Dynamics_Autopilot_Communication以及MAVLink Bridge Source块中的飞行可视化连接。双击MAVLink桥block打开块参数对话框。
步骤3:为HITL模式配置Simulink控制器模型
1.中所提到的说明配置用于硬件在环(HITL)仿真部署的Simulink模型.
注意:在预配置的模型中不需要这些步骤。如果您更改了硬件或没有使用预配置的型号,请执行这些步骤。
2.点击构建、部署和启动从部署的部分硬件选项卡中的控制器模型Quadcopter_ControllerWithNavigation.
将为Controller模型生成代码,并自动将其部署到Pixhawk板(本例中为Pixhawk 4)。
部署完成后,会自动启动QGroundControl。
第四步:启动MATLAB第二阶段,打开飞行可视化模型
1.启动第二节MATLAB。
2.在MATLAB命令提示符下执行以下命令打开示例MATLAB项目:
px4demo_HardwareInLoopWithSimulinkPlantStart
3.打开Simulink项目后,单击项目的快捷方式2 .在MATLAB窗口中,单击打开3D可视化与虚幻引擎要发射机载型号命名Unreal_3DVisualization.
在这个模型中,来自PX4自动驾驶仪的MAVLink数据通过UDP(端口:25000)接收,并用于解码无人机的位置和姿态数据。坐标转换后,将其传递给仿真三维无人机车辆飞行可视化块。
4.在模拟选项卡上,单击运行模拟模型。一旦模型开始运行,您将看到虚幻模拟环境启动。示例屏幕如下所示。
第五步:运行无人机动力学模型,从QGroundControl上传任务并飞行无人机
1.在工厂模型的Simulink工具条中(UAV_Dynamics_Autopilot_Communication),在模拟选项卡上,单击运行模拟模型。
2.在QGC中,导航到平面图.
3.创建一个任务。有关创建任务的信息,请参见平面图.
创建任务后,它在QGC中可见。
4.点击QGC界面中的上传按钮,从QGroundControl上传任务。
5.导航到飞的观点查看已上传的任务。
6.在QGC开始任务。无人机应遵循任务路径,飞行将在虚幻环境中模拟。
故障排除
在第4步中模拟可视化模型时,您可能会得到任何eSTD异常错误,例如“某些模块无法找到”。将编译器更改为Microsoft Visual c++ 2019使用
安装c++
命令来修复该问题。
如果虚幻环境模拟很慢,请确保您的主机PC配置了MATLAB支持的GPU (GPU with计算能力5)以上。