智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8862|回复: 26
打印 上一主题 下一主题

第七届摄像头智能车舵机怎么控制比较好?

  [复制链接]

7

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
553
威望
368
贡献
109
兑换币
8
注册时间
2011-12-31
在线时间
38 小时
跳转到指定楼层
1#
发表于 2012-3-28 19:55:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第七届摄像头智能车,怎么控制舵机比较合适啊?求指导啊!!!

13

主题

225

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12487

优秀会员奖章活跃会员奖章

威望
10220
贡献
2111
兑换币
24
注册时间
2012-3-6
在线时间
78 小时
2#
发表于 2012-3-31 17:53:00 | 只看该作者
pid
回复 支持 反对

使用道具 举报

0

主题

104

帖子

0

精华

高级会员

Rank: 4

积分
987
威望
574
贡献
253
兑换币
2
注册时间
2011-8-29
在线时间
80 小时
3#
发表于 2012-3-31 20:21:01 | 只看该作者
dongpinbo 发表于 2012-3-31 17:53
pid

有例程么··
回复 支持 反对

使用道具 举报

11

主题

146

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4766

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

QQ
威望
2070
贡献
2500
兑换币
13
注册时间
2010-9-11
在线时间
98 小时
4#
发表于 2012-4-3 21:27:09 | 只看该作者
PD就行,不需要保持稳态精度
回复 支持 反对

使用道具 举报

0

主题

104

帖子

0

精华

高级会员

Rank: 4

积分
987
威望
574
贡献
253
兑换币
2
注册时间
2011-8-29
在线时间
80 小时
5#
发表于 2012-4-5 21:50:23 | 只看该作者
很高很瘦 发表于 2012-4-3 21:27
PD就行,不需要保持稳态精度

有例程么···
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
威望
231
贡献
59
兑换币
0
注册时间
2012-3-1
在线时间
32 小时
毕业学校
理工大学
6#
发表于 2012-4-12 17:21:31 | 只看该作者
总是这样,没什么实质的帮助,给点具体的参考程序啊。。。。。
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
553
威望
368
贡献
109
兑换币
8
注册时间
2011-12-31
在线时间
38 小时
7#
 楼主| 发表于 2012-4-12 22:16:12 | 只看该作者
向天空说 发表于 2012-4-12 17:21
总是这样,没什么实质的帮助,给点具体的参考程序啊。。。。。

我已经写好了   把程序拷给你参考啊
  void duoji_PD()
   {     
         Kp=33;Kd1=100;Kd2=5;  
         nowerror=MidGTR-61;                                                //  Rudder=(Kp*nowerror+Kd1*(nowerror-lasterror)+Kd2*derror
         if(v==0)  lasterror=MidGTRArray[9]-61;                       //nowerror---此刻某行中点离62偏差
         if(v!=0)  lasterror=MidGTRArray[v-1]-61;                      //lasterror----上时刻某行中点离62偏差
         derror=MidGTR-MidBJ;                                               //derror-------此时刻某两行中点差值   

         Rudder=Kp*nowerror+Kd1*(nowerror-lasterror)+Kd2*derror;

         PWMDTY01=7200-Rudder;
         if(PWMDTY01>8200)    PWMDTY01=8200;
         if(PWMDTY01<6200)    PWMDTY01=6200;                                                                                          
  }

回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
553
威望
368
贡献
109
兑换币
8
注册时间
2011-12-31
在线时间
38 小时
8#
 楼主| 发表于 2012-4-12 22:16:49 | 只看该作者
杜道轶 发表于 2012-4-12 22:16
我已经写好了   把程序拷给你参考啊
  void duoji_PD()
   {     

  void duoji_PD()
   {     
         Kp=33;Kd1=100;Kd2=5;  
         nowerror=MidGTR-61;            //  Rudder=(Kp*nowerror+Kd1*(nowerror-lasterror)+Kd2*derror
         if(v==0)  lasterror=MidGTRArray[9]-61;           //nowerror---此刻某行中点离62偏差
         if(v!=0)  lasterror=MidGTRArray[v-1]-61;          //lasterror----上时刻某行中点离62偏差
         derror=MidGTR-MidBJ;                                  //derror-------此时刻某两行中点差值   

         Rudder=Kp*nowerror+Kd1*(nowerror-lasterror)+Kd2*derror;

         PWMDTY01=7200-Rudder;
         if(PWMDTY01>8200)    PWMDTY01=8200;
         if(PWMDTY01<6200)    PWMDTY01=6200;                                                                                          
  }

回复 支持 反对

使用道具 举报

0

主题

104

帖子

0

精华

高级会员

Rank: 4

积分
987
威望
574
贡献
253
兑换币
2
注册时间
2011-8-29
在线时间
80 小时
9#
发表于 2012-4-13 11:20:05 | 只看该作者
杜道轶 发表于 2012-4-12 22:16
void duoji_PD()
   {     
         Kp=33;Kd1=100;Kd2=5;  

效果怎么样···
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
553
威望
368
贡献
109
兑换币
8
注册时间
2011-12-31
在线时间
38 小时
10#
 楼主| 发表于 2012-4-17 10:31:17 | 只看该作者
klain 发表于 2012-4-13 11:20
效果怎么样···

还行吧,控制的挺柔和,这个公式最后一项有点超前控制的味道
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 17:37 , Processed in 0.074533 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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