主要内容

无人机包裹递送

这个例子展示了通过迭代增量式设计,了解如何实现一个小multicopter模拟起飞,飞,降落在城市环境中不同的位置。

打开项目

开始,打开示例脚本和访问支持文件通过点击金宝app打开生活的脚本在文档或使用openExample函数。

openExample (“无人机/ UAVPackageDeliveryExample”);

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

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

模型架构和约定

顶层模型由以下子系统和模型引用:

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

  2. 外部传感器,激光雷达和摄像机:用于连接之前设计场景或逼真的模拟环境。这些生产激光雷达数据从环境中飞机飞过。

  3. 板电脑上:用于实现算法意味着在车载计算机独立于自动驾驶仪。

  4. Multirotor:包括低保真和mid-fidelity multicopter模式中,一个飞行控制器包括其指导逻辑。

数据模型的设计仿真软件中包含™数据字典金宝app数据文件夹(uavPackageDeliveryDataDict.sldd)。此外,该模型使用使用变体子系统实现变化在不同的层次结构(金宝app模型)管理模型的不同的配置。变量放置在基本工作空间配置这些变体而不需要修改数据字典。

下面的例子的步骤

使用项目的快捷方式通过这个例子来一步。每个项目的快捷键设置所需的变量。

1。开始

单击开始项目的快捷方式,设置four-waypoint任务使用一个低保真模型multirotor植物模型。运行uavPackageDelivery模型,它显示了multirotor起飞,飞,在三维图和土地。

UAVPackageDeliveryBasicMissionAnimation.png

该模型使用无人机路径管理器确定哪些块是活跃在整个飞行航点。传递到活跃的路标指导模式选择器Stateflow™图表生成必要的内循环控制命令。

2。连接到一个gc

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

模型使用无人机工具箱™mavlinkio建立模型和QGroundControl之间的联系。金宝app连接被实现为一个块位于MATLAB®系统uavPackageDelivery /地面控制站/得到飞行任务/ QGC MAVLink接口

测试模型之间的连接性和QGroundControl遵循这些步骤:金宝app

  1. 单击连接到一个gc项目的快捷方式。

  2. QGroundControl发射。

  3. 在QGroundControl,加载任务计划命名shortMission.plan位于/工具/ qgc

  4. 运行仿真。

  5. 当QGroundControl表明它是连接到系统,上传任务。

飞机起飞后,您应该看到发送的无人机飞行使命QGC如下所示。

UAVPackageDeliveryQGCShortMissionResized.png

您可以修改任务通过添加锚点或那些已经在移动任务。上传任务和飞机应该应对这些变化。

3所示。设置一个长方体的场景

现在飞机的模型可以从地面控制站,考虑飞机飞行的环境。对于这个示例,几个街区建模在长方体的情况下使用uavScenario对象。场景是基于城市街区下面左边的图所示。

Scenario.png

安全飞行的飞机在这种情况下,你需要一个传感器提供的信息环境,如激光雷达传感器模型。这个示例使用uavLidarPointCloudGenerator对象添加到无人机的场景uavSensor对象。激光雷达传感器模型生成数据基于传感器的姿势和环境中的障碍。

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

4所示。避障

为了避免环境中的障碍,模型必须使用可用的传感器数据作为环境中的无人机飞行任务。修改模型配置,单击避障3 d避障快捷方式。出现一个范围显示最近的长方体的建筑环境。避障快捷键使用平面激光雷达信息和配置模型向量场直方图(导航工具箱)为了避免障碍通过改变无人机以其当前的x - y平面的方向。3 d避障快捷键配置使用3 d激光雷达点和模型避障为了避免障碍通过改变无人机在3 d空间的方向。

运行该模型。在避障模式,在模型运行时,这架飞机试图在建筑物之间的直线下降的网站但是背离避免障碍。观察与障碍物之间的距离变化量随着时间的推移,观察类似的行为3 d避障模式,无人机现在也能够调整高度飞越障碍。

5。逼真的模拟

到目前为止,环境是一个简单的立方体的场景。增加环境的忠诚,单击逼真的模拟快捷方式,把飞机飞行在一个更现实的世界。的PhotorealisticQuadrotor变异位于uavPackageDelivery / photorealisticSimulationEngi / SimulationEnvironmentVariant变得活跃。该变量包含必要的模块配置仿真环境和传感器安装在飞机:

运行该模型。飞机飞相同的任务设置步骤1和2。注意到飞机飞行任务激光雷达点云更新和前置摄像头的图像显示。

UAVPackageDeliveryUnrealBasicMissionResize.png

6。飞满逼真的模拟环境中任务

接下来,单击飞完全任务快捷键,设置连接QGroundControl从第2步上传逼真环境内的任务。按照以下步骤运行仿真:

  1. QGroundControl发射。

  2. 在QGroundControl,加载任务计划命名shortMission.plan位于/工具/ qgc

  3. 运行仿真。

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

飞机开始飞,您可以修改任务QGroundControl通过添加锚点或那些已经在移动任务。上传任务和飞机应该应对这些变化。在飞行的时候你会看到飞机的场景。

UAVPackageDeliveryUnrealQGCResize.png

7所示。逼真的模拟环境中的避障飞行

接下来,我们的目标是飞行任务通过指定一个起飞和着陆QGroundControl点和使用障碍的避障导航路径。单击飞满避障飞满3 d避障快捷方式,按照以下步骤运行仿真:

  1. QGroundControl发射。

  2. 在QGroundControl,加载任务计划命名oaMission.plan位于/工具/ qgc

  3. 运行仿真。

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

在飞行的时候,看着飞机试图遵循QGroundControl指挥路径,同时试图避免碰撞的建筑环境。如果飞满3 d避障使用,可以观察到无人机飞过较低的建筑,而不是围绕它。

UAVPackageDelivery3DObstacleAvoidanceResize.png

在某种程度上在飞行期间,你会看到周围的无人机飞行建筑角落。

UAVPackageDeliveryUnrealAroundCorner400.gif

8。添加一个6自由度植物的高保真模型模拟

作为最后一步,单击添加一个高保真的植物的快捷方式,激活了高保真变体位于无人机模型uavPackageDelivery MultirotorModel / / High-FidelityModel内循环和植物模型。该变量包含一个内部循环控制器和高保真工厂模型。

运行该模型。有轻微的变化行为由于高保真模型,但无人机飞一样的任务。

当你完成探索模式,关闭项目文件。

关闭(撮合下);