搜索
bottom↓
回复: 162

【庆祝】调了一天PID,终于飞稳了

  [复制链接]

出105入79汤圆

发表于 2013-5-10 21:20:35 | 显示全部楼层 |阅读模式
上周五一,四轴起飞成功(http://www.amobbs.com/thread-5531959-1-1.html

  这周又是一堆杂事,没有空折腾小飞机。上次起飞成功以后,一直是抬轿子晃来晃去。 准备定下心来写C#上位机的,可惜今天周五手痒就玩开了,一遍一遍烧STM32调PID。
经过不懈努力,排除一个数据类型转换错误,加入传感器调零功能。还借用的实验室同学DIY的水平台。

  还加入了yaw控制量,利用了陀螺仪的直接输出,很好地控制了自旋。一点点都不会转了。


  结合以前调平衡小车的经验: 先调P参数,慢慢加大,等到飞机等幅震荡的时候,再加D微分去抑制震荡。 但是D参数加多了,又会重新引起震荡。 所以:一个P参数就对应一个D参数。震荡的时候要排查出是P多了引起的还是D少了引起的,反正就是参数要配对。

  可惜I参数一直没有用上,准备下一步加上方向控制以后,再考虑加入积分。


  当然,电机PID的调整是建立在已经解算出姿态的前提上的。我的姿态是四元数融合那段程序。 那段程序有3个参数需要整合Ki Kp halfT。所以:想飞的稳有6个参数需要调整。 后面还有好长的路。。。



http://player.youku.com/player.php/sid/XNTU1MDE2MTI0/v.swf


http://player.youku.com/player.php/sid/XNTU1MDE1ODYw/v.swf



  

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

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

出105入79汤圆

 楼主| 发表于 2013-10-2 00:56:57 | 显示全部楼层
liang_work 发表于 2013-10-2 00:06
不知楼主有没有留意过匿名四轴的程式,现在我就是用匿名的硬件及软件,学习调PID,但一直调不好,现在最好 ...

终于有人发现匿名的经典pid的弊端了,那段pid实在太简单太短。努力调好可以稳定的pid后,发现回中是极其缓慢的。甚至是晃荡的。

解决办法:使用串级pid,分为:角度环控制pid环,和角速度控制环稳定环。主调为角度环,副调为角速度环。

出105入79汤圆

 楼主| 发表于 2013-10-2 12:28:17 | 显示全部楼层
本帖最后由 qwe2231695 于 2013-10-2 12:35 编辑
liang_work 发表于 2013-10-2 08:29
楼主,不太明你所说的串级,可以用实说明一下吗,多谢。现在你的机器,用的是那一类的PID,经典还是串级 ...


楼主位视频上面的使用的是匿名四轴的那种经典PID。这种pid的特点就是:很容易整合好PD参数,然后就可以飞起来,是平衡车上和水温控制的经典【位置式pid】。

  今年4月份到发这篇帖一直在做硬件和角度融合的学习,所以飞起来就发帖了,并没有考虑到pid方面的问题。其实视频里面是没有打摇杆的,一打摇杆,就会感觉很迟钝,有那种老的kk飞控四轴(只有陀螺仪)的感觉。

  后来发现,经典位置式pid,这里只用了PD,这样角度的控制就依靠P参数,回中和平衡都就只依靠P参数来拉动。自控方面的理论说来就话长了,简单地说:平衡好,回中就慢。回中快,平衡不好,飞机会抖动起来(抬轿子)。

  所以只有PD是不行了,无论怎么调。

  要使用改进的pid,我看了国外飞控的代码,没有任何一家是使用这种pid的,都使用的是一种二级pid。典型的就参见:Bitcraze四轴的代码

框图如下:

本帖子中包含更多资源

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

x

出0入8汤圆

发表于 2013-5-10 21:22:00 | 显示全部楼层
挺好!   

出0入85汤圆

发表于 2013-5-10 21:42:46 | 显示全部楼层
无线控制用的什么?

出105入79汤圆

 楼主| 发表于 2013-5-10 21:44:00 | 显示全部楼层
marshallemon 发表于 2013-5-10 21:42
无线控制用的什么?

24L01 +STC小单片机

出0入85汤圆

发表于 2013-5-10 21:46:23 | 显示全部楼层
qwe2231695 发表于 2013-5-10 21:44
24L01 +STC小单片机

24L01能传输多远的距离?

出105入79汤圆

 楼主| 发表于 2013-5-10 22:00:39 | 显示全部楼层
marshallemon 发表于 2013-5-10 21:46
24L01能传输多远的距离?

飞起来以后15m~ 电机没启动的时候20m+

出0入0汤圆

发表于 2013-5-10 22:41:22 | 显示全部楼层
顶楼主!技术控 啊!

出0入0汤圆

发表于 2013-5-10 22:44:53 | 显示全部楼层
原来楼主是个帅锅啊

出0入0汤圆

发表于 2013-5-10 23:01:57 | 显示全部楼层
航向角的調整也是使用PID嗎?

出0入0汤圆

发表于 2013-5-10 23:22:02 | 显示全部楼层
顶一下,楼主机架是怎么做出来的?

出105入79汤圆

 楼主| 发表于 2013-5-10 23:24:13 | 显示全部楼层
john800422 发表于 2013-5-10 23:01
航向角的調整也是使用PID嗎?

航向调整是直接用陀螺仪输出,后面加入磁场传感器后会使用pid

出105入79汤圆

 楼主| 发表于 2013-5-10 23:24:37 | 显示全部楼层
ppocat_check 发表于 2013-5-10 23:22
顶一下,楼主机架是怎么做出来的?

拿同学的成品迷你四轴的

出0入0汤圆

发表于 2013-5-10 23:30:04 | 显示全部楼层
不错呀,飞的很平稳

出0入0汤圆

发表于 2013-5-11 01:23:12 | 显示全部楼层
qwe2231695 发表于 2013-5-10 23:24
航向调整是直接用陀螺仪输出,后面加入磁场传感器后会使用pid

你說的陀螺儀輸出是類似這個嗎?
GYRO_I[0].Z = GYRO_I[0].Z + EXP_ANGLE.Z/3000;
yaw = -10 * GYRO_I[0].Z;
yaw = yaw - 3 * GYRO_F.Z;

目前已計算出航向
還在調整水平旋轉的PID

出105入79汤圆

 楼主| 发表于 2013-5-11 03:12:10 | 显示全部楼层
john800422 发表于 2013-5-11 01:23
你說的陀螺儀輸出是類似這個嗎?
GYRO_I[0].Z = GYRO_I[0].Z + EXP_ANGLE.Z/3000;
yaw = -10 * GYRO_I[0]. ...

就一句yaw = D参数 * GYRO_F.Z;

出0入0汤圆

发表于 2013-5-11 07:51:56 | 显示全部楼层
飞近很好,呵呵。顶一下,用的应是伟力929机身吧。

出0入0汤圆

发表于 2013-5-11 08:20:26 | 显示全部楼层
不错。
                  

出0入0汤圆

发表于 2013-5-11 23:45:59 | 显示全部楼层
请教一下楼主,四个电机的PWM用PID该怎么给呢?

出105入79汤圆

 楼主| 发表于 2013-5-11 23:54:21 | 显示全部楼层
zhuwenwujy 发表于 2013-5-11 23:45
请教一下楼主,四个电机的PWM用PID该怎么给呢?

P乘以角度,i没有加,D为陀螺仪输出

出0入0汤圆

发表于 2013-5-13 21:16:13 | 显示全部楼层
想问楼主是怎么把控制4个点机的PWM信号转化成期望角度的。

出0入0汤圆

发表于 2013-5-15 16:26:19 | 显示全部楼层
qwe2231695 发表于 2013-5-11 23:54
P乘以角度,i没有加,D为陀螺仪输出

这样做的原理是什么啊??为什么是这样啊?希望大师解答啊!!

出0入0汤圆

发表于 2013-5-15 16:38:17 来自手机 | 显示全部楼层
毕业到现在都很少diy了~

出0入0汤圆

发表于 2013-5-15 17:18:15 | 显示全部楼层
我想问下,我整个系统只用了个角度姿态大闭环来控制,控制方式是PI。请问这样的参数调节到电机到什么样子才算合理呢!!

出105入79汤圆

 楼主| 发表于 2013-5-15 17:21:25 | 显示全部楼层
silencedang 发表于 2013-5-15 17:18
我想问下,我整个系统只用了个角度姿态大闭环来控制,控制方式是PI。请问这样的参数调节到电机到什么样子才 ...

PI 是MK的主要方式。形象一点说: P是一个按比例来抵抗力,但是会引起震动,因为老是调不对。I是柔和的力,但是这个力会越来越大。

出105入79汤圆

 楼主| 发表于 2013-5-15 17:23:15 | 显示全部楼层
chenjy 发表于 2013-5-15 16:26
这样做的原理是什么啊??为什么是这样啊?希望大师解答啊!!

陀螺仪有输出,就证明四轴存在角速度,也就是正在走向不平衡的毁灭路上。加入这个,就可以随时监控有没有不平衡。

出0入0汤圆

发表于 2013-5-15 17:28:34 | 显示全部楼层
qwe2231695 发表于 2013-5-15 17:21
PI 是MK的主要方式。形象一点说: P是一个按比例来抵抗力,但是会引起震动,因为老是调不对。I是柔和的力 ...

是这样的!我在调试单根轴角度的P参数时候,在偏角为零时该轴很平稳,可是稍微给个角度,电机就会震荡。而且这种震荡是发散的!

出105入79汤圆

 楼主| 发表于 2013-5-15 17:33:19 | 显示全部楼层
震荡是发散的,可能数量级不对,多试试吧。做个上位机连续调会快很多。

出0入0汤圆

发表于 2013-5-15 18:01:20 | 显示全部楼层
qwe2231695 发表于 2013-5-15 17:23
陀螺仪有输出,就证明四轴存在角速度,也就是正在走向不平衡的毁灭路上。加入这个,就可以随时监控有没有 ...

我是菜鸟,我想问的是为什么是P乘以四元数融合后的角度 D乘以陀螺仪的加速度而不乘角度 ,你现在的计算公式是这样的么??
PID_OUT=P*(四元数融合角度-期望角度)+i*0+d*当前的陀螺仪数据

出105入79汤圆

 楼主| 发表于 2013-5-15 18:05:37 | 显示全部楼层
chenjy 发表于 2013-5-15 18:01
我是菜鸟,我想问的是为什么是P乘以四元数融合后的角度 D乘以陀螺仪的加速度而不乘角度 ,你现在的计算公 ...

就是这样的,i加一点点也可以。因为D参数的含义是微分,也就是调控量的变化率。

出0入0汤圆

发表于 2013-5-19 20:16:19 | 显示全部楼层
进展不错哦~ 继续加油。呵呵。 用Z直接抵消自旋 还不错吧。呵呵。 咱这个不是最好的办法思密达。

出105入79汤圆

 楼主| 发表于 2013-5-19 20:19:17 | 显示全部楼层
WUST_LJS 发表于 2013-5-19 20:16
进展不错哦~ 继续加油。呵呵。 用Z直接抵消自旋 还不错吧。呵呵。 咱这个不是最好的办法思密达。 ...

已经加入了磁场,打死都不会转了,嘿嘿,用的是以前做指南针的原理。

出0入0汤圆

发表于 2013-5-19 20:20:58 | 显示全部楼层
qwe2231695 发表于 2013-5-19 20:19
已经加入了磁场,打死都不会转了,嘿嘿,用的是以前做指南针的原理。

用 5883么? 是用网上流传的那个 AHRS么?

出105入79汤圆

 楼主| 发表于 2013-5-19 20:23:05 | 显示全部楼层
WUST_LJS 发表于 2013-5-19 20:20
用 5883么? 是用网上流传的那个 AHRS么?

是5883,得出方位角0-360度,直接套入电机PID。

出0入0汤圆

发表于 2013-5-19 20:28:49 | 显示全部楼层
本帖最后由 WUST_LJS 于 2013-5-19 20:38 编辑
qwe2231695 发表于 2013-5-19 20:23
是5883,得出方位角0-360度,直接套入电机PID。


估计你的大机架 对5883影响还好。
我自己也弄了个板子,出了个新机,还几个问题没解决。
建议弄个 摇杆电位器的 遥控器吧。呵呵。 你按键不好控制它。。
AT我邮箱245806596@扣扣.com 呵呵。你懂得。

出0入0汤圆

发表于 2013-5-25 12:25:42 | 显示全部楼层
我的PID调不好

出0入0汤圆

发表于 2013-5-31 10:08:42 | 显示全部楼层
直接陀螺仪输出控制PWM不加PID 好办法挖

出0入0汤圆

发表于 2013-5-31 12:35:49 | 显示全部楼层
恭喜。。。

出0入0汤圆

发表于 2013-5-31 13:09:59 | 显示全部楼层
你的电机不影响5883么?
我的13CM的 轴距,电机转起来 5883飘了差不多90度。
你的 这种20多CM 轴距的  电机转时和 不转时一个样?
本来加了5883了,结果在小四轴上太失望了。电机不转还挺好。

出105入79汤圆

 楼主| 发表于 2013-5-31 13:40:53 | 显示全部楼层
WUST_LJS 发表于 2013-5-31 13:09
你的电机不影响5883么?
我的13CM的 轴距,电机转起来 5883飘了差不多90度。
你的 这种20多CM 轴距的  电 ...

是的 磁场强度是指数递减的。距离近就没办法了,只能启动时再矫正一次

出0入0汤圆

发表于 2013-6-3 14:21:23 | 显示全部楼层

出0入0汤圆

发表于 2013-6-12 15:25:26 | 显示全部楼层
请问楼主的数据时如何滤波的呀?
陀螺仪得出的角速度和加速度经四元数融合得出三个欧拉角ROLL Pitch Yaw 是经过什么滤波再给PID的呢?
还有角速度是给PID的D参量 那角速度也要滤波吧?该用什么滤波方法?

出105入79汤圆

 楼主| 发表于 2013-6-12 15:35:51 | 显示全部楼层
背负拉天的云 发表于 2013-6-12 15:25
请问楼主的数据时如何滤波的呀?
陀螺仪得出的角速度和加速度经四元数融合得出三个欧拉角ROLL Pitch Yaw 是 ...

三个欧拉角直接反应了飞机状态,不需要滤波,这个角度实时性很重要,有滤波就会滞后。角速度D直接控制的话,也是不用滤波的。滤波是为了滤除震动,但是传感器mpu6050已经自带低通滤波器了。

出0入0汤圆

发表于 2013-6-12 15:49:39 | 显示全部楼层
qwe2231695 发表于 2013-6-12 15:35
三个欧拉角直接反应了飞机状态,不需要滤波,这个角度实时性很重要,有滤波就会滞后。角速度D直接控制的 ...

那么也就是说  我从MPU6050那里得到的数据 是可以直接拿来用的 ?
还有个问题想请教你,我做的是大四轴,450轴距的,现在调试PID参数很蛋疼,请问你是怎么调试的啊 ?

出0入0汤圆

发表于 2013-6-12 21:24:35 | 显示全部楼层
MARK

出0入0汤圆

发表于 2013-6-12 22:53:41 | 显示全部楼层
太漂亮了!

出105入79汤圆

 楼主| 发表于 2013-6-12 23:01:41 | 显示全部楼层
背负拉天的云 发表于 2013-6-12 15:49
那么也就是说  我从MPU6050那里得到的数据 是可以直接拿来用的 ?
还有个问题想请教你,我做的是大四轴, ...

加速度需要平均值滤波,陀螺一般不需要的。但是数值的大小需要处理,进行单位转换再进行姿态解算。PID要根据不同的飞控程序调法有很大不同,一般是先加p,等幅振荡后,加d抑制。

出0入0汤圆

发表于 2013-6-14 14:56:46 | 显示全部楼层
不错!!  谢谢分享。 这几天调试一个四轴,小四轴PCB板子, 姿态已经解析出来了,控制是 P×角度差 + D×陀螺仪的角速度。  调试的时候,我将D=0; P稍微一调大,整个四轴好像越晃越严重。 能否分享下你调试P跟D的具体现象吗? 或者这部分代码。

出0入0汤圆

发表于 2013-8-15 21:27:41 | 显示全部楼层
请问楼主的也算大四轴吧?

我挺喜欢你的机架的,能给个淘宝链接吗?还有你的电机需要电调吗?

出0入0汤圆

发表于 2013-8-15 21:47:18 | 显示全部楼层
牛,顶你     

出0入0汤圆

发表于 2013-8-15 22:44:24 | 显示全部楼层
楼主,这个四轴多重呀?我的现在40几克,飞起来还费力。

出0入0汤圆

发表于 2013-8-16 00:29:19 | 显示全部楼层

对比看了下,挺稳的。。。还看见了自制的遥控板,厉害

出0入0汤圆

发表于 2013-8-17 17:33:42 | 显示全部楼层
飞的挺稳的哇

出0入0汤圆

发表于 2013-9-4 12:15:57 | 显示全部楼层
楼主想请教你一下参数的调试。可以加我QQ吗?

出0入0汤圆

发表于 2013-9-4 12:16:15 | 显示全部楼层
求楼主看到这里这里这里~~~~

出105入79汤圆

 楼主| 发表于 2013-9-4 20:10:21 | 显示全部楼层
Caroline66 发表于 2013-9-4 12:16
求楼主看到这里这里这里~~~~

你是电赛的吧 进坑了吧?

呵呵,多试试吧,角度波形要稳定才能调PID的

出0入0汤圆

发表于 2013-9-5 12:35:54 | 显示全部楼层
菜鸟弱弱的问一下。。电机驱动用个啥啊

出0入0汤圆

发表于 2013-9-5 15:26:54 | 显示全部楼层
电池你用的是多大的,输出多大的电压,大概能带动多重的东西,我用的机架和你一样,想问问?

出105入79汤圆

 楼主| 发表于 2013-9-5 20:18:00 | 显示全部楼层
李莹 发表于 2013-9-5 15:26
电池你用的是多大的,输出多大的电压,大概能带动多重的东西,我用的机架和你一样,想问问?
...

整机起飞极限大约170克以上,大于130克不好飞。电池500mah 3.7v

出0入0汤圆

发表于 2013-9-5 20:43:34 | 显示全部楼层
qwe2231695 发表于 2013-9-5 20:18
整机起飞极限大约170克以上,大于130克不好飞。电池500mah 3.7v

我们的电池是800mah的,我们怕飞行的过程中电力不足,就又买了一个1000mah的电池

出0入0汤圆

发表于 2013-9-5 22:19:54 | 显示全部楼层
漂亮,非常不粗

出0入0汤圆

发表于 2013-9-14 16:52:10 | 显示全部楼层
楼主,问一下,mpu6050  还有磁场传感器在四轴上放置的方向有什么要求吗?

出105入79汤圆

 楼主| 发表于 2013-9-14 16:55:35 | 显示全部楼层
zhaojianjiang 发表于 2013-9-14 16:52
楼主,问一下,mpu6050  还有磁场传感器在四轴上放置的方向有什么要求吗?

远离大电流走线以及电机即可

出0入0汤圆

发表于 2013-9-16 18:41:42 | 显示全部楼层
已经很厉害了。

出0入0汤圆

发表于 2013-9-16 22:04:17 | 显示全部楼层
恭喜

出0入0汤圆

发表于 2013-9-16 23:33:57 | 显示全部楼层
好贴,留着过几天参考用嘿嘿

出0入0汤圆

发表于 2013-9-19 11:37:41 | 显示全部楼层
你好啊,我在做大四轴,先做个遥控器

用stc12单片机,apc无线串口,还有油门加减两个按键,上下左右四个按键,调参6个按键,一个开关,还有1602显示油门的大小,这样行吗

9*15的洞洞板

您看看可以么,特别是按键的设置,谢谢你啦,给点建议

出105入79汤圆

 楼主| 发表于 2013-9-19 13:27:03 | 显示全部楼层
julian 发表于 2013-9-19 11:37
你好啊,我在做大四轴,先做个遥控器

用stc12单片机,apc无线串口,还有油门加减两个按键,上下左右四个按 ...

没有问题的,优先保证无线串口正常工作,stc做遥控器搓搓有余,建议直接上遥杆电位器,按键体现不出动态操控性能。

出0入0汤圆

发表于 2013-9-21 12:39:20 | 显示全部楼层
楼主,你的遥控器是洞洞板自己焊的还是?

我的15个按键感觉很难在洞洞板上焊啊

出105入79汤圆

 楼主| 发表于 2013-9-21 12:44:19 | 显示全部楼层
julian 发表于 2013-9-21 12:39
楼主,你的遥控器是洞洞板自己焊的还是?

我的15个按键感觉很难在洞洞板上焊啊 ...

我是热转印的,15按键很多啦。后来发现飞机是不能用按键调的。

出0入0汤圆

发表于 2013-9-21 12:47:56 | 显示全部楼层
qwe2231695 发表于 2013-9-21 12:44
我是热转印的,15按键很多啦。后来发现飞机是不能用按键调的。

不能用按键调?我晕啊,我东西都买好了正在做呢。。

楼主能告诉我为啥不能用按键吗?应该用什么调?

出105入79汤圆

 楼主| 发表于 2013-9-21 14:06:12 | 显示全部楼层
julian 发表于 2013-9-21 12:47
不能用按键调?我晕啊,我东西都买好了正在做呢。。

楼主能告诉我为啥不能用按键吗?应该用什么调? ...

飞机是要摇杆调的啊,买摇杆电位器

出0入0汤圆

发表于 2013-9-29 15:42:35 | 显示全部楼层
请问是不是要得到四轴在水平时的姿态,然后设定这个姿态为目标,再进行pid?

把四轴放到地上,得到的姿态算是水平的了吧?

出105入79汤圆

 楼主| 发表于 2013-9-29 15:47:59 | 显示全部楼层
julian 发表于 2013-9-29 15:42
请问是不是要得到四轴在水平时的姿态,然后设定这个姿态为目标,再进行pid?

把四轴放到地上,得到的姿态 ...

不平的,飞起来会稍微往某个方向加速,这个就需要你微调舵量偏移了。而且你的遥控器要自己记住上次关机时舵量偏移是多少。

出0入0汤圆

发表于 2013-10-1 11:04:36 | 显示全部楼层
楼主,你感觉有必要加5883电子罗盘么,我做的是大四轴

我没打算让他像飞机那样按固定的航线飞行

没有5883,只靠6050就能使四轴飞稳了,加了5883无非就是辨别方向啊,而方向可以靠遥控去随意改变

所以没必要加5883,我的理解对吗楼主?

出105入79汤圆

 楼主| 发表于 2013-10-1 11:54:53 | 显示全部楼层
julian 发表于 2013-10-1 11:04
楼主,你感觉有必要加5883电子罗盘么,我做的是大四轴

我没打算让他像飞机那样按固定的航线飞行

有必要加的,z轴会因为温漂导致经常要调航向角偏移。加了5883能写出智能模式的飞控,也就是没必要管飞机的朝向。

出0入0汤圆

发表于 2013-10-1 12:12:39 | 显示全部楼层
qwe2231695 发表于 2013-10-1 11:54
有必要加的,z轴会因为温漂导致经常要调航向角偏移。加了5883能写出智能模式的飞控,也就是没必要管飞机 ...

那我不做只能的转向,只要能飞稳就行,那就没必要加了吧?

出105入79汤圆

 楼主| 发表于 2013-10-1 14:03:34 | 显示全部楼层
julian 发表于 2013-10-1 12:12
那我不做只能的转向,只要能飞稳就行,那就没必要加了吧?

嗯 可以不加。但就4块钱嘛,没必要省啦。

出0入0汤圆

发表于 2013-10-2 00:06:37 | 显示全部楼层
本帖最后由 liang_work 于 2013-10-2 00:10 编辑

不知楼主有没有留意过匿名四轴的程式,现在我就是用匿名的硬件及软件,学习调PID,但一直调不好,现在最好的是能飞,但在摆杆回中后,飞机没有办法回到水平,但如果用一碳杆穿过pitch轴,拿在手上,在摆杆电位器回中后,可以看到飞机是能回中的,但有些慢,且有一点点过冲,调来调去都没有更好的结果,不知可否给些意见。
1.你的控制周期是多少。多少合适。
2.为什么I没有什么用,I不是用来消除静差的吗?但在我上面如果不用D,飞机跟本不可能回中。
3.我的单单用P时,飞机的控制是发散的,越摆越大,再后失控,加了D后,受控,但不理想。
4.现在我用的是out=P*角度差+I*errsum(i=0)+D*6050陀螺仪输出,跟你上面所说的方式,也用过,还是一样。


另:1.可否公开部份PID的程式我参考一下
   2.再可否大约说明一下你的程式流程,也方便我参考一下,现在都有些怀凝我的程式不单单是PID部份的问题了。

出0入0汤圆

发表于 2013-10-2 08:29:39 | 显示全部楼层
本帖最后由 liang_work 于 2013-10-2 08:47 编辑
qwe2231695 发表于 2013-10-2 00:56
终于有人发现匿名的经典pid的弊端了,那段pid实在太简单太短。努力调好可以稳定的pid后,发现回中是极其 ...


楼主,不太明你所说的串级,可以用实说明一下吗,多谢。现在你的机器,用的是那一类的PID,经典还是串级,从你的视频中,觉得飞得很不错。
另:奇怪的是,为什么匿名用经典的PID,不能用,是由于硬件的原因吗?

出0入0汤圆

发表于 2013-10-2 14:10:59 | 显示全部楼层
mark 一下

出0入0汤圆

发表于 2013-10-2 16:15:08 | 显示全部楼层

出0入0汤圆

发表于 2013-10-2 16:45:59 | 显示全部楼层
多谢,但还是没有办法下手,哈哈!!

出0入0汤圆

发表于 2013-10-2 21:07:08 | 显示全部楼层
本帖最后由 liang_work 于 2013-10-2 23:06 编辑

还有一个问题,为什么我的匿名四轴,固定一碳杆在机上,拿在手上,动摆杆,回中,还是能明显看到回水平,但飞起来后,动摆杆,却回不了水平,还是侧向一边,这种现象如何解释?
另:用上面的方面我对比测试了成品的四轴(JD385),动摆杆,回中,机体回水平,感觉上两者差不多,或匿名要差一些,但飞起来后,JD358的回水平能力很好。为什么会有这么大的差别?现在搞PID,头都大了。本来以为十一几天假可以搞好的。唉!!

出105入79汤圆

 楼主| 发表于 2013-10-2 22:50:08 | 显示全部楼层
liang_work 发表于 2013-10-2 21:07
还有一个问题,为什么我的匿名四轴,固定一碳杆在机上,拿在手上,动摆杆,回中,还是能明显看到回水平,但 ...

只有换算法了,我说的方法,回中的力度是可以单独调的。

出0入0汤圆

发表于 2013-10-4 15:44:59 | 显示全部楼层
楼主,四轴pid用位置式好还是增量式好?

你提到了经典的位置式算法,这个和增量式其实是一样的吧?是不是只是形式不同?

还有,楼主是哪个专业的学生啊,感觉老强了

出0入0汤圆

发表于 2013-10-4 16:04:15 | 显示全部楼层
mark一下

出105入79汤圆

 楼主| 发表于 2013-10-4 19:34:01 | 显示全部楼层
mahengyu 发表于 2013-10-4 15:44
楼主,四轴pid用位置式好还是增量式好?

你提到了经典的位置式算法,这个和增量式其实是一样的吧?是不是 ...

两种是一样的,但是增量的理解起来绕个弯。

嘿嘿,本人就是课余爱好,学的是自动化。 也是常来论坛感受气氛,学东西。

可以说四轴和平衡车带我进入自动控制的世界。

出0入0汤圆

发表于 2013-10-4 19:42:01 | 显示全部楼层
qwe2231695 发表于 2013-10-4 19:34
两种是一样的,但是增量的理解起来绕个弯。

嘿嘿,本人就是课余爱好,学的是自动化。 也是常来论坛感受 ...

我猜对了,你果然也是自动化的嘿嘿。

教科书《计算机控制》等一些文献上说增量式的更好些,可是我看到很多人都在用位置式的。

对了,这两种方式调参方式一样么?

出0入0汤圆

发表于 2013-10-5 11:51:00 | 显示全部楼层
楼主,假如说目标姿态是俯仰和横滚都是0度,但是离地1米,或离地2米,上升或下降,都可能是0度,那pid到底把他调到了哪种状态?

或者说,pid输出怎么和遥控器的油门等信号结合起来?

出105入79汤圆

 楼主| 发表于 2013-10-5 12:56:45 | 显示全部楼层
mahengyu 发表于 2013-10-5 11:51
楼主,假如说目标姿态是俯仰和横滚都是0度,但是离地1米,或离地2米,上升或下降,都可能是0度,那pid到底 ...

离地1米,或离地2米都是零度的话,,上升下降依靠调节油门。油门不受pid控制,是马达pwm的一个基数。

马达pwm=油门+pid控制量

pid控制量=【期望角度-测量角度】进行PID运算

期望角度=遥控量(不遥控为0度)

出0入0汤圆

发表于 2013-10-5 13:17:31 | 显示全部楼层
qwe2231695 发表于 2013-10-5 12:56
离地1米,或离地2米都是零度的话,,上升下降依靠调节油门。油门不受pid控制,是马达pwm的一个基数。

马 ...

谢谢楼主啊,想起来了,四轴是可以看成线性系统,遵循叠加定理,呵呵。

出0入0汤圆

发表于 2013-10-6 14:59:36 | 显示全部楼层
楼主,是不是调好pid就能悬停了?

还有,pid是不是只需要调俯仰和横滚就行啊?

出105入79汤圆

 楼主| 发表于 2013-10-6 18:24:10 | 显示全部楼层
mahengyu 发表于 2013-10-6 14:59
楼主,是不是调好pid就能悬停了?

还有,pid是不是只需要调俯仰和横滚就行啊? ...

调之前,肯定要融合好角度,因为你的角度不准不实时(失真),都会造成飞机不正常,这样你就不知道是pid问题还是角度问题。

还要对好控制极性,也就是那条X模式公式。

然后就可以飞了~ 祝你成功

出0入0汤圆

发表于 2013-10-6 18:28:25 | 显示全部楼层
qwe2231695 发表于 2013-10-6 18:24
调之前,肯定要融合好角度,因为你的角度不准不实时(失真),都会造成飞机不正常,这样你就不知道是pid ...

十字的模式是不是不稳啊,还是不好控制,为啥大家都抛弃它啦?

出0入0汤圆

发表于 2013-10-7 16:31:18 | 显示全部楼层
楼主,pd的参数大概是怎么个范围?是几十还是个位数还是精确到小数几位?

出105入79汤圆

 楼主| 发表于 2013-10-7 17:12:00 | 显示全部楼层
mahengyu 发表于 2013-10-7 16:31
楼主,pd的参数大概是怎么个范围?是几十还是个位数还是精确到小数几位? ...

根据你的pwm数量级,控制时间,马达特性都不同。你先把p从0.1开始加。翻倍翻倍地找。

出0入0汤圆

发表于 2013-10-18 17:49:38 | 显示全部楼层
楼主,如果只加D 应该是啥反应?我有点怀疑自己程序的D正负弄反了

出105入79汤圆

 楼主| 发表于 2013-10-18 23:10:35 | 显示全部楼层
mahengyu 发表于 2013-10-18 17:49
楼主,如果只加D 应该是啥反应?我有点怀疑自己程序的D正负弄反了

这个的确容易弄反,只加d,飞机会很难掰动,带有反抗力。反了的话,你朝哪个方向动,那就更加帮你动~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 14:50

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

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