从机器人“杀人”看嵌入式系统的可靠性与安全性设计

2015-09-12 06:42北京航空航天大学何立民
单片机与嵌入式系统应用 2015年8期
关键词:系统可靠性杀人嵌入式

北京航空航天大学 何立民

近日有报道称,大众汽车位于德国Baunatal的工厂发生了一起意外事故,一名工人在工作时被机器人抓起并挤压向一块金属板,最终导致死亡。随后,机器人“杀人”事件成为社会热点话题。虽然最后澄清原因为安装机器人时,操作失误产生的伤亡事故,但“机器人杀人”仍是一个值得重视的现实问题。

1978年9月6日,日本广岛一间工厂的切割机器人正在切割钢板,突然发生了异常情况,机器人竟将一名值班工人当作钢板切成了肉片,成为了世界上第一宗真正的机器人杀人事件。严格说来,在可以预见的将来,“机器人杀人”是一个伪命题,因为在传统概念中,杀人要有预谋、要有动机,日前的人工智能还无法做到。但是,眼下摆在人们面前的一个十分现实的课题是,如何防止“机器人过失伤人”。

现阶段机器人的一切智慧都是人类赋予的,人类是机器人的设计者与“监护人”,机器人的一切行为都应该由人类负责。嵌入式系统设计中,不可或缺的可靠性设计担此重任,并由此延伸出运动系统安全性设计责任。

1 嵌入式系统可靠性设计的新课题

可靠性设计是电子系统设计中的一个古老问题。在传统电子系统中,可靠性设计着眼于系统的功能可靠性,是“不好即坏”的二值可靠性。智能电子时代,由于集成电路的超长寿命、非绝对可靠的软件,在诸多智能电子产品中,更多地体现在“出错概率”的多值可靠性上。这种智能电子的多值可靠性设计,更多的是可靠性控制及可靠性管理的设计内容。

嵌入式系统是一个软硬件融合的智能电子系统,软硬件协同设计是嵌入式系统产品设计的一个重要特点,突出了系统功能性设计、低功耗设计、可靠性设计的相关与融合,以及软件在低功耗系统设计、可靠性设计中的决定性地位。例如,嵌入式应用系统中,最终赋予系统最小功耗水平的是系统的实时功耗管理设计,即根据系统实时运行状况,实施“多干多吃、少干少吃、不干不吃”的功耗管理策略。如今,智能电子系统硬件体系在集成电路超长寿命、系统模块化、白系统化的高可靠性品质基础上,“出错概率”已成为系统可靠性的主要课题,也是可靠性控制设计的中心问题。

可靠性控制是一种软件行为,例如,对一个数据采集系统实行数据采集的实时界限管理,剔除不合理数据后重新进行采集;最大限度地将系统设定在休眠、掉电、分区停电状态,使系统对噪声失敏,能有效地降低系统的出错概率;使系统定时复位也是实现可靠性控制的一种很好的措施。

目前,嵌入式产品系统更多的是软硬件设计的并行与分离,这种并行与分离状态不利于系统的可靠性控制设计。在后硬件时代,嵌入式系统硬件工程师在可靠性管理与可靠性控制设计中,处于比软件工程师更为有利的地位。

另外,防止黑客攻击是嵌入式系统可靠性设计的一个新问题。本来,嵌入式应用系统对病毒具有天然的免疫能力,因为系统中的程序是固化在封闭的空间里运行。物联网时代,嵌入式应用系统普遍具有网络接入功能,以及与外部的交互功能,不少产品系统有与计算机的交互接口,从而打开了病毒可能入侵的渠道。2010年一种名为“震网”的蠕虫病毒入侵了伊朗布什尔核电站,导致20%的离心机报废,就是一个典型案例。

2 嵌入式系统可靠性设计的新观念

软硬件协同的可靠性设计是指硬件与软件相融合,以及与功能性设计、低功耗设计综合考虑的可靠性设计方法。笔者在1999 年总结了以减少出错概率为中心的“MCU 应 用 系 统 的 可 靠 性 设 计 纲 要”[1];2008 年 在《嵌 入式应用系统的可靠性设计初探》[2]一文中,指出了嵌入式系统独特的可靠性概念,呼吁重视嵌入式应用系统的可靠性设计,并指出嵌入式应用系统软硬件协同的三大任务——功能性设计、低功耗设计、可靠性设计。

嵌入式系统可靠性设计有两大背景:一是集成电路超长寿命与超常可靠性,使嵌入式硬件系统不易损坏;二是“没有绝对不会出错的软件”,导致系统可靠性向软件可靠性倾斜。如今,人人都能体会到嵌入式产品这一“玩不坏,但会出错”的可靠性特点。

嵌入式系统这一特点,给嵌入式应用系统带来了全新的可靠性设计观念。

(1)嵌入式系统的多值可靠性

传统电子系统是一个“非好即坏”的二值可靠性系统,嵌入式应用系统常常表现为不坏,但会出错,有的应用系统经常出错,有的应用系统很少出错,形成了不同出错概率的多值可靠性。

(2)嵌入式系统的可靠性等级

用“出错概率”来评定嵌入式应用系统的可靠性等级,并对不同的嵌入式应用系统设计提出不同的“出错概率”要求。例如,卫星发射时,运载火箭中星箭分离的爆炸螺栓控制系统,环境恶劣、无人监管,一旦出错后果严重,因此绝对不允许出错;相比之下,我们允许手机出错,对计算机经常出现的死机现象熟视无睹。这些不同的可靠性等级要求与可靠性不同的现实状况和用户的感觉相一致。

(3)可靠性控制的设计理念

嵌入式应用系统是一个智能电子系统,但我们可以充分利用软件智力来实现系统的可靠性控制设计。可靠性控制设计,是一种软件介入的可靠性设计方法。笔者在《嵌入式应用系统的可靠性设计初探》一文中,提出了基于可靠性模型的可靠性控制设计方法与内容,即建立嵌入式应用系统的可靠性模型,在可靠性模型基础上制定出应用系统的可靠性设计原则。

3 嵌入式系统的可靠性设计

嵌入式应用系统的可靠性设计是减少出错概率的软硬件设计。既然嵌入式应用系统不可能不出错,安全性设计便成为嵌入式应用系统高可靠性设计的一个重要内容,即系统出错时的无害化设计。

图1是嵌入式应用系统的可靠性模型。传统电子系统是一个激励-响应型系统,嵌入式应用系统由于软件介入,在激励端与响应端之间增加了一个软件的时空运行过程。激励端、运行空间、响应端构成了嵌入式应用系统的可靠性模型,保证正常激励输入、程序有序运行、正常响应输出,是嵌入式应用系统可靠性设计的基本原则。

图1 嵌入式应用系统的可靠性设计模型

图2显示了基于可靠性设计模型的应用系统的可靠性设计原则。激励端的非正常激励、程序运行过程中的干扰、响应端的非正常响应输出,是嵌入式应用系统的非可靠性因素。

因此,可靠性设计原则是:激励端对非正常激励的消除或容错,如按键输入抖动的消抖动措施、数据采集过程中屏蔽无关按键输入;在软件运行过程中,要保证软件的唯一运行路程,尽量减少软件漏洞,防止程序跑飞,制定程序跑飞后的多种返回措施;在响应端,能及时判断与排除异常状态下的非正常响应输出。

图2 嵌入式应用系统的可靠性设计原则

4 嵌入式系统的可靠性等级分类

对传统电子系统而言,可靠性越高越好,可靠性越高,越不容易损坏。以出错概率为可靠性标志的智能电子系统,并不是可靠性越高越好,如对仪器精度、嵌入式系统实时性而言,能满足精度、实时性要求即可。可靠性越高,投入的成本与精力越大,有时会成十倍、百倍地加大。因此,在嵌入式系统设计时,必须建立起可靠性等级分类概念,对不同可靠性等级要求,采用不同的应对性设计。

嵌入式可靠性等级的分类依据,是可靠性评定因子。最常用的可靠性评定因子有“环境因子”、“人机耦合因子”、“系统集成因子”、“基础平台因子”与“安全性因子”等。

“环境因子”是指系统运行环境对可靠性的影响因素,如系统的电气环境、机械环境、气氛环境,具体包括电气环境中的电磁干扰环境,机械环境中的震动干扰,以及气氛环境中的盐雾、粉尘、温度、湿度等。

“人机耦合因子”是指系统运行时有无操作者介入,或操作者的介入深度。有操作者介入时,有利于发现系统早期的出错征兆,介入深度越大,越有利于出错时的修正与安定性保证。

“系统集成因子”是指应用系统的整体化程度,如芯片的集成度、系统的模块化水平、开发环境的集成度。系统集成度越高,可靠性也越高。

“基础平台因子”是指应用系统研发时基础平台占据的比例。基础平台包括半导体厂家提供的产品平台、开发平台,以及企业内部的通用技术平台,这些平台都经历过实践考验。基础平台占据的比例越大,可靠性越高。

“安全性因子”是指系统出错时出现威胁安全的因素。通用计算机死机后不会出现重大安全问题;自动生产线上机器人出现失控后会产生破坏因素;宇宙火箭星箭分离控制机构出现故障后,会造成极其严重的后果。

评定系统可靠性等级时,要将所有可靠性因子,按照对系统可靠性设计要求的程度高低,统一量化成上、中上、中、中下、下5级,或上、中、下3级的标准级别。如在温度的环境可靠性因子中,80 ℃以上、-40 ℃以下为“上”,40 ℃以上、-20 ℃以下为“中”,40 ℃以下、-20 ℃以上为“下”。

将可靠性因子量化后,依可靠性要求的大小按5级或3级顺序排列成表,然后将系统的可靠性要求对号入座。可靠性因子等级量化数值越大,系统的可靠性等级越高,表明该系统对可靠性的要求越高。如,无人值守、极端温度环境、强振动、宇宙射线电磁环境、出错后会导致重大安全事故的宇宙空间设备,可靠性等级最高;常温下、有人值守、正常电磁环境、出错后无重大安全隐患的家用电器,可靠性等级较低。

5 机器人的可靠性与安全性设计

回到本文的主题,看看机器人的可靠性与安全性设计。

机器人是无人操作下拟人的运动状态机构,用于取代人类个体的脑力劳动与体力劳动。机器人有健壮的运动机构,具有足够的动力和确定的运动轨迹。正常情况下,机器人忠实地为人类服务。目前,机器人正在以空前的速度,高效地替代劳动者的工作岗位,成为人类的好伙伴。

通常,机器人无人值守,有足够健壮的运动机构,工厂里的机器人从事紧张、高效、精细的工作,任何失误都会造成重大损失。因此,机器人设计时普遍有高可靠的技术保障,出错概率远小于原岗位劳动者。大众汽车厂的机器人杀人事件是工作人员安装机器人时操作失误。大部分机器人在无人环境下能够高可靠地工作,很少发生伤人事件。

按高可靠要求设计的机器人并不能达到零出错要求,因此,机器人的安全性设计、安全性使用规范,是机器人设计、使用的重要内容。安全性设计是机器人出错后的无害化处理,如划定机器人运行时的虚拟空间与轨迹,当机器人运行越过规定的空间与轨迹时停机,或者有人进入该空间或轨迹时发出警告。在生产线上的机器人,有固定的空间与轨迹;仓库、工位间行走的机器人小车,须划定轨道与轨道宽度;机器人保姆应该有用户可设定的安全界限与中止机器人行为的功能。

不少科技大片渲染的“机器人杀害人类”尚属科幻。当人类进入到非自然人类时代,人类个体与智能化工具共享人类智慧时,什么事情都可能出现。但眼下真正对人类造成危害的,是无人化战争设备。众多的杀人机器人士兵被制造出来,第一个真正杀害人类的机器人,应该是战争机器人。

[1]何立民.MCU 应用系统的可靠性设计纲要[J].电子技术应用,1999(5).

[2]何立民.嵌入式应用系统的可靠性设计初探[J].单片机与嵌入式系统应用,2008(10).

[3]何立民.知识学原理[M].北京:北京航空航天大学出版社,2012.

猜你喜欢
系统可靠性杀人嵌入式
绑架杀人潜逃24年终落网
试析提高配网系统可靠性的技术措施
可怕的杀人风
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
城市轨道交通信号系统可靠性分析
基于故障树模型的光伏跟踪系统可靠性分析
可怕的杀人风
基于系统可靠性的工程质量量化研究
倍福 CX8091嵌入式控制器