QGC4.4稳定版二次开发环境搭建windows

前言:

再三思考还是出较为详细的记录,本人是win11系统,其余系统问题还请另寻他法

一、准备Qt

进入:https://www.qt.io/zh-cn/download

如图:e51f00db5caf4e068134b8f9b73c5882.png

点此处,然后下滑找到:e080efb50d0c4c7cac48e481b4d21926.png

download即可。

安装好后,进入软件,注册账号,填写信息最好不要有中文,很简单,这里不多赘述了。

这里

二、换源安装(下载快一些)

也可以一开始就换源,方便些,这里疏忽了

先退掉软件,然后复制软件地址

8d83bfda3c0c4686b40af34de6b186a0.png

win+R, 输cmd打开终端,

37c8d6a744714df191cbf95af49b3295.png

注意,地址粘好后,后面留空格

1ecb80a796cd49efa882b45ec7048a20.png

接着,直接复制源,搜一下清华源,南京理工源什么什么的,很简单,我这里就直接提供了:

--mirror https://mirrors.ustc.edu.cn/qtproject

跟在地址后面:

e674ba5f745648848466dc82272f4d5d.png

三、安装组件

首先,安装位置自己要选好,然后直接下一步

36856ed60b8f4b359ea6a380a3416e51.png

到这里,他默认会选一些东西,无须更改(有需要自己改就行了,这里默认的就行了),然后按照下图勾选:

69c23805c6334b988d6275a44732ceb5.png

依次点击即可。

稍等片刻,然后点qt

96a5d3f2b4704e529cfc55526ac47413.png

然后选这个,5.15.2(QGC4.4稳定版必须这个)

179e852e54714fceb8594e614028a7ef.png

下一步,安装即可,过程中偶尔会报错,能继续就继续,别取消。

四、源码下载

方法一,自行克隆下载

安装好Git,具体操作自行搜索

然后最好在别处新建一个文件夹,存放源码(QGC源码),在新文件夹空白处,右键即可

7bb2aae50084450993ddf90c65392a6a.png

open git bash here,然后复制如下命令:

git clone -b Stable_V4.4 https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol
git submodule update --init --recursive

正常情况大约4分钟左右。

如果卡在克隆eigen很久,就先退出,删掉文件,关机重启,重新执行上面指令。

如果仍然卡在eigen,不用管它,一直等,做点别的事去。

方法二,直接下载我完整的源码

链接:https://pan.baidu.com/s/1_IMvBEkCGzIqcs0LKH4VXg 
提取码:fn33

等待完成即可

五、安装visuaStudio2019

为什么是2019?根据qgc官网开发指南:

9d0020754e4f4540be89608ad7cf05c5.png

这里直接提供了:
链接:https://pan.baidu.com/s/1Q6RIlvMC6zzC-1d6kgVBHg 
提取码:fn33

安装desktop developm with c++,右侧勾选这些:

注意,右侧下滑一下,win11SDK也勾选上,我这里原因特殊无法提供具体图文

qgc4.4开发需要就这些,其余无需勾选

0116dc72848041fd9bc033951a0a4c2c.png

后面的IDE目录,缓存目录,也更改一下为好,别在c就行。

一共三个路径,最后一个不用改

我这里原因特殊无法提供具体图文

等待完成即可

六、环境变量配置

这步可以不用,跳过,到第七步就行了

七、构建编译源码

打开qt creator,如下选择

0320781fb9c64c359153d527e4aee972.png

然后打开项目,如下:

a5b2700bb2db47c9b209896d92cca623.png

qgroundcontrol.pro那个,打开就行,如下图配置,选择5.15.2 msv2019 64位那个:

81fbefb5eaca48d1966cb9a4f6ddeef8.png

软件会加载一些东西,

等待即可,有点慢,等待他完成

完成后

点击项目,如下点击:

10a57368737e4fa1b8310ac7229486bf.png

那个使用jom代替nmake取消勾选(必须)

然后如下点击:

546f6c2a873441c0b69511370bf355fe.png

等待构建,期间百分百报错,你会遇到27个警告,两个错误,请参考文章:

https://blog.youkuaiyun.com/feiniaovery233/article/details/143749218?spm=1001.2014.3001.5502

后面几条

<think>好的,我现在需要帮助用户进行ArduPilot的二次开发,用户已经提供了几个引用资料,我需要根据这些资料来构建回答。首先,我需要理解用户的具体需求。用户提到“ArduPilot 二次开发教程和资源”,所以需要整理相关的教程和资源,并参考提供的引用内容。 首先,查看引用内容。引用[1]提到AP_Periph是基于ArduPilot的外围设备,使用CAN、MSP等协议与主飞控通信。这可能涉及到外围设备的开发。引用[2]说明他们的计划是保持与官方同步,支持任意版本的源码,用户只需在官方源码上开发,不需要关心Linux系统调度,专注于算法和逻辑。这提示用户需要关注官方代码结构和开发流程。引用[3]和[4]涉及QGC编译和ROS节点启动,可能与地面站或ROS集成有关,但用户的问题集中在ArduPilot本身,可能需要简要提及相关工具。 接下来,我需要组织回答的结构。通常二次开发教程会包括环境搭建、代码结构、开发流程、调试工具等部分。结合引用内容,应该强调官方文档的重要性,如何获取代码,开发环境配置,模块开发示例(比如AP_Periph),以及与地面站或ROS的交互可能。 用户可能遇到的问题包括如何开始、如何理解代码结构、如何添加新功能、如何测试和调试。需要确保回答覆盖这些方面,并提供具体步骤或资源链接。例如,引用[1]中的AP_Periph可以作为开发外围设备的例子,引用[2]强调代码同步和开发重点,引用[3]和[4]可能用于扩展应用场景。 同时,根据系统级指令,需要生成相关问题,可能需要围绕二次开发的工具、优化方法、应用场景等提问。例如,如何与硬件交互,如何优化代码性能,典型应用案例等。 需要检查是否符合格式要求,行内公式用$...$,独立公式用$$...$$,但可能在这个回答中公式使用较少,主要集中在代码和结构说明。确保使用中文,引用标识正确添加。 最后,确保回答真实可靠,引用官方文档和提供的资料,避免猜测,提供实际可操作的步骤和资源链接。</think>### ArduPilot二次开发教程与资源 #### 1. **开发环境搭建** - **代码获取**:从GitHub克隆官方仓库,建议使用稳定版本分支(如`Copter-4.4`): ```bash git clone https://github.com/ArduPilot/ardupilot.git ``` - **依赖安装**:根据[官方文档](https://ardupilot.org/dev/docs/building-setup-linux.html)配置Linux编译环境,包括编译器(gcc)、构建工具(waf)及硬件驱动库[^1]。 - **编译示例**:编译飞控固件(以Pixhawk为例): ```bash ./waf configure --board px4-v2 ./waf build copter ``` #### 2. **代码结构与开发流程** - **模块化架构**:ArduPilot代码分为飞行控制核心(如`ArduCopter`)、传感器驱动(`AP_HAL`)、导航算法(`AP_Navigation`)等模块。新增功能时,需在对应目录添加代码[^2]。 - **外围设备开发**:若需开发独立外围设备(如传感器扩展),可参考`AP_Periph`模块,通过CAN总线与主飞控通信[^1]。例如,添加自定义传感器: ```cpp // 在AP_Periph库中新建传感器驱动类 class MySensor : public AP_Periph_Function { void update() override { // 传感器数据读取逻辑 } }; ``` #### 3. **调试与测试工具** - **地面站集成**:使用QGroundControl(QGC)进行参数调整与日志分析。编译QGC时需注意UI交互逻辑(如QML与C++绑定)[^3]。 - **仿真测试**:通过SITL(Software-in-the-Loop)模拟飞行环境: ```bash sim_vehicle.py -v ArduCopter --console --map ``` #### 4. **扩展应用场景** - **ROS集成**:利用`MAVROS`包将飞控数据接入ROS,通过`roslaunch`启动节点实现自主导航[^4]: ```xml <node pkg="mavros" type="mavros_node" name="mavros" /> ``` #### 5. **关键资源** - **官方文档**:[ArduPilot开发者门户](https://ardupilot.org/dev/)提供完整的API说明与硬件接口指南[^1]。 - **社区支持**:Discord的`#development`频道和ArduPilot论坛是问题解答的主要平台。 --- ###
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值