机器人测距控制系统的设计
- 格式:doc
- 大小:124.50 KB
- 文档页数:6
移动机器人测距控制系统的设计
1.引言
移动机器人的很重要的一点是要求机器人具有探测障碍物的功能,并根据与障碍物之间的距离来执行加速、减速、自动转向、躲避障碍物等特定指令。其中机器人与障碍物之间距离的高精度测量是实现移动机器人自动导航的前提,因此有重要意义。目前视觉、激光、红外线、超声波测距在实际机器人系统中已得到了广泛的应用。激光及视觉传感器造价贵,对控制器的要求较高,红外线传感器易受外界干扰并且有效测量距离较短,一般在几厘米至几十厘米之间,超声波测距作为一种非接触得检测方法和激光、视觉、红外测距相比,在短距离范围内具有不受外界光线干扰、传感器结构简单、成本低等优点,因此在移动机器人系统中多采用超声波测距。本系统选用声纳模块和超声波传感器,单片机做mcu采用高精度的温度传感器采集环境温度,结合温度补偿及测量结果修正来实现距离的高精度测量。
2 超声波测距基本原理
超声波是指频率高于20KHz 的机械波,是物体的机械振动在弹性介质中传播所形成的机械振动波。由于超声波具有非常短的波长,可以聚集成狭小的发射线束而成束状直线播散,故传播具有一定的方向性。超声波测距一般采用渡越时间法TOF (time of flight),首先由发射换能器发出一定频率的超声波,超声波遇到障碍物后反射回来被接收换能器接收,然后根据声速和时间差计算出声源与障碍物之间的距离,即:D=C·△t/2 (1) 其中D 为传感器与被测障碍物之间的距离,C 为超声波在介质中的传播速率,△t 为第一个回波到达时刻与超声波发射时刻的时间差。
3 系统硬件设计
系统由单片机、通讯模块、运动模块、超声波测距模块、环境温度采集电路及测量结果储存芯片组成,系统组成如图1 所示。
单片机超声测距模块障碍物温度测量测量结果存储器通讯模块运动模块
图1 超声波测距控制系统结构图
其中单片机作为微处理器,为该系统的运算核心,它控制着通讯模块、运动模块、超声测距模块正常工作,并且通过环境温度电路监测系统外部温度。系统启动后根据通讯模块传来的指令,测距模块发射超声波,随后将接收到的返回超声波转换为TTL 电平信号传送给单片机,单片机以中断形式接收该信号,并根据超声波发射与接收的之间的时间差计算出超声波传感器与被测物体之间的距离。考虑到环境温度对声波速度的影响,系统通过温度补偿计算以及对结果进行修正来提高测量精度,最终得到精确的距离测量结果。此结果被存储到外部独立存储器中,以满足移动机器人其它模块对测量结果的需求。单片机控制运动模块进行指定的动作。同时将整个机器人状态通过通讯模块回传。
3.1 超声测距模块
超声测距模块由声纳模块和传感器组成。
声纳模块是一块包含超声换能,信号放大,滤波等所有处理电路的控制板.声纳模块开始工作后,经过分频形成超声波信号,然后通过升压处理输送至超声波传感器。因为声波在空气中发散后,其强度的降低与距离的平方成正比,用超声波测距时,声波必须要碰到物体表面在返回传感器,这更增加了发散损耗,所以返回的超声波信号非常弱,需要对其进行放大才被单片机接收。超声波传感器是及发送与接收于一体的一种传感器。当给金属膜与后板之间加上频率为49.4KHz、电压为400V 的方波电压时,此薄片以相同的频率震动,于是产生频率为49.4KHz 的机械波。之所以输出到传感器上的声波信号电压为400V,是因为这种高电压可以产生高能量的声波信号,使衰减后的反射信号也有足够的强度被检测到。当接收回波时,声纳模块内有一个调谐电路,使得只有频率接近49.4KHz 的信号才能被接收,其它频率的干扰信号则被过滤。
3.2 环境温度采集电路
由于温度对波速影响较大,要取得满意的测量结果,必须对声速进行修正。声波在空气中的传播速度为:
C=(γ·R·T/M)1/2 (2)
式中:R ———气体普适常数,取8.314kg·mol- 1; γ ———气体定压热容与定容热容的比值,对空气是;
M———气体分子量,空气为2.8×10- 3kg·mol- 1;
T ———气体的绝对温度。
式(2) 中除了R 是常量外,其余γ,M,T 只有在一定
的标准条件下才可以作为常量看待,但在一般情况下,这些
微小的变化对声速的影响不大,因此我们可以把γ,M,T 这
三个参数当作常量,进而来计算温度对声速的影响。设t 为
气体的摄氏温度,空气中超声波传播速度与温度的关系函数
为:C(t)=331.4516.27316.273t (3)
通过式计算可得,温度每上升一摄氏度,超声波的传输速度约增加0.6m/s,若忽略其他误差只考虑声波误差,如果要保持测距误差小于0.001m (设声波度越距离在3.14m以内),声速误差必须不大于0.1m/s,由此可见温度补偿的重要性。进行温度补偿后声源与障碍物之间距离的计算公式应为:
D=C(t)·△t/2 (4)
系统采用数字温度传感器实现对环境温度的采集。将0℃~60℃温度段每隔0.5℃划分一个温度点,一共可划分出120 个温度点,按照(4)
式计算出这160 个温度点所对应的声波传播速度,并以表格的形式存入内部ROM中以备使用。
3.3 单片机
本系统以单片机为核心,实现对各部分电路的控制和响应。P1.0 口来控制超声波的发送,P1.0 为高电平时启动超声波传感器发射超声波;P1.1 口来控制用户可调的空白信号,以实现小距离测量;单片机把P1.0 口置为高电平至产生中断信号这段时间作为来计算出超声传感器与障碍物之间的距离;P1.2 口来控制环境温度。
3.4通讯模块
本设计采用无线通讯模块。
3.5运动模块
运动模块由转向电机与主电机组成。转向电机负责控制机器人的转向,主电机负责机器人的行走。
4 .1测距系统的软件设计
系统启动后,首先进入初始化环节,在此环节首先将P1.0 置0 使声纳模块处于非触发状态,为内部定时器0 设置初始值,关闭一切中断,并通过P1.2 口完成温度传感器的初始化工作。在环境温度检测环节测量出外部环境温度,通过查表法调出此温度下声波在空气中的传播速度,为后面中断服务子程序中距离的计算作准备。接下来将P1.0 置为高电平使声纳模块及传感器开始工作,并启动定时器T0 开始计数。下一步打开外部中断0 等待超声波的返回,当超声波遇障返回到传感器后声纳模块的产生高电平信号,此信号通过一个反向器连接到单片机的外部中断0 管脚,成为中断信号;产生中断后进入中断服务子程序。进入中断服务子程序系统关闭声纳模块使其停止工作;并根据定时器中的数据,按照式(4) 计算传感器与障碍物之间的距离。
4.2控制系统软件设计
开始系统初始化通讯接收指令执行相应指令
图4 控制系统软件设计
系统启动后,初始化,然后通过通讯模块接收相应指令并执行。