无人机包裹递送
这个例子展示了通过迭代增量式设计,了解如何实现一个小multicopter模拟起飞,飞,降落在城市环境中不同的位置。
打开项目
开始,打开示例脚本和访问支持文件通过点击金宝app打开生活的脚本在文档或使用openExample
函数。
openExample (“无人机/ UAVPackageDeliveryExample”);
然后,打开模型™项目文件。金宝app
撮合下= openProject (“uavPackageDelivery.prj”);
模型架构和约定
顶层模型由以下子系统和模型引用:
地面控制站:用于控制和监视飞机飞行。
外部传感器,激光雷达和摄像机:用于连接之前设计场景或逼真的模拟环境。这些生产激光雷达数据从环境中飞机飞过。
板电脑上:用于实现算法意味着在车载计算机独立于自动驾驶仪。
Multirotor:包括低保真和mid-fidelity multicopter模式中,一个飞行控制器包括其指导逻辑。
数据模型的设计仿真软件中包含™数据字典金宝app数据文件夹(uavPackageDeliveryDataDict.sldd
)。此外,该模型使用使用变体子系统实现变化在不同的层次结构(金宝app模型)管理模型的不同的配置。变量放置在基本工作空间配置这些变体而不需要修改数据字典。
下面的例子的步骤
使用项目的快捷方式通过这个例子来一步。每个项目的快捷键设置所需的变量。
1。开始
单击开始项目的快捷方式,设置four-waypoint任务使用一个低保真模型multirotor植物模型。运行的uavPackageDelivery
模型,它显示了multirotor起飞,飞,在三维图和土地。
该模型使用无人机路径管理器确定哪些块是活跃在整个飞行航点。传递到活跃的路标指导模式选择器Stateflow™图表生成必要的内循环控制命令。
2。连接到一个gc
一旦你能够飞一个基本的任务,你准备把你的模拟地面站软件,这样你就可以更好地控制飞机的任务。为此,您需要下载并安装QGroundControl地面控制站软件。
模型使用无人机工具箱™mavlinkio
建立模型和QGroundControl之间的联系。金宝app连接被实现为一个块位于MATLAB®系统uavPackageDelivery /地面控制站/得到飞行任务/ QGC MAVLink接口
。
测试模型之间的连接性和QGroundControl遵循这些步骤:金宝app
单击连接到一个gc项目的快捷方式。
QGroundControl发射。
在QGroundControl,加载任务计划命名
shortMission.plan
位于/工具/ qgc
。运行仿真。
当QGroundControl表明它是连接到系统,上传任务。
飞机起飞后,您应该看到发送的无人机飞行使命QGC如下所示。
您可以修改任务通过添加锚点或那些已经在移动任务。上传任务和飞机应该应对这些变化。
3所示。设置一个长方体的场景
现在飞机的模型可以从地面控制站,考虑飞机飞行的环境。对于这个示例,几个街区建模在长方体的情况下使用uavScenario
对象。场景是基于城市街区下面左边的图所示。
安全飞行的飞机在这种情况下,你需要一个传感器提供的信息环境,如激光雷达传感器模型。这个示例使用uavLidarPointCloudGenerator
对象添加到无人机的场景uavSensor
对象。激光雷达传感器模型生成数据基于传感器的姿势和环境中的障碍。
单击设置一个长方体的场景快捷方式,运行该模型。在模型运行时,激光雷达点云图像显示飞机飞过长方体环境:
4所示。避障
为了避免环境中的障碍,模型必须使用可用的传感器数据作为环境中的无人机飞行任务。修改模型配置,单击避障或3 d避障快捷方式。出现一个范围显示最近的长方体的建筑环境。避障快捷键使用平面激光雷达信息和配置模型向量场直方图(导航工具箱)为了避免障碍通过改变无人机以其当前的x - y平面的方向。3 d避障快捷键配置使用3 d激光雷达点和模型避障为了避免障碍通过改变无人机在3 d空间的方向。
运行该模型。在避障模式,在模型运行时,这架飞机试图在建筑物之间的直线下降的网站但是背离避免障碍。观察与障碍物之间的距离变化量随着时间的推移,观察类似的行为3 d避障模式,无人机现在也能够调整高度飞越障碍。
5。逼真的模拟
到目前为止,环境是一个简单的立方体的场景。增加环境的忠诚,单击逼真的模拟快捷方式,把飞机飞行在一个更现实的世界。的PhotorealisticQuadrotor
变异位于uavPackageDelivery / photorealisticSimulationEngi / SimulationEnvironmentVariant
变得活跃。该变量包含必要的模块配置仿真环境和传感器安装在飞机:
运行该模型。飞机飞相同的任务设置步骤1和2。注意到飞机飞行任务激光雷达点云更新和前置摄像头的图像显示。
6。飞满逼真的模拟环境中任务
接下来,单击飞完全任务快捷键,设置连接QGroundControl从第2步上传逼真环境内的任务。按照以下步骤运行仿真:
QGroundControl发射。
在QGroundControl,加载任务计划命名
shortMission.plan
位于/工具/ qgc
。运行仿真。
当QGroundControl表明它是连接到一个系统,上传任务。
飞机开始飞,您可以修改任务QGroundControl通过添加锚点或那些已经在移动任务。上传任务和飞机应该应对这些变化。在飞行的时候你会看到飞机的场景。
7所示。逼真的模拟环境中的避障飞行
接下来,我们的目标是飞行任务通过指定一个起飞和着陆QGroundControl点和使用障碍的避障导航路径。单击飞满避障或飞满3 d避障快捷方式,按照以下步骤运行仿真:
QGroundControl发射。
在QGroundControl,加载任务计划命名
oaMission.plan
位于/工具/ qgc
。运行仿真。
当QGroundControl表明它是连接到一个系统,上传任务。
在飞行的时候,看着飞机试图遵循QGroundControl指挥路径,同时试图避免碰撞的建筑环境。如果飞满3 d避障使用,可以观察到无人机飞过较低的建筑,而不是围绕它。
在某种程度上在飞行期间,你会看到周围的无人机飞行建筑角落。
8。添加一个6自由度植物的高保真模型模拟
作为最后一步,单击添加一个高保真的植物的快捷方式,激活了高保真变体位于无人机模型uavPackageDelivery MultirotorModel / / High-FidelityModel内循环和植物模型
。该变量包含一个内部循环控制器和高保真工厂模型。
运行该模型。有轻微的变化行为由于高保真模型,但无人机飞一样的任务。
当你完成探索模式,关闭项目文件。
关闭(撮合下);