一种智能船舶自主避碰的分布式仿真测试系统及方法与流程

文档序号:18903978发布日期:2019-10-18 22:24阅读:372来源:国知局
一种智能船舶自主避碰的分布式仿真测试系统及方法与流程

本发明涉及智能船测试技术领域,尤其涉及一种智能船舶自主避碰的分布式仿真测试系统及方法。



背景技术:

现有的船舶模拟仿真测试系统大多为单机形式的单端操作,这种操作方式只能同时驾驶单个障碍船对智能船舶自主避碰进行干扰,对多个障碍船的驾驶只能逐个操作,降低了仿真的真实性,并且难以构建测试船舶与多个障碍船舶同时会遇的态势,智能船舶自主避碰测试场景的构建有一定的局限性,无法对智能船舶自主避碰进行全面的测试,降低了仿真测试结果的可靠性。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供一种智能船舶自主避碰的分布式仿真测试系统及方法。

(二)技术方案

为了达到上述目的,本发明实施例中提供一种智能船舶自主避碰的分布式仿真测试系统,包括:

服务器,所述服务器将测试场景信息、测试船的航行信息以及多个障碍船的航行信息实时发送给多个障碍船驾驶客户端,所述航行信息包括船舶的位置、航向和航速;

多个障碍船驾驶客户端,所述障碍船驾驶客户端用于控制对应的障碍船;

每一障碍船驾驶客户端包括:

接收模块,用于实时接收服务器发送的数据;

场景复现模块,用于根据接收模块接收的测试场景信息复现测试场景;

船舶航行状态复现模块,用于根据接收模块实时接收的测试船的航行信息以及多个障碍船的航行信息,在测试场景中复现测试船的航行状态和多个障碍船的航行状态;

比较模块,用于比较所述接收模块实时接收的测试场景信息和当前的测试场景信息是否相同;

控制器,与所述接收模块、场景复现模块和比较模块连接,所述控制器用于当所述接收模块实时接收的测试场景信息和障碍船驾驶客户端的当前测试场景信息不同时,控制场景复现模块根据实时接收的测试场景信息更新测试场景。

可选的,所述服务器包括:

列表创建模块,用于创建障碍船航行信息列表,将多个障碍船的航行信息实时记录在障碍船航行信息列表中,还用于在障碍船航行信息列表中增加或删减障碍船的航行信息,所述航行信息还包括障碍船的类型;

服务器将所述障碍船航行信息列表实时发送给多个障碍船驾驶客户端;

所述障碍船驾驶客户端还包括判断模块,用于判断实时接收的障碍船航行信息列表相对于当前的障碍船航行信息列表是否增加或删减障碍船的航行信息;

所述控制器与判断模块连接,用于当实时接收的障碍船航行信息列表与当前的障碍船航行信息列表不同时,控制船舶航行状态复现模块根据实时接收的障碍船航行信息列表复现增加的障碍船的航行状态或删减障碍船。

可选的,所述障碍船航行信息列表还包括障碍船的控制状态,所述控制状态包括未被控制状态和被控制状态;

所述障碍船驾驶客户端还包括:

第一获取模块,用于获取选择控制的障碍船的选择指令,所述选择指令包括选择控制的障碍船的参数;

发送模块,用于向服务器发送选择指令;

列表创建模块根据障碍船驾驶客户端发送的选择指令,在障碍船航行信息列表中修改对应的障碍船为被控制状态,并记录障碍船和障碍船驾驶客户端的对应关系。

可选的,所述障碍船驾驶客户端还包括:

第二获取模块,用于获取控制对应的障碍船的航行状态的操作指令,所述操作指令包括障碍船的航行信息;

所述发送模块还用于将操作指令发送给服务器;

列表创建模块根据障碍船驾驶客户端发送的操作指令,在障碍船航行信息列表中修改对应的障碍船的航行信息。

可选的,所述服务器包括场景构建模块,用于构建测试场景,以及在测试场景中复现测试船和障碍船的航行状态;

所述场景构建模块还用于根据障碍船驾驶客户端发送的操作指令,在测试场景实时更新障碍船的航行状态。

本发明实施例中还提供一种智能船舶自主避碰的分布式仿真测试方法,包括:

服务器将测试场景信息、测试船的航行信息以及多个障碍船的航行信息实时发送给多个障碍船驾驶客户端,所述航行信息包括船舶的位置、航向和航速;

障碍船驾驶客户端实时接收服务器发送的数据,根据接收的测试场景信息复现测试场景,当实时接收的测试场景信息和当前的测试场景信息不同时,根据实时接收的测试场景信息更新测试场景,并根据实时接收的测试船的航行信息以及多个障碍船的航行信息,在测试场景中复现测试船的航行状态和多个障碍船的航行状态。

可选的,还包括:

在服务器端创建障碍船航行信息列表,将多个障碍船的航行信息记录在障碍船航行信息列表中,并在障碍船航行信息列表中增加或删减障碍船的航行信息,所述航行信息还包括障碍船的类型;

将障碍船航行信息列表实时发送给多个障碍船驾驶客户端;

障碍船驾驶客户端判断实时接收的障碍船航行信息列表相对于当前的障碍船航行信息列表是否增加或删减障碍船的航行信息;

当实时接收的障碍船航行信息列表与当前的障碍船航行信息列表不同时,根据实时接收的障碍船航行信息列表复现增加的障碍船的航行状态或删减障碍船。

可选的,所述障碍船的航行信息还包括控制状态,所述控制状态包括未被控制状态和被控制状态;

所述分布式仿真测试方法还包括:

障碍船驾驶客户端获取选择控制的障碍船的选择指令,所述选择指令包括选择控制的障碍船的船舶参数;

向服务器发送选择指令;

服务器根据障碍船驾驶客户端发送的选择指令,在障碍船航行信息列表中修改对应的障碍船为被控制状态,并记录障碍船和障碍船驾驶客户端的对应关系。

可选的,还包括:

障碍船驾驶客户端获取控制对应的障碍船的航行状态的操作指令;

向服务器发送操作指令;

服务器根据操作指令,在障碍船航行信息列表中修改对应的障碍船的航行信息。

可选的,还包括:

在服务器端构建测试场景,以及在测试场景中复现测试船和障碍船的航行状态,并根据障碍船驾驶客户端发送的操作指令,在测试场景实时更新障碍船的航行状态。

(三)有益效果

本发明的有益效果是:

本发明的技术方案将分布式技术引入船舶的自主碰撞仿真测试领域,服务器与各客户端独立运行,既能模拟更多场景变化,提高仿真测试系统的多样性,同时又将障碍船驾驶功能分配到各个客户端系统进行,提高了整个系统的运行效率。允许用户通过客户端自由驾驶测试场景中的障碍船,使模拟测试系统能够搭建更多更灵活的测试场景,扩展了智能船舶仿真测试系统的测试面,提高了测试场模拟的真实度,在完成一项功能测试后能够根据需要立即调整障碍船的航行状态进行下一项功能测试,使得整个测试过程更加自由流畅。

附图说明

图1为本发明实施例中智能船舶自主避碰的分布式仿真测试系统的工作示意图;

图2为本发明实施例中智能船舶自主避碰的分布式仿真测试系统的组成框图;

图3为本发明实施例中智能船舶自主避碰的分布式仿真测试方法的流程图。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

图1为本发明实施例中智能船舶自主避碰的分布式仿真测试系统的工作示意图,图2为本发明实施例中智能船舶自主避碰的分布式仿真测试系统的组成框图,图2中仅示意了一个客户端,其它客户端的组成框图与其相同。

结合图1和图2所示,本发明实施例中提供一种智能船舶自主避碰的分布式仿真测试系统,包括服务器和多个障碍船驾驶客户端(以下简称客户端),服务器包括作为分布式操作系统的服务器,多个障碍船驾驶客户端利用ip及端口数据与服务器连接。

分布式仿真测试系统还包括信息传递中转站,所述服务器通过信息传递中转站将测试场景信息、测试船的航行信息以及多个障碍船的航行信息实时发送给多个障碍船驾驶客户端,所述航行信息包括船舶的位置、航向和航速。需要说明的是,也可以不设置信息传递中转站,服务器可以直接将数据发送给客户端。

每一障碍船驾驶客户端用于独立控制对应的障碍船。每一障碍船驾驶客户端包括接收模块、场景复现模块和船舶航行状态复现模块。接收模块用于实时接收信息传递中转站发送的数据,场景复现模块用于根据接收模块接收的测试场景信息复现测试场景,船舶航行状态复现模块用于根据接收模块实时接收的测试船的航行信息以及多个障碍船的航行信息,在测试场景中复现测试船的航行状态和多个障碍船的航行状态。

每一障碍船驾驶客户端还包括控制器和比较模块,比较模块用于比较所述接收模块实时接收的测试场景信息和当前的测试场景信息是否相同。控制器与所述接收模块、场景复现模块和比较模块连接,所述控制器用于当所述接收模块实时接收的测试场景信息和障碍船驾驶客户端的当前测试场景信息不同时,控制场景复现模块根据实时接收的测试场景信息更新测试场景。

上述技术方案将分布式技术引入船舶的自主碰撞仿真测试领域,服务器作为仿真测试的主体,在宏观上决定测试场景、障碍船的分布、测试船的类型与航线等信息,同步的多个障碍船驾驶客户端则用于独立控制测试场景中特定某处障碍的船航行状态,又能将航行信息变化统一至同一次仿真测试中。通过将原本在单端系统进行的障碍船驾驶操作模块化并分配到各个客户端执行,使整个系统在资源管理、人员操作、系统运算等多个方面更便捷、更高效。

分布式并行技术使得各个障碍船的驾驶相互独立,允许在仿真测试的过程中同时驾驶测试场景中的多个障碍船,快速有效的对测试场景进行修改,相较于现有的单端模拟测试系统,能够更为真实的实现障碍船在模拟场景中的分布映射,在行为时序、行为关联等方面更加复杂多变的情况,模拟更复杂多样的测试场景,实现更加真实精确的仿真,对船舶测试提供更丰富的数据与结论,提高仿真测试的真实性。

另外,分布式技术的引入允许客户端在仿真测试过程中实时地干预、改变测试状态,确保测试的每一步均能够符合测试需求,在虚拟情景中营造不同的会遇态势,从而测试单个或多个障碍船航行状态发生改变的情况对整体测试结果的影响,节省时间及人力,使整个测试过程更加流畅且更有效率。

其中,船舶的航行信息还可以包括船舶的类型等船舶信息,为了提高仿真环境的真实性,还可以设置不同类型、大小的障碍船。

所述服务器和客户端选择具有显示功能的显示设备,如:电脑、手机等。

在一个具体的实施方式中,所述服务器还包括列表创建模块,用于创建障碍船航行信息列表,将多个障碍船的航行信息实时记录在障碍船航行信息列表中,以列表的形式存储障碍船的航行信息。列表创建模块还用于在障碍船航行信息列表中增加或删减障碍船的航行信息,所述障碍船航行信息列表通过信息传递中转站实时发送给多个障碍船驾驶客户端以及时更新障碍船的数量,使得客户端能够及时更新障碍船的数量,实现对不同数量障碍船的避碰仿真测试。

进一步地,所述障碍船驾驶客户端还包括判断模块,用于判断实时接收的障碍船航行信息列表相对于当前的障碍船航行信息列表是否增加或删减障碍船的航行信息。所述控制器与判断模块连接,用于当实时接收的障碍船航行信息列表与当前的障碍船航行信息列表不同时,控制船舶航行状态复现模块根据实时接收的障碍船航行信息列表复现增加的障碍船的航行状态或删减障碍船,通过增加或删减障碍船的方式,相对于重新生成所有障碍船的航行信息,大大减少了数据处理量,提高了仿真效率和真实性。

上述技术方案通过列表存储障碍船的航行信息,方便对应修改障碍船的航行信息,服务器能够根据需要随时修改测试场景中障碍船的数量,提高仿真测试的灵活性,更加真实地模拟碰撞场景,提高仿真测试的真实性。

进一步地,所述障碍船航行信息列表还包括障碍船的控制状态,所述控制状态包括未被控制状态和被控制状态。

所述障碍船驾驶客户端还包括第一获取模块和发送模块。第一获取模块用于获取选择控制的障碍船的选择指令,所述选择指令包括选择控制的障碍船的参数。发送模块用于向服务器发送选择指令。列表创建模块根据障碍船驾驶客户端发送的选择指令,在障碍船航行信息列表中修改对应的障碍船为被控制状态,并记录障碍船和障碍船驾驶客户端的对应关系,由于客户端通过服务器来选择要操控的障碍船,服务器能够在障碍船航行信息列表中记录障碍船的控制状态以及与客户端的控制关系,并将障碍船航行信息列表及时推送给所有客户端,使得客户端能够在障碍船航行信息列表中获取对应的障碍船的航行信息,实现对障碍船的操控。

进一步地,所述障碍船驾驶客户端还包括第二获取模块,用于获取控制对应的障碍船的航行状态的操作指令,所述操作指令包括障碍船的航行信息。所述发送模块还用于将操作指令发送给服务器。在仿真测试端,列表创建模块根据障碍船驾驶客户端发送的操作指令,在障碍船航行信息列表中修改对应的障碍船的航行信息,并由信息传递中转站推送给所有客户端,客户端在障碍船航行信息列表中获取对应的障碍船的航行信息,实现对障碍船的操控,包括对障碍船的航向、航速等航行状态的控制。

本实施例中,所述服务器包括场景构建模块,用于构建测试场景,以及在测试场景中复现测试船和障碍船的航行状态,由于客户端的障碍船的航行信息均由服务器推送,实现了服务器与客户端同步显示测试场景,以更加直观得控制测试场景,以及测试场景中测试船和障碍船的航行状态,从而更好得控制障碍船的干预策略,使得整个测试过程更加灵活、自有丰富,提高测试结果的真实性。

为了实现保证服务器和客户端的测试场景同步,所述场景构建模块还用于根据障碍船驾驶客户端发送的操作指令,在测试场景实时更新障碍船的航行状态,以与客户端的障碍船的航行状态同步。

在仿真测试进行过程中,如有任何测试场景信息或船舶的航行信息发生变化,例如:服务器端参数修改、测试船自身决策更改航行状态、客户端操控驾驶障碍船等情况,发生变化的信息均会实时上传至信息传输中转站并向各个客户端派送,保证服务器与客户端之间场景同步。

基于同一发明构思,本发明实施例中还提供一种智能船舶自主避碰的分布式仿真测试方法,包括:

仿真测试端将测试场景信息、测试船的航行信息以及多个障碍船的航行信息实时发送给多个障碍船驾驶客户端,所述航行信息包括船舶的位置、航向和航速;

障碍船驾驶客户端实时接收仿真测试端发送的数据,根据接收的测试场景信息复现测试场景,当实时接收的测试场景信息和当前的测试场景信息不同时,根据实时接收的测试场景信息更新测试场景,并根据实时接收的测试船的航行信息以及多个障碍船的航行信息,在测试场景中复现测试船的航行状态和多个障碍船的航行状态。

上述仿真测试方法将分布式技术引入船舶的自主碰撞仿真测试领域,服务器与各客户端独立运行,既能模拟更多场景变化,提高仿真测试系统的多样性,同时又将障碍船驾驶功能分配到各个客户端系统进行,提高了整个系统的运行效率。允许用户通过客户端自由驾驶测试场景中的障碍船,使模拟测试系统能够搭建更多更灵活的测试场景,扩展了智能船舶仿真测试系统的测试面,提高了测试场模拟的真实度,在完成一项功能测试后能够根据需要立即调整障碍船的航行状态进行下一项功能测试,使得整个测试过程更加自由流畅。

在一个具体的实施方式中,所述分布式仿真测试方法还包括:

在仿真测试端创建障碍船航行信息列表,将多个障碍船的航行信息记录在障碍船航行信息列表中,并在障碍船航行信息列表中增加或删减障碍船的航行信息,所述航行信息还包括障碍船的类型;

将障碍船航行信息列表实时发送给多个障碍船驾驶客户端;

障碍船驾驶客户端判断实时接收的障碍船航行信息列表相对于当前的障碍船航行信息列表是否增加或删减障碍船的航行信息;

当实时接收的障碍船航行信息列表与当前的障碍船航行信息列表不同时,根据实时接收的障碍船航行信息列表复现增加的障碍船的航行状态或删减障碍船。

上述技术方案通过列表存储障碍船的航行信息,方便对应修改障碍船的航行信息,服务器能够根据需要随时修改测试场景中障碍船的数量,提高仿真测试的灵活性,更加真实地模拟碰撞场景,提高仿真测试的真实性。

进一步地,所述障碍船的航行信息还包括控制状态,所述控制状态包括未被控制状态和被控制状态。

所述分布式仿真测试方法还包括:

障碍船驾驶客户端获取选择控制的障碍船的选择指令,所述选择指令包括选择控制的障碍船的船舶参数;

向仿真测试端发送选择指令;

仿真测试端根据障碍船驾驶客户端发送的选择指令,在障碍船航行信息列表中修改对应的障碍船为被控制状态,并记录障碍船和障碍船驾驶客户端的对应关系。

上述步骤中,由于客户端通过服务器来选择要操控的障碍船,服务器能够在障碍船航行信息列表中记录障碍船的控制状态以及与客户端的控制关系,并将障碍船航行信息列表及时推送给所有客户端,使得客户端能够在障碍船航行信息列表中获取对应的障碍船的航行信息,实现对障碍船的操控。

进一步地,所述分布式仿真测试方法还包括:

障碍船驾驶客户端获取控制对应的障碍船的航行状态的操作指令;

向仿真测试端发送操作指令;

仿真测试端根据操作指令,在障碍船航行信息列表中修改对应的障碍船的航行信息。

上述步骤中客户端对障碍船的操作指令通过服务器推送给所有客户端,客户端在障碍船航行信息列表中获取对应的障碍船的航行信息,实现对障碍船的操控,包括对障碍船的航向、航速等航行状态的控制。

本实施例中,所述分布式仿真测试方法还包括在仿真测试端构建测试场景,以及在测试场景中复现测试船和障碍船的航行状态,并根据障碍船驾驶客户端发送的操作指令,在测试场景实时更新障碍船的航行状态,由于客户端的障碍船的航行信息均由服务器推送,实现了服务器与客户端同步显示测试场景,以更加直观得控制测试场景,以及测试场景中测试船和障碍船的航行状态,从而更好得控制障碍船的干预策略,使得整个测试过程更加灵活、自有丰富,提高测试结果的真实性。

如图3所示,本发明实施例中智能船舶自主避碰的分布式仿真测试方法具体包括:

开始测试,服务器和客户端开启;

建立信息传递中转站;

服务器构建测试场景;

将测试场景信息、测试船的航行信息、障碍船航行信息列表上传至信息传递中转站,由信息传递中转站推送给所有客户端,以实现服务器和客户端的测试场景同步、障碍船航行状态同步(包括船舶数量同步、船舶类型同步,以及船舶位置、船舶航向和船舶航速同步)、测试船的航行状态同步(包括船舶数量同步、船舶类型同步,以及船舶位置、船舶航向和船舶航速同步);

客户端接收信息传递中转站推送的信息;

客户端判断实时接收的测试场景信息与当前的测试场景信息一致,如果否,根据实时接收的测试场景信息更新测试场景,如果是,进一步判断接收的障碍船的数量与当前测试场景中的障碍船的数量是否一致,如果否,根据实时接收的障碍船航行信息列表增加或删减障碍船,如果是,根据信息传递中转站推送的信息,实时更新测试船和障碍船的位置、航向和航速;

客户端选择要控制的障碍船,向服务器发送选择指令,并对障碍船进行控制,向服务器发送操作指令;

服务器根据选择指令对障碍船航行信息列表进行修改,并上传至信息传递中转站,由信息传递中转站推送给所有客户端;

服务器根据操作指令对障碍船航行信息列表进行修改,并上传至信息传递中转站,由信息传递中转站推送给所有客户端,重复该步骤,直至整个测试完成结束。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

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