(3)双机控制数据故障
裁决逻辑:空间机器人的运动一般分为两种模式,一种是预先规划固定轨迹的运动,另一种是相对于目标的自主运动。主备双机根据机器人不同的运动状态,比较同步数据中的控制关节角度,配合误差容忍度给出系统控制数据故障信号。
故障源判断:在固定规划轨迹的模式下,控制数据预先给定,可以将双机数据与正确数据对比,确定故障源;在自主运动模式下,关节的速度和位移是平滑变化的,不可能发生突变,可以利用关节的最大角速度、最大角加速度、末端的最大速度和最大加速度等边界值对当前数据进行边界检测,从而判断出故障源,如图7所示。
另外,当双机系统对故障源的判断发生矛盾时,将交由外部指令系统对其进行处理。
2.4 系统恢复
为保证空间机器人中央控制计算机能够长期、稳定地运行,就需要使其具有从故障状态恢复的能力。根据其故障原因,分3种情况进行制定:
①系统裁定备机故障,主机正常,此时主机切换为单机模式继续正常执行任务,备机复位重启并通知主机,主机切换到双机同步模式,备机重新与主机同步,恢复系统正常运行。
②系统裁定主机故障,备机正常,此时主机让权,进行切换,备机得权后变为主机,并切换到单机模式继续执行系统任务;而主机让权后变为备机,复位重启后与主机重新进行同步,恢复系统的正常运行。
③系统失步,即备机周期超前或滞后于主机,这种情况并不是造成系统故障,不进行切换动作。此时主机依然正常执行系统任务,备机利用主机的同步数据更新自身状态,与主机进行再同步。
3 双机热备份系统软件设计
基于中央控制计算机双机热备份系统的硬件环境和策略的制定,将其软件设计为6个模块,并基于强实时性操作系统VxWorks进行实现。该操作系统提供的分布消息队列机制支持系统软件的容错设计,其强实时性也满足空间机器人任务的要求。首先,根据策略的制定,设计心跳任务、同步任务、故障裁决任务和系统恢复任务,另外根据双机通信的需要设计RS485总线发送任务和RS485总线接收任务。它们的功能如下:
①心跳任务,任务名HeartBeat。周期性地检测对方机发送的心跳信号,若发现无心跳信号,则通知故障裁决任务进行故障裁决。
②同步任务,任务名Synchronize。根据同步策略中的初始化同步过程进行系统时钟和任务的初始化同步,并周期性地监视系统同步数据。若发现系统同步数据异常,则通知故障裁决任务进行系统故障的裁决。
③故障裁决任务,任务名ExecSwitch。根据不同的故障情况,依据前面叙述的裁决过程对系统故障源进行判断,并根据结果进行切换操作,保障系统正常运行。另外,通知系统恢复任务并尝试对系统进行恢复。
④系统恢复任务,任务名Reconfigure。根据系统恢复策略尝试对故障机进行恢复,出现“失步”现象时,依据再同步过程对备机进行再同步。
它们之间的协作关系如图8所示。
⑤RS485总线接收及发送任务,任务名Receive485、Send485。负责双机的通信,主要包括控制消息的解析,同步数据的接收与发送。
在RS485总线通信任务中,通信数据格式定义如下:
其中,为RS485通信数据加入起始Start和结尾End位,保证RS485通信任务传递数据的正确性;Command为双机热备份系统的控制命令,如同步系统时钟指令、任务同步指令等;Syn_data为双机同步数据,它的数据结构定义如下:
其中,关节数据以double类型计算,但在双机通信中转化为16位整数进行传递,节省数据流量;Result为裁决结果,双机将比较裁决结果。如果一致则进行相应处理,如果矛盾将由指令系统进行处理。
双机热备份系统的软件由以上6个模块组成,对系统进行监测、裁决、恢复,保证中央控制计算机长期、稳定地运行。
4 双机热备份系统验证
当中央控制计算机启动后,主机将向备机发出同步系统周期指令,同步系统周期时间;在外部指令系统启动主机任务的同时,主机将发出指令启动备机任务。主机从接收指令到备机同步启动任务所需时间为1 420 ms,备机从接收指令到启动任务所需时间为1180 ms。该双机系统可以快速启动并进行同步。
在运行过程中,利用错误注入的测试方法,预先在程序中注入错误,系统检测到错误后,能够快速的切换,并且备机可以及时更新系统数据,与主机进行再同步,从切换完成到重新同步的平均时间为592 ms内,满足空间机器人任务的强实时性要求。
结 语
本研究在综合考虑空间环境及机器人任务特殊性的基础上,实现了一种独特的双机热备份系统。依据可能出现的故障类型,设计了心跳策略、同步策略、裁决切换策略和恢复策略,并基于VxWorks操作系统实现了双机热备份系统的软件。经验证,该系统具有较好容错能力,可增强空间机器人系统在复杂空间环境下执行任务的可靠性,适合在空间机器人系统中应用。