本章介绍自动碰撞恢复功能Auto Collision Recovery,使阅读者能迅速掌握其要领。
1.1机器人要求
要在配制R-30iB控制柜的机器人中使用此功能,需要安装软件选项包R510 Auto Collision Recovery。
1.2主要功能
自动碰撞恢复用来从SRVO-50碰撞检测错误中自动恢复,当碰撞检测错误发生时,机器人停止,正在运行的程序也会暂停。安装了自动碰撞恢复功能后,它就会自动返回该程序。为了使用自动碰撞恢复功能,必须在机器人上安装碰撞保护。
不恰当的使用自动碰撞恢复功能将会损坏机器人、末关节的工具以及在工作台上的目标,还会使人员受伤。使用SKIP功能,通过安全的恢复过程能够正确的返回程序。
1.3开启与禁用
安装之后,自动碰撞恢复是默认启用的。禁用它,可以设置:
[HTCOLREC]COL_REC = FALSE。
图1-1 自动碰撞恢复的开启与禁用
2、自动碰撞恢复模式
自动碰撞恢复有两种模式,在两种模式中FANUC推荐使用高速跳出模式。
2.1、**种模式
**种模式是自动碰撞恢复的默认模式。
下面是一个检测到碰撞错误的程序实例。程序中,设置了一个SKIP条件,当“SRVO-50 Quick Stop”或“SRVO-53 Disturbance Excess”发生时此条件触发。第6行中如果Skip被触发,记录当前位置至PR[3],并执行下一行;如果Skip没有被触发,跳转到LBL[100]。
在类似急停的停止错误下,程序的执行会在下一行暂停。在后台运行的自动碰撞恢复,能够观测到停止错误并尝试返回程序。当程序执行返回时,用户必须进行适当的恢复程序,如以慢速移动机器人从当前位置到安全位置。
如果用户没有使用高速跳出指令,自动碰撞恢复将会在机器人停止的地方返回程序。这将很可能会触发更多的碰撞错误。在SKIP功能中认真的对待碰撞错误是及其重要的。
注意:当用户碰撞恢复中,如果又出现一个碰撞,碰撞恢复将会进行又一次尝试。限制发生次数,否则将会损坏机器人、工具及夹具。
机器人正在进行碰撞恢复时,可以设置一个DO为ON或者一个数字寄存器为1。为了设置DO或数字寄存器,需要设置以下变量数据,这些变量在名为HTCOLREC.PC的程序中被定义:
首先,在SELECT菜单中选择HTCOLREC.PC:
其次,在DATA菜单中,选择KAREL Vars,翻阅直到“Col_recov”变量,将会看到类似以下的菜单:
(1)在REG_INDEX中设置预定的寄存器号,该寄存器的值在碰撞恢复中会设成1。确保该值在数字寄存器变量的范围内;
(2)在DO_INDEX中设置预定的DO值,该DO在碰撞恢复中会置ON。确保该值在有效的DO范围内;
(3)在ERR_DO_INDEX中设置一个DO的值,该DO在自动碰撞恢复的未知错误中将被打开。
设置完这些变量后当碰撞发生时,寄存器将被设置成1,DO会被打开。用户程序的错误处理逻辑必须重设寄存器和(或)DO;HandlingTool软件不会重设这些寄存器或DO。
用户可以在程序中使用寄存器值或DO状态,来判断机器人是否遭遇碰撞,以及适当的选择其他动作。可以想象用户将重设寄存器为零和设置DO为OFF。
用户需要调节两个延迟变量的值:ERR_DELAY和RESET_DELAY(毫秒单位),取决于周期时间和安全要求。
ERR_DELAY是等待的时间,在错误发生之后及进行RESET之前。在自动错误恢复重置后,触发碰撞检测程序返回之前,有进一步的5秒钟的延迟。随后的延迟必须等待伺服系统重启。
注意:不能设置RESET_DELAY值过低,否则伺服恢复前当程序尝试返回时会出错。
2.2第二种模式
在一些应用中,当碰撞检测错误发生时,*好终止所有程序,再运行一个错误恢复程序,并重新开始初始程序。原始程序可以被写入分支,该分支可取决于被DO_INDEX定义的DO状态或被REG_INDEX定义的数字寄存器的值。当相同的程序在恢复模式中运行时,它将会在程序中做适当的分支去顺利的恢复。
为了强制使自动碰撞恢复采用第二种模式,按以下步骤:
设置RECOVERY_TASK为希望运行的程序名,该程序中碰撞检测错误会发生。仅仅输入程序名,不要输出“.TP”或“.pc”等扩展名。同时设置USE_REC_TASK为TRUE。
比如,设置RECOVERY_TASK为已命名为ERR_REC的程序,在这种模式下所有在运行中的程序都会终止。然后运行ERR_REC,当它完成后主程序才会再次运行。
用户可能需要调节变量[HTCOLREC]ABORT_DELAY的值。ABORT_DELAY是在做出ABORT ALL和发出RUN命令来运行原始程序后的机器人等待的时间。虽然原始程序终止并在内部运行,用户必须意识到控制器需要少量的时间去终止所有任务,默认值是16ms。如果延迟减少到0,碰撞发生时进入暂停状态的原始程序,将不会终止但会要求重启,这将导致错误。
3、限制
下列限制应用于自动碰撞恢复:
1. 自动碰撞恢复功能需要机器人安装了碰撞保护。适当的设置碰撞保护的灵敏度;
2. 当用户计划使用自动碰撞恢复且预计有碰撞时,慢速移动机器人;
3. 碰撞检测错误会终止机器人且暂停引起错误的程序。在自动错误恢复期间,所有暂停的任务都会返回。如果有一个用户程序(KAREL或者TP)在碰撞检测错误的中被暂停,那些任务也会被返回。用户应该注意这个限制并保护这些由于自动碰撞恢复而返回的程序。当碰撞发生时可以设置一个寄存器值为1或者一个DO为ON。推荐在程序返回中检查这些值。如果应用程序也损坏了由于错误而暂停的程序,应该修复这些程序,因为自动错误恢复会返回所有暂停的任务;
4. 不合理的使用这个功能将会对机器人、末关节工具、工作台上的目标以及人员造成伤害。应使用SKIP功能并正确通过安全恢复流程处理程序的返回;
5. 机器人在碰撞恢复中如果发生一个碰撞,机器人会再次尝试碰撞恢复。不要重复的让这种事情发生,否则会损坏机器人、工具和夹具;
6. 如果碰撞检测引起的程序由于内部安全原因被用户或控制器终止了,碰撞恢复将不会发生。对于要执行的碰撞恢复,程序必须在碰撞检测后处于暂停的状态;
7. 当从KCL(KAREL命令语言)中运行一个程序时,自动碰撞恢复可能会尝试返回一个不同的程序,而不是所希望的程序。为了确保自动碰撞 恢复返回正确的任务,必须从SELECT菜单中选择程序或者设置系统变量 $TP_DEFPROG给从KCL中运行的程序;
8. 当通过使用SHIFT+FWD和有效的TP来运行程序时,自动碰撞恢复不会起作用,也不被支持。TP使能键必须为OFF,以保证该功能能够使用。
了解更多信息请点击发那科机器人:http://fanrobot.gongboshi.com/