机械专业综合课程设计说明书-玻璃搬运工业机器人离线编程与虚拟仿真_第1页
机械专业综合课程设计说明书-玻璃搬运工业机器人离线编程与虚拟仿真_第2页
机械专业综合课程设计说明书-玻璃搬运工业机器人离线编程与虚拟仿真_第3页
机械专业综合课程设计说明书-玻璃搬运工业机器人离线编程与虚拟仿真_第4页
机械专业综合课程设计说明书-玻璃搬运工业机器人离线编程与虚拟仿真_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

玻璃搬运工业机器人离线编程与虚拟仿真点击完成:点击仿真:点击播放:播放完成:仿真过程中,机器人控制吸盘夹具动作进行拾取放置,将汽车玻璃从右侧支架搬运至左侧,完成之后,可重置该工作站,机器人及玻璃全部复位。

复位只可复位至上次开始前的状态。

恢复己保存状态可复位至之前已保存的状态。点击“显示例行程序:即可显示对应程序,注解如下:

MODULEMainMoudlePERStooldatatGripper:=[TRUE,[[0,0,208],[0.707107,0,0,0.707107]],[1,[0,0,120],[1,0,0,0],0,0,0]];!定义工具数据tGripperPERSloaddataLoadEmpty:=[0.001,[0,0,0.001],[1,0,0,0],0,0,0];!定义空载时的有效载荷数据,得序白也可直接使用系统默认空载数据load()PERSloaddataLoadFull:=[0.1,[0,0,5],[1,0,0,0],0,0,0];!定义有效载荷数据PERSrobtargetpHome:=[[870,0,987],[1.57E-07,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义机器人工作原理pHomePERSrobtargetpPickBase:=[[985.653,210.818,637.932],[-2.94E-07,-0.704489,0.709714,1.89E-07],[0,0,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义拾取玻璃基准位置,价于右侧支架最上层玻璃仿置处PERSrobtargetpPlaceBase:=[[910,-215.541,460],[5.64E-07,0.709707,0.704497,3.5E-07],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义拾取玻璃基准位置,价于右侧支架最下层玻璃仿置处PERSrobtargetpPick:=[[985.653,210.818,457.932],[-2.94E-07,-0.704489,0.709714,1.89E-07],[0,0,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!走义拾取玻璃仿置,在秤序运行中会以pPickBase为基准赋予不同的位置数据PERSrobtargetpPlace:=[[910,-215.541,640],[5.64E-07,0.709707,0.704497,3.5E-07],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义放置玻璃位筐,在程序运行中会以pPlaceBase为基准赋予不同的位置数据PERSrobtargetpSafe:=[[985,210,750],[1.69E-07,4.99E-07,1,2.9E-08],[0,0,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义玻璃旋转时的安全位置,左侧拾取玻璃后提升到一定的安全高度进行旋转并运行到放置前的高度,此处定义该位置数据的目的是在程序运行过程申定义一个玻璃旋转的安全高度,用以保证玻璃旋

转过程中不会与左右两侧支架发生碰撞PERSrobtargetpPickSafe:=[[935.653,110.818,750],[-2.94E-07,-0.704489,0.709714,1.89E-07],[0,0,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义拾取玻璃之前以及之后的安全位置,两者使用同个安全位置PERSrobtargetpPlaceSafe:=[[960,-115.541,750],[5.64E-07,0.709707,0.704497,3.5E-07],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!定义放雪玻璃之前以及之后的安全位置,两者使用同个安全位置PERSnumnOffsX:=50;!定义X方向偏移值,之前所描述的两个安全位置数据其实是以基准点偏移计算得出的,无需单独示教,此数值即为偏移计算时所使用的,在后续的程序中有详细的介绍PERSnumnOffsY:=100;!定义Y方向的偏移值,用法同上PERSnumnOffsZ:=15;!定义Z方向的偏移值,用法同上PERSnumnInterval:=60;!定义玻璃间隔数值,同一支架上的玻璃只是存坚直方向上依次可隅60mm摆放PERSnumnCount:=1;!定义搬运计数器,运行过程中根据此数值的变化从而赋值不同的位置数据VARtriggdataVacuumOn;!定义触发数据,用于提前开启真空,这样有利于减少拾取过得所需时间VARtriggdataVacuumOff;!定义触发数据,用于提前关闭真空,这样有利于咸少放置过程所需时间PERSspeeddatavMinSpeed:=[150,100,1000,5000];PERSspeeddatavMidSpeed:=[250,200,1000,5000];PERSspeeddatavMaxSpeed:=[500,300,1000,5000];!定义不同的速度数据,便于在程序中针对不同的动作过将采用合适的速度数据ONSTrobtargetpSafe10:=[[870.00,-0.00,987.00],[2.01662E-07,5.96244E-09,1,1.13832E-15],[0,0,3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];PROCMAIN()!主程序rInitAll;!程序起始位置调用初始化程序,用于复位机器人位置、信号、数据等WHILETRUEDO!采用WHILETRUEDO死循环结构,将机器人需要重复运行的动作与初始化程序隔离开rPick;!调用拾取玻璃程序rPlace;!调用放置玻璃程序ENDWHILEENDPROCPROCrInitAll()!初始化程序ConfL\Off;ConfJ\Off;!关闭MoveLMoveJ运动过程中的轴配置监控,目的是使机器人在MoveL,MoveJ运动过得中能够自动选取合适的轴配置数据进行运动,在搬运码垛应用中可有放避免轴配置报警等问题AccSet80,80;!设置机器人运行加速度,第个值为最大加速度百分比,第二个值为坡度百分比VelSet80,1000;!设置机器人运行速度,第个值为速度百分比,第二个值为最大速度限制ResetdoVacuum;!复位真空信号nCount:=1;!计数复位,从第一个物料开始重新处理TriggEquipVacuumOn,0,0.2\DOp:=doVacuum,1;!定义真空打开触发事件,在本案例中假设当前使用的真空系统其置位真空信号后需要0.2s方可达到建主真空的条件,及真空打开延迟o.2s.此处采用触发数据进行补偿,以便减少真空建立所需时间TriggEquipVacuumOff,0,0.2\DOp:=doVacuum,0;!定义真空关闭触发事件,本案例中假设当前使用的真空系统其复位真空信号后需要0.2s方可达完全释放真空,及真空关闭延迟0.2s.此处采用触发数据进行补偿,以便减少真空释放所需时间pPickSafe:=Offs(pPickBase,-nOffsX,-nOffsY,0);pPickSafe.trans.z:=pSafe.trans.z;!计算放置前后的安全位置pPlaceSafe:=Offs(pPlaceBase,nOffsX,nOffsY,0);pPlaceSafe.trans.z:=pSafe.trans.z;!计算放置前后的安全MoveJpHome,vMinSpeed,fine,tGripper\WObj:=wobj0;!机器人位置复位,移动至工作原位pHomeENDPROCPROCrPick()!拾取程序rCalPos;!调用位置计算程序,计算出当前机器人的拾取、放置等各目标位置MoveJpPickSafe,vMaxSpeed,z20,tGripper\WObj:=wobj0;!利用MoveJ快速移动至放置安全高度位MoveLOffs(pPick,-nOffsX,-nOffsY,nOffsZ),vMidSpeed,z10,tGripper\WObj:=wobj0;!利用MoveL运动至拾取前位置MoveLOffs(pPick,0,0,nOffsZ),vMinSpeed,z5,tGripper\WObj:=wobj0;!利用MoveL运动至拾取位置正上方TriggLpPick,vMinSpeed,VacuumOn,fine,tGripper\WObj:=wobj0;!利用TriggL运动至放置位置,并且在到达位置之前0.2s提前置为真空打开信号WaitTime0.2;!等待定的时间,用以保证完全吸附GripLoadLoadFull;!拾取完成后加载有效载荷数据MoveLOffs(pPick,0,0,nOffsZ),vMinSpeed,z5,tGripper\WObj:=wobj0;!利用MoveL运动至拾取正上方MoveLOffs(pPick,-nOffsX,-nOffsY,nOffsZ),vMidSpeed,z10,tGripper\WObj:=wobj0;!利用MoveL横移至拾取后位置MoveLpPickSafe,vMaxSpeed,z20,tGripper\WObj:=wobj0;!利用MoveL运动至拾取安全高度处ENDPROCPROCrPlace()!放置程序MoveJpPlaceSafe,vMaxSpeed,z20,tGripper\WObj:=wobj0;!利用MoveJ快速移动至放置安全高度处MoveLOffs(pPlace,nOffsX,nOffsY,nOffsZ),vMidSpeed,z10,tGripper\WObj:=wobj0;MoveLOffs(pPlace,0,0,nOffsZ),vMinSpeed,z5,tGripper\WObj:=wobj0;!利用MoveL运动至放置前位置处TriggLpPlace,vMinSpeed,VacuumOff,fine,tGripper\WObj:=wobj0;!利用TriggL运动至放置位置,并且在到达放置位置之前0.2s提前关闭真空,复位真空信号WaitTime0.2;!等待一定时间,用以保证完全释放GripLoadLoadEmpty;!释放玻璃后,加载空载数据MoveLOffs(pPlace,0,0,nOffsZ),vMinSpeed,z5,tGripper\WObj:=wobj0;!利用MoveL运动至放置正上方MoveLOffs(pPlace,nOffsX,nOffsY,nOffsZ),vMidSpeed,z10,tGripper\WObj:=wobj0;!利用MoveL运动至放置后位置MoveLpPlaceSafe,vMaxSpeed,z20,tGripper\WObj:=wobj0;!利用MoveL运动至放置安全高度位置rPlaceRD;!调用计数程序,计数累计加l并检查是否已全部完成ENDPROCPROCrPlaceRD()!计数程序nCount:=nCount+1;!计数累计加lIFnCount>4THEN!当前仔务只是搬运4块玻璃,此处检测是否已全部完成TPErase;TPWrite"Pick&Placedone,therobotwillstop!";!若己全部完成,则写屏显示当前任务已完成nCount:=1;!将计数器复位ResetdoVacuum;!复位真空信号MoveJpHome,vMinSpeed,fine,tGripper\WObj:=wobj0;!复位机器人位置,移动至工作原位pHomeStop;!停止程序,等待下一次启动ENDIFENDPROCPROCrCalPos()!位置计算程序TESTnCount!判断计数器的值,从而为拾取、放贵点、赋予不同的位置数据CASE1:pPick:=Offs(pPickBase,0,0,0);pPlace:=Offs(pPlaceBase,0,0,0);!计算第l次的拾取、放置位置CASE2:pPick:=Offs(pPickBase,0,0,-nInterval);pPlace:=Offs(pPlaceBase,0,0,nInterval);!计算第2次的拾取、放置位置CASE3:pPick:=Offs(pPickBase,0,0,-2*nInterval);pPlace:=Offs(pPlaceBase,0,0,2*nInterval);!计算第3次的拾取、放置位置CASE4:pPick:=Offs(pPickBase,0,0,-3*nInterval);pPlace:=Offs(pPlaceBase,0,0,3*nInterval);!计算第4次的拾取、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论