基于多机器人的虚拟装配工作站设计与碰撞检测仿真*

2017-12-22 08:10郝建豹查进艳谢炼雅
组合机床与自动化加工技术 2017年12期
关键词:装箱碰撞检测离线

郝建豹,查进艳,谢炼雅

(广东交通职业技术学院 机电工程系,广州 510800)

基于多机器人的虚拟装配工作站设计与碰撞检测仿真*

郝建豹,查进艳,谢炼雅

(广东交通职业技术学院 机电工程系,广州 510800)

文章针对多机器人装配过程中易出现的碰撞风险,提出一种利用SolidWorks和RobotStudio构建机器人虚拟装配工作站的设计方案。首先利用SolidWorks 设计了装配工作站的三维仿真模型,分析了工作站的设计流程,其次创建了仿真运行 I/O 信号和动态Smart组件,最后离线编制了程序和碰撞检测仿真,仿真结果表明装配过程中无碰撞。该设计方案可以为企业实际装配工作站的设计提供理论依据和试验平台。

虚拟装配;碰撞检测;SolidWorks;RobotStudio

0 引言

虚拟仿真技术是目前机器人柔性制造研究的热点,尤其在设计阶段,最直观的效果是利用专业软件仿真实际的机器人制造、装配等过程,以可视化的方式展示并改进系统的性能[1]。因此机器人虚拟装配仿真可看作研究机器人柔性制造的重要手段。

碰撞检测是对装配顺序与装配轨迹的正确性验证,机器人虚拟装配仿真必须能实时、精确地判断机器人与外设之间是否发生碰撞[2-3]。碰撞检测在3D游戏、机器人路径规划等众多领域都有着重要的应用。大连海事大学的潘仁宇等研究了基于时间域的碰撞检测算法和基于几何空间的碰撞检测算法[4],但并没有进行实例验证。田飞娟等人选用SoildWorks构建虚拟装配工艺设计平台[5]。目前,在国内外应用的软件如Solidworks、Pro/Engineer等所提供的动画功能并不是面向机器人柔性制造的,因此不能很好地解决制造系统的轨迹规划仿真以及碰撞检测问题。张志贤等提出虚拟装配中基于多刚体动力学的物性装配过程仿真方法,实现了虚拟装配中刚体碰撞过程仿真,并通过实例进行了验证[6]。而这些方法较为复杂,难以做到虚拟与现实的无缝衔接,难以在工程上推广应用。

本文用平面四轴SCARA机器人完成装配功能,应用6自由度串联机器人IRB140完成装箱功能,并结合 Solidworks 软件的三维建模功能设计出了装配工作站的实体仿真模型,导入模型到 RobotStudio中,离线编制程序并进行测试和模拟仿真,并可视化和可感知地分析装配过程中的碰撞风险,最终得到一个可行并较优的产品装配工艺,指导实际装配。

1 搭建装配工作站仿真平台

瑞典ABB公司的RobotStudio软件具有 CAD 模型导入、路径自动规划、离线编程、仿真调试、碰撞检测、二次开发等功能[7-9]。在RobotStudio中构建虚拟机器人及其工作环境,同时操作者能够操纵机器人在场景中移动,可以选择不同的观察角度,从不同的侧面观察机器人的运动情况。本文利用RobotStudio研究的装配工作站如图1所示。装配机器人选用SCARA机器人IRB910,供料装置可提供9个子装配体,装箱机器人采用IRB140,包装箱可放置9个装配好的部件。

机器人上下料工作站和装配工作站间可相互通信。在虚拟装配环境下可实现:模拟真实生产环境及产品装配过程,利用离线编程规划生产节拍;对装配过程实施动态碰撞检验;对装配过程进行装配顺序和装配轨迹分析以及各机器人速度和位姿的优化。

图1 装配工作站与生产线仿真系统

2 仿真系统设计

2.1 装配工作站设计流程

利用SolidWorks 软件设计好机器人末端执行器、供料装置、包装箱、子装配体等装配工作站的三维仿真模型,该工作站形状尺寸和位置尺寸按照现场的实际情况确定,同时合理设置机器人装配作业点和工件抓取点,减少装配循环时间,转换为.STL格式,导入该文件到RobotStudio来完成建模布局工作;然后利用软件模型库,导入SCARA机器人和IRB140机器人;最后调整RobotStudio的可视化系统,并将工作站调节在机器人的工作空间内。SolidWorks 虚拟装配工作站设计、RobotStudio仿真和离线编程的基本流程如图2所示。

图2 虚拟装配工作站构建流程

2.2 装箱机器人夹具设计

本文待装配的异型轴如图3所示,轴零件表面由圆柱、圆弧、槽、内孔、螺纹等组成,其加工过程有机器人上下料工作站完成。在装箱机器人法兰盘末端装有夹具,由于电机驱动难于安装及传动方式难于实现夹具轻量化,而气压传动的反应快、安全可靠、能量损耗小、成本低廉,因此夹具采用气压传动方式,其构成包含气缸、电磁阀、传感器及机械部件等。该夹具由气缸分别控制两个夹持端动作,用于夹取装配好的产品。由于装配好的产品为圆柱形,为了把持机能良好和足够的握力,夹具采用V形手指。夹具上安装有工件检测传感器,实现自动夹取。

图3 待装配零件及装箱机器人夹具

2.3 装配工作过程

上下料机器人在生产线上抓取加工完毕的工件,本项目待装配的工件如图3所示,放到装配站指定位置,光电传感器检测到工件到位,加持装置固定位置,同时启动装配机器人IRB910在供料装置中抓取子装配体,并进行装配作业,传感器检测装配好的工件完成,启动装箱机器人IRB140搬运到箱内指定位置。整个工作站能实现机器人、机床、输送线相互通讯,并有强制互锁程序,以确保机器人与其他设备之间不会发生任何碰撞。

2.4 动态组件设计

仿真应用中,ABB的标准IO板提供的常用信号处理有数字输入DI、数字输出DO、模拟输入AI、模拟输出AO。I/O板都是下挂在DeviceNet现场总线下的设备,本项目每个机器人系统都采用8个DI,8个DO的DSQC651板,设定地址为10,数字输入信号地址定义为0~7,数字输出信号地址定义为32~39,连接总线为DeviceNet。表1为装配机器人I/O 信号,表2为装箱机器人I/O 信号。

表1 装配机器人I/O 信号

表2 装箱机器人I/O 信号

在RobotStudio中创建机器人装配工作站的动态效果对仿真起了极其重要的作用。其软件中的Smart组件能实现动画效果。Smart 组件所需的 I/O 信号,用于与各 Smart子组件进行信号交互,进行机器人信号与Smart组件信号间的关联。Smart组件的动态仿真模拟了真实的生产线工件抓取、装配和放置的工作过程。装配工作站 Smart 组件设计如图4所示。图中system65、system66分别为装配机器人和装箱机器人的动态组件逻辑关系。

图4 码垛工作站smart组件设计

3 系统编程与碰撞检测仿真

3.1 程序编制

在虚拟装配工作站模型建立的前提下,RobotStudio软件可进行离线编程,根据装配流程,I/O信号,设计的Smart组件,就可以在RAPID离线开发程序,示教目标点。装配机器人的程序里所需要定位的只有2个点,包括1个装配放置点和1个拾取点,本装配站共9个拾取点,其余8个点主要跟设置的坐标系与位置计算有关。示教点以外的路径全由程序指令来控制,需配置最合理的姿态来移动。程序可以在RobotStudio虚拟示教器上修改,也可以在RAPID编辑器中修改,调试方便快捷。将编辑好的程序保存为程序模块,可通过网络或存储设备,将其传送给机器人控制器。

装配机器人和装箱机器人都有各自独立的控制系统和程序,其中装配机器人的主程序和部分例行程序如下:

PROC Main()

rInitAll;!调用初始化程序

WHILE TRUE DO

WaitDI di_0,1; !等待带装配零件放置的信号

rLocation;!调用计算抓取位置程序

MoveJ Offs(ppick,0,0,80), v1000, fine,

ToolFrame5WObj:=Workobject_2;

!!移至抓取位置上偏移一定距离

MoveL ppick, v1000, fine,

ToolFrame5WObj:=Workobject_2;!移至抓取位置

Set do_fixture2;!置位夹具夹紧信号,夹取产品

WaitDI di_fixture2,1;!等待夹具夹紧反馈信号

MoveL Offs(ppick,0,0,80), v1000, fine,

ToolFrame5WObj:=Workobject_2;!向上移动产品

MoveL pplace1, v1000, fine,

ToolFrame5WObj:=wobj0;

!利用MoveL移动并旋转到装配点(将异型轴套拧入)

PulseDO do_1;!输出一个脉冲信号让夹紧异型轴的夹具松开

WaitDI di_1,1;!等待松开完成信号

MoveL Offs(pplace1,0,0,120), v1000, fine,

ToolFrame5WObj:=wobj0;!到装配点上方120mm处

WaitDI di_3,0;!等待另一台机器人动作完成

MoveL Offs(pplace2,0,0,100), v1000, fine,

ToolFrame5WObj:=wobj0;到放置点上方100mm处

Reset do_fixture2;!复位夹取信号,使其松开

WaitDI di_fixture2,0;!等待松开完成信号

MoveL Offs(pplace2,0,0,100), v1000, fine,

ToolFrame5WObj:=wobj0;!利用MoveL移动到放置点正上方Z轴正方向100mm处

rCount;!调用带装配零件位置计算例行程序

WaitTime 0.1!等待0.1s

ENDWHILE

ENDPROC

PROC rInitAll()

AccSet 50,80; !定义加速度

VelSet 50,1000;!定义速度

reg2:=1;!初始计算为1

﹒﹒﹒!初始化机器人等的状态

ClkStart Timer1;!计时,统计机器人运行时间

MoveJ phome,v1000,fine,ToolFrame5;

!机器人回到home点

ENDPROC

主程序中通过调用例行程序来实现机器人的各种动作,首先调用初始化程序,该程序初始加速度和速度、初始抓取装配部件计数值、机器人回到原phome,对夹具初始化。利用WHILE循环把初始化程序和rLocation 、rCount等其他例行程序隔开,每次循环等待时间为0.1s,防止机器人CPU过载。

3.2 碰撞检测设计流程

在工业机器人装配过程中,为保证工艺的要求,工业机器人工具与工件表面不能发生碰撞、也不能距离过大,两者之间的距离应保证在合理的范围之内。这需要离线编程软件调试过程中完成碰撞监控,ABB工业机器人仿真软件RobotStudio满足了这一需求。离线编程完成后,虚拟装配过程中,可对其装配序列、装配路径进行动态修改和控制,按需定义每工序需时,并实现了装配过程中的碰撞检验。本文采取的装配过程碰撞检测仿真流程如图5所示。

图5 工作站碰撞检测实现流程

3.3 碰撞检测仿真分析

碰撞检测分析时,设定“接近丢失”的距离,此处设定2mm。则机器人在轨迹运动过程中,如工具与工作站外设距离在2mm内显示接近丢失颜色,设置为黄色,如工具与工件距离超过2mm则不显示接近丢失颜色。如工具与其他外设发生碰撞,则显示碰撞颜色,设置为红色,并在碰撞点显示坐标标记。虚拟装配作业过程碰撞效果图如图6所示。

图6 工作站碰撞仿真效果图

从图中可以看出在装配点显示红色并表示出接触处坐标,表示只有在抓取子装配体和装配时夹具和工件及子装配体有接触。其他无标记,说明装配过程中装配机器人与装箱机器人、工作站其它外设无碰撞。利用RobotStudio的信号分析功能可知装配站的生产节拍为14s。同时,根据仿真情况,设定speeddata、VelSet以及AccSet可以优化机器人TCP速度。在离线编程时,通过修改目标点“轴配置参数”还可优化机器人的位姿,这对以后的实际生产常有用的。

4 结论

工业机器人在现代制造系统中应用广泛,通过在SolidWorks环境中进行工作站的布局设计以及在RobotStudio离线编程、操作仿真,能够有效地辅助设计人员进行机器人虚拟示教、机器人工作站布局、机器人工作姿态优化,在物理工作站制造之前验证设计的合理性,在虚拟环境中生成控制机器人作业的代码。离线编程与仿真能识别和检测自动化组件之间可能的碰撞,可用于确定实际投产前最后的更正,这样能防止昂贵的设备损坏。

[1] 刘振宇,谭建荣.面向过程的虚拟环境中产品装配建模研究[J].中国机械工程,2013,40 (3):1690-1693.

[2] 高金刚,于佰领,张永贵,等.机器人装配工作站设计[J], 机械设计与制造, 2014(4):47-49.

[3] 徐清华,张艳峰,贾现春.机器人冲压生产线的虚拟设计仿真[J].现代制造技术与设备,2013 (6):63-64.

[4] 潘仁宇,孙长乐,熊伟,等. 虚拟装配环境中碰撞检测算法的研究综述与展望[J].计算机科学, 2016(11):136-138.

[5] 田飞娟.基于SoildWorks 的虚拟装配工艺研究[J].现代制造技术与设备,2017 (1):43-44.

[6] 张志贤 刘检华 宁汝新. 虚拟装配中基于多刚体动力学的物性装配过程仿真[J].机械工程学报, 2013,49(5):90-94.

[7] 郝建豹,许焕彬,林炯南. 基于RobotStudio的机器人码垛工作站虚拟仿真设计[J].自动化与信息工程, 2017,38(2):27-29.

[8] 陆叶.基于RobotStudio的机器人柔性制造生产线的仿真设计[J].组合机床与自动化加工技术, 2016(6):157-160.

[9] 叶晖.工业机器人工程应用虚拟仿真教程[M].北京: 机械工业出版社,2014.

DesignofVirtualAssemblyWorkstationandSimulationofCollisionDetectionBasedonMultiRobot

HAO Jian-bao,ZHA Jin-yan,XIE Lian-ya

(Department of Mechanical and Electrical Engineering, Guangdong Communication Polytechnic, Guangzhou 510800, China)

Aiming at the collision risk which is easy to occur in the process of multi robot assembly, a design scheme of using SolidWorks and RobotStudio to build a virtual assembly workstation for robots is proposed. Firstly, a 3D simulation model designed assembly workstation using SolidWorks, analyzes the design process of workstation, then create a simulation of I/O signal and dynamic Smart components, finally off-line compiled simulation and collision detection, the simulation results show that no collision in the assembly process. The design scheme can provide the theoretical basis and experimental platform for the design of the actual assembly workstation.

virtual assembly; collision detection; SolidWorks;RobotStudio

TH165;TG659

A

1001-2265(2017)12-0037-04

10.13462/j.cnki.mmtamt.2017.12.009

2017-08-03;

2017-09-08

广东省高等职业技术教育研究会项目(GDGZ15Y032);广东交通职业技术学院科研项目(AK18Y16085)

郝建豹(1978—),男,山东莘县人,广东交通职业技术学院讲师,硕士,研究方向为工业机器人技术及应用,(E-mail)952691544@qq.com。

(编辑李秀敏)

猜你喜欢
装箱碰撞检测离线
基于动力学补偿的机器人电机力矩误差碰撞检测
高效烟丝装箱系统的设计与应用
基于强化学习的机场行李装箱优化方法
全新预测碰撞检测系统
异步电机离线参数辨识方法
浅谈ATC离线基础数据的准备
基于BIM的铁路信号室外设备布置与碰撞检测方法
FTGS轨道电路离线测试平台开发
基于Virtools的虚拟灭火系统碰撞检测设计与实现
基于WEB的多容器多货物三维装箱系统构建研究