智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 29934|回复: 91
打印 上一主题 下一主题

飞思小车PID控制的通俗理解[2]

  [复制链接]

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
跳转到指定楼层
1#
发表于 2010-3-15 12:46:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了避免教科书公式化的说明,本文用口语化和通俗的语言描述。虽然不一定恰当,但意思差不多,就是那个事。如果要彻头彻尾地弄PID,建议多调试,写几个仿真程序。


PID
一般有两种:位置式PID和增量式PID。在小车里一般用增量式,为什么呢?位置式PID输出与过去的所有状态有关,计算时要对e(每一次的控制误差)进行累加,这个计算量非常大,而明没有必要。而且小车的PID控制器的输出并不是绝对数值,而是一个△,代表增多少,减多少。换句话说,通过增量PID算法,每次输出是PWM要增加多少或者减小多少,而不是PWM的实际值。

下面均以增量式PID说明。

  这里再说一下P、I、D三个参数的作用。P=Proportion,比例的意思,IIntegral,积分,DDifferential微分。

打个比方,如果现在的输出是1,目标输出是100,那么P的作用是以最快的速度达到100,把P理解为一个系数即可;而I呢?大家学过高数的,0的积分才能是一个常数,I就是使误差为0而起调和作用;D呢?大家都知道微分是求导数,导数代表切线是吧,切线的方向就是最快到至高点的方向。这样理解,最快获得最优解,那么微分就是加快调节过程的作用了。

公式本来需要推导的,我就不来这一套了。直接贴出来:

看看最后的结果:

△Uk=A*e(k)+B*e(k-1)+C*e(k-2)

这里KP是P的值,TD是D的值,1/Ti是I的值,都是常数,哦,还有一个T,T是采样周期,也是已知。A
B
C
是由P I D换算来的,按这个公式,就可以简化计算量了,因为 P I D 是常数,那么A B C可以用一个宏表示。这样看来,只需要求e(k) e(k-1) e(k-2)就可以知道△Uk的值了,按照△Uk来调节PWM的大小就OK了。PID三个参数的确定有很多方法,不在本文讨论范围内。采样周期也是有据可依的,不能太大,也不能太小

0

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
威望
228
贡献
31
兑换币
4
注册时间
2010-2-24
在线时间
7 小时
2#
发表于 2010-3-16 16:33:09 | 只看该作者
楼主真的很厉害啊,讲得很通俗
回复 支持 反对

使用道具 举报

6

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
397
QQ
威望
305
贡献
40
兑换币
0
注册时间
2010-3-13
在线时间
26 小时
3#
发表于 2010-3-16 17:26:08 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
277
威望
244
贡献
25
兑换币
0
注册时间
2010-3-6
在线时间
4 小时
4#
发表于 2010-3-17 08:44:39 | 只看该作者
很通俗易懂,谢谢,学习了!
回复 支持 反对

使用道具 举报

15

主题

203

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4489

论坛元老奖章

QQ
威望
484
贡献
3979
兑换币
0
注册时间
2010-2-25
在线时间
13 小时
5#
发表于 2010-4-5 16:38:52 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
威望
203
贡献
35
兑换币
0
注册时间
2008-5-31
在线时间
4 小时
6#
发表于 2010-4-5 18:10:33 | 只看该作者
好 终于云开雾散了
回复 支持 反对

使用道具 举报

3

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
327
QQ
威望
281
贡献
32
兑换币
0
注册时间
2010-1-14
在线时间
7 小时
7#
发表于 2010-4-18 01:44:30 | 只看该作者
大概明白了,谢谢!
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
311
威望
250
贡献
53
兑换币
20
注册时间
2010-3-13
在线时间
4 小时
8#
发表于 2010-4-18 16:55:53 | 只看该作者
哥们,你太帅了~!我之前对PID没概念,现在好多了,谢了哦~
回复 支持 反对

使用道具 举报

2

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
威望
346
贡献
50
兑换币
20
注册时间
2010-4-5
在线时间
8 小时
9#
发表于 2010-4-20 14:43:33 | 只看该作者
看完顶!
回复 支持 反对

使用道具 举报

1

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
463
威望
363
贡献
62
兑换币
12
注册时间
2010-4-13
在线时间
19 小时
10#
发表于 2010-4-20 20:36:25 | 只看该作者
没看懂
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 02:02 , Processed in 0.156809 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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