亿加合和智能车制作

标题: 速度闭环控制的问题 [打印本页]

作者: 逝去的风    时间: 2013-6-16 14:15
标题: 速度闭环控制的问题
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。这个是正常的吗??但是放地上测试时,还是往一个方向跑喔,不能实现来回转喔。

作者: ♂ˇ邂逅√♀    时间: 2013-6-16 14:47
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。


提起来会静止了说明PI完全没作用!~~~特别是I,积分,有积分存在,只要一小会,积分量就会变得很大很大,速度是失控了的,怎么可能静止了的呢~~~
作者: guanglidu    时间: 2013-6-16 16:16
没调好啊!加油
作者: 逝去的风    时间: 2013-6-16 16:37
♂ˇ邂逅√♀ 发表于 2013-6-16 14:47
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。

的确,速度积分累加会越来越大。但是你这样的话不就一直往一个方向跑了??而且电机输出是fLeft=AngleOut_Value-SpeedOutPut;倾角值减去速度积分的累加来实现控速的把?

作者: 逝去的风    时间: 2013-6-16 16:40
guanglidu 发表于 2013-6-16 16:16
没调好啊!加油

嗯嗯,因为学校人少问题,就只有我一个人做,也是第一次做。。还很多的不懂。。

作者: ♂ˇ邂逅√♀    时间: 2013-6-16 16:44
逝去的风 发表于 2013-6-16 16:37
的确,速度积分累加会越来越大。但是你这样的话不就一直往一个方向跑了??而且电机输出是fLeft=AngleOut ...

是的,所以会导致一个现象:想要往前跑,你一手挡住,它会越来越倾斜,感觉好像零点偏了那样~~~~当小车往前冲,设置冲过度了,它会像是反方向倾斜那样~~这就是积分的作用------即使你零点偏了,往前冲,产生的积分量还是把它抵消回来~~
你把小车提起来,相当于小车“往前冲”,这不是越冲月大么?!~~~~怎么会冲着冲着静止了呢?!~~程序还没写好吧?....PI作用没体现

作者: 逝去的风    时间: 2013-6-16 17:21
♂ˇ邂逅√♀ 发表于 2013-6-16 16:44
是的,所以会导致一个现象:想要往前跑,你一手挡住,它会越来越倾斜,感觉好像零点偏了那样~~~~当小车往 ...

例如我把车提起来,向前摆了个倾角,那倾角值变大了,然后为了抵消倾角变大,所以速度积分也累加上去,直到和倾角度值一样相互抵消了,这样电机输出不就为0了吗。所以车轮也就静止下来啦。

作者: ♂ˇ邂逅√♀    时间: 2013-6-16 18:42
逝去的风 发表于 2013-6-16 17:21
例如我把车提起来,向前摆了个倾角,那倾角值变大了,然后为了抵消倾角变大,所以速度积分也累加上去,直 ...

按照你这样说,那为啥你的车还会往一个方向跑呢?不是抵消了么?不是静止了么?呵呵~~~
速度积分也累加上去,如果它不降为0,车是不可能回到速度0的状态。正如你说的,速度积分都积上去了,怎么可能还会速度0呢?!~~
或者这样给你说吧,积分的那个变量,在匀速直线跑或者静止的时候,是在0的附近徘徊的。只有加速的时候它才会上去,上去之后,加速完毕之后,变回匀速的时候它的值还是在0附近那的~~~
作者: 逝去的风    时间: 2013-6-17 00:32
♂ˇ邂逅√♀ 发表于 2013-6-16 18:42
按照你这样说,那为啥你的车还会往一个方向跑呢?不是抵消了么?不是静止了么?呵呵~~~
速 ...

不好意思哈,我感觉还是很混乱。在电机输出总PWM=倾角PWM-速度PWM,例如我没加速度控制时,倾角基本是会维持在零度附近。但是加了速度控制之后,倾角PWM是会改变了喔。就例如在同一角度,在原来没加速度控制时,倾角大概是0左右徘徊;但在加了速度控制之后,随着速度积分的累加速度PWM加到了500,倾角PWM也可以在同一角度会升到了500喔。这就已经相当于没有了零点。所以就导致了摆到哪个方向,车轮就加速一下就减速到0了。

作者: 君啸凤舞    时间: 2013-6-17 00:44
同问,我的速度控制都是先加速,再减速,加速,减速循环,不能匀速,这是什么问题
作者: 雨晴    时间: 2014-1-14 00:35
君啸凤舞 发表于 2013-6-17 00:44
同问,我的速度控制都是先加速,再减速,加速,减速循环,不能匀速,这是什么问题

元老。。。你们肿么解决的啊?是程序哪里的问题啊?
作者: chenpengfei    时间: 2016-1-24 11:10
♂ˇ邂逅√♀ 发表于 2013-6-16 14:47
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。

但是我觉得车子超过设定速度(狂转)后,他的积分不是会降下来了吗?就是说没达到设定速度前,积分(正数)让轮子加速,但是一旦超过设定速度,积分被负数(超过设定值)的那一部分抵消,导致积分慢慢变为零,甚至变为负数,所以他不会狂转,或者会减速
但是实际之中,我程序给定小车速度为0,然后向前拨动一下轮子,轮子向前狂转;向后拨动一下轮子,轮子又变为向后狂转。什么原因呢????????????????????





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2