Mission Planner架构梳理篇(一)

概述

Mission Planner 是一款地面控制站 (GCS) 应用程序,主要为使用 ArduPilot 开源自动驾驶仪系统的车辆设计。它提供了一个全面的界面,用于任务规划、车辆配置、实时监控以及对无人机、飞机、直升机、探测车、船只和潜艇等自动驾驶车辆的控制。

本文档概述了 Mission Planner 的软件架构、核心组件及其交互方式。它解释了 Mission Planner 中的关键系统,并可作为理解代码库的起点。

系统目的和功能

任务规划器是人类操作员和自动驾驶汽车之间的主要接口。其主要功能包括:

  • 实时飞行监控和遥测可视化
  • 任务规划和航点管理
  • 车辆配置及参数调校
  • 固件更新和设备校准
  • 地图可视化和地理空间数据管理
  • 飞行日志分析和可视化
  • 通过各种通信方式连接车辆

 核心架构

下图展示了 Mission Planner 的高层架构:

数据流架构

下图说明了数据如何流经任务规划器系统:

关键组件

MainV2 - 应用程序核心

 类MainV2是应用程序的核心。它:

  • 管理主要应用程序生命周期
  • 处理与车辆的通信
  • MainSwitcher通过控件管理多个视图
  • 处理来自用户的输入
  • 维护应用程序状态

通信系统-MAVLinkInterface

MAVLinkInterface 负责处理所有使用 MAVLink 协议的联网飞行器的通信。它:

  • 管理自动驾驶仪的串行连接
  • 处理传入的 MAVLink 消息
  • 向车辆发送命令
  • 管理多个车辆连接
  • 跟踪车辆状态信息

 

用户界面 - 航班数据视图

飞行数据视图是监控飞行器状态的主要界面。它包括:

  • 平视显示器 (HUD),用于姿态可视化
  • 地图显示位置追踪
  • 各种格式的遥测数据
  • 车辆控制接口
  • 状态信息选项卡

用户界面 - 飞行计划器视图

飞行计划器视图用于创建、编辑和管理自主任务。它包括:

  • 用于放置航点的交互式地图
  • 任务详细信息的命令列表编辑器
  • 先进的任务规划工具
  • 地理围栏和集结点编辑器

 

飞机状态管理 

任务规划器通过该类跟踪并维护有关联网飞行器的综合信息CurrentState,该类存储的遥测数据包括:

类别数据点
姿态横滚、俯仰、偏航
位置纬度、经度、海拔
移动地速、空速、垂直速度
状态武装状态、飞行模式、电池电量
传感器GPS、指南针、加速度计状态
系统CPU使用率、通信链路质量

该状态通过来自车辆的 MAVLink 消息实时更新,使其成为所有飞行器信息的中央存储库。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值