第 35 卷第 3 期 2019 年 6 月 机械设计与研究 Machine Design and Research Vol. 35 No. 3 JUN. , 2019 文章编号: 1006-2343( 2019) 03-015-04 采用 FANUC 机器人内核 KAREL 语言 实现机器人内外数据批量交互 1 1 2 3 陈 颀 ,罗 磊 ,莫锦秋 ,徐啸顺 ( 1. 上海交通大学 巴黎高科卓越工程师学院 ,上海 200240,E-mail: chenqidenis@ qq. com; 2. 上海交通大学 机械与动力工程学院 ,上海 200023; 3. 上汽通用汽车有限公司 动力总成制造工程 ,上海 201206) 摘 要: 当下智能化生产规模日益扩大,FANUC 机器人在工业生产中应用广泛。针对现阶段工业生产中 FANUC 机器人难以实现同外部进行实时批量数据交互的问题,以 FANUC 机器人内核 KAREL 语言为切入点, 搭建实现机器人同外部数据交互模型,通过算法设计及 KAREL 编程实现机器人与外部基于 tcp / ip 协议的通 信,进而完成数据实时批量交互。Roboguide 仿真模拟以及在实际 FANUC 绿色机器人工作平台上的实验验证 表明所构建的数据交互方法能满足工业生产中对机器人实时运行数据采集的需求。 关键词: FANUC 机器人; KAREL 编程; Roboguide; 数据交互 中图分类号: TP391 文献标识码: A DOI:10.13952/j.cnki.jofmdr.2019.0179 Achieve FANUC Robot’s Data Interaction Based on KAREL Language CHEN Qi1 ,LUO Lei1 ,MO Jinqiu2 ,XU Xiaoshun3 ( 1. SPEIT,Shanghai Jiao Tong University,Shanghai 200240,China; 2. Mechanical Engineering School,Shanghai Jiao Tong,Shanghai 200023,China; 3. SAIC - GM PTME,Shanghai 201206,China) Abstract: At present,FANUC robots are widely used in industrial production. In current stage,it is difficult for FANUC robots to realize real - time data interaction with outside. This paper focus on FANUC robot’s kernel KAREL language,by building a interaction model,algorithm design and KAREL programming,to build a connection between robot and outside based on tcp / ip protocol and finally to complete real - time data interaction. The experimental results are first simulated by Roboguide and then verified on the actual FANUC green robot working platform. Key words: FANUC robot; KAREL programming; Roboguide; data interaction 随着工业制造智能化程度的加深,工业机器人越来越多 机器人需投入上千美金,推广使用成本过高。国内外有关 地投入到实际生产应用。FANUC 机器 人 以 其 自 动 化 程 度 FANUC 机器人数据读取的公开文献较少,更没有 FANUC 机 高,功能强大,操作方便等特点备受制造企业欢迎,尤其是 器人内核 KAREL 语言解决实际工业问题的公开案例。 为解决 FANUC 机器人内部数据同外界实时交互的问 FANUC 六关节机器人,广泛应用在装配、搬运、焊接、铸造、 喷涂、码垛等不同生产环节。 随着大数据的发展,工业生产中逐步重视数据采集与分 题,本文基于 FANUC 机器人内核 KAREL 语言运行原理,以 KAREL 语言为切入点,首先构建机器人同外部数据交互流 析。FANUC 机器人运行过程中的各种关键数据,如工具坐 程; 然后设计数据交互算法,通过基于 KAREL 语言编译成 标系位姿、关节速度、电机电流值等,均表征了机器人实际工 的. pc 程序和机器人示教器编写的. tp 程序合作运行的方式, 作情况。对这些数据进行监控分析,可提高工业生产的安全 打通机器人外部 PC 基于 tcp / ip 协议的通信,进而成功实现 性,用于优化生产流程。 机器人运行过程中关键数据同外界实时批量交互。上述流 现阶段如有需要读取机器人内部数据,一般通过机器人 程和算法先后在 FANUC 机器人配套仿真模拟软件 Robogu- 提供的 I / O 接口读取方式。这种方法限于 FANUC 机器人寄 ide、上汽通用 FANUC 绿色机器人装配平台上进行了仿真和 存器的数量,难以实现大批量数据的收发,且对交互实时性 实物验证。 难以控制。若使用 FANUC 公司官方开发的通信软件包每台 1 数据交互流程 如图 1 中,需进行数据交互的机器人工作系统主要由六 收稿日期: 2018 - 11 - 09 基金项目: 国家科技重大专项( 2017zx04016001) 关节 FANUC 机器人、机器人控制器与本地 PC 三大块组成。 机器人是工业工作主体,是数据提取对象。机器人控制器是 机械设计与研究 16 第 35 卷 机器人的核心部分,主要运行两种类型的程序,其一是通过 的. kl 程序经过编译生成的. pc 程序,. pc 程序能让机器人控 机器人示教器编写的. tp 程序,控制机器人及将机器人内部 制器实现更多复杂的功能。PC 则作为本地数据的接收端, 重要数据写进机器人寄存器; 其二是基于 KAREL 语言编写 主要完成数据本地储存的工作。 ▲图 1 数据交互流程 图 1 中整个工作流程可以细分为四个步骤: 步骤一: 采用 socket messaging 功能,建立机器人控制器 与 PC 间基于 tcp / ip 协议的通信。 步骤二: . tp 程序需将关键数据同步写入机器人寄存器, 进行相关操作控制机器人运动。 步骤三: 机器人运动时同步运行. pc 程序,从机器人寄存 器中读取所需数据,并通过 socket messaging 将读取到的数据 打包发送到 PC 端。 步骤四: PC 端读取数据以 excel 或 txt 的形式完成数据 的本地储存。 基于 tcp / ip 协议的通信须确定服务器和客户端。实际 工业生产中一般由机器人在工作时主动发起连接,因而将机 器人控制器作为客户端,PC 作为服务器更符合实际工业操 作逻辑。 2 程序流程 上节中步骤二和步骤三涉及到对机器人寄存器的多次 读写及多个程序协调合作,需要针对性地设计程序流程。 2. 1 pc 程序流程 . pc 程序由 KAREL 语言编写的. kl 程序编译而成,需要 完成同外部 PC 建立 tcp / ip 协议连接; 读取指定寄存器中数 据; 将数据打包发送到 PC 端三部份工作。程序流程如图 2 所示。 在 tcp / ip 通信部分,. pc 程序设置机器人通信时所请求 ▲图 2 pc 程序流程 ( ) 可以将打包完成的数据通过 socket messaging 的方式传输 的远程设备 ip 地址及占用的端口号后通过 MSG_CONNECT 到 PC 端。 ( ) 函数尝试连接,此时若 PC 端服务器程序正在侦听连接, 2. 2 程序整体流程 正常情况下通信可成功建立。. pc 程序通过 GET_REG( ) 等 上节中. pc 程序实现将机器人寄存器中的数据实时批量 函数可以从寄存器中读取需要的数据,同时可以设置数据采 输出到服务器端,在机器人运行时,实时将工业所需数据写 集的开始的时间,采集频率与采集时长。通过 CNV( ) 等函 入机器人寄存器中,需要. tp 程序配合完成。 数将数据转换为字符串格式便于打包发送,最后通过 write 第3 期 陈 颀等: 采用 FANUC 机器人内核 KAREL 语言实现机器人内外数据批量交互 17 . tp 程序是在机器人示教器上编写完成的,用于示教机 器人运动及进行如夹取、喷漆等操作。同时,. tp 程序也可以 对机器人寄存器进行操作,例如,以下代码将所需的机器人 系统变量写入相应寄存器中。 1: R[5] = ( $ DIAG_GRP[1]. $ CUR_TCP_X) 2: R[6] = ( $ DIAG_GRP[1]. $ CUR_TCP_Y) 3: R[7] = ( $ DIAG_GRP[1]. $ CUR_TCP_Z) 4: R[8] = ( $ DIAG_GRP[1]. $ CUR_TCP_W) 5: R[9] = ( $ DIAG_GRP[1]. $ CUR_TCP_P) 6: R[10] = ( $ DIAG_GRP[1]. $ CUR_TCP_R) ▲图 4 7: R[11] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[1]) 8: R[12] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[2]) 3 9: R[13] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[3]) 3. 1 程序整体流程 实验验证 Roboguide 仿真验证 10: R[14] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[4]) 采用 Roboguide 对上述流程进行仿真模拟,以验证整个 11: R[15] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[5]) 数据提取流程设计的合理性及可行性。Roboguide 是 FANUC 12: R[16] = ( $ MOR_GRP[1]. $ CUR_DIS_TRQ[6]) 公司为机器人配套开发的仿真软件,内部集成了跟机器人相 机器人寄存器主要有位姿寄存器、数字寄存器和字符寄 同的系统。Roboguide 相较于实际工业机器人的优势在于操 存器三种。此处采用数字寄存器。1 - 6 行采集机器人工具 作简便,易于进行问题排查,降低了调试成本,提高了调试编 坐标点( x,y,z,w,p,r) 六坐标值,分别存入编号 5 - 10 的数字 程的效率。 寄存器; 7 - 12 行采集机器人六关节电机的电流值存入 11 - Roboguide 仿真实验基于以下四步骤完成: 16 号数字寄存器。 步骤一: 建立仿真机器人,配置系统。仿真机器人控制 为确保实时将最新的机器人数据写入寄存器中,如图 3 器采用与实际机器人相同的 V9 系统,导入 R632( KAREL) 及 所示将部分. tp 程序 ( COLLECT. TP) 作为后台程序 ( BG 程 R648( User Socket Messaging) 软件包确保. pc 程序的运行及 序) 在后台不间断运行,从而 实 时 更 新 机 器 人 寄 存 器 中 的 通信的建立。 数据。 步骤二: 程序导入。编程实现第二节中涉及到的程序, 将两个. tp 程序及一个. pc 程序导入仿真机器人控制器。 步骤三: 通信建立,数据传输。首先运行服务器程序侦 听连接,然后于 Roboguide 按第二节中流程运行相应机器人 程序。 步骤四: 检验仿真结果。检验所需的机器人数据是否成 功实现本地储存。 如图 5 所示,左侧 Roboguide 软件中成功建立仿真机器 ▲图 3 COLLECT. tp. 后台运行 人,安装完成了相应软件包。右侧基于 java 运行 pc 端服务 器程序。仿真实验成功实现对所需机器人数据采集及本地 . pc 程序不能被机器人控制器直接运行,需要通过 call 或 run 方式在. tp 程序中调用运行。Call 方式调用了. pc 程 储存。 3. 2 实物验证 序后会等待其运行结束再继续运行余下. tp 程序; run 方式则 在如图 6 所示的上汽通用集团 FANUC 绿色机器人操作 是调用. pc 程序后,. tp 程序同步运行。采用了 run 方式,在. 平台进行实物验证。绿色机器人用于完成目标工件插孔,搭 tp 程序控制机器人运动的同时,通过. pc 程序运行完成数据 载 FANUC 机器人现阶段最新 V9 系统。 交互。 基于上述分析明确了工作需要两个. tp 程序和一个. pc 程序协同完成,整个程序运行过程如图 4 所示。一个. tp 程 序作为 BG 程序不断运行以更新机器人寄存器中的数据,另 整个实验流程同仿真过程类似,实验成功完成所需机器 人内部数据外部输出的过程。现阶段对应于同时采集 200 个关键数据的数据采样频率可达 1 kHz。 图 7 为某次采集的 30 s 时长的第 115 - 138 个采样点的 外一个. tp 程序作为主程序正常运行控制机器人运动及完成 机器人内部数据。按生产要求设定采集机器人工具点的位 相关操作。. tp 主程序在程序控制机器人运动开始前通过 run 姿信息及六关节电机的电流值,采样周期 100 ms,数据本地 方式调用. pc 程序同步运行,从而完成通信搭建,数据读取及 储存格式为 txt 格式。 交互等一系列操作。通过三个程序协调配合运行,最终可实 现对机器人内部数据的外部输出。 机械设计与研究 18 ▲图 5 此次实验 第 35 卷 Roboguide 仿真实验 计算可知数据坐标点误差均在 0. 05 mm 以内,完全目前满足 中机器人在特 机器人作业精度需求( 一般 0. 1 mm) 。 定位 置 ( 1 000 4 mm 50 mm 内部数 据 的 需 求 日 益 广 泛。本 文 以 FANUC 机 器 人 内 核 10 s。观 察 图 KAREL 语言为切入点,以基于 tcp / ip 协议的通信为基础,通 7 中 数 据,第 过算法设计及程序规划,成功实现机器人内部数据同外部的 132 个 数 据 点 实时批量交互,并对机器人内部数据完成本地储存工作。整 开始对应机器 个工作内容通过 Roboguide 仿真及在 FANUC 绿色机器人实 人 运 动 停 止, 标不再变化。 论 随着 FANUC 机器人的广泛应用,实际生产中对机器人 950 mm) 停 留 线框内位置坐 结 验平台均得到了验证。研究成果不仅可以降低 FANUC 机器 ▲图 6 FANUC 绿色机器人实验平台 人实际开发使用成本,还为后续 FANUC 机器人工艺大数据 采集和分析提供了坚实的基础。 ▲图 7 数据本地储存结果 ( 下转第 24 页) 机械设计与研究 24 了该方法的可行性。 本文为将内模控制方法应用于半物理仿真系统失真补 偿问题中提供了理论支撑与实验验证。但本文方法还存在 一些问题,由于运动模拟器实际物理模型较为复杂,导致实 际系统参数难以调节,下一步可针对实际系统对本文方法作 进一步的改进。 参考文献 [1 ] 林来兴. 四十年空间交会对接技术的发展 [J]. 航天器工程, 2007( 4) : 70 - 77. [2 ] 林琪,来嘉哲. 空间交会对接仿真技术研究[J]. 装备指挥技 2008, 19( 5) : 53 - 57. 术学院学报, [3 ] 延皓. 基于液压六自由度平台的空间对接 HIL 仿真系统研究 [D]. 哈尔滨: 哈尔滨工业大学, 2007 [4 ] 常同立,丛大成,叶正茂,等. 空间对接动力学半物理仿真基本 2008( 1) : 53 - 58. 问题解决方案研究[J]. 宇航学报, [5 ] 廖能超. 空间交会对接 HIL 仿真系统运动模拟器的研究[D]. 2014. 上海: 上海交通大学, [6 ] SHIMOJI H,INOUE M,TSUCHIYA K,et al. Simulation system for a space robot using six - axis servos[J]. Adv Robot,1991,6 ( 2) : 179 - 96. [7 ] ZEBENAY M, BOGE T, KRENN R, et al. Analytical and experimental stability investigation of a hardware - in - the - loop 第 35 卷 satellite docking simulator[J]. Proc IMechE Part G: J Aerosp Eng 2015; 229( 4) : 666 - 81 [8 ] LIU T, GAO F. Industrial process identification and control design: step - test and relay - experiment based methods[I]. London UK: Springer Science & Business Media,ZU J1. [9 ] SEBORG D E. Process dynamics and control[M]. New York: John Wiley & Sons, 2010. [10] 薛美盛,白东进,王川. 基于 Pade 近似一般形式的 IMC - PID 2010 17( 6) : 715 - 718 控制器设计[J]. 控制工程, [11] 乔立,赵现朝,齐臣坤,等. 空间对接半物理仿真噪声处理研 33( 4) : 33 - 35. 究[J]. 机械设计与研究,2017, [12] 王笑,钟帏励. 基于 IMC 的 PID 控制器的设计实现[J]. 计算机 2005, 22( 8) : 80 - 82. 仿真, [13] GARCIA C E,MORARI M. Internal model control. 2. Design procedure for multivariable system [J]. Industrial Engineering Chemistry Process Design and Development,1985,24( 2) : 472 - 484. [14] 门金来,吴勃夫,陈杰. 汽车伪线性内模操稳控制策略建模与 仿真[J]. 机械设计与研究,2011,27( 4) : 50 - 53. [15] 张春晓. 解决非线性最小二乘问题的两种方法[J]. 青海大学 学报,2003,21( 5) : 60 - 64. 作者简介: 秦勤( 1993 - ) ,男,硕士生; 主要研究方向: 机器人控 制技术。 欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁 ( 上接第 14 页) [6 ] 蔡自兴. 机器人学[M]. 北京: 清华大学出版社,2000. [7 ] 刘常杰,班荣兴,郭寅,等. 基于双目视觉机器人 TCP 校准方 法研究[J]. 红外与激光工程,2015( 6) : 1912 - 1917. [8 ] 刘成业,李文广,马世国,等. 一种工业机器人工具坐标系标 定方法[J]. 山东科学,2012,25( 1) : 70 - 74. [9] 熊硕,叶伯生,蒋明. 机器人工具坐标系标定算法研究[J]. 机 械与电子,2012( 6) : 60 - 63. [10] 刘振宇,陈英林,曲道奎,等. 机器人标定技术研究[J]. 机器 24( 5) : 447 - 450. 人,2002, [11] 李振,张玉茹,刘军传. 一种基于机器视觉的机器人标定方法 [J]. 机械设计与研究,2007,23( 3) : 66 - 69. [12] 李新,刘辉,陈君,等. 工业机器人校准方法研究综述[C]/ / 江苏省计量测试学术论文集,中国江苏南京,2013 - 11 - 01 [13] NUBIOLA A,BONEV I A. Absolute calibration of an ABB IRB 1600 robot using a laser tracker [J]. Robotics And Computer - Integrated Manufacturing,2013,29( 1) : 236 - 24. [14] 赵娇娇,朱伟. 弧焊机器人系统标定[J]. 福州大学学报: 自然 科学版,2008,36( Z1) : 31 - 34. [15] 张广军. 机器视觉[M]. 北京: 科学出版社,2005. 作者简介: 牛锦东( 1994 - ) ,男,硕士生; 主要研究方向: 工业机 器人与智能控制。 欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁欁 ( 上接第 18 页) 2016, 32( 5) : 46 - 48. 与研究, [7] 韩全立,王宏颖. 宏程序在数控编程中的应用技巧及编程实例 参考文献 [J]. 机床与液压,2010,38( 12) : 29 - 32. [8 ] 顾民强,范秀敏,马登哲,Marco ravera,Alberto rovetta. 虚拟环境 下机器人远程控制[J]. 机械设计与研究,2003,19 ( 3 ) : 20 - [1 ] SHIBATA T, YANO M, KODAMA F. Empirical analysis of evolution of product architecture: FANUC numerical controllers from 1962 to 1997[J]. Research Policy,2005,34( 1) : 13 - 31. [2 ] BOUZGOU K,AHMED - FOITIH Z. Geometric modeling and singularity of 6 dof FANUC 200ic robot [C ]/ / Innovative Computing Technology ( INTECH ) , 2014 Fourth International Conference on. IEEE,2014: 208 - 214. [3 ] PAJOR M, MIADLICKI K, SAKóW M. Kinect sensor implementation in FANUC robot manipulation[J]. Archives of mechanical technology and automation,2014,34( 3) : 35 - 44. ' ' [4 ]KU S MI NSKA - FIJAIKOWSKA A,LUKASIK Z. Programming KAREL industrial robot FANUC S - 420F. Structuring the program - Procedures[J]. Journal of Railway Transport Technology,2012 22. [9 ] 朱季泽. 工业机器人技术应用研究[J / OL]. 现代工业经济和信 2018, 15: 57 - 58[2018 - 12 - 05]. https: / / doi. org /10. 息化, 16525 / j. cnki. 14 - 1362 / n. 2018. 15. 25. [10] 王群亮. 工业机器人的技术发展及其应用研究[J]. 山东工业 2018( 10) : 69. 技术, [11] 唐静. 基于 Roboguide 的搬运机器人离线编程与运动仿真[J]. 2018, 17( 2) : 41 - 43. 常州信息职业技术学院学报, [12] 张瑞舒,张昶,郑卫刚. 浅谈工业机器人的现状与发展[J]. 智 2018( 4) : 37 - 39. 能机器人, [13] 闫志明,王家勇. FANUC 机器人在汽车发动机生产线上的应用 [J]. 可编程控制器与工厂自动化, 2014( 4) : 88 - 91. ( 9) : 15 - 17. [5 ] 原大宁,崔冬. 基于 OpenGL 的 M_6iB 型 FANUC 机器人三维 运动仿真[J]. 机械科学与技术,2007,26( 12) : 1552 - 1555. [6] 吕燕,朱统帅,莫锦秋. 分布式双机器人协调联控[J]. 机械设计 作者简介: 陈颀( 1995 - ) ,男,硕士生; 主要研究方向: 工业机器 人控制。