赵文朋,吴姚平,甘鸣驹
(上海安吉汽车零部件物流有限公司,上海 200092)
语音拣选系统在汽车零部件首批仓库拣选业务中的应用
赵文朋,吴姚平,甘鸣驹
(上海安吉汽车零部件物流有限公司,上海 200092)
随着国内汽车产量逐年增长,车型配置日益增多,对汽车柔性化制造要求不断提升,从而要求汽车零部件拣选、配送按照多种模式精益操作。传统的按拣配订单扫描操作,在部分拣选作业中已无法更好地进行效率提升。针对汽车零部件首批仓库的业务特点,设计了语音拣选系统,详细描述该系统的架构、流程、功能,以及实际使用效果,证明语音拣选技术在汽车零部件物流业务中具有较好的应用前景。
汽车零部件;首批仓库;语音拣选系统
当前语音拣选技术已在国内零售、医药、食品饮料等行业有较为广泛的应用。而在汽车制造及其相关物流领域,语音拣选技术的应用案例较为鲜见。
上汽大众作为中国汽车行业的领头羊,近年来有数十款新车型上市,在其车型量产之前,会在专用首批仓库存放试生产所用零件,并按车间需求进行配送。上汽大众在上海安亭的首批仓库总面积约为3 000多m2,包含1 400个流利式库位和600个高层库位。首批仓库的主要工作分为如下环节:按到货计划和零件履历要求对零件检查收货;零件的储存管理;按车间项目进度和装车计划,以台套配料的方式进行物料拣选并驳运至对应车间。
传统方式下,首批仓库内作业人员使用RF终端进行物料拣选。拣选时,员工需要手握RF终端的同时进行拣货,操作较为不便。当订单行比较多时,作业人员要想查看取料位置和零件信息,必须多次翻页,这对拣选效率造成很大影响。为能够较好地解决此问题,作为第三方物流的上海安吉汽车零部件物流决定在仓库内部引入语音拣选系统(PTV,Pick-to-Voice System),希望通过语音拣选替代人工扫描拣选,解放作业人员的双手,提高拣选效率并降低设备成本[1]。
多年以前便有学者研究语音人机交互,并获得实验性成果。葡萄牙学者在Microsoft Visual Studio.NET平台上利用Microsoft Speech SDK5.1开发了人机交互系统,成功控制ABB机器人进行焊接操作[2]。在国外,已有较多语音拣选成功实施的案例,可是在国内,因为中文语音识别的问题,应用不多。在具体的应用技术层面上,语音识别大致可分为关键词语辨识和听觉系统两个方面。关键词语辨识技术的目标是精确地辨识讲话人的语音指令,辨识率需要达到90%以上,用在语音控制和语音命令查询方面,例如在手机上实现的语音拨号功能[3]。在进行语音识别操作之前,大部分系统需要操作人员进行一定的语音训练,才能使系统较好的对操作人员的语音正确识别[4]。有研究表明,从拣货效率和成本上分析,中等拣货量的仓库较为适合使用语音拣选方式[5]。
由于首批仓库已应用了较为完善的WMS仓储管理系统,此次引入语音拣选系统,目的是为优化其零部件拣选操作环节。在原有的系统操作模式中,仓库使用WMS仓储管理系统进行流程管控,采用料箱级别管理,每个包装均粘贴具有唯一码的物料标签。操作过程需要用到的拣选单由WMS生成,操作人员在打印拣选单的同时,完成发货标签的打印,拣选扫描时由WMS进行先进先出(FIFO)校验。引入语音拣选后,原有料箱级别库存管理模式不变,拣选单、标签仍按原有方式打印,仍然需要严格管控先进先出,仅是用语音拣选流程替代RF扫描流程。为了保证拣选准确率达到100%,流程采用语音+指环扫描枪拣选的模式。
3.1 系统架构
系统架构如图1所示。
WMS仓储管理系统为原有业务系统,具有库存管理、收货管理、接收外部订单数据、拣选任务生成、先进先出校验、出库管理等功能,在本方案中负责上下游业务流程的衔接。
PTV语音拣选系统为本次引入的核心系统,向下与语音拣选设备直接交互,向上负责获取WMS数据,并向WMS回传拣选结果。
语音拣选设备及配套设备是穿戴在操作人员身上的系统设备,设备内置程序,提供语音拣选流程,通过无线实时交互方式与PTV同步语音任务信息。
图1 系统架构
3.2 系统流程
一般语音拣选过程分为3个步骤:首先,操作员在听到语音指示后,会通过麦克风进行语音的确认;接着,操作员根据语音指示来到指定的库位,通过对麦克风读取库位编号来确定他去的位置是否正确;最后,当库位信息确认后,系统会告诉操作员需要拣选的物料及其数量,操作员完成拣选后报告系统,系统会告知下一个任务的库位[6]。
本项目中将流程分为拣选启动和拣选操作2个环节。
(1)拣选启动流程。员工获取拣选单和发货标签后,打开语音拣选设备,启动拣选流程,主要步骤如图2所示。
①语音设备报欢迎词,员工确认;
②语音要求选择功能,员工选择功能编号1进入拣选功能(仅设定1为拣选,其他功能暂未设定);
③语音提示扫描拣选单号,员工扫描拣选单上的“单号”条码,可以一次扫多个拣选单条码,说“好了”,进入正式拣选环节。
图2 拣选启动流程
(2)拣选操作流程。进入正式拣选流程,系统规则为按照库位顺序逐一进行零件拣选(库位顺序在WMS中进行设定,并通过拣货单下传给PTV系统),主要步骤如图3所示。
①语音设备报出待拣零件的区域、库位,员工到相应库位后进行语音确认;
②语音提示零件编号的后三位,员工扫描料箱唯一条码确认,此时系统将箱号回传WMS,进行先进先出校验,若需违反先进先出,则要求扫描授权码(由班组长掌握,并判断是否可违反先进先出);
③语音提示要拣选的数量,员工扫描发货标签条码,系统判断是否为改包装操作,员工语音确认,完成零件语音拣选;
④系统判断是否仍有待拣零件,依次循环上述操作;
⑤拣选过程中,可以在提示扫描料箱条码时,跳过语音拣选操作,不执行当前的任务,并可选择跳过类型,类型“1”代表本任务取消,后续不再进行拣选,类型“2”代表任务暂挂,之后仍然可通过扫描拣选单号获取并重新执行语音拣选。
3.3 系统功能
PTV系统分为基础信息管理、作业管理、接口管理、报表日志查询4大功能模块。图4为系统各功能模块的分解视图。
各系统模块功能概述如下:
(1)基础信息管理。用于维护系统所需的各类基础数据,包含零件管理、库位管理、人员管理等语音拣选相关的基础信息管理功能。其中零件、库位信息由上游系统WMS下发,通过接口进行数据传递,人员信息主要为拣选员工的身份信息管理。
(2)作业管理。此模块为系统核心模块,主要有拣选任务下达、拣选任务管理、语音拣选流程等功能,在此功能模块中,可以将系统生成的拣选任务下达给拣货员工,实时跟踪拣选任务的执行情况,并进行相关处理,如暂停拣货任务、调整拣货数量、更换拣选人员等。
(3)接口处理。此模块主要负责同上游业务系统WMS进行数据交互,在后台自动运行,包括基础数据同步、拣选信息接收、拣选数据校验、拣选结果回传等,通过此模块实现上下游两大系统间集成。
(4)报表、日志查询。此模块包含语音拣选相关的查询功能,主要有拣配进度查询、拣选工作量统计、接口信息查询、业务系统日志、系统操作日志等,通过此模块可查询到系统相关的各类数据。
图4 系统功能分解视图
4.1 硬件选型
当前成熟的语音拣选系统不多,作为业界领先的语音拣选设备供应商,Vocollect公司产品已在国内外有不少成功实施的案例[7-10]。本文中系统选用Vocollect Talkman A500作为语音拣选核心终端设备,并配以SRX2蓝牙耳机作为人机交互设备。由于需要对零件履历等信息进行精确匹配,所以采用指环扫描枪来确认箱号,避免了履历差错,系统选用LXE 8650蓝牙指环扫描枪进行条码扫描。
4.2 开发平台
4.2.1 系统平台。PTV系统管理后台基于B/S架构,在Visual Studio 2010 C#.NET平台开发,数据库采用MySql;WMS基于B/S和C/S混合架构开发,开发平台为J2EE,数据库采用Oracle。
4.2.2 系统接口实现。WebService通过Web部署,并提供对业务功能的访问,其特点为跨平台、高度可继承能力和使用简单[11],且相较于FTP等其他通讯方式,具有良好的通信性能[12]。WebService接口描述了一系列的系统操作,可以通过调用系统本身或者调用其他系统对外发布的函数来完成程序开发。系统可以在服务器端发布WebService服务,其他应用程序可以通过网络(尤其是通过WWW服务)对该WebService提供的服务进行调用。WebService采用规范的、标准化的XML格式进行接口描述,具有较强的平台通用性[13]。由于上游系统WMS与PTV是由不同平台开发,为了较好的实现系统间数据交互,选取了WebService方式进行数据通信。
WebService体系中包含服务提供者、服务请求者的角色,在此项目中,由WMS提供WebService服务,即WMS作为服务提供者,PTV作为服务请求者进行Web-Service调用。
PTV获取数据时,通过定期执行的功能,定时调用对应的WebService服务,获取数据信息,将这些信息保存到PTV自有数据库中;PTV回传数据时,通过功能实时执行,即时调用对应的WebService服务,将数据参数上传给WMS,由WMS进行逻辑处理。
各WebService接口定义如下:
(1)零件信息
public List<Item>syncItems();
参数:无
返回值:零件集合
(2)库位信息
public List<Location>syncLocations();
参数:无
返回值:库位集合
(3)拣选信息接收
public List<PickBatchMode>syncPickBatchs();
参数:无
返回值:拣选任务集合
(4)拣选料箱库存校验
public int checkInvByLP(String whseCode,String lp, String itemCode,String isNeedCheckFifo);
参数:whseCode-仓库代码;lp-箱号;itemCode-零件编码;isNeedCheckFifo-是否校验FIFO(true为需校验/ false为无需校验)
返回值:正常情况:箱内零件数量;异常情况返回值见表1,返回值异常时,均不允许继续操作。
表1 异常情况返回值
(5)新箱号校验
public String checkNewBarcode(String whseCode, String newLp);
参数:whseCode-仓库代码;newLp-新箱号
返回值:正常情况:零件编码;异常情况(如仓库代码不正确、箱号不正确、箱号对应的零件失效等):返回值为空(Null)
(6)拣选结果回传
public String voicePickByLP(String whseCode,String oldLp,String newLp,String userName,String pickActQty,String wmsId,String isNeedCheckFifo);
参数:whseCode-仓库代码;oldLp-原箱号;newLp-新箱号;userName-拣货人员;pickActQty-实际拣货数量;wmsId-WMS唯一ID;isNeedCheckFifo-是否校验FIFO(true为需校验/false为无需校验)
返回值:处理成功返回success;处理错误反馈错误描述信息
(7)拣货订单取消
Public List<String>errorIds cancelPickQueue(List<String>wmsIds);
参数:wmsIds-WMS唯一ID集合(上限为500个)
返回值:errorIds-处理错误的ID集合,若全部成功则返回空集合
4.2.3 语音终端通信。由于语音拣选设备通过仓库内无线网络与服务端通讯,语音拣选的业务要求终端设备与服务端进行实时通讯,拣选相关信息需要及时下发到语音拣选终端,指导拣货人员进行操作。现场无线网络为标准2.4G WIFI,基于TCP/IP协议搭建。基于以上需求,选取了Windows Socket作为语音拣选终端与服务端的通讯协议。Windows Socket(也简称为WinSock)主要用于Microsoft Windows操作系统,是基于TCP/IP协议开发的网络应用程序接口(API),目前已经得到广泛应用。WinSock API为网络编程人员在Windows平台上进行通用和规范的网络应用开发提供了极大的方便[14],且能够通过TCP自身机制,较好的实现在网络环境下的通讯异常监测[15]。
Socket运行机制下,客户机和服务器在网络内的信息传输使用“请求-回应”的方式完成,在系统应用的两端,客户机作为请求提出端,服务器作为服务回应端。客户机为主动方,在需要时向服务器发出服务请求,服务器为被动方,服务始终开启并处于等待状态,实时监听来自于客户机的服务请求,在被连接请求触发后做出响应,一个服务器端进程可以响应多个客户机[16]。在本项目中,Socket服务部署于PTV服务端,语音拣选设备作为客户机与PTV服务端进行通讯,传输拣选报文信息。语音设备获取到报文后,通过内置的程序,将字符串格式的报文转变成语音信息,从而指导拣货人员进行操作。
主要Socket服务及方法如下:
(1)Socket相关方法
①捕捉到客户端Socket,启动服务端与客户端的连接
Socket.Accept();
②接收客户端Socket报文
Socket.Receive(byte[]);
③发送Socket报文给客户端
Socket.Send(byte[]);
④关闭Socket连接
Socket.Close();
(2)启动Socket服务。方法及核心代码如下:
public void SocketServiceStart()
{
try
{
//创建Socket服务
serverSocket=new Socket(AddressFamily.Inter-Network,SocketType.Stream,ProtocolType.Tcp);
//绑定IP地址:端口
serverSocket.Bind(new IPEndPoint(ip,myProt));
//设定最多10个排队连接请求
serverSocket.Listen(10);
//通过Clientsoket发送数据
myThread=new Thread(ListenClientConnect){ IsBackground=true};
//启动监听线程
myThread.Start();
}
catch(Exception ex)
{//抛出错误信息
GlobalStates.ErrorMessAge("启动Socket服务出错:"+ex.Message+" 方法名:",GlobalStates.Get-MethodName());
throw;
}
}
(3)监听客户端连接服务。方法如下:
private static void ListenClientConnect();
在此方法中包含核心处理逻辑,使用Accept和Close方法创建和关闭Socket连接,使用Receive和Send方法接收和发送语音拣选报文。
为了能精确地将语音转化为字符,语音拣选系统需要对每个作业人员的语音模板进行存储。Voice Console是语音设备厂商Vocollect公司用于提供语音设备管理的必须的管理软件,每次新增加的语音设备使用人员,需要通过Voice Console录制语音模板,语音设备内置的任务模板也是通过Voice Console管理,并在每次设备请求时发送到设备中。当作业人员进行系统登陆时,语音终端会下载该员工的语音模板,从而精准匹配作业人员的语音,避免因为区域差异和口音造成识别率低的问题。
作业人员在拣选过程中只需聆听指令,而不必查看RF屏幕,也不必逐条查找拣选订单。语音终端通过无线网络与PTV服务端进行数据交互,用语音指示作业人员完成拣选。
实践表明,语音拣选在汽车零部件首批仓库中的使用效果较为明显:
第一,大部分拣货作业通过语音交互和指环扫描来完成,作业人员双手得到解放,拣货效率有较大提高;
第二,培训时间大为减少,作业人员能够尽快上岗。
上海安吉零部件物流语音拣选系统在上汽大众首批仓库的应用,创造了两个国内第一:国内汽车物流领域首个应用语音拣选技术的案例;国内首个指环扫描辅助语音拣选的案例。
语音拣选系统在汽车零部件首批仓库拣选业务中的成功试点实施,说明语音拣选技术在零部件拣选业务中具有较好的应用前景,上海安吉零部件物流还将深入研究语音拣选技术,将其应用到其他零部件物流运作环节,以提高物流信息化、智能化水平。
[1]刘明.拣选技术与拣选方式的比较分析[J].物流技术与应用, 2016,21(6):116-121.
[2]Norberto Pires.Robot-by-voice:experiments on commanding an industrial robot using the human voice[J].Industrial Robot: An International Journal,2005,32(6):505-511.
[3]马庆修.基于RFID室内定位的语音拣选系统设计[J].微型机与应用,2015,34(18):50-52.
[4]赵庆国.语音拣选技术在药库工作中的应用[J].中国药房, 2016,27(4):501-503.
[5]Daria Battini,Martina Calzavara,Alessandro Persona,Fabio Sgarbossa.A comparative analysis of different paperless picking systems[J].Industrial Management&Data Systems,2015, 115(3):483-503.[6]浦震寰.语音拣选技术的优势与应用分析[J].物流技术与应用,2013,18(8):120-121.
[7]吴谷.拣选技术及其应用系列连载之四-语音拣选优势多[J].物流技术与应用,2009,14(7):110-112.
[8]吴谷.语音拣选空降利群[J].物流技术与应用,2009,14(9):50-53.
[9]陶倩.Vocollect初探中国市场[J].物流技术与应用,2010,15 (11):38-40.
[10]Honeywell.Vocollect语音系统在化妆品仓库中的应用[J].信息与电脑,2014,26(3):68-69.
[11]胡泽,廖闻剑,彭艳兵.Webservice技术研究及应用[J].硅谷, 2009,6(5):48.
[12]李恒华.WebService性能研究[J].金融电子化,2008,11(10): 65-66.
[13]李卫明.基于WebService技术的企业应用集成管理[J].炼油与化工,2013,24(3):27-29.
[14]俞时权,吕智慧.在TCP/IP协议支撑之上的Windows Socket应用开发[J].计算机应用与软件,2000,17(8):1-8.
[15]周凤石.基于Windows Socket的网络通信中的心跳机制原理及其实现[J].沙洲职业工学院学报,2009,12(3):17-21.
[16]朱蓉.利用中间件Socket实现多客户机端底层网络通信[J].计算机系统应用,2005,14(6):17-21.
Application of Pick-by-voice System in First-batch Automobile Spare Parts Warehouse
Zhao Wenpeng,Wu Yaoping,Gan Mingju
(ANJI-CEVA Automotive Logistics Co.,Ltd.,Shanghai 200092,China)
In this paper,in view of the operational characteristics of the first batch automobile spare parts warehouse,we designed the corresponding pick-by-voice system,described in detail its architecture,process and function and effect in practice,and at the end, demonstrated the good prospect of the pick-by-voice system in the logistics process of automobile spare parts.
automobile spare parts;firstbatchwarehouse;pick-by-voice system
F253.9;U468.8
A
1005-152X(2017)01-0129-06
10.3969/j.issn.1005-152X.2017.01.028
2016-12-09
赵文朋(1982-),男,天津人,硕士研究生,工程师,研究方向:物流信息技术;吴姚平(1982-),男,上海人,工程师,研究方向:物流信息技术;甘鸣驹(1982-),男,上海人,工程师,研究方向:仓储物流规划。