- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
QGC二次开发课程大纲(三篇)
教案一:课题名称
QGC二次开发基础——环境搭建与核心API解析
一、教学目标
知识与技能
面向软件开发工程师,能独立完成QGC开发环境搭建(Windows/Linux双平台),环境配置准确率≥90%
学会调用QGC核心API实现基础功能(如地图加载、无人机状态获取),API调用正确率≥85%
理解QGC架构设计原理,能解析核心模块交互逻辑,架构分析完整率≥70%
过程与方法
通过环境搭建→API拆解→模块联动的路径,建立工具使用—接口调用—系统集成的开发思维链
运用环境配置手册API调试工具强化训练,通过功能模块开发实战提升实操能力
情感态度与价值观
建立底层架构决定上层应用的技术认知,主动探索开源代码的学员≥80%
培养严谨调试、逻辑溯源的开发习惯
二、教学重点与难点
重点
①解析QGC编译流程(CMake配置、依赖库管理)
②理解无人机状态数据接口(Mavlink协议封装、数据回调机制)
难点
①处理多平台环境差异(Windows下的路径配置vsLinux的权限管理)
②调试API调用中的数据同步问题(地图坐标与无人机位置的实时匹配)
三、教学方法
案例教学法、分步演示法、实战调试法
教学准备
QGC开源代码包、VisualStudio/CLion开发工具、Mavlink协议手册
四、教学过程
(一)开发之门导入(10分钟)
场景冲击
播放QGC二次开发成果视频:某企业通过定制化开发实现无人机编队表演,如何让通用平台变身行业专属工具?
即时测试:快速列举无人机开发中常见的二次开发需求(功能扩展/界面定制/数据对接)
理论初触
精读QGC官方文档《开发者入门指南》,标注关键词:插件机制API文档编译参数
(二)架构解构工坊(35分钟)
环境搭建显微镜(15分钟)
双平台对比:
环境要素
Windows配置步骤
Linux配置要点
常见问题
依赖安装
巧克力工具链安装
apt-get依赖包管理
版本冲突导致编译失败
工程导入
VS解决方案生成
CMakeLists.txt修改
路径包含中文报错
实战演示:现场演示Windows下QGC源码编译,重点讲解CMAKE_PREFIX_PATH配置技巧
**API解析站(12分钟)
核心接口拆解:
UAV状态接口:UavObjectManager::getInstance()-getObject(UAVState)
地图接口:MapSettings::instance()-setCenterCoordinate()
数据流向图:绘制无人机→飞控→QGC→UI界面的数据传递链路,标注Mavlink协议转换节点
模块联动实验(8分钟)
小组讨论:为什么QGC要将地图模块与飞控模块解耦?(引导理解插件化架构优势)
金句提炼:好的二次开发,是在巨人肩膀上跳自己的舞
(三)功能开发实战(20分钟)
环境配置赛
分组任务:在虚拟机中搭建Linux开发环境,完成QGC编译,要求30分钟内生成可执行文件
API调用秀
情景模拟:调用无人机位置接口,在控制台输出经纬度数据,处理坐标格式转换问题
调试工作坊
错误排查:故意设置编译错误(如缺少libmavlink库),学生分组诊断并修复
(四)互动交流:开发诊所(15分钟)
问题1:编译时提示缺少Qt模块怎么办?(预留8分钟)
引导话术:想想依赖管理的两种方式
参考答案:
生1:重新安装Qt
生2:检查Qt路径是否加入系统环境变量!在Windows下可通过QtMaintenanceTool修复组件,Linux用aptinstallqt5-default补充依赖,就像组装电脑少了内存条,要么插紧要么换新
问题2:API返回数据延迟怎么处理?(预留7分钟)
参考答案:
生1:不知道
生2:添加数据回调监听!用connect信号槽机制实时捕获更新,比如无人机位置变化时触发地图刷新,就像快递到了手机自动通知,别傻等快递员打电话
五、课本讲解(教材节选)
原文内容
QGC的插件机制允许开发者通过继承Plugin类实现功能扩展,核心API集中在src/lib/qgcwidgets和src/lib/qgcmavlink模块。环境搭建时需注意不同平台的编译器版本匹配,推荐使用Docker容器避免依赖冲突。
知识点分析
架构设计:插件化架构降低耦合度,便于功能定制
工程实践:Docker容器化解决跨平台依赖难题,提升开发效率
六、作业设计
基础作业
编写Windows环境搭建备忘
您可能关注的文档
最近下载
- 第九讲混一南北与中华民族大统合(元朝时期)-第十讲中外会通与中华民族巩固壮大(明朝时期)-中华民族共同体概论专家大讲堂课件.pptx VIP
- 成人术中非计划低体温预防与护理-2024中华护理学会团体标准.pptx VIP
- 2025年-《中华民族共同体概论》试题及答案解析-新版.pdf VIP
- 《中华民族共同体概论》试题汇总.pdf VIP
- 2023版思想道德与法治绪论1我们处在中国特色社会主义新时代.pdf VIP
- 2025年-中华民族共同体概论-第八讲 共奉中国与中华民族内聚发展(辽宋夏金时期).docx VIP
- Ti-Mg脱氧工艺对低碳钢板气电立焊接头组织和性能的影响.pdf VIP
- 2025年“国学小名士”专题知识竞赛题库500题(含答案).docx
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版.pdf VIP
- 初一英语上册英语竞赛试题.doc VIP
原创力文档


文档评论(0)