移动机器人的多传感器测距系统设计
时间:2023-09-29 10:36来源: 作者: 点击: 次一、引言
在自主的实时避障和路径规划过程中,机器人须依赖于外部环境信息的获取,感知障碍物的存在,测量障碍物的距离。目前,机器人避障和传感器有红外、超声波、激光及视觉传感器。激光传感器和视觉传感器价格贵,对控制器的要求较高,因而,在系统中多采用红外及。
多数系统采用单一传感器进行信息采集,但因为存在测量盲区的问题,范围一般在30~300cm之间;而红外传感器的探测距离较短,一般在几十厘米之内,它可以在一定程度上弥补近距离无法测量的缺点。因而,本系统采用多路红外和超声波传感器进行距离信息的测量和采集。
二、测距原理及方法
(一)超声波传感器
超声波是指谐振频率高于20 Hz的声波,频率越高反射能力越强。超声波传感器价格低廉,其性能几乎不受光线、粉尘、烟雾、电磁干扰的影响,并且,金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,因而,可以用来探测物体。
超声波测距的方法为回声探测法,发射换能器不断发射声脉冲,声波遇到障碍物后反射回来被接收换能器接收,根据声速及时间差计算出障碍物的距离。距离与声速、时间的关系表示为
式中:s为与障碍物间的距离,m; c为声速,m/s;t为第一个回波到达的时刻与发射脉冲时刻的时间差,s。
c与温度有关,空气中声速与温度的关系可表示为
式中c为声速,m/s; θ为环境温度,℃。
(二)提高超声波测距精度的方法
1.采用合适的频率和波长:使用超声波传感器测距,频率取得太低;外界杂音干扰较多;频率取得太高,在传播过程中衰减较大。并且,超声波传感器在测量过程中容易产生盲区,接收端易接收到泄漏波。改善这一缺点,须减少发射波串的长度,增高发射波频率。但发射波串长度过短会使得发射换能器不能被激振或激振达不到最大值;发射波频率过高则衰减大,作用距离下降、有试验表明:使用40 kHz的超声波,发射脉冲群含有10-20个脉冲,具有较好的传播性能。
2.提高系统的计时精度也可提高超声波的测距精度,计时器的计数频率越高,则由于时间的量化误差所引起的测距误差就越小。
3.对系统电路的时间延迟进行补偿可以减小测距误差,提高测距精度。延迟时间
式中△t为延迟时间,s;s1,s2为2个已知的测量距离,m;t1,t2为对应的测量时间,s。
(三)红外避障传感器
红外线是介于可见光和微波之间的一种电磁波,因此,它不仅具有可见光直线传播、反射、折射等特性,还具有微波的某些特性,如较强的穿透能力和能贯穿某些不透明物质等。包括红外发射器件和红外接收器件。自然界的所有物体只要温度高于绝对零度都会辐射红外线,因而,须具有更强的发射和接收能力。
的的测距基本原理为发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据发射光的强弱可以判断物体的距离,它的原理 是接收管接收的光强随反射物体的距离而变化的,距离近则反射光强,距离远则反射光弱。
目前,使用较多的一种传感器-红外光电开关,它的发射频率一般为38 kHz左右,探测距离一般比较短,通常被用作近距离障碍目标的识别。本系统采用的即为此种传感器。
(四)红外测距的缺陷
受器件特性的影响,一般的红外光电开关抗干扰性差,受环境光影响较大;并且,探测物体的颜色、表面光滑程度不同,反射回的红外线强弱就会有所不同。
三、硬件系统构成
(一)系统组成
该测距系统由单片机、超声波发射接收电路、红外发射接收电路、数码显示电路及串口通信电路等模块组成,见图1。控制核心为凌阳16位单片机SPCE061 A,芯片上集成有2个16位可编程定时器/计时器,14个中断源,32位通用可编程输人/输出通道,7通道10位A/D转换器。
的前方、左方、右方各安装一套超声波及红外传感器,使机器人能够感知3个方位的障碍信息。单片机在接收到传感器的信息后,将传感器的信号转换为距离信息,在LED数码管上显示,并通过串口RS - 232接口与上位PC机通信,传输距离信息。
(二)超声波传感器电路
凌阳单片机的I/O9-I/O11口接三路超声波发射电路,I/O3-I/O5接三路超声波接收电路。单片机产生的40 kHz信号由I/O输出,经反相器4049B组成的升压放大电路,最后,由超声波发射换能器UCM40T发射;声波遇到障碍物返回,被接收换能器UCM40R接收,信号经OP07组成的两级放大电路放大,通过锁相环音频译码器LM567选 频,滤除干扰信号,最后,通过I/O口输入单片机。单片机通过声波的传输时间计算障碍物距离。
(三)红外传感器电路
凌阳单片机的I/O0~I/O6可作为10位A/D转换器。本系统中,凌阳单片机的I/O0~I/O2口作为A/D转换器使用,I/O6~I/O8接三路红外发射电路,I/O0~I/O2接三路红外接收电路。单片机I/O口输出高电平时与红外发光管TLN205导通,发射红外光;光波在遇到障碍物后反射,被红外接收管TPS708接收,产生一个与光强相对应的电流,电流经LM358组成的两级放大电路放大后,输出一个0~3V的模拟电压,经A/D口输人单片机。单片机通过 电压的大小计算、判断障碍物的距离。
四、软件设计
单片机SPCE061 A选用系统时钟频率fosc=20.480MHz,CPU时钟频率(CPUCLK)为fosc/2=10. 24 MHz,时钟源A选用频率32768 Hz,时钟源B选用频率1 Hz,,SPCE061A提供2个16位的定时/计数器:TimerA和TimerB。TimerA的时钟源由时钟源A和时钟源B进行与操作形成;TimerB的时钟源仅为时钟源A。
40 kHz的超声波脉冲为高低电平各占12.5μs的方波,CPU时钟计数延迟123个指令周期即为12.5μs。单片机通过不断的交替产生12.5μs的高低电平即可产生40 kHz的脉冲信号,每次发射20个脉冲的脉冲群,持续0.5 ms,脉冲发射、间隔时间至少20 ms,从I/O口输出。系统选用定时器A作为产生20 ms的定时中断,选用定时器B作为超声波计数器。
由于超声波传感器存在测量盲区,因而,在程序设计中,将远于30 cm的测距由超声波传感器完成,30 cm以内由红外传感器完成。
红外测距过程中,选用定时器A产生0.1S的中断进行A/D采样,并将采样的电压值转换为距离信息。
主程序中,首先,进入红外探测子程序,如果探测到障碍物,则进人数据传输、显示及运动控制子程序;没有探测到障碍物,则进入超声波探测子程序。超声波探测到障碍物,则进人数据传输、显示及运动控制子程序,没有探测到障碍物,则循环进行红外探测。图2、图3分别为红外及超声波探测子程序。
五、测量结果
试验过程中,采用同大小、质地、颜色的障碍物进行测量。试验表明:系统在0~200 cm的范围间测距精度在1%之内,能够较为准确对障碍物进行测距。在30 cm以内的测距由红外传感器完成,30~200 cm之间的测距由超声波传感器完成,试验结果见表1。
六、结束语
本文研究了一种低成本、低功耗、高效能的移动机器人侧距系统,采用超声波和红外传感器的多传感器系统,有效地解决了单一传感器测距系统中测量盲区的缺陷问题;并且,采用3组传感器组装配在机器人的3个不同位置,使得机器人可完成3个不同方位的测距任务。