智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 16969|回复: 63
打印 上一主题 下一主题

(求助啊)一个人搞真的很难,增量式PID不懂

  [复制链接]

2

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
142
威望
85
贡献
35
兑换币
41
注册时间
2013-9-16
在线时间
11 小时
毕业学校
跳转到指定楼层
1#
发表于 2014-6-12 19:45:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么我调增量式PID的P,根本达不到我的期望值,只有增加I项的时候才有值呢

P项不是乘以 (本次偏差-上次偏差)吗  I项不是乘以本次偏差

为什么啊?真心求教,希望各位能够帮一下忙!!!!!!

一个人做真的很累,我都不知道我还能坚持多久

本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

68

帖子

0

精华

高级会员

Rank: 4

积分
737
威望
286
贡献
171
兑换币
178
注册时间
2013-11-22
在线时间
140 小时
推荐
发表于 2014-6-19 02:40:12 | 只看该作者
是在调试恒定的速度嘛? 你的这个式子没写错 但是调试速度一般就用增量式pi  先把 kp 给0  然后 Ki 值给大点  让电机速度在一个范围内稳定的抖动 可以明显的区分出来。到了这样之后在给Kp 由小增到大 慢慢的 电机就会稳定下来 在一个很小的范围内抖动  可以这样调试  哈哈 这是今天刚刚学习的  我的这样基本可以调到恒速   
回复 支持 3 反对 0

使用道具 举报

23

主题

498

帖子

0

精华

常驻嘉宾

我可是猴子请来的!!哈哈,怕了吧~

Rank: 8Rank: 8

积分
5859

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
3114
贡献
1601
兑换币
1792
注册时间
2013-4-14
在线时间
572 小时
推荐
发表于 2014-6-12 21:01:32 | 只看该作者
纯比例调节一般是达不到期望值的,因为即使没达到期望值,系统也能够稳定(这个稳定不是你所期望的稳定,至于为什么稳定,可以把稳定时的数据代入式子一算便知)。这时候期望值与实际值的偏差叫做稳态误差,要引入积分项KI才能有效的消除稳态误差,使系统重新达到你所期望的系统稳定,当你期望值变化的时候,可能又会使实际值在期望值附近有小的波动(这个可以叫动态误差),这时候引入微分项KD可以有效的减弱动态误差的影响。
我们的舵机就是比例控制,所以车子能够稳定运行,如果舵机也引入积分项的情况下,假如车子放直道不动,偏移中心一点点,由于积分作用,小车渴望消除误差,那么舵机打角将会越来越大,越来越大。同样跑起来了,由于舵机控制的滞后,积分项也会带来麻烦,所以一般舵机只用PD控制:victory:

评分

1

查看全部评分

回复 支持 3 反对 0

使用道具 举报

10

主题

273

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5751
威望
4881
贡献
350
兑换币
802
注册时间
2013-11-17
在线时间
260 小时
推荐
发表于 2014-6-12 23:49:20 | 只看该作者
我的也是这样,要加I值
我想应该是这样的原因,第一次 轮子没动时 Err0-Err1 有大偏差,当轮子转动时偏差逐渐减小(I,D都为0) ,算出的PWM增量值也逐渐减小,最后稳定在某个转速后, Err1 == Err0 不在有偏差(或偏差非常微小),输出增量值总是为0(或很小很小,不足以影响转速);则实际输出PWM不在改变(但不一定停在期望值附近)。
所以应该加I值消除静态误差,不知道真正原因是不是这样的。
跟楼主一样,我也是一个人做啊,累!
回复 支持 2 反对 0

使用道具 举报

2

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
142
威望
85
贡献
35
兑换币
41
注册时间
2013-9-16
在线时间
11 小时
毕业学校
2#
 楼主| 发表于 2014-6-12 19:55:16 | 只看该作者
跌跌碰碰走到现在,我真的不想放弃,队友跑去考研了
回复 支持 反对

使用道具 举报

11

主题

295

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4601
威望
2005
贡献
1074
兑换币
1063
注册时间
2012-6-13
在线时间
761 小时
3#
发表于 2014-6-12 19:58:09 | 只看该作者
加油、、、我也是当时啥都不懂一步一步过来的。就不给你源代码了,慢慢调试、、、  增量式PID每次改变的知识增量,所以你每次系统更新要进行在上一次的基础上变化,不知道你有木有这一句话、、、最好每个分开写KP  KI   KD,看起来比较清楚、、
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
142
威望
85
贡献
35
兑换币
41
注册时间
2013-9-16
在线时间
11 小时
毕业学校
4#
 楼主| 发表于 2014-6-12 20:01:26 | 只看该作者
lixin101357 发表于 2014-6-12 19:58
加油、、、我也是当时啥都不懂一步一步过来的。就不给你源代码了,慢慢调试、、、  增量式PID每次改变的知识 ...

问别人要代码,我还是问不出口的,我只是请教下,我这个式子没错吧,为什么我调P不会达到我的期望值,只有调I的时候才有呢,是我存储的偏差有问题?
回复 支持 反对

使用道具 举报

0

主题

346

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8979

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
3260
贡献
2073
兑换币
1933
注册时间
2013-9-25
在线时间
1823 小时
5#
发表于 2014-6-12 20:06:42 | 只看该作者
的确有问题,P*error+I*sum_error+D*Derror   
  error是偏差  sum_error是偏差的积分  Derror是偏差的微分   
建议找一份文档研究一下
回复 支持 反对

使用道具 举报

11

主题

295

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4601
威望
2005
贡献
1074
兑换币
1063
注册时间
2012-6-13
在线时间
761 小时
6#
发表于 2014-6-12 20:15:45 | 只看该作者
如果只有P的话肯定会存在超调量、、加了I的话会消除净差、、、你加了D的话会提高你系统的响应速度,但是会影响你电机的稳定性、、、参数慢慢调整达到合理的电机性能指标。
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
142
威望
85
贡献
35
兑换币
41
注册时间
2013-9-16
在线时间
11 小时
毕业学校
7#
 楼主| 发表于 2014-6-12 20:15:56 | 只看该作者
Bandari 发表于 2014-6-12 20:06
的确有问题,P*error+I*sum_error+D*Derror   
  error是偏差  sum_error是偏差的积分  Derror是偏差的微 ...

公式我看过很多技术报告了,应该是没有错了,我现在只能想到的是存储的偏差有问题,有时候累了看看窗外想,其实一个人也蛮好的,一人一车,不求像大神们那样,但求无悔摆了
回复 支持 反对

使用道具 举报

0

主题

18

帖子

0

精华

高级会员

Rank: 4

积分
524
威望
235
贡献
151
兑换币
145
注册时间
2013-7-6
在线时间
69 小时
8#
发表于 2014-6-12 20:16:51 | 只看该作者
同样是一个人干活的帮顶了。。。。
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
142
威望
85
贡献
35
兑换币
41
注册时间
2013-9-16
在线时间
11 小时
毕业学校
9#
 楼主| 发表于 2014-6-12 20:21:15 | 只看该作者
slichee 发表于 2014-6-12 20:16
同样是一个人干活的帮顶了。。。。

握手
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-25 14:36 , Processed in 0.050258 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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