智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2937|回复: 15
打印 上一主题 下一主题

求助,舵机控制!!

  [复制链接]

7

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
332
威望
176
贡献
88
兑换币
102
注册时间
2013-3-13
在线时间
34 小时
跳转到指定楼层
1#
发表于 2013-4-18 21:25:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
赛道图像已经采集到了,中线也提取出来,有没有什么好的方法控制舵机,试了几种,总是不行,还请摄像头的朋友们讲解下!!!!

2

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
230
贡献
123
兑换币
114
注册时间
2013-3-12
在线时间
71 小时
2#
发表于 2013-4-18 21:26:35 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
129
威望
79
贡献
32
兑换币
40
注册时间
2013-3-17
在线时间
9 小时
3#
发表于 2013-4-18 21:26:39 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

2

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
230
贡献
123
兑换币
114
注册时间
2013-3-12
在线时间
71 小时
4#
发表于 2013-4-18 21:26:56 | 只看该作者
兄弟加油
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
129
威望
79
贡献
32
兑换币
40
注册时间
2013-3-17
在线时间
9 小时
5#
发表于 2013-4-18 21:27:13 | 只看该作者
初学者要加油
回复 支持 反对

使用道具 举报

2

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
威望
230
贡献
123
兑换币
114
注册时间
2013-3-12
在线时间
71 小时
6#
发表于 2013-4-18 21:27:18 | 只看该作者
我们也是这个情况
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
129
威望
79
贡献
32
兑换币
40
注册时间
2013-3-17
在线时间
9 小时
7#
发表于 2013-4-18 21:27:56 | 只看该作者
我们也是这个情况,求大神指教
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
103
威望
62
贡献
23
兑换币
27
注册时间
2013-4-15
在线时间
9 小时
毕业学校
QDDX
8#
发表于 2013-4-19 15:50:08 | 只看该作者
求大神
回复 支持 反对

使用道具 举报

17

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1443
QQ
威望
674
贡献
293
兑换币
391
注册时间
2013-1-13
在线时间
238 小时
毕业学校
工业大学
9#
发表于 2013-4-26 13:33:18 | 只看该作者
你们中线提取的程序是完全自己写的?能借来参考一下吗?我们的黑线就能提出近处的 。。。。。。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
39
威望
31
贡献
4
兑换币
8
注册时间
2013-4-26
在线时间
2 小时
毕业学校
中国计量学院
10#
发表于 2013-4-26 15:31:43 | 只看该作者
if(road==0x01){average=Blackline_center[15];}   //直道                                 
    else if(road==0x02){average=Blackline_center[15];if(average>=Black_centre)average+=1;else average-=0;}   //直入普弯
    else if(road==0x03){average=Blackline_center[15];if(average>=Black_centre)average+=0;else average-=0;}   //直入大弯     
    else if(road==0x04){average=Blackline_center[15];if(average>=Black_centre)average+=3;else average-=3;}   //无
   
    else if(road==0x05){average=Blackline_center[20];if(average>=Black_centre)average+=4;else average-=4;}   //小s入直道
    else if(road==0x06){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //小s入普弯
    else if(road==0x07){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //小s入大弯
    else if(road==0x08){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //无
      
    else if(road==0x09){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //小湾入直道
    else if(road==0x0A){average=Blackline_center[15];if(average>=Black_centre)average+=0;else average-=0;}   //直道入180°弯
    else if(road==0x0B){average=Blackline_center[15];if(average>=Black_centre)average+=0;else average-=0;}   //十字的弯
    else if(road==0x0C){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //大弯  
   
    else if(road==0x11){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}
   
    else if(road==0x0D){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //大弯入直道        
    else if(road==0x0E){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //大s
    else if(road==0x0F){average=Blackline_center[15];if(average>=Black_centre)average+=4;else average-=4;}   //大s     
    else if(road==0x10){average=Blackline_center[15];if(average>=Black_centre)average+=0;else average-=0;}   //180°弯或十字弯.再或急弯死弯
                                                                                    
    else if(road==0x11){average=Blackline_center[15];if(average>=Black_centre)average+=0;else average-=0;}   //不详赛道   
    }
    Error=average-Black_centre;//偏差
    dError=Error-LastError;//当前微分项,E[k]-E[k-1];
    LastError=Error;    //E[k]项
    if(Error<0)   //左转弯
    {  if(Blackline_center[15]>=Black_centre)
      Sensor=ceil(absx(Rudder_center_const-(0.65*KP*Error+KD*dError)));else
       Sensor=ceil(absx(Rudder_center_const+(3.5*KP*Error+1.5*KD*dError)));
    }
    else //右转弯
      { if(Blackline_center[15]>=Black_centre)
       Sensor=ceil(absx(Rudder_center_const+(3.5*KP*Error+1.5*KD*dError)));
         else Sensor=ceil(absx(Rudder_center_const-(0.70*KP*Error+KD*dError)));
      }
    if (Sensor<NegativePDLimit)
    {
      Sensor=NegativePDLimit;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 21:55 , Processed in 0.072457 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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