关于无人机PID调参的经验分享

这篇具有很好参考价值的文章主要介绍了关于无人机PID调参的经验分享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、调试思路讲解
  • 二、实际调试方法
  • 总结

前言

        本次选用的是X型四轴来调试,配置采用的是飞越的650碳纤机架,电调用的是好赢的奔腾40A,电机同样是新西达2212 1000kV,主控是基于STM32F407芯片的商用飞控。首先,将四轴无人机安装在单轴平衡平台上,然后执行以下步骤:

  1. 姿态角稳定性检验:将四轴平衡在特定的角度(称为目标角度)。然后,观察四轴无人机是否能够保持在目标角度附近,即使存在轻微的扰动。这个步骤有助于确定PID控制器的P(比例)、I(积分)和D(微分)参数的初始值。

  2. 姿态角响应性检验:通过向四轴无人机发送新的目标角度命令(可能在不同的轴上),检验四轴无人机是否能够立即调整到新的目标角度,而不会有明显的延迟或偏差。

  3. 姿态角操纵性检验:由操纵员通过手持控制器发送各种姿态角命令,然后观察四轴无人机的响应。这个步骤有助于确定四轴无人机的操纵性能,即对操纵员的操作是否具有响应性和精确性。

  4. PID参数调整:根据实验结果和观察,逐步调整PID控制器的参数,直到达到所需的性能指标为止。这个过程可能需要进行多次实验和调整,但最终目标是实现稳定性、响应性和操纵性的良好平衡。

一、调试思路讲解

        首先调整一个轴的平衡,然后再调整另一个轴,最后调整YAW轴。 开始时,我只调整P,将I和D置零。由于不知道PID的合适范围,我就随便给了一组值:P=1,I=0,D=0,并观察现象。但是一旦启动电机,四轴就开始剧烈左右摇摆,很明显P给大了。然后我减小P值,从P=0.1开始尝试。在调试过程中,我发现一个现象:当四轴向一边歪,离平衡的0度有一个角度A的偏差时,P=0.1时A很大。这时,除非油门推得很大,否则四轴根本就起不来。这说明P设置得太小了。我又尝试了P=0.2,但四轴的状态没有明显改善。于是,我直接将P加大到0.8。此时,虽然可以看到等幅震荡,但四轴仍然不在0度的平衡位置,而是有一个角度B的偏离。此时,B的值较小。之后,我继续增大P至1,四轴的震荡又变大了,但仍然存在于0度静态平衡位置的静差。由于此时I=0,我决定先不理会这个静差,而是先找到P的临界震荡点。当P=0.8时,我可以观察到比较明显的等幅震荡,但当P=0.2时,四轴显得无力。因此,我得出结论P应该在0.2到0.8之间。临界震荡点是指P从不震荡到刚开始震荡的点。

        在此提醒一点,当P设定值太小时,四轴在大倾斜的情况下受到重力和P的影响会产生震荡。这种震荡不是等幅的,也不是对称的。波谷的幅度比波峰大,且距离0度平衡点较远。需要注意区分这种情况。

        我将P从0.2到0.8尝试,并找到一个适合的点,即出现刚开始出现震荡的P值。最终我选定P=0.5。但要注意,尽管我调整了P值,仍然存在静态差。

        在以上过程中,我一直试图通过P来消除静态差。但是我发现,当我将P调到很大时,四轴的震荡变得非常剧烈,且震荡的中心不在0度位置。因此,我只能先选定P和D,然后加入I来解决这个问题。

        当我将P设定为0.5时,四轴在稳定位置的震荡减小了,但在外力干扰下仍然很难保持稳定,抗扰能力较差。然后我开始调整D值。

        在平衡过程中,P相当于四轴的回复力,它力图让四轴保持在一个稳定的平衡位置,但这个位置不一定是我们期望的位置。我认为,当偏差不再变化时,PID的输出也不会变化。因此,光使用P时,稳定的位置不一定是我们期望的平衡位置。而D则是阻尼力,它在四轴有速度时才会发挥作用,始终抑制运动。因此,它可以抑制震荡,但同时也会抑制P的作用。当震荡产生时,四轴在震荡的中心点上的速度最大,这也是D作用最强的时刻。

        在调整D的过程中,我犯了一个错误。因为我更改了D的标准型,而D应该是抑制运动的,但是陀螺仪的输出数据符号使得D的作用与预期相反。因此,一开始无论我怎么调整D,都会引发震荡。后来,我在参数前加了一个负号,问题就解决了。在这里我提醒,要注意D是阻尼力,是抑制运动的作用,它始终希望作用对象没有运动。至于停在何处,不是D所关心的,这是P和I所关心的。因此,当直接使用陀螺仪数据代替偏差差时,需要注意。修正这个问题后,加入D的效果就很明显了,四轴在外力干扰下有明显的回复力,能够快速稳定在平衡点。调整D就是试错的过程,当然D过大也会引发震荡。但是此时不加D时,光有P作用时的震荡就很小。很明显,随着D的增加,震荡减小又增加。最后,我选定了P=0.4和D=0.15。

        当我最后确定了P和D值后,我的四轴依然存在静态偏差,不能稳定在期望的0点。在网上,有很多四轴只使用PD,但考虑到我的实际情况,我决定加入I。

        调整I时,我先去掉了积分限制。然后我逐渐增大I,当我调整平衡时,随着油门的增加,静态偏差应该逐渐减小。我将油门推到差不多将四轴推离地面的位置,观察I能否消除静态偏差。因为如果油门给得太小,静态偏差较大,虽然调整出来的I能够消除静态偏差,但I值较大,在增加油门时可能会产生过调震荡。最终,我需要一个I能够消除静态偏差又不会产生过调震荡的值。我认为这个值应该尽可能小。最后,我再加上合适的积分限制。

        最终,我确定的PID参数是:P=0.4,I=0.35,D=0.15。

二、实际调试方法

        调试步骤始终是先调平衡杆,开始调X轴时,我以为X轴和十字型的调试方法类似,所以我只是简单地将原有PID参数按照新的程序的PWM值域缩放了一下倍数,但是效果不佳,PID控制器没有起到作用。

        具体情况是,四轴一开机就直接向一边倒,无法停在平衡位置,而是倒到一个很大的角度(大约70度左右),接着电机力量突然加大,四轴立起,然后又反向倒向另一边,进入了失控的大幅震荡。由于一开始就倒向一边,我意识到P可能设定得过小了。于是我开始逐渐增大P值,但是即便将P调得很大,四轴依然会倒向一边,然后电机力量增大,四轴反向倒向另一边,开始发散性的震荡。我发现,当P设定得比较小时,四轴受到电机惯性的影响,会开始震荡。而当P调得较大时,四轴会直接进入震荡状态。我始终无法观察到等幅震荡或者接近小幅震荡的状态。不管P值是大还是小,四轴都会进入失控的发散震荡状态。与十字型飞行器不同的是,这个X轴飞行器的情况并不稳定。甚至连相对稳定的等幅震荡状态都无法观察到,而是直接进入发散的震荡状态。

        后面经人提醒,在确定P值时,应该将把手放开,观察四轴开始震荡的情况。只要四轴左右晃动几次,就能达到大幅度的晃动,大概在45度左右。确定了这个P值之后,就可以加入D,而且D有可能比P值大。在这个基础上,我又开始了调试。

        再次从头开始调整P值时,我观察到了一个新的现象。我将四轴稍微倾斜几度,比如说向左。当P值较小时,启动电机后松开手,四轴会向左倾斜。如果P值较大,则四轴会向右倾斜。前者表示补偿不足,后者表示补偿过度。在这两个P值的区间内,我们需要找到合适的P值,即能在平衡位置稍微晃动几下的值。此时我的P值为3.0,但光靠P值四轴仍然无法站稳,只能在平衡位置坚持1到2秒。因此需要加入D值。我尝试了D值为1、2和3时,没有明显效果,只能观察到起初的短时平衡性略有改善。当D值为10时,可以明显观察到平衡的时间延长了,但仍会倾斜。当D值为20时,可以明显观察到四轴基本平衡了,但仍有小幅震荡,当有干扰时四轴也不能很快恢复平衡,说明D值有一定效果但太大了。在这种情况下,P值仍然偏小,回复力不足。我将D值定为25,然后开始调节P值,加大P值,增强恢复力。在调节过程中,我感觉到P值会产生一种名为A的震荡,这种A震荡是会发散的,频率较低。而D值会产生另一种名为B的震荡,B是等幅的,频率较高。然后P值会抑制震荡B,但会激发震荡A。D值会抑制震荡A,但会激发震荡B。调节参数的最终目的是调整好P值后再调整D值,将两个参数互相支持,使它们趋近一个最佳点。想单靠一个参数一次就接近理想值是不可能的。当然,机体表现出的等幅震荡也不一定是因为D值过大,P值不合适同样会产生此种情况。另外,在调节参数时,不要一味只加不减。当我P值为4,D值为50时,我将P值稍微减小一点,才取得了更好的效果。最后,在离开平衡杆时,我的P值为3.5,D值为50。此次调试中没有静态误差,因此没有I项。

总结

以下是我个人的总结:

1、调节PID控制器首先要理解最基本的PID三项意义:P是回复力,即系统平衡的主力;D是阻尼力,一直是抑制作用;I虽然能使系统回复但是I大了容易激发震荡,所以I只能是辅助P。

2、一般从P开始调节时候首先要找到临界震荡点,要学会辨识系统临界震荡点的特点。不同系统的临界状态可能不同,在这一点上用曲线代替肉眼直接观察效果好的多。

3、P不一定就比D大,切不可经验主义,一切遵循实际,多尝试可能性。

4、调节PID最麻烦的就是会产生震荡。只要参数不合适都会产生震荡。初学者往往心急不知如何下手,其实是不同参数不合适而产生的震荡都有所区别,要细心观察。最好能看PID输出、被调量、设定值三者的曲线图。通过图来对比特征曲线得出震荡产生的原因。更多关于曲线特征判别方面的内容,请参阅附件中的篇文献。

5、调节参数是个让人头疼的活,一定要心平气和,切莫急躁,多尝试。我认为一个平静的心态在调PID时非常重要,能让你头脑清醒地看清问题。调节参数是个枯燥的活动。如果你很烦或者很着急,调不出来只会让你更加烦躁、更迷糊。还有就是耐心、多试。刚开始不知道大致范围时参数尝试变化范围可以大一点。确定范围后就要耐心地一点点加。

6、以上所言都是针对位置式PID控制器。增量式PID控制器的三组参数所起作用与位置式大相径庭,不可套用。

7、多与人交流,在这里再次感谢指导我的诸多网友。

8、调节PID最好能看曲线图,判别特征曲线,用曲线来看特征比直接看物体表现好得多。文章来源地址https://www.toymoban.com/news/detail-859159.html

到了这里,关于关于无人机PID调参的经验分享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 0基础学习VR全景平台篇第137篇:720VR全景,DJI无人机遥控器调参

    上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 这节课以御2为例 介绍的是无人机调参 步骤一:下载DJI Go 4并注册账号 步骤二:拿下遥杆并装好,展开遥控天线。将无人机与遥控器相连,选择相应的连接线,将手机连接至遥控器上。 步骤三:启动DJI GO4 AP

    2024年01月21日
    浏览(43)
  • m基于PID控制算法的四旋翼无人机飞行控制simulink仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB   无人机采用常见的四旋翼无人飞行器,如图1所示。       PID 控制器,即控制器的控制方式为 P 比例调整, I 积分调整以及 D 微分调整三个部分构成, PID 控制器是目前为止应用最为广泛的控制方式。 PID 控制器具

    2023年04月22日
    浏览(75)
  • 基于PID优化和矢量控制装置的四旋翼无人机(Matlab&Simulink实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 PID优化 2.2 矢量控制装置  🎉3 参考

    2024年02月10日
    浏览(54)
  • 基于ESP8266的四旋翼无人机代码分享,该无人机可以爬墙哦

    代码链接在:https://github.com/AnishDey27/Wall-Climbing-Drone/blob/main/Node%20MCU%20Codes/3_Drone_FInal.ino 源码贴出来吧: #includeWire.h #include ESP8266WiFi.h #include WiFiUdp.h WiFiUDP UDP; char packet[4]; //IPAddress local_IP(192, 168, 203, 158); //IPAddress gateway(192, 168, 1, 158); //IPAddress subnet(255, 255, 0, 0); //__________________

    2024年02月07日
    浏览(53)
  • 大疆飞卡30运载无人机技术分享

    大疆飞卡30是大疆公司面向运输领域推出的一款专业运载无人机。它采用了优秀的设计,装备了多种先进传感器,以解决运输中的难题。以下我们来了解一下其主要特点: 【应用领域】 飞卡30适用于山地救灾、农业化肥施用、工程材料运送等交通不便的山区应用,也适用于海岛联通

    2024年02月12日
    浏览(43)
  • 基于PID控制器的四旋翼无人机控制系统的simulink建模与仿真,并输出虚拟现实动画

    目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1四旋翼无人机的动力学模型 4.2 PID控制器设计 4.3 姿态控制实现 4.4 VR虚拟现实动画展示 5.完整工程文件        基于PID控制器的四旋翼无人机控制系统的simulink建模与仿真,并输出vr虚拟现实动画,输出PID控制器

    2024年04月09日
    浏览(57)
  • OpenHarmony无人机MAVSDK开源库适配方案分享

    MAVSDK 是 PX4 开源团队贡献的基于 MavLink 通信协议的用于无人机应用开发的 SDK,支持多种语言如 C/C++、python、Java 等。通常用于无人机间、地面站与通信设备的消息传输。 MAVLink 是一种非常轻量级的消息传递协议,用于与无人机(以及机载无人机组件之间)进行通信。MAVLink 遵

    2024年04月09日
    浏览(46)
  • 论文分享 | 面向大型三维环境的无人机多地图协同探索

    阿木实验室推出的开源项目校园赞助活动,再次迎来开发者参与! 苏州大学李子强 同学,在Prometheus开源仿真架构的基础上进行了二次开发且发表了相关论文。其论文 《面向大型三维环境的无人机多地图协同探索》 收录于IEEE机器人与仿生国际会议,根据活动规则,将获得阿

    2024年03月17日
    浏览(42)
  • 大疆无人机空三建模干货分享(大疆智图集群建模超详细教程)

    Part 01 大疆无人机空三建模干货分享(大疆智图集群建模超详细教程) 大疆智图集群简介 大疆在今年5月推出的智图3.0.0及以上版本中加入了集群功能,有集群版许可的用户可以使用此功能。智图集群是由一台主节点分配任务控制多台同局域网内子节点设备进行空三和建模。集群

    2024年02月09日
    浏览(59)
  • 无人机禁飞区地图更新!图新地球全国限飞区自定义地图免费分享!

    随着无人机的普及,人们越来越容易拥有一台无人机。但很多用户并不了解无人机的飞行规则和禁飞限制。对于没有严格遵守规定的人来说,无人机飞行往往会构成公共安全和私人财产的潜在危害。 为此,政府和航空管理机构陆续出台了一系列限制无人机飞行的规定和条例,

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包