智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7647|回复: 11
打印 上一主题 下一主题

速度闭环控制的问题

[复制链接]

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
跳转到指定楼层
1#
发表于 2013-6-16 14:15:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。这个是正常的吗??但是放地上测试时,还是往一个方向跑喔,不能实现来回转喔。

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
威望
171
贡献
99
兑换币
112
注册时间
2015-11-21
在线时间
30 小时
毕业学校
韶关学院
12#
发表于 2016-1-24 11:10:48 | 只看该作者
♂ˇ邂逅√♀ 发表于 2013-6-16 14:47
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。

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

使用道具 举报

20

主题

95

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2008
威望
954
贡献
530
兑换币
485
注册时间
2012-11-13
在线时间
262 小时
11#
发表于 2014-1-14 00:35:35 | 只看该作者
君啸凤舞 发表于 2013-6-17 00:44
同问,我的速度控制都是先加速,再减速,加速,减速循环,不能匀速,这是什么问题

元老。。。你们肿么解决的啊?是程序哪里的问题啊?
回复 支持 反对

使用道具 举报

1

主题

190

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6456

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

QQ
威望
3092
贡献
1918
兑换币
1783
注册时间
2012-7-5
在线时间
723 小时
10#
发表于 2013-6-17 00:44:51 | 只看该作者
同问,我的速度控制都是先加速,再减速,加速,减速循环,不能匀速,这是什么问题
回复 支持 反对

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
9#
 楼主| 发表于 2013-6-17 00:32:52 | 只看该作者
♂ˇ邂逅√♀ 发表于 2013-6-16 18:42
按照你这样说,那为啥你的车还会往一个方向跑呢?不是抵消了么?不是静止了么?呵呵~~~
速 ...

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

使用道具 举报

15

主题

425

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3848
威望
1553
贡献
879
兑换币
583
注册时间
2012-3-8
在线时间
708 小时
8#
发表于 2013-6-16 18:42:47 | 只看该作者
逝去的风 发表于 2013-6-16 17:21
例如我把车提起来,向前摆了个倾角,那倾角值变大了,然后为了抵消倾角变大,所以速度积分也累加上去,直 ...

按照你这样说,那为啥你的车还会往一个方向跑呢?不是抵消了么?不是静止了么?呵呵~~~
速度积分也累加上去,如果它不降为0,车是不可能回到速度0的状态。正如你说的,速度积分都积上去了,怎么可能还会速度0呢?!~~
或者这样给你说吧,积分的那个变量,在匀速直线跑或者静止的时候,是在0的附近徘徊的。只有加速的时候它才会上去,上去之后,加速完毕之后,变回匀速的时候它的值还是在0附近那的~~~
回复 支持 反对

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
7#
 楼主| 发表于 2013-6-16 17:21:56 | 只看该作者
♂ˇ邂逅√♀ 发表于 2013-6-16 16:44
是的,所以会导致一个现象:想要往前跑,你一手挡住,它会越来越倾斜,感觉好像零点偏了那样~~~~当小车往 ...

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

使用道具 举报

15

主题

425

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3848
威望
1553
贡献
879
兑换币
583
注册时间
2012-3-8
在线时间
708 小时
6#
发表于 2013-6-16 16:44:16 | 只看该作者
逝去的风 发表于 2013-6-16 16:37
的确,速度积分累加会越来越大。但是你这样的话不就一直往一个方向跑了??而且电机输出是fLeft=AngleOut ...

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

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
5#
 楼主| 发表于 2013-6-16 16:40:09 | 只看该作者
guanglidu 发表于 2013-6-16 16:16
没调好啊!加油

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

使用道具 举报

9

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
558
贡献
328
兑换币
314
注册时间
2012-12-28
在线时间
211 小时
毕业学校
广东第二师范学院
4#
 楼主| 发表于 2013-6-16 16:37:59 | 只看该作者
♂ˇ邂逅√♀ 发表于 2013-6-16 14:47
加入了速度闭环后,车子提起来的话,无论角度怎么摆,轮子过一会都会静止不动,应该是被PI抵消了。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 19:17 , Processed in 0.072598 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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