智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3375|回复: 9
打印 上一主题 下一主题

光电组程序滤波问题

[复制链接]

16

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
579
威望
303
贡献
188
兑换币
0
注册时间
2012-2-28
在线时间
44 小时
毕业学校
淮南师范学院
跳转到指定楼层
1#
发表于 2012-3-21 09:49:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*****************************************************************
****函数名称: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);
}

这是什么滤波算法

34

主题

373

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2524
QQ
威望
1344
贡献
750
兑换币
24
注册时间
2011-8-4
在线时间
215 小时
2#
发表于 2012-3-21 10:19:08 | 只看该作者
这个算法 有点垃圾!
回复 支持 反对

使用道具 举报

0

主题

55

帖子

0

精华

高级会员

Rank: 4

积分
666
威望
447
贡献
119
兑换币
52
注册时间
2009-10-20
在线时间
50 小时
3#
发表于 2012-3-21 10:37:52 | 只看该作者
这也叫滤波?
回复 支持 反对

使用道具 举报

19

主题

239

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2706

优秀会员奖章

威望
1164
贡献
1364
兑换币
14
注册时间
2011-3-27
在线时间
90 小时
4#
发表于 2012-3-21 11:15:32 | 只看该作者
    这不是滤波,只是查表法。能让小车偱线前进,但跑不快。因为控制得过于粗糙。

回复 支持 反对

使用道具 举报

16

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
579
威望
303
贡献
188
兑换币
0
注册时间
2012-2-28
在线时间
44 小时
毕业学校
淮南师范学院
5#
 楼主| 发表于 2012-3-21 12:28:36 | 只看该作者
那有其他的方法滤波吗,具体怎么写啊
回复 支持 反对

使用道具 举报

22

主题

347

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4752
威望
1907
贡献
1651
兑换币
340
注册时间
2011-3-11
在线时间
597 小时
6#
发表于 2012-3-21 13:22:46 | 只看该作者
如果单纯就滤波的问题,程序有点冗余。
回复 支持 反对

使用道具 举报

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16895

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9751
贡献
4562
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
7#
发表于 2012-3-21 13:53:03 | 只看该作者
用权值,很多队伍都这么用的。
回复 支持 反对

使用道具 举报

6

主题

404

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5100
QQ
威望
2361
贡献
1343
兑换币
457
注册时间
2011-9-23
在线时间
698 小时
8#
发表于 2012-3-21 17:44:42 | 只看该作者
恋May 发表于 2012-3-21 13:53
用权值,很多队伍都这么用的。

敢问兄台具体要怎么搞,能否发段程序参考下
回复 支持 反对

使用道具 举报

25

主题

90

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
威望
239
贡献
98
兑换币
112
注册时间
2015-5-3
在线时间
35 小时
毕业学校
西安工业大学
9#
发表于 2016-3-19 14:22:56 | 只看该作者
恋May 发表于 2012-3-21 13:53
用权值,很多队伍都这么用的。

请问具体怎么滤波???求告知
回复 支持 反对

使用道具 举报

16

主题

378

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6167
威望
3955
贡献
1878
兑换币
597
注册时间
2014-5-20
在线时间
167 小时
毕业学校
西北民族大学
10#
发表于 2016-3-19 14:33:43 | 只看该作者
CCD非线性补偿,你可以看看别人技术报告,有讲到
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-9 13:11 , Processed in 0.052410 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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