智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5722|回复: 14
打印 上一主题 下一主题

[咨询] PD控制S-D5舵机

[复制链接]

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
跳转到指定楼层
1#
发表于 2013-3-14 19:28:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
哪位大神好心人能给指导下PD控制舵机啊!从哪入手,,,能分享想点容易理解的资料最好了!11111111谢谢各位帅哥美女

1

主题

17

帖子

0

精华

注册会员

Rank: 2

积分
193
威望
94
贡献
49
兑换币
64
注册时间
2017-5-20
在线时间
25 小时
毕业学校
南昌航空大学
15#
发表于 2017-7-11 19:36:28 | 只看该作者
恋May 发表于 2013-3-15 08:44
不要把PID想的太神秘。
      P就是比例,程序里面 和小车 打个比方。你小车判断弯道,如果是小偏 只需 ...

PID算法目标值赋值问题,。。寻找信标灯。。舵机用pd算法控制时,在进行pid运算前,赋给目标值什么值,我们要事先知道,我用颜色传感器读出的数据(处理成角度)使用pd算法控制小车的舵机,但是给目标值赋值时,该赋多少?赋给目标值什么值,我们要事先知道。(舵机每次的目标值是多少度,我们并不知道),?能谈谈你对pd算法控制舵机的思想吗?
typedef struct PID
{
    int SetPoint;         //设定目标Desired Value  /*********就是这项******/
    double Proportion;  //比例常数Proportional Const
    double Integral;    //积分常数Integral Const
    double Derivative;  //微分常数Derivative Const
    int LastError;      //Error[-1]
    int PrevError;      //Error[-2]
} PID;

回复 支持 反对

使用道具 举报

11

主题

74

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1221
威望
620
贡献
329
兑换币
388
注册时间
2013-3-15
在线时间
136 小时
14#
发表于 2013-6-30 08:26:22 | 只看该作者
舵机的PD控制一直搞不太明白,主要是不知道偏差怎么选,望楼主进行详细指导。。
回复 支持 反对

使用道具 举报

7

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2145
威望
900
贡献
497
兑换币
607
注册时间
2012-11-18
在线时间
374 小时
13#
发表于 2013-4-27 15:35:13 | 只看该作者
7楼的分析很形象生动
回复 支持 反对

使用道具 举报

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
12#
 楼主| 发表于 2013-3-27 21:37:11 | 只看该作者
恋May 发表于 2013-3-19 10:00
呵呵,P,I,D是先有经验(实际情况中P,I,D的意义,主要是P的意义) 就知道 P大概是多少了。然后 再根据 实 ...

嗯谢啦
回复 支持 反对

使用道具 举报

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16871

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9731
贡献
4558
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
11#
发表于 2013-3-19 10:00:40 | 只看该作者
qiangkai311 发表于 2013-3-16 22:14
嗯谢谢你讲了这么多,我会好好琢磨琢磨的,基础打牢。。。还请多多指教
那这些参数,比如p ,i, d的值是 ...

呵呵,P,I,D是先有经验(实际情况中P,I,D的意义,主要是P的意义) 就知道 P大概是多少了。然后 再根据 实际定 也 八九不离十了。
先了解透PID这三个系数在小车行驶过程中的物理意义,这个就是所谓的经验了。
回复 支持 反对

使用道具 举报

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
10#
 楼主| 发表于 2013-3-16 22:17:21 | 只看该作者
眼角宣泄悲伤 发表于 2013-3-14 21:46
首先你得搞明白P,I,D各有什么作用
P:  比例,能够减小上升时间,但不能消除稳态误差
I:积分,能够消除 ...

有点印象了。。。呵呵呵。。。
实际还是理解的不讨透彻。。
回复 支持 反对

使用道具 举报

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
9#
 楼主| 发表于 2013-3-16 22:14:48 | 只看该作者
恋May 发表于 2013-3-15 08:44
不要把PID想的太神秘。
      P就是比例,程序里面 和小车 打个比方。你小车判断弯道,如果是小偏 只需要 ...

嗯谢谢你讲了这么多,我会好好琢磨琢磨的,基础打牢。。。还请多多指教
那这些参数,比如p ,i, d的值是测出来的还是有经验值可以参考的?
回复 支持 反对

使用道具 举报

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
8#
 楼主| 发表于 2013-3-16 22:08:58 | 只看该作者
眼角宣泄悲伤 发表于 2013-3-14 21:46
首先你得搞明白P,I,D各有什么作用
P:  比例,能够减小上升时间,但不能消除稳态误差
I:积分,能够消除 ...

还请帅哥说明一下KP怎么来确定?用代码实现是怎么一个过程?不胜感激!
角度和pwm的转换是计算出来的还是跳出来的。。。
回复 支持 反对

使用道具 举报

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16871

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9731
贡献
4558
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
7#
发表于 2013-3-15 08:44:02 | 只看该作者
qiangkai311 发表于 2013-3-14 20:18
一点都不会啊!问题是没有策略,怎么实现?还请指教?

不要把PID想的太神秘。
      P就是比例,程序里面 和小车 打个比方。你小车判断弯道,如果是小偏 只需要向右打角30度,假设程序里占空比需要增加a。如果是偏大一点,需要向右打角60度,那么理想假设需要占空比增加2a。P就是a的系数,比例系数。P在30度的时候=1,在60度的时候=2。
      如果只用这个P是可以让小车晃晃荡荡的跑起来,但是小车转向很别扭。理想中的控制算法,只要一个P就够了,但是现实中有很多因素,导致仅仅一个P不能准确的控制。
      就好比你用电水壶烧水,仅仅是想烧到70度,里面一个通电的金属发热,理想情况下,你测量水温70度了,就立马断电,但是水温会稳定在70吗,不会的。因为你即使断电了,那个通电的导体还是有很高的温度的,虽然没通电温度在下降,但是至少会让水温升一点点。和小车的控制是一样的。理想只是P就可以了,但是实际上还是有些因素导致不可能准确的转向你理想的角度。那么如何准确的控制呢,假设 水温在65度的时候 断电,然后导体降温,水温温度慢慢靠近70度。小车转角也是,假设转角有惯性,你一下子转60度会转超过60度角一点点,那么你就转55度,然后惯性在带一点点恰好60度左右。这个5度的范围就是偏差的增量(这次偏差-上次偏差) ,通过I、D 一点点的消除偏差,无限的接近最理想的状态。

温度这个例子,是看过一份资料里面说的。


我说的是最基本的简单的 PID算法很灵活,可以延伸,变形。等你这些基本的都弄懂了再考虑复杂的。什么模糊PID,分段PID。


回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 17:21 , Processed in 0.098212 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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