基于ARM的轮式机器人避障系统设计

0引言

轮式机器人作为机器人的一个重要分支学科,因移动速度快、运动效率高等优点,在工业、农业、国防、采矿、太空探索等领域有着广阔的应用场景。其避障问题是该领域的研究热点,多年来已经积累了丰富的研究成果。文献[3,4]中提到的A’算法、D算法能够择出路径最短且避障最成功的最优路径,可以解决特定环境下含不规则障碍物的避障规划,缺点是当环境改变,起始点及目标改变后,需要重新计算路径,环境适应性比较差;文献[5]提出的蚁群算法,其优点在于能够不断地反馈,自适应调整策略,进而搜索出最优路径,缺点是计算量大,在动态未知环境中不能有效的躲避障碍物。

在实际应用中,例如类似无人驾驶车辆、扫地机器人等工作环境往往处于动态未知环境。在未知环境中,机器人避障的具体过程首先是需要通过传感器探测障碍物信息,进而处理器做出相应的决策运动。文献[7]中提到的应用在未知环境中的避障算法主要有:神经网络法、模糊避障法、遗传算法。其中,神经网络法、遗传算法能够很好地解决复杂环境下机器人的避障问题,缺点是计算量大、需要考虑的参数很多、运算速度较慢、进化需要占据较大的运算时间和存储空间,导致实时性较差。轮式机器人在移动时,环境处于动态变化中,作为时变的线性系统,采用模糊控制能够很好的解决类似的问题。

本文采用超声波和红外传感器采集障碍物信息,设定探测范围,障碍物进入探测范围时视为有效障碍物,将模糊控制技术与多传感器技术融合。通过实验验证,方法能够降低碰撞可能性。

1轮式机器人的系统结构

为有助于解决轮式机器人在未知环境中的避障问题,采用小车底盘作为轮式机器人模型,采用基于ARM Cortex-M3内核的STM32F103作为主控芯片,利用前后轮的差速来调整轮式机器人的方向,系统结构可以分为信息采集层、决策层、执行层三层结构。在轮式机器人运行过程中,由红外传感器和超声波作为信息采集层,将采集到的环境信息传输给主控制器,然后根据模糊控制算法作出相应的决策指令,轮式机器人根据指令执行相应的动作,实现了轮式机器人避障、调速、防高平台跌落等功能。

2硬件设计

以STM32F103为主控制器,直流电机提供驱动力,超声波传感器和红外避障模块采集未知动态环境中障碍物信息及防高平台跌落标志线信息。其硬件结构框图如图1所示。
基于ARM的轮式机器人避障系统设计
2.1信息采集模块

采用多传感器信息融合的方法,从多层面、多角度、多方向来充分采集环境信息。将HC-SRO4型超声波传感器和舵机通过超声波云台结合在一起放在机器人底盘最前端来检测障碍物的距离信息,通过转动舵机获取小车各个方向障碍物的距离;采用TCRT5000红外反射传感器为探测传感器,红外传感器共分为8路,其整体布局如图2所示,1*,2用来弥补超声波盲区的缺陷,用于紧急避障,9°为超声波云平台,获取各个方向障碍物的距离,38°用于防高平台跌落,通过对每只传感器数据的检测,可以实现对障碍物、防高平台跌落标志线的检测,在寻迹场合也可实现寻迹的功能。
基于ARM的轮式机器人避障系统设计
2.2电机驱动模块

采用L298N芯片作为驱动芯片。1个L298N可以驱动2路直流电机;使用4个直流电机,车体左边2个电机为一路,车体右边2个电机为另外一路。通过接口发送PWM波调节电机转速,并通过差速来控制转向,实现了轮式机器人速度、方向可控。
基于ARM的轮式机器人避障系统设计

3软件设计

软件设计主要包括:读取信息采集模块采集的数据,处理数据,发出指令,实现避障、调速、转向、防高平台跌落等功能。系统软件流程图如图3所示。其中根据硬件设计将红外传感器在没有接收到反射回来光线时记为1。
基于ARM的轮式机器人避障系统设计
3.1高台边缘检测程序设计

采用宽度为0.05m的黑色胶带作为高平台边缘标记,小车前端底部的3个红外模块检测到黑色胶带时,给单片机一个低电平信号,小车停止运动,向后退,检测左右有无障碍物,若没有,则通过控制电机的速度来实现小车逐次转4个45°,即小车掉头,然后直线行驶,返回。

3.2避障程序设计

采用红外传感器和超声波传感器探测障碍,处理程序采用模糊控制算法。其中,超声波传感器模块程序通过ARM芯片的I/O口输出超声波传感器所需的高电平触发信号,红外传感器连接的I/0口输入设为下降沿中断,当主程序遇到中断请求时去执行相应的处理程序,处理程序执行完后继续回到主程序。

模糊控制是模仿人类大脑对不确定性事物和未知模型进行思维推理,实行模糊综合判断的一种智能控制方式。其主要的原理如图4所示。
基于ARM的轮式机器人避障系统设计
输入量为超声波传感器与红外传感器采集到的障碍物距离信息。将机器人与障碍物的相对位置信息模糊化分成图5所示的8种情况,记障碍物与机器人左方、前方、右方的距离分别为d,da,d。

1)测试机器人周围无障碍物,其按照原来的方向和速度行驶,见图5(a)所示。

2)测试机器人至少前方无障碍物,其按照原来的方向和速度行驶,见图5(b)、(d)、(f)所示。

3)当障碍物距机器人右(左)侧距离大时,机器人左(右)转,见图5(c),(e),(h)所示。

4)当障碍物在机器人正前方且离小车很近时,则需先后退再获取障碍物信息来决定机器人左转还是右转。见图5(g)所示。

5)机器人右(左)转时,控制机器人的前轮向右(左)转同时控制驱动后轮减速。当全部通过障碍物后,控制前轮向左(右)转向,使其回到道路中心线行驶。
基于ARM的轮式机器人避障系统设计
根据图6的模糊处理,在编程时采用If-Then语句来创建模糊规则,系统中,模拟道路宽度为0.5m,智能小车宽度0.16m,长度0.25m。舵机的输出角控制在[0°,180°],超声波探测距离为[0.02,0.45]m,精度可达0.003m,当障碍物在安全距离中时不会影响机器人的运行,视为无效障碍物。经过多次试验,调整各个参数,避障流程图如图6所示。当超声波检测到d。<0.1m时,视为前方有障碍物,再次检测,由于此时机器人仍在运动,d。减小,若此时d。<0.08m,则机器人后退,后退距离由延时函数确定,当退出后退程序后,机器人停止运动,再次通过超声波测得dm,d,d.值,若此时d。>0.08m,则机器人直接停止运动,测得3个距离。让机器人静止是为了更加准确的利用超声测出障碍物距机器人前、左、右3个方向的距离,然后判断机器人的运行方向。
基于ARM的轮式机器人避障系统设计

4实验结果与分析

为了验证系统的运行情况,设计了测试环境。采用黑线作为高台边缘,用不同形状的障碍物、利用了四驱的底盘作为测试模型进行了系统测试。对小车调试运行之后,完成了自动避障,防跌落的实验,其测试实物图如图7所示,测试统计结果如表1所示。实验结果表明,采用模糊控制算法和多传感器结合的方法能够有效解决轮式机器人避障、防跌落问题。存在的缺陷是,在测试过程中,遇到不规则障碍物如凹形、凸形等障碍物时,其避障成功率相对减少,但整体水平较高,在20次避障实验中,防跌落成功率达到90%,障碍物规则时避障成功率高。

5结论

实验结果表明:模糊算法在解决非线性系统中的优势。在简单的环境下,移动机器人能够灵活、准确地避开障碍物,到达终点,也能够有效避免高台摔落。但当障碍物形状不规则时且分布复杂时,避障容易失误。因此,还需要进一步改进避障算法,下一步将考虑将模糊控制算法和其他算法相结合,利用各自的优点使得避障更加顺利。

基于ARM的轮式机器人避障系统设计-AGV吧
基于ARM的轮式机器人避障系统设计
此内容为付费资源,请付费后查看
20积分
付费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容