智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5976|回复: 17
打印 上一主题 下一主题

赛道中心线提取后的问题.....

  [复制链接]

16

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1642
威望
767
贡献
557
兑换币
9
注册时间
2012-2-26
在线时间
159 小时
跳转到指定楼层
1#
发表于 2012-5-10 11:06:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
赛道的中心线提取出来之后,利用这个中心线控制舵机的转向和电机的速度...有什么好的策略吗?迷茫呀....

13

主题

284

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2984
威望
1576
贡献
656
兑换币
306
注册时间
2011-10-9
在线时间
376 小时
2#
发表于 2012-5-10 12:16:18 | 只看该作者
下技术报告来看,自己总结
回复 支持 反对

使用道具 举报

29

主题

304

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2298

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

威望
1256
贡献
580
兑换币
107
注册时间
2011-9-10
在线时间
231 小时
3#
发表于 2012-5-10 12:36:44 | 只看该作者
中心线都提取出来了,那不跟往届的差不多了嘛。
回复 支持 反对

使用道具 举报

0

主题

102

帖子

0

精华

高级会员

Rank: 4

积分
818
威望
508
贡献
178
兑换币
0
注册时间
2012-3-6
在线时间
66 小时
4#
发表于 2012-5-10 14:16:45 | 只看该作者
chinasunjia123 发表于 2012-5-10 12:36
中心线都提取出来了,那不跟往届的差不多了嘛。


有道理~~看看往届都是怎么控制的
回复 支持 反对

使用道具 举报

4

主题

487

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2981

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

QQ
威望
2216
贡献
489
兑换币
53
注册时间
2010-11-10
在线时间
138 小时
5#
发表于 2012-5-10 14:21:10 | 只看该作者
对呀 中心线都提取出啦 成功一半啦   看看往年的技术报告也许很有收获吧
回复 支持 反对

使用道具 举报

9

主题

177

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1951

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

QQ
威望
984
贡献
505
兑换币
148
注册时间
2010-12-28
在线时间
231 小时
6#
发表于 2012-6-4 09:58:35 | 只看该作者
弯道的中心线提取的准确吗?
回复 支持 反对

使用道具 举报

9

主题

177

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1951

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

QQ
威望
984
贡献
505
兑换币
148
注册时间
2010-12-28
在线时间
231 小时
7#
发表于 2012-6-4 21:07:09 | 只看该作者
弯道的中心线怎么提取的,来点互动撒!
回复 支持 反对

使用道具 举报

16

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1642
威望
767
贡献
557
兑换币
9
注册时间
2012-2-26
在线时间
159 小时
8#
 楼主| 发表于 2012-6-4 23:01:15 | 只看该作者
赵仁煊 发表于 2012-6-4 21:07
弯道的中心线怎么提取的,来点互动撒!

void road_hei_line() {
   char i=0;
   char left_line=0,left_flag=0,right_flag=0,right_line=0;
  //unsigned char hei_left=0,hei_right=0;
// unsigned char hei_num_flag=0,change_flag=0;
// sci_write('3');
  for(q=8;q<hang-5;q++) {   //′óμú8DD¿aê¼
  left_flag=0;
  right_flag=0;
     //×ó±ßμÄoúÏßÖDDÄ
     for(i=car_location;i>=18;i--) {     //×ó±ß20DDéáè¥
     if(q==8||q==9) {
        if(data[q]-data[q][i-1]>0) {
          left_flag++;
          if(data[q+1]==0||data[q+1][i+1]==0||data[q+1][i+2]==0) {
            if(data[q+2][i+1]==0||data[q+2][i+2]==0||data[q+2][i+3]==0){
              left_line=i-1;
              left_line_location[q]=left_line;
            }
            else
              left_line_location[q]=-1;
          } else
              left_line_location[q]=-1;
        }
        if(left_flag==0)
          left_line_location[q]=-1;  
     }
     if(q>9) {
       if(data[q]-data[q][i-1]>0) {
          left_flag++;
          if(data[q-1][i-2]==0||data[q-1][i-1]==0||data[q-1]==0) {
            if(data[q-2][i-3]==0||data[q-2][i-2]==0||data[q-2][i-1]==0) {
              left_line=i-1;
              left_line_location[q]=left_line;
            }
            else
              left_line_location[q]=-1;
        }else
            left_line_location[q]=-1;
      }
       if(left_flag==0)
          left_line_location[q]=-1;  
      }
     }




    // sci_write('4');
     //óò±ßμÄoúÏßÖDDÄ
     for(i=car_location;i<dian-7;i++) {
     if(q==8||q==9) {
        if(data[q]-data[q][i+1]>0) {
          right_flag++;
          if(data[q+1][i-2]==0||data[q+1][i-1]==0||data[q+1]==0) {
            if(data[q+2][i-3]==0||data[q+2][i-2]==0||data[q+2][i-1]==0) {
              right_line=i+1;
              right_line_location[q]=right_line;
            }
            else
              right_line_location[q]=-1;
          } else
             right_line_location[q]=-1;
        }
        if(right_flag==0)
          right_line_location[q]=-1;  
     }
     if(q>9) {
       if(data[q]-data[q][i+1]>0) {
          right_flag++;
          if(data[q-1]==0||data[q-1][i+1]==0||data[q-1][i+2]==0) {
            if(data[q-2][i+1]==0||data[q-2][i+2]==0||data[q-2][i+3]==0) {
              right_line=i+1;
              right_line_location[q]=right_line;
            }
            else
             right_line_location[q]=-1;
        }else
            right_line_location[q]=-1;
      }
       if(right_flag==0)
          right_line_location[q]=-1;  
      }
     }
     if(right_line_location[q]!=-1&&left_line_location[q]!=-1)
      zhong_xian[q]=(right_line_location[q]+left_line_location[q])/2;

     else
     zhong_xian[q]=zhong_xian[q-1];
  }
  /*for(a=8;a<hang-5;a++) {
    sci_write(zhong_xian[a]);
  } */


}
这个只是初步的,可以用(根据我们的硬件),提取的比较粗糙...还要改进...

回复 支持 反对

使用道具 举报

5

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1145
威望
694
贡献
117
兑换币
10
注册时间
2011-5-20
在线时间
167 小时
9#
发表于 2012-6-5 00:34:53 | 只看该作者
轻轻飘过
回复 支持 反对

使用道具 举报

9

主题

177

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1951

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

QQ
威望
984
贡献
505
兑换币
148
注册时间
2010-12-28
在线时间
231 小时
10#
发表于 2012-6-5 08:30:40 | 只看该作者
断点断了 发表于 2012-6-4 23:01
void road_hei_line() {
   char i=0;
   char left_line=0,left_flag=0,right_flag=0,right_line=0;

额,这只是直道的中线提取,弯道的要不要做“失真还原”,你们怎么解决的,谢谢!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 14:37 , Processed in 0.070056 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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