铣削加工机器人(四):机器人铣削加工软件设计

1648 字
8 分钟
铣削加工机器人(四):机器人铣削加工软件设计
# 前言

本文介绍了所开发的KUKA机器人曲面铣削加工机器人系统软件,并结合前文介绍的机器人运动学建模、机器人刚度模型分析、加工轨迹分割和基于强化学习的轨迹分区域优化等内容,获取优化后的机器人冗余度和变位器转角参数,使用CoppeliaSim软件对优化后的轨迹进行仿真验证。

为了实现机器人铣削加工的自动化和数据监测的可视化,本节基于Python的Pyqt5开发机器人曲面铣削加工软件界面,通过多线程的方法处理机器人系统上传的数据、轨迹实时仿真、远程控制和上位机与机器人系统的数据交互通信。软件界面如图所示。

image-20230902164233912
image-20230902164233912

开发铣削加工机器人系统软件具有以下功能:

(1) 对机器人进行控制和监测,包括上位机与机器人以及整体加工系统通讯、加工轨迹以及振动实时监测等功能;

(2) 轨迹仿真功能,通过CoppeliaSim软件对预轨迹进行仿真,对加工轨迹进行验证;

(3) 加工轨迹处理功能,将UG软件生成的CLSF文件解析为机器人系统加工所需的末端和变位器轨迹,以及加工轨迹进行预分割和分区域优化;

(4) 加工结果测量功能,调用结构光相机测量加工表面点云,并进行配准,计算加工结果的加工误差。

1 数据通信#

要实现通过上位机控制机器人进行加工,首先需要实现上位机和机器人系统之间的数据传输,再通过机器人系统程序读取数据,调用程序指令完成加工轨迹控制。UG生成的加工轨迹不能直接用于机器人加工,需要将五轴加工任务解析为机器人系统所需的末端轨迹和变位器轨迹,并转换为上位机和机器人系统通讯规定的数据格式发送给机器人并执行加工任务,流程如图所示。

image-20230902164325741
image-20230902164325741

KUKA机器人是通过Ethernet KRL模块(以下称Ethernet)实现上位机与机器人的数据通讯,Ethernet模块使用TCP/IP协议,以XML或二进制格式接收和发送数据。在机器人与上位机进行通讯前,需定义三个KRL同名文件,包括SRC和DAT、XML文件,SRC文件由实际运行的程序源代码构成,负责实现具体的机器人控制和外部通讯,DAT文件用于保存SRC文件中程序运行所需的变量以及通讯数据存储,XML文件定义了机器人与外部系统的通讯标准和数据格式。当在SRC程序中打开EKI(Ethernet KRL Interface)通讯接口,机器人系统会创建一个服务器,根据XML定义的配置不断监听外部连接,通讯原理如图所示。

image-20230902164405227
image-20230902164405227

在上位机上编写与机器人通讯的服务端,本文使用Python3.9进行编写,使用Socket模块与机器人系统进行通信,通过Socket创建一个客户端,根据EKI服务端监听的IP地址与端口号信息,向机器人系统发送连接请求,在服务端响应请求后,机器人系统与上位机的连接就建立起来,通信界面如图所示。

image-20230902164421107
image-20230902164421107

2 加工程序解析#

本文使用UG软件生成机器人铣削加工的CLSF文件,CLSF文件存储了参考坐标系、加工轨迹和加工参数等,本文重点针对CLSF的加工轨迹指令进行提取解析。CLSF文件主要包括两种运动语句,分别是直线运动和圆弧语句,使用GOTO指令和CIRCLE指令来进行定位,其格式如下所示:

GOTO/X,Y,Z,I,J,K
CIRCLE/X,Y,Z,I,J,K,R

其中,“X,Y,Z”表示刀轨位置,“I,J,K”表示刀轴矢量。

可以看出,CLSF文件定义的是五轴加工任务,即仅刀具末端的五个自由度,沿刀轴旋转的方向并未确定,与库卡的编程语言KRL并不通用,因此需要将其转换为KUKA机器人能够识别的轨迹数据。

由机器人铣削系统运动链分析可知,五轴加工任务转换到机器人加工时,机器人系统仍存在两个自由度,即绕刀轴旋转的自由度和工件变位器自由度。因此,在确定机器人冗余度和变位器转角后,即可将五轴加工任务CLSCLS转换为七自由度加工任务(X,Y,Z,A,B,C,β)(X,Y,Z,A,B,C,β),确定机器人系统的加工轨迹。

在确定机器人的加工轨迹信息后,将刀轨转换为通讯所需的XML文件格式。按加工点位顺序将机器人末端加工姿态以及变位器转角写入XML文档,由于机器人控制柜数据存储器限制,每次传输的数据元素最大数量为512,需要对XML文件进行拆分处理,按加工顺序拆分为小文件再通过Socket传输给机器人系统,其格式如图所示。

image-20230902164554036
image-20230902164554036

3 加工轨迹仿真#

运动学仿真模块的操作界面如图所示,通过界面首页的仿真功能,与CoppeliaSim软件中的仿真环境建立连接,仿真图像通过CoppeliaSim软件的图像传输接口传输给界面,实时显示在界面中。在“关节角”这一栏中,可以在编辑框中输入机器人各关节的角度或拖动滑块改变编辑框数值,改变机器人形位。

image-20230902164713118
image-20230902164713118

可以通过仿真界面进行机器人加工轨迹仿真,有笛卡尔模式、关节模式和同步模式三种仿真模式。在进行实际的铣削加工前,可以将轨迹导入界面进行笛卡尔空间或者关节空间仿真,验证加工轨迹的正确性。当选择同步模式时,需要与机器人建立连接,仿真界面会实时接收机器人系统发送的机器人运动数据,仿真模型会根据实时数据进行在线仿真,在仿真环境中展示实际的加工轨迹。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
铣削加工机器人(四):机器人铣削加工软件设计
https://blog.leihub.cn/archives/683/
作者
阿雷
发布于
2023-09-02
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
铣削加工机器人(三):机器人加工轨迹优化
机器人技术对于给定的加工任务,冗余自由度和变位器转角都会对机器人的加工位姿造成影响。因此,可以通过改变变位器的姿态和冗余自由度,进一步利用机器人的灵活性能,提高机器人的铣削加工性能。在上一篇文章中分别分析了冗余度和变位器转角与机器人刚度的关系,并提出
2
铣削加工机器人(一):机器人运动学
机器人技术机器人学 1.1 空间形位与齐次变换 机器人在空间的位姿通常有两种表达方式,一种是在笛卡尔空间表示,通过在世界坐标系和机器人末端上建立坐标系,使用笛卡尔坐标描述机器人的位姿;另一种是通过关节空间表示,使用机器人六个关节的角度来描述机器人的形
3
铣削加工机器人(二):机器人刚度性能建模及轨迹分割
机器人技术机器人刚度建模 机器人在进行曲面加工时,铣削加工的铣削力数值较大且方向经常变化,机器人各个关节在抵御铣削力时容易发生形变,累积到末端产生变形误差,从而使机器人加工精度下降。因此,如何提高机器人的刚度性能是目前研究的重点。 1 机器人雅可比矩
4
群晖照片异地备份到 Unraid + Immich 相册搭建详细教程:rsync 同步与踩坑全记录
NAS & 云服务搭建我家里同时有白群晖和 unRAID 两台 NAS ,准备把群晖里攒了几年的照片进行异地备份,单盘 NAS 一旦坏了,照片可就全没了。 我自己折腾了两天,踩了一堆坑,终于跑通了一套「unRAID 定时拉取群晖 + Immich 相册」的方案。
5
西上东下:梵净山雾中徒步记
城市短途漫游朋友嚷嚷了一年的梵净山,最近终于找到了爬山窗口,做足了攻略的我们,直接选择来一波特种兵爬梵净山。 一、周五晚上10点,株洲站出发 我们几个都是从株洲出发的,火车是晚上的卧铺车,10 点出发,第二天凌晨 5:40 到铜仁。一张硬卧 138 块
随机文章随机推荐

评论区

Profile Image of the Author
阿雷
一个小趴菜
公告
本站已从 WordPress 迁移到 Astro,访问更快、更清爽。文章链接保持原样(/archives/文章ID/),评论数据正在陆续恢复中。
分类
标签
最新动态
站点统计
文章
76
分类
15
标签
99
总字数
318,421
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录