浅谈工业机器人的运动停止

发布时间:2012-02-20 11:17:09   来源:文档文库   
字号:

德系的工业机器人系统中,对于机器人停止运动,定义了3种模式,比如 KUKA 的工业机器人分别定义了 Stop 0 Stop 1Stop 2 (*1)。这种定义模式是与机器人的机械结构和电气结构相关联的。

对于此,读者应该先了解工业机器人上伺服电机的结构,以及伺服电机驱动器(放大器)的供电模式。前面 LT 有篇文章介绍了 ABB Robot 电机连接结构,机器人的机械制动主要靠伺服电机里面的刹车 (Brake) 机构。一旦刹车释放,伺服电机轴的转动就会受到阻力。(如右图,黑色部分代表刹车,蓝色部分为电机转子,工作时两者分离,制动时两者贴合摩擦。)

而对于伺服电机驱动器的供电模式,工业机器人电气系统的典型结构是串联两个接触器,而这两个接触器的吸合放开控制,由机器人的安全电路模块来控制。

再看如何使运动的机器人停止运动,方法1 通过驱动器,使电机减速;2、直接切断驱动器供电,释放电机刹车,靠刹车片摩擦来制动。(是不是有点类似汽车驾驶的制动,一种可以用发动机来制动,一种可以打开离合,用脚刹来制动。)

所以两种制动方法结合起来,就组成了机器人的运动停止模式。

1 Stop 0直接切断驱动器供电,同时释放刹车。

2 Stop 1先驱动器控制减速制动,然后再切断驱动器供电,同时释放刹车。(KUKA1秒后切断电源 *2)

3 Stop 2只通过驱动器减速制动,不切断驱动器供电,不释放刹车。

考虑一下,对于机器人运动轨迹的影响?答案显而易见的,Stop 0 的停止模式,运动是不受控的,所以机器人停止时,TCP 可能偏移了路径;而Stop 1 Stop 2 的模式,运动是受驱动器减速控制的,机器人停止时,TCP 会停在路径上。

P.S.

为什么要介绍这个呢?因为在工业设备使用过程中,安全是个很重要的话题,Bruce (于仁颇黎) 在他的blog中多次提到过安全问题。了解了工业机器人的运动停止模式,那么我们就可以更好的规划现场布局和编制工业机器人程序。在后面的文章,LT 将会用到本文所提到的知识点,敬请期待。

* 1 : 参考《库卡系统软件 5.25.35.4 最终用户操作及编程指南》page13~14

* 2 : 当驱动器制动超时时,会启用stop0

在上一篇文章里《浅谈工业机器人的运动停止》,LT 从机器人的动力链方面出发介绍了工业机器人的三种停止模式,实际上这三种模式也是遵循标准 EN 60204 的。EN 60204 将停止分为三大类,原文如下:

9.2.2 Stop functions

There are three categories of stop functions as follows:

- stop category 0: stopping by immediate removal of power to the machine actuators (i.e. an uncontrolled stop see 3.56);

- stop category 1: a controlled stop (see 3.11) with power available to the machine actuators to achieve the stop and then removal of power when the stop is achieved;

- stop category 2: a controlled stop with power left available to the machine actuators.

再回到机器人系统上,如果我们给机器人发出了停止信号,机器人并不是能立即瞬间停止运动。设想一下汽车驾驶员所做的一个刹车过程,我们考虑最极端的情形,当一辆高速行驶的汽车突然发现前面车辆突然停车,而且自身也没其他道路可走,驾驶员所能做的就是努力踩下刹车并祈祷赶快停止(这里我们不考虑赛车手做180度转弯的情况 XD ),不然就与前车追尾了。从眼睛观察到前车异常并传送给大脑然后大脑下达大脚踩下刹车这一过程,属于人这个控制系统自身的反应时间,在这段时间里,汽车仍然在全速前进。踩下刹车后,刹车片就参与制动直至运动停止,这一段汽车前进的距离就是刹车距离。

对于机器人系统,要停下来,同样要考虑这两个过程。一是从控制系统接收到停止信号并处理到切断电源或即将执行电机制动这段过程,总线、处理器等模块会造成时间延迟,机器人仍然会运动并通过一段距离。二是电机刹车(Brake)释放后,电机刹车片摩擦制动,机器人要走过一段刹车距离。或者依靠电机本身减速制动同样需要走过一段距离。

在设计系统 layout 时,这个停止距离是必须要考虑的因素。汽车行驶要保持安全距离谨防追尾事故,机器人现场系统同样也是如此。

工业机器人的运动停止-刹车测试

好莱坞大片《危情时速》讲述了一个高速的火车在无人掌控的情况下,逐渐加速,直至速度大到怎么也停不住的故事,又名《煞不住》。结局当然是我们的美国英雄克服重重艰辛,进入列车控制室,把刹车手柄拉下。就这么简单。刹车能不重要?!下面我们要谈谈运动的工业机器人怎么能有效停下来。在目前的工业机器人系统中,机械部分运转动力来源还是伺服电机。下图就是一种伺服电机的剖面图。

其机械制动就是依靠电机里面的刹车机构(见下图,以某个KUKA机器人培训PPT中的截图来说明,本文目前只讨论机械刹车),当发生 stop 0 的运动停止时,就依靠刹车来制动。如果,刹车失效的话?在该停的时候没能停下来,有可能就会发生像7.23动车追尾一样的严重事故。刹不住导致高速撞击将会让机器人和工件工具甚至现场人员承受不可预料的后果,尽管发生这类情况的几率很小。

所以相关的工业机器人都提到一个安全测试-刹车测试,目的是在可控的状况下,检测电机的刹车是否能正常运作。那具体是怎么样的呢?我们来查阅最出名的工业机器人品牌ABB,其产品 IRB7600 的产品手册,找到了 Brake Testing 一节。

ABB的手册 是这样来描述 how to test 的: 1 移动机器人各轴到承受重力最大的位置;2、在控制柜上操作使电机Motor OFF,即使电机掉电;3、检查机器人是否偏离了步骤1的位置。由此来判刹车功能是否正常。如果没有移动,那么刹车就是完好的。(1*

1.2.3.4. Brake testing

When to test

During operation the holding brake of each axis motor wear normally. A test may be performed to determine whether the brake can still perform its function.

How to test

The function of the holding brake of each axis motor may be checked as detailed below:

1. Run each manipulator axis to a position where the combined weight of the manipulator arm and any load is maximized (max. static load).

2. Switch the motor to the MOTORS OFF position with the Operating mode selector on the controller.

3. Check that the axis maintains its position.

If the manipulator does not change position as the motors are switched off, then the brake function is adequate.

那么,我们怎么知道机器人是否偏离了步骤1的位置呢?ABB 的产品手册上没有详细介绍,难道就是用肉眼看了?汗 -_-!

随后 LT 在查阅 ABB 工业机器人 safemove 白皮书时,发现 ABB 介绍 safemove 过程中,对刹车检测做了详细的介绍。

5.4 Brake check

The brake check is initiated by the robot controller or an external PLC. The robot moves to a safe position where the brakes are locked with the servos engaged. The motors of the robot are then used to generate a torque. If the robot moves, a category 0 stop occurs and a successful brake check must be performed before the robot can be used again.

With a defined interval (brake cycle time), the robot must move to the safe brake position and activate a switch. If the brake check is not performed within the brake cycle time, the robot is stopped. A warning is shown on the Flexpendant a pre-defined time (pre-warning time) before the brake cycle time has passed. A Cyclic Brake Check can be configured to show a warning but not stop the robot.

检测原理就是让机器人移动到一个安全位置,电机刹车释放,然后让电机产生一个扭矩,如果机器人某个轴的电机移动(转动)超出了设定的允许范围,那么表示刹车测试失败。一个机器人重新使用前必须做刹车测试。在 page 30 出指出 safemove 具有 Automatic Brake test 功能(2*)。

将刹车研究进行到底 再谈ABB机器人如何做刹车测试

在前面一篇文章《工业机器人的运动停止-刹车测试》里,LT提到IRC5safemove组件具有自动刹车测试(Automatic Brake test)的功能。但是 SafeMove White Paper 仅仅是概念性地讲了一下。要获得更具体的内容,可以参见 ABB RobotStudio 5.14 的帮助文件 SafeMove.chm,这个前面 LT 在介绍RS5.14时(《ABB RobotStudio 新版本 5.14 初接触》)已经推荐过,见下图,关于 safemove详细特性,可在此 chm文档里阅读获取。其实,为啥说起chm,因为 LT 手里面没有pdf 版本的safemove文档啊,这个才是主要原因 -_-! 另外提一点,ABB也把实现safemove的硬件称之为 Safety Controller (*1)



在这个手册里,刹车测试被称为 Cyclic Brake Check ,功能描述也与白皮书里描述的有所区别,在白皮书里描述刹车测试时如果轴有移动会产生stop0,而在这个chm文档里面是说如果轴有移动则系统切换到reduced speed模式。这是原话

The brake check is initiated by the robot controller or an external PLC. The robot moves to a safe position where the brakes are locked with servos engaged. The motors of the robot are then used to generate torque. If any axes moves, the system is set in reduced speed mode. A new successful brake check must be performed before the robot can be used again with normal speeds.With a defined interval (brake cycle time), the robot must move to the safe position and perform a brake test. If the brake check is not performed within the brake cycle time an error message is generated, and depending on configuration the robot will be set to reduced speed or keep its normal supervision levels. A warning appears on the FlexPendant a predefined time (prewarning time) before the brake cycle time has passed.

软件细节我们暂且不考虑,下面来分析硬件是如何实现自动刹车测试的。在《浅谈工业机器人的运动停止》里提到过 而对于伺服电机驱动器的供电模式,工业机器人电气系统的典型结构是串联两个接触器,而这两个接触器的吸合放开控制,由机器人的安全电路模块来控制 。另外,刹车电源电路同样经过这两个接触器。当这两个接触器吸合时,给后部电路的刹车电源同时也接通了。后部电路就依据不同品牌的机器人就不同了,比如有的品牌的机器人,每个轴都是单独一个驱动器来驱动,那么这个轴的电机的刹车就由对应的驱动器来控制。而ABB机器人不是这样的结构,ABB的一个驱动器可以驱动2~3个轴,比如小型的机器人,2个驱动器就可以驱动6个轴了。而刹车电路呢,在两个接触器后面又串接了另外一个接触器,我们称之为刹车接触器吧。这样,如果想要解开abb机器人的刹车,那么三个接触器都要吸合才能构成通路。

当然刹车自动测试也只是IRC5以后才出来的产物,而且还是safemove带来的,也就是说IRC5safemove之前没有这个自动测试的功能,但是既然能加入了 safemove而能自动测试,那么说明了IRC5的硬件结构满足了这个特性(这一段话很拗口.)。这个确实从电气结构上说得过去。

分析下面的IRC驱动模块电气图(*2

K43 K42就是前面所说的两个接触器,K44就是所谓的刹车接触器。机器人工作时的顺序应该是这样的,操作使motor on 时,安全条件满足的情况下,K43K42吸合,给驱动部分供电,与此同时,驱动部分检测L1L2L3电压是否正常,如果正常则吸合K44,从而电机刹车得电被松开。

LT 推测 其自动刹车测试应该是这样运作的:(注意是推测,因为LT并没有实际拿一个IRC5测试验证过

当自动刹车测试请求时,K43K42保持吸合状态,这样驱动部分仍得电,而K44被断开,刹车线圈失去电压,刹车抱死电机。控制系统开始给电机一个旋转力矩,与此同时safety controller 在一个时间间隔内监测电机的位置是否发生变化,如果超出了公差范围,那么就表明电机的刹车有问题了。

以前 LT 在思考这个自动刹车测试如何运作时,曾很是想不通,为什么呢,因为 LT前面的工作虽然是ABB工业机器人的维护工作,但是只限于S4/S4C/S4C+的型号,IRC5型号并没有实际使用维护过,从而导致S4C系列形成的观念影响了思考。那么有什么区别呢?区别就在于上图的绿色方框部分。在S4C+的电气结构里,这个地方还是与刹车接触器有关的,请看下图,多了两组触点和两个电阻

如果 IRC5 还保持这样的结构,那么上面推测自动刹车测试的过程就不能成立了

用于工业机器人位置检测的旋转变压器 Resolver

Posted by LT on 2011/10/01 Leave a comment (0)Go to comments

工业机器人使用的伺服电机中有一种部件,用于检测电机的角位移,称之为旋转变压器 (Resolver)。图片中是ABB工业机器人常用的伺服电机中使用的一种旋转变压器,型号 TS2640N141E172 。关于旋转变压器具体怎么使用,这里不讨论,这里 LT 只想讨论与工业机器人实际使用过程中相关的话题,那就是机械零点同步。

左边的是定子,右边的是转子,旋转变压器的定子安装固定在电机的壳体(定子)上,转子固定在电机轴上,与电机转子一起转动。独特的设计,可以使转子做到无刷结构。在上篇文章《工业机器人的运动停止-刹车测试》里,LT 曾贴出一个伺服电机的剖面图(link),从中可以了解其安装结构。

LT 接触工业机器人时间不是很长的时候,写过一篇日志《机械零点和同步》,这篇文章更多谈的是机械零点的同步,而不是校准。而@于仁颇黎的一篇文章《零位校准》则是机械零点的校准。机械零点的校准,是任何一个机器人出厂前要做的工作,这个话题可参考@于仁颇黎的文章。而机械零点的同步则是用户使用过程中有时候需要进行的操作。

问题一:为什么需要机械零点的同步呢?

这个问题就和开头提到的旋转变压器有关。因为旋转变压器组成的编码器系统只能检测旋转变压器转子一个圈内的位置,即0~360度。当机器人各轴位于机械零点时,系统记录的旋转变压器转子的圈数为0,当旋转变压器转子进入第二圈后,又开始从0度起步,这个时候系统就要进行一次计数,计数为1。当某种原因,系统不知道旋转变压器已经转了几圈了,这个时候控制器就要发出信息: 我不知道你转几圈了! 从而发生机械零点同步丢失的情况。机器人使用者需要进行的操作就是手动把机器人各轴移动到机械零点标识处,重新同步。ABB的称之为 Revolution Counter Update(转数计数器更新)

我们来想象一下,假如机器人某个轴要在300度范围内转动,再假设减速系统的减速比是100 ( 请查找 RV减速器的减速比 ),那么电机就需要转动300*100=30000度,相当于30000/360=83圈多。如果换成绝对值编码器,只要范围合适,就不存在同步的问题。但是,为什么不采用绝对值编码器呢? 这个问题请自行思考。

问题二:在@于仁颇黎的文章里提到 将机器人的各个关节移动到零位附近的一定位置内,内部程序就会自动将其校准到正确的零位 或者 也许你也听某人说过同步时机械零位对准的误差范围可以在3度之内。这又是怎么回事呢?

还是和旋变编码器有关,因为系统可以读出旋转变压器的转子在一圈之内的度数,即0~360度,360度的范围经过减速系统的变速比后,旋转变压器转动一圈,机器人的轴转动360/100=3.6度(假设变速比为100),只要在一圈内,同步时,系统都会认为是第0圈,就是这么回事。如果同步时,零位对准的偏差范围落到了旋转变压器转的第二圈里,那就会产生误差了。

思考:

1、如果变速比越大, 那么做零点同步时允许的误差就越小。

2、如果有不同的负载 ,那么对做零点同步有何影响呢?

机械零点和同步

ABBKUKA的工业机器人都有机械零点同步这一步骤,然而,kuka的同步似乎要方便准确很多,因为 KUKA有自动化的工具EMT 。现场工作环境因素的不确定,常常导致机械零点同步丢失,不得不将机器人本体各关节恢复到机械零点位置,然后更新同步。ABB工业机器人的机械零点同步操作很是不方便,需要用肉眼瞅着来做,在不在零点与否,取决于6个轴的标记是否对正,全凭肉眼辨别。kuka的就可以用电子调零EMT来取代人工这一环节。

ABB的这种方式,导致很多维护问题:

1、机械零点同步操作困难。如果机器人现场摆放位置不利,比如高台,调零就是一个苦差事,爬上爬下。

2、导致点位偏移。为什么这么说呢,机械零点同步不总是一个人做的,调点也不总是一个人做的,如果某次由于意外,丢失了机械零点,重新同步,可能与上次的标记位不一致,直接导致更新同步后,点位发生偏差。

所以,如果要进行一些丢失机械零点同步的工作前,如果空间允许,一定要先走到零位。

零位校准

发表于 09/26/2007, 星期三 于仁颇黎|作者:于仁颇黎

  零位校准其实应该算是一个测量用语,就是在一个测量议器使用前,必须通过一系列的操作来使仪器的实际输出值与实测值之间的误差减到最小。

  在实际工业应用中,机器的运行也有零位的调整,特别是对于精密的多轴机械,比如工业机器人,机床等,在正式生产中,也要调整机器的零位以使机器人输出值与各个轴的实际值的误差减为最小。

机器人的运动控制中,有一个叫做轨迹生成的模块,来生成机器人运动的轨迹,而这个轨迹的生成,是根据机器人模型来生成最终的运行轨迹的,对一台已经安装调试完毕的六轴工业机器人来说,这个模型是不变的。

  但是,当更换了工业机器人的某个运动的重要零部件(比如马达,减速器,编码器等等),机器人发生的严重的碰撞,或者长时间不用的话,这是就有可能会导致 机器人零位的不准或者丢失,这时就必须要去重新校准各个轴的零位以保证机器人运行的精确的重复精度,特别是对于一些高精尖的加工应用,比如装配线上的,洁 净室半导体行业的应用,医学行业的应用等等,零位的校准就非常的重要。对于有一些8轴的CNC加工中心来说,最好的每天在生产时校准一下零位,因为正常的 运行中所产生的一些震动也会影响加工精度。对于机器人来说,如果你机器人安装了一个新马达,对应此轴的编码器所读到的零位角度可能会不同,为保证实际零位与编码器的零位相合,机器人的模型就必须要更新.

各种设备的零位校准方法,各有一同,但基本原理还是一样的,都是将尽量将实际输出的值与理论计算所得的值保持在一个误差范围之内.对于工业机器人的零位校准,可以参考irobot的一篇文章机械零点和调零.

Irobot在工业机器人方面有着非常丰富的经验,大家可以去他的BLOG看一看:irobot-工业机器人.最原始的机器人校零方法就是手动的将各个轴移到一个MARK,然后记录下当前位置保存为零位就行了,但是这样麻烦很多.目前用的最好的就是考虑误差在内,将机器人的各个关节移动到零位附近的一定位置内,内部程序就会自动将其校准到正确的零位.



本文来源:https://www.2haoxitong.net/k/doc/559d9f4afe4733687e21aa8d.html

《浅谈工业机器人的运动停止.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式