主要内容

无人机包裹递送

这个例子通过递增设计迭代展示了如何实现小型直升机模拟在城市环境的不同位置起飞、飞行和降落。

打开项目

首先,打开示例实时脚本并通过单击来访问支持文件金宝app打开生活的脚本在文档中或使用openExample函数。

openExample (“无人机/ UAVPackageDeliveryExample”);

然后,打开Simulink™项金宝app目文件。

撮合下= openProject (“uavPackageDelivery.prj”);

模型体系结构和约定

顶层模型由以下子系统和模型参考文献组成:

  1. 地面控制站:用于在飞行中控制和监视飞机。

  2. 外部传感器-激光雷达和相机:用于连接到预先设计的场景或逼真的模拟环境。当飞机飞过时,这些激光雷达就会产生环境读数。

  3. 板电脑上:用于实现在独立于自动驾驶仪的机载计算机上运行的算法。

  4. Multirotor:包括一个低保真度和中保真度的直升机模式,一个飞行控制器,包括它的制导逻辑。

的Simulink™数据字典中包含模型的设计数据金宝app数据文件夹(uavPackageDeliveryDataDict.sldd).此外,模型使用不同的子系统(金宝app模型)管理模型的不同配置。放置在基本工作区中的变量配置这些变体,而不需要修改数据字典。

下面的例子的步骤

使用项目的快捷方式按步执行示例。每个快捷方式设置项目所需的变量。

1.开始

单击开始项目捷径,建立模型为一个四路点任务使用一个低保真多转子工厂模型。运行uavPackageDelivery该模型以三维图形显示了多旋翼机的起飞、飞行和降落。

该模型使用无人机路径管理器块以确定哪个是整个飞行中的主动航路点。活动的路径点被传递到指导模式选择器statflow™图来生成必要的内环控制命令。

2.连接到GCS

一旦你能够飞行一个基本的任务,你已经准备好集成你的模拟与地面站软件,这样你就可以更好地控制飞机的任务。为此,您需要下载并安装QGroundControl地面控制站软件。

该模型使用UAV工具箱™mavlinkio在Simulink和QGroundControl之间建立连接。金宝app连接是作为MATLAB®系统块位于uavPackageDelivery/Ground Control Station/Get Flight Mission/QGC/MAVLink接口

要测试Simulink和QGroundControl之间的连接性,金宝app请遵循以下步骤:

  1. 单击连接到GCS项目的快捷方式。

  2. QGroundControl发射。

  3. 在QGroundControl中,加载命名为shortMission.plan位于/工具/ qgc

  4. 运行仿真。

  5. 当QGroundControl表示已连接到系统时,上传任务。

一旦飞机起飞,你应该看到无人机飞行它的任务由QGC发送如下所示。

你可以通过添加路径点或移动任务中已经存在的路径点来修改任务。上传任务,飞机就会对这些变化做出反应。

3.设置长方体场景

现在,飞机模型可以从地面控制站流动,考虑飞机飞行的环境。对于本例,在长方体场景中使用uavScenario对象。该场景基于下图左图所示的城市街区。

要在这种情况下安全地飞行飞机,您需要一个传感器来提供有关环境的信息,例如模型的激光雷达传感器。这个例子使用了uavLidarPointCloudGenerator对象添加到无人机场景uavSensor对象。激光雷达传感器模型根据传感器的姿态和环境中的障碍物生成读数。

单击设置长方体场景快捷方式,运行该模型。模型运行时,飞行器在长方体环境中飞行时,会显示激光雷达点云图像:

4.避障

为了避开环境中的障碍物,模型必须在无人机在环境中执行飞行任务时使用可用的传感器数据。要修改模型配置,请单击避障快捷方式。在长方体环境中出现了一个显示离建筑物最近点的镜。

运行该模型。当模型运行时,飞机试图在建筑物之间的直线路径上飞行,并避开沿途的障碍。注意到障碍物距离随时间的变化。

5.逼真的模拟

到目前为止,环境一直是一个简单的长方体场景。要增加环境的逼真度,请点击逼真的模拟快捷方式,使飞机在一个更现实的世界中飞行。逼真的四旋翼改型位于uavPackageDelivery / photorealisticSimulationEngi / SimulationEnvironmentVariant变得活跃。该变体包含配置模拟环境和安装在飞机上的传感器所需的模块:

运行该模型。从步骤1和步骤2开始,飞机将执行相同的任务。注意,当飞机飞行任务的激光雷达点云更新和从正面的相机显示的图像。

6.在逼真的模拟环境中执行完整任务

接下来,单击飞完全任务快捷方式,从步骤2开始设置与QGroundControl的连接,以便在逼真的环境中上传任务。按照以下步骤运行模拟:

  1. QGroundControl发射。

  2. 在QGroundControl中,加载命名为shortMission.plan位于/工具/ qgc

  3. 运行仿真。

  4. 当QGroundControl表示它连接到一个系统时,上传任务。

当飞机开始飞行时,你可以在QGroundControl中通过添加航路点或移动任务中已经存在的航路点来修改任务。上传任务,飞机就会对这些变化做出反应。在整个飞行过程中,您将看到飞机在场景中飞行。

7.在逼真仿真环境中的飞行避障

接下来,目标是飞行任务,在QGroundControl中指定起飞和着陆点,并使用避障器绕过路径上的障碍物。单击飞行全程避障快捷方式并按照以下步骤运行模拟:

  1. QGroundControl发射。

  2. 在QGroundControl中,加载命名为oaMission.plan位于/工具/ qgc

  3. 运行仿真。

  4. 当QGroundControl表示它连接到一个系统时,上传任务。

在整个飞行过程中,可以看到飞机试图遵循QGroundControl命令的路径,同时试图避免与环境中的建筑物碰撞。

在飞行过程中的某个时刻,你会看到无人机穿过两座建筑之间的狭窄通道。

8.增加了一个6DOF植物模型的高保真仿真

作为最后一步,单击添加高保真植物它激活位于的无人机模型的高保真型uavpackagdelivery /MultirotorModel/Inner Loop and Plant Model/High-FidelityModel.该变体包含一个内环控制器和一个高保真的设备模型。

运行该模型。由于高保真模型,在行为上有微小的变化,但是无人机执行相同的任务。

当您完成对模型的探索后,关闭项目文件。

关闭(撮合下);