当前位置:首页 > 数控技术 > 工控技术 > 基于PMAC的工业机器人示教再现程序的研发
基于PMAC的工业机器人示教再现程序的研发

数控产品网 www.cncproduct.com   2014-06-20   来源:网络转载   阅读:2154次

 机器人语言是机器人系统先进水平的重要标志之一。国内工业机器人的研究采用的运动控制卡大部分都从欧美等国外引进,现有国内自主研发的控制卡还远远没有满足工业机器人的要求。在研制的机器人中,采用的PMAC是从美国引进的。其性能比以往控制卡有很大的改进,在运动控制方面更是表现出极佳的性能。

  目前,大多数工业机器人的基本操作方式是示教再现的,即首先由操作者教机器人如何去做,机器人就记住这个过程,可以根据需要重复这个动作。所以工业机器人在示教和示教检查后,都有示教再现阶段。示教再现是将示教给机器人的程序内容重放出来。在示教再现阶段,机器人都是高速运转,所以进入示教再现模式前,应该严格遵守一切安全预防措施,比如确认急停开关正常工作、机器人没有干涉、确保机器人处于HOME(原点)位置等。

  根据工业机器人自身特点,示教和示教检查后,就进入示教再现阶段进行自动作业。基于PMAC本身的运动语言格式,机器人在启用PMAC时,必然要涉及到机器人语言的识别及解释等问题。针对这些问题,机器人示教再现的关键问题集中在如何将示教后生成的(.prl)格式的机器码,通过自编的解释器解释后转换为PMAC能识别的(.pmc)格式的机器人语言,然后下载到PMAC程序缓冲区内部执行从而控制机器人进行自动作业。可以看出,示教再现模块是通过解释器模块与PMAC发生联系的。图1是示教再现的用例图。

图1示教再现用例图 
图1示教再现用例图

  从示教再现的用例图可以看出,在示教再现研究中,经过示教检查后,程序都符合机器人的工作要求,所以只需要一些参数设置,然后就可以进行自动作业。相对于示教检查,示教再现模块主要实现的是如何试运行,以及工作中模块的调用、工作的暂停和暂停后的重启动等问题。示教再现模块会跟以下模块发生联系:

  (1)调度模块:调度模块调出示教再现模式,允许机器人进行正常的操作。

  (2)示教盒模块:示教盒发出控制指令,示教再现模块接受控制指令,按指令决定执行下一步的操作。

  (3)示教编程模块:向示教再现模块的提供(.prl)格式的机器人语言,发送一些在线修改的参数。

  (4)解释模块:示教再现中,需向解释模块送(.prl)格式的机器人语言,让其解释成PMAC识别的机器人语言,并下载到PMAC执行。同时,解释器解释完一步(.prl)格式语言时,会返回一个解释完的指令给示教再现模块。

  示教再现用户流程图如图2所示。.

图2不教再现用户流程图 
图2示教再现用户流程图

  示教再现的研究内容包括下面几个方面:

  (1)控制指令的判断问题。

  (2)示教再现和解释器之间的调用问题,以及如何下载到PMAC的问题。

  (3)示教再现的试操作。

  (4)在线速度修改的问题。

  (5)示教再现过程中的暂停和重启动的问题。

1 基于PMAC的机器人示教再现的具体实现

  六自由度机器人研制的过程中,实现控制系统的模块化,其模块包括自检和系统设置模块、轨迹规划模块、示教编程模块、示教检查模块、示教再现模块、解释模块、状态监控模块、故障诊断与处理模块和任务调度模块等几个模块。模块化后便于软件开发的分工合作,提高软件开发速度,进而提高整个系统的研制速度。示教再现时,控制器面板上RUN/HOLD(运转/保持)、TEACH/REPEAT(示教/再现)、控制电源、再现运转条件等必须进行有关设定。

  PMAC具有自己的运动语言程序,有机床语言G代码和(.pmc)格式的机器人语言。在研制六自由度机器人中采用了(.pmc)格式的机器人语言。机器人的示教再现研究路线是:示教和示教检查后生成一个完整(.prl)格式的机器码组成的机器人作业文件集,每一行代码代表直线插补、圆弧插补或条件设置。示教编程模块读取整个(.prl)格式的文件集,从第一行开始把一行行代码送往示教再现模块,由示教再现模块进行简单分析和修改后送往解释器进行解释,直到最后一行代码工作完后跳出循环。解释器解释的同时由插补模块在主机上进行直线插补和圆弧插补,并且解释后的(.pmc)格式的机器人语言送往PMAC程序缓冲区执行进而控制机构运动,生成机器人末端轨迹。

  考虑到机器人的通用性及机器人工作连贯性,必须事先设定运转/保持拨到运转、选择示教再现程序、设置示教再现速度、开示教锁定等条件。基于IPC+PMAC的六自由度机器人示教再现时,考虑到机器人工作时的安全性,必须先进行安全检查方面的准备工作。

  示教再现时,机器码(.prl)格式需通过示教编程模块送给时间检查模块检查后,提供的示教再现进行再现作业。示教再现研究中,再现模块把(.prl)格式机器人语言调用给解释器,解释成(.pmc)格式机器人语言,然后下载到PMAC中运行,控制机器人运动。在该过程中,需要考虑的因素相对于示教检查模块少一些,只要考虑如何启动示教再现模块、外围设备IO的判断、控制指令的判断、示教再现速度参数的修改以及工作中的暂停和重启动等功能。示教再现的程序流程有以下几步:

  (1)调度模块的调用。如图3,在主机上负责对各个任务程序进行总调度,并调用相应的程序模块来响应用户的操作。工作模块的调用必须要经过调度模块,因此,在流程图设计过程中,应该考虑怎样给调度模块留有接口,以便调度模块调用问题。调度模块启动示教再现模块,这个选择权决定于示教盒发来的控制指令,如果示教盒发来是示教再现的控制指令,则启动了示教再现模块。

示教再现的调度 

图3示教再现的调度

  (2)控制指令的判断。如图4,示教盒控制指令的判断主要有“运转/保持”开关的判断、外围设备IO开启的判断、示教再现准备好的判断等,示教锁定开关默认是开的。

图4示教再现的控制指令判断 
图4示教再现的控制指令判断

  (3)程序的调用。如图5,需要示教编程模块送来一行(.prl)格式的机器人语言,经过修改一些参数后,送给解释器解释成(.pmc)格式的机器人语言。在该过程中,示教再现和解释器之间有可能相互调用。

图5示教再现的程序调用 
图5示教再现的程序调用

  (4)一些参数的修改。如图6,主要是接收从示教盒模块传来的速度参数,在一行(.prl)格式程序中寻找速度参数并用自定义的方法进行速度修改,把(.prl)格式的机器人语言送给解释器进行解释。

图6示教再现的参数修改 
图6示教再现的参数修改

  (5)示教再现暂停的处理。示教再现过程中,如需在程序的执行过程中暂停,示教盒运转/保持开关拨到保持即可暂停,暂停后的程序要重新启动只需要将运转/保持开关拨到运行。或者可用PMAC卡自带的在线指令进行暂停和重启动。示教再现的暂停处理如图7所示。

图7示教再现的暂停 
图7示教再现的暂停

  (6)程序下载到PMAC运行。经过解释器解释成(.pmc)格式机器人语言后,直接下载到PMAC运行。解释器解释的同时由插补模块在主机上进行直线插补和圆弧插补,并且解释后的(.pmc)格式的机器人语言送往PMAC程序缓冲区执行进而控制机构运动,生成机器人末端的轨迹。

2 机器人示教再现的软件编程

  示教再现的程序设计主要是实现:提供给调度模块的调用的接口、示教盒控制指令的判断、与示教编程模块和解释器模块的程序调用、机器人工作中暂停和重启动的程序设计、一些参数的修改、程序下载到PMAC运行和检查后(.prl)格式机器人语言的保存。

示教再现通过组件Myrunning.dll实现。组件Myrunning.dll的说明:

  Mymnning.dll组件包括MyRuningcondition类,通过引用外部的组件TransforClass和FunctionLibrary来实现本身的功能。同时Myrunning.dll组件作为解释器的一个接K1,为解释器提供(.prl)格式的行。Myrunning.d11组件主要实现示教再现、暂停和重启动的功能。MyRuningcondition类中,示教再现用的函数包括:

  

  (1)调度模块的调用。示教再现中,调度模块能够调度各个模块,需要各个模块提供一个接口以备调用。示教再现的组件Myrunning.dll可以供调度模块和其他模块调用。只需要添加引用并使用干运行的命名空间就可以使用。干运行的命名空间是usingnamespace Myrunning。

  (2)控制指令的判断。示教再现过程中,需要接收从示教盒送过来的控制指令,如何判断这些指令并运行下面程序显得非常重要。“运转/保持”开关的判断,考虑到进入工作后可视为已经处于运转状态;外围设备IO的关闭的判断,可以用IOonorof=0或1表示,当IOonorof=0为输出关,需要调用IO接口的类;示教锁定开关的判断,研究过程中默认示教锁定开关是开的;伺服开关的判断,用函数public intGetDriverOn()实现;示教再现控制指令的判断用函数public bool RunningOn(string runon),True为示教再现开;示教再现暂停判断用函数public boolHoldOn(string holdon)实现,True为暂停。

  (3)一些参数的修改。主要是速度参数的修改,示教编程模块送来速度参数后,在示教再现模块中进行速度的修改,用函数public string GetRunningVelocity(string v)实现。

  (4)模块之间的程序调用。可以从示教编程模块中用string GetRunningFiles(string Files)调用一整段(.prl)格式机器人语言,然后存储到示教再现的存储区;也可以从示教编程模块中调用一行(.prl)格式的机器人语言,用函数public string RunningLine(string line)实现,其中string line是示教编程模块送来的某一步,函数RunningLine(string line)可供给解释器模块调用,同时解释器模块也会给示教再现提供接口,以备调用。

  (5)暂停功能的处理。机器人在示教再现工作中需要暂停时,用函数public void RunningSuspend()实现暂停功能。如果要暂停重启动,则用函数public void RunningResume()实现,两个函数都需要线程函数public void RunningThread()来启动。

  (6)程序下载到PMAC运行。(.prl)机器人语言经过解释器解释成(.pmc)格式机器人语言后,经过解释模块直接下载到PMAC运行,并不需要返回到示教再现模块程序中再送PMAC执行。

  示教再现的程序编程过程中,主要是处理上面6个方面的问题,为了清楚各个函数的功能,用到的函数简单说明如下:

  public string GetRunningFiles(string Files);//读取示教再现文件
 public int GetDriverOn();//判断伺服开关是否为开
  public string RunningLine(string line);//行,为解释器提供
  public bool RunningOn(string runon);//判断run指令是否为开
  public b001 HoldOn(string holdon);//判断hold指令是否为开
  public int RunningkeyPressed();//示教再现,返回1为完成一步
  public void RunningSuspend();//暂停处理
  public void RunningResume();//暂停解除重启动
  public void RunningSendFunction();//提供给线程的函数
  public void RunningThread();//示教再现的线程启动

3 结论

  介绍了基于PMAC的机器人的示教再现编程的研究与开发。简单介绍了基于PMAC的机器人示教再现模块的研究,分析示教再现模块的具体实现过程并得出其程序流程图,接着对示教再现模块用c#进行软件编程,最后进行软件内部的调试以及在机器人的硬件平台与其他模块进行联调。研究主要的结果和创新点是:

  (1)通过分析IP+PMAC的开放性系统,根据机器人自身特点画出机器人的示教再现模块的用例图,同时明确了示教再现模块的研究内容。

  (2)在IPC+PMAC的基础上分析了机器人示教再现的程序流程图,完成了示教再现模块的程序流程图的设计。

  (3)根据机器人的工作特点,开发出示教再现模块的暂停和重启动的功能。

  (4)基于PMAC的语言格式,在机器人语言研究中,实现示教再现模块与解释器模块的调用关系,进而间接把示教模块和PMAC联系起来进行研究。

CncProduct.Com(编辑:小朱)
本文标签(Tag)工业机器人
关于“工业机器人”的信息更多

免责声明:本网资讯均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
工控技术 阅读排行
工控技术 编辑推荐
最近更新
关于我们联系我们网站地图

公益免费-为推动我国数控行业发展而努力!
在线客服客服QQ
Copyright(C)2006 www.cncproduct.com 数控产品网 china All Rights Reserved  苏ICP备13054127号-5
数控产品网-数控行业垂直门户网站 - 专注于:数控机床┆数控设备┆数控系统┆数控技术
免责声明:本网部分信息由企业和个人自行提供,该企业和个人负责信息内容的真实性、准确性和合法性。数控产品网对此不承担任何保证责任!