四轴自适应控制算法的一些尝试开源我的山猫飞控和梯度在线辨识自适应等算法—(转)深海的小鱼儿

②对附件中的山猫飞控和自适应控制算法做介绍

③对所作工作的总结,归纳出主要的问题和注意事项

④致谢

第一部分:牢骚

我个人非常期待我的飞控中有用的部分能用到大家的四轴中,只是在这里有一点自私的请求,虽然我自知自己的代码特色并不明显,但是如果真的有用并能用在您的四轴中的话,希望您也能开源您得代码,打心底里希望大家能共同努力,把中国的四轴做大做强!

第二部分:飞控、直接法自校正极点配置控制器特点介绍

①硬件和一些不重要的东西:

450的糙机架,朗宇2212980kv的电机1045的桨电调是好赢的四合一电调,STM32F103VET6主控传感器为L3G4200+HMC5883L+ADXL345+BMP085杜邦线连接软件I2C,有个小蜂鸣器,用电阻做了个简单的电池电压测量,富斯的9通遥控和接收机,一个网上买的性能很差的433MHz串口透传模块。

②操作系统:

为了能把控制算法写到足够大并能保证各软件模块间时序的准确性,我们使用了uCOSIII操作系统,这个相比uCOSII有了很大的改进,应该说在我们的STM32上使用非常合适,但是API和前代相比有了很大变化,很多东西需要重新写。另外就是是我们的飞控可以同时使用库函数和寄存器来设置(因为我是使用寄存器的,但是工程里带了库,怕人们困惑才特意加这句话)

③通信与手柄控制的特色:

我们使用MATLAB做的上位机与飞控通信,因为MATLAB对多线程的支持非常不好,串口通信也存在很多问题,所以我的飞控通信效率非常低,使用的是字符的传输,倒是很便于用串口助手观查,最大的好处就是可以直接把飞控上截获的数据拿到MATLAB上来分析,对我等学生来说也许很有用吧,嘿嘿。

另外一个特色是可以同时支持用游戏手柄的遥控和8通航模遥控器的遥控。飞控上可以读取8通接收机的信号,使用的是外部中断的方式,直接把接收机的线接到相应引脚上就行,不需要额外寻找PPM信号(比如我用的富斯接收机就没有PPM信号),与其他控制(这里对比的是游戏摇杆和MATLAB给的控制信号)相比有最高的优先级,既航模遥控器锁电机开关(自己设定的)关闭时会在飞控内屏蔽其他外部控制输入。游戏摇杆当然就是普通的带两个摇杆的游戏手柄应该都是可以的,还是的使用我的MATLAB的上位机,也就是说如果您愿意的话完全可以在MATLAB上位机上直接控制四轴(如果你不怕坠机的话),当然,因为我只有一个性能很差的433串口透传模块,双向传输会牺牲一半以上的通信速度,要是想用后面提到的系统辨识一类对时序非常敏感的程序的话指定是不能用游戏摇杆了。

④可以进行在线的系统辨识,飞控中写入了渐消记忆最小二乘系统辨识算法,可以辨识带噪声模型的ARMA模型,之前看到坛子里有人在讨论用这种方法给四轴建模的,有了这个就方便了吧,嘿嘿~

⑤飞控中可以随意改变控制和姿态解算的频率,只需要改动头文件中的定义即可,当然得考虑算法的复杂度和I2C的读取速度。

⑥姿态解算:

⑦封装了常见的PIDPDPI控制器,关键是这里面有两个测试用的控制器,一个是开头提到的直接法自校正极点配置控制器,另一个是我自己推导的直接法自校正积分型极点配置控制器,这两个控制器主要是为了我等学生测试用的,目前还不能稳定的飞行,其中直接法自校正极点配置控制器可以实现单轴的稳定控制。

⑧一些必须放在这里说的问题:

首先是我做四轴并不是为了做一个能稳定飞行的玩具,也没有项目要求要做这个东西,所以我并没有以“把PID和姿态解算调到极致”为中心,而是以“方便测试尽可能多的控制算法”为中心。因此我的飞控存在如下问题:

第三部分:

算法设计当中出现的一些关键问题的总结:

①控制频率与系统模型间的关系:

说一些实验现象,具体原因没有深究:降低控制频率,会增大辨识得到的离散系统的增益。在做PID控制时尤为明显,我在不同控制频率下用我的PID整定方法设计控制器,得到的参数在存在很大差别,但在将控制模型转化为g0+g1Z^-1+g2Z^-2的形式后发现仅仅相差了一个增益K,控制器的零极点并没有改变,仿真上差别不大,但会增大噪声的增益,在使用高频率控制时单纯的PID方法能表现出比在低频时更好的控制效果。

25Hz时的PID

10Hz时的PID

在控制频率低于系统实际的纯延迟时,离散系统会被采样成逆不稳定系统(非最小相位系统)这个时候无论哪种方法都很难体现出控制效果了,尤其PID,即便如此,我所辨识的被控系统始终存在一个在负半轴但在单位圆内的零点,感觉它严重的影响了我各种控制算法的控制效果。

②关于确定极点配置控制器控制频率为10Hz的一些考虑:

如前所述,由于我测量到系统从控制输入到角度反馈输出的延迟大约有0.2s(不知道大家的大四轴是不也是这样的,还是单纯的是我四轴的自身问题)使得控制器在高频时阶次过高,但在低频时会变成逆不稳定系统,这是极点配置控制器不能控制的系统。所以最后折中到了10Hz,同时由于这时候理论延迟d=2,但是依然是逆不稳定的,我们额外为辨识系统多加了一阶延迟,使d=3,这才保证我们设计的控制器在3阶并保证逆稳定的条件。

③为减小自适应初期的抖动所作的一些尝试:

在自适应初期会出现很恐怖的抖动,为了尽可能的减小这种抖动,我们使用了两种方法,第一种是前面说的尽可能的降低阶次,可以有效减小抖动,第二是用仿真得到的稳态的辨识参数作为初值,这两条并用,在我们单轴的测试上达成了良好的控制效果,但是多轴时由于无法完成离线辨识所以我们一直都没有得到飞机实际飞行中的系统模型,这条我们会在下一条中探讨原因,先上一张使用自适应的高阶控制器(后)与低阶控制器(前)在有噪声模型环境下控制效果和控制量输出的仿真对比:

④为什么会使用直接法辨识控制器参数而不是在线辨识被控系统然后解丢番方程求解控制器:

⑤为什么没有使用最小方差控制器这类基于最优化的自适应控制器:

⑥为什么我会说乐观?:-]

因为我们是直接对角度进行的输入输出控制器设计,如果从角速度来进行设计的话,前面的这一大堆问题理论上都会迎刃而解,所以我们对该算法思路非常乐观,也希望想像我一样走角度直接做自适应控制的三思,多考虑从角速度模型进行辨识并控制。

以上是我整理的关于我在做四轴的自适应控制中的一些尝试方案和记录,接下来是致谢:

THE END
1.在线检测和离线检测的区别?本文探讨了在线检测(实时)与离线检测(批处理)的区别,前者在数据生成时立即分析,用于即时响应如网络安全;后者在数据收集后离线进行,适用于历史数据分析。选择取决于应用需求和即时性要求。 摘要由CSDN通过智能技术生成 问题描述:在线检测和离线检测的区别? https://blog.csdn.net/weixin_43501408/article/details/135736809
2.EasyDL新增离线能力,无网络环境下模型识别速度达到毫秒级经测试,EasyDL 离线 SDK 在无网络环境下运行,几百毫秒即可完成一次识别,在 NPU 及高通芯片上运行,更可将延时压缩在几十毫秒内。 目前行业中其他平台一般都只支持云端调用,在网络不稳定、高保密、要求高响应速度的场景中,百度 EasyDL 离线功能就能够“大展身手”。 在考古等网络信号不稳定或者无网络的运行环境,考古https://baijiahao.baidu.com/s?id=1622237255725888065&wfr=spider&for=pc
3.YOLO&GhostNet实现了准确定位和分类,同时实现在复杂环境中的然而,目前尚无方法能同时实现在复杂环境中的模型准确性和性能。在本研究中,作者利用基于YOLO的模型进行安全头盔检测,在减少参数和浮点运算数量超过25%的同时,将mAP(平均精度均值)性能提高了2%。 YOLO是一种广泛使用的高性能轻量级模型架构,非常适合复杂环境。作者提出了一种新颖的方法,通过整合基于GhostNetv2的轻量级特征https://cloud.tencent.com/developer/article/2416284
4.电动汽车锂电池建模及参数辨识方法研究参数辨识结果在线验证在实车应用中进行,分三步: 1) 在计算机中应用该参数辨识方法(即离线辨识)对实车所用的电池进行电池模型参数识别,并将识别出的参数注入到车端BMS中,作为车端BMS电池模型的初始识别参数。 2) 随着车辆的运行,电池的特性会发生变化。 为了保证运行中的电池SOC估算精度,需要不断进行参数辨识。由https://www.dongchedi.com/article/7234405118433788473
5.永磁同步电机离线参数辨识方法研究期刊摘要:通过采用直流伏安法辨识电机定子电阻参数,采用高频注入法和脉冲电压法辨识电机定子电感参数,并对电感参数的2种辨识方法进行了分析和比较,分析永磁同步电机的数学模型,推导出了离线辨识永磁体磁链方法 仿真和试验结果验证了离线辨识定子电阻、定子电感和永磁体磁链方法的有效性. https://d.wanfangdata.com.cn/periodical/jcdcd201603005
6.异步电动机节能控制中的电机参数离线辨识的中期报告.docx该【异步电动机节能控制中的电机参数离线辨识的中期报告 】是由【niuwk】上传分享,文档一共【2】页,该文档可以免费在线阅读,需要了解更多关于【异步电动机节能控制中的电机参数离线辨识的中期报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字https://m.taodocs.com/p-1060718688.html
7.在线人脸识别器在线等怎么删除人脸识别?它具有独特的优点,如唯一性、方便快捷、难以伪造等,同时也存在一些缺点,如受环境光影响、隐私问题和误识别率。然而,随着技术的不断发展,人脸识别器将会迎来更广泛和深入的应用,并与其他技术相结合,实现更精确的识别和分析。 四、离线人脸识别vs在线云端人脸识别,哪个更适合应用?https://tool.a5.cn/article/show/76417.html
8.电动汽车动力电池降状态在线估算方法当去掉Cs=0的假设时, 文献[14]中的SOH估算模型如式(6)所示.首先离线建立新电池第一次循环的端电压与时间的拟合关系: (14) 式中,a1,b1,c1,d1,f1,g1为SOH估算方法需要离线辨识的6个参数. 这里以B0005号电池为例, 其辨识后结果为 (15) 将式(15)代入式(6)得到以B0005号电池为例的SOH在线估算模型:https://xuebao.neu.edu.cn/natural/article/html/2020-4-492.htm
9.在线参数辨识,on在基于PMU量测的电力系统主导动态参数在线辨识方法的基础上,针对恒阻抗和感应电动机并联组成的综合负荷模型,采用Volterra级数模型和模式识别方法研究了动静负荷比例的在线快速辨识方法,并通过离线仿真给出感应电动机模型几个重要参数在典型值周围的合理变化范围。 更多例句>> 6http://www.dictall.com/indu/098/0977239A892.htm
10.电动汽车锂离子电池模型参数在线辨识与状态联合估计电动汽车锂离子电池模型参数在线辨识与状态联合估计,锂离子电池,模型参数辨识,SOC估计,SOH估计,锂离子电池凭借其安全性能好、能量密度高以及循环寿命长等优势,被广泛应用于新能源汽车中。锂离子电池荷电状态(SOC)和健康状态(Shttps://wap.cnki.net/lunwen-1023543867.nh.html
11.人脸识别几个解决方案分析与测评2、面部关键点检测,在检测到的人脸框中,进一步定位人脸的五官和轮廓位置。 3、人脸验证,用于快速判定两张照片是否为同一人。 4、在线、离线全覆盖,视频流人脸检测和关键点检测、静态图片中人脸检测同样支持离线状态下使用。 其中在线人脸识别操作步骤简单 https://www.jianshu.com/p/62a9639b16c6
12.系统辨识案例.ppt* E 确定离线辨识还是在线辨识 离线辨识是在所有实验数据采集完了之后才计算结果。 * 在线辨识中采集数据和计算结果是同时进行的。 * (2) 模型结构辨识 模型结构辨识包括模型验前结构的假定和模型结构参数的确定这两部分内容。 模型结构辨识指的是:根据辨识的目的,利用已有的知识(如定律,定理,原理等)对要研究的https://max.book118.com/html/2016/0828/53154386.shtm
13.通过OCR识别文本简便,在线,免费通过OCR识别文档中文本的免费在线工具。建立可搜索的PDF文件。 很多选择。没有安装。没有注册。https://tools.pdf24.org/zh/ocr-pdf
14.主动降噪泄露变步长FxLMS算法研究已知多通道系统中存留J×K个次级通道。而需要采用的FxLMS算法由于滤波信号的存在,则要求对所有的次级通道进行补偿。因此离线建模需要的次级通道估计模型S?jk(z)也为J×K个。图9给出了当J=2、K=2时的离线辨识算法结构[15]。 图9 双通道系统次级通道建模原理图 https://www.fx361.com/page/2022/1228/13891069.shtml
15.BMS算法设计之电池SOH介绍(下)公众号“Elektroauto”51fusa功能一种基于模型估算SOH的方法的基本框架如下图所示。包含:实时在线测量,电池模型参数化(参数辨识)和一个在参数和电池SOH之间的非线性映射。SOH估算器会在离线时受训来找到SOC和SOH之间的关系。在估算单元中也可以把温度的影响考虑进来。 图2 在线参数辨识估算电池SOH https://www.51fusa.com/client/information/informationdetail/id/704.html