智能车制作

标题: 光电组程序滤波问题 [打印本页]

作者: longtian20454    时间: 2012-3-21 09:49
标题: 光电组程序滤波问题
/*****************************************************************
****函数名称:char Sensor15_Up_Filter_Offset_Calc(unsigned char number)
****功能描述:上层Sensor15滤波,滤波之后偏移量的计算
****调用函数:None
****入口参数:None
****出口参数ffset
*****************************************************************/
char Sensor15_Up_Filter_Offset_Calc(unsigned char number )
{
   char jj;
  unsigned int sensor15_up_int=0;
  blank_line_count=0;  
  for(jj=0;jj<15;jj++) //把数组变量转化成INT类型的变量
    {
      if(Sensor15_Up_Position[number][jj])//黑线
        {
          sensor15_up_int|=0x8000;
          blank_line_count++;
        }
      else //白线
        sensor15_up_int&=0x7FFF;
      sensor15_up_int>>=1;
    }   
sensor15_up_int=sensor15_up_int&0x7FFF;     //最高位置0

switch (sensor15_up_int)     //查表滤波
    {
       case 0b000000010000000:
       case 0b000000111000000:
       case 0b000000101000000:offset_point=0;offset_pole=0;break;
      
       case 0b000000011000000:offset_point=1; offset_pole=-1;break;//左边检测到黑线        
       case 0b000000001000000:      
       case 0b000000011100000:offset_point=2; offset_pole=-1;break;      
       case 0b000000001100000:offset_point=3; offset_pole=-1;break;        
       case 0b000000000100000:offset_point=4; offset_pole=-1;break;                 
       case 0b000000001110000:offset_point=5; offset_pole=-1;break;      
       case 0b000000000110000:offset_point=6; offset_pole=-1;break;        
       case 0b000000000010000:offset_point=7; offset_pole=-1;break;
       case 0b000000000011000:offset_point=8; offset_pole=-1;break;        
       case 0b000000000001000:      
       case 0b000000000011100:offset_point=9; offset_pole=-1;break;        
       case 0b000000000001100:offset_point=10;offset_pole=-1;break;
       case 0b000000000000100:         
       case 0b000000000001110:offset_point=11;offset_pole=-1;break;        
       case 0b000000000000110:offset_point=12;offset_pole=-1;break;
       case 0b000000000000010:         
       case 0b000000000000111:offset_point=13;offset_pole=-1;break;
       case 0b000000000000011:offset_point=14;offset_pole=-1;break;
       case 0b000000000000001:offset_point=15;offset_pole=-1;break;
       case 0b000000110000000:offset_point=1; offset_pole=1;break;               
       case 0b000000100000000:        
       case 0b000001110000000:offset_point=2; offset_pole=1;break;
       case 0b000001100000000:offset_point=3; offset_pole=1;break;
       case 0b000001000000000:offset_point=4; offset_pole=1;break;         
       case 0b000011100000000:offset_point=5; offset_pole=1;break;
       case 0b000011000000000:offset_point=6; offset_pole=1;break;
       case 0b000010000000000:offset_point=7; offset_pole=1;break;         
       case 0b000110000000000:offset_point=8; offset_pole=1;break;
       case 0b000100000000000:
       case 0b001110000000000:offset_point=9; offset_pole=1;break;
       case 0b001100000000000:offset_point=10;offset_pole=1;break;
       case 0b001000000000000:
       case 0b011100000000000:offset_point=11;offset_pole=1;break;
       case 0b011000000000000:offset_point=12;offset_pole=1;break;
       case 0b010000000000000:
       case 0b111000000000000:offset_point=13;offset_pole=1;break;
       case 0b110000000000000:offset_point=14;offset_pole=1;break;
       case 0b100000000000000:offset_point=15;offset_pole=1;break;
       default: break;       //不在查表范围内时,保持上一次的偏移量                          
    }
   
  return (Sensor15_Offset_Table[offset_point]*offset_pole);
}

这是什么滤波算法

作者: 飞思卡尔835    时间: 2012-3-21 10:19
这个算法 有点垃圾!
作者: 轻侯八公子    时间: 2012-3-21 10:37
这也叫滤波?
作者: 丁香花    时间: 2012-3-21 11:15
    这不是滤波,只是查表法。能让小车偱线前进,但跑不快。因为控制得过于粗糙。


作者: longtian20454    时间: 2012-3-21 12:28
那有其他的方法滤波吗,具体怎么写啊
作者: 天才大空翼    时间: 2012-3-21 13:22
如果单纯就滤波的问题,程序有点冗余。
作者: 恋May    时间: 2012-3-21 13:53
用权值,很多队伍都这么用的。
作者: youmin90s    时间: 2012-3-21 17:44
恋May 发表于 2012-3-21 13:53
用权值,很多队伍都这么用的。

敢问兄台具体要怎么搞,能否发段程序参考下
作者: satuo121    时间: 2016-3-19 14:22
恋May 发表于 2012-3-21 13:53
用权值,很多队伍都这么用的。

请问具体怎么滤波???求告知

作者: 斯特凡    时间: 2016-3-19 14:33
CCD非线性补偿,你可以看看别人技术报告,有讲到




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