采用新型的超声波传感器,设计并开发基于ARM9与嵌入式linux为平台的轮式移动机器人平台的下的未知环境的避障导航系统。本文重点介绍该超声波传感器的实现原理以及在机器人平台中的整个软件实现流程以及控制机器人行走的实现方法。
【超声波移动机器人导航设计方法】
在移动机器人领域,导航是至关重要的技术之一,而超声波传感器因其成本低、技术成熟、易于实现等特点,常被用于构建避障导航系统。本文主要探讨如何利用超声波传感器在基于ARM9处理器和嵌入式Linux系统的轮式移动机器人平台上实现未知环境的避障导航。
1. **超声波传感器工作原理**
超声波传感器,如SRF05,通过发送高频脉冲(40kHz)并测量回波时间来确定与物体之间的距离。当发送一个10us的触发脉冲后,传感器会发射8个周期的超声波。回波口上的高电平表示超声波已发射,定时器开始计时。当回波口变为低电平时,表明遇到障碍物,停止计时,脉宽与距离成正比。SRF05的测距范围为1cm至4m,无回波时,定时器周期需大于30ms。
2. **超声波测距软件实现**
- **回波检测**:由于硬件中断限制,需要通过软件方法实现回波检测。首先设定两个延时函数usdelay()和msdelay(),前者用于触发后等待10us,后者用于控制整个测距周期。设置外部中断eint1接收回波信号,并配置为下降沿触发,当检测到下降沿时,关闭定时器并读取脉宽。
- **触发机制**:通过精确的软件计时函数usdelay()产生10us的高脉冲触发超声波发射,而msdelay()用于控制总的测距过程,确保回波检测时间充足且不干扰其他超声波信号。
- **定时器与中断**:使用定时器计算脉宽,外部中断接收到回波下降沿时关闭定时器。初始化定时器和外部中断,以确保足够的时间来计算回波时间。
- **距离计算**:在中断服务程序中,根据脉宽和声速计算距离。声速随温度变化,一般取约343.2m/s。
3. **循环控制与轮询测距**
为了避免超声波之间的相互干扰,采用轮询方式依次测量每个超声波传感器,每次只激活一个。通过调整定时器周期,如35ms,可在140ms内完成四路超声波的轮询,满足实时性需求。
4. **机器人控制实现**
测距数据通过Linux系统的字符设备接口从驱动层传递到应用程序。应用层包含避障算法,依据超声波数据和机器人即时速度控制直流电机,实现避障导航。触摸屏界面允许用户设置运行参数,如速度、图像采集、超声波模块开关,以及选择模糊算法或PID调节,提供多种导航策略。
本文详细阐述了如何利用超声波传感器在基于ARM9和嵌入式Linux的机器人平台上实现避障导航。从传感器的工作原理到软件实现,再到机器人控制策略,构建了一个完整的超声波导航系统,为移动机器人的自主导航提供了实用的解决方案。