智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5204|回复: 23
打印 上一主题 下一主题

【直立车】直道一直加速怎么办?

[复制链接]

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
跳转到指定楼层
1#
发表于 2017-5-4 20:37:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是长直道就一直加速,速度已经超出了预期值了,。而且一开始加速很慢。


直立环加硬的 话可以减轻这种现象,但是就没速度了。,




求助啊。


补充内容 (2017-5-5 17:36):
速度程序放在5楼 了, 速度控制周期50ms,设定脉冲250(速度在1.5--2m 左右),PWM精度10000,参数g_fP_Speed = 300;
g_fI_Speed = 30;

补充内容 (2017-5-9 18:23):
换了个D车,这个是弯道加速,直道正常。。。快疯了
回复

使用道具 举报

6

主题

670

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5002

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

QQ
威望
2192
贡献
1684
兑换币
120
注册时间
2015-11-19
在线时间
563 小时
毕业学校
新东方烹饪学院
2#
发表于 2017-5-5 09:20:08 | 只看该作者
你速度控制怎么做的?
回复 支持 反对

使用道具 举报

13

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
QQ
威望
685
贡献
258
兑换币
241
注册时间
2014-5-19
在线时间
61 小时
毕业学校
东油
3#
发表于 2017-5-5 09:26:10 | 只看该作者
你速度调控 分级处理  PID 你是什么方式的  增量的吗?
回复 支持 反对

使用道具 举报

56

主题

1684

帖子

2

精华

版主

有所思,有所为。

Rank: 9Rank: 9Rank: 9

积分
9497

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章资源大师奖章论坛骨干奖章

威望
6762
贡献
83
兑换币
3601
注册时间
2014-10-31
在线时间
1326 小时
4#
发表于 2017-5-5 15:15:34 | 只看该作者
你是速度环的原因,   P太小。  恢复力太小了。 I貌似也有问题
回复 支持 反对

使用道具 举报

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
5#
 楼主| 发表于 2017-5-5 17:32:10 | 只看该作者
  1. int SpeedControl(void)
  2. {   
  3.     int P, I;

  4.     g_iCar_Speed = (int16)((g_iLeft_Speed + g_iRight_Speed) / 2);

  5.     g_iSpeed_Err[1] = g_iSpeed_Err[0];
  6.     g_iSpeed_Err[0] = g_iCar_Speed - g_iSpeed_Set;
  7.    
  8.     g_iSpeed_Err[0] = (int16)(g_iSpeed_Err[0] * 0.8 + g_iSpeed_Err[1] * 0.2);

  9.     P = (int)(g_fP_Speed * (g_iSpeed_Err[0]));
  10.     I = (int)(g_fI_Speed * (g_iSpeed_Err[0]));

  11.     nI += I;
  12.     if(nI > 3500)
  13.         nI = 3500;
  14.     if(nI < -3500)
  15.         nI = -3500;
  16.    
  17.     g_iSpeed_PWM = P + nI;
  18.     if(g_iSpeed_PWM > 4000)
  19.         g_iSpeed_PWM = 4000;
  20.     if(g_iSpeed_PWM < -4000)
  21.         g_iSpeed_PWM = -4000;
  22.     return g_iSpeed_PWM;
  23. }
复制代码
回复 支持 反对

使用道具 举报

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
6#
 楼主| 发表于 2017-5-5 17:45:40 | 只看该作者
じ~凝眸处 发表于 2017-5-5 15:15
你是速度环的原因,   P太小。  恢复力太小了。 I貌似也有问题

我试过P加大,效果是速度反应比较快,I 加大,加速比较快。。但还是不能在长直道减下速来(速度已经超出了预期值了);我感觉就是加速时角度过低,没法在提供向前的加速度,所以车子一直低头向前冲。。

我试过积分分离和积分清零(在速度偏差比较大时,不引入积分作用。单纯靠P),还是不行,碰到路肩,就卡了。

求助啊
回复 支持 反对

使用道具 举报

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
7#
 楼主| 发表于 2017-5-5 17:47:02 | 只看该作者
跳跳糖 发表于 2017-5-5 09:26
你速度调控 分级处理  PID 你是什么方式的  增量的吗?

什么是分级处理,我直接PID,算是位置式把,我把程序放5楼了
回复 支持 反对

使用道具 举报

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
8#
 楼主| 发表于 2017-5-5 17:51:07 | 只看该作者
安小赞思密达 发表于 2017-5-5 09:20
你速度控制怎么做的?

直接PI,直立周期5ms,转向20ms(不一定,图像处理完),速度50ms。
直立PWM上限7500,速度4000;转向3500;总PWM上限9500;
回复 支持 反对

使用道具 举报

6

主题

670

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5002

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

QQ
威望
2192
贡献
1684
兑换币
120
注册时间
2015-11-19
在线时间
563 小时
毕业学校
新东方烹饪学院
9#
发表于 2017-5-5 22:24:14 | 只看该作者
光电1233 发表于 2017-5-5 17:51
直接PI,直立周期5ms,转向20ms(不一定,图像处理完),速度50ms。
直立PWM上限7500,速度4000;转向35 ...

速度控制限幅太小了  
回复 支持 反对

使用道具 举报

24

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2252
威望
1149
贡献
673
兑换币
719
注册时间
2015-11-29
在线时间
215 小时
毕业学校
理工大学
10#
 楼主| 发表于 2017-5-5 23:17:57 | 只看该作者

提高到多少合适,直立环的2/3?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 22:49 , Processed in 0.071770 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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