如何学习开源飞控

前言

有一段时间没有更新文章了。新的一年新气象,因此还是要抽出时间,写点总结与思考,对自己的成长也是很有帮助。今天主要想聊一下开源飞控的学习。本人在5年前,在知乎下写过一篇回答,如何用开源飞控PIXHAWK进行二次开发?

https://www.zhihu.com/question/38874663/answer/84239995

现如今,开源飞控也已经发展的相对成熟很多,所以今天重新整理一下这个问题。

 

为什么要学?

首先还是要搞清楚自己为什么要学开源飞控?要根据自己的需求来,比如你是要做一个精准降落项目,需要用到飞控与视觉模块的交互处理;又或者你是一个飞行爱好者,组装一个飞行器平时飞了玩;又或者你是一个飞控开发人员,但是没有相关的经验等等。所以要搞清楚你的需求是什么,再决定自己是否要学?因为这会引申到你如何去学?

 

如何学?

这里我将开源飞控的学习主要分成三大类:

  • 使用级别学习;

  • 二次开发应用(SDK级别学习);

  • 源码级别学习,这里又分成两种。

    • 一种需求是能够修改开源飞控源码,改造成自己所需;

    • 另一种则是参考开源飞控的源码,打造自己系统的需求;

使用级别学习

重点掌握飞控的使用说明,掌握流程,如何安装,如何根据地面站完成指示的各项校准、检查等;紧接着就是如何调试飞控的PID参数,以及其余各项指标参数,从而达到最佳性能;这里需要做到的就是能够知道各种报错提示以及开放的参数代表什么意思;可以看出,这个级别的应用是不需要看代码的。

二次开发应用(SDK级别学习)

这种情况下,飞控对你而言只是其中一个部件,因为大部分的商品飞控开放程度不够,因此你只能选用开源飞控做项目。
比如,要做一个精准降落的项目,你关注的系统本身是识别,而飞控以及飞行器只是测试平台,所以要能够将你的导航系统与飞控系统进行数据交互,乃至发送控制指令(开源飞控能够接收外部指令,完成任务)。
这种情况下,你无需阅读飞控源码,只需看下官方的开发手册,打通通信链路,知道如何发送控制指令即可,当然,要会用是前提

这部分的需求,现今是最多的,很多项目需求本身已经并不关注飞行平台本身了,而是需要板载计算机处理复杂任务,控制飞行器。所以,需要利用到开源飞控的sdk接口。

源码级别学习

修改开源飞控

这部分的需求,你就需要能够掌握全局了。不仅仅要对整个架构熟悉,小到具体各个模块功能以及实现细节,都需要熟练掌握。这部分的工作量是相当大的。
可以由全局到细节进行学习,首先掌握各个模块组成,了解各个模块功能,然后整理出各个模块的数据流向,最后再深入到模块代码内部,进行精细阅读。当然,涉及到算法的实现细节,就看是否有算法修改的需求了。

这部分的需求,前几年比较多一些,很多厂商的飞控方案是基于开源飞控修改而来的。

 

参考学习

如果是自研飞控的研发人员,针对开源飞控,可以挑选自己感兴趣的功能实现进行阅读。简单粗暴的办法就是直接移植,但是缺点就是,如果不能搞清楚基本原理,常常移植错误。

 

笔者发现很多人在接触开源飞控的时候,学的过于庞杂,不得要领,所以一定要记住自己的学习目的,再去有效学习,毕竟一个人的精力有限,很难做到面面俱到。但是,又要在关键的核心地方掌握基本原理,否则就会迷迷糊糊,两者之间的分寸把握就在个人了。

参考资料

首先是各个开源飞控的官方说明文档资料,其次是现今网络资料也是非常的丰富,从环境搭建到源码分析,一应俱全。

需要注意的是一定要在实践中学习,也就是从项目需求出发进行学习,根据实际的结果进行反馈验证。

 

学习资料

资料这块,建议直接阅读源码,以及官方的说明文档,遇到问题的时候,可以具体查找相关说明,有很多博客写的不错。

PX4 Development Guide

https://dev.px4.io/master/en/index.html#px4-development-guide

Ardupilot官网

https://ardupilot.org/ardupilot/

视频教程方面,直接搜阿木社区即可,相关资料非常丰富。

补充

作为新年的第一篇文章,主要阐述了如何学习或者说如何利用开源飞控,其目的在于笔者也计划利用一年的时间,重新学习掌握一下开源飞控的相关知识,从而更好的提升自己。后续会不断撰写一些关于开源飞控相关的文章,敬请期待!

 

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值