李乐荣
(库卡机器人(广东)有限公司,广东佛山,528311)
随着工业自动化的推进,工业机器人的应用越来越多,在提高生产效率的同时,工业机器人的功能安全技术也成为研发设计的重中之重。
在工业机器人安全标准ISO 10218-1:2011 和机械安全标准ISO 13849-1:2015 中要求工业机器人安全功能需满足类别(Category) 3 和性能等级(Performance Level) d。
本文以平面关节型机器人(SCARA)作为研究对象,进行功能安全系统的设计与实现,主要从机器人制造商的角度探讨机器人安全相关控制系统与非安全相关控制系统开发相比所增加的内容,包括安全目标的定义、安全系统设计、安全参数计算、测试验证等。
由国际电工委员会(IEC)颁布的功能安全的基础标准IEC 61508-4 中对功能安全有如下定义:与受控装置和受控装置控制系统有关的整体安全的组成部分,它取决于电气/电子/可编辑电子系统、其他技术安全相关系统和外部风险降低设施功能的正确行使。
针对工业机器人,国际标准ISO 10218-1:2011 提出,对于安全相关控制系统的性能要求既可以使用ISO 13849-1:2015 定义的性能等级(Performance Level)和类别(Categories),也可以使用IEC 62061:2015 定义的安全完整性等级(Safety Integrity Level)和硬件容错率(hardware fault tolerance)。ISO 13849 和IEC 62061均表明了安全相关控制系统危险失效率的目标量值,也表明了必须采取的技术与措施。本文采用ISO 13849 的Performance Level 和Categories 作为安全相关控制系统的要求,并以SCARA 机器人作为研究对象进行功能安全系统的设计与实现。
SCARA 机器人属于工业机器人,具有4 个轴和4 个运动自由度,包括沿X、Y、Z 方向的平移和绕Z 轴的旋转自由度,它具有高精度、高速度的特点,适用于平面定位,垂直方向进行装配的作业,可广泛应用于3C 电子、白色家电、塑料五金、新能源、汽车电子、食品医药等行业。
本文的设计对象是某正装式SCARA 机器人,其臂展为500mm,最大负载为6kg,运动性能参数如表1 所示。
表1 运动性能参数
开发机器人安全系统,首先需要对机器人的安全目标进行定义,具体有以下3 个步骤。
1)风险评估。其主要流程包括机械限制的确定、危险识别、风险估计、风险评价。机械限制确定包含使用限制、空间限制、时间限制、其他限制等。
其中,使用限制包括预期使用以及可预见合理的误用。从机器人制造商的角度来看,主要的使用限制为机器人的运行模式。本文SCARA 机器人主要运行模式情况如表2 所示。各运行模式的切换必须通过示教器进行,且机械臂处于安全停止状态。
表2 SCARA 机器人运行模式
从机器人制造商的角度看,空间限制主要是指机器人的运动范围。图1 为本文研究的某SCARA 机器人的运动范围,其臂展为500mm,1 轴运动范围±132°,2 轴运动范围±145°,2 轴半径225mm。
图1 某SCARA 机器人运动范围
时间限制主要是考虑到机械的预期用途以及可预见的合理误用下的寿命以及推荐的保养间隔。
其他限制包括机械使用的一些限制,如清洁度,使用环境中的温度、湿度等。
危险识别可以参考ISO 12100 Annex B 或者ISO 10218 Annex A 列出的主要的危险进行识别,包括机械危险、电气危险、热危险、噪音危险、振动危险、辐射危险、材料物质危险、人体工程学危险、与使用机器的环境相关的危险、组合危险等。
危险识别后应根据伤害的严重度和伤害发生的概率两个风险要素对每种危险进行风险估计。其中,伤害的发生概率包含危险暴露频率,危险事件发生概率,伤害避免或限制的概率。通常采用风险矩阵对风险进行估计得到风险等级,对于中等及以上的风险需要进行风险降低措施。风险降低措施通常包括指引措施、设计措施、功能措施、检查表和测试验证措施。风险降低措施应用后需要重新进行风险评估,直到风险等级为低,并且对残余风险提供信息提示或者警告标签。
2)确定安全功能。在风险降低过程中,需要安全相关控制系统实现的功能措施,即为系统所需要实现的安全功能。
3)确定性能等级。安全功能确定后需要同步确定其要求的性能等级PLr。参考ISO 13849-1 的附录A 的信息,从伤害严重度(S),暴露于危险的频率(F)和避免危险的可能性(P)3 个方面的风险参数进行确定,如图2 所示。该图中1 表示估计安全功能对风险减小的作用的起始点;L表示对风险减小的作用小,H表示对风险减小的作用大;PLr 表示安全功能要求的性能等级;图中间对应的是风险参数的定性;S1 对应伤害的严重度是轻微的;而S2 对应的是严重;F1 对应的是暴露于危险的频率低或者持续时间短;S2 对应的是频率高或者是时间长;P1 对应的是在特定条件下有可能避免危险或者限制伤害;而P2 对应的是几乎不可能。经过危险识别和风险评估后,确定的安全相关控制系统的安全功能如表3 所示。
图2 用于确定安全功能要求的PLr 的风险图
表3 SCARA 机器人安全功能列表
此外,工业机器人安全目标定义还可以参考国际标准ISO 10218-1:2011 的要求,标准规定安全相关控制系统的设计,应遵照ISO 13849 所描述的性能等级d、类别3,或遵照IEC 62061 所描述的安全完整性等级2,硬件容错率1(系统可容忍单一故障,表示一个故障不会导致系统失效),验证测试间隔不少于20 年。同时标准 ISO 10218-1:2011也给出了工业机器人需要提供的安全功能,这些安全功能既可以作为安全目标定义的最低要求,也可以作为上述危险分析和风险评估的补充。
安全系统设计的主要目标是所设计的系统具备安全目标定义的安全功能以及每个安全功能符合对应的性能等级和类别要求。安全系统设计通常包括安全架构设计、系统可靠性分析、安全软硬件设计等。
图3 所示为SCARA 机器人系统安全架构,其主要由安全输入设备、安全逻辑板和STO 电路组成,它们分别对应了类别 3 架构的输入、逻辑和输出三部分,每一部分都是双通道的架构。其中,输入设备采用机械接触式开关,它们为双通道结构,并且通过了功能安全认证;安全逻辑板通过对安全输入设备进行诊断及采集,同时结合从运动控制器获取的模式信号,可实现如表3 所示的3 个安全功能。图4 和图5 分别为SCARA 机器人系统在自动模式和手动模式下实现安全功能的流程图。不过,紧急停止和安全围栏两个安全功能需要手动复位,手动复位控制流程如图6 所示。
图3 SCARA 机器人系统安全架构
图4 自动模式下安全功能实现流程图
图5 手动模式下安全功能实现流程图
图6 手动复位控制流程图
当安全功能触发后,安全逻辑板经过延时后,通过硬线触发伺服驱动器执行安全扭矩切断STO,从而实现了安全停机类别1,保证系统进入安全状态。安全停机类别1 采用时间控制的方式来实现,需要非安全相关的运动控制器和伺服驱动器参与,流程图如图7 所示。
图7 安全停机类别1 控制流程图
当安全逻辑板诊断到安全输入设备故障同样会触发安全停机类别1 以保证系统进入安全状态。此外,如果安全逻辑板诊断到自身内部电路故障或者STO 电路反馈错误会直接触发安全停机类别0,也就是安全扭矩切断STO,使系统进入安全状态。
系统可靠性分析主要包括系统安全链路定义、系统安全机制及诊断机制以及对应的诊断覆盖率分析。图8列出了系统的安全链路,安全输入设备对应安全链路的输入部分,安全逻辑板对应安全链路的逻辑部分,伺服驱动器的STO 电路对应安全链路的输出部分。
图8 系统安全链路图
安全系统采用的诊断措施及其对应的诊断覆盖率如表4 所示。安全逻辑板对安全输入设备的诊断主要采用测试脉冲的诊断手段。安全逻辑板给每个安全输入设备输出两通道的测试脉冲,测试脉冲周期相同相位不同,同时采集经过安全输入设备后的信号,通过测试脉冲可以诊断出安全输入设备的输入状态以及是否存在故障。测试脉冲如图9 所示。
图9 安全输入设备测试脉冲图
表4 诊断措施及诊断覆盖率
安全逻辑的诊断主要采用了冗余监控和比较器两个措施。图10 为安全系统模块框图,从图中可以看出,设计有两通道的冗余电路对输入信号、处理过程信号以及输出信号都做了监控,同时,还分别对双通道脉冲处理后的信号,初级逻辑处理后的信号,次级逻辑处理后的信号,以及STO 反馈信号进行了比较,若比较结果不一致,则触发双通道的STO 命令使系统进入安全状态。安全逻辑板对输入的电源设计了监控模块,过压、欠压和过流都会被诊断覆盖从而激活STO 输出,触发系统进入安全状态。安全逻辑板对安全输出的安全机制主要是双通道的关断路径,一方面切断伺服驱动脉宽调制(PWM),另一方面切断功率模块预驱动的电源。
图10 SCARA 机器人安全系统模块框图
量化的评价安全相关控制系统的安全功能是否符合所要求的性能等级主要包括类别(Category)、平均诊断覆盖率(DCavg)、平均危险失效时间(MTTFd)、共因失效(CCF)。这些计算通常是自下而上的过程,先把安全输入、安全逻辑和安全输出各子系统分别计算,后再把各子系统联合起来作为系统层级进行计算。这3 个部件均采用类别3的架构,所以系统符合类别3 的架构。对于MTTFd通常是分通道计算,每个通道采用部件计数法进行,通道的MTTFdC的倒数等于通道各个部件MTTFdi的倒数和,如公式(1)所示。对于类别3 的架构,如果双通道的MTTFd不一致,那么通常采用公式(2)进行平衡。
其中,MTTFdC表示单通道的平均危险失效时间,MTTFdi表示对安全功能有作用的每个元件的MTTFd。
其中:MTTFd表示双通道系统的平均危险失效时间,MTTFdC1和MTTFdC2分别表示两个不同冗余通道的MTTFd。
本系统的输入设备主要是急停开关、三位使能开关和安全围栏开关,这类元件的制造商通常只给出危险失效的数量达到10%时的平均周期数(B10d),可以通过公式(3)和公式(4)计算出对应的MTTFd,计算结果如表5 所示。
表5 输出设备MTTFd 计算表格
其中,nop是年平均操作次数,hop是每天平均工作时间,单位为h,dop是每年平均工作天数,单位为天,tcycle是元件两个相继周期起的起始点之间的平均工作时间,单位为s。
安全逻辑和安全输出部件采用电子元件以及集成电路等电气元件来实现,通常这类型复杂的部件采用失效模式影响和诊断分析(FMEDA)进行MTTFd和DCavg的计算,具体流程如图11 所示。元器件的失效数据和失效模式一般通过厂家提供,或者可以参考公认的工业数据库中的硬件元器件的失效率,如SN29500。元器件的失效模式是否导致系统丧失功能安全是需要在没有诊断措施作用的情况下进行判断的。本系统的诊断措施主要有表3 所列的几种措施。系统平均诊断覆盖率采用公式(5)进行计算。
图11 MTTFd 和DCavg 计算流程图
图12 故障注入及安全功能测试部分波形图
表6 为SCARA 机器人安全功能MTTFd和DCavg的计算结果以及对应的PL 等级。从表中可以看出,3 个安全功能都符合所需的性能等级要求。
表6 系统安全功能参数计算结果
共因失效(CCF)通常是从整个功能安全系统层面进行评估的。参考ISO13849-1 附录F,从6 方面进行对本文的SCARA 机器人安全系统进行评估,具体如表7 所示,共因失效总得分为75 分,大于65 分,满足标准要求。
表7 共因失效评估结果
在测试验证环节,安全相关控制系统与非安全相关控制系统的主要区别是故障插入测试以及安全功能测试。其中,故障注入测试的主要目的是验证安全诊断措施的有效性,包括响应时间和诊断覆盖率等内容,测试通常是根据系统/部件级的FMEDA 中会导致安全功能丧失的失效模式进行模拟,注入对应的故障,验证系统是否按照预期执行安全措施;安全功能测试主要是验证安全系统的功能有效性以及响应时间。
本文结合对应的SCARA 机器人对所设计的安全系统进行了测试验证,图11 展示了部分测试的波形图。其中,图11a)为输入通道短路故障注入测试,从图中可看出,当故障注入后,两个STO 输出通道迅速的输出低电平,会把系统切换至安全状态;图b)、图c)、图d)分别是紧急停止、三位使能和安全围栏3 个安全功能的响应时间测试波形,从图中可看出,当开关触发后,两个STO 输出通道在一定时间内输出低电平,会把系统切换至安全状态。
利用多次测试求平均值的方法,对安全功能的响应时间进行测试,具体如表8 所示,三个安全功能的响应时间小于需求值,结果符合要求。
表8 系统安全功能响应时间测试结果
综上所述,从类别、平均诊断覆盖率、平均危险失效时间和共因失效4 个安全参数计算结果以及实际的测试验证的结果来看,本文针对某SCARA 机器人设计的功能安全系统是符合要求的。笔者认为同样的分析设计、参数计算和测试验证的方法也可以拓展应用到其他参数的SCARA 机器人,或者是其他构型的机器人,如六轴机器人、协作机器人等。