如何用开源飞控PIXHAWK进行开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用开源飞控PIXHAWK进行开发相关的知识,希望对你有一定的参考价值。

想快速开发一个飞控,那首先要做的是了解apm的各种参数配置,了解每个参数的影响和起作用的代码功能块,用apm适配自己的机型还是需要修改,优化,和裁剪。正如克里斯安德森说希望APM做无人机行业的安卓,但是安卓的性能也只能是差强人意,比无人机行业的ios大疆创新来说还差很多。
飞控行业或者研究领域应用,例如开发测绘手机app,无人机送快递等等(倾向于demo性质)...这种应用不需要做一个飞控,首先大概了解飞控的原理,然后只要掌握apm的控制数据协议即可。
发烧级的爱好者或者开发者,迫切的想要了解apm的大部分算法和逻辑,这个真的需要较长的时间,大致的思路就是:底层驱动-》传感器数据和物理意义-》姿态解算-》PID控制器-》飞行模式切换-》参数调优(包含gps悬停刹车什么的很细但是影响手感和性能的参数)初学只是去看apm而不是自己动手去做很难搞懂,建议还是自己做飞控,哪怕复制apm部分功能代码,做飞控的学习顺序和读飞控一样,但对于apm这样一个系统工程相对来说模块更分立。
参考技术A 以下所描述的都是针对px4原生固件,此外,由于固件更新过于频繁,本文描述的是15年7月的固件,主要是举例,有改动的话,自己再研究研究吧(后面换cmake编译方式了,改动蛮大)。
既然要做开发,第一步就是搭好开发环境,根据我的经验,最好是在linux环境下编译,这样效率会很快,以前在windows下编译,经常40分钟以上,这样就太影响开发了;
第二步,大概了解下固件的架构,
如果只涉及应用层的开发,那底层的nuttx系统就可以绕过去了,一般,最好先把uorb模块的机制整明白就好了,从uorb入手,了解每个话题的来源以及作用,整理数据流,清楚每个模块之间的关系即可,比如,要实现手动模式,哪些模块互相交互,auto模式,又有哪些模块起作用,
如果涉及相应算法的开发,要学会定位到相应的算法模块,甚至具体到哪些代码,比如,你想试验你的姿态估计算法,那你就将姿态估计模块替换掉即可,不过相应的接口仍需要和px4环境一样,以姿态估计为例,最后要发布你的vehicle_attitude话题,不然无法与其他模块交互;
另外,不要试图在代码中找main函数,那是单片机思维,你只需看启动脚本即可,\ROMFS\px4fmu_common\init.d\rcs;
第三步,针对你的具体情况,定位相应的模块,进行精读研究,虽然模块基本是用C++写的,但是不会C++也没关系,毕竟又不是让你写,本人倒目前为止,也不会C++,配合注释,看明白就好了,比如,整理下mavlink的控制流程

蓝牙飞控数传套装(适合APM/Pixhaw/Pixhack/Pixhawk2飞控)

SSC-FK-BL900是迅瞻电子初创的一款蓝牙+射频模块一体的飞控数传套装电台,它内嵌入Digi的900HP模块和蓝牙模块,对外提供XT60的电池供电接口,支持5~28V的宽电压工作,可以使用2~6S电池对其供电。

技术图片

SSC-FK-BL900可以通过无线蓝牙方式与手机地面站连接,也可以通过选择开关操作有线USB方式与电脑端地面站连接,设计稳定可靠,体型重量适中,非常适合无人机玩家爱好者携带户外作业操作。其主要性能指标参数如下:

技术图片

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

Tommy He (何招旺)

公司:上海迅瞻电子科技有限公司

地址:上海市松江区泗泾方泗路18号掌安大厦1505室

网址:www.sscxyt.com

邮箱:[email protected]

手机:17317219308

电话:021-67892875

以上是关于如何用开源飞控PIXHAWK进行开发的主要内容,如果未能解决你的问题,请参考以下文章

如何用开源飞控Pixhawk进行二次开发

开源飞控初探两大开源飞控的历史

开源飞控初探两大开源飞控的历史

开源飞控初探两大开源飞控的历史

蓝牙飞控数传套装(适合APM/Pixhaw/Pixhack/Pixhawk2飞控)

开源飞控介绍