交换数据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记得过去的路径传播。