在一种新型的自动化零件到分拣机仓库系统(一种机器人移动履约系统(RMFS))中,机器人运输吊舱(可移动货架)至工作站的人工操作员,以便从吊舱分拣或往吊舱放置物品。在这样一个系统中,存在着许多可优化的决策问题,其中有些是相互依存、相互影响的。有两个开源仿真框架Alphabet Soup 和 RAWSim-O分析了这些决策问题及其相互之间的关系。然而,仿真与真实RMFS之间的差别并不清楚。因此,本文旨在填补这一空白。首先将模拟器作为核心软件进行传输,与开源的ERP系统Odoo相连,同时也通过XOR-Bench平台与真实的机器人和工作站相连。XOR-Bench平台使RMFS能够与几个小型机器人和移动工业机器人集成在(移除的)实验中,用于教研。
引言
机器人移动履约系统(RMFS)是一种新型的自动零件到拣货机的仓储系统,其中机器人用于在储存区和补充或拣货站之间来回运输包含库存物品的可移动货架(也称为吊舱)。人工操作人员只能在车站工作,要么挑选物品,要么补充物品。前者是从货架中挑选商品以满足顾客的订单,而后者则是在货架中重新填充商品。RMFS旨在使车站的工人保持忙碌,同时尽量减少资源(如机器人、车站、吊舱)来完成收到的拣货订单。
在过去的十年里,RMFS受到了更多的关注,RMFS在现实世界中也正在被使用(见图1)。在这个系统中有许多优化决策问题,例如决定哪些机器人将把哪些吊舱运送到哪个站来完成一个新的订单。关于这类系统的研究大多集中在这些问题和算法上,以提高效率和系统性能。此外,其中一些测试是在仿真框架(如:Alphabet Soup和RAWSim-O)中进行的。它模拟RMFS的过程,同时控制资源。然而,仿真和现实世界RMFS之间的差别并不清楚,因为这些差别非常复杂,需要机器人工程、软件工程和管理科学/操作研究之间的跨学科工作。我们也可以这样表述问题:我们如何确保我们在仿真中实现和测试的算法仍然适用于真实场景?这就是我们在这篇论文所关注的问题。为了回答这个问题,从模拟到现实世界的RMFS需要四个步骤,如图2所示。第一步是将RMFS模拟器改为RMFS核心软件。我们在这里使用开源模拟器RAWSim-O。第二步是将RMFS核心软件与ERP系统和工作站应用程序连接起来。我们在这里使用一个开源的ERP系统——Odoo。第三步是将RMFS核心软件与XOR平台上的微型机器人集成。XOR实验台是一个远程操作的实验平台。在小型机器人测试成功后,我们使用XOR平台在移动工业机器人上远程测试amd验证算法和程序。此外,值得一提的是,SAP为自动化仓库提供了扩展的仓库管理系统(EWM),以使用定义的接口将SAP ERP与机器人(或输送机系统,或自动引导车辆(AGV))连接起来。应用程序包括AutoStore compact warehouse系统和Swisslog的CarryPick移动解决方案。这里的RMFS核心软件(RAWSim-O)采用与SAP EWM相似的原理来连接ERP和robot的接口。因此,这项工作主要有三个方面的贡献:
我们设计了一个过程,旨在提供从RMFS模拟器到真实RMFS的无缝过渡。
我们将RMFS核心软件与开源的ERP系统(Odoo)连接起来;此外,开发的工作站应用程序也连接起来。
设计了一个XOR-Bench平台,将RMFS核心软件与实际机器人进行集成,并在移动工业机器人上进行了测试和验证。
图1 现实世界应用的RMFS图2 从仿真到应用的四个步骤
图3给出了RMFS的概述,它由RMFS软件系统和机器人组成。最简单的RMFS软件系统包括RMFS核心软件、ERP和车站应用程序。图3中的数字表示转换过程图2中的四个步骤。
图3 RMFS核心软件与ERP系统、工作站应用程序、机器人之间的关系
将RMFS模拟器改为RMFS核心软件
RMFS核心软件主要由库存处理系统(IPS)、订单处理系统(OPS)和机器人控制系统(RCS)三部分组成。IPS作为库存管理(对应的优化器是RPS、PPS和PR),OPS进行事务处理(对应的优化器是ROA和POA),RCS操作和指导机器人(对应的优化器是TA和PP)。在这一步中,我们将RMFS模拟器扩展到RMFS核心软件。总共有以下两个扩展:
应用程序编程接口(API)的实现,用于与ERP和其他企业系统集成
机器人和工作站应用程序的代理接口的实现
RMFS核心软件的API用于集成ERP或其他独立系统,如WMS(仓库管理系统)和OMS(订单管理系统),对ERP和RMFS核心软件之间关系的简单描述是,通过使用API,可以将运行状态和事务报告回报将订单信息和存储在pods中的项目信息从ERP传递到RMFS核心软件进行处理。该API设计用于处理各种XML-RPC请求和XML-RPC响应(远程过程调用(RPC)协议),因为我们使用的ERP系统Odoo很容易通过带有Odoo外部API的XML-RPC获得。
表1 发送给机器人的任务消息表2 接收的机器人的状态信息的含义
通过代理接口(见图3),核心软件可以接收来自机器人的状态信息。这包括机器人ID、当前机器人位置信息、机器人以弧度表示的方向、捡拾器吊舱操作是否成功以及降落吊舱操作是否成功等。核心软件可以通过代理接口向机器人发送任务消息,如表1所示,同时它可以接收来自机器人的一些状态信息如表2所示。代理接口还用于在核心软件和站点应用程序之间交换各种类型的信息。表3列出了输入/输出站的重要信息,这些信息从RMFS核心软件传递到站点应用程序,以显示给补充器或选取器。来自工作站应用程序的确认或错误消息被传回RMFS核心软件,以通知输入/输出工作站中的操作。
表3 从核心软件接收的输入/输出工作站信息的含义将RMFS核心软件与ERP和工作站应用程序连接起来
连接工作站应用程序
在实际仓库的自动化中,机器人将吊舱移动并运送到指定的输入/输出工作站。拣货员按照输出站应用程序上的说明,从吊舱中取出物品,而补货员按照输入站应用程序上的说明,将产品塞进吊舱中,以补充库存。在这里,我们将解释如何将工作应用程序与RMFS核心软件连接起来。首先,我们用编程语言C#开发图形用户界面,可用于仓库的输入/输出站。为了允许在自动化仓库中使用多个输入和输出站,每个站都可以通过其ID进行标识。其次,两个应用程序都通过TCP连接到代理接口,并可以接收、解码和显示包含拣货器/补货器所有必要信息的消息。例如,如图4a中补给品的输入站应用程序所示,所选的吊舱隔间标记为绿色。此外,一些其他可能的舱室用蓝色标记。与拣货类似,所选的pod隔间如图4b所示。拣货器/补货器还可以通过按下OK或Error按钮,通过TCP连接发送包含拣货器/补货器操作成功或失败信息的消息。
图4 工作站应用程序界面连接Odoo
此外,定义并实现了RMFS核心软件中IPS和OPS的API,以与Odoo的外部API(https://Odoo.com/documentation/11.0/webservices/Odoo.html)交换信息,后者可以使用XMLRPC发送和接收信息。我们主要使用Odoo的三个部分,即采购、销售和库存。我们使用Odoo的库存模块来管理所有pod的位置和内容以及各种转移(从a到b的项目移动),无论是传入、传出还是内部。我们还使用销售和采购模块创建销售订单和采购订单。
订单到拣货
在这一部分中,我们将描述订单通过系统的过程,从在Odoo接收订单到包裹离开仓库。我们首先用图5所示的一个小例子来描述这个过程。在Odoo中创建了一个对5个苹果的需求订单(图5a)后,销售确认如图5b所示。然后,RMFS核心软件识别收到的订单,并选择一个至少包含5个苹果的吊舱(或多个,如果需要),吊舱由机器人移动到指定的拣货站(图5c)。然后,选择器从吊舱中取出项目,并通过按下输出站应用程序中的OK按钮(图5d)来确认成功的拾取操作。绿色标记的位置是吊舱舱,物品位于吊舱中。输出站应用程序从RMFS核心软件代理接口的JSON(JavaScript对象表示法)格式的消息中获取此信息。在一次成功的拣选操作之后,核心软件会调整使用的吊舱的库存。
图5 从Odoo生成销售订单到拣货的一个例子现在我们将解释更多关于技术细节的内容,参见图6。我们将使用一些特定于Odoo的术语,并简化挑选过程中的一些描述,例如提取请求的排队和出列。启动时,RMFS核心软件从Odoo中检索所有pod的当前位置和内容。当下订单(1)时,Odoo创建一个新的计划外转移,从库存转移到客户(2)。每当RMFS核心软件中的Update方法被调用时(3),它就会扫描Odoo传输数据库以查找新的计划的传出传输(4)。传输转换为订单(5),然后RMFS核心软件生成并排队提取请求(6)。提取请求是在选定的工作站上选择属于某个订单的特定项目的请求。同时,每当调用更新方法(3)时,RMFS核心软件将提取请求(7)出列,选择一个pod来完成请求,并将该pod移动到指定的工作站(8),除非该pod已经存在,因为它用于完成先前的提取请求。一旦pod到达工作站,RMFS核心软件通过先前建立的TCP/IP连接向代理接口(9)发送一条消息,其中包含输出站的ID、项目和关联订单的信息。一旦接口接收到消息(10),它解码消息(11)并识别其类型。在本例中,类型是“pickingfo”,然后将项目的名称和ID以及订单ID转发到消息(12)中指定的工作站。一旦工作站应用程序接收到消息(13),它将显示接收到的信息(14),并等待选择器完成拣货操作(15),如果成功,则用“确定”响应(16),如果无法拣货项目,则用“错误”响应(17)。然后,关于拣选操作成功的信息被发送到代理接口(18/19)。代理接口将输出站的响应和ID转发给RMFS核心软件(10→11→20)。如果输出站的响应(21)为“正常”,则RMFS核心软件在可视化/模拟(22)中将项目从pod移动到工作站,在Odoo中将pod设置为移动的源位置,并将移动的完成数量增1(23)。如果这完成了最后一步的转移,转移标记为完成在Odoo。Odoo通过从源位置(25)移除相同数量的项目来对完成数量(24)的增加做出反应。如果输出站发送了错误消息,RMFS核心软件将跳过提取请求并将其移动到队列的末尾(26)。最后,RMFS核心软件检查它是否可以再次使用同一个pod来完成下一个提取请求。如果同一个吊舱不能再次使用,将选择一个存储位置并移动吊舱(27)。一旦机器人放下吊舱,RMFS核心软件就会更新吊舱在Odoo(28)中的位置。
图6 系统处理订单的流程图。采购订单补货
补货流程的实现与上面描述的拣货流程非常相似,因此只描述主要的差异。触发RMFS核心软件中补货流程开始的事件是补货项目的接收。之后,会自动创建一个内部传输,将接收到的项目从接收区域传输到pods。当RMFS核心软件检测到此传输时,此传输将被拆分为其移动,并将它们转换为项目捆绑包(sku的数量x)。因此,为每个项目包生成一个insert请求(而不是为每个订单行生成一个extract请求),然后由RMFS核心软件处理。
RMFS核心软件通过XOR-BENCH平台与小型机器人的集成
Teleworkbench[2]和[3]是一个平台或基础设施,用于使用许多小型机器人进行、分析和评估实验。它提供了一个受控环境,用户可以在其中使用真正的机器人执行和测试机器人程序[3]。与Teleworkbench类似,我们设计了一个远程操作平台(call XOR-bench),但它的特性是专门为RMFS设计的。XOR-bench包括以下功能:
实验现场视频
程序下载到robot
基于计算机视觉的机器人定位系统
事件和消息记录器
无线通信系统
互联网连接
实时实验视频将通过一个基于IP的摄像头进行传输。用户可以通过XOR-Bench将开发的机器人程序下载到机器人上。机器人的位置将通过计算机视觉技术从捕获的实时视频中获取。来自RMFS软件系统(包括RMFS核心软件、ERP和工作站应用程序)的所有事件和消息都被记录和访问。研究人员和开发人员可以利用记录器数据分析实验结果。XOR-Bench提供机器人和RMFS核心软件之间的无线通信。XOR-Bench连接到Internet,使研究人员和开发人员能够轻松访问。
图7 XOR-Bench系统的总体体系结构图7说明了XOR-Bench系统的一般系统架构。XOR-Bench服务器提供TCP/IP服务,用于将机器人(平台中的灰色矩形)与代理接口服务器连接。代理接口服务器连接RMFS核心软件服务器和站点服务器。工作站应用程序和ERP(包括数据库)分别位于车站服务器和ERP&数据库服务器中。每个工作站应用程序都位于工作站服务器中。
在这一步中,我们使用微型机器人,因为它们价格低廉,在研究和教学中支持高度可编程性和可扩展性。与使用移动工业机器人、使用微型机器人进行RMFS系统集成实验不同,该实验具有一些显著的优点,如实验易于在短时间内建立、执行、监控和分析。可以快速进行多个RMFS系统集成实验。两个不同的微型机器人平台目前正在使用的XOR-Bench。在我们之前的研究工作[4]中,我们使用了iRobot Create 2,一个基于Roomba吸尘机器人的移动机器人平台。这些机器人配备了华硕的Eee电脑,通过串行到USB的数据线进行处理,网络摄像头进行线路跟踪。RFID标签阅读器安装在前一个真空清洁舱内,用于航路点识别。机器人程序是用C#编写的。使用iRobot Create 2进行RMFS实验的主要缺点是,机器人在运输吊舱时没有提升机构将吊舱抬离地面。我们在XOR-Bench上使用的新型微型机器人(见图8a)由乐高Mindstorms EV3(乐高Mindstorms系列的第三代机器人套件)制造。机器人工具包使机器人的制造变得容易,易于编程,低复杂性和低成本的研究和教学。该机器人有三个电机,其中一个中间电机用于提升机械结构(机器人可以捡起或放下吊舱:见图8b),而两个大型电机是用于移动的差动电机。我们还编写了类似于典型RMFS机器人的程序,如跟线、右转和左转。颜色传感器负责线跟踪功能,超声波传感器用于避障和距离检测。程序是用EV3 Python编程语言编写的,用于控制机器人,机器人运行在EV3dev操作系统(Linux Debian-Jessie操作系统的修改版本)上。我们将每个机器人的最大速度限制设置为0.05m/s,而每个机器人完成一个转弯所需的时间设置为3s。机器人放下和拿起吊舱所需的时间约为3s。命令通过WiFi发送给机器人。在如图9所示的实验中,我们使用3×4的网格布局。左下角设一个补给站,右下角设一个拣货站。使用了两个机器人;田里的吊舱是用直棍做成的。图9b显示了RMFS核心软件中实验的可视化。机器人在绿色的圆圈里,蓝色的长方形带着吊舱,红色的长方形是拣货工作站,黄色的长方形是补货工作站。
图9 用乐高-RMFS机器人做实验如图10a所示,实验室的XOR-Bench具有类似于[5]的基于计算机视觉的多机器人定位系统,因此可以捕获机器人的位置信息以及不同机器人的识别。机器人定位的软件组件是用OpenCV(开源计算机视觉库)用Python编写的。在每个吊舱和机器人上,图10b中的ArUco标记用于定位。我们使用开源算法检测ArUco标记,如[6]。机器人定位软件在XOR平台服务器上运行,将机器人位置信息发送到RMFS核心软件。
图10 基于计算机视觉技术的乐高RMFS机器人定位XOR-Bench中移动工业机器人算法与程序的测试与验证
在RMFS仿真到真实应用的最后一步,我们在XOR-Bench平台上进行了实验,对移动工业机器人的车载算法和程序进行了测试和验证。移动式工业机器人价格昂贵,而且需要一个大的地方进行实验。因此,对算法和程序的测试和验证是非常复杂的。理想情况下,我们可以使用XOR-Bench平台的互联网连接功能,通过使用通过互联网传输的实时信息(如视频)以及机器人与RMFS核心软件之间的消息交换,远程执行工业机器人的实验。我们可以进行机器人远程编程(换句话说,我们可以在本地开发机器人程序,并且可以将其下载到远程机器人)。用于远程实验的移动工业机器人是来自中国北京汉宁锌业科技有限公司的Xiellog-Z系列。机器人有效载荷650kg,速度1.2m/s,尺寸约830mm×650mm×350mm,重量约150kg。该机器人在此基础上安装了先进的工业定位跟踪控制系统,可用于基于数据矩阵的码位跟踪和引导机器人沿有色路径运动。换言之,系统俯视地面来识别地板上基于矩阵的代码和颜色线。图11a显示了德国传感器制造公司Pepperl+Fuchs的一个名为PGV的基于数据矩阵的位置跟踪和控制系统。使用工业2-D摄像机,PGV还可以引导机器人沿着其彩色路径行进。图11b显示了一个数据矩阵标记,除了特定的数字外,还包含位置信息(https://www.pepperl-fuchs.com/global/en/classid_.htm)。由于机器人的车载定位系统,对于本次远程实验,我们不需要在XOR-Bench实验台上安装基于视频的定位系统。此外,在每个机器人上安装一台Pepperl+Fuchs公司的多射线LED扫描仪(二维激光雷达传感器),以检测潜在的障碍物,避免机器人之间的碰撞。
图11 利用位置跟踪控制系统实现机器人的真实定位这个机器人有一个剪式提升机构来提升吊舱。此外,他们还有一个工业WiFi模块,可以通过TCP/IP协议与应用服务器连接。机器人控制器采用Lenze C300可编程控制器(PLC),对控制可靠性要求高。机器人上的程序是根据IEC 61131-3标准用高级语言结构文本编写的。
我们设计的基础设施允许世界各地的人们远程测试和基准测试机器人程序,而不必花费大量精力处理通信和实验设置。图12显示了XOR-Bench系统在远程测试情况下的系统架构。异或工作台分为两部分:一部分位于中国北京的机器人实验室,包括异或工作台服务器、四个基于IP的摄像头和移动工业机器人;另一部分位于我们在德国的实验室,它有RMFS核心软件服务器代理接口服务器和站点服务器。请注意,站点服务器位于站点所在的真实世界中;但是,在我们的案例中,它位于德国的实验室中进行实验。奥多ERP系统和数据库都托管在腾讯云上。
图12 远程测试环境下XOR-Bench系统的体系结构与前一节中的实验布局一样,使用3×4网格布局对移动工业机器人进行实验。图13a 13b显示了移动工业机器人。图13c给出了实验期间实验室中基于IP的摄像机的视图,而图13d则显示了RMFS核心软件中信息的可视化。回想一下,机器人在绿色的圆圈里,这个圆圈把吊舱放在蓝色的长方形里,而红色的长方形是输出站,黄色的长方形是输入站。
图13 移动工业机器人远程实验
例子——路径规划优化器
为了回答本文开头的问题:“我们如何确保我们在模拟器中实现和测试的算法仍然适用于真实场景?“,在本节中,我们将为您提供一个在模拟中开发的优化器的示例,路径规划优化器。我们将很快解释如何使这个优化器适用于实际场景。
路径规划算法在文献中被称为多代理寻路(MAPF)。对于机器人、灾难救援和视频游戏等许多应用来说,这是一个具有挑战性的问题(见[7])。MAPF的目标是计算所有代理从其开始到其唯一目标节点的无碰撞路径。人工智能中有许多MAPF解算器,它们通常为agent工作,但不考虑运动约束,如最大速度限制、最大加减速和转弯时间。此外,他们只考虑在离散环境中机器人的运动。这与RMFS的现有路径规划算法类似(参见[8]和[9])。然而,如果我们想用真实的机器人来测试路径规划算法,就不能直接使用这些MAPF解算器。然而,机器人学中也有MAPF解算器,它们考虑了运动学约束,但它们只适用于少数机器人;因此,对于像RMFS中那样的大规模搜索来说,它们太慢了。为了使路径规划算法适用于实际机器人,我们在路径规划优化器中实现了新的MAPF解算器,该解算器考虑了RMFS在连续环境中的运动约束。更多详情见[10]。值得一提的是,如果机器人在执行计划路线时出现延迟,可能会发生碰撞。在这种情况下,安装在机器人中的传感器将检测到这一点,一个机器人将停止并等待,直到另一个机器人通过并继续其路径。
总结与展望
为了便于在具有真实数据和机器人的模拟器中测试已开发的算法(如前一节中的算法),我们在本文中使用我们的XOR-Bench提出了一种新的开发流程。该流程包括将RMFS模拟器改造为核心软件,并将RMFS核心软件与Odoo ERP和输入输出工作站应用集成。此外,我们已经证明,地理分布的用户可以使用我们设计的XOR-Bench在真实机器人上测试和验证RMFS系统和算法,无论是教育机器人(如iRobots或乐高机器人)还是工业机器人。这对研究和教学都是有益的。
由于与ERP系统和机器人的现有接口,我们可以在未来使用XOR-Bench平台来测试其他类型的自动化仓储系统,例如自动化系统[11],其中人类在区域中工作,机器人被发送给人类,将项目从区域加载到输入/输出工作站;在这种情况下,机器人与人类一起工作。
参考文献
1. Xie1, H. Li2, N. Thieme1., From Simulation to Real-World Robotic Mobile Fulfillment SystemsL. in Logistics Research · September 2019
2. Tanoto, A., Rückert, U., Witkowski, U., Teleworkbench: A teleoperated platform forexperiments in multi-robotics. In: Web-BasedControl and Robotics Education, pp.267–296. Springer (2009)
3. Tanoto, A., Werner, F., Rückert, U., Li, H.: Teleworkbench: validating robot programs from simulation to prototyping with minirobots. In: The 10th International Conference on Autonomous Agents and Multiagent Systems, vol. 3, pp. 1303–1304. International Foundation for Autonomous Agents and Multiagent Systems(2011)
4. Merschformann, M., Xie, L., Li, H.: RAWSim-O:A simulation framework for robotic mobile fulfillment systems. Logistics Research 11(1) (2018). DOI doi:10.23773/2018 8
5. Tanoto, A., Li, H., Rückert, U., Sitte, J.: Scalable and flexible vision-based multi-robot tracking system. In: 2012 IEEE International Symposium on Intelligent Control (ISIC), pp. 19–24. IEEE (2012)
6. Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas, F.J., Mar´ın-Jim´enez, M.J.: Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition 47(6), 2280–2292 (2014)
7. Wang, K.H.C., Botea, A.: MAPP: a scalable multi-agent path planning algorithm with tractability and completeness guarantees. Journal of Artificial Intelligence Research 42, 55–90 (2011)
8. Cohen, L., Uras, T., Koenig, S.: Feasibility study: Using highways for bounded-suboptimal multiagent path finding. In: Eighth Annual Symposium on Combinatorial Search (2015)
9. Cohen, L., Wagner, G., Satish Kumar, T.K., Choset, H., Koenig, S.: Rapid randomized restarts for multi-agent path finding solvers. ArXiv e-prints (2017)
10. Merschformann, M., Xie, L., Erdmann, D.: Path planning for robotic mobile fulfillment systems. arXiv preprint arXiv:1706.09347
11. Ackerman, E.: How locus robotics plans to build a successor to Amazon’s Kiva robots (2016). URL https://spectrum.ieee.org/automaton/robotics/ industrial-robots/locus-robotics warehouseautomation-robots
网友评论