查看: 927|回复: 0

入手pixhawk飞控开发的知识体系

[复制链接]

276

主题

310

帖子

863

积分

高级飞友

Rank: 4

积分
863
飞币
549
注册时间
2017-7-10
发表于 2023-3-20 13:54:48 | 显示全部楼层 |阅读模式
写在前面:

在中国大陆室外飞无人机一定要提前向当地公安机关备案,飞行时一定要遵守相应法律法规

(当然在室内飞就没人管你了,注意安全就是了)

前方高能预警!!

飞控实际上是非常复杂的嵌入式系统!!我问过很多老师和学长,根据和他们之间的交流,我做一下总结。从最简单的51单片机开始,一直到PC端的编程。其间要画电路板,考虑参加全国大学生电子设计大赛,以及其他类似的电子设计大赛,学习嵌入式Linux,图像处理,视频传输,再到后面的基于PIXHAWK的无人机的二次开发。

基础知识:模拟电子基础,数字电子基础,C/C++,C#,单片机(STM32系列,这个我们后面会详细讲),嵌入式linux,ubuntu操作系统的使用。

高阶知识:经典控制理论,PID算法,卡尔曼滤波,图像处理,图像传输,matlab的使用。

中级飞控二次开发:模拟电子基础,数字电子基础,C/C++,C#,单片机(STM32系列),嵌入式linux,  ubuntu操作系统的使用。可以完成一些逻辑性的功能。

高级飞控开发:经典控制理论,PID算法,卡尔曼滤波,图像处理,图像传输,matlab的使用。可以上飞机飞得更稳更智能。

1:C语言,这个只要是大学生应该都会吧。这里顺便多说几句,为什么首先要学C语言,而不是C++、Java或者Python。从硬件来看,C语言是这几种语言中与硬件关系最紧密的(学过单片机朋友都知道);从执行效率来看C也是最高的。总之C是基础,其他语言的核心或多或少都是用C语言写的。

2:模拟电子,数字电子。专业与电有关的同学都是要学的。

3: 单片机么,推荐直接买一套单片机开发板回来学习,学习单片机的同时也把C语言学会了。

4:C# 如果对地面站(这是个什么东西?)感兴趣要开发的时候就要学C#语言,和C++,java都是相通的。

5:基本的控制理论和方法,书本上都会接触到。建议用实际动手来完成,卡尔曼滤波和PID一些经典控制理论,实践和理论相结合。弄明白一些基础的控制理论,对于后面的复杂的控制理论有帮助。

6:Ubuntu和matlab的使用就是工具,用就好了,没什么好说的。嵌入式LINUX也有必要掌握,实际上很多飞控系统就实际基于嵌入式LINUX之上。

入手无人机开发还是非常复杂的,尤其是PIXHAWK的整个体系构架,涉及到的知识面非常广单片机开发,嵌入式Linux开发,C# 上位机(这是个什么东西?)编程,TCP/IP网络通信等等。尤其是嵌入式Linux开发,掌握难度比较大,可以从树莓派(这是个什么东西?)来入手嵌入式Linux的开发。

小编以为可以入手开发无人机或者机器人,一整套课程体系学下来也要3年时间,其中要大量的实践操作和理论相结合。如果是个大学生,那么参加控制类的大学生电子设计大赛是很有必要的。

援引我导师的建议:由飞控应用开发,到地面站开发,控制算法开发,视觉算法开发。

这次的推文内容只涉及飞控的基础调试,就是说只管能飞。至于二次开发以及高级应用我以后再说吧。

持续更新,敬请关注!
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表