QGC(GGroundControl) 系统核心架构图

2023-05-16


关于QGC地面站其它文章请点击这里:     QGC地面站


● UML 核心类图:(点击图片放大看效果更好)

在这里插入图片描述

● 核心系统分析图:(点击图片放大看效果更好)

在这里插入图片描述

● 工程结构:

整个 QGC 工程由唯一的单例 _app 进行管理,它这个类只提供了唯一的实例,另外提供了一个访问它的全局函数

/// @brief Returns the QGCApplication object singleton.
QGCApplication* qgcApp(void)
{
    return QGCApplication::_app;
}

QGCTool 有两个 protected修饰的变量 _app_toolbox ,其派生类可以被调用,每一个派生类中的_app 和 _toolbox都是 QGCApplication 中传入的,且是唯一的(可以仔细看传入过程)

/// This is the base class for all tools
class QGCTool : public QObject {
    Q_OBJECT
	...
protected:
    QGCApplication* _app;
    QGCToolbox*     _toolbox;
};

在这里插入图片描述
● 在 QML 和 C++ 的交互中:
在这里插入图片描述
● QGCToolbox.h 中类的声明
在这里插入图片描述
最主要是防止互相包含

在class声明之后、定义之前的位置可以对class进行引用、定义类指针、定义类的函数指针、定义类的成员指针

不能有任何涉及类中成员对象的行为。防止互相包含,所以 不能是

#include MultiVehicleManager

而是

class MultiVehicleManager;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QGC(GGroundControl) 系统核心架构图 的相关文章

  • autoware.ai docker配置

    配置环境 xff1a Ubuntu18 04 显卡驱动 510 85 02 cuda 11 1 用了我一整天的时间 xff0c 累死了 先按照此博文操作 博文里的这一步骤我没有用 sudo apt key fingerprint 0EBFC
  • 使用libcurl发送HTTP请求的一个简单示例代码

    代码简单解释 设置header 首先要声明header的结构体变量 xff0c 然后设置对应header值 xff0c 最后将其设置到curl结构体中 span class hljs comment 声明 span CURL curl sp
  • make -C和M=的作用

    当make的目标为all时 xff0c C KDIR 指明跳转到源码目录下读取那里的Makefile xff1b M 61 PWD 表明然后返回到当前目录继续读入 执行当前的Makefile
  • docker参数详解

    1 xff1a docker参数详解 docker useage of docker D 默认false 允许调试模式 debugmode H 默认是unix var run docker sock tcp host port 来绑定 或者
  • 【星伦商学院】中小企业经济复苏公益座谈会圆满结束

    中小企业经济复苏公益座谈会 为帮助中小微企业破解难题 渡过难关 xff0c 全面推进复工复产 xff0c 6月30日 xff0c 中小企业座谈会 xff08 以下简称会议 xff09 在中国 浙江诸暨市召开 力求创新举措破解制约中小微企业用
  • 从旋转矩阵到欧拉角

    摄影测量中 xff0c R转角系统一般是以y轴为主轴 xff0c 但是在很多代码中 xff0c 发现R的定义很多 xff0c 据自己需求 工业标准中一般采用Z X Y转角系统 xff0c 先绕x旋转 xff0c 再绕y 最后是Z 即如下所示
  • Git只clone指定的分支

    默认的clone会下载远程仓库的所有分支 有时候为了避免创建多个git仓库 xff0c 想将一些资源在一个git仓库下统一管理 xff0c 这时候就会出现 xff1a git远程仓库分支很多 xff0c 但是各个分支没有多大关联 xff0c
  • Ubuntu系统无法update的解决方法

    今天安装Ubuntu系统的时候 xff0c 出现了一些状况 xff0c 首先说个自己犯的幼稚错误 首先我制作好了启动盘 xff0c 并且按着步骤安装完系统 进入系统 xff0c 我自认为输入了密码 xff0c 进入了我的账号 xff08 其
  • 什么是嵌入式AI开发?人工智能芯片指什么?STM32、树莓派、Jetson TX2、华为昇腾部署神经网络区别在哪?

    嵌入式芯片 xff1a https zhuanlan zhihu com p 449570075 芯片公司代表 xff1a https www jiqizhixin com articles 2020 01 31 9 相较于CPU GPU等
  • RK3308--固件编译

    快捷路径 相关路径 xff1a cd work hxy RK3308 sdk 1 5 添加依赖包 若编译遇到报错 xff0c 可以视报错信息 xff0c 安装对应的软件包 当时下面一大段依赖包直接添加时 xff0c 不能实现 可能是因为中间
  • ChatGPT会如何影响我们的工作生活和人力资源需求

    ChatGPT xff0c 这几天体验了一下 xff0c 确实是非常震撼 一方面是因为它的回答确实相当好 xff0c 自带一点框架逻辑 xff0c 有上下文理解能力 xff0c 可以追问 xff0c 有情商 虽然很多时候都是一些正确的废话
  • Linux设备驱动思想在STM32编程中的应用

    这几天看了一下Linux设备驱动 xff0c 发现这套思想其实也可以用在普通的单片机编程上 这种思想较好的分割了驱动层和应用层的任务 xff0c 方便分层开发 以前 xff0c 我们开发STM32驱动的时候 xff0c 会给设备写一套函数来
  • 36.【linux驱动】spi framebuffer驱动(切换并显示虚拟终端)

    1 framebuffer驱动 2 spi framebuffer驱动 3 spi framebuffer驱动 切换并显示虚拟终端 切换终端输出 接这上一节 spi framebuffer驱动实现了 xff0c 但是只有刷屏 6个虚拟终端并
  • ubuntu 移除PPA

    ubuntu 移除PPA 问题描述解决方案1 移除PPA源2 移除key3 查看那些包被替换4 从官方源下载包并替换5 测试是否替换成功 总结反思 问题描述 试图在ubuntu 20 04上安装Phalcon框架 xff0c 但是发现版本不
  • django内置的密码加密与解密

    Django 内置的User类提供了用户密码的存储 验证 修改等功能 xff0c 默认使用pbkdf2 sha256方式来存储和管理用的密码 django通过PASSWORD HASHERS来设置选择要使用的算法 xff0c 列表的第一个元
  • TF坐标变换的学习

    官方教程 xff1a http wiki ros org tf ROS中的很多软件包都需要机器人发布tf变换树 xff0c 那么什么是tf变换树呢 xff1f 抽象的来讲 xff0c 一棵tf变换树定义了不同坐标系之间的平移与旋转变换关系
  • Docker 服务端口一览

    最近研究微服务 xff0c 使用Docker来进行部署应用 说实话docker是个好东西 xff0c 只要编写好Dockerfile文件和docker compose yml文件 xff0c 便能快速启动并运行相关服务 调试过程中查看服务可
  • 鱼眼镜头的成像原理到畸变矫正(完整版)

    最近刚接触鱼眼相机 xff0c 发现网上资料还是比较零散的 xff0c 于是把搜罗到的资料汇总梳理了一下 这里推荐大家直接看链接6的论文 xff0c 从成像模型到畸变矫正整个过程讲的比较清楚 xff0c 网上很多版本其实都是根据这两篇论文来
  • STM32通过广和通ADP-L610-Arduino进行TCP/IP通信

    STM32通过广和通L610进行TCP IP通信 一 写在前面 本次参加嵌入式大赛 xff0c 使用了广和通的ADP L610 Arduino板子进行通信 项目要求大概是本地上传数据到服务器 xff0c 服务器接收后发送给客户端 xff0c
  • Visual Studio Code Git版本控制 更改语言成英文

    一 初始化git库 新版vscode只能打开一个文件夹 xff0c 当你打开这个文件夹后 xff0c 再点击左边的git控制按钮 xff0c 就会初始化该文件夹为git工作目录 xff0c 如果已经有git控制 xff0c 则不会改变 在v

随机推荐

  • STM8S003F3 开发环境搭建

    硬件相关 芯片介绍 型号 xff1a STM8S003F3P6 xff0c 用的不是ARM内核 STM32用的是ARM xff0c 而是意法半导体自己生产的高性能8位内核 xff1a STM8AF 主要针对汽车电子应用 xff0c 如 xf
  • 教你写Makefile(很全,含有工作经验的)

    原文 转载文 Makefile 值得一提的是 xff0c 在Makefile中的命令 xff0c 必须要以 Tab 键开始 什么是makefile xff1f 或许很多Winodws的程序员都不知道这个东西 xff0c 因为那些Window
  • 与JWT的不解之缘

    jar xff1a maven lt dependency gt lt groupId gt io jsonwebtoken lt groupId gt lt artifactId gt jjwt lt artifactId gt lt v
  • 连接服务器报错:Key exchange was not finished, connection is closed.

    解决方案 xff1a 在 etc ssh sshd config最后添加如下行内容解决问题 KexAlgorithms diffie hellman group1 sha1 diffie hellman group14 sha1 diffi
  • ros多线程管理

    单线程Spinning ros spin 是最简单的单线程自旋 它会一直调用直到结束 用法 ros spin ros spinOnce 另一个单线程spinning是ros spinOnce 它定期调用等待在那个点上的所有回调 用法 ros
  • (每日一读2019.10.24)一种基于通用优化方法的多传感器全局里程计估计框架(VINS-Fusion)

    参考博文 萌新学VINS Fusion 一 特征跟踪 萌新学VINS Fusion 二 特征跟踪 摘要 精确的状态估计是自主机器人的一个基本问题 为了实现局部精确和全局无漂移状态估计 通常将具有互补特性的多个传感器融合在一起 局部传感器 摄
  • (每日一读2019.10.25)一种基于通用优化方法的多传感器局部里程计估计框架(VINS-Fusion)

    摘要 为了提高机器人的鲁棒性和自主性 越来越多的传感器被安装在机器人上 我们已经看到了不同平台上安装的各种传感器套件 例如地面车辆上的立体摄像机 手机上带有IMU 惯性测量单元 的单目摄像机以及空中机器人上带有IMU的立体摄像机 虽然过去已
  • Gazebo模型下载以及配置--解决Gazebo黑屏原因

    前往ExBot ROS专区下载Gazebo模型 https bitbucket org osrf gazebo models downloads 下载后把文件放在 gazebo下的models文件夹中 span class token fu
  • 相机内外参数以及畸变参数

    关于大佬们的一些见解 下面是引用知乎的一段文字 xff1a 我们从单目视觉说起 平时我们都说要做视觉识别 测量云云 xff0c 然后我们就会去拍照 xff0c 再对数字图像做各种处理 xff0c 颜色处理 灰度化 滤波 边缘检测 霍夫变换
  • cmake学习4--自定义编译选项

    CMake 允许为项目增加编译选项 xff0c 从而可以根据用户的环境和需求选择最合适的编译方案 例如 xff0c 可以将 MathFunctions 库设为一个可选的库 xff0c 如果该选项为 ON xff0c 就使用该库定义的数学函数
  • ROS与C++学习1

    ROS与C 入门教程 构建工作空间 构建Catkin包 搭建开发环境 catkin make 编写简单发布节点和订阅节点 编写简单服务端和客户端 使用类方法作为回调函数 使用Timers类 编写高级的发布器和订阅器 Callbacks和Sp
  • IAR的UI界面优化

    显示行数 Tools Options 点击 Editor Tab size xff1a 设置Tab键占用多少个空格Indent size xff1a 应该是设置过行时缩进多少个空格Insert tab xff1a 选了之后在删除Tab时 x
  • MYNTEYE小觅双目摄像头深度版+VINS测试

    小觅双目深度版性能分析 今年 xff08 18年 xff09 11月9号小觅智能科技的深度版双目相机上市 xff0c 于是我在12月初花了2999软妹币购买了120度视角的相机 其中我比较感兴趣的是 双目 43 惯导 43 结构光 的多传感
  • QT+ROS开发

    Qt Creator for ROS 如果想在Qt上进行ros包的开发和GUI界面开发 建议采用下面的方法 http fumacrom com 1mipW Setup Qt Creator for ROS Setup Ubuntu to a
  • PX4、APM无人机仿真连接QGC地面站记录(udp连接、更改home点等)

    文章目录 一 PX41 gazebo 仿真2 连接地面站3 更改 Home点 二 APM 仿真1 执行仿真指令2 连接地面站3 更改 Home 点 本文仅记录仿真指令 xff0c 搭建安装不在此 一 PX4 首先给飞控源码和子目录权限 sp
  • LeetCode 解题笔记(一)总

    文章目录 一 常用技巧二 常用翻译三 题目x 其他9 回文数 2021 12 0911 盛最多水的容器 2022 01 0515 三数之和 2022 01 14 17 电话号码的字母组合 2022 01 1520 有效的括号 2021 12
  • LeetCode 解题笔记(二)数组篇

    文章目录 一 基础篇26 删除排序数组中的重复 2022 01 16122 买卖股票的最佳时机 II 2022 01 17189 轮转数组 2022 01 18217 存在重复元素 2022 01 19136 只出现一次的数字 2021 1
  • LeetCode 解题笔记(四)链表

    文章目录 一 总结二 题目237 删除链表中的节点 xff08 2022 03 10 xff09 19 删除链表的倒数第 N 个结点 xff08 2022 03 11 xff09 206 反转链表 xff08 2022 03 18 xff0
  • QT Quick QML 实例之 Popup 弹出界面

    QT Quick QML 实例之 Popup 弹出界面 一 演示二 实现过程1 居中弹出2 正下方弹出 所有的热爱都要不遗余力 xff0c 真正喜欢它便给它更高的优先级 xff0c 和更多的时间吧 xff01 GIT工程文件在这里 QmlL
  • QGC(GGroundControl) 系统核心架构图

    关于QGC地面站其它文章请点击这里 QGC地面站 UML 核心类图 xff1a xff08 点击图片放大看效果更好 xff09 核心系统分析图 xff1a xff08 点击图片放大看效果更好 xff09 工程结构 xff1a 整个 QGC