周文军
(南宁职业技术学院,广西 南宁530008)
建设智能制造专业,需融合交叉学科新元素,需要大力建设新技术特色课程,需要推进教学方法改革.在有限的学制内要让学生获得更深厚的知识,需要落实智能制造类专业领域的人才培养质量.为了建设有利于学生自由发展的实践平台,需要设计一个能够让学生自由搭建的教学实训平台.这样的实训平台系统不但要求搭建简单,并且还应满足机器人系统集成、工业现场总线、触摸屏编程、PLC编程、人工智能AI、人工智能VI、手机APP设计等多方面的实训条件,适应范围广,成本低.
如图1所示是智能仓库的系统模型,智能仓库有如下5个主要功能:
a)用语音交互进行系统登录,或者可以在触摸屏上输入密码进行系统登录;
b)只需要将标准的箱子随意放在图1中的台面上,然后就可用语音控制实现存货;
c)根据智能相机的识别结果,机器人能自适应地将随意放置在台面上的标准箱子取走放到立体仓库里面;
d)系统登录后,可以用语音实现取货控制;
e)在触摸屏端或者手机APP端,可以查询立体仓库中的货物状态.
图1 智能仓库的系统模型Fig.1 System model of intelligent warehouse
智能仓库的系统结构如图2所示.智能仓库主要包括:西门子1200 PLC、西门子PROFINET网关、西门子触摸屏、工业机器人、智能相机、单片机、语音交互模块SYN7318、串口转蓝牙模块、手机APP以及立体仓库等.
图2 智能仓库的系统结构Fig.2 System structure of intelligent warehouse
西门子S7-1200 PLC是系统的主要控制器.通过Profinet网关,S7-1200 PLC可以与工业机器人、触摸屏通讯.
工业机器人须选用带有Profinet接口的机器人.通过Profinet总线,S7-1200 PLC可以将物品存放指令、智能相机的识别结果和其他指令实时地传送给工业机器人,工业机器人也可以将其状态实时地传送给PLC.PLC控制工业机器人运动并读取机器人的各种状态信息,工业机器人接受PLC的命令,对存储柜进行存取操作.
S7-1200 PLC可以接受触摸屏的命令,并将各种状态信息返回给触摸屏显示,触摸屏选用西门子精致面板TP700.
智能相机的镜头安装在机器人的末端夹具上.PLC通过RS485串口与智能相机进行通讯,可以实时检测标准货箱上的文字标识符,如:“红米”“苹果”“梨子”等等.不但可以识别这些标识符,还可以识别箱子的方位和距离,以调整机器人的姿态和动作.
工业机器人的存取位置是立体仓库,立体仓库可以设计为1至3个面,如图1所示,每个面可以有多层,每层可以有多个格子,前提是这些格子应在机器人的工作区域内.
单片机通过RS232串口与PLC通讯,单片机与蓝牙模块、语音模块SYN7318的通讯也是串口方式.因此单片机须选用带有3个以上串口的型号,如“STC15W4K32S4”单片机就带有4个串口.
单片机通过串口2与语音模块SYN7318进行通讯,SYN7318利用本地语音库,可以进行语音识别、语音合成等操作.利用SYN7318,能让系统轻松实现人机之间的语音交互.
单片机通过串口1与PLC进行通讯,可将语音识别结果实时传送到PLC;同时,PLC将立体仓库的存储情况传送到单片机端.
单片机通过串口3与蓝牙模块进行通讯.通过蓝牙模块,单片机可与手机APP端联结.在手机APP端可以查看立体仓库的状态.
图3是AI语音处理的核心电路图,SYN7318利用本地语音库,具有语音合成、播放MP3、语音唤醒、语音识别等功能.SYN7318支持串口通信方式,开发简单,能够自定义一个4汉字以内的唤醒名来唤醒.SYN7318相比LD3320等其他的语音识别模块而言,其识别准确率要高出很多.本系统设计的语音识别,在35分贝噪音环境下,普通话二级乙等水平,1米以内的识别准确率可以达到90%以上.
图3 语音处理核心电路Fig.3 AI Core Circuit
使用时,需要将小功率喇叭接到SYN7318模块的SPK-P、SPK-N引脚,即图3中的J1的7脚和8脚,麦克风接在J1的1脚和2脚.J1的3脚和4脚为串口通信的“TXD”和“RXD”,分别连接到单片机的串口2的“RXD”和“TXD”.BD0和BD1用于设置串口通信的波特率,将BD0接至低电平,并将BD1接至高电平,就可以将波特率设置为9600了.
如表1所示是SYN7318语音识别的主要命令字说明,其中“0x10”表示开始语音识别命令.SYN7318支持的命令帧格式为:“帧头FD+数据区长度+数据区”,同一帧数据中,每个字节之间的发送间隔不能超过15ms,而帧与帧之间的发送间隔须超过15ms.基于这样的规则,我们编写程序实现了基本的语音交互,下面仅列出语音识别子程序的代码:
这个子程序是开始语音识别的子程序,数组Frame是用于保存一帧待发送的命令,它的帧头为0x FD,数据区长度为2,其分别为:语音识别命令“0x10”和词典编号“Dict”.因 SYN7318利用的是本地语音库,能自动处理语音识别,这种方案可以让本系统的AI语音交互部分的编程难度大大降低.
表1 语音识别的主要命令字说明Tab.1 Description of main command for AI
因实验室条件限制,本系统选用信捷公司的SV4-30CL智能相机.该相机的像素为640*480约30万,通信接口为RS485和RJ45共两个,支持的通信协议为 Modbus-485和 Modbus-TCP.本系统中,PLC采用Modbus-485协议,通过RS485接口与智能相机通讯.[1]
智能相机的RS485没有提供单独的接口,而是使用“A”和“B”在接线端子上标注出来的.因此智能相机与PLC的连接线需要自行制作.[2]制作时,将PLC的RS485接口中的3号线和8号线,即RS485的“A”和“B”,分别连接到智能相机的“A”和“B”.
SV4-30CL智能相机具有智能识别字符和自学习识别图案的功能,本系统设计的标准箱子上面均标有“红米”“苹果”“梨子”等,智能相机可以比较容易地识别到这些字符.SV4-30CL智能相机能通过Modbus-485协议将所识别到的字符的中心点坐标值,旋转角度值等信息实时输出.但因其输出的坐标值都是用像素作为单位的,所以需要将像素转换为以毫米单位的实际值,以便PLC获取位置坐标以及旋转角度等信息,并将此数据发送给机器人,机器人根据这些信息调整动作,才能准确地抓取到箱子.
系统采用的具体的测量过程如下:
取物体,用尺子测出物体的实际长度,例如实际测得的长度为50 mm,然后将物体置于相机工作区内,在相机工作区内测量出物体的对应像素点长度为100个像素点,则:比例系数=物体实际长度/物体实际像素点=50/100=0.5,PLC根据获得的坐标值,乘以该系数0.5,就是物体的实际长度或实际距离.
如图2所示,PLC要同时与智能相机、单片机控制板、机器人、触摸屏等4大件进行通讯.其中,PLC与智能相机、单片机的通信采用串口方式,如图4所示,PLC需要增加2块CM1241通讯模块,分别采用RS485和RS232方式.其中,智能相机通过RS485与PLC通讯,单片机通过RS232与PLC通讯.
图4 PLC串口通信模块设置Fig.4 PLC Serial Communication Module Settings
PLC与单片机的通讯,为了降低难度,采用自由口协议,也就是采用自定义协议.[3]如图5所示为PLC串口通信采用自由口协议时的消息开始的设置.设置为“以特殊条件开始”,当PLC接收到单片机端发送过来的“E3 E5”两个字节后,即认为是单片机开始有效发送的标志.[4]同样的,当PLC接收到单片机端发送过来的“D3 D5”两个字节后,认为是单片机完成发送的标志.
图5 PLC串口通信的消息开始的设置Fig.5 Settings for message start of PLC serial communication
PLC采用“RCV_PTP”指令来接收从单片机端以点对点方式发送过来的指令,如图6所示,主要是要设置好端口“PORT”和数据接收缓冲区“BUFFER”,这样就可以正常通信了.图6中设置为:将所使用的串口指向RS232串口,并且将单片机端发送的数据保存到数组“RCV_PTP”.RCV_STC中.PLC接收到的信息主要为来自单片机端的语音交互指令等.同样的,PLC采用“SEND_PTP”指令来完成发送信息到单片机端的任务,发送的信息主要为当前立体仓库的状态等.
图6 点对点串口接收指令Fig.6 Point-to-Point Serial Port Receiving Instructions
因智能相机本身支持Modbus协议,所以PLC与智能相机的通讯采用Modbus协议.如图7所示为PLC与智能相机通信的串口设置指令.通过该指令,可以将RS485串口设置为以Modbus协议通信,然后使用“MB_MASTER”指令读写智能相机的数据.
图7 PLC与智能相机通信的串口设置指令Fig.7 Serial Port Setting Instruction for Communication between PLC and Intelligent Camera
选用工业机器人时,须选择带有Profinet接口的机器人.PLC与机器人之间通过RJ45接口,使用Profinet总线进行通讯.
如图8所示为PLC与机器人的通信指令,其中“192.168.8.103”是机器人的IP地址,可以在机器人的示教器上进行设置.“40097”指向了 MODBUS通讯的字存储区,通过这32个字,PLC可以将物品存放指令、智能相机的识别结果和其他指令传送给工业机器人.同样地,工业机器人也可以将其自身的各种状态传送给PLC.
图8 PLC与机器人的通信指令Fig.8 Communication Instruction between PLC and Robot
因触摸屏选用的是西门子的TP700,只要将PLC和触摸屏连接到同一个网关,并设置在同一个子网,完成硬件组态以后就可以顺利进行通讯了.
完成硬件组态以后,在触摸屏端,可以直接使用PLC端的变量.例如进行系统登录时,可以在触摸屏端输入账号和密码,完成验证后,可以将成功标志直接传送到MB200,而在PLC端则直接判断MB200的值就可以了.
因为单片机端可以比较容易地将串口转蓝牙模块集成到控制板上,而PLC要实现与手机的联结则比较困难,所以手机APP端并未与PLC直接相连,要完成他们之间的通信,需要通过单片机这个桥梁来进行.
如图9所示为单片机通讯部分的电路图,单片机一共有4个串口,其中实际使用了3个串口.串口转蓝牙模块作为一个小模块直接焊接到单片机控制板上面,接到单片机的串口3.
图9 单片机通讯部分的电路图Fig.9 Circuit diagram of communication part of SCM
在手机APP端,调用一个蓝牙组件,即可以通过手机的蓝牙连接到单片机控制板.PLC通过单片机的串口1将立体仓库的实时状态等信息传送到单片机,单片机再通过串口3将这些信息传送到手机端,由此间接实现了PLC与手机APP的通信.
在RobotStudio环境下,可以对本系统的机器人运动部分进行仿真,但是对于语音识别和图像识别,在RobotStudio环境下无法进行,只能采用外加模拟信号的办法来实现调试.
研制出的实物样品如图10所示.针对智能仓库的5个主要功能,我们分别进行了测试.
图10 研制的实物原型Fig.10 Developed Substances
在35分贝噪音环境下,测试人员的普通话二级乙等水平,测试距离为1米,共测试200次.分别测试各种取放指令、系统登录等语音命令.经过统计,机器人有185次能正确执行命令,有15次没有动作,成功率为92.5%.当把环境噪音降到25分贝以下后,再次测试200次,机器人有193次能正确执行命令,有7次没有动作,成功率为96.5%.通过实际的测试和统计,该系统的实际运行效果比较准确且比较稳定.
本文研究的智能仓库教学模型,一套教具系统可以同时满足机器人系统集成、工业现场总线、触摸屏编程、PLC编程、人工智能 AI、人工智能VI、手机APP设计等多方面的实训要求,适应范围广,成本低.本系统用于工业机器人教学,结构简洁,学员可直观地感受智能制造,能大大提高学习效果.
本教具加以完善以后,不仅可以用于教学,还可用于各类存取物场合,例如可以推广应用到:现代大型物流仓储、工业货物自动识别搬运、快递物流自动存取货、超市的自动存储柜、图书馆自动存储书籍等,可以为人类社会生产生活带来很大的便捷.