基于系统理论过程分析方法的无人艇航行安全性分析

2021-05-29 01:23蔡国伟安金鑫杨少龙
科学技术与工程 2021年11期
关键词:控制站航行无人

蔡国伟,安金鑫,杨少龙,3*

(1.中国船级社天津分社,天津 300457;2.华中科技大学船舶与海洋工程学院,武汉 430074;3.船舶数据技术与支撑软件湖北省工程研究中心,武汉 430074)

随着现代人工智能技术的发展,水上交通工具正迈向无人化、智能化时代。水面无人艇(unmanned surface vessels, USVs)具有航速高、机动性强、自动化程度高、无人操纵等优点,已成为海洋探测、环境监测、应急救援等应用的生力军。面向海洋应用,无人艇安全性设计成为了无人艇研发阶段的重要环节。

当前,中外对有人船艇安全性分析主要集中于水上安全预警以及航行交通安全评估,而对无人艇的安全性分析则主要集中于路径规划与自主避障[1]。对于有人船艇的航行安全,许多学者采用模糊评价、层次分析、故障树等方法关注恶劣海况[2-3]、特殊水域[4]、主要通导设备[5]等对航行安全的影响评估。除有人船艇之外的其他航行器、航空器也可以使用类似方法,如闫峰等[6]在对航空发动机安全性进行分析时利用计算机仿真来实现利用蒙特卡罗模拟对系统状态之间的转移时间和转移结果进行抽样,以此来得到大量具体的系统状态,通过计算得出的航空发动机保留故障要求与航空器适航文件一致。田静静等[7]运用模糊集-证据理论-层次分析法计算不同因素对车辆运行风险的权重值,通过加权计算车辆运行综合因素发生不同等级风险的概率和综合风险值。尽管这些方法能够考虑从系统多因素角度出发量化评估设备、系统的安全,但却难以满足复杂系统内部组件交互失效的安全性影响分析。

与此同时,对于无人船艇,从航行安全角度出发,随博文等[8]提出了一种改进的平滑A*搜索算法,并应用于水面无人艇的安全航路规划;文龙贻彬等[9]则提出了一种基于稀疏迭代势场法的无人艇局部避碰方法,在栅格地图中规划出一条最短安全路径;陈霄等[10]针对自主式水面无人艇设计基于“射线法”的无人艇航行安全控制算法,实现了艇上完全自主和“人在回路”的基站被动安全控制两种安全保障措施,并进行了湖试验证。从无人艇自主系统基本架构出发,许多学者从规划、制导、控制三个模块进行了控制策略安全性考虑。然而,从闭环系统角度出发,现有报道却鲜有关注系统组件交互失败、软硬件失效及性能限制引起的各种无人艇自主系统航行事故。

为此,拟从闭环控制系统角度出发,针对无人艇自主航行航点跟踪任务,以系统理论过程分析方法(system theoretic process analysis, STPA)对无人艇航点跟踪过程的系统不安全控制行为进行分类,分析关键原因及后果,从地面站操作人员、硬件设计、软件设计三个方面对无人艇安全性能提出优化建议,以期提高无人艇自主航行安全性与可靠性的设计能力。

1 STAMP事故模型及STPA安全分析方法

1.1 STAMP事故模型

STAMP(system theoretic accident model and processes)事故模型[11]从闭环系统角度出发,建立的一种基于系统理论和控制理论的事故分析模型。STAMP模型三个最基本概念是安全约束、控制反馈结构和过程模型。当过程模型与被控过程不一致时,就会产生不安全控制行为。因此,在STAMP事故模型分析中,事故的发生不是简单的组件失效或人为操作失误而造成,而是由于安全约束相关问题而造成的。

在事故危险分析过程中,STAMP模型把系统组件及其之间的联系表述为一个相互依赖的控制结构,并通过该控制结构对系统的各控制回路行为进行检查,识别系统内部控制回路中各组件的控制缺陷,从系统角度对危险进行分析,寻找危险发生原因,并从系统开发、设计和运行等角度提出改进措施。

1.2 STPA安全分析方法

STPA安全性分析方法[12]是在STAMP模型基础上,建立的一种系统性安全评估方法。如图1所示,从系统工程角度出发,STPA分析对具体对象建立控制和反馈回路。运用STPA进行安全性分析,确定系统级事故和系统级危险,分析特定场景下的不安全控制行为,并进行针对性的关键原因分析。

图1 通用控制和反馈回路Fig.1 General control and feedback loop

2 无人艇航行安全分析

2.1 Pixhawk无人艇组成架构

2.1.1 硬件架构

Pixhawk[13]是一款在无人机、无人车、无人船等移动机器人平台上广泛应用的低成本、高性能的高端自驾仪。该硬件系统设计来源于苏黎世联邦理工大学的计算机视觉与几何实验室、自主系统实验室和自动控制实验室的开源项目。这是一款基于ARM(advanced RISC machines)芯片的32位开源自驾仪,集成GPS(global positioning system)、陀螺仪、加速度计、磁力计等多个硬件模块。如图2所示,Pixhawk无人艇硬件架构中,STM32F427主控制器承担绝大多数自驾仪功能需求任务,包括传感器数据读写、姿态解算、运动控制、多任务实时调度等。STM32F103作为协处理器,接收遥控器输入,实现手操遥控无人艇的功能。通过姿态测量系统、高度测量系统以及位置测量系统实现无人艇自身状态感知。动力系统配备一个推进电机提供动力,一个舵机提供转向力。电源系统为电机电调提供动力电源,同时也为控制器和其他模块提供弱电供应。

无人艇自主航行过程,姿态、高度、位置测量模块通过实时管理协调协议(real time management coordination, RTMC)、串行外设接口协议(serial peripheral interface,SPI)向主控制器发送无人艇航行状态测量信息,主控制器接收感知信息后,经自主驾驶算法处理产生控制指令,利用通用异步收发传输器(universal asynchronous receiver transmitter, UART)与协处理器交互,最后协处理器发出脉冲宽度调制信号(pulse width modulation, PWM)实现舵机和电机执行期望控制指令,实现无人艇按照预期功能自主航行。

图2 Pixhawk无人艇硬件架构Fig.2 Pixhawk USV hardware architecture

2.1.2 PX4软件架构

为实现自主航点跟踪能力,Pixhawk无人艇运行了一套主流的开源自驾仪固件PX4。无人艇作为一个软件密集型产品,软件系统的合理设计和有效约束是确保无人艇预期功能安全的重要内容。本文所用的PX4开源固件,运行Nuttx嵌入式实时系统,确保在占用有限硬件资源的条件下实现多任务的实时调度和管理。为了提高软件系统的通用性,PX4软件架构采用了三层架构模式,如图3所示。

(1)算法应用层。该层实现无人艇的航行控制,主要分为导航、制导、控制三个模块。导航模块读取GPS(global positioning system)和传感器数据等解算出无人艇当前位置和姿态,然后结合L1制导律输出无人艇控制期望航向和航速,利用双闭环串级PID(proportion integral derivative)控制器完成控制指令输出。通过三个模块内部以及与其他模块的配合,实现无人艇根据预设期望路径航行、工作模式切换等多项任务。

(2)任务调度层。该层主要是NuttX实时操作系统层,接收来自算法应用层和任务调度层的信息输入和输出请求,各个模块的所有输入输出均以微对象请求代理(micron object request broker, uORB)的消息机制运行,确保多任务调度能够得到实时响应,从而满足无人艇的动态任务执行需求。

(3)设备驱动层。该层主要发挥隔离作用,将控制算法开发与底层硬件有效分开,一方面通过各种驱动模块与硬件层建立一对一的联系,另一方面通过任务调度层将上层的算法输入信息、控制指令与下层各个设备驱动模块建立联系。

图3 PX4软件架构(主要模块)Fig.3 PX4 software architecture (main module)

图4 无人艇自主航行STAMP事故模型Fig.4 STAMP accident model for USV navigation

2.1.3 STAMP事故模型

基于Pixhawk无人艇的软硬件架构,建立如图4所示的STAMP事故模型,其中橙色方框组成无人艇自主航行的控制与反馈回路。无人艇执行自主航行任务过程,首先由岸上操作人员通过地面控制站规划任务航路点序列,并通过有线或无线数据链路下载至自驾仪硬件。然后,通过地面控制站或者遥控器摇杆切换无人艇工作模式,启动自主跟踪航路点模式,开始按顺序自主执行航行任务。航路点跟踪任务执行过程中,主控制器先通过各传感器模块实时获取无人艇的姿态、位置等信息发送至导航模块,经传感器数据融合计算后输出无人艇的位姿观测结果。根据无人艇的当前位姿信息,结合上位机发送的期望航点位置,制导模块计算输出期望航向和期望航速。在控制模块中,通过位置控制律与姿态控制律得到执行机构控制量,再经输出混控计算出外部执行机构的控制指令。舵机和推进器响应控制指令,调整无人艇姿态和速度实现预定的航路点跟踪任务。外部风浪环境等与无人艇船体交互,通过传感器反馈影响自驾仪的自主航行控制性能。此外,岸上操作人员通过肉眼观察无人艇运行状态也能实现遥控器航行干预与人在回路的控制。

2.2 STPA航行安全分析

2.2.1 定义系统级事故

STPA分析第一步是确定系统级事故[14]。它是指整个系统中,导致不希望的或意外的事件发生,例如人员受伤或死亡、财产损失及任务失效等。在无人艇执行航行任务过程,系统级事故总结如表1所示,包括四个部分:无人艇受损(A-1):包括无人艇上搭载的设备受损和艇壳因为外力撞击受损;无人艇丢失(A-2):指无人艇与地面控制站失去联系并消失在操作人员视野中;无人艇沉没(A-3):指无人艇壳体受损;无人艇碰撞(A-4):指无人艇与水上或岸边障碍物发生碰撞导致的壳体破损。

表1 无人艇航行过程系统级事故Table 1 System-level accidents during USV navigation

2.2.2 定义系统级危险

系统级危险是可能导致系统级事故发生的子集,系统级的危险可能会导致多个系统级事故的发生,无人艇航行过程的系统级危险如表2所示。

表2 无人艇航行过程系统级危险Table 2 System-level hazards during USV navigation

无人艇设备失控(H-1)是指无人艇的设备脱离控制,而无人艇中设备包括各类传感器、控制芯片、执行机构等,这些设备失控或失效均属于无人艇设备失控,进而导致无人艇受损、丢失、沉没、碰撞等系统级事故。

无人艇偏离预定航线(H-2)是指无人艇的传感器或执行机构的工作偏离设计工况,导致无人艇实际航路与预设路线出现偏差。从闭环控制系统角度来说,可能由于GPS观测位置与期望位置偏离过大,导致控制器难以完全纠正无人艇实际航路的偏差,进而导致系统级事故。

无人艇感知错误(H-3)是指无人艇传感器发生故障,由Pixhawk硬件架构可知,各类传感器信息传输到导航、姿态控制等模块中,如果无人艇感知模块发生错误,将会导致无人艇受损、沉没、碰撞等系统级事故。

无人艇与地面站通信中断(H-4)是指无人艇不能与地面控制站进行信息交互。无人艇执行任务过程会将各种航行状态和控制指令实时反馈给地面控制站,且任务完成后无人艇还需要等待地面控制站地面站或遥控器摇杆发送指令使无人艇返回出发点。如果通信中断,地面控制站将不能实时监控无人艇的状态,无人艇将可能发生受损、丢失、沉没、碰撞等系统级事故。

2.2.3 识别不安全控制行为

根据图4所示的无人艇航行控制STAMP模型,识别潜在的危险控制。根据STPA方法定义的四类不安全控制行为,列出控制执行对象潜在的不安全控制行为,如表3所示。

表3 无人艇航行过程的潜在的不安全控制行为Table 3 Potential unsafe control behaviors during USV navigation

2.2.4 关键原因分析

将无人艇STAMP模型简化成图5所示的无人艇自主航行控制和反馈回路。根据STPA分析方法可以得知,控制行为导致危险的主要原因包括两个方面,即不正确、不及时和不恰当的控制行为导致的危险和不及时、不完整和不合理的信息反馈导致的危险。具体分析原因如下:

图5 控制和反馈回路Fig.5 Control and feedback loop

1)不正确、不及时和不恰当的控制行为导致的危险

根据图5所示的主动控制部分流程,分析导致不正确、不及时和不恰当的控制行为关键原因如下:

(1)地面控制站至Pixhawk自驾仪。①地面控制站操作人员没有按照正确流程规划航点,导致航点信息遗漏、错误;②地面控制站操作人员没有按照正确程序上传航点,导致航点信息未上传;③地面控制站操作人员对于航点是否全部成功上传并没有明显的反馈;④地面控制站操作人员没有按照正确程序解决故障保护问题,导致工作模式切换失败。

(2)Pixhawk自驾仪至舵机。①Pixhawk程序运行错误,导致提供的舵机控制信号错误;②Pixhawk程序运行错误,导致提供的舵机控制信号提前或延后;③Pixhawk自驾仪至舵机接线中断,导致信号传输不到舵机。

(3)Pixhawk自驾仪至电机。①Pixhawk程序运行错误,导致提供的电机控制信号错误;②Pixhawk程序运行错误,导致提供的电机控制信号提前或延后;③Pixhawk自驾仪至电机接线中断,导致信号传输不到电机。

(4)舵机输出。①舵机供电故障,导致不能正确执行控制信号;②舵机机械结构故障,导致不能正确执行控制信号;③舵机与舵叶机械连接出现故障导致转弯效果不能实现。

(5)电机输出。①电调供电故障,导致不能正确输出电机控制信号;②电调电路故障,导致不能输出正确的电机控制信号;③接线断路导致电机不能正常输出;④电机与螺旋桨机械连接故障导致电机推进效果不能实现。

2)不及时、不完整和不合理的信息反馈导致的危险

根据图5所示的反馈回路部分,分析导致不及时、不完整和不合理的信息反馈的关键原因如下:

(1)风、浪、流至无人艇的传感器。①传感器安装不稳定导致传感器不能采集到正确的无人艇状态信息;②传感器硬件故障导致传感器不能采集到正确的无人艇状态信息。

(2)GPS传感器至Pixhawk自驾仪。①无人艇工作区域周围障碍物较多导致GPS信号弱,影响GPS定位效果;②GPS传感器出现硬件故障导致GPS传感器失效;③GPS传感器与Pixhawk自驾仪电气连接断路导致GPS信息不能正常上传。

(3)姿态传感器至Pixhawk自驾仪。①无人艇工作区域周围磁场异常导致传感器工作异常;②姿态传感器故障导致姿态信息不能正常发送至 Pixhawk自驾仪;③姿态传感器供电故障导致姿态传感器不能正常工作;④姿态传感器到Pixhawk自驾仪的信号线断路导致姿态信息不能正常上传。

2.2.5 安全性能优化

从系统工程和控制原理角度,分析无人艇自主航行安全可知,引发无人艇航行安全的不安全控制行为关键原因具有一定的相似性,主要包括:人员操作失误导致控制器输出错误的控制指令;硬件失效问题导致信号丢失或延迟;软件设计未充分约束导致输出错误的控制指令。为此,从三个方面提出无人艇航行功能安全设计的优化建议。

1)地面控制站操作人员

操作人员对无人艇进行航行监控及操作前,应熟悉地面控制站的各类操作与无人艇各功能模块的状态信息。并对可能出现的问题制定可行的应急预案。

在无人艇航行过程中,地面站操作人员应该持续监视无人艇运行状态,保证无人艇在正常航行过程中控制指令不被地面控制站或遥控器恶意干扰,而在无人艇遇到事故或故障时能及时判断事故类型并做出响应,避免酿成系统级事故。

2)硬件设计及运行检验

在无人艇执行任务前,应该保证各硬件模块功能的完好性以及安装和连接的可靠性,保证无人艇在航行过程中能够保持持续工作。在无人艇下水之前,应对传感模块、通信模块、动力模块等进行自检和校准。在无人艇执行航行任务后,应对无人艇所有模块进行检查、清洁与除潮,防止由于进水导致的电气短路、断路。

从Pixhawk硬件设计层面,现有Pixhawk硬件架构(图2所示)将所有规划、制导和控制相关的核心任务集中到主控芯片STM32F427,单一芯片工作过程,难免会因为芯片自身或外部输入异常导致任务执行异常。因此,如图6所示,在协处理器STM32F103原有功能基础上,通过集成电路总线协议(inter-integrated circuit bus, IIC bus)读取姿态传感器L3G20D和MPU9250的数据,实现在主控芯片异常情况下,由协处理器接管控制任务。

3)软件设计及故障处理

在原有主控芯片STM32F427单独完成自主航行控制任务基础上,扩展协处理器STM32F103的功能实现异常情况的应急控制。改进后的Pixhawk框架中,当主控制器正常工作时,协处理器不处理姿态传感器的数据。然而,当主控制器发生故障导致输出错误时,协处理器将无人艇的工作模式将由自主跟踪航点模式切换为遥控操纵模式,并通过IIC协议读取姿态传感器数据,根据无人艇航行状态对执行机构控制指令进行干预,确保主控制器失效时无人艇能逐渐减速直至进入待机状态。所有状态变化和控制指令干预均通过数传模块传输到地面控制站供操作人员分析,以及实施远程遥控操纵。

图6 改进后Pixhawk硬件框架Fig.6 Improved Pixhawk hardware framework

3 结论

从系统工程角度,利用STAMP及STPA安全分析方法对无人艇自主航行控制过程安全性进行了系统分析。基于闭环控制反馈系统回路分析,更加全面地识别了不安全控制行为及原因,充分分析了无人艇在人员操纵、硬件及软件中出现的事故致因,对提高无人艇航行安全性具有重要意义。与此同时,也验证了利用STAMP进行事故建模,再对无人艇航行安全进行STPA分析的可行性和有效性。

对无人艇航行安全设计,从地面站操作人员、硬件、软件三个方面提出优化建议。但是软硬件改进方面,仅将姿态传感器输入至协处理器,在主处理器故障时由协处理器接管控制指令输出。后续研究将进一步完善协处理器的应急控制功能,提高无人艇自主航行的安全性。

猜你喜欢
控制站航行无人
到慧骃国的航行
HUMS在无人直升机上的应用与展望
海洋美景
第六章 邂逅“胖胖号”
DCS系统在机井控制中的应用
法国水师兵营旧址 曾作为法国在长江上游的控制站
ECS-100系统控制站硬件配置及使用
反击无人机
潜艇
美国无人机地面控制站的改进与发展