IT评测·应用市场-qidao123.com技术社区
标题:
QGroundControl的总体架构,模块化设计和重要组件的功能。
[打印本页]
作者:
欢乐狗
时间:
2024-8-25 00:55
标题:
QGroundControl的总体架构,模块化设计和重要组件的功能。
QGroundControl 总体架构详细形貌
QGroundControl (QGC) 作为一个开源地面控制站软件,其设计原则是模块化、高扩展性和高可维护性。
总体架构
QGroundControl 由多个层次构成,每个层次负责不同的功能。这种分层结构确保了系统的高内聚性和低耦合性。
用户界面 (UI) 层
:
使用
Qt Quick
和
QML
技能构建。
提供动态和响应敏捷的用户界面。
包括主窗口、工具栏、菜单、状态栏和各类功能窗口(如地图、视频流、任务规划等)。
业务逻辑层
:
处理与飞行控制相干的逻辑。
包括任务管理、飞行模式切换、参数设置等功能。
通信层
:
负责与无人机和其他外围设备的通信。
实现 MAVLink 协议,用于数据传输和控制下令的发送。
数据存储层
:
管理飞行日志、用户设置、地图缓存等数据的存储。
提供数据持久化功能,以便于后续的分析和使用。
模块化设计
QGroundControl 的模块化设计分为多个功能模块,每个模块负责特定的功能。重要模块包括:
核心模块
:
Application Core
:负责应用程序的初始化和主变乱循环。
Logging
:提供系统日志纪录功能。
Settings
:管理应用程序设置和用户设置。
飞行控制模块
:
Vehicle Manager
:管理连接的无人机,包括状态监控和下令发送。
Mission Manager
:处理飞行任务的创建、编辑、上传和实行。
Parameter Manager
:管理无人机参数的读取和设置。
地图与导航模块
:
Map Widget
:显示地图,并支持路径规划和地理围栏功能。
Geofence Manager
:管理地理围栏的设置和监控。
视频流模块
:
Video Receiver
:接收和处理来自无人机的视频流。
Video Display
:在 UI 中显示及时视频。
日志和回放模块
:
Log Recorder
:纪录飞行数据和变乱。
Log Player
:提供飞行数据的回放和分析功能。
重要组件及其功能
MainWindow
:
主窗口,包含了所有重要的 UI 组件。
提供与用户交互的重要界面,包括工具栏、菜单和状态栏。
MAVLink
:
实现 MAVLink 通信协议,用于与无人机举行数据传输。
负责消息的编码和解码,以及消息的发送和接收。
Vehicle
:
体现一个无人机对象,包含无人机的状态信息和控制接口。
处理无人机的连接、状态更新和下令实行。
Mission Manager
:
管理飞行任务,包括任务的创建、编辑、上传和实行。
提供任务规划的图形界面,支持多种任务范例。
Parameter Manager
:
读取和设置无人机的参数。
提供参数的分类显示和搜刮功能,便于用户管理。
Map Widget
:
显示地图,支持多种地图源(如 Google Maps、Bing Maps)。
提供路径规划、地理围栏和及时位置显示等功能。
Video Receiver
:
处理来自无人机的视频流,支持多种视频格式和协议。
提供视频的解码和显示功能,支持低延迟的及时视频监控。
通信与数据处理
QGroundControl 重要通过 MAVLink 协议与无人机通信。通信层负责处理所有 MAVLink 消息,并将这些消息转达给相应的业务逻辑层举行处理。以下是通信与数据处理的流程:
消息接收
:
从无人机接收到的 MAVLink 消息通过串口、UDP 或 TCP 传输。
消息被解码并转达给相应的模块(如 Vehicle、Mission Manager)。
消息处理
:
不同范例的消息由不同的模块处理。例如,心跳消息用于更新无人机的连接状态,飞行状态消息用于更新无人机的当前位置和姿态。
下令发送
:
用户在 UI 上举行操作(如改变飞行模式、设置任务),相应的下令通过 MAVLink 发送给无人机。
这些下令由飞行控制模块生成,并通过通信层传输。
扩展性
QGroundControl 的模块化设计使其具备良好的扩展性。开辟者可以根据需求添加新的模块或扩显现有模块。例如:
添加新的传感器支持。
集成新的飞行控制系统(如新的无人机平台)。
开辟自界说的 UI 界面以满足特定需求。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/)
Powered by Discuz! X3.4