智能车制作

标题: 舵机pd控制的一个想法,请教一下是否合理? [打印本页]

作者: 极冰之焰    时间: 2014-6-3 15:59
标题: 舵机pd控制的一个想法,请教一下是否合理?
pwm=pwm_mid+kp*(ad_left-ad_right)/(ad_left+ad_right)+kd*((ad_left-ad_right)/(ad_left+ad_right)-last_err);
pwm_mid:舵机中间值

kp=(180-ad_std[4])+speed/10 (ad_std[4]:小车中间电感信号值。speed:编码器所测速度。即小车离道路中央越近kp越小,速度越快kp越大,以保证转向)
kd=speed/3                            (同时速度越快,kd越大,以减少抖动)
ad_left:左边电感值
ad_right:右边电感值
last_err=(ad_left-ad_right)/(ad_left+ad_right)

我们的车只跑到2m而已,暂时没碰到什么问题,请问一下这么处理是否合理?

补充内容 (2014-6-3 16:27):
error里除以了(ad_left+ad_right)是为了信号处于中间较大值时间处理幅度减小,接近丢失信号时处理幅度增大。
作者: -Lamborghini    时间: 2014-6-3 16:12
这个函数关系是不是太简单了啊、、
作者: 密┽雨恬颜    时间: 2014-6-3 16:13
2米稳定吗?打角圆滑吗?

作者: 极冰之焰    时间: 2014-6-3 16:16
-Lamborghini 发表于 2014-6-3 16:12
这个函数关系是不是太简单了啊、、

复杂的函数xs128计算不了吧?看到很多组都还是用固定的p值和d值..

作者: 极冰之焰    时间: 2014-6-3 16:17
密┽雨恬颜 发表于 2014-6-3 16:13
2米稳定吗?打角圆滑吗?

99%稳定吧,打脚圆滑

作者: 极冰之焰    时间: 2014-6-3 16:23
-Lamborghini 发表于 2014-6-3 16:12
这个函数关系是不是太简单了啊、、

刚查了一下资料北科用的也是类似的二次函数算法。

作者: -Lamborghini    时间: 2014-6-3 16:42
极冰之焰 发表于 2014-6-3 16:23
刚查了一下资料北科用的也是类似的二次函数算法。

想法是可以,但是这个到底是一次函数,还是二次函数,还是其他的函数关系得不断测试

作者: 极冰之焰    时间: 2014-6-3 17:40
-Lamborghini 发表于 2014-6-3 16:42
想法是可以,但是这个到底是一次函数,还是二次函数,还是其他的函数关系得不断测试

这些都是经过计算和实践得出的参数了。

作者: lh_include    时间: 2014-6-3 18:12
用两个电感的时候也试过左右做差除以左右和,但是偏差出来好小,我乘了个系数才能打角!而且还摆动




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2