- 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环境搭建备忘
有哪些信誉好的足球投注网站
文档评论(0)