APP下载

基于分段组合路径规划算法的智能搬运小车设计

2019-12-03郭小锋王文胜

中原工学院学报 2019年5期
关键词:循迹小车传感器

郭小锋, 杨 旭, 王文胜

(中原工学院 机电学院, 河南 郑州 450007)

路径规划算法是提高智能物流分拣作业效率的关键。常见的路径规划算法可分为静态路径规划算法和动态路径规划算法两大类[1]。动态路径规划属于局部路径规划,实时性好,但大多数算法都有容易陷入局部最优解的缺点,在实时性要求不高的场合使用较少。静态路径规划属于全局路径规划,注重解决路径规划的最优性[2],广泛应用于智能搬运小车竞赛及物流搬运作业中。静态路径规划方法主要有栅格法、可视图法、Voronoi图法等[3-5]。其中栅格法具有可靠性高、运算简单等特点,但现有的栅格法多采用单一路径方法,无法适应复杂任务的路径规划问题。为此,本文对多条复杂路径进行分类梳理,将具有共性特征的路径合并,在路径规划时,对各段路径进行编号,合并路径使用相同编号表示,最后通过路径编号组合得到满足任务要求的路径。

在路径规划算法的基础上,本文自主设计并制作了一款能执行物料搬运任务的智能小车,该智能小车能够在铺设有循迹线的场地内自主行走,通过扫描阅读二维码领取搬运任务,自主寻找、识别任务指定的物料,按任务要求的顺序将其搬运至指定的存放地点,并按照要求的位置和方向摆放。所设计的智能小车可应用于物流分拣搬运作业中。

1 总体设计

智能搬运小车采用平行四边形机构的码垛机械臂;考虑小车在水平和竖直方向上的精确移动和定位,行走机构采用麦克纳姆轮底盘,并安装有减震弹簧以保证4个轮子均能可靠着地。小车可以从一定高度的物料平台上将物料搬运至指定的平面区域内。智能搬运小车的总体结构如图1所示。

图1 总体结构图

智能搬运小车系统采用模块化的设计思路[6]。主控系统主要包括电源供电模块、电源稳压模块、STM32单片机最小系统模块、循迹模块、数码管显示模块、颜色识别模块和二维码扫描模块等。智能小车在工作过程中,各模块之间的系统结构如图2所示。

图2 系统结构图

智能小车采用12 V电源,通过降压稳压模块输出不同的电压值分别给8个循迹模块、1个颜色识别模块、1个二维码扫描模块、1个数码管显示模块、2个电机驱动模块、4个舵机及单片机最小系统供电。循迹模块、颜色识别模块、二维码扫描模块和数码管显示模块得到的数据信息都需要输入到单片机控制系统,经过控制算法处理,对电机驱动模块和舵机发出控制指令,从而控制小车运动和机械臂的动作。

2 路径规划

在路径规划时,以搬运行走距离最短为原则,搬运不同颜色的物块所行走的路径各不相同。智能小车的路径规划如图3所示。

图3 路径规划示意图

小车移动时,将小车的中心位置作为移动参考点,图3中A、B、C、D、E、F、G、H和M点分别表示小车运动过程中的关键停止位置,其中B、C和D点表示小车进行颜色识别或物料抓取时的停止位置;F、G和H点表示小车放置物料时的停止位置;M点表示扫描二维码的位置;A点和E点表示小车抓取物料到放置位置时的方向拐点。

图3中,横向和纵向粗实线表示小车的循迹线,小车起始位置在出发区方格内,车身与方格线平行摆放,小车车头朝物料台方向。搬运开始时,小车先横向移动到A、B所在循迹线;之后向前运动到B、C和D点分别进行颜色识别,记录物料的所在位置;再运动到M点扫描二维码获取搬运顺序并将扫描结果通过串口通信发送到数码管显示模块,其中红色、绿色和蓝色在数码管模块上分别用数字1、2和3表示;最后进行路径规划。

小车的路径规划如表1所示。其中每条路径都从M点位置扫码得到任务编号开始,到返回出发区结束。根据图3中各关键点的位置,将小车所行走的路径进行分段,并用数字进行编号。例如,从A点到B点用编号1表示,从B点到A点用编号2表示,箭头的方向代表小车的运动方向。小车行走方向、行走距离和循迹停止条件相同时属于同一路径,用相同数字表示,如从D点到C点路径也用编号2表示。

在纵向运动中,小车从A、C或E点分别运行到F、G或H点的路径用编号16表示;小车从F、G或H点分别到A、C或E点的路径用编号17表示。通过对路径的分段、归类和组合,简化了冗余路径,使控制程序更加简单,在利用栅格法规划较复杂路径时具有借鉴意义。

表1 路径规划表

小车在整个运动过程中,根据运动距离的不同,所设置的运动速度不同。在A、C和E点分别向F、G和H点运动时,小车先以较大速度运动前一半距离,再以较小速度运动后一半距离,保证小车准确地停止在物料放置位置。

表1中括号内的数字表示小车机械臂的搬运动作,如(31)、(32)和(33)表示在物料平台的抓取动作,(34)表示机械臂的放置动作。为了保证每次抓取的准确性和方便调试,机械臂的动作在控制程序中单独实现。另外,为提高小车的执行效率和放置准确度,允许小车在各个抓取和停止位置作微小车身调整。

3 循迹定位系统

要使智能小车在指定的位置进行物料搬取和投放,必须对小车的当前位置进行准确控制和定位。考虑到场地四周的挡板不平整且高度较小(100 mm),采用红外、超声及激光测距等方式均不易实现对小车的准确定位,本文采用红外传感器组合对小车进行准确定位[7-9]。

3.1 循迹过程分析

小车的长度为28 cm,宽度为21 cm,小车底盘安装8个红外传感器。小车移动距离由编码电机控制,考虑到小车在移动过程中会产生滑移等情况,利用红外传感器作为循迹和附加停止条件,确保小车停止位置的准确性。

智能小车的循迹是通过8个红外传感器同时检测路面上预先铺设好的循迹线来工作,轨迹的形状为直线,循迹线宽度为20 mm,小车上2个传感器之间安装距离为25 mm。在检测之前需要对现场场地轨迹进行采样,采样过程是使一侧传感器对应循迹线,此时传感器得到采样最小值;另一侧对应轨迹外部,此时传感器得到采样最大值。传感器得到首次采样结果上传到单片机进行归一化处理,使其最小值接近1,最大值接近1 000。小车在运动过程中,两侧传感器进行实时采样并输出模拟量,通过比较两侧传感器差值的大小就可以得到小车偏离轨迹中心的程度。当小车在出发区时,小车两侧传感器位于轨迹中心的两侧,如图4(a)所示,此时小车不偏离,不需要进行调整,沿直线前进。小车前进过程中向左侧偏离时,如图4(b)所示,此时小车通过左侧车轮加速,右侧车轮减速的方式向右侧调整。小车前进过程中向右侧偏离时,如图4(c)所示,此时小车通过左侧车轮减速,右侧车轮加速的方式向左侧调整。

图4 3种循迹状态

3.2 循迹算法设计

小车控制系统的代码实现过程如图5所示。程序在执行过程中通过左侧传感器的模拟输出值减去右侧传感器的模拟输出值来判断小车向哪个方向偏离。两侧传感器差值越大,小车调整速度越快,小车调整速度的大小通过改变两路PWM的占空比实现[10]。红外传感器在使用过程中受到环境光线的影响,会导致检测循迹线输出的模拟值存在误差,因此,小车前进过程中车身调整不能过于频繁。针对这种情况,设置相应的调整区间,在不同的环境中,通过改变调整区间的长度使小车行进达到最佳效果。

图5 循迹控制系统实现流程

4 整车试验

在实验场地进行了多次测试,小车可顺利完成颜色识别、任务显示和物料搬运放置等功能。将物料摆放顺序和搬运顺序进行任务排列组合,对所有工况进行了实验,为了保证搬运正确性和放置精准度,小车在颜色识别和物料放置过程用时较长,完成一次任务的平均时间为45 s。在整个过程中小车运行平稳,没有出现脱离循迹线的情况,实现了预期的效果。

5 结论

本文提出了一种分段组合的路径规划方法,可有效解决复杂任务的路径规划问题。基于STM32构建了一款智能搬运小车,所设计的搬运小车在颜色识别、路径规划及物料搬运方面具有较高的可靠性;后续通过对编码电机的速度控制及搬运机械臂的优化设计,可进一步提高搬运速度。本文所提出的路径规划方法可推广应用至物流搬运作业中。

猜你喜欢

循迹小车传感器
基于DFT算法的电力巡检无人机循迹检测系统设计
康奈尔大学制造出可拉伸传感器
大车拉小车
自制小车来比赛
简述传感器在物联网中的应用
“传感器新闻”会带来什么
浅谈基于机器视觉和姿态检测的循迹智能车
跟踪导练(三)2
刘老师想开小车
两轮自平衡小车的设计与实现