0引言
近年来,随着智能制造技术的发展,生产现场的自动化、智能化程度不断提高,工业现场数据采集技术也不断增强。然而目前的MES、SCADA等信息系统对现场数据的利用大多停留在数字化或图形化层面,造成生产制造现场与管理层间的脱节。为了解决智能制造所要求的物理世界与信息世界的交互与融合的问题,提出了数字孪生的解决方案。
本文以Aubo-i5工业机器人为对象、工业机器人仿真软件为工具,建立单体机器人的数字孪生体。孪生体通过离线仿真功能生成控制程序。PC端应用程序通过Socket与控制柜通讯,控制机器人并获取实时数据写入Buffer文件。孪生模型通过LUA脚本读取 Buffer文件,获取实时关节值并驱动模型运动,实现实时监控。实现了单体机器人孪生体的闭环系统。
1系统构成
1.1硬件配置
整个系统包括Auboi5工业机器人、机器人控制柜、PC机以及网线等设备。机器人控制柜控制机器人动作并提供与PC通讯的以太网接口。
1.2软件配置
PC机安装川思特软件公司的生产系统仿真软件HedraSMF建立数字孪生模型以及对机器人进行离线编程。另外在Windows平台开发实现仿真软件与机器人控制柜通讯的控制台应用程序。
1.3系统总体构成
系统总体结构原理如图1所示。底层为机器人及其控制器,中间层为通信应用程序,上层为工业机器人仿真软件。通信程序与仿真软件装于PC,控制柜与PC通过网线连接、套接字通讯。仿真软件离线编程模块可沿着选定的轨迹生成机器人控制程序,如图所示,并以XML文档的形式存于PC硬盘中。应用程序运行逻辑为:一个线程读取机器人点位信息发送给控制柜控制机器人运动;另一个线程获取机器人实时关节值与事件信息写入缓存文件中。仿真软件开始仿真,LUA脚本每三十毫秒读取一次缓存文件,通过获取的实时信息驱动孪生模型与实体运动一致,并在消息栏打印机器人发生的事件信息。由此实现数字孪生体与实体机器人的消息闭环。

2数字孪生体的构建
数字孪生模型的建立依赖于仿真软件。该软件具有建模、离线编程及丰富的LUA语言的仿真接口,据此可建立机器人的数字模型体并通过二次开发实现需要的功能。
2.1孪生模型的构建
将机器人本体的实际三维模型导入到仿真软件中进行拆分、建模。根据D-H连杆坐标系的原则,对其六个关节进行运动机构的构建,并保证模型关节零点位与实际相对应。
2.2离线编程输出
软件的离线编程模块加入了该机器人的运动逆解算法-根据目标点末端位姿反解出最优六关节值。同时软件开发人员根据Aubo机器人控制程序的格式开发了后置输出功能,由此根据目标轨迹线输出如图-所示的机器人控制程序。
2.3实时监控实现
为模型加入LUA线程脚本,通过LUA的io操作读取本地的Buffer文件,获取机器人六关节角度值和机械臂事件码。利用simRMLMoveToJointPositions()接口函数及模型六关节的的句柄控制其运动。在子线程中每30毫秒执行一次,实现了模型对实体的实时映射。
3通信应用程序的实现
应用程序起数据处理、传输的功能,采用最简便的控制台应用程序,只设启动和停止功能。
程序的实现基于Socket通讯及机器人厂商提供的控制柜接口。程序通过机器人控制柜Socket服务器地址与端口建立通信。在初始化机械臂控制平台后,通过三个子线程实现功能。
首先注册一个获取机器人实时关节值的回调函数,循环获取机器人六个关节的关节角。再注册一个获得机器人事件信息的回调函数,在机器人有事件发生时,返回机械臂的事件码。两个回调函数在两个子线程中实时获取数据,为了保证输出的一致性,每间隔30毫秒将获取的实时关节值数据与事件码写入到缓存文件中。
机器人离线编程输出的程序格式是固定的xml文档,编写对应的解析机器人程序的函数,读取机器人轨迹路线的所有点位后,注册一个给控制柜发送运动指令的线程函数,控制机器人开始作业。
从而,三个子线程实现了通过机器人控制程序控制机器人作业、实时获取关节值与事件码并写入Buffer文件的功能。在所有作业点位运行结束后,Socket退出,程序结束。

