田小龙 王国章
河北机电职业技术学院 河北邢台 054000
工业机器人具有自动化程度高、生产率高、运行可靠等优点,同时随着人力的成本越来越高,工业机器人取代工人进行生产成为一种趋势。在制造业中,将工业机器人应用于数控加工中,大大提高了数控设备效率,工业机器人成为制造业重要的生产工具[1-2]。工业机器人由程序控制,准确高效的程序编制尤为重要。目前,国内外大多数采用示教器在线编程。示教器在线编程过程中,工业机器人生产线上设备必须停工,导致设备利用率低,造成资源浪费;同时工业机器人的操作烦琐,操作不慎将导致机器人与工件、夹具等产生碰撞,造成机械手、工件和夹具损坏。高效安全编程成为工业机器人重要的研究课题[3-8]。采用虚拟机器人和工作站仿真平台离线编程,机器人的操作更便捷,可以很清楚地观察机器人的运动情况,当机械手、物料和夹具碰撞时,调整机器人位置,优化路径,在虚拟环境中不会造成因操作不慎产生碰撞损失。工业机器人离线仿真验证可以优化程序。离线编程实现最优路径编程,提供了一种方便、安全、高效编程。
完整准确的虚拟工作站搭建是离线编程与仿真的基础,根据工业机器人应用场合搭建相应虚拟工作站。工业机器人广泛应用于搬运、装配、焊接、激光加工和精雕领域。下面以ABB工业机器人码垛为例介绍虚拟工作站创建,在软件RobotStudio中搭建虚拟工作站。
工业机器人是机电产品,包括机械本体、电气系统,机器人基座、下臂、上臂和手腕构成机械本体。在虚拟仿真平台中,机器人基座、下臂、上臂和手腕各部分装配一个整体本体。在软件RobotStudi中有各种型号机器人模型库,根据机器人应用场合在机器人库中选择相应型号机器人本体导入即可,机械人本体创建很便捷。电气系统包括控制系统和驱动系统,控制系统由控制器、机器人操作系统OS、功能安全系统、示教器等软件和硬件组成;驱动系统由配电保护系统、驱动器等硬件组成。机器人电气系统控制器和驱动器等设计相当复杂,但是在虚拟仿真平台中不需要设计,只要新建系统即可。根据工业机器人应用场合导入相应机器人模型和新建系统,在虚拟工作站创建虚拟工业机器人。通过软件中自带虚拟示教器操作工业机器人,完成相应动作操作。
机器人虚拟现场包括工作场所、工作台和生产线等创建。工作台、输送链、栅栏和置料垛盘等复杂三位模型实体创建是虚拟现场创建难点,通过UG、pro/e等三维软件建模。在搬运工作站中简单机器人位置垫料和物料等简单模型在RobotStudio中直接建模,在软件中按照实际工作需要将三维模型摆放到合适位置即可完成虚拟现场创建。机器人的垫料、产品源(物料)、示教源(物料)、吸盘、工业机器人(4轴ABB IRB4600)、输送链、置料垛盘、栅栏、机器人控制柜、传感器和机器人控制系统组成工业机器人码垛。
图1 工业机器人搬运工作站Fig.1 the industrial robot handling workstation
创建虚拟工作场景。在虚拟工作站中,存在产品不断复制,输送链运输产品,机械手抓取和释放产品等运动状态。通过不同传感器检测相应信号控制各种运动状态。虚拟动态效果建立是虚拟工作建立关键点和难点,通过RobotStudio中Smart组件创建。在Smart组件中通过添加组件、属性与连接、信号和连接建立动态效果。
1.3.1 输送链动态效果的创建
在实际自动码垛生产线上,存在物料在输送链运输的运动状态。在虚拟工作站中创建输送链输送产品动态效果,使用Smart组件创建一个动态输送链。在创建Smart组件中,添加图形拷贝组件source,选择物料作为拷贝对象;添加对象队列组件queue,将物料复制品作为queue随着输送链运动;添加线性移动组件linearMove,将队列中的复制品按照直线运动,因此目标是queue,方向是复制品移动的方向,速度是复制品移动的速度;添加检测对象组件PlaneSensor,并安装在传送链末端,作用是检测运动到输送链末端物料,传感器检测到物体,传送链停下来,属性中Origin、Axisl、Axis2是传感器PlaneSensor所在的位置和大小,SensedPart是检测到的物体,此处为空,信号Active置1,传感器一直起作用。通过源对象选择source、源属性选择Copy、目标对象选择Queue和目标属性选择Back的属性连接,实现了物料产生一个复制物料,复制物料作为下一个输送对象,随着输送链运动。设定输送链输入和输出信号,进行信号连接。给定输送链数字输入信号,组件source复制一个物料,组件queue将物料自动加入队列传送,复制物料运动到输送链末端,当传感器PlaneSensor传感器PlaneSensor检测到复制物料,Queue退出队列动作,复制物料停止在输送链前端动态链接。
1.3.2 夹具动态效果的创建
机器人搬运物料时,频繁执行抓取和释放动作。在虚拟工作站中建立工具抓取和释放动态效果,使用Smart组件创建一个夹具动态效果。在创建Smart组件中,添加检测物料组件线传感器LineSensor,并安装在吸盘工具上,作用是检测物料;添加组件Attacher,作用是抓取物料;添加组件detacher,作用是释放物料。属性连接将传感器检测到物料作为抓取对象,释放时将抓取对象作为释放对象。信号连接,给定吸盘输入信号,线传感器检测到物料,组件Attacher抓取物料,组件detacher释放物料动态连接。
输送链和夹具smart组件的输出信号作为机器人的输入信号,将机器人的输出信号作为smart组件的输入信号,输送链、吸盘夹具和机器人建立动态连接。
工业机器人通过程序控制,按照最优路径执行动作,完成相应任务。在编制工业机器人程序前,首先规划最优运动路径。
根据机器人在虚拟工作站中完成任务及空间规划最优路径,避免机械手和工作台、工件等碰撞,规划最优路径应在机器人到达范围内。工业机器人工作场合和任务不同,运动路径不同。搬运工作站规划路径思路,规划安全点,抓取高度点,抓取基准点,放置高度点,放置基准点,垛盘放置位置点。通过MovL、MovJ或MovC等插补指令,实现TCP从一节点向下一节点运动,避免运动过程中出现奇异点,实现规划路径编辑。
图2 动作流程图Fig.2 the action flow chart
RobotStudio自带USER和BASE系统模块,控制ABB机器人系统。在虚拟工作站中,根据规划路径,用虚拟示教编制用户应用程序。编程之前首先新建各种类型数据,建立实际位置点(pActualPos)、安全点(pHome)、抓取基准点(pPick)、放置基准点(pPlaceBase)和垛盘放置位置点(pPlace)为robtarget数据类型;建立码垛充满(bPulletFull)为bool数据类型;建立垛盘物品初值(nCount)num为数据类型;建立抓取工具吸盘(tGripper)为tooldate数据类型。其次,创建装有吸盘工具坐标,根据吸盘重量和重心创建工具坐标;输送链和垛盘工件坐标,利用三点示教法进行创建;根据物料载荷确定有效载荷。在编程时选择工具坐标、相应的工件坐标和有效载荷,根据规划路径,通过虚拟示教器操作确定各个轨迹点位置。在搬运不同阶段,采用不同速度,搬运过程中选择合适速度,大大提高搬运效率。在抓取物料高度点到放置物料高度点之间运动时,采用较高速度。编制main主程序、初始化程序、抓取程序、放置程序,完成对物料的搬运。
图3 程序流程图Fig.3 the program flow chart
将程序模块导入RobotStudio中,对编制程序进行仿真,模拟整个搬运完成情况。通过仿真结果对机器人轨迹中不良的位置进行检查和修改,保证机器人运动的有效性,并可以对工具坐标的速度、加速度、奇异点或轴超限问题等进行优化,提高效率; 检查工业机器人路径是否规划路径一致,若发生机械手和物料工作台碰撞,调整运动轨迹,优化离线编程。在RobotStudio创建虚拟工作场景中,仿真工业机器人搬运10次物料码垛2层的搬运,仿真结果达到搬运要求,如图4所示。
图4 搬运仿真图Fig.4 the transport simulation diagram
在RobotStudio中,搭建出能模拟一个逼真的工作场景动态工作站,规划搬运路径,设计动作流程,根据搬运设计要求编制相关程序。图形仿真优化路径,避免碰撞和优化程序,达到最优效果。搬运机器人搬运物料离线编程和仿真增加了编程的直观性,提高了效率,提供了优化程序途径,为机器人编程和调试创造了安全灵活的环境。机器人搬运物料应用非常广泛,ABB搬运机器人离线编程为机器人搬运物料问题的解决提供了一种思路和参考。