当前位置:文档之家› 传感器的应用论文汽车传感器的论文

传感器的应用论文汽车传感器的论文

多传感器在智能机器人中的应用研究*耿庆华,宋弘,陈桂徐(四川理工学院自动化与电子信息学院)摘要:介绍了一种使用多传感器快速测量智能机器人与障碍物之间距离的方法,使机器人不仅具备语音识别功能,而且能实现智能避障。

本设计给出了相应的电路设计和软件设计方案。

实验结果表明:设计方案可行,智能机器人工作稳定、可靠。

关键词:A/D转换;智能避障;红外测距传感器;语音识别..Abstract: A kind of distance measuring method with Multi-Sensor in intelligent robot is introduced. The intelligent robot not onlyhave the function of speech recognition, but also can avoid obstacle intelligently .It is proved by experiment that the system works stablyand reliably.Key words: A/D convert ; Intelligent obstacle-avoidance ; Intrared distance measurment sensor ; Speech recognition中图分类号:TP242.6 文献标识码:B0 引言智能机器人内部装有微处器和传感器。

智能机器人在前进过程中需要不断获取前方及两侧的信息,从而判断是否有障碍物及与障碍物之间的距离,进而执行相应的智能避障算法。

智能避障机器人在语音命令的控制下完成相应的任务,在执行任务的过程中能够实时检测周围是否有障碍物并判断出它们的位置,本文介绍了一种使用多传感器来完成实时检测及语音识别的方法。

..1 智能机器人硬件电路的设计在智能机器人中采用双CPU协同控制,最左边的单片机执行语音识别功能,另一片单片机进行数据采集,并且经过逻辑判断产生相应的控制信号,通过电机驱动装置使电机产生不同的转速,从而达到智能避障的效果。

双CPU的协同工作解决了以往单个单片机难以对周围环境进行实时检测的难题,丰富了单片机的资源,语音识别的引入使机器人更加智能化。

智能机器人的硬件电路如图1所示。

图1 红外测距模块原理图本设计采用台湾凌阳公司SPCE061A单片机作为主控芯片,外围由电机驱动装置、红外测距传感器单元、电源收稿日期:2010-04-20作者简介:耿庆华(1982-),男,河南商丘人,硕士研究生,主要研究方向为现代控制理论及机器人技术。

*基金项目:四川省教育厅重大培育项目(2006ZD036)人工智能四川省重点实验室重点项目(2008ZR001,2007R008)文章编号:1001-9227(2010)05-0055-03单元和两个直流电机组成。

表1 D4052的真值表通过SPCE061A的I/O端口来控制CD4052,以选择不同的传感器通道;采用IOB2和IOB3控制CD4052的A0和A1,而IOA4作为检测红外测距传感器的模拟输出电压信号,这样通过CD4052的通道切换,就可以利用较少的端口来完成多个模组的切换使用了,模拟电压信号经A/D转换并且把A/D转换值在上位机显示。

CD4052是多通道模拟选择开关,具体选择哪个通道,由输入的2位地址码A0、A1来决定。

其真值表见表1。

.. “/E”是禁止端,当“/E”=1时,各通道均被禁止。

另外,CD4052还有另外一个电源端口Vee,在电平位移时使用,在单组电源供电条件下,使CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流信号。

在智能机器人的设计中使用了2对红外测距传感器GP2D12。

传感器1、4的方向分别垂直向右、向左,分别用于感知右方和左方的障碍物;传感器2、3垂直向前,用于感知前方障碍物[2]。

传感器的摆放位置如图2所示,GP2D12红外测距传感器的Vcc接+5伏电压,GND接地,Vo输出模拟电压信号;不同的电压值代表距障碍物的不同距离。

..2 红外测距传感器的原理与选用一个红外发射管和一个CCD检测器以及相应的硬件电路构成了红外测距传感器,Sharp公司的CCD检测器可以检测到光点落在它上面的极小位移的变化,GP2D12正是利用55多传感器在智能机器人中的应用研究耿庆华,等这个特性实现了利用几何的方式进行测距,如图3所示。

图2 传感器的摆放位置图3 三角测量原理红外发射管向障碍物发出一个已校准的聚焦红外光束,被障碍物反射回来,反射光被滤镜采集,并投影到一个位置敏感器件PSD或CCD检测器上,反射回来的红外光束被CCD检测器检测到以后,会获得一个偏移值L,根据三角关系,在知道了发射角a、偏移值L、中心距X,以及滤镜的焦距f以后,传感器到障碍物的距离就可以通过几何关系计算出来了,D就是我们所要测量的距离.. [3]。

从图3中可以看出,这是一个顶角为锐角极小的等腰三角形,底边只有2cm,而高却有10~80cm,所以,CCD检测器的灵敏度必须高,否则,微小的偏差,都会带来很大的误差。

GP2D12的供电电压为4.5~5.5伏,测量范围10~80cm,最大允许角度:大于40度;标准电流功耗:33~35mA;峰值功耗:约200mA;更新周期:25Hz/40ms;模拟输出噪声:小于200mV;GP2D12的输出为0.4伏~2.4伏的模拟信号,分别对应80cm~10cm,输出与距离成反比非线性关系,如图4所示。

图4 GP2D12的输出方式..语音识别模块的设计在本设计中为机器人加入了语音识别[1]功能,使智能机器人在人的语音命令的控制下执行相应的命令,人机交互功能更加友好,经测试,特定人的语音识别率达到了.. 98%,基本满足了机器人的语音识别功能的需要。

语音识别模块仍采用凌阳单片机来实现,本设计中采用双凌阳单片机协同工作,如图1所示,一片用于语音识别,另一片用于控制与检测[6]。

语言识别模块将识别出的语音命令输出传递给控制模块,控制模块不间断的对语语音识别模块进行检测,一旦检测到有不同的命令,就会执行相对应的命令。

在本设计中任选语音识别模块的单片机的A口中的5个端口作为输出口,在同一时间只允许有一个端口输出高电平,例如:定义IOA1、IOA2、IOA3、IOA4、IOA5分别代表了前进、倒车、左转、右转、停车等命令,当主人发出前进的命令时,单片机对其进行语音识别,识别前进的命令后,将IOA1置为高电平,其他端口为低电平,控制模块的单片机通过对IOA1、IOA2、IOA3、IOA4、IOA5端口电平的状态进行不间断检测,一旦检测到IOA1为高电平,即认为是前进的命令,完成对前进的命令的识别。

利用同样的办法可以完成对倒车、左转、右转、停车命令的识别,实现机器人的语音识别的功能。

..4 智能机器人软件单元的设计将SPCE061A的IOA4设置为悬浮输入,IOA4接CD4052的ZA端口,下面列出了部分子程序及主程序流程图,传感器的控制及A/D转换程序.. [8]如下:..volatile float AD[4]; //定义一个4维数组,存放A/D转换值..extern void Channel_Select(unsigned int ch); //通道选择..unsigned int ADC_Get(void){unsigned long ADC_Sum=0;unsigned int i;for(i=0;i<8;i++){while((*P_ADC_MUX_Ctrl&0x8000)==0); //等待A/D转换结束..ADC_Sum+=(*P_ADC_LINEIN_Data&0xffc0);} // 读取转换值..ADC_Sum = ADC_Sum/8; // ADC_Sum/8return ADC_Sum; //返回A/D转换的值。

..}多通道选择及控制子程序如下:Void Channel_Select(unsigned int ch){unsigned int uiTemp;ch=ch&0x0006;//因为本系统使用了IOB2和IOB3;uiTemp=*P_IOB_Buffer;//采用先读,再计数,再写的方式..uiTemp= uiTemp&0xfff9; //保证其他端口不变uiTemp= uiTemp|ch;*P_IOB_Data=uiTemp;}5 实验结果分析实验时,改变传感器与障碍物之间的距离,分别设置为5cm、10cm、15cm、20cm、40cm、60cm、80cm、100cm,同时将上位机上显示的信号输出结果和数字返回值记录下来如表2所示。

从实验结果可知:传感器输出电压的A/D转换值和智《自动化与仪器仪表》2010年第5期(总第151期)..能机器人与障碍物之间的距离成非线性的正比关系。

实验表明,将制作出的智能机器人放于某障碍物之前,智能机器人能够对障碍物进行实时检测,并调整行走方向绕开障碍物。

图5表2结论通过对智能机器人的设计,利用Sharp公司的红外测距传感器GP2D12进行测距和实际行走实验,结果表明所设计的红外测距传感器单元能够实现在5~100cm之间的距离测量,且在10~80cm之间具有较高的精度,测距响应速度快,成本低廉,性能优越,能够满足智能机器人的测距要求。

本文创新点:利用两片单片机之间的通信,使它们协同工作,例如:当识别出前进的命令时,将执行语音识别命令的单片机IOA1置为高电平,使用算法[7]使执行控制与检测的另一单片机一检测到IOA1为高电平就会执行前进的命令,将智能避障算法.. [7]嵌入在前进的命令中,使智能机器人在前进的过程中不断对周围的事物进行检测,感知外界信息,主动绕开障碍物。

双凌阳单片机进行协同控制,大大丰富了单片机的资源,一片用于语音识别,而另一片用于检测障碍物,对传感器采集的数据进行处理,较好的解决了一片单片机难以处理庞大的数据量以及控制系统实时性差的缺点。

选择适当的红外测距传感器,提高了智能机器人系统的准确性,在控制程序中加入了机器人的前进、左转、右转、倒车控制函数,获得了很好的控制效果,并通过实验证明红外测距传感器单元能够满足智能避障机器人的测距要求。

参考文献..[1]薛钧义,张彦斌,虞鹤松等.凌阳十六位单片机[M].北京:北京航空航天大学出版社,2003.[2]吕强,王珂珂,王国胜.迷宫机器人中使用红外传感器测距的研究[J].微计算机信息,2008,24(12):118-120.[3] 曹小松,唐鸿儒,杨炯.移动机器人多传感器数据融合测距系统设计[J].专题研究,2009.[4]孟庆鑫,王晓东.机器人技术基础[M].哈尔滨:哈尔滨工业大学出版社,2006.[5]谭浩强.C语言程序设计[M].北京:清华大学出版社,2005. [6]段凤增.信号检测理论[M].哈尔滨:哈尔滨工业大学出版社, 2002.[7]徐士良.常用算法程序集[M].北京:清华大学出版社,2004. [8]罗亚非.凌阳16位单片机应用基础[M].北京:北京航空航天大学出版社,2005.57。

相关主题