① 无人机控制律算法烧录到飞控芯片上吗
不可以乱烧的,不同的芯片,不同的方案,不可以烧同一个程序,亿普电子专业代烧录的经验,望采纳,谢谢
② 你了解无人机飞控么
世界变化快,我们虽在不知不觉间经历着事物的变化,未必能够意识到变化的发生,至于思考就更是奢求。而在无人机行业,思考却比什么都重要。
九十年代商务潮人标配大哥大+BP机,千禧年后出现了“手机”这个词,功能上实现了大哥大与BP机的结合:Dial+Massage。之后手机的结构实现了从按键到键盘再到触屏的变化过程,现如今哪款手机没有系统,没有APP,没有网络功能都不敢加上“手机”二字。对于手机概念的理解不同,技术与产品方向也会不同。看似明确的变化过程中无数企业灰飞烟灭。
对于无人机行业而言,飞控系统是当之无愧的系统核心,而它又处在怎样的变化之中呢?
二十一世纪之前国内很少听到“无人机”这个词,更多的是遥控飞机或者航模。八零后的朋友们应该还记得“舒克和贝塔”这部动画片,第四集中两只小老鼠帮助皮皮鲁赢得了航模比赛。那时的航模还没有“控”,因此除了舒克操控的直升机航模外,其他小朋友都使用相对容易操控的固定翼航模。
2000年以后随着MEMS技术的发展以及电子航空发烧友的增加,从航模向无人机的转变趋势日趋明显,很多FCM,FCU(Flight Control Mole/Unit,词条解释请移步:城堡里学无人机:无人机行业用语词典(Keep 更新ing),下同)开始出现在人们面前:国内的KK,QQ,玉兔等,法国的MWC,德国的MikroKopter,Auto Quad,美国的Apm系列,穿越机常见的CC3d,Naze32,F3等。这些FCU通过相应的控制算法,对无人机系统反馈的状态信息(城堡里学无人机:状态视角深入无人机硬件与算法)进行解算,根据解算出的状态数据结合算法(一般为线性控制算法)计算控制量并输出。FCU本身往往只涉及很小一部分状态信息的采集,同时内部算法一般只针对无人机本身的姿态控制或者轨迹跟踪(很少)。因此在系统硬件构成上不包含某些状态信息获取单元如GPS,超声,红外,光流,双目等,或者不对某些状态信息进行处理(如某些不处理外环状态)。
在2012年之后,随着航拍等市场需求的挖掘,无人机控制开始从FCM,FCU转向FCS(Flight Control System),无人机厂家开始生产各自的飞控产品,该类产品更多是应用在该企业无人机产品所面对的市场领域。这类产品与FCU在系统范围(或元素组成)上有着明显的区别,一般不止包括FCU所涵盖的范畴,也包括数据获取(如云台、摄像头等)模块,数据通讯模块,GPS模块,配套的地面站(PC端,移动端),SDK等。
但这种转型并没有彻底完成,由于FCS的系统架构,系统设计,相关算法,地面站功能等各个方面都与无人机本身的应用行业息息相关,对于企业而言,真正的难点在于如何实现无人机技术与行业应用的衔接,即FCS的产品设计与技术发展不止于无人机,更重要的是延伸到无人机应用的行业中去。
在无人机行业应用中一批企业已经走在前面,有的企业提供整机服务如极飞、DJI等。也有企业专注于提供行业FCS,其中成熟的产品如上海TopXGun(拓攻)的植保机专用飞控:T1-A及行业飞控Top-D1(第十三届上海模型展览会就快召开了,包括拓攻这两款FCS在内的很多产品都会参展,有兴趣的朋友可以在读完本文后面内容后去展会现场看一看行业级FCS产品与实机演示效果)
MR.城堡将以这一类产品为例与大家分享行业FCS在设计与实现中需要考虑的问题与处理方案。
无人机是基于任务的智能机器人系统,整体设计要根据专门的行业应用进行调整。这种调整势必面临来自稳定性、控制精度、行业适应性三个方面的挑战。
1.稳定性
稳定性方面,行业无人机需要面对更加复杂的外部环境:强风干扰,强磁干扰,以及特殊情况下的系统稳定性,如大电流情况下的系统稳定性,高温度作业环境中的系统稳定性等等。无论哪种情况,FCS都会首当其冲。如强风干扰下能否在维持快速响应的同时降低相应超调?高温度下任何一个环节出现问题都有可能导致FCS系统部分或全部丧失能力。更多的挑战是在消费应用中往往不会意识到的问题(或者影响有限),如定位系统稳定性,定位数据精度等,当面对长航时,情况多变,要求提高的行业应用时却可能严重影响无人机任务完成情况甚至造成重大事故。
面对稳定性问题,从硬件角度出发一般有三类解决方案。最直接的方式是增加备份系统或备份单元(也可称为增加“余度”,但该词多义,谨慎使用)。比如DJI精灵4中双目视觉有两套,IMU两个,强磁计两个。拓攻的Top-D1,T1-S等采用备份FCU来降低系统风险。再有,Top-D1采用了差分GPS(DGPS)系统,支持GPS L1/L2、BDS B1/B2/B3双星五频与双星解算,为行业应用提供更精确的定位信息(有关于DGPS技术,MR.城堡也会在以后的专栏文章中展开)。另外一种方式是增加FCS核心元件质量。比如无人机系统最容易出现数据误差与干扰的强磁计,在FCS设计时根据行业要求与任务情况进行选择。
上面的两类硬件改进途径一方面可以在很大程度上解决行业FCS系统面对的稳定性问题,但另外一个方面也势必会增加系统成本。第三种方法是通过合理的硬件结构设计与制造工艺达到事半功倍的效果。
上图是拓攻Top-D1的硬件图,在每个子模块中采用单独处理器的分布式结构,一方面提高了整个系统以及各子系统的的性能,更重要的是保证了FCS中最关键部分FCU的安全性。从图中看出,FCS通过IMU,OSD,PMU等模块与FCU剥离实现分布式系统结构,这样的设计方式,大家也可以在自己的设计中使用。
算法方面,虽然不清楚拓攻或类似FCS设计商在行业级FCS中是否使用了特殊算法架构,但在行业应用中算法设计不是单独进行的,要配合硬件系统设计以及产品功能实现,这部分内容MR.城堡会在专栏后续文章中进一步展开。
2.功能适应性
不同的行业对无人机硬件系统的内容,软件功能,算法要求都会不同。比如在植保领域,无人机介入该行业的最基本功能是喷洒农药。面对大面积作业范围,要求无人机能够自动完成相关作业任务,否则在全部人为操作下,这项工作很难保证高效实现,且无法进行量化评价。这要求FCS不止针对无人机实现自动控制控制,也要能够将水泵,药夜喷灌系统纳入到控制范畴。从设计角度讲,FCS的设计范畴需要越过无人机进入相关行业。
FCS在面对不同行业时,对于功能适应的实现能力有着非常现实的要求。由于DJI、极飞这类提供整机产品的厂家没找到对应的FCS结构图,因此从专门的行业FCS厂商产品分析会容易些。比如拓攻的植保机飞控T1-A(上图),该飞控在硬件结构上专门增添了DCU模块处理喷灌过程的数据反馈,动作信号等。同时将液位数据转化为喷灌量,进一步将喷灌量与飞行速度关联,实现喷药量与作业面积的统一,最后将这种数据关联带入到FCS对应的“智能作业”功能中。
大家可以从类似T1-A这样的行业产品中体会FCS是如何一步步通过硬件结构、算法关联、系统要素最终匹配到植保领域的功能需求上来。这个过程中不同的行业理解,不同的设计方式,会产生不同的行业FCS产品。
3.研发链条延伸
在消费级无人机中,由于环境,法规,硬件成熟度,系统成熟度等原因,研发过程基本能够压缩在产品面世之前,在产品面世之后更多的是固件升级(往往也不会有很多升级版本)。但行业无人机的发展还处在萌芽阶段,对于FCS在各个行业中的应用情况,需求情况,系统匹配等方面存在诸多不确定性(甚至评价方法都不明确),这就要求飞控企业能够找到合适的方式实现产品面市之后的研发链条延伸。
国内专门进行无人机飞控设计与生产的公司往往比较“年轻”。以拓攻为例,成立时间约一年左右,有五款飞控产品面市,这个速度是非常快的,其中通用飞控三款(T1,T1-S,T1-Pro),行业飞控Top-D1,T1-A共两款。这么多产品从侧面说明在实际应用中对于FCS要求上存在着多么大的灵活性与不确定性。产品发布之后,如何实现有效的行业数据反馈?如何在保证用户权益的前提下匹配FCS升级要求?如何实现硬件系统扩展?到底要扩展哪些硬件?如何通过行业指标评价FCS的使用效果?这些都意味这更大的挑战,更多的工作,当然也意味着更多的机遇。
FCS的设计无论是在消费领域还是行业领域都处于非常初始的阶段,产品体系,技术体系,研发脉络,反馈修正方式,硬件设计,算法设计,功能设计,硬件系统扩展,功能扩展等方面都有着很多可以探索的内容。从FCS“组装制作”到FCS“设计”,你能收获的不止是快乐。
城堡无人机工作室公众号:CastleUAVStudio
文中图片来自于互联网
③ PID算法的参数怎么确定
PID是自动控制理论里的一种控制方法,PID的意思分别代表了比例、积分和微分。具体是什么意思呢?解释如下:
首先,我们有一个状态量,这个状态量在整个过程中,我们希望通过输入一个控制量,使这个状态量发生变化,并尽量的接近目标量。比如,在航线控制中,状态量是飞机当前的飞行航向,目标量是飞机为到达目标点而应该飞行的目标航向,控制量则是我们对其进行控制的方向舵面,或横滚角度。我们通过调整方向舵面、横滚角度来控制飞机的当前飞行航向,使之尽量接近为压航线而应该飞行的目标航向。
那么我们如何给出这个控制量,比如给哪个方向的、多大的方向舵量呢?最简单的考虑,是按照当前航向与目标航向的偏差大小来决定给多大的方向舵量:方向舵量p = P * (目标航向 – 当前航向)。这个方向舵量p,就是PID控制里的P部分,即比例部分。
那么,是不是只要有了P,我们的控制就完成了呢?实际上有了P,在大多数情况下,我们可以控制飞机朝目标量去接近,但可能会出现一些情况,比如,当飞机的安装有偏差(我们称之为系统误差),导致我们输出一个左5方向舵给舵机的时候,飞机才能直飞;当不给方向舵,即方向舵放在中位时,飞机会右偏。我们想象一下这个时候如果只有P项控制会有什么后果:假设初始状态是飞机飞行航向和目标航向一致,按P输出飞机方向舵应该在中位。而这时候,由于系统安装误差的存在,会导致飞机偏右,于是偏离了目标航向,然后P项控制会输出一个左舵,来修正航向偏差,刚开始的时候由于偏差量很小,输出的这个左舵也很小,于是飞机继续右偏,然后导致这个左舵加大,最终到达5,使飞机直飞,但这时候的飞行航向与目标航向始终存在一个偏差,这就是P的局限,无法修正系统误差。于是I项积分控制就出场了。
I项的输出这样定义:方向舵量i = I * (偏差和)。偏差和是当前航向和目标航向的偏差,每计算一次累加一次,一直累加到上次的值,再加上这次计算时当前航向和目标航向的偏差。即这个偏差和是跟以前的累积误差有关的。同样是上面的例子,I项的效果就这样体现:当飞机飞行航向与目标航向始终存在偏差时,I项将这个值累加上,比如说是5度吧,于是在P项之上,再叠加一个I*5的修正量,增加了一个左舵,比如说是2,然后导致飞机的飞行航向与目标航向的偏差会小一些。也许这一次计算输出的控制量并没有完全消除误差,但下一次再计算时,如果还有误差,于是会继续再增加输出控制量,使误差再小,于是经过多次计算后,使I项始终输出一个左5的舵量,使误差归零。这就是I项的作用,消除系统误差。
D项的意思是微分。为了便于解释,我们假设不存在系统误差,I项为0。比如当目标航向为0度,当前航向为30度时,根据P项作用,会输出一个左舵,假设为左15吧,使飞机向左转向,于是当前航向逐渐减小,比如减小到20度的时候,P项输出的左舵也会减小到左10。那么,当飞机转到0度时,跟目标航向一致时,P项输出方向舵回到中立位,飞机是否就保持0度直飞了呢?XX是否定的。由于飞机的惯性,飞机在左转弯时产生了一个左转弯的速率,导致飞机航向回到目标航向无偏差且方向舵回中后,仍然还会继续左转,然后产生负的偏差,P项再输出右方向舵,然后再回中。如果P项合适,我们看到的就是一个逐渐收敛于目标航向的飞行航向,即先左过头,然后右过头,再左过头,再右过头……最后过头量越来越小,最终到达目标航向。而D项的作用,就是尽量消除这个过头量,使之尽快贴近目标航向。
D项的定义是:方向舵d = D * (当前状态量 – 上一次的状态量)。在这个例子中,当飞机在从30度的航向,左转弯到0度目标航向的过程中,D项的输出实际上是转弯角速率的比例值,并且方向与P项相反,这样当飞机比较接近0度目标航向时,由于P值已经很小了,而这时候如果转弯速率不小,D项就输出一个右方向舵,抵消过快的转弯速率,阻止飞机航向到达目标航向后继续冲过头。
最后,方向舵量 = 方向舵量p + 方向舵量i + 方向舵量d,为完整的输出。根据飞行的表现,通过对P、I、D系数的调整,最终使输出的控制量能够尽快的控制状态量贴近目标量,并消除系统误差,避免过度震荡。
在完整的固定翼飞控系统中,除了航向通道需要PID控制外,其余需要控制的通道还有:副翼舵->目标横滚角、升降舵->目标俯仰角、目标俯仰角->高度差、油门舵->空速、目标航向->偏航距。
④ 如何用开源飞控PIXHAWK进行开发
想快速开发一个飞控,那首先要做的是了解apm的各种参数配置,了解每个参数的影响和起作用的代码功能块,用apm适配自己的机型还是需要修改,优化,和裁剪。正如克里斯安德森说希望APM做无人机行业的安卓,但是安卓的性能也只能是差强人意,比无人机行业的IOS大疆创新来说还差很多。
飞控行业或者研究领域应用,例如开发测绘手机app,无人机送快递等等(倾向于demo性质)...这种应用不需要做一个飞控,首先大概了解飞控的原理,然后只要掌握apm的控制数据协议即可。
发烧级的爱好者或者开发者,迫切的想要了解apm的大部分算法和逻辑,这个真的需要较长的时间,大致的思路就是:底层驱动-》传感器数据和物理意义-》姿态解算-》PID控制器-》飞行模式切换-》参数调优(包含gps悬停刹车什么的很细但是影响手感和性能的参数)初学只是去看apm而不是自己动手去做很难搞懂,建议还是自己做飞控,哪怕复制apm部分功能代码,做飞控的学习顺序和读飞控一样,但对于apm这样一个系统工程相对来说模块更分立。
⑤ 通过PID算法,实现对四旋翼飞机的控制具体是怎么回事,求程序
非要用51么
现在有更强大的ARDUINO,两大开源飞控都是基于这个的(APM,Multiwii)
multiwii比较满足你的要求,这只是个程序固件,你可以参考下,如果说要自己写飞控程序难度不小,用一块pro mini开发板+mpu6050模块刷入简单设置好的固件就可以实现飞控的功能,此外还兼容大量的其他模块(地磁,气压),添加升级也很方便(只需要打开固件里的设置)。
要调PID的
⑥ 有没有应用到飞控上的成熟一点的神经网络PID控制算法
您好,非常感谢您发出这个帖子。我现在也在考虑做或者学习相关四轴飞行器的神经网络控制算法。之前我的飞机是用双闭环PID控制算法实现控制飞行的。最近在学习神经网络,我准备用神经网络控制算法来对四轴飞行器姿态误差进行修正,看看能不能实现稳定飞行,或者看是否稳定飞行效果会好点。现在我正处在学习神经网络过程中,之前的基础就是对四轴飞行器的PID控制算法了解的多一点,自己实现了PID算法的编程,飞机可以稳定飞行,我想以后将神经网络控制应用于四轴飞行器中。您出了这个帖子,尽管现在没有人回答,但是我希望您能够更新一下,毕竟经过了这么长时间了,谈谈您的收获吧。让我们学习学习,也可以一起讨论讨论。谢谢!
⑦ 如何用开源飞控PIXHAWK进行二次开发
pix有两个平台,一个是apm移植过来的固件,一个是px4原生固件,一般apm用得比较多,px4似乎是linux环境下开发的。有c基础,最好还要有数学基础,和控制理论基础,才能看懂里面的算法。
⑧ 大家有了解AEE一电科技的吗,飞控算法工程师前景怎么样 求解答Q:1124308303
个人以为飞控算法工程师是一个机遇与挑战并存的职业。因为无人机的前景是非常广阔的,以后无人机会更多的替代有人机执行任务,而飞控正是无人机的核心;算法又是飞控的核心。但真正的工业级飞控的算法是非常不容许写好的。
至于去哪家公司,个人建议如果去也要去找家靠谱的干实事儿的公司。某些纯靠胡编参数忽悠客户的无人机公司,很快要倒掉一批。