
自主巡航道路划线机器人
作者 赵杰斌 冯惠
摘 要:为解决当前市场上所存在的道路标线机器人标线定位不够准确,可靠性不高,标线类型固定,应用环境受限等问题,我们将采用市场上主流的机器人操作系统——ROS系统来作为核心数据处理单元,下位机搭载STM32F103RCT6单片机作为运动控制单元。我们在深入了解道路标线机发展现状的基础上,结合实际的道路划线需求,我们可以实现自主定位、自动喷涂多种标线及图形字符等功能;与此同时,能够将人力从简单且危险的重复性工作中解放出来。因此研究设计出一款能够喷涂图形和字符的自动化智能标线机器人对当前道路划线产业的发展具有重要的意义。
关键词:道路标线机器人;ROS系统;STM32F103RCT6;自主定位;标线;图形;字符
1.设计方案
1.1 控制模块介绍
采用STM32系列单片机。这款单片机采用了Tail-chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中端。它具有一个32位的内核,处理速度明显优于51单片机。
1.2 循线模块介绍
采用摄像头与激光投影循迹与避障,感知车体与路面的相对位置信息,透视距离远,图像损失小,识别路径更加稳定。
1.3 喷涂结构选型介绍
采用X轴、Y轴双轴的运动结构,在考虑传统标线局限性的条件下,该结构可以灵活的实现多图案绘制。在考虑受干扰程度最小情况下,最终决定采用方案二。
1.4 涂料选择介绍
冷喷划线叉称为常温划线,是一种不需要对涂料进行加热,直接通过稀释涂料到一定程度后使用冷喷划线机进行划线的方法。冷喷划线机技照划线方式的不同可分为高压无气喷涂和低压有气喷涂两种类型。低压有气喷涂是一种通过压缩空气来冲击低压涂料,便之雾化的喷涂方式;高压无气喷涂方式则使用高压隔膜泵直接将涂料加压,形成高压力的涂料,喷出喷枪口形成雾化气流作用于路面。冷喷划线具有成本更低色泽清晰、工艺简单喷涂均匀的优点,使用较为广泛,但持久性低一些,需要经常性地更新。
1.5 核心控制方案介绍
对于该机器人我们采用了树莓派作为处理控制的核心单元,并结合使用下位机STM32来控制运动。另外,我们通过程序将喷涂标记处理转化成为喷头张口的宽度信息,再将收集到的编码器信息以及配合双目摄像头使用的激光雷达所采集到的数据都上传给上位机进行深度处理。上位机数据处理完成后,再把数据结果传给单片机进行喷漆控制。我们通过改变PWM的占空比来控制舵机的精准转动,而舵机自身的角度转动可以用来控制喷头张口的大小,以此来进行各种字符和图案中线条粗细的控制。同时,我们通过改变单片机输出的控制脉冲数和脉冲频率来控制步进电机的转速,步进电机的自由转动可以使喷头能够在它自身所在的车体平面上自由移动,从而能够实现自主喷涂。使用者将喷涂信息从控制器中输入,再通过以上控制原理对车体进行移动、对喷头大小进行控制,对喷头位置及喷头运动轨迹进行控制来实现各种标记的绘制。我们经过实践及应用了解到该控制系统设计方案稳定可靠且制造成本相较来说比较经济实惠,同时该方案的喷涂精度相较于市面上已存在的划线机来说,更为精准,更为可靠。因此,该智能划线机器人在道路上可以胜任自主识别划线区域,以及能够完成各项道路标记的任务。
2机器人系统功能及实现
2.1 工作原理
该机器人主要包括运动控制单元、导航与定位单元、传感器单元和人机交互单元即行进装置、感知装置、接收装置、发送装置、控制装置、执行装置、存储装置、交互装置等;所述感知装置将道路平面中感知到的信息传送给控制装置,装置装置指令执行装置作出响应。在硬件上,此款机器人采用stm32单片机、双目摄像头、激光雷达模块、驱动模块、树莓派模块、GPS模块、涂料供给模块等模块化设计实现功能。
2.2 工作过程
使用者通过专门的机器人开发系统—ROS,作为独立控制系统。对机器人预下设定的launch文件进行运行。实现多节点并行执行,让机器人提前处于待命状态,等待一键启动指令。一键启动完成后,该机器人在激光雷达和双目摄像头配合下开始进行三维实景建模,同时由STM32控制的北斗定位系统开始进行区域定位。另外,我们可以通过将该机器与手机端连接相同的IP地址的WIFI必须与机器人端在相同的IP下运行,进入ROS终端后,查看APP配置文件,执行launch文件内容,可将摄像头检测的图像传到手机端。
当机器人完成实景建模和区域定位后,上位机会给下位机一个运动指令,此时下位机开始运动,将编码器参数实时传给ROS系统,配合建立的地图模型进行自主导航,同时机器人利用摄像头实时采集的道路图像信息,通过图像处理和视觉识别算法,来进行障碍物和原有标线的识别,根据“大脑”内设定的程序作出最优路径的选择,从而完成最优路径的规划,用户需要提前设定喷涂图案节点。当到达指定地点时,该机器自动执行相应节点的内容,最终实现自主道路标线功能。机器人运动轨迹确定,可以扫除所有死角。当电源电量低时会自动进行电量预警状态,工作人员接收到传回数据给机器安排充电。
2.3 模块化设计
stm32单片机作为这款机器人的“大脑”控制着机器人一切功能的实现。首先它是使用用途非常广泛的arm内核。集成了非常丰富的接口,通信模块以及其他功能模块,便于各个模块的连接和总体功能的实现。
2.4实现功能
1、在编码电机传回的相关速度参数及激光雷达的相互配合下绘制成三维地图。通过两者参数的融合,进行slarm算法,可实现道路标线机器人自主导航功能。
2、利用北斗定位系统,实现高效高精度的实时局域定位功能。
3、使用opencv的边缘检测接口Canny函数,利用Canny算法的简便性可以实现边缘检测。
4、摄像头可将实时道路图像信息进行采集,在图像处理和模式识别算法的相互配合下,进行路面障碍物和原有标线识别。
5、开启USB摄像头后,可以通过手机APP查看路面情况,手机实时接收云端传回的路面信息,同时配合北斗定位系统实现精准定位。另外,手机端可以打断自动导航系统,实现远程控制。
6、阵列式喷涂可实现路标图案绘制,在x轴、y轴运动结构配合下可实现汉字、图形等复杂图案的绘制。