主要内容

交换数据MAVLink Microservices像任务协议和参数协议使用仿真软件

这个例子展示了如何实现MAVLink microservices任务的协议参数协议使用仿真软件中的MAVLink序列化器和MAVLink反序列化程序块®。

这个示例使用:

  • MATLAB®

  • 仿真软件®

  • 无人机的工具箱

  • Stateflow™

  • 仪器控制工具箱™

任务协议microservice MAVLink允许一个地面控制站(GCS)与无人机通信发送和接收任务执行任务所需的信息。任务协议microservice允许你:

  • 上传任务从GCS无人机

  • 从无人机下载任务

  • 设置当前的任务项

的参数协议microservice MAVLink允许你代表重要的配置参数信息交换和无人机之间的gc。参数表示为键值对。

这个例子解释了如何:

  • 上传任务组成的10路点gc的无人机仿真模型。使用QGroundControl (QGC)gc。如果你没有QGC安装在主机电脑,下载它在这里

  • 读写数据从QGC 28参数列表和无人机。

设计模型

首先,遵循这些步骤:

1。打开exampleHelperMAVLinkMissionAndParamProtocol文件在MATLAB和点击运行。这将创建工作空间变量必须初始化数据模型和上传QGC自动驾驶仪的参数。

2。模型在仿真软件中通过点击启动示例开放模式这个页面的顶部。您还可以使用以下命令启动模型随时在你点击开放模式按钮:

open_system (“MissionAndParameterProtocolUsingMAVLink.slx”);

仿真软件模型包括:

1。模型设置:这个领域模型中包含两个子系统模块,初始化函数和全球数据存储。这些模块是用来初始化的数据将用于信号的模型中生成基工作区。

2。协议的处方:这个区域的模型由receive_udp子系统,用于接收UDP数据块从QGC。子系统包含一个仿真软件功能,读取MAVLink QGC UDP数据,在每个模拟步骤。收到MAVLink数据传递给Stateflow图表进行解码和解析。

3所示。任务的协议:这个领域模型中包含两个子系统模块,发送任务请求和任务QGC致谢。这些函数被称为microservice Stateflow图实现的任务。

4所示。任务和参数协议:Stateflow图实现使命和逻辑模型中的参数。

收到MAVLink数据反序列化process_udp仿真软件的功能,然后传递到Stateflow逻辑执行四个任务:

一个。ReceivingMission:这Stateflow子图表从QGC和解码接收任务路径点的任务。它实现了协议上传任务的任务microservice QGC无人机,中描述上传任务

b。SendingParams:这Stateflow子图表上传参数基本工作空间中创建的QGC参数协议后,所述阅读所有参数

c。SendSingleParams:这个Stateflow子图表定义了如何发送一个参数从无人机QGC,中描述读单参数

d。WriteSingleParam:这Stateflow子图表定义了如何从QGC更新参数值并看到他们的无人驾驶飞机,所述写参数

5。逻辑读路标点和参数:Stateflow实现了两个协议和输出接收到的锚点和上传的参数值。

下一节将解释如何上传任务从QGC无人机。

上传任务从QGC无人机和运行仿真软件模型

1。启动QGC并导航到平面图

2。一个预先计划的任务,MissionProtocol.plan,用这个例子中是可用的。点击开放模式这个页面的顶部将计划文件保存到你的电脑。保存.plan文件后,发射QGC,然后单击文件>开放上传QGC的计划。

你上传计划后,QGC的使命是可见的。

3所示。运行仿真软件模型。仿真软件模型发送心跳消息在MAVLink QGC从而与QGC建立连接。

4所示。点击上传在右上角QGroundControl QGC接口上传任务。

5。观察到前两个锚点的纬度和经度值的上传任务被显示在仿真软件。

6。改变waypoint1和waypoint2 QGC拖着路点不同的位置的计划。通过点击上传修改后的使命上传要求

7所示。遵守修改后的航点的纬度/经度值在模型1和2。

修改参数QGC和寄给仿真软件

当您运行这个exampleHelperMAVLinkMissionAndParamProtocol文件在MATLAB命令窗口中,一个工作空间变量apParams创建,28日飞行参数的数组。

当您运行仿真软件模型,它连接到QGC, QGC从仿真软件读取参数。

QGC中的参数可以可视化和修改:

1。导航到车辆设置QGC窗格。选择参数选项卡。

2。在参数选项卡上,选择其他列出所有的参数QGC从仿真软件读取。

3所示。该模型显示GDNC_TSTAR和GDNC_TURN_LEAD参数的值。单击GDNC_TSTAR和GDNC_TURN_LEAD QGC参数和修改相应的值。

4所示。QGC写这些修改参数的值,使用参数协议microservice仿真软件。观察模型的参数值被修改。

其他的事情努力

Stateflow图表解释在这个例子中没有实现以下场景:

  • 如果无人机之间的通信和QGC脱落在某种程度上,重新连接时,任务协议上传简历应该在无人机的路径传输数据之前断开。

您可以修改Stateflow图表,这样即使通信中断,Stateflow记得过去的路径传播。

Baidu
map