智能车制作

标题: 今年过圆环的问题 [打印本页]

作者: 天乐乐    时间: 2018-3-25 22:02
标题: 今年过圆环的问题
VCAN.camera.c
  for (i=CAMERA_LINE-4; i>CAMERA_LINE-8; i--)    // 取五行,第五行开始取
         {
         p_image = p_camera_buffer;

         u16 k=0;
         left_flag = 0;   //必须清零
         right_flag = 0;
        u8 Dajiao_flag=0;//打角标志位
         if (left<1)  left = 1;             //限幅
        if (right > CAMERA_W-2)  right = CAMERA_W - 2;
        for(j=line_Y[i+1].x; j>left-1; j--)   //搜左边 ,这一行的搜线起点是 上一行的中点
        {
            if ( *(p_image+j)==bbb )
            {
                if( *(p_image+j-1)==bbb )
                {
                    left_flag = 1;
                    left = j;       //搜到跳变就跳出
                    break;
                }
            }
            else
            {
                *(p_image+j) = 8;      //不是黑点就打点
            }      
        }
      for (j=line_Y[i+1].x; j<right+1; j++)   //中间往右
        {
            if ( *(p_image+j)==bbb )
            {
                if ( *(p_image+j+1)==bbb )
                {
                    right_flag = 1;
                    right = j;
                    break;
                }
            }
            else
            {
                *(p_image+j) = 8;  //不是黑点就打点
            }      
        }
       if ( (left_flag+right_flag)==2 )   //两边都有
       {
                line_Y.x = (left+right)/2;   //一个点的确定
                line_Y.y = i;
                line_Y.lr_flag = 2;
                line_Y.m_l = left;
                line_Y.m_r = right;
                k=k+1;
                s[k]=left -right;


      }
      }

      if(s[1]!=s[2]&&s[1]!=s[3]&&s[1]!=s[4]&&s[1]!=s[5])
      {


         //赛道两边变宽,5行满足特征,即将进入圆环,那肯定要打角,才能进入

                dajiao_flag001 ++;
               if( dajiao_flag001 ==2)
               {
               return   i;      //返回i,算出来了赛道宽度不一样的起始,也
              }                  //就是在进入圆环的边缘,然后跳出来,进入camera_draw_line_error(),提取中线,计算偏差
                                                          pid.c
                  if(dajiao_flag001==2)                 //            当满足(Dajiao_flag==1)的
       {                                                             //         表明即将进入圆环,给个固定打角        
       ftm_pwm_duty(FTM1, FTM_CH0, 610);
       }
       return camera_error+2.2*ang_1;//*2.2

}
                         我想问问大家,今年的圆环处理,我是用前五行来判断,圆环旁边左右宽度不一样,依据这个给一个标志位,给一个固定打角ftm_pwm_duty(FTM1, FTM_CH0, 610),可是把程序导进去后,舵机就不角了,不是应该向右打(舵机中值是540)吗?

不大明白这段程序出问题在什么地方?关于圆环,不知道大家有没有什么好的例程程序e借鉴?有没有大神私聊我,给我点思路,真的感激不尽。

作者: 吃饱有力减肥    时间: 2018-3-26 19:18
今年直立不是电磁么
作者: 天乐乐    时间: 2018-3-27 20:05
吃饱有力减肥 发表于 2018-3-26 19:18
今年直立不是电磁么

也有摄像头组

作者: 吃饱有力减肥    时间: 2018-3-28 19:39
天乐乐 发表于 2018-3-27 20:05
也有摄像头组

???直立有摄像头???

作者: 啊啊啊啊啊啊1    时间: 2018-4-7 20:48
10cm兄弟可以的
作者: 过痕    时间: 2018-4-10 21:23
直立可以用摄像头?
允许使用电感线圈或者其它磁场检测传感器检测赛道中存在的交变磁场。
禁止使用任何光电、摄像头传感器检测赛道信息。但仍然允许使用光电编码
盘对车模速度进行检测。
难道我俩看的不是同一个规则?




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2