一致地控制一组致动器的方法和计算机系统与流程

文档序号:17758209发布日期:2019-05-24 21:28阅读:146来源:国知局
一致地控制一组致动器的方法和计算机系统与流程

一种在计算机系统中发送控制命令的方法,其中所述计算机系统至少包括节点、致动器和通信系统形式的部件,其中所述控制命令通过所述通信系统从所述节点传送到所述致动器,并且其中计算机系统的一个、两个或者多个部件可不根据其技术规范工作。本发明涉及一种在致动器处一致地接受来自节点的控制命令的方法,通过通信系统传送该控制命令,并且计算机系统的一个、两个或多个部件可不根据其技术规范工作。

此外,本发明涉及一种连接到高优先权节点和低优先权节点的故障转移设备(fail-overdevice),并且该故障转移设备能够启动和关闭从低优先权节点到通信系统的传送。

最后,本发明涉及一种容错计算机系统,该容错计算机系统包括节点和致动器,其中节点通过通信系统与所述致动器通信,并且其中一个、二个或多个部件可不根据其技术规范工作。

本发明涉及对车辆中的一组致动器进行一致性控制。这种车辆可以是例如汽车、航空器、航天器或移动机器人。所述致动器由车辆中的计算系统的计算节点(缩写为:“节点”)产生的控制命令控制。利用一个、二个或者多个通信系统,在车辆中,控制命令从节点传递到致动器。



背景技术:

车辆设计成容忍计算机系统的一个、二个或者许多部件发生故障。通用术语“部件”指节点、通信系统(或通信系统的一部分)、致动器、以及链路,该链路使节点或致动器与通信系统连接。本发明确保即使在任一部件发生故障的情况下,车辆中的一组无错致动器仍一致地接受来自节点的控制命令。在本申请的语境下,一致地意味着如果一个无错致动器使用来自潜在许多节点中的一个节点的控制命令,则一组已知致动器中的所有其他无错致动器(有可能是车辆中的所有无错致动器)也都将接受所述一个节点的控制命令。在本申请的语境下,短语“接受控制命令”指致动器将利用所述控制命令对车辆产生物理效应。所述物理效应的示例是车辆的加速度和减速度以及车辆的运动方向的任意调整。尽管本发明的主要目的是容忍单个错误部件,但是本发明也能够容忍存在一个以上故障的各种境况。

对于车辆的安全操作,至关重要的是无错致动器一致地接受控制命令。如果无错致动器不一致地接受控制命令,则存在不同节点提供不同控制命令并且不同致动器对不同控制命令做出反应的风险。

例如,在一种境况下,一个节点可以发送用于指示致动器使车辆完全停止的控制命令,而第二节点可发送用于指示致动器使车辆沿应急轨迹移动的控制命令。在这种情况下,一致性接受会是下面两种情况中的任何一种情况:

a)所有无错致动器都接受来自所述第一节点的控制命令,而丢弃来自所述第二节点的控制命令,或者

b)所有无错致动器都接受来自所述第二节点的控制命令,而丢弃来自所述第一节点的控制命令。

如果在该例中无错致动器未一致地接受控制命令,则一些致动器可尝试使车辆进入停车位置,而其他致动器可尝试使车辆沿应急轨迹移动。在这种情况下,车辆可能进入会导致车辆发生类似碰撞的事故的不安全状态。



技术实现要素:

本发明的目的是使一组致动器能够在使致动器本身之间的协调开销最小的情况下一致地接受控制命令。特别是,解决这种类型的问题的现有技术要求致动器执行所谓“协商协议”。这种协商协议会指示致动器互相交换关于其收到哪个控制命令的信息。这样交换信息和收到的原始控制命令使得所有无错致动器都断定将一致地使用哪个控制命令(其中“一致地”遵循本申请书中较早提供的定义)。

本发明的目的是显著减少致动器之间的所述信息交换,并且在某些实现中,甚至完全消除致动器之间的所述信息交换。

该目的由上面描述的方法实现,其中为了在所述致动器处一致地接受控制命令,对节点及其控制命令赋予优先权,其中节点及其控制命令具有相同的优先权,其中采用至少两种优先权,其中高优先权节点产生高优先权控制命令,而低优先权节点产生低优先权控制命令,并且其中高优先权节点配置成通过至少两个通信系统将其控制命令传送到致动器,而低优先权节点配置成通过至少一个通信系统将其控制命令传送到致动器,并且其中只要致动器在至少两个通信系统中的任一通信系统收到所述高优先权控制命令,则致动器接受来自高优先权节点的高优先权控制命令,并且在该第一种情况下,丢弃低优先权控制命令,并且如果所述致动器在可配置时长内未从至少两个通信系统中的任一通信系统收到所述高优先权控制命令,则停止接受所述高优先权控制命令,并且在该第二情况下,致动器开始接受低优先权控制命令。

本发明对节点指定优先权,在所述节点,对所述节点产生的相应控制命令也指定相同的所述优先权。致动器能够解释优先权,并且根据本发明,指示致动器基于其优先权接受控制命令:所有致动器都将接受最高优先权控制命令。然而,如果致动器在可配置时长内未收到具有给定优先权的控制命令(例如,最高控制命令),则该致动器接受其收到的具有次低优先权的控制命令。

在仅存在两个节点的示例性实现中,只有两种优先权:高和低。在该示例性实现中,只要致动器收到高优先权控制命令,该致动器就始终接受高优先权控制命令,而当其在配置时长内未收到高优先权控制命令时,仅开始接受低优先权控制命令。

此外,根据本发明,至少具有最高优先权的节点通过至少两个通信系统连接到致动器,并且一个低优先权节点(低优先权意味着不是最高优先权)通过至少一个通信系统连接到致动器。

在本发明的一个实现中,实施故障转移设备。该故障转移设备具有两种状态active和backup。在active状态下,故障转移设备会阻止将控制命令从低优先权节点传送到致动器。在backup状态下,故障转移设备会使控制命令从低优先权节点传送到致动器。故障转移设备开始处于active状态,并且如果故障转移设备在可配置时长内未从最高优先权节点收到控制命令,则从active状态变更为backup状态。

在一个实现中,作为独立部件实施该故障转移设备。

在另一个实现中,作为低优先权节点的一部分实施该故障转移设备。

在另一个实现中,作为将低优先权节点连接到致动器的通信系统的一部分实施该故障转移设备。

在另一个实现中,在每个致动器内实施故障转移设备。

如上所述,在根据本发明的方法的有利实施例中,可以实施如下特征中的一个、多个或者全部特征:

*)计算机系统可以正好包括两个产生控制命令的节点,其中所述两个节点中的高优先权节点正好在两个通信系统传送,并且其中所述两个节点中的低优先权节点正好在一个通信系统传送。

*)可以提供故障转移设备,该故障转移设备对来自低优先权节点的控制命令是否在通信系统转发进行控制。

*)故障转移设备对来自低优先权节点的控制命令是否在通信系统转发所做的判定可取决于故障转移设备从高优先权节点收到控制命令。

*)当满足如下条件中的任一条件或如下条件的任意组合时,故障转移设备可开始对来自低优先权节点的控制命令在通信系统转发:

○故障转移设备未在某配置时长内收到来自高优先权节点的控制命令;

○故障转移设备从高优先权节点收到的控制命令比故障转移设备所配置成收到的多

○故障转移设备收到来自高优先权节点的错误控制命令。

*)可以假定所述可配置时长比产生两个连续控制命令之间的最大时长要长。

*)可以假定当故障转移设备开始将来自低优先权节点的控制命令转发到所述通信系统时,并且其中所述可配置数量可以是0、1、2或任意整数,故障转移设备将其在通信系统从高优先权节点收到的可配置数量的控制命令仅在每隔一可配置时间长度转发一次。

如上所述,本发明的目的还可以由计算机系统的故障转移设备实现,其中所述故障转移设备连接到所述计算机系统的高优先权节点和低优先权节点,并且该故障转移设备能够启动和关闭从计算机系统的低优先权节点到通信系统的传送,其中故障转移设备保持两种状态,其中在这两种状态中的一种状态下,故障转移设备配置成不将来自所述低优先权节点的控制命令转发到所述通信系统,并且其中处于第二状态的所述故障转移设备配置成将来自所述低优先权节点的控制命令转发到所述通信系统。

故障转移设备配置成当满足如下条件中的任一条件或如下条件的任意组合时,从所述第一状态变更为所述第二状态:

·故障转移设备未在某配置时长内收到来自高优先权节点的控制命令

·故障转移设备从高优先权节点收到的控制命令比该故障转移设备所配置成收到的多

·故障转移设备收到来自高优先权节点的错误控制命令。

故障转移设备可以配置成当故障转移设备开始将来自低优先权节点的控制命令转发到所述通信系统时,并且其中所述可配置数量可以是0、1、2或任意整数,将其在通信系统从高优先权节点收到的可配置数量的控制命令仅在每隔一可配置时间长度转发一次。

该目的还可以由一种容错计算机系统实现,该容错计算机系统包括节点和致动器,其中节点通过通信系统与致动器通信,并且其中计算机系统的一个、两个或多个部件可不根据其技术规范工作,并且其中该容错计算机系统包括上面描述的故障转移设备。

所述容错计算机系统可以包括所述故障转移设备,作为低优先权节点的一部分。

所述容错计算机系统可以包括所述故障转移设备,作为通信系统的一部分,特别是作为至少连接到低优先权节点的通信系统的一部分。

附图说明

为了进一步说明本发明,下面将讨论如图所示的说明性的非限制性实施例,附图示出:

图1示出根据现有技术的容错计算机系统的示例,

图2示出图1所示计算机系统中的根据现有技术的通信示例,

图3示出当前存在故障的图1所示容错计算机系统,

图4示出图3所示计算机系统中的通信示例,

图5示出根据本发明的容错计算机系统的示例,

图6示出图5所示计算机系统中的通信示例,

图7示出根据本发明包含故障转移设备的容错计算机系统的示例,

图8示出图7所示计算机系统中的通信示例,

图9示出计算机系统中的通信示例,

图10示出计算机系统中的通信示例,

图11示出根据本发明包含故障转移设备的容错计算机系统的另一个示例,

图12示出根据本发明包含故障转移设备的容错计算机系统的又另一个示例,以及

图13示出根据本发明的容错计算机系统的又另一个示例。

具体实施方式

接着,我们将讨论本发明的许多实施中的一些实施。如果未另外说明,则对特定示例描述的所有细节不仅对该示例有效,而且适用于本发明的整个保护范围。

图1示出根据现有技术的计算机系统的示例性实现。该计算机系统包括:两个节点a100、a200;两个通信系统com1、com2;以及致动器act1、act2、act3。节点a100、a200中的每个分别通过接口if100、if200确定地连接到通信系统com1、com2中的一个通信系统。此外,通信系统com1、com2中的每个通过各自的接口if11、if12、if13、if21、if22、if23连接到致动器act1、act2、act3。

图2示出在根据图1的计算机系统中控制命令f-a100、f-a200从节点a100和节点a200到致动器act1、act2、act3的示例性传送。如图所示,控制命令f-a100通过接口if100从节点a100传送到通信系统com1,并且进一步通过各自的接口if11、if12、if13从通信系统com1传送到致动器act1、act2、act3。同样,控制命令f-a200通过接口if200从节点a200传送到通信系统com2,并且进一步通过各自的接口if21、if22、if23从通信系统com2传送到致动器act1、act2、act3。因此,所有致动器都从两个节点a100、a200收到控制命令f-a100、f-a200。

图3示出根据图1的计算机系统,其中根据图3,在通过通信系统com1将节点a100连接到致动器act2的接口if12中发生故障if12-f。该故障if12-f使得来自节点a100的控制命令不传递到act2。

图4示出控制命令f-a100、f-a200在图3所示境况下的示例性传送。如图4所示,接口if12中的故障if12-f产生的境况是,仅两个致动器act1、act3收到来自节点a100的控制命令f-a100,而致动器act2未收到控制命令f-a100。这种缺少控制命令的现象由f-a100-e指出。然而,所有致动器act1、act2、act3都从节点a200收到控制命令f-a200。根据现有技术(请参见例如[1]),致动器act1、act2、act3需要执行协商协议(agreementprotocol)来判定它们将接受控制命令f-a100、f-a200中的哪个,使得它们仅一致地接受控制命令f-a100或仅一致地接受控制命令f-a200。

图5示出根据本发明的计算机系统的实现示例,其中对节点a100和节点a100的控制命令f-a100赋予优先权high,而对节点a200和节点a200的控制命令f-a200赋予优先权low。此外,根据本发明,节点a100连接到通信系统com1而且还连接到通信系统com2。

在没有发生故障的情况下,致动器act1、act2、act3通过通信系统com1(和连接if11、if12、if13)并且通过通信系统com2(连接if101和连接if21、if22、if23)收到节点a100的控制命令f-a100。致动器act1、act2、act3通过通信系统com2(和连接if21、if22、if23)收到节点a200的控制命令f-a200。

图6示出控制命令f-a100、f-a200在如图5所示的认为接口if12再次发生错误的境况下的示例性通信。如图所示,致动器act1和act3从通信系统com1收到控制命令f-a100,而致动器act2未从通信系统com1收到控制命令f-a100。然而,由于节点a100也利用接口if101连接到通信系统com2,所以通过各自的接口if21、if22、if23,来自节点a100的控制命令f-a100也利用所述通信系统com2传送到致动器act1、act2、act3。此外,通过其到通信系统com2的接口if21、if22、if23,致动器act1、act2、act3收到来自节点a200的控制命令f-a200。

根据本发明,如果致动器act1、act2、act3通过通信系统com1、com2中的任何一个通信系统收到high优先权的控制命令,则致动器act1、act2、act3接受high优先权的控制命令。因此,根据如图6所示的境况,在根据图5所示的有错误连接if12的计算机系统中,尽管连接if12发生错误,但是所有致动器act1、act2、act3都接受f-a100。由于所有无错致动器(在这种情况下指所有致动器)都接受同一个控制命令f-a100,所以所有无错致动器都一致地接受控制命令,即,控制命令f-a100(根据一致地接受的定义)。

与现有技术不同,不需要在致动器act1、act2、act3之间执行协商协议。仅必需将致动器act1、act2、act3配置成如果其获得优先权high的控制命令,则其接受优先权high的控制命令,而如果其未获得优先权high的控制命令,则其接受优先权low的控制命令。

如上所述,根据图6所示的示例,致动器接受优先权high的控制命令。此外,致动器收到优先权low的控制命令f-a200。优先权low的这些控制命令在图6所示的示例中被丢弃。

在另一个示例中,节点a100可能发生错误,并且不能发送优先权high的控制命令f-a100,在这些情况下,致动器act1、act2、act3仅收到优先权low的控制命令f-a200。在这些情况下,所有致动器act1、act2、act3都一致地接受控制命令f-a200。

图7示出根据本发明与图5所示计算机网络类似的计算机网络的示例性实现。然而,在这种情况下,引入了附加故障转移设备s300。故障转移设备s300既通过接口if102连接到节点a100,又通过接口if200a连接到节点a200。故障转移设备s300开始处于状态active,在该状态active,其利用接口if200b将来自节点a100的控制命令f-a100转发到通信系统com2,而不将来自节点a200的控制命令f-a200转发到通信系统com2。在故障转移设备s300检测到节点a100发生故障的情况下,其将从active状态变更为状态backup,在状态backup,其通过接口if200b将通过接口if200a从节点a200收到的控制命令f-a200转发到通信系统com2,并且可以停止将来自节点a100的控制命令f-a100转发到接口if200b。故障转移设备s300中的所述检测故障的检测过程的示例可以是如下中的任一或其任意组合:

·故障转移设备s300未在某配置时长内通过其接口if102收到控制命令f-a100

·故障转移设备s300通过其接口收到的控制命令f-a100比所配置成收到的多

·故障转移设备s300通过其接口if102收到错误控制命令f-a100,其中控制命令的故障可由控制命令中的特定值指出,诸如错误校验和、错误时间戳、错误序列号和/或类似保护机制中的其他故障。

故障转移设备s300减少致动器收到的控制命令的数量。这样具有各种好处,一方面,致动器需要处理的控制命令较少,并且因此,能够利用较少的计算资源实现。另一方面,在该系统中发生多个故障的情况下或者在任意其他竞争条件下,其降低致动器不能一致地接受控制命令的概率。

图8示出图7所示示例性实现中的示例性通信境况。在该例中,故障转移设备s300处于active状态。如图所示,故障转移设备s300通过其接口if102收到控制命令f-a100。因此,其将通过通信系统com2转发控制命令f-a100,而阻止来自节点a200的控制命令f-a200。由于所有致动器都收到控制命令f-a100,所以所有致动器都一致地接受所述控制命令f-a100。

图9示出图7所示示例性实现中的示例性通信境况。在该例中,故障转移设备s300进入backup状态,因为其在f-a100-e指出的配置时长内未收到控制命令f-a100。因此,故障转移设备s300将来自节点a200的控制命令f-a200转发到通信系统com2。如图所示,所有致动器都收到f-a200,并且一致地接受控制命令f-a200。

图10示出图7所示示例性实现中的示例性通信境况。在该例中,故障转移设备s300进入backup状态,因为其通过接口if102从节点a100收到太多的控制命令f-a100,即,收到两个连续控制命令f-a100,而不能互相关闭,以致违反最小间隔时间min-inter。在backup状态下,其仅通过接口if200b转发来自节点a200的控制命令,并且阻止通过接口if200b传送来自节点a100的所有控制命令f-a100(例如,参考符号f-a100-n1所指的一个控制命令)。在另一个实现中,可以将故障转移设备s300配置成在backup状态下也每隔配置时长转发一次预配数量的控制命令f-a100。因此,在后者情况下,故障转移设备s300不完全阻止来自节点a100的传送,而仅通过接口if200b将来自a100的传送降低到配置数量的控制命令。

图11示出本发明的示例性实现。在这种情况下,故障转移设备s300是节点a200的一部分,并且接口if200a是节点a200中的内部接口。

图12示出本发明的示例性实现。在这种情况下,故障转移设备s300是通信系统com2的一部分,并且接口if200a是通信系统com2中的内部接口。

图13示出与图5所示实现类似的示例性实现。然而,在这种情况下,节点a200还连接到通信系统com1,并且还通过接口if201将其控制命令f-a200发送到通信系统com1。

参考资料

[1]lamport,leslie,robertshostak,和marshallpease.″thebyzantinegeneralsproblem.″acmtransactionsonprogramminglanguagesandsystems(toplas)4,3号(1982):382-401.

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1