无人仓多搬运机器人协同作业轨迹自动控制研究

2023-03-04 13:25李诣坤韦思亮
计算机测量与控制 2023年2期
关键词:无人轨迹控制器

李诣坤,韦思亮

(1.东北大学 信息科学与工程学院,沈阳 110819;2.中国电力工程顾问集团 华北电力设计院有限公司,北京 100120)

0 引言

由于机器人在感知和操作上的快速发展能够在最大程度上满足仓库搬运作业的自动化要求,因此将搬运机器人应用到仓库环境中,以实现仓库的无人化管理与运行,提高整个仓库工作的可扩展性和稳健性。无人仓就是利用自动立体存储、3D视觉识别、自动包装、人工智能、物联网等先进技术,达成各种设备、机器、系统间的高效协同。无人仓的普及提高了仓库的管理与运行效率,同时也为机器人提供了工作条件[1]。用于无人仓搬运工作的机器人是一种新型移动机器人,在仓库中铺设磁轨、导航路线、定位信标等指示装置,结合运动控制、任务规划、传感器等技术手段,根据所提供的信息精确定位与规划路径,从而顺利运输可移动货架,使工作人员与货架之间的联系更加紧密。

为了完成复杂的无人仓搬运工作,降低单个机器人的任务量,在无人仓采用多搬运机器人协同工作的模式。与单个搬运机器人相比,多搬运机器人能够开展大量的机器人协同工作,对不完全、不确定的信息进行处理,从而完成更复杂的工作任务。在工作环境改变或系统局部失效的情况下,多个搬运机器人可以通过自身的组织功能和协同机制,重新建立起彼此间的协同关系。多搬运机器人之间的协同更符合现代先进制造系统对柔性、智能化、网络化的需求,使其自动化水平得到了全面的提升。

为了避免多搬运机器人在工作过程中发生碰撞,需要对每个搬运机器人的工作轨迹进行规划,设计无人仓多搬运机器人协同作业轨迹自动控制方法,保证各个搬运机器人的实际轨迹与规划轨迹一致。现阶段发展较为成熟的无人仓使用的多搬运机器人协同作业轨迹自动控制方法也有很多,例如文献[2]提出多仓储机器人协同路径规划与作业避碰控制方法,以蚁群算法为基础设计新启发式函数,结合路径实际参数与可选节点的数量设计多仓储机器人协同作业避障规则,并对信息素进行更新,以此寻找最优避障路径,根据寻优结果控制机器人在该条路径上行进。文献[3]提出基于Udwadia-Kalaba理论的协作机器人轨迹跟踪控制方法。利用Udwadia-Kalaba理论设置协作机器人运动轨迹寻优过程中的约束条条件,以此确定协作机器人运动过程中存在的不确定因素,以此设计一个产生近似约束的控制器,利用该控制器实现协作机器人轨迹跟踪控制。文献[4]提出双机协同作业机器人的协作工作空间设计与轨迹控制方法,该方法利用D-H法建立机器人坐标系,并对空间位姿进行变化处理,结合运动学模型求解结果与蒙特卡罗法实现协作工作空间设计,通过确定轨迹控制影响因素进行轨迹控制。

然而在实际控制过程中存在明显的控制效果不佳的问题,主要体现在搬运机器人碰撞以及搬运轨迹运行偏差两个方面,为此需要对无人仓多搬运机器人协同作业轨迹自动控制方法进行优化设计,以期能够提高控制方法的控制效果,间接地提高无人仓搬运工作的执行效率。

1 多搬运机器人协同作业轨迹自动控制方法设计

1.1 构建无人仓环境场景

无人仓多搬运机器人协同作业轨迹的规划与控制以实际环境为背景,将路径信息、障碍物和移动机器人的位置等信息提取出来,并将其建模成数学语言,从而为下一步的路径搜索和路径平滑奠定基础。为了解决多搬运机器人的路径规划问题,构建无人仓库的环境情景是非常有必要的。在优化设计的轨迹自动控制方法中采用栅格图建模法,即将无人仓的工作环境分成若干块大小相等的格子,并对有障碍物和没有障碍物的网格进行赋值,然后再根据这些网格进行路径搜索。栅格图建模的核心是网格的分辨率,如果网格的分辨率太低,很难对障碍物进行清晰描述,如果网格的分辨率过高,则会增加计算量,所以需要将网格的分辨率设定在一个合理的区间内[2]。网格模型的建立方法简单,且能更精确地获得路径信息。以无人仓任意一角作为原点建立直角坐标系,坐标系的水平和竖直方向分别表示的是无人仓的长度和宽度,设组成无人仓环境场景的栅格边长为lgrid,则横竖两个坐标系上设置的栅格数量分别为:

(1)

式中,lx和ly分别为无人仓的长度和宽度数据,INT()为取整函数。在确定无人仓环境栅格数量后,对构建直角坐标系中的栅格进行编号,编号过程可以量化表示为:

(2)

其中:(xi,yi)为无人仓环境中的任意一点,xmax和ymax为坐标系中栅格坐标最大值在水平和竖直两个方向上的分量[3]。根据无人仓环境场景中各个坐标位置上货架与货物的放置情况,对各个栅格空间进行赋值,赋值结果可以表示为:

(3)

式(3)中,P为无人仓中货架与货物放置空间集合。若计算得出任意坐标位置的p(xi,yi)取值为1,则证明当前栅格表示的是障碍区域,也就是无人仓中的货架位置,否则为空闲位置,也就是多搬运机器人的可通行区域。

1.2 建立搬运机器人数学模型

从组成结构来看,搬运机器人由移动装置、驱动器和各种类型的传感器组成,每一个移动装置都有3个方向的完全自由度,能完成前后平移、左右平移和任意角度转动[4]。无人仓移动机器人采用麦克纳姆轮结构,内部有4个麦克纳姆轮,它使车轮左右滚动,从而使每个车轮产生一个与轮基对角轴基本呈直角的作用力,改变转速和转动方向,进而使机器人能够在任意方向上运动。图1为搬运机器人的基本组成结构。

图1 无人仓搬运机器人组成结构图

搬运机器人控制系统工作流程可以分为两个部分:第一部分是利用可视化的方法识别货物的前部和边角,将目标货物的位置信息传输给控制器,然后由控制器确定相应的控制策略,控制连接移动机器人的转锁与货柜的拐角[5]。第二部分是在搬运机器人将货物提升后,由可视化系统进行识别和判断,由控制器根据车辆行驶路线进行控制,最后将货物运送到指定位置。结合机器人的运动与搬运操作原理,构建对应的运动学模型并进行正逆运动学的分析。无人仓搬运机器人在XYZ坐标系下的运动学方程可以表示为:

(4)

式(4)中,x和y表示的是搬运机器人各个组成部件在水平和竖直方向上的位置坐标,φ为部件的姿态角,另外变量ν表示的是搬运机器人的速度指令。在电机的驱动下,搬运机器人及被搬运货物的动力学模型可以描述为:

(5)

式中,变量H(q)、Fcentr(q)和μ(q)分别表示的是机器人的惯性矩阵、离心力矢量以及关节摩擦力矢量,Grobot(q)为搬运机器人重力矢量,γa表示的是驱动关节的力矩矢量,JT为关节转矩,FContact为搬运机器人末端执行器与环境之间的接触力,Ho为货物目标的惯性矩阵,Fcentr(x)和Ggoods对应的是货物目标的离心力矢量和重力矢量,FContact,robot和FContact,env表示的是货物目标与机器人以及环境之间的接触力矢量[6]。融合运动学模型与动力学模型的构建结果,将其导入到搬运机器人组成结构中,得出无人仓内单个搬运机器人数学模型的构建结果,将多个搬运机器人数学模型进行组合。

1.3 自动检测多搬运机器人位姿

从搬运机器人位置和姿态两个方面确定搬运机器人的初始状态,利用搬运机器人内置的测距传感器设备进行定位[7]。测距传感器分别向水平和竖直两个方向发射定位信号,得出的测距结果可以表示为:

(6)

其中:vc为定位信号在无人仓环境中的传播速度,而Δt表示的是测距传感器接收到反馈信号的时间,计算结果角标i的取值对应的是定位信号的传播方向。当i取值为x时,得出结果即为当前搬运机器人位置的横坐标,同理i取值为y时得出机器人纵坐标的具体取值[8]。由于无人仓环境中存在多个搬运机器人和货架,因此在搬运机器人位置检测过程中需要确定定位信号的传输终端位置,以保证位置检测结果的准确度。搬运机器人的姿态也就是机器人各个组成关节的角度,其中俯仰角和横滚角的检测结果如下:

(7)

其中:δx和δy分别为角度传感器在两个方向上的测量值,θpitch和θroll对应的是任意一个搬运机器人关节俯仰角和横滚角的检测结果[9]。由于搬运机器人处于实时工作的状态,其实时位置和姿态角呈现出动态变化趋势,因此在位姿检测结果中设置传感器的自动检测时间间隔和工作频率,完成实时位姿的自动检测工作。

1.4 分配多机器人搬运任务

搬运任务分配是多作业机器人在无人仓环境中的组织形式和运行机制的集中体现,是完成搬运作业的基本依据。多搬运机器人的配置机制是否合理,对其完成任务的效率高低产生重要的影响[10]。遵循就近原则将搬运任务分配给多个搬运机器人,利用式(8)计算货物当前位置与多个搬运机器人之间的距离。

(8)

其中:(xrobot,yrobot)为搬运机器人当前位置坐标的检测结果,(xgoods,ygoods)为待搬运货物的位置,将式(8)的最终计算结果按照降序顺序进行排列。在实际的任务分配过程中,判断距离货物最近搬运机器人的工作状态,具体的判断内容包括:搬运机器人是否能够正常执行搬运任务、当前搬运机器人待执行的搬运任务量是否高于机器人最高任务容量的80%,若距离最近的搬运机器人存在运行故障,或已有的搬运任务量达到饱和状态,则选择下一个搬运机器人作为执行设备,按照上述内容进行判断,重复执行上述操作,直到完成所有搬运任务的分配[11]。在任务分配过程中,实时更新搬运任务集合,对新增任务进行分配,并添加到搬运机器人执行任务队列末端。

1.5 规划多搬运机器人协同作业轨迹

在工作状态下,搬运机器人接收到搬运指令后,在避免碰撞其他搬运机器人和货架的情况下,机器人移动到待搬运货物当前位置,将其移动到机器人存储仓中,搬运机器人移动至货物的目的地,完成搬运工作[12]。因此需要规划的多搬运机器人协同作业轨迹包括机器人到达目标货品位置的轨迹和到达货品移动目的地的轨迹,保证多个搬运机器人作业轨迹之间不存在重合,且不与货架位置重合[13]。为了保证多搬运机器人协同作业轨迹的规划质量,采用蚁群算法进行轨迹规划,具体的规划流程如图2所示。

图2 多搬运机器人协同作业轨迹规划流程图

蚁群算法模拟蚂蚁觅食,可以根据路径上的信息素的浓度来进行启发式的运动,在初始状态下无信息素的干扰,随意地选择一条路线去觅食,而蚂蚁的数目越多,所走的路线就越多[14]。假设两种蚂蚁的信息素浓度一致,在相同的环境中,信息素的挥发速率也一致,在相同的情况下,蚂蚁在短途中所保留的信息素的挥发程度要比在长路径上低,因此,在短途中信息素的含量会更高,而在其他路线上的信息素含量则会降低,从而使蚁群在短路线上选择最佳路线[15]。总之,蚁群中的蚂蚁都会朝最短的方向聚集,这是一种积极的反馈,而最佳的路径就是由这些信息素的积极反馈作用而产生的。假设蚂蚁从无人仓环境模型中的栅格j移动到栅格k的概率为:

(9)

2 多搬运机器人协同作业轨迹自动控制系统

2.1 设计并安装协同作业轨迹控制器

为了保证多个搬运机器人能够按照规划的作业轨迹执行,为协同作业轨迹自动控制方法提供硬件支持,需设计一个控制器设备,控制器的基本结构如图3所示。

图3 搬运机器人协同作业轨迹控制器

图3表示的作业轨迹控制器用来完成接收控制命令、接收计数脉冲、生成速度信息以及发出PWM信号等任务。从图3中可以直观看出,控制器内部设有CPU控制、电机驱动与速度检测、地址编码、重置与低电压检测与无线通信等模块,其中中央处理器则是以单片机为中心,对通信模块传送的讯息进行处理,转换为指令字,并接受编码器发出的计数脉冲,通过运算得到目前的速度。该控制模块还可划分为编码器和驱动程序两部分,其中编码模块的主要功能是提供计数脉冲、电机旋转方向等,并提供PID控制器的反馈,以确保电机在系统所需的条件下运行。而驱动模块的功能是把CPU输出的PWM信号转化为模拟电压,从而驱动DC电动机的工作[17]。在控制器中增加通信模块,以确保协同工作轨迹控制器能接收到控制命令。通信模块的设计主要包括两个方面,分别为路径规划通信和任务协同通信。在路径规划中,采用点对点通信,以实现在机器人个体之间的状态信息的交流。根据机器人的优先顺序,确定移动方向,并进行相应的路线规划。任务协同通信过程中,在任务发现之前,将所有机器人数据存入公共存储区中,当任一机器人发现任务且不能独立完成时进行广播通信,告知所有搬运机器人任务的地点,处于空闲状态的机器人会接收到广播来的信息,在任务接收成功后执行相应任务[18]。当单个搬运机器人的负载能力能够完成这个较大任务时,利用控制器中的通信机制,调整多个搬运机器人进行躲避障碍使任务顺利完成。最终将优化设计的协同作业轨迹控制器安装在多搬运机器人的关节位置上。

2.2 实现协同作业轨迹控制指令调度监控算法

将搬运机器人的实时位姿检测结果与规划的协同作业轨迹进行比对,得出机器人轨迹控制量的计算结果为:

(10)

计算得出Δχposition和Δχangle分别为位置控制量和姿态角控制量,(xtrajectory,ytrajectory)为规划轨迹中的节点,另外θtarget,pitch和θtarget,roll对应的是规划轨迹节点俯仰角和横滚角的目标值。将式(10)的控制量计算结果输入到搬运机器人协同作业轨迹控制器中,根据控制量输入数据生成多搬运机器人的控制指令,保证多搬运机器人始终在规划的作业轨迹上[19]。若式(10)的计算结果为负值,则机器人的位置控制方向为实际行进方向的反方向,姿态角的控制方向为逆时针方向,而控制量计算结果为正值,则向机器人的行进方向以及顺时针方向分别调整机器人的位置坐标和姿态角。根据实时位姿的调整结果调整控制指令,直到多搬运机器人完成搬运任务为止。则控制指令调度监测算法流程如图4所示。

图4 控制指令调度监测算法

3 控制效果测试实验分析

3.1 布设无人仓作业环境

实验选择的无人仓为某零售企业的货物存储仓库,该仓库共设置7个货架,100个储位,每个储位大小相同,均为40 cm*40 cm。无人仓环境的初始布设情况如图5所示。

图5 无人仓作业环境

在忽略动态障碍物以及货物的情况下,可确定无人仓中可供通行的路线,也就是搬运机器人作业轨迹的规划范围。为了保证搬运机器人的正常运行,实验环境中设置了5个充电插口,能够同时给5个搬运机器人提供电力支持。另外,无人仓环境实现了无线通信网络的全覆盖,保证搬运指令、控制指令能够被成功接收[20]。企业采用周期性补充库存方式,在上一周期结束时,依据当前库存与预期库存之间的差异,决定下一阶段的库存储备,以及每一批产品所占的库存空间。

3.2 配置搬运机器人

在实验环境中设置5台型号为LB3150-H-6的搬运机器人作为控制对象,该型号的搬运机器人顶部安装了电动云台和深度相机,用来辅助完成搬运任务。选择搬运机器人的车身长度为0.46 m,自重约为8.5 kg,其安全行驶距离为2.0 m。在工作状态下,搬运机器人的行驶速度、拐弯速度和停车速度分别为1 m/s、0.25 m/s和0.5 m/s,允许在拣选台停留的最长时间为45 s,一次能够完成10 kg以下货物的搬运。

3.3 生成无人仓搬运任务

根据无人仓的作业内容,分别从入库、出库以及货物转移3个方面设置机器人的搬运任务,其中部分任务的生成情况如表1所示。

表1 无人仓搬运任务明细

表1中入口与出口位置为同一位置。根据无人仓搬运任务的设置内容,生成搬运机器人作业轨迹的规划结果,其中部分作业轨迹的规划结果如图6所示。

图6 多搬运机器人协同作业规划轨迹

以图6表示的规划作业轨迹作为机器人的控制目标。

3.4 描述控制效果测试实验过程

充分考虑无人仓的运作状态,在测试实验中设置两个实验场景,场景一中无人仓内除货架和多搬运机器人外无其他障碍物,而场景二在场景一的基础上,模拟货物掉落现象,设置3个静态障碍物,障碍物大小均为12 cm*12 cm,障碍物所在位置坐标分别为(70,290)、(90,30)和(210,170)。在上述两个场景下执行相同的搬运任务,同时启动多搬运机器人及其协同作业轨迹自动控制程序,得出最终的控制结果,如图7所示。

图7 多搬运机器人协同作业轨迹控制结果

按照上述流程驱动多搬运机器人完成所有的搬运任务,并记录各个机器人的轨迹数据。

3.5 设置控制效果测试指标

实验设置多搬运机器人位置控制偏差、姿态角控制偏差以及碰撞次数作为反映优化设计方法控制效果的测试指标,其中控制误差指标的数值结果如下:

(11)

式中,(xactual,yactual)为优化设计方法控制下搬运机器人的实际轨迹节点坐标,θactual为控制对象的实际运行角度。另外碰撞次数指标的数值结果为:

(12)

其中:nh、nr和nz对应的是搬运机器人与货架、其他搬运机器人以及静态障碍物之间的碰撞次数,变量nrobot和nnode分别为设置的搬运机器人数量和轨迹节点数量。为保证无人仓多搬运机器人协同作业轨迹自动控制方法的优化设计效果,要求控制方法下多搬运机器人的位置控制偏差不得大于5 cm,姿态角控制偏差不得高于1°,碰撞次数不得高于8次。

3.6 控制效果测试结果与分析

通过相关数据的统计,得出两个实验场景下设计方法控制误差的测试结果,如表2所示。

表2 优化设计方法作业轨迹自动控制误差测试数据表

将表2中的数据代入到式(11)中,计算得出场景一中位置控制误差与姿态控制误差的平均值分别为3.4 cm和0.05°,而场景二中位置与姿态的平均控制误差分别为1.14 cm和0.05°,均低于预设值。另外通过式(12)的计算得出控制方法下多搬运机器人碰撞次数的测试结果,如图8所示。

图8 控制方法下多搬运机器人碰撞次数测试结果

从图8中可以直观看出,通过无人仓多搬运机器人协同作业轨迹自动控制方法的应用,多搬运机器人的实际碰撞次数的最大值为6次,低于预设值。

将文献[2]方法、文献[3]方法、文献[4]方法以及本文方法作为实验对比方法,通过比较不同方法的多搬运机器人碰撞率,以验证不同方法的实际应用效果。其中多搬运机器人碰撞率比较结果如表3所示。

分析表3中的数据可知,文献[2]方法的多搬运机器人碰撞率最大值为57.6%,平均值为49.6%,最小值为42.9%;文献[3]方法的多搬运机器人碰撞率最大值为37.4%,平均值为35.9%,最小值为34.3;文献[4]方法的多搬运机器人碰撞率最大值为58.6%,平均值为42.4%,最小值为35.8;本文方法的多搬运机器人碰撞率最大值为7.2%,平均值为4.9%,最小值为3.5;与实验对比方法相比,本文方法的多搬运机器人碰撞率最低,能够最大程度保证多搬运机器人协同作业过程中的安全性。

表3 多搬运机器人碰撞率 %

4 结束语

无人仓以及搬运机器人的应用对于货物的自动化管理具有积极意义,通过无人仓多搬运机器人协同作业轨迹自动控制方法的优化设计,保证机器人的实际运行轨迹与规划轨迹一致,最大程度保障搬运机器人的移动安全,减少设备故障次数,对于延长设备使用寿命具有现实意义。

猜你喜欢
无人轨迹控制器
轨迹
轨迹
无人战士无人车
反击无人机
轨迹
进化的轨迹(一)——进化,无尽的适应
诗到无人爱处工
无人超市会流行起来吗?
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列