主要内容

在Simulink中使用PX4硬件在环(HITL)和无人机动力学进行场景仿真和飞行可视化

这个例子演示了三维场景模拟和飞行可视化与PX4硬件在环(HITL)和无人机动力学包含在Simulink。采用虚幻引擎仿真环境进行三维场景仿真和可视化。有关更多信息,请参见无人机的虚幻引擎仿真

限制:虚幻引擎仿真环境仅支持Microsoft®Windows®系统。

先决条件

  • 设置PX4固件,如为硬件在环(HITL)模拟设置PX4固件.在选择一个PX4自动驾驶仪和构建目标屏幕上,从下拉列表中选择任意一块Pixhawk系列板作为PX4 Autopilot板。本例使用Pixhawk 4。

所需第三方软件

这个例子需要第三方软件:

所需的硬件

要运行这个例子,你需要以下硬件:

  • 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)以上。

Baidu
map