搜索
bottom↓
回复: 39

四轴pid基本稳定,但是在平衡位置会有慢速的震荡

[复制链接]

出0入0汤圆

发表于 2014-5-19 19:42:16 | 显示全部楼层 |阅读模式
http://v.youku.com/v_show/id_XNzE0MTUzNjM2.html
这个是什么原因引起的??

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-5-19 20:35:34 | 显示全部楼层
你用的是经典PID,还是串级啊?

出0入0汤圆

发表于 2014-5-19 20:58:29 来自手机 | 显示全部楼层
先看看是不是振动太大

出0入0汤圆

发表于 2014-5-19 21:10:19 | 显示全部楼层
你用串口单独看看姿态解算,看最终解算结果和加速度计读取的姿态角是不是存在可视的相位差,我之前遇到过这种情况,当时是陀螺仪数据偏小,进制转换不对,你这个看起来跟我的效果很像

出0入0汤圆

 楼主| 发表于 2014-5-19 21:23:09 | 显示全部楼层
hfjydq 发表于 2014-5-19 20:35
你用的是经典PID,还是串级啊?

应该是简单的 经典pid  串联的 算法是什么样的?

出0入0汤圆

 楼主| 发表于 2014-5-19 21:25:11 | 显示全部楼层
samo110 发表于 2014-5-19 21:10
你用串口单独看看姿态解算,看最终解算结果和加速度计读取的姿态角是不是存在可视的相位差,我之前遇到过这 ...

明天打算用串口看下  我用的 是dmp 问题应该不大

出0入0汤圆

 楼主| 发表于 2014-5-20 14:10:05 | 显示全部楼层
samo110 发表于 2014-5-19 21:10
你用串口单独看看姿态解算,看最终解算结果和加速度计读取的姿态角是不是存在可视的相位差,我之前遇到过这 ...

发现振动对四轴的角速度影响有点大。

出0入0汤圆

发表于 2014-5-20 15:24:09 | 显示全部楼层
study_hardware 发表于 2014-5-20 14:10
发现振动对四轴的角速度影响有点大。

就是这样,你着重看看陀螺仪的量是不是偏小了,看起来是陀螺仪积分效果比实际效果弱,跟不上实际变化,需要加速度计纠正,这样就会造成 姿态解算相位滞后 和 受加速度计影响巨大 的现象
其实加速度计的作用只是为了矫正陀螺仪零飘,而实际上陀螺仪的零飘是很小的(初始化矫正后),所以一般情况下加速度产生的影响应该很小才对,下面是我当时的情况


上面是陀螺仪数据偏小的结果,导致控制时在水平位置小幅震荡,下面是改正后的效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-7-8 19:58:58 | 显示全部楼层
楼主你好,我也正在做四轴,现在pid调了很久都找不到一组很好的值,我只用了PD,没有加I,不知道对不对?之前看了网上说的定P定在出现等幅震荡的时候,但是我感觉在四轴上光靠P是不可能出现等幅震荡这种情况的,能不能给我点启发?

出0入0汤圆

 楼主| 发表于 2014-7-12 15:54:31 | 显示全部楼层
p调节到 开始震荡为止  d用来消除震荡 超前补偿的作用  先不调I

出0入0汤圆

发表于 2014-7-21 23:35:41 | 显示全部楼层
samo110 发表于 2014-5-20 15:24
就是这样,你着重看看陀螺仪的量是不是偏小了,看起来是陀螺仪积分效果比实际效果弱,跟不上实际变化,需 ...

我的情况也是四轴在水平位置有小幅度的摆动,请问要怎么用加速度来纠正角速度偏小的问题,谢谢

出0入0汤圆

发表于 2014-7-22 05:18:33 | 显示全部楼层
lz 放了i进去没?i是怎么处理的?
去掉看看还有没有这种震荡

出0入0汤圆

发表于 2014-7-22 21:09:41 | 显示全部楼层
lqf2060 发表于 2014-7-21 23:35
我的情况也是四轴在水平位置有小幅度的摆动,请问要怎么用加速度来纠正角速度偏小的问题,谢谢 ...

    个人总结,四轴怎么调都在水平位置有一定摆动最大可能的原因就是姿态解算滞后。

    造成这中滞后的原因常见的可能有两种:1、姿态解算算法太复杂,计算过程时间较长,导致滞后(一般用网上那个四元数ahrs的不应该存在这种问题)。2、陀螺仪实际数据偏小,导致解算结果需要依靠加速度计纠正才能跟上实际角度变化,造成滞后。

    其中第2条原因是不能够单纯调整权重依靠加速度计去纠正陀螺仪的,正确的做法是同时只使用加速度计和只使用陀螺仪得到两组角度结果,短期内这两组结果应该是基本相同的,如果不同,就需要调整陀螺仪量程或者在软件上对陀螺仪数据乘以一个系数,是他们的解算结果匹配,最后再按照正常的姿态融合算法进行数据融合。(我就是这种原因,最后取得了良好的结果)

    传感器数据是一切姿态解算的根本,而姿态解算结果又是控制算法的根本,所以源头问题一定要首先解决。

    融合算法一般用可以参考坛子的精华帖http://www.amobbs.com/forum.php? ... digest%26digest%3D1

出0入0汤圆

发表于 2014-7-22 23:19:33 | 显示全部楼层
samo110 发表于 2014-7-22 21:09
个人总结,四轴怎么调都在水平位置有一定摆动最大可能的原因就是姿态解算滞后。

    造成这中滞后的 ...

好的,谢谢,我是用四元数解算的,但是不知道要如何确定陀螺仪的速度是否偏小呢

出0入0汤圆

发表于 2014-7-23 14:07:02 | 显示全部楼层
lqf2060 发表于 2014-7-22 23:19
好的,谢谢,我是用四元数解算的,但是不知道要如何确定陀螺仪的速度是否偏小呢 ...

请参见上面我对正确做法的描述

出0入0汤圆

发表于 2014-7-23 14:36:18 | 显示全部楼层
samo110 发表于 2014-7-23 14:07
请参见上面我对正确做法的描述

谢谢,大概明白了

出0入0汤圆

发表于 2014-7-23 14:43:09 | 显示全部楼层
做四周的牛啊               

出0入0汤圆

发表于 2014-8-11 14:31:36 | 显示全部楼层
吹下来的风反弹下来了.你的四轴放的太低,不信你让它保持一个角度飞肯定很稳.没那么复杂

出0入0汤圆

发表于 2014-8-11 14:50:49 来自手机 | 显示全部楼层
这样子貌似不错了

出0入0汤圆

发表于 2014-8-11 14:58:45 | 显示全部楼层
楼主的PID算法是怎么实现的?同一轴上的两个电机共用一个PID还是一个电机一个PID

出0入0汤圆

 楼主| 发表于 2014-8-11 18:00:26 | 显示全部楼层
两个pid  分别是横滚角 和俯仰角

出0入0汤圆

 楼主| 发表于 2014-8-11 18:02:06 | 显示全部楼层
残忆视觉 发表于 2014-7-8 19:58
楼主你好,我也正在做四轴,现在pid调了很久都找不到一组很好的值,我只用了PD,没有加I,不知道对不对?之 ...

我的也没有i  一般都不加它。

出0入0汤圆

发表于 2014-8-11 19:36:56 | 显示全部楼层
会不会是稳定裕量不够。看看自控原理

出0入0汤圆

发表于 2014-8-12 20:11:41 | 显示全部楼层
study_hardware 发表于 2014-8-11 18:02
我的也没有i  一般都不加它。

你现在把那个问题解决了吗?我这段时间试着在空中飞,就总是会向各个方向飘去,有时能飘回来,有时飘不回来,一直不能老实的呆在那,需要我一直控制着遥控器。我感觉还是在平衡木上单轴的就没有调好,单轴的时候会有±4度的摇摆

出0入0汤圆

发表于 2014-8-12 20:13:07 | 显示全部楼层
study_hardware 发表于 2014-8-11 18:02
我的也没有i  一般都不加它。

我也试着加了I进去,感觉加了I之后还不如用PD控制的好,特别是用遥控器控制的时候,效果特别差

出0入0汤圆

 楼主| 发表于 2014-8-13 08:28:39 | 显示全部楼层
残忆视觉 发表于 2014-8-12 20:11
你现在把那个问题解决了吗?我这段时间试着在空中飞,就总是会向各个方向飘去,有时能飘回来,有时飘不回 ...

+-4度 感觉有点大。你看下在传感器直接出来的数据有没有问题,特别是在震动特别厉害的时候,角速度有没有问题(d参数直接用角速度的情况)。
另外就是d不能太大,会对噪声进行放大。
有一个死区,我弄的是+-0.5度。

出0入0汤圆

发表于 2014-8-13 10:36:06 | 显示全部楼层
加上卡尔曼滤波,或许震动影响会好些

出0入0汤圆

发表于 2014-8-13 20:03:08 | 显示全部楼层
study_hardware 发表于 2014-8-13 08:28
+-4度 感觉有点大。你看下在传感器直接出来的数据有没有问题,特别是在震动特别厉害的时候,角速度有没有 ...

什么样的数据是有问题的数据呢,我不动它的时候陀螺仪的输出量是0,震动的时候数值肯定是有明显变化的,所以我不知道你所说的看数据有没有问题是指什么样的数据是正确的,什么样的数据是不正常的

我用四元素融合出来的数据,静止时的精确度能达到0.01度,但是震动情况下的没有测试过,但是数值应该变化不会太大。

有没有可能是PID参数的问题呢

出0入0汤圆

 楼主| 发表于 2014-8-14 08:28:06 | 显示全部楼层
先看角速度有没有变化的幅度很大,在震动的时候,实际上震动相当于噪声,不应该变化,或者变化不大的。
pid也会有影响的。

出0入0汤圆

发表于 2014-8-20 15:58:09 | 显示全部楼层
斗胆问下楼主能不能分享下你的PID算法部分的程序,我搞了好久了,始终飞不起来,多谢啦276908643@qq.com

出0入0汤圆

 楼主| 发表于 2014-8-20 18:38:53 | 显示全部楼层
radio 发表于 2014-8-20 15:58
斗胆问下楼主能不能分享下你的PID算法部分的程序,我搞了好久了,始终飞不起来,多谢啦 ...

http://pan.baidu.com/s/1gdej5dT
83wt

程序其他地方估计还有问题  只做参考哦

出0入0汤圆

发表于 2014-8-20 18:43:52 来自手机 | 显示全部楼层
好,支持一下

出0入0汤圆

发表于 2014-8-22 10:25:17 | 显示全部楼层
study_hardware 发表于 2014-8-20 18:38
http://pan.baidu.com/s/1gdej5dT
83wt

谢谢楼主

出0入0汤圆

发表于 2014-8-27 16:26:07 | 显示全部楼层
我的刚飞起来就翻车了

出0入0汤圆

发表于 2014-8-27 17:05:37 | 显示全部楼层
samo110 发表于 2014-7-22 21:09
个人总结,四轴怎么调都在水平位置有一定摆动最大可能的原因就是姿态解算滞后。

    造成这中滞后的 ...

我用DMP解算,100Hz的解算速率,是不是太慢了?怎么改进呢?

出0入0汤圆

发表于 2014-8-27 21:17:41 | 显示全部楼层
firstzys 发表于 2014-8-27 17:05
我用DMP解算,100Hz的解算速率,是不是太慢了?怎么改进呢?

没用过DMP,不过应该不至于这么慢;
不过单从控制方面来说,如果准确度没问题的话,100Hz的周期完全没问题啊。

出0入0汤圆

发表于 2014-9-10 00:07:41 | 显示全部楼层
加卡尔曼滤波干嘛用的?

出0入0汤圆

发表于 2014-9-10 07:40:40 | 显示全部楼层
我觉得dmp输出的值漂移很大,当时我调小四轴也是用dmp就是跟楼主的一样,在水平位置震荡。后来果断自己做姿态融合算法

出0入0汤圆

发表于 2014-10-7 16:34:56 | 显示全部楼层
楼主,你的四轴在平衡位置会有慢速的震荡这个问题解决了么?我现在也出现了这个问题,和你一样的机架,求教!

出0入0汤圆

发表于 2015-3-28 22:10:37 | 显示全部楼层
隔得有点久了,楼主你飞机最后有很稳定么,我现在也用的是DMP 一样的架子马达,暂时也是你这种情况,打算再试试PID参数的调整。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 00:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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