智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

速度平滑分配是如何实现的?

  [复制链接]

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
跳转到指定楼层
1#
发表于 2015-4-9 21:00:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void SpeedControlOutput(void) {
float fValue;
fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld;
}

这个是官方程序  我不是很理解如何实现? 他是100ms的周期,要平滑分配在25个直立控制周期内,如何实现的?
··求解

回复

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

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

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
2#
发表于 2015-4-9 21:09:19 | 只看该作者
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld; 其中的g_nSpeedControlPeriod 是计数。SPEED_CONTROL_PERIOD 是总的控制数
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
3#
 楼主| 发表于 2015-4-9 22:17:43 | 只看该作者
zhou1994 发表于 2015-4-9 21:09
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /SPEED_CONTROL_PERIOD +g_fSpeedControlOutO ...

额 为什么它除的是100?  不是分成20份么,应该除以20啊
回复 支持 反对

使用道具 举报

29

主题

758

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5114
威望
809
贡献
3231
兑换币
1518
注册时间
2012-9-15
在线时间
537 小时
4#
发表于 2015-4-10 00:28:09 | 只看该作者
zhou1994 发表于 2015-4-9 21:09
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /SPEED_CONTROL_PERIOD +g_fSpeedControlOutO ...

大神
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

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

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
5#
发表于 2015-4-10 08:48:05 | 只看该作者

RE: 速度平滑分配是如何实现的?

43380249 发表于 2015-4-10 00:28
大神

大神你莫乱喊
回复 支持 反对

使用道具 举报

3

主题

313

帖子

0

精华

高级会员

Rank: 4

积分
980
QQ
威望
477
贡献
275
兑换币
327
注册时间
2014-12-4
在线时间
114 小时
毕业学校
德州学院
6#
发表于 2015-4-10 10:50:10 | 只看该作者
求官方程序一份,775964420@qq.com
谢过了~
回复 支持 反对

使用道具 举报

19

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2948
威望
1463
贡献
847
兑换币
954
注册时间
2013-12-16
在线时间
319 小时
7#
发表于 2015-4-10 20:05:00 | 只看该作者
因为它在中断里好好看看就能懂的结合中断里的程序
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
8#
 楼主| 发表于 2015-4-10 20:41:26 | 只看该作者
纷纷扰扰 发表于 2015-4-10 20:05
因为它在中断里好好看看就能懂的结合中断里的程序

额 为什么它除的是100?  不是分成20份么,应该除以20啊
回复 支持 反对

使用道具 举报

19

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2948
威望
1463
贡献
847
兑换币
954
注册时间
2013-12-16
在线时间
319 小时
9#
发表于 2015-4-10 23:15:35 | 只看该作者
速度控制周期100ms一次
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
10#
 楼主| 发表于 2015-4-11 10:00:37 | 只看该作者
纷纷扰扰 发表于 2015-4-10 23:15
速度控制周期100ms一次

fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld;
请教一下,  这里的 SPEED_CONTROL_PERIOD宏定义为 100 ,我不是很理解,虽然它的周期为100ms测速一次,但是角度是5ms。 它这么写,是不是因为它的中断是1ms的定时器呢?    如果我把这个函数写在5ms的角度调整中断里,是不是除的就是20?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 00:25 , Processed in 0.054111 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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