毛福新,闫光辉,2,陈俏锐,项 波
(1.天津职业技术师范大学工程实训中心,天津 300222;2.天津市绿安智科技有限公司,天津 300350)
根据2021年中国大学生工程实践与创新能力大赛中的“智能+”赛道——智能物流搬运赛项,以智能制造的现实和未来发展为主题,自主设计并制作了一台按照给定任务完成物料搬运的智能机器人(以下简称机器人)[1]。该机器人主要任务是在地面图案为黑色方格组成的正方形平面场地内,机器人从出发区开始,经过原料区识别物料颜色后,将物料按顺序搬运至粗加工区对应的色环内,再搬运到半成品区对应色环内码垛,最后停止在返回区。为实现上述任务,研究小组查阅了相关的文献,文献[2-3]中提出了机器人底盘车轮的2种安装方式,分别为由4个全向轮和3个麦克纳姆轮组成。全向轮组成的底盘与地面接触少,其旋转轴与地面往往会存在距离波动,效率不高,容易出现打滑现象;3个麦克纳姆轮组成的底盘通常为圆形,难以实现高精度移动控制。文献[4-5]中提出了机器人机械臂的设计方案,分别为平行四边形连杆和U型架拼装结构:平行四边形连杆结构运动累计误差较大,影响传动精度,且自由度较差;U型架拼装结构安装间隙叠加,重复精度非常不牢靠。文献[6]中提出循迹模块使用T型排布方案,而竞赛中循迹黑线宽度(有效检测范围)为20 mm,若因机械臂运动惯性导致机器人位置发生偏移,则T型排布方案会影响放置的精确度。文献[7-8]中提出使用动态阈值的方法判断循迹黑线,该方法稳定性高,但开关量无法量化循迹精度,依然存在微量的误差。文献[9-14]中提出利用OpenMV的图像滤波、阈值、局部特征等算法对摄像头采集的图像进行处理,但该算法过于复杂,且处理结果易受设备更换和外部环境变化影响,识别准确率不高。分析上述文献设计的优缺点,同时结合天津赛区选拔赛的结果,分析出机器人的失分点集中在物料颜色识别、循迹稳定程度、位置精确定位、机械臂结构设计4个方面。因此,本文提出机器人底盘车轮的麦克纳姆轮安装方式为“O-长方形安装”,对智能机器人进行了系统优化。
机器人结构示意图如图1所示。
图1 机器人结构示意图
为提高机器人移动的灵活性,使用基于麦克纳姆轮组成的全向底盘。采用共轴双板连接器连接前部底盘和后部底盘,在前部底盘的左右两侧以及后部底盘的左右两侧均安装麦克纳姆轮;在前部底盘的前部边缘、后部底盘的左右两侧边缘及后部边缘均安装循迹传感器;在后部底盘的中部安装回转机械云台,在回转机械云台上安装机械臂,在机械臂的前部安装机械爪;在后部底盘上通过支撑立柱安装上底盘,在上底盘上安装多个用于放置物料的物料托盘。在后部底盘上还安装摄像组件、激光测距组件以及控制主板等硬件电路,使机器人具备自主感知和行为规划功能,从而可以更好地完成任务。
“手臂型”机械臂的任务是完成物料的抓取和放置,如果机械臂太短则无法完成指定位置物料的抓取或者放置,但机械臂也不宜过长,因为机械臂长度与机械臂行程时间、末端误差呈正比关系。综上因素,机械臂2节长度的设计需经过合理计算,具体长度计算分析过程如下。
(1)机械臂第1节长度的计算。根据竞赛要求,选取机械臂实际达到的最远距离并测量,测量的各项参数如图2所示。
图2 机械臂长度理论分析图
图2中,D和H为机器人放置物料后影响机械臂活动的长和宽范围(可测量),故将放置物料后的尺寸定为模型参数,利用由D、H和L1′组成的直角三角形,可确定机械臂第1节最短长度L1′。机器人运行过程中,为避免因物料或者机械臂晃动而造成物料与机械臂的碰撞,将长度增加了14 mm,确定机械臂第1节真实长度为L1=L1′+14 mm。
(2)机械臂第2节长度的计算。将机械臂第1节从A点延伸与经过B点的水平线相交,图2中L2、L1+L3和D1+D2组成三角形关系。然后,得到图2中由D、H和L1′组成的三角形与由D2+D、H+H1和L3+L1′组成的三角形为相似三角形,其关系式为
式中:H1、H和D已知,求得辅助三角形(D2、H1和L3)水平边长D2。
在辅助三角形两直角边(D2、H1)均已知的情况下,使用反三角函数中的反正切函数,得出辅助三角形中直角边D2与斜边L3的夹角θ,其表达式为
图2中,由L2、L1+L3和D1+D2组成的三角形,在已知两边(L1+L3、D1+D2)及夹角θ的情况下,由式(3)求得机械臂第2节长度L2为
循迹传感器是全场定位的基础,间接决定物料放置的精准程度,这也是竞赛中重要考核指标。场地设在只有日光灯照射的室内,无阳光直射,也无其他相近波长光源的干扰,且循迹色差较大(黑色和黄色),因此选择抗日光灯光线较强的红外传感器。赛题中给定的循迹黑线线宽为20 mm,为保证循迹的精度,本设计将每对传感器水平间距设置为10 mm。单侧循迹传感器分布示意如图3所示,循迹方法误差示意如图4所示。
图3 单侧循迹传感器分布示意图
图4 循迹方法误差示意图
根据比赛场地及竞赛任务,制定软件控制系统和控制策略,列出机器人程序运行流程如图5所示。
图5 程序运行流程图
2.1.1 传感器数值归一化
红外传感器输出的模拟量会随着被反射回来光线的强弱而变化,单片机根据变化趋势调整循迹的方向。机器人经过循迹黑线时模拟量值约为2 100,在非黑线区域模拟量值约为130,故黑线可以被检测。但随着环境的更换,机器人检测到的模拟量值也会发生变化。为解决该问题,机器人更换环境后需要采集新环境下的红外传感器返回值,得到传感器的最大值(ADmax)和最小值(ADmin),方便程序进行下一步的归一化处理。
归一化就是把采集的数据经过处理后,使数据限制在一定范围内,其目的是方便后续数据的处理及保证数据的收敛。为方便程序的量化,归一化后的数值范围设定为0~100,具体归一化公式为
式中:AD为当前采集模拟量的返回值。
2.1.2 传感器检测算法
根据红外传感器越靠近黑色值越高的理论来假设传感器的数据,传感器偏移位置示意图如图6所示。
图6 传感器偏移位置示意图
图6中,4号和6号传感器在不同位置时的反馈值规律为:一个增大的同时,另一个减小,说明二者呈负相关关系。根据负相关关系的数学特性,计算传感器的线性偏移系数
式中:left、right分别为图6中4号和6号传感器的归一化值。
根据图6中4号和6号传感器的位置,采集反馈值,然后计算传感器偏移系数,具体数据如表1所示。
表1 传感器偏移系数与偏移位置的关系
表1表明:通过计算数值符号,可判断传感器在循迹黑线的左侧还是右侧;传感器距离循迹黑线的距离越近,差比和计算的绝对值越小,因此数值大小表示偏移循迹黑线的程度(物理样机中该数值表示舵机偏转的系数)。在归一化范围内传感器偏移循迹黑线越远,计算出来的值越大,经过单片机控制车轮方向,使机器人一直沿着循迹黑线前进。
(1)双重计算,防止丢线。在机器人四周均安装循迹传感器,使用前后方向的传感器双重计算经过黑色方格的数量,提高机器人的适应能力,保证一方向检测失误的情况下,另一方向能够弥补。
(2)时间限制,防止多线。机器人行驶过程中,有可能遇到颠簸路段或者相近波长光源干扰等情况,为减少不良环境的影响,采用时间限制的手段,避免黑色方格数量重复计算。时间限制示意图如图7所示。图中:位置A点为机器人通过黑色方格后瞬间点;位置B点为机器人传感器使能时间点;位置C点为机器人检测到黑色方格内边缘;T为机器人通过黑色方格的时间。
图7 时间限制示意图
实施过程为:首先检测位置A点的机器人速度,记为S;大约计算出机器人通过黑色方格的时间T=W/S,W为黑色方格内边缘的宽度;通过时间限制,对传递函数f(t)值适当地取舍,可防止误检测数据参与计算,时间阈值设置为2T/3,表达式为
式中:OUT为所有传感器数据归一化后输出的实时状态。
到下一个位置A点出现后,重复实施过程,循环完成剩余任务。
(3)目标位置,手动示教。经过步骤计算后,机器人达到目标位置,根据传感器的反馈再由电机的电流环PID参数调整,实现定位误差在±1 mm以内。机器人自动定位校准完成后,接下来进行手动位置示教,即外接遥控器由人工操作引导机械臂末端执行器来使机器人完成特定的预期动作,而机器人将示教操作存储起来[15]。全部示教完成后,机器人可在自动运行过程中根据记忆重复再现示教操作。
竞赛要求机器人移动到原料区识别物料颜色,其中原料区的上层及下层分别包含红、绿、蓝物料各1个,共计6个物料。为节约时间,提高机器人执行任务的效率,采用定点一次性识别6个物料的方式。
2.3.1 多物料标定方法
定点识别位置与原料区物料位置距离确定,利用简单的小孔成像原理,摄像头成像面坐标系到摄像头坐标系的标定表达式为
式中:fw、fh分别为摄像头宽和高的像素分辨率;Dx、Dy分别为摄像头成像面中物料距起点的水平和垂直距离;H1、H2分别为摄像头成像面中物料的高度和成像面的总高度;W1、W2分别为摄像头成像面中物料的宽度和成像面的总宽度,以上参数均为已知项。
分别计算出6个物料映射到摄像头镜头内的像素点区域起点坐标(x,y)、宽度w以及高度值h。
2.3.2 颜色识别方法
物料对应的RGB原色组合值为红(255,0,0)、绿(0,255,0)、蓝(0,0,255)。通过RGB原色组合值分别得出红、绿、蓝分量最大值。识别的物料颜色仅有红、绿、蓝三色,依此推测:若RGB原色组合值中某一个分量值最大,则该组合颜色是接近原色的色相。该方法称为最大值邻近法。
由于单个像素点信息易受光线或者更换设备的影响,从而造成识别错误,因此要增大判断的像素范围,也就是优化识别方法:将识别范围从点提高成面,但面的范围必须为物料的映射区域内(映射区域见式(7))。将标定范围内的多个像素点原色分量值分别求和,再比较,然后根据最大值邻近法判断出所识别物料的颜色。优化后的方法,一方面可避免单个像素点异常引起的识别错误,进一步提高颜色识别准确率;另一方面有效规避因光线变化和设备更换所带来的识别干扰,且不需要白平衡。最大值邻近法的使用具有一定的局限性,适合于识别颜色种类少且颜色色差较大的物料。如果物料的颜色种类较多且颜色色差接近,则不能使用该方法。
开机后测试机器人在初始位置偏移中心的距离不同时,行驶330 cm过程中黑线垂直上方传感器序号随时间变化的数据(传感器器序号分布见图3)。利用传感器开关量算法进行测试,测试结果如图8所示。优化程序采用传感器差比和算法进行测试,传感器差比和算法测试结果如图9所示。
图8 传感器开关量算法测试结果
图9 传感器差比和算法测试结果
图8和图9横坐标的时间步进值为8 ms/格。从图8和图9可以看出,图8中传感器序号在4、5、6间震荡比较严重,且临近目标点位置时,机器人减速状态下震荡仍在持续,这不利于机器人的精确定位;图9中传感器序号在4、5、6间震荡频率明显降低,临近目标点位置时,机器人减速状态下震荡消失,循迹移动定位误差达到±1 mm。
开机后将机器人放置于黑色方格的十字交叉点处,通过观察数据验证全场定位方法的应用效果。图10为机器人通过6个黑色方格的相关数据。
图10中横坐标时间步进值为8 ms,0为检测到黑线,1为未检测到黑线。
图10中,A点(94,1)到B点(136,1)为数据禁用时间t,且全部在有效区间内;A点到D点(160,1)为前排传感器完成一个周期的时间T,由此得出t与T的占比关系K为
图10 全场定位方法测试结果图
式(8)结果验证了式(6)的算法思路是正确的。
开机后机器人自动行驶到物料识别位置后停止,通过OpenMV读取绿色物料标定区域内的30×30像素点内所有原色分量值,如图11所示。
从图11可知,绿色原色分量值最大;随着像素点位置变化导致光线不均匀的情况下,各原色分量值均约为周期性变化,且原色G(绿色)分量值仍然为最高,仅仅是RGB原色分量值之间差值发生变化;说明光线的变化未对识别结果有影响。为证明该方法的稳定性,分别采集红、绿、蓝物料标定区域内多种像素点范围的各原色分量值,为使数据的呈现形式更容易解读,取对应各原色分量值的平均值列表,红、绿、蓝物料标定区域内多种像素点范围RGB分量平均值如表2所示。
图11 30×30像素区域内绿色物料RGB分量值
从表2可知,在红色物料情况下,虽然区域编号不同,但每个区域编号中R分量值始终是最高值,该结论同样适用于绿色物料和蓝色物料情况下;标定区域内随着像素点范围的增大,原色分量的最大值也随之增加。
表2 红、绿、蓝物料标定区域内多种像素点范围RGB分量平均值
本研究设计的物理样机实验测试数据的重复性相似度高,2021年中国大学生工程实践与创新能力大赛(教育部A类竞赛)冠军团队针对物流车存在的问题,提出了新的有效的解决方案,如利用几何观点推理机械臂的臂展长度、布局传感器位置、使用差比和量化循迹精度、利用多种反馈保障全场定位的准确性以及采用小孔成像+最大值邻近法对颜色进行识别等,使机器人运行及控制精度指标得到一定程度的改善。但实际应用过程中仍存在一些问题,如颜色识别方法易受场景限制,通用性不足;因循迹模块的硬件设计问题,循迹精度提高难度大,可将循迹模块更换为线阵CCD。在“中国制造2025”国家战略背景下,智能物流机器人正处于技术迭代完善的过程中,本设计方案旨在为未来智能物流机器人设计提供参考。