李恒+徐小力+左云波
摘 要: 测距避障是移动机器人适应未知复杂环境的能力之一,准确测出移动机器人和障碍物之间的距离是关键。以dsPIC33FJ256MC710单片机为核心研究设计了一种移动机器人超声波测距避障系统。该系统利用脉冲回波法测距,针对超声波在空气中的传播速度受环境温度的影响,设计了超声波速度温度补偿电路。实验结果表明该超声波测距避障系统测量数据准确,能够满足移动机器人在复杂环境中避障的需求。
关键词: 移动机器人; 测距避障; 超声波; 硬件电路
中图分类号: TN710?34; TP73 文献标识码: A 文章编号: 1004?373X(2014)03?0157?03
Design of obstacle avoidance system with ultrasonic ranging based on mobile robot
LI Heng, XU Xiao?li, ZUO Yun?bo
(Ministry of Education Key Laboratory of Modern Measurement & Control Technology, Beijing Information Science & Technology University,
Beijing 100192, China)
Abstract: Obstacle avoidance with ranging is one of robot′s competencies in adapting to unknown complex environment. It is very important to measure the distance between the robot and the obstacles accurately. An obstacle avoidance system with ultrasonic ranging by mobile robot is designed with dsPIC33FJ256MC710 as the core. The distance between the robot and the obstacles is measured with pulse echo method. Ultrasonic velocity temperature compensation circuit is designed for ultrasonic velocity changes as the ambient temperature. Experimental results show that the system ranging accurately and is able to meet the requirement of obstacle avoidance for mobile robot in complex environments.
Keywords: mobile robot; obstacle avoidance by ranging; ultrasonic; hardware circuit
0 引 言
在某些特种环境,如反恐排爆、灾难救援等现场,特种机器人被广泛地用于代替人类执行信息获取、搜索救援、环境检测等工作。作业环境的复杂多变,要求特种机器人有较好的环境适应能力,能够在未知或者部分未知的环境中通过传感器获取周围环境信息,包括障碍物的尺寸,位置和距离等信息,并使机器人找到一条无碰撞最优路线[1]。移动机器人测距避障的传感器有很多,如声呐、视觉、红外线、超声波和罗盘等[2],红外对障碍物的衍射能力比较差,视觉处理起来比较复杂而且贵,而超声波不易受干扰,能量消耗缓慢,传播距离相对较远,因此在各种测距避障系统中被广泛使用。
1 超声波测距避障的基本原理
超声波是指频率高于20 kHz的在弹性介质中产生的机械振荡波[3]。超声波测距避障的基本原理是通过超声发射换能器不断发出声脉冲,声波脉冲通过空气介质传播,当声波脉冲遇到障碍物后反射回来被接收换能器接收,根据声速及时间差计算出障碍物的距离,移动机器人利用左右轮之间的速度差转向避障。假定[L]为超声波换能器到障碍物间的距离,超声波发射与接收的时间差为[T](单位:s)在空气中的传播速度为V(单位:m/s),关系如式(1):
[L=VT2] (1)
由于声波在空气中传播的速度与温度有关,在精度要求比较高的情况下需要做温度补偿校正[4],按式(2)对声速进行修正。
[V=331.4+0.607T] (2)
式中:[T]为测量时的实际温度;[V]为超声波在空气介质中的传播速度。
2 系统的总体方案设计
本系统主要由超声波发射电路、超声波接收电路、信号转换电路、测温电路以及报警电路组成。总体方案图如图1所示。超声波控制系统由美国Microchip公司生产的dsPIC33FJ256MC710单片机控制,该单片机拥有多路PWM脉宽调制模块、输入捕捉模块以及4个32位的定时器。单片机通过PWM产生40 kHz的方波,经过放大后驱动超声波发射换能器产生40 kHz的超声波,经过空气介质传播,遇到前方障碍物后发射回来,被超声接收换能器接收后经过信号放大和检出后变为低电平触发单片机输入捕捉模块产生中断。通过定时器1可以知道超声波发射和返回之间的时间间隔[T,]同时通过温度传感器DS18B20测出实时温度,通过式(2)对声速进行调节补偿,利用式(1)可以计算出障碍物的距离。另外本系统还设置了距离预警信号,通过单片机计算出的距离[L]与预设的距离[L0]比较,当[L
图1 系统总体方案图
3 系统硬件电路设计
3.1 超声波发射电路设计
超声波发射电路主要由三极管P1、三极管N1、变压器T1和超声波发射换能器TCT40?16T构成,如图2所示。图中,Send?Ctrl、Cut?off端由单片机控制。单片机的I/O口设置为推挽输出模式,这样可以保证三极管有足够的驱动能力和快速通断性能。变压器的次级电感与发射器构成谐振回路,提高了发射效率。通过电阻[R6]可以增加谐振回路的损耗加速余波结束。同时[R4、][R5、][P1]也构成了余波抑制电路,由单片机控制,在发射完脉冲后[P1]导通,强制短路变压器初级线圈,快速消耗掉谐振能量,达到消除余波的目的。电阻[R5]越小效果越好,但是如果控制失灵会导致短路烧坏[P1]或[N1,]所以在电路中设计了一个开关,在软件调试好之前断开,避免烧毁三极管。
3.2 超声波接收电路设计
超声波接收电路是超声波测距的核心,主要由美国TI公司的专用声呐测距芯片TL852和超声波接收换能器TCT40?16R构成,如图3所示。TL852可操作频率范围为20~90 kHz的超声波,并且具有数字控制的可变增益和可变带宽放大器,接口与TTL兼容。作为声呐接收器BIAS引脚需要接一个电阻为68 kΩ的TL852提供内部偏压参考。LC引脚与VCC引脚间要并联一个外部电感和电容以提供一个刻外部控制增益的放大器,不仅可以控制增益以补偿信号随距离的衰减,而且可以最大限度地抑制噪声。通过向GCA、GCB 、GCC、GCD输入0.1 μs的同步脉冲调节数字放大器的增益,输入脉冲必须同步以消除由于无效的逻辑计数而导致的外部错误信号。
图2 超声波发射电路
图3 超声波接收电路
3.3 信号电平转换电路设计
TL852组成的超声波接收电路输出信号不是标准的数字信号,因此需要设计电平转换电路,如图4所示。考虑到主控芯片的电源电压为3.3 V,选择TI公司的LMV358低电压满幅输出运放转换电平。LM358额定工作电压为3~5 V,而且可以同时作为一个电压跟随器和一个电压比较器使用。TL852的输出电压信号首先通过U4A进行电压跟随,然后输入U4B的6引脚与5引脚进行比较,当输入电平高于5引脚的参考电平时,从7引脚输出低电平,该电平可以作为单片机外部触发信号产生中断,实现对回波的计时。图中二极管D1和D2主要是为比较其提供参考电压1.2 V。
3.4 测温电路设计
超声波传播速度受温度的影响比较大,如果不进行补偿,测量误差将会比较大,为了提高整个系统的测量精度,设计了温度补偿电路。该系统采用DALLAS半导体公司生产的DS18B20单线智能温度传感器,该传感器具有体积小,接口方便,测量精度高等特点,而且与单片机连接时仅仅需要一条口线就可以实现双向通信。DS18B20与传统的热敏电阻相比,能够直接读出温度并且可以根据实际要求通过简单地编程实现9~12位的数字读取,能够在很短的时间内完成温度数字量转换。读取温度后利用公式(2)就可以算出温度补偿后的声波速度,准确的算出障碍物的距离。
图4 信号电平转换电路设计
3.5 报警电路设计
报警电路主要由一个蜂鸣器和一个三极管9012构成,如图5所示。三极管主要是功率放大驱动蜂鸣器发声,当实际测量的障碍物距离小于设定的距离时,Buzzer端口输出低电平,三极管导通,蜂鸣器发出预警信号。
图5 报警电路的设计
4 系统软件设计
系统软件设计主要包括主程序模块、T1定时器计时模块、外部输入捕捉模块、测温程序模块、距离计算模块和报警模块,具体工作流程图如图6所示。编写系统程序时要考虑硬件的连接,同时还要设置存储空间、寄存器和外部中断引脚的使用。Send?Ctrl连接到单片机的RE4引脚,该引脚也是PWM复用引脚,主要用于产生40 MHz的方波脉冲驱动超声波发射使能器产生超声波。UltrIN连接到单片机的RD8输入捕捉复用引脚,用于检测回波信号产生中断。
系统初始化之后启动PWM模块,连续发送7个40 MHz的脉冲,同时打开定时器T1开始计时。在开启定时器的同时关闭外部中断,这样可以避免折射波的绕射,经过延时1 ms后再打开外部中断,等待回波。当RD8引脚出现低电平将进入到输入捕捉中断子程序。在中断程序中停止定时器T1计时,把定时器T1的值存储到相应的存储器,同时设置回波成功接收标志。当主程序检测到回波接收标志就调用测温程序,采集移动机器人所处环境温度,计算出准确的声速保存到相应的单元。接着单片机调用距离计算程序计算,计算出障碍物离移动机器人的实际距离。当该实际测得的距离小于预设的距离时,蜂鸣器就会响起报警。移动机器人会根据摄像头拍到的障碍物方向转弯,绕过障碍物。
图6 主程序流程图
5 实验结果分析
为了验证移动机器人的实际避障能力,在实验室中人为的设置不同的障碍,在不同时刻每个障碍测量5次得到结果见表1。
表1 测距实验结果 cm
[标准值\&测量值\&1\&2\&3\&4\&5\&平均值相对误差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
从实验数据可以知道移动机器人避障测距模块在40~280 cm范围内测量相对误差不超过5%,实际应用中可以满足应用需求。当测量距离小于20 cm和大于280 cm时测量误差比较大。这是因为当测量距离太短时,单片机来不及迅速处理测量结果,而且回波误差大;当测量距离太远时,回波信号太微弱,混有大量噪音,影响了实际测距。
6 结 论
基于单片机dsPIC33FJ256MC的移动机器人超声波测距避障系统,结构简单、性能稳定、操作方便。考虑了环境温度对测距系统的影响,在硬件和软件设计上都进行了必要的补偿校正,因此在一定的障碍范围内具有比较高的测量精度,具有一定的实用价值。
参考文献
[1] 常健,吴成东,李斌.移动机器人避障方法综述[J].仪器仪表学报,2010,31(8):439?442.
[2] 蒋林,闫继宏,朱延河,等.基于冗余超声波信息融合的绝对定位研究[J].华中科技大学学报:自然科学版,2008,36(5):63?66.
[3] 张攀峰,王玉萍,张健,等.带有温度补偿的超声波测距仪的设计[J].计算机测量与控制,2012,20(6):1717?1719.
[4] 温宗周,李福宁,夏自帮.高精度超声波测距系统的设计[J].仪表技术与传感器,2012(11):89?91.
[5] 施超,陈爱华,杨本全,等.基于C8051F020的高精度超声波测距系统设计[J].现代电子技术,2012,35(16):15?16.
[6] 齐婉玉,孟英红,沈满.用DS18B20进行温度检测的方法与技巧[J].仪器仪表学报,2003,24(4):235?236.
[7] 章小兵,宋爱国,唐鸿儒.基于单接收头的超声波多目标测距[J].传感技术学报,2007,20(5):1167?1170.
[8] 陈娟,李长庚,宁新鲜.基于移动信标的无线传感器网络节点定位[J].传感技术学报,2009,22(1):121?125.
[9] 沈进棋,诸静,阮锋.移动机器人多路超声波数据采集系统的研究与实现[J].电子技术,2003(11):6?9.
[10] 贾莉娜.高精度的超声波测距系统在移动机器人导航方面的应用[J].计量与测试技术,2004(9):23?25.
[标准值\&测量值\&1\&2\&3\&4\&5\&平均值相对误差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
从实验数据可以知道移动机器人避障测距模块在40~280 cm范围内测量相对误差不超过5%,实际应用中可以满足应用需求。当测量距离小于20 cm和大于280 cm时测量误差比较大。这是因为当测量距离太短时,单片机来不及迅速处理测量结果,而且回波误差大;当测量距离太远时,回波信号太微弱,混有大量噪音,影响了实际测距。
6 结 论
基于单片机dsPIC33FJ256MC的移动机器人超声波测距避障系统,结构简单、性能稳定、操作方便。考虑了环境温度对测距系统的影响,在硬件和软件设计上都进行了必要的补偿校正,因此在一定的障碍范围内具有比较高的测量精度,具有一定的实用价值。
参考文献
[1] 常健,吴成东,李斌.移动机器人避障方法综述[J].仪器仪表学报,2010,31(8):439?442.
[2] 蒋林,闫继宏,朱延河,等.基于冗余超声波信息融合的绝对定位研究[J].华中科技大学学报:自然科学版,2008,36(5):63?66.
[3] 张攀峰,王玉萍,张健,等.带有温度补偿的超声波测距仪的设计[J].计算机测量与控制,2012,20(6):1717?1719.
[4] 温宗周,李福宁,夏自帮.高精度超声波测距系统的设计[J].仪表技术与传感器,2012(11):89?91.
[5] 施超,陈爱华,杨本全,等.基于C8051F020的高精度超声波测距系统设计[J].现代电子技术,2012,35(16):15?16.
[6] 齐婉玉,孟英红,沈满.用DS18B20进行温度检测的方法与技巧[J].仪器仪表学报,2003,24(4):235?236.
[7] 章小兵,宋爱国,唐鸿儒.基于单接收头的超声波多目标测距[J].传感技术学报,2007,20(5):1167?1170.
[8] 陈娟,李长庚,宁新鲜.基于移动信标的无线传感器网络节点定位[J].传感技术学报,2009,22(1):121?125.
[9] 沈进棋,诸静,阮锋.移动机器人多路超声波数据采集系统的研究与实现[J].电子技术,2003(11):6?9.
[10] 贾莉娜.高精度的超声波测距系统在移动机器人导航方面的应用[J].计量与测试技术,2004(9):23?25.
[标准值\&测量值\&1\&2\&3\&4\&5\&平均值相对误差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
从实验数据可以知道移动机器人避障测距模块在40~280 cm范围内测量相对误差不超过5%,实际应用中可以满足应用需求。当测量距离小于20 cm和大于280 cm时测量误差比较大。这是因为当测量距离太短时,单片机来不及迅速处理测量结果,而且回波误差大;当测量距离太远时,回波信号太微弱,混有大量噪音,影响了实际测距。
6 结 论
基于单片机dsPIC33FJ256MC的移动机器人超声波测距避障系统,结构简单、性能稳定、操作方便。考虑了环境温度对测距系统的影响,在硬件和软件设计上都进行了必要的补偿校正,因此在一定的障碍范围内具有比较高的测量精度,具有一定的实用价值。
参考文献
[1] 常健,吴成东,李斌.移动机器人避障方法综述[J].仪器仪表学报,2010,31(8):439?442.
[2] 蒋林,闫继宏,朱延河,等.基于冗余超声波信息融合的绝对定位研究[J].华中科技大学学报:自然科学版,2008,36(5):63?66.
[3] 张攀峰,王玉萍,张健,等.带有温度补偿的超声波测距仪的设计[J].计算机测量与控制,2012,20(6):1717?1719.
[4] 温宗周,李福宁,夏自帮.高精度超声波测距系统的设计[J].仪表技术与传感器,2012(11):89?91.
[5] 施超,陈爱华,杨本全,等.基于C8051F020的高精度超声波测距系统设计[J].现代电子技术,2012,35(16):15?16.
[6] 齐婉玉,孟英红,沈满.用DS18B20进行温度检测的方法与技巧[J].仪器仪表学报,2003,24(4):235?236.
[7] 章小兵,宋爱国,唐鸿儒.基于单接收头的超声波多目标测距[J].传感技术学报,2007,20(5):1167?1170.
[8] 陈娟,李长庚,宁新鲜.基于移动信标的无线传感器网络节点定位[J].传感技术学报,2009,22(1):121?125.
[9] 沈进棋,诸静,阮锋.移动机器人多路超声波数据采集系统的研究与实现[J].电子技术,2003(11):6?9.
[10] 贾莉娜.高精度的超声波测距系统在移动机器人导航方面的应用[J].计量与测试技术,2004(9):23?25.