一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多主体模拟系统以及多主体模拟方法与流程

2023-02-02 08:12:25 来源:中国专利 TAG:


1.本公开涉及使用相互作用的多个主体(agent,智能体、代理)来模拟(simulate,仿真)对象世界的多主体模拟(mas:multi-agent simulation)系统以及多主体模拟方法。


背景技术:

2.已知使用相互作用的多个主体来模拟对象世界的多主体模拟。例如,专利文献1公开了通过一边在大量的主体之间收发消息一边进行协调动作来进行模拟。
3.此外,作为本公开的技术领域中的表示申请时的技术水平的文献,在上述专利文献1之外也可以例示下述的专利文献2和专利文献3。
4.现有技术文献
5.专利文献1:国际公开第2015/132893号
6.专利文献2:国际公开第2014/196073号
7.专利文献3:日本特开2014-174705号公报


技术实现要素:

8.发明要解决的技术问题
9.在现实的世界中,某实体的当前状态由与相互作用的其他实体的当前状态的关系来决定。由此,为了对虚拟空间中的主体的当前状态进行模拟,需要与相互作用的其他主体的当前状态有关的信息。
10.但是,在由计算机进行的模拟中,有可能在主体间的消息的交换上产生时间延迟。另外,消息的发送是离散地进行的,因此,消息的交换的定时也有可能在主体间发生偏离。因此,在以往的多主体模拟中,在对主体的当前状态进行模拟时取得与相互作用的其他主体的当前状态有关的信息并不容易。
11.本公开是鉴于如上述那样的问题而完成的。本公开的目的在于提供一种多主体模拟系统以及方法,其能够在多主体模拟中精度良好地对主体的当前状态进行模拟。
12.用于解决问题的技术方案
13.本公开提供使用相互作用的多个主体来模拟对象世界的多主体模拟系统。本公开的系统具备按多个主体的各主体而设置的多个主体模拟器、和与上述多个主体模拟器进行通信的中央控制器。上述多个主体模拟器被编程为一边通过消息的交换使主体彼此相互作用,一边对各主体的状态进行模拟。
14.进一步,上述多个主体模拟器分别被编程为执行以下的处理。第1处理是基于从中央控制器发送的消息,生成与作为模拟的对象的对象主体相互作用的相互作用主体的状态。第2处理是存储所生成的相互作用主体的状态。第3处理是根据所存储的相互作用主体的过去的状态,推定相互作用主体的当前状态。第4处理是使用所推定的相互作用主体的当前状态,对对象主体的当前状态进行模拟。第5处理是基于所模拟的对象主体的当前状态来制作消息。第6处理是向所述中央控制器发送所制作的消息。
15.在本公开的系统中,多个主体模拟器分别也可以在所存储的相互作用主体的过去的状态的数量为2个以上的情况下,通过基于相互作用主体的最新的2个以上的过去的状态的线性外插,推定相互作用主体的当前状态。另外,多个主体模拟器分别也可以在所存储的相互作用主体的过去的状态的数量为1个的情况下,将相互作用主体的唯一的过去的状态推定为相互作用主体的当前状态。在本公开的系统中,多个主体也可以包括具有时间粒度不同的种类的多种主体。在该情况下,多个主体模拟器分别也可以以与对象主体的时间粒度相应的发送时间间隔,向中央控制器发送消息。
16.本公开提供使用相互作用的多个主体来模拟对象世界的多主体模拟方法。本公开的方法使用按多个主体的各主体而设置的多个主体模拟器、和与上述多个主体模拟器进行通信的中央控制器来实施。本公开的方法包括:在多个主体模拟器之间进行消息的交换,一边通过消息的交换使主体彼此相互作用,一边对各主体的状态进行模拟;和通过中央控制器对多个主体模拟器间的消息的收发进行中继。
17.进一步,本公开的方法包括使多个主体模拟器分别执行的以下的步骤。第1步骤是基于从中央控制器发送的消息,生成与作为模拟的对象的对象主体相互作用的相互作用主体的状态。第2步骤是存储所生成的相互作用主体的状态。第3步骤是根据所存储的相互作用主体的过去的状态,推定相互作用主体的当前状态。第4步骤是使用所推定的相互作用主体的当前状态,对对象主体的当前状态进行模拟。第5步骤是基于所模拟的对象主体的当前状态来制作消息。并且,第6步骤是向所述中央控制器发送所制作的消息。
18.在本公开的方法中,也可以使多个主体模拟器分别在所存储的相互作用主体的过去的状态的数量为2个以上的情况下,通过基于相互作用主体的最新的2个以上的过去的状态的线性外插,推定相互作用主体的当前状态。另外,也可以使多个主体模拟器分别在所存储的相互作用主体的过去的状态的数量为1个的情况下,将相互作用主体的唯一的过去的状态推定为相互作用主体的当前状态。在本公开的方法中,也可以使多个主体包括具有时间粒度不同的种类的多种主体。在该情况下,也可以使多个主体模拟器分别以与对象主体的时间粒度相应的发送时间间隔,向所述中央控制器发送消息。
19.发明的效果
20.根据本公开的多主体模拟系统以及方法,基于从中央控制器发送的消息所生成的相互作用主体的状态被进行存储,根据所存储的相互作用主体的过去的状态,推定相互作用主体的当前状态。并且,使用所推定的相互作用主体的当前状态,进行对象主体的当前状态的模拟。由此,即使在经由了中央控制器的主体模拟器间的消息的收发存在时间延迟,另外,即使消息的发送定时在主体模拟器间存在偏离,也能够精度良好地进行对象主体的当前状态的模拟。
附图说明
21.图1是表示本公开的实施方式涉及的多主体模拟系统的概要的图。
22.图2是表示本公开的实施方式涉及的多主体模拟系统的概要的图。
23.图3是表示本公开的实施方式涉及的多主体模拟系统的概要的图。
24.图4是表示本公开的实施方式涉及的多主体模拟系统的构成的框图。
25.图5是表示本公开的实施方式涉及的行人主体用的主体模拟器的构成和信息流的
框图。
26.图6是表示本公开的实施方式涉及的自主移动体主体用的主体模拟器的构成和信息流的框图。
27.图7是表示本公开的实施方式涉及的vr行人主体用的主体模拟器的构成和信息流的框图。
28.图8是表示本公开的实施方式涉及的路侧传感器主体用的主体模拟器的构成和信息流的框图。
29.图9是表示本公开的实施方式涉及的移动消息分发器的构成和信息流的框图。
30.图10是表示本公开的实施方式涉及的多主体模拟系统的模拟结果的汇总和用于评价的构成的框图。
31.图11是表示本公开的实施方式涉及的多主体模拟系统的物理构成的例子的图。
32.标号说明
33.2 虚拟世界(模拟对象世界)
34.4a、4b、4c 主体
35.10 计算机
36.30、32 子网
37.40 网关
38.100 多主体模拟系统
39.200 主体模拟器
40.201 行人主体用主体模拟器
41.202 自主机器人/车辆主体用主体模拟器
42.203 vr行人主体用主体模拟器
43.204 路侧传感器主体用主体模拟器
44.210 收发控制器
45.220 3d物理引擎
46.230 服务系统客户端模拟器
47.240 模拟器核
48.300 中央控制器
49.310 移动消息分发器
50.320 模拟编排器
51.400 服务系统用后端服务器
具体实施方式
52.以下,参照附图对本公开的实施方式进行说明。但是,在以下所示的实施方式中,在提及了各要素的个数、数量、量、范围等的数的情况下,除了特别地明示了的情况、在原理上明显被确定为该数的情况之外,本公开涉及的思想并不限定于该所提及的数。另外,对于在以下所示的实施方式中说明的构造等,除了特别地明示了的情况、在原理上明显被确定为此的情况之外,并一定是本公开涉及的思想所必需的。
53.1.多主体模拟系统的概要
54.使用图1~图3对本公开的实施方式涉及的多主体模拟系统的概要进行说明。以下,将多主体模拟系统省略地记载为mas系统。
55.1-1.mas系统的构成和功能的概略
56.图1表示本实施方式的mas系统100的概略构成。mas系统100通过使多个主体4a、4b、4c相互作用,对作为模拟对象的世界(模拟对象世界)2进行模拟。并不限定于本公开的mas系统的模拟对象世界。本实施方式的mas系统100将如下世界作为模拟对象世界2,该世界是人与进行自主移动的移动体、例如机器人和车辆共存并能够接受使用了进行自主移动的移动体的各种各样的服务提供的世界。作为在模拟对象世界2中提供的服务,例如可以举出使用了自主驾驶车辆的按需(on-demand)巴士、定期运行型巴士等的移动性服务、使用自主移动型的机器人配送货物的物流服务。
57.模拟对象世界2由大量的多种主体构成。构成模拟对象世界2的主体包括表示移动物体的主体和表示安置物体的主体。作为表示为主体的移动物体,可例示行人、机器人、低速移动体(mobility)、车辆、实际存在的人使用vr系统来参加的行人、电梯等。作为表示为主体的安置物体,可例示包括摄像头的传感器、自动门等。
58.但是,在图1中,为了使说明容易理解,在模拟对象世界2仅表示有3个主体4a、4b、4c。其中,主体4a、4b表示机器人,主体4c表示行人。也即是,在图1所示的模拟对象世界2中表示有机器人和行人这两种主体。此外,主体4a和主体4b属于机器人这一相同的类目,但在大小、形状、行驶速度、动作等具有差异。由此,对于主体4a和主体4b,在作为行人的主体4c能够从该主体4a和主体4b取得的视觉信息中存在差异。以下,在本说明书内,将主体4a简单记载为主体a。同样地,将主体4b简单记载为主体b,将主体4c简单记载为主体c。另外,在以下中,将作为虚拟世界的模拟对象世界2与现实世界区别地称为虚拟世界2。
59.mas系统100具备多个主体模拟器200。主体模拟器200按主体a、b、c而设置。以下,在对各主体模拟器200进行区别的情况下,将对主体a的状态进行模拟的主体模拟器200记载为主体模拟器a。同样地,将对主体b、c的状态进行模拟的主体模拟器200记载为主体模拟器b、c。各主体模拟器200具有与作为对象的主体的种类相应的构成差异。例如,机器人主体b、c的主体模拟器b、c具有相互类似的构成,但行人主体a的主体模拟器a具有与主体模拟器b、c不同的构成。对于主体的不同种类的主体模拟器200的构成,将随后进行详细的描述。
60.主体模拟器200一边通过消息的交换来使主体a、b、c彼此相互作用,一边对各主体a、b、c的状态进行模拟。在主体模拟器200间交换的消息包括与主体在虚拟世界2内的位置、移动有关的信息(移动信息)。移动信息包括与关于主体的位置、移动的现状以及将来计划有关的信息。与现状有关的信息例如是指当前时刻的位置、方向、速度、加速度。与将来计划有关的信息例如是指将来时刻的位置、方向、速度以及加速度的列表。以下,将在主体模拟器200间交换的与主体的位置、移动有关的消息称为移动消息。
61.主体模拟器200基于周围主体的状态,运算作为模拟对象的对象主体(自身主体)的状态。周围主体是存在于自身主体的周围、与自身主体相互作用的相互作用主体。并且,表示周围主体的状态的信息是移动消息。各主体模拟器200通过与其他主体模拟器200相互交换移动消息,能够掌握周围主体的状态。
62.在图1所示的例子中,主体模拟器a根据从主体模拟器b、c收取的移动消息来掌握主体b、c的状态,基于主体b、c的状态对主体a的状态进行更新。并且,主体模拟器a向主体模
拟器b、c发送移动消息,该移动消息表示被进行了更新的主体a的状态。在主体模拟器b、c中也进行同样的处理。由此,一边使主体a、b、c彼此相互作用,一边对各主体a、b、c的状态进行模拟。
63.通过主体模拟器200进行的主体的状态更新具有以一定的时间间隔进行更新的方法、和在检测到某些事件的情况下进行更新的方法。但是,即使是后者的方法,当状态很长时间不被更新时,会对周围主体的影响大,因此,也进行如下处理:强制地产生事件以使得按一定时间间隔对状态进行更新。通过主体模拟器200进行的主体的状态更新的时间间隔被称为时间粒度。
64.在作为mas系统100的模拟对象的虚拟世界2中存在大量的主体。但是,它们的时间粒度并不相同。假如设为全部主体的时间粒度相同,为了维持mas的执行性能,各主体的时间粒度需要与状态的变化速度最快的对象相匹配地进行设定。但是,在该情况下,对于对象的状态的变化速度慢的主体,以比所需要的时间粒度小的时间粒度进行运算。在mas中,通过移动消息的交换来进行主体间的相互作用,因此,若时间粒度变小,则移动消息的发送时间间隔也相应地变短。其结果,在系统整体上,移动消息的量会增大,会浪费计算资源。
65.于是,在mas系统100中,主体的时间粒度根据主体的种类而不同。例如,现实的世界中的行人的步行速度为1m/sec左右。因而,在主体为行人的情况下,时间粒度可以为1sec量级或者100msec量级。另一方面,在主体为机器人的情况下,即使大也希望是100msec量级的时间粒度、,优选是10msec量级的时间粒度。这是由于与行人相比,机器人被要求更快、且更准确的动作。在现实的世界中,当不以对机器人所要求的动作速度越快、则越短的时间间隔进行控制时,控制自身变为不成立。这也适用于模拟,若不根据所要求的动作速度来减小时间粒度,则无法对所要求的动作进行模拟。
66.在图1所示的例子中,虚拟世界2中的机器人主体a、b的时间粒度为20msec,行人主体c的时间粒度设为100msec。各主体模拟器a、b、c以与所负责的主体a、b、c的时间粒度相应的控制周期执行模拟。此外,图1所示的两个机器人主体a、b的时间粒度相同,但即使是相同种类的主体,也存在根据其目的来对时间粒度设置差异的情况。
67.在mas系统100中,通过主体模拟器200间的移动消息的交换来执行模拟。但是,不在主体模拟器200间直接进行用于模拟的移动消息的交换。mas系统100具备与主体模拟器200进行通信的中央控制器300。移动消息由中央控制器300进行中继,被在主体模拟器200间进行交换。
68.在图1所示的例子中,中央控制器300接收从主体模拟器a输出的移动消息。并且,中央控制器300对主体模拟器b、c发送主体模拟器a的移动消息。同样地,主体模拟器b的移动消息通过中央控制器300被发送至主体模拟器a、c,主体模拟器c的移动消息通过中央控制器300被发送至主体模拟器a、b。
69.1-2.mas系统中的移动消息的交换的概要
70.图2表示在mas系统100中进行的移动消息的交换的概要。在mas系统100中,各主体模拟器200在主体模拟器200间不是以相同的时间间隔,而是以与所模拟的主体的时间粒度相应的时间间隔发送移动消息。当设为各主体a、b、c的时间粒度为图1所示那样时,主体模拟器a、b以20msec的时间间隔发送移动消息,主体模拟器c以100msec的时间间隔发送移动消息。
71.从各主体模拟器a、b、c接收到移动消息的中央控制器300通过广播对所接收到的移动消息按其原有的时间间隔进行发送。由此,来自主体模拟器b的移动消息被以20msec的时间间隔发送至主体模拟器a,并且,来自主体模拟器c的移动消息被以100msec的时间间隔发送至主体模拟器a。同样地,来自主体模拟器a的移动消息被以20msec的时间间隔发送至主体模拟器b,并且,来自主体模拟器c的移动消息被100msec的时间间隔发送至主体模拟器b。另外,来自主体模拟器a、b的移动消息被以20msec的时间间隔发送至主体模拟器c。
72.如上所述,在mas系统100中,各主体模拟器200在主体模拟器200间不是以相同的发送时间间隔,而是以与所模拟的主体的时间粒度相应的发送时间间隔发送移动消息。由此,能够在维持mas的执行性能的同时,抑制在主体模拟器200间交换的消息量的增大。另外,中央控制器300对所接收到的移动消息按其原有的时间间隔进行发送,因此,能够防止旧的移动消息比新的移动消息先到达发送目的地的主体模拟器200。进一步,通过使用广播来作为中央控制器300的移动消息的发送方法,能降低中央控制器300的负荷。
73.在现实的世界中,某实体的当前状态由与相互作用的其他实体的当前状态的关系来决定。由此,为了对虚拟世界2中的主体的当前状态进行模拟,希望得到与相互作用的周围主体的当前状态有关的信息。但是,在mas系统100中,由于所负责的主体的时间粒度的差异,发送移动消息的发送时间间隔在主体模拟器200间存在差异。另外,移动消息的发送是以离散的方式进行的,因此,有时即使是在发送时间间隔相同的主体模拟器200之间,交换移动消息的定时也会偏离。进一步,有时也依赖于cpu的处理能力、网络容量,会在经由了中央控制器300的主体模拟器200间的移动消息的收发中产生时间延迟。
74.于是,在mas系统100中,在各主体模拟器200对所负责的自身主体的当前状态进行模拟时,执行以下的第1处理~第6处理。
75.在第1处理中,主体模拟器200基于从中央控制器300发送的移动消息,生成取得移动消息的时刻的周围主体的状态。在第2处理中,主体模拟器200将在第1处理中生成的周围主体的状态存储于存储器。
76.在第3处理中,主体模拟器200根据在第2处理中存储于存储器的周围主体的过去状态,推定周围主体的当前状态。在存储于存储器的周围主体的过去状态的数量为2个以上的情况下,主体模拟器200通过基于周围主体的最新的两个以上的过去状态的线性外插,推定周围主体的当前状态。在存储于存储器的周围主体的过去状态的数量为一个的情况下,主体模拟器200将周围主体的唯一的过去状态推定为周围主体的当前状态。
77.在第4处理中,主体模拟器200使用在第3处理中推定的周围主体的当前状态,对自身主体的当前状态进行模拟。在第5处理中,主体模拟器200基于在第4处理中进行了模拟的自身主体的当前状态来制作移动消息。并且,在第6处理中,主体模拟器200向中央控制器300发送在第5处理中制作的移动消息。
78.在mas系统100中,如以上那样的处理由各主体模拟器200来执行。由此,即使经由了中央控制器300的主体模拟器200间的移动消息的收发存在时间延迟,也能够精度良好地对各主体的当前状态进行模拟。另外,即使在发送移动消息的定时在主体模拟器200间存在偏差,也能够精度良好地对各主体的当前状态进行模拟。进一步,即使因主体间的时间粒度的差异而发送移动消息的发送时间间隔在主体模拟器200间存在差异,也能够精度良好地对各主体的当前状态进行模拟。
79.1-3.mas系统中的移动消息的交换的详细
80.图3表示在mas系统100中进行的主体模拟器a、b、c间的移动消息的交换的详细。但是,为了使说明简单,在主体模拟器a、b、c间对移动消息的收发进行中继的中央控制器300被省略。当设为各主体a、b、c的时间粒度为图1所示那样时,主体模拟器a、b以20msec的时间间隔发送移动消息,主体模拟器c以100msec的时间间隔发送移动消息。
81.在此,在主体模拟器a与主体模拟器b之间允许12msec的时间延迟。在主体模拟器a与主体模拟器c之间允许14msec的时间延迟。并且,在主体模拟器b与主体模拟器c之间允许10msec的时间延迟。
82.各主体模拟器a、b、c在时刻t=0开始模拟。但是,作为主体模拟器a、b、c发挥功能的计算机的内部时钟的时间不必须一致。因此,有时模拟的开始时刻会在主体模拟器a、b、c间产生偏离。在mas系统100中,以模拟的开始时刻的偏离为前提,进行主体模拟器a、b、c间的移动消息的交换。
83.在图3中,a(t)是表示时刻t的主体a的状态的移动消息。b(t)是表示时刻t的主体b的状态的移动消息。并且,c(t)是表示时刻t的主体c的状态的移动消息。以下,以时间顺序对主体模拟器a、b、c的处理进行说明。
84.首先,从各主体模拟器a、b、c发送表示各主体a、b、c的初始状态的移动消息a(0)、b(0)、c(0)。在初始状态下,各主体模拟器a、b、c无法识别周围主体的存在,因此,在不存在周围主体的假定下生成移动消息a(0)、b(0)、c(0)。
85.主体模拟器a的下一次的发送时刻为时刻t=20。主体模拟器a在时刻t=20之前接收移动消息b(0)和c(0)。主体模拟器a从移动消息b(0)识别时刻t=0的主体b的状态,将主体b的时刻t=0的状态推定为主体b的当前状态。另外,主体模拟器a从移动消息c(0)识别时刻t=0的主体c的状态,将主体c的时刻t=0的状态推定为主体c的当前状态。主体模拟器a通过使用了所推定的主体b、c的状态的模拟,生成主体a的时刻t=20的状态,向主体模拟器b、c发送移动消息a(20)。
86.主体模拟器a的下一次的发送时刻为时刻t=40。主体模拟器a在时刻t=40之前从主体模拟器b新接收移动消息b(20)。主体模拟器a从移动消息b(20)识别时刻t=20的主体b的状态,通过基于时刻t=0和时刻t=20的主体b的状态的线性外插,推定主体b的当前状态。另外,主体模拟器a将主体c的时刻t=0的状态推定为主体c的当前状态。主体模拟器a通过使用了所推定的主体b、c的状态的模拟,生成主体a的时刻t=40的状态,向主体模拟器b、c发送移动消息a(40)。
87.主体模拟器a的下一次的发送时刻为时刻t=60。主体模拟器a在时刻t=60之前从主体模拟器b新接收移动消息b(40),但未从主体模拟器c接收新的移动消息c。因此,主体模拟器a通过基于时刻t=20和时刻t=40的主体b的状态的线性外插,推定主体b的当前状态,另一方面,将主体c的时刻t=0的状态推定为主体c的当前状态。主体模拟器a通过使用了所推定的主体b、c的状态的模拟,生成主体a的时刻t=60的状态,向主体模拟器b、c发送移动消息a(60)。
88.主体模拟器a的下一次的发送时刻为时刻t=80。主体模拟器a在时刻t=80之前从主体模拟器b新接收移动消息b(60),但未从主体模拟器c接收新的移动消息c。因此,主体模拟器a通过基于时刻t=40和时刻t=60的主体b的状态的线性外插,推定主体b的当前状态,
另一方面,将主体c的时刻t=0的状态推定为主体c的当前状态。主体模拟器a通过使用了所推定的主体b、c的状态的模拟,生成主体a的时刻t=80的状态,向主体模拟器b、c发送移动消息a(80)。
89.主体模拟器a的下一次的发送时刻为时刻t=100。主体模拟器a在时刻t=100之前从主体模拟器b新接收移动消息b(80),但未从主体模拟器c接收新的移动消息c。因此,主体模拟器a通过基于时刻t=60和时刻t=80的主体b的状态的线性外插,推定主体b的当前状态,另一方面,将主体c的时刻t=0的状态推定为主体c的当前状态。主体模拟器a通过使用了这样推定的主体b、c的状态的模拟,生成主体a的时刻t=100的状态,向主体模拟器b、c发送移动消息a(100)。
90.主体模拟器a的下一次的发送时刻为时刻t=120。主体模拟器a在时刻t=120之前从主体模拟器b新接收移动消息b(100),从主体模拟器c也新接收移动消息c(100)。主体模拟器a从移动消息b(100)识别时刻t=100的主体b的状态,通过基于时刻t=80和时刻t=100的主体b的状态的线性外插,推定主体b的当前状态。另外,主体模拟器a从移动消息c(100)识别时刻t=100的主体c的状态,通过基于时刻t=0和时刻t=100的主体c的状态的线性外插,推定主体c的当前状态。主体模拟器a通过使用了这样推定的主体b、c的状态的模拟,生成主体a的时刻t=120的状态,向主体模拟器b、c发送移动消息a(120)。
91.主体模拟器a的下一次的发送时刻为时刻t=140。主体模拟器a在时刻t=140之前从主体模拟器b新接收移动消息b(120)。因此,主体模拟器a通过基于时刻t=100和时刻t=120的主体b的状态的线性外插,推定主体b的当前状态。另一方面,未从主体模拟器c接收新的移动消息c。由此,主体模拟器a通过基于时刻t=0和时刻t=100的主体c的状态的线性外插,推定主体c的当前状态。主体模拟器a通过使用了这样推定的主体b、c的状态的模拟,生成主体a的时刻t=140的状态,向主体模拟器b、c发送移动消息a(140)。
92.主体模拟器b通过与主体模拟器a同样的处理,生成主体b的时刻t=20、40、60、80、100、120、140的状态。并且,向主体模拟器a、c发送表示各时刻的状态的移动消息b(20)、b(40)、b(60)、b(80)、b(100)、b(120)、b(140)。
93.主体模拟器c的下一次的发送时刻为时刻t=100。主体模拟器c在时刻t=100之前从主体模拟器a接收移动消息a(0)、a(20)、a(40)、a(60)、a(80)。主体模拟器c通过基于最新的两个过去状态、即时刻t=60和时刻t=80的主体a的状态的线性外插,推定主体a的当前状态。另外,主体模拟器c在时刻t=100之前从主体模拟器b接收移动消息b(0)、b(20)、b(40)、b(60)、b(80)。主体模拟器c通过基于最新的两个过去状态、即时刻t=60和时刻t=80的主体b的状态的线性外插,推定主体b的当前状态。主体模拟器c通过使用了这样推定的主体a、b的状态的模拟,生成主体c的时刻t=100的状态,向主体模拟器a、b发送移动消息c(100)。
94.2.mas系统的整体构成和信息流
95.以下,使用图4对mas系统100的整体构成和信息流进行说明。如图4所示,mas系统100具备多个主体模拟器200、一个中央控制器300以及多个服务系统用的后端服务器400。详细将在后面进行描述,它们分散地设置于多个计算机。也即是,mas系统100是以通过多个计算机进行的并行分散处理为前提的系统。
96.中央控制器300作为其功能而具备移动消息分发器310和模拟编排器320。中央控
制器300是安装于计算机的应用软件。移动消息分发器310和模拟编排器320是构成应用软件的程序。中央控制器300也可以与一个或者多个主体模拟器200共用作为硬件的计算机,但优选专用一个计算机。
97.移动消息分发器310对主体模拟器200间的移动消息的收发进行中继。在主体模拟器200与移动消息分发器310之间由实线表示的信息流表示移动消息流。移动消息分发器310承担中央控制器300具备的上述的移动消息的交换功能。移动消息分发器310与构成mas系统100的全部主体模拟器200之间进行通信。
98.模拟编排器(simulation conductor)320通过与主体模拟器200之间的模拟控制消息的交换来对主体模拟器200的模拟进行控制。在主体模拟器200与模拟编排器320之间由虚线表示的信息流是模拟控制消息流。模拟编排器320与构成mas系统100的全部主体模拟器200之间进行通信,对模拟控制消息进行交换。与经由移动消息分发器310在多个主体模拟器200间交换移动消息不同,模拟控制消息被在模拟编排器320与各个主体模拟器200之间个别地进行交换。通过模拟控制消息的交换,例如对模拟速度、模拟的停止、模拟的暂停、模拟的重新开始以及模拟的时间粒度进行控制。相对于在mas系统100整体上对模拟速度进行控制,模拟的停止、模拟的暂停、模拟的重新开始以及模拟的时间粒度被按主体模拟器200来进行控制。
99.后端服务器400是与在现实世界的服务系统中实际使用的服务器相同的后端服务器。通过将现实世界的后端服务器400代入虚拟世界,能够高精度地对通过服务系统提供的服务进行模拟。作为由mas系统100模拟的服务,例如可以举出使用了自主驾驶车辆的按需巴士、定期运行型巴士等的移动性服务、使用自主移动型的机器人来配送货物的物流服务。另外,在mas系统100中模拟的服务例如是通过用户在用户终端中对服务应用程序进行操作而变得能够利用的服务。
100.mas系统100具备不同的服务系统用的多个后端服务器400,能够在虚拟世界2中同时模拟多种服务。服务的模拟通过后端服务器400与主体模拟器200之间的服务消息的交换来进行。在主体模拟器200与后端服务器400之间由点线表示的信息流表示服务消息流。各后端服务器400与关系到服务的提供的主体模拟器200之间交换服务消息。
101.被进行交换的服务消息的内容根据主体模拟器200负责的主体的种类而不同。例如,在主体是利用服务的用户(行人)的情况下,后端服务器400从主体模拟器200接收包括服务利用信息的服务消息,向主体模拟器200发送包括服务提供状态信息的服务消息。服务利用信息是指与关于用户的服务系统的利用的现状以及将来计划有关的信息,包括当前的利用状态和基于应用程序操作的输入信息。服务提供状态信息是指与服务系统中的用户的状态有关的信息,是通过用户终端的服务应用程序来提供的信息。
102.在主体为在服务的提供中所使用的自主机器人、自主车辆的情况下,后端服务器400从主体模拟器200接收包括动作状态信息的服务消息,向主体模拟器200发送包括动作指示信息的服务消息。动作状态信息是指与自主机器人、自主车辆的现状以及将来计划有关的信息。与现状有关的信息例如是指与搭载传感器的状态、测定数据、搭载致动器的状态、行动决定有关的状态。与将来计划有关的信息例如是指将来时刻、致动器的状态、与行动决定有关的状态的列表。动作指示信息是包括用于使用自主机器人、自主车辆来提供服务的将来计划的全部或者一部分的信息。例如,自主机器人、自主车辆应该移动的目标地
点、路径包含于动作指示信息。
103.存在于虚拟世界2的主体包括如包括摄像头的路侧传感器、自动门那样的安置物体。例如在主体为固定摄像头的情况下,后端服务器400从主体模拟器200接收服务消息,该服务消息包括自主机器人的位置信息的计算所需要的固定摄像头的图像信息。另外,在主体为自动门的情况下,后端服务器400向主体模拟器200发送服务消息,该服务消息包括用于自主机器人的通行的开门的指示。
104.另外,后端服务器400与其他的后端服务器400之间根据各个协定(约定)进行服务消息的交换。在后端服务器400间由点线表示的信息流表示服务消息流。此时被进行交换的服务消息例如包括各个服务中的用户的利用状态、服务的提供状况。通过在多个后端服务器400间对服务消息进行交换,能够使在虚拟世界2中提供的服务相互协作。
105.作为多个服务的协作的一个例子,可以举出按需巴士服务和物流服务的协作,物流服务是自主机器人代替用户来将货物从巴士停靠站运送到自家。在按需巴士服务中,用户能够在所希望的时刻在所希望的场所从巴士下车。通过使按需巴士服务和物流服务进行协作,能够使自主机器人在用户到达之前到达下车场所,使之在下车场所等待用户的到达。另外,在因拥堵等而巴士晚了的情况下、用户没赶上巴士的情况下,通过在后端服务器400间交换服务消息,能够使自主机器人去往下车场所的时间与用户的到达时间相匹配。
106.主体模拟器200根据所负责的主体的种类而存在多个种类。例如,存在行人主体用的主体模拟器201、自主机器人/车辆主体用的主体模拟器202、vr行人主体用的主体模拟器203以及路侧传感器主体用的主体模拟器204。以下,主体模拟器200设为这些多种主体模拟器201、202、203、204的总称。
107.主体模拟器200作为其功能而具备收发控制器210、3d物理引擎220、服务系统客户端模拟器230以及模拟器核240。主体模拟器200是安装于计算机的应用软件。收发控制器210、3d物理引擎220、服务系统客户端模拟器230以及模拟器核240是构成应用软件的程序。这些功能在主体模拟器201、202、203、204之间不同。在此,对主体模拟器201、202、203、204间大致共同的功能进行说明,关于各个主体模拟器201、202、203、204的功能的详细,将在后面进行描述。
108.收发控制器210是主体模拟器200与其他程序之间的接口。收发控制器210进行来自移动消息分发器310的移动消息的接收和向移动消息分发器310的移动消息的发送。但是,在主体模拟器204中,仅进行移动消息的接收。收发控制器210进行来自模拟编排器320的模拟控制消息的接收和向模拟编排器320的模拟控制消息的发送。另外,收发控制器210进行来自后端服务器400的服务消息的接收和向后端服务器400的服务消息的发送。但是,在主体模拟器204中仅进行服务消息的发送。
109.3d物理引擎220基于从其他主体模拟器200接收到的移动消息,推定三维空间中的周围主体的当前状态。由3d物理引擎220进行使用图3说明过的基于周围主体的过去状态的当前状态的推定。3d物理引擎220基于周围主体的当前状态,生成在从自身主体的观测中得到的周边信息。另外,3d物理引擎220基于后述的模拟器核240的模拟结果,对三维空间中的自身主体的状态进行更新,生成表示了自身主体的状态的移动消息。但是,在主体模拟器204中,所负责的主体是不动的,因此,不进行自身主体的状态的更新和移动消息的生成。
110.服务系统客户端模拟器230对后端服务器400涉及的作为服务系统的客户端的自
身主体的举止进行模拟。由收发控制器210接收到的服务消息被输入到服务系统客户端模拟器230。并且,从收发控制器210发送由服务系统客户端模拟器230生成的服务消息。但是,在主体模拟器204中,仅进行服务消息的生成。
111.模拟器核240对下一时间步中的自身主体的状态进行模拟。算出自身主体的状态的时间步的时间间隔为上述的时间粒度。模拟器核240中的模拟的内容按主体模拟器200的种类而不同。此外,主体模拟器204由于所负责的主体是不动的,不需要自身主体的状态的模拟,因此,没有模拟器核240。
112.3.主体模拟器的详细构成和信息流
113.接着,使用图5~图8对构成mas系统100的各种主体模拟器201、202、203、204的详细构成和信息流进行说明。此外,在图5~图8中,由实线表示的块(block)间的信息流表示移动消息流。另外,由点线表示的块间的信息流表示服务消息流。并且,由虚线表示的块间的信息流表示模拟控制消息流。
114.3-1.行人主体用主体模拟器
115.图5是表示行人主体用的主体模拟器201的构成和信息流的框图。以下,对行人主体用的主体模拟器201的整体构成和各部的详细以及主体模拟器201中的信息流进行说明。
116.3-1-1.行人主体用主体模拟器的整体构成
117.主体模拟器201作为其功能而具备收发控制器211、3d物理引擎221、服务系统客户端模拟器231以及模拟器核241。这些功能作为概念而分别包含于收发控制器210、3d物理引擎220、服务系统客户端模拟器230以及模拟器核240。
118.收发控制器211作为接收各种消息的功能而具备移动消息接收部211a、服务消息接收部211b以及控制消息接收部211c。另外,收发控制器211作为发送各种消息的功能而具备移动消息发送部211d、服务消息发送部211e以及控制消息发送部211f。进一步,收发控制器211具备剩余时间率算出部211g和模拟动作控制部211h。构成收发控制器211的各部211a~211h分别是程序或者程序的一部分。
119.3d物理引擎221作为其功能而具备周围主体状态更新部221a、视觉信息生成部221b以及自身主体状态更新部221c。构成3d物理引擎221的各部221a、221b、221c分别为程序或者程序的一部分。
120.服务系统客户端模拟器231作为其功能而具备服务提供状态信息处理部231a和服务利用信息生成部231b。构成服务系统客户端模拟器231的各部231a、231b分别是程序或者程序的一部分。
121.模拟器核241作为其功能而具备整体移动方针决定部241a、行动决定部241b、下一时间步状态算出部241d、服务利用行动决定部241e以及速度调整部241g。构成模拟器核241的各部241a、241b、241d、241f、241g分别是程序或者程序的一部分。
122.3-1-2.收发控制器的详细
123.在收发控制器211中,移动消息接收部211a从移动消息分发器310取得移动消息。移动消息接收部211a向3d物理引擎221的周围主体状态更新部221a输出所接收到的移动消息。另外,移动消息接收部211a向剩余时间率算出部211g输出包括接收到移动消息的时刻的信息。
124.服务消息接收部211b从后端服务器400接收服务消息。服务消息接收部211b向服
务系统客户端模拟器231的服务提供状态信息处理部231a输出所接收到的服务消息。
125.控制消息接收部211c从模拟编排器320接收模拟控制消息。控制消息接收部211c向模拟动作控制部211h输出所接收到的模拟控制消息。
126.移动消息发送部211d从3d物理引擎221的自身主体状态更新部221c取得包括自身主体的当前状态的移动消息。移动消息发送部211d向移动消息分发器310发送所取得的移动消息。另外,移动消息发送部211d向剩余时间率算出部211g发送包括移动消息的发送完成时刻的信息。
127.服务消息发送部211e从服务系统客户端模拟器231的服务利用信息生成部231b取得包括服务利用信息的服务消息。服务消息发送部211e向后端服务器400发送所取得的服务消息。
128.控制消息发送部211f从剩余时间率算出部211g取得包括与模拟的速度状况有关的信息的模拟控制消息。另外,控制消息发送部211f从模拟动作控制部211h取得包括主体模拟器201的控制状态的模拟控制消息。控制消息发送部211f向模拟编排器320发送从剩余时间率算出部211g和模拟动作控制部211h取得的模拟控制消息。
129.剩余时间率算出部211g从移动消息接收部211a取得包括移动消息的接收时刻的信息。另外,剩余时间率算出部211g从移动消息发送部211d取得包括移动消息的发送完成时刻的信息。进一步,剩余时间率算出部211g从模拟器核241的下一时间步状态算出部241d取得用于自身主体的状态更新的计算的开始时刻。
130.在此,将用于本次时间步中的自身主体的状态更新的计算的开始时刻设为ta(n)。将用于下一时间步中的自身主体的状态更新的计算的开始时刻设为ta(n 1)。将下一时间步中的自身主体的状态更新的计算所需要的其他主体的移动消息中的最后接收到的移动消息的接收时刻设为te_last(n)。将下下一时间步中的自身主体的状态更新的计算所需要的其他主体的移动消息中的最初接收到的移动消息的接收时刻设为te_first(n 1)。另外,将本次时间步中的移动消息的发送完成时刻作为td(n)。
131.剩余时间率算出部211g通过以下的各式来计算剩余时间、剩余时间率以及延迟时间。
132.剩余时间=ta(n 1)-te_last(n)
133.剩余时间率=(ta(n 1)-te_last(n))/(ta(n 1)-ta(n))
134.延迟时间=td(n)-te_first(n 1)
135.剩余时间率算出部211g向控制消息发送部211f输出包括剩余时间、剩余时间率以及延迟时间的模拟控制消息。剩余时间、剩余时间率以及延迟时间是与模拟的速度状况有关的信息。接收到包括这些信息的模拟控制消息的模拟编排器320决定应该对主体模拟器201指示的控制内容。应该对主体模拟器201指示的控制内容例如是指模拟速度、模拟的停止、模拟的暂停以及模拟的重新开始。模拟编排器320制作包括应该指示的控制内容的模拟控制消息,并发送给主体模拟器201。
136.模拟动作控制部211h从控制消息接收部211c取得模拟控制消息。模拟动作控制部211h按照模拟控制消息所包括的指示,对主体模拟器201的模拟动作进行控制。例如在被指示了模拟的时间粒度的变更的情况下,模拟动作控制部211h将主体模拟器201的模拟的时间粒度从初始值变更为所被指示了的时间粒度。时间粒度的初始值被作为设定值来存储于
主体模拟器201。另外,时间粒度的上限值和下限值被按主体的种类而存储于模拟编排器320。
137.在基于模拟控制消息的指示内容为模拟速度的情况下,模拟动作控制部211h使3d物理引擎221、模拟器核241的动作频率变化,使模拟速度进行加速或者减速。例如对于模拟器核241,向模拟器核241的速度调整部241g输出所被指示了的模拟速度。此外,模拟速度意味着虚拟世界2的时间流相对于现实世界的时间流的速度比。在被指示了模拟的停止的情况下,模拟动作控制部211h使主体模拟器201的模拟停止。在被指示了模拟的暂停的情况下使模拟暂停,在被指示了重新开始的情况下使模拟重新开始。模拟动作控制部211h向控制消息发送部211f输出包括主体模拟器201的当前的控制状态的模拟控制消息。
138.3-1-3.3d物理引擎的详细
139.在3d物理引擎221中,周围主体状态更新部221a从移动消息接收部211a取得移动消息。从移动消息接收部211a取得的移动消息是经由移动消息分发器310从其他主体模拟器发送了的移动消息。周围主体状态更新部221a基于所取得的移动消息,推定存在于自身主体的周围的周围主体的当前状态。
140.在根据过去状态推定周围主体的当前状态的情况下,周围主体状态更新部221a使用保存于日志的周围主体的过去状态。使用周围主体的过去状态来推定当前状态的方法为如使用图3说明过的那样。周围主体状态更新部221a向视觉信息生成部221b输出所推定的周围主体的当前状态,并且,对日志进行更新。
141.视觉信息生成部221b从周围主体状态更新部221a取得周围主体的当前状态。视觉信息生成部221b基于周围主体的当前状态,生成在从自身主体的观测中得到的周边信息。自身主体为行人,因此,在观测中得到的周边信息意味着由行人的眼睛捕捉到的视觉信息。视觉信息生成部221b向模拟器核241的整体移动方针决定部241a、行动决定部241b以及服务利用行动决定部241e输出所生成的视觉信息。
142.自身主体状态更新部221c从模拟器核241的下一时间步状态算出部241d取得由模拟器核241进行了模拟的下一时间步中的自身主体的状态。自身主体状态更新部221c基于模拟器核241的模拟结果,对三维空间中的自身主体的状态进行更新。自身主体状态更新部221c向收发控制器211的移动消息发送部211d输出包括被进行了更新的自身主体的状态的移动消息。移动消息所包括的自身主体的状态包括本次时间步中的位置、方向、速度、加速度和下一时间步中的位置、方向、速度、加速度。另外,自身主体状态更新部221c向服务系统客户端模拟器231的服务利用信息生成部231b输出与被进行了更新的自身主体的状态有关的信息。
143.3-1-4.服务系统客户端模拟器的详细
144.在服务系统客户端模拟器231中,服务提供状态信息处理部231a从服务消息接收部211b取得服务消息。从服务消息接收部211b取得的服务消息包括服务提供状态信息。服务提供状态信息处理部231a对服务提供状态信息进行处理,取得与作为服务系统的用户的自身主体的状态有关的信息、和向用户终端的服务应用程序的输入项目。与作为自身主体的用户的状态有关的信息是在用户终端所提示的信息,输入项目是为了自身主体利用服务而被请求输入的信息。服务提供状态信息处理部231a向模拟器核241的整体移动方针决定部241a和服务利用行动决定部241e输出与作为自身主体的用户的状态有关的信息和向用
户终端的服务应用程序的输入项目。
145.服务利用信息生成部231b从模拟器核241的服务利用行动决定部241e取得自身主体的服务利用行动的决定结果。另外,服务利用信息生成部231b从3d物理引擎221的自身主体状态更新部221c取得三维空间中的自身主体的状态。服务利用信息生成部231b基于所取得的这些信息来生成服务利用信息,并且,对自身主体的服务的利用状态进行更新。服务利用信息生成部231b向收发控制器211的服务消息发送部211e输出包括服务利用信息的服务消息。
146.3-1-5.模拟器核的详细
147.在模拟器核241中,整体移动方针决定部241a从3d物理引擎221的视觉信息生成部221b取得视觉信息。另外,整体移动方针决定部241a从服务系统客户端模拟器231的服务提供状态信息处理部231a取得与作为自身主体的用户的状态有关的信息、和向用户终端的服务应用程序的输入项目。整体移动方针决定部241a基于所取得的这些信息,决定自身主体在虚拟世界2中的整体的移动方针。整体移动方针决定部241a向行动决定部241b输出所决定的整体的移动方针。
148.行动决定部241b从整体移动方针决定部241a取得整体的移动方针,并且,从3d物理引擎221的视觉信息生成部221b取得视觉信息。行动决定部241b通过向移动模型241c输入整体的移动方针和视觉信息,决定自身主体的行动。移动模型241c是基于一定的移动方针对行人会根据映现于行人的眼睛的周边状况来如何移动进行了模型化的模拟模型。行动决定部241b向下一时间步状态算出部241d输出所决定的自身主体的行动。
149.下一时间步状态算出部241d取得由行动决定部241b决定的自身主体的行动。下一时间步状态算出部241d基于自身主体的行动,算出下一时间步中的自身主体的状态。所算出的自身主体的状态包括下一时间步中的自身主体的位置、方向、速度以及加速度。下一时间步状态算出部241d向3d物理引擎221的自身主体状态更新部221c输出所算出的下一时间步中的自身主体的状态。另外,下一时间步状态算出部241d向收发控制器211的剩余时间率算出部211g输出用于自身主体的状态更新的计算的开始时刻。
150.服务利用行动决定部241e从3d物理引擎221的视觉信息生成部221b取得视觉信息。另外,服务利用行动决定部241e从服务系统客户端模拟器231的服务提供状态信息处理部231a取得与作为自身主体的用户的状态有关的信息、和向用户终端的服务应用程序的输入项目。服务利用行动决定部241e通过向行动模型241f输入所取得的这些信息,决定自身主体的作为服务系统的用户的行动(服务利用行动)。行动模型241f是对在对用户提示与服务有关的信息、被请求了向用户终端的服务应用程序的输入的情况下用户会根据映现于用户的眼睛的周边状况来如何移动进行了模型化的模拟模型。服务利用行动决定部241e向服务利用信息生成部231b输出所决定的服务利用行动。
151.速度调整部241g从模拟动作控制部211h取得模拟速度。从模拟动作控制部211h取得的模拟速度是由模拟编排器320指示了的模拟速度。速度调整部241g按照来自模拟编排器320的指示,使基于模拟器核241的自身主体的模拟速度加速或者减速。
152.3-2.自主机器人/车辆主体用主体模拟器
153.图6是表示自主机器人/车辆主体用的主体模拟器202的构成和信息流的框图。自主机器人/车辆主体是指在后端服务器400关系到的服务系统中被使用于提供服务的自主
机器人或者自主车辆的主体。以下,对自主机器人/车辆主体用的主体模拟器202的整体构成和各部的详细以及主体模拟器202中的信息流进行说明。
154.3-2-1.自主机器人/车辆主体用主体模拟器的整体构成
155.主体模拟器202作为其功能而具备收发控制器212、3d物理引擎222、服务系统客户端模拟器232以及模拟器核242。这些功能作为概念而分别包含于收发控制器210、3d物理引擎220、服务系统客户端模拟器230以及模拟器核240。
156.收发控制器212作为接收各种消息的功能而具备移动消息接收部212a、服务消息接收部212b以及控制消息接收部212c。另外,收发控制器212作为接收各种消息的功能而具备移动消息发送部212d、服务消息发送部212e以及控制消息发送部212f。进一步,收发控制器212具备剩余时间率算出部212g和模拟动作控制部212h。构成收发控制器211的各部212a~212h分别为程序或者程序的一部分。
157.3d物理引擎222作为其功能而具备周围主体状态更新部222a、传感器信息生成部222b以及自身主体状态更新部222c。构成3d物理引擎222的各部222a、222b、222c分别为程序或者程序的一部分。
158.服务系统客户端模拟器232作为其功能而具备路径计划用信息接收部232a和动作状态信息生成部232b。构成服务系统客户端模拟器232的各部232a、232b分别为程序或者程序的一部分。
159.模拟器核242作为其功能而具备整体的路径计划部242a、局部路径计划部242b、致动器操作量决定部242c以及下一时间步状态算出部242d。构成模拟器核242的各部242a、242b、242c、242d分别为程序或者程序的一部分。
160.3-2-2.收发控制器的详细
161.在收发控制器212中,移动消息接收部212a从移动消息分发器310接收移动消息。移动消息接收部212a向3d物理引擎222的周围主体状态更新部222a输出所接收到的移动消息。另外,移动消息接收部212a向剩余时间率算出部212g输出包括接收到移动消息的时刻的信息。
162.服务消息接收部212b从后端服务器400接收服务消息。服务消息接收部212b向服务系统客户端模拟器232的路径计划用信息接收部232a输出所接收到的服务消息。
163.控制消息接收部212c从模拟编排器320接收模拟控制消息。控制消息接收部212c向模拟动作控制部212h输出所接收到的模拟控制消息。
164.移动消息发送部212d从3d物理引擎222的自身主体状态更新部222c取得包括自身主体的当前状态的移动消息。移动消息发送部212d向移动消息分发器310发送所取得的移动消息。另外,移动消息发送部212d向剩余时间率算出部212g发送包括移动消息的发送完成时刻的信息。
165.服务消息发送部212e从服务系统客户端模拟器232的动作状态信息生成部232b取得包括动作状态信息的服务消息。服务消息发送部212e向后端服务器400发送所取得的服务消息。
166.控制消息发送部212f从剩余时间率算出部212g取得包括与模拟的速度状况有关的信息的模拟控制消息。另外,控制消息发送部212f从模拟动作控制部212h取得包括主体模拟器202的控制状态的模拟控制消息。控制消息发送部212f向模拟编排器320发送从剩余
时间率算出部212g和模拟动作控制部212h取得的模拟控制消息。
167.剩余时间率算出部212g从移动消息接收部212a取得包括移动消息的接收时刻的信息。另外,剩余时间率算出部212g从移动消息发送部212d取得包括移动消息的发送完成时刻的信息。进一步,剩余时间率算出部212g从模拟器核242的下一时间步状态算出部242d取得用于自身主体的状态更新的计算的开始时刻。
168.剩余时间率算出部212g基于所取得的信息,通过上述的各式来计算剩余时间、剩余时间率以及延迟时间。剩余时间率算出部212g向控制消息发送部212f输出包括剩余时间、剩余时间率以及延迟时间的模拟控制消息。接收到包括这些信息的模拟控制消息的模拟编排器320制作包括应该对主体模拟器202进行指示的控制内容的模拟控制消息,并发送给主体模拟器202。
169.模拟动作控制部212h从控制消息接收部212c取得模拟控制消息。模拟动作控制部212h按照模拟控制消息所包含的指示,对主体模拟器202的模拟动作进行控制。例如,在被指示了模拟的时间粒度的变更的情况下,模拟动作控制部212h将主体模拟器202的模拟的时间粒度从初始值变更为所被指示了的时间粒度。时间粒度的初始值被作为设定值来存储于主体模拟器202。另外,时间粒度的上限值和下限值被按主体的种类而存储于模拟编排器320。
170.在基于模拟控制消息的指示内容为模拟速度的情况下,模拟动作控制部212h按照所被指示了的模拟速度,使3d物理引擎222、模拟器核242的动作频率变化,对主体模拟器202的运算速度进行加速或者减速。在被指示了模拟的停止的情况下,模拟动作控制部212h使主体模拟器202的模拟停止。在被指示了模拟的暂停的情况下使模拟暂停,在被指示了重新开始的情况下使模拟重新开始。模拟动作控制部212h向控制消息发送部212f输出包括主体模拟器202的当前的控制状态的模拟控制消息。
171.3-2-3.3d物理引擎的详细
172.在3d物理引擎222中,周围主体状态更新部222a从移动消息接收部212a取得移动消息。从移动消息接收部212a取得的移动消息是经由移动消息分发器310而从其他主体模拟器发送了的移动消息。周围主体状态更新部222a基于所取得的移动消息,推定存在于自身主体的周围的周围主体的当前状态。
173.在根据过去状态推定周围主体的当前状态的情况下,周围主体状态更新部222a使用保存于日志的周围主体的过去状态。使用周围主体的过去状态来推定当前状态的方法为如使用图3说明过的那样。周围主体状态更新部222a向传感器信息生成部222b输出所推定的周围主体的当前状态,并且,对日志进行更新。
174.传感器信息生成部222b从周围主体状态更新部222a取得周围主体的当前状态。传感器信息生成部222b基于周围主体的当前状态,生成在从自身主体的观测中得到的周边信息。自身主体为自主机器人或者自主车辆,因此,在观测中得到的周边信息意味着通过自主机器人或者自主车辆的传感器捕捉的传感器信息。传感器信息生成部222b向模拟器核242的整体的路径计划部242a和服务系统客户端模拟器232的动作状态信息生成部232b输出所生成的传感器信息。
175.自身主体状态更新部222c从模拟器核242的下一时间步状态算出部242d取得通过模拟器核242进行了运算的下一时间步中的自身主体的状态。自身主体状态更新部222c基
于模拟器核242的运算结果,对三维空间中的自身主体的状态进行更新。自身主体状态更新部222c向收发控制器212的移动消息发送部212d输出包括被进行了更新的自身主体的状态的移动消息。移动消息所包括的自身主体的状态包括本次时间步中的位置、方向、速度、加速度和下一时间步中的位置、方向、速度、加速度。另外,自身主体状态更新部222c向服务系统客户端模拟器232的动作状态信息生成部232b输出与被进行了更新的自身主体的状态有关的信息。
176.3-2-4.服务系统客户端模拟器的详细
177.在服务系统客户端模拟器232中,路径计划用信息接收部232a从服务消息接收部211b取得服务消息。从服务消息接收部212b取得的服务消息包括用于服务系统使用自主机器人/车辆提供服务的动作指示信息和与其他服务系统有关的信息。路径计划用信息接收部232a向模拟器核242的整体的路径计划部242a输出动作指示信息和其他服务系统信息。
178.动作状态信息生成部232b从模拟器核242的致动器操作量决定部242c取得自身主体的下一时间步中的致动器操作量。另外,动作状态信息生成部232b从3d物理引擎222的传感器信息生成部222b取得传感器信息,并且,从自身主体状态更新部222c取得三维空间中的自身主体的状态。动作状态信息生成部232b基于所取得的这些信息,生成表示服务的提供涉及的自身主体的动作状态的动作状态信息。动作状态信息生成部232b向收发控制器212的服务消息发送部212e输出包括动作状态信息的服务消息。
179.3-2-5.模拟器核的详细
180.在模拟器核242中,整体的路径计划部242a从3d物理引擎222的传感器信息生成部222b取得传感器信息。另外,整体路径计划部242a从服务系统客户端模拟器232的路径计划用信息接收部232a取得动作指示信息和其他服务系统信息。整体路径计划部242a基于所取得的这些信息,对虚拟世界2中的自身主体的整体路径进行计划。整体路径意味着从自身主体的当前位置到目标地点为止的路径。从传感器信息生成部222b和路径计划用信息接收部232a取得的信息每次都会变化,因此,整体路径计划部242a按时间步而重新制订整体路径计划。整体路径计划部242a向局部路径计划部242b输出所决定的整体路径计划。
181.局部路径计划部242b从整体路径计划部242a取得整体路径计划。局部路径计划部242b基于整体路径计划,制订局部路径计划。局部路径例如意味着从当前时间点到预定时间步后为止的路径、或者从当前位置到预定距离为止的路径。局部路径计划例如由自身主体应该追寻的位置的集合和各位置处的速度或者加速度来表示。局部路径计划部242b向致动器操作量决定部242c输出所决定的局部路径计划。
182.致动器操作量决定部242c从局部路径计划部242b取得局部路径计划。致动器操作量决定部242c基于局部路径计划,决定下一时间步中的自身主体的致动器操作量。在此所说的致动器是指对自身主体的方向、速度以及加速度进行控制的致动器。在自身主体为用车轮进行行驶的自主机器人或者自主车辆的情况下,例如制动装置、驱动装置、转向装置等的致动器成为操作对象。致动器操作量决定部242c向下一时间步状态算出部242d和服务系统客户端模拟器232的动作状态信息生成部232b输出所决定的致动器操作量。
183.下一时间步状态算出部242d取得由致动器操作量决定部242c决定了的致动器操作量。下一时间步状态算出部242d基于致动器操作量来算出下一时间步中的自身主体的状态。所算出的自身主体的状态包括下一时间步中的自身主体的位置、方向、速度以及加速
度。下一时间步状态算出部242d向3d物理引擎222的自身主体状态更新部222c输出所算出的下一时间步中的自身主体的状态。另外,下一时间步状态算出部242d向收发控制器212的剩余时间率算出部212g输出用于自身主体的状态更新的计算的开始时刻。
184.3-3.vr行人主体用主体模拟器
185.图7是表示vr行人主体用的主体模拟器203的构成和信息流的框图。vr行人主体是指用于实际存在的人使用vr(virtual reality,虚拟现实)系统参加作为模拟的对象的虚拟世界2的行人主体。以下,对vr行人主体用的主体模拟器203的整体构成和各部的详细以及主体模拟器203中的信息流进行说明。
186.3-3-1.vr行人主体用主体模拟器的整体构成
187.主体模拟器203作为其功能而具备收发控制器213、3d物理引擎223、服务系统客户端模拟器233以及模拟器核243。这些功能作为概念而分别包含于收发控制器210、3d物理引擎220、服务系统客户端模拟器230以及模拟器核240。
188.收发控制器213作为接收各种消息的功能而具备移动消息接收部213a、服务消息接收部213b以及控制消息接收部213c。另外,收发控制器213作为发送各种消息的功能而具备移动消息发送部213d、服务消息发送部213e以及控制消息发送部213f。进一步,收发控制器213具备模拟动作控制部213h。构成收发控制器213的各部213a~213f、213h分别为程序或者程序的一部分。
189.3d物理引擎223作为其功能而具备周围主体状态更新部223a、视觉信息生成部223b以及自身主体状态更新部223c。构成3d物理引擎223的各部223a、223b、223c分别为程序或者程序的一部分。
190.服务系统客户端模拟器233作为其功能而具备服务提供状态信息处理部233a和服务利用信息生成部233b。构成服务系统客户端模拟器231的各部233a、233b分别为程序或者程序的一部分。
191.模拟器核243作为其功能而具备认知判断用信息提示部243a、移动操作受理部243b、下一时间步状态算出部243c以及应用程序操作受理部243d。构成模拟器核243的各部243a、243b、243c、243d分别为程序或者程序的一部分。
192.3-3-2.收发控制器的详细
193.在收发控制器213中,移动消息接收部213a从移动消息分发器310接收移动消息。移动消息接收部213a向3d物理引擎223的周围主体状态更新部223a输出所接收到的移动消息。
194.服务消息接收部213b从后端服务器400接收服务消息。服务消息接收部213b向服务系统客户端模拟器233的服务提供状态信息处理部233a输出所接收到的服务消息。
195.控制消息接收部213c从模拟编排器320接收模拟控制消息。控制消息接收部213c向模拟动作控制部213h输出所接收到的模拟控制消息。
196.移动消息发送部213d从3d物理引擎223的自身主体状态更新部223c取得包括自身主体的当前状态的移动消息。移动消息发送部213d向移动消息分发器310发送所取得的移动消息。
197.服务消息发送部213e从服务系统客户端模拟器233的服务利用信息生成部233b取得包括服务利用信息的服务消息。服务消息发送部213e向后端服务器400发送所取得的服
务消息。
198.控制消息发送部213f从模拟动作控制部213h取得包括主体模拟器203的控制状态的模拟控制消息。控制消息发送部213f向模拟编排器320发送从模拟动作控制部213h取得的模拟控制消息。
199.模拟动作控制部213h从控制消息接收部213c取得模拟控制消息。模拟动作控制部213h按照模拟控制消息所包括的指示,对主体模拟器203的模拟动作进行控制。在不满足vr行人主体向虚拟世界2的参加条件的情况下,从模拟编排器320对主体模拟器203指示模拟的停止。
200.前述的主体模拟器201、202以及后述的主体模拟器204能够根据需要对模拟速度进行变更。但是,在模拟速度被变更了的情况下,经由vr行人主体来参加虚拟世界2的实际存在的参加者有可能对于与现实世界不同的时间流感到强烈的违和感。因而,在mas系统100中,将以实际时间进行模拟作为参加条件,容许vr行人主体向虚拟世界2的参加。在与现实世界的时间流相比而模拟速度被进行加速或者减速的情况下,模拟编排器320使主体模拟器203的模拟停止。模拟动作控制部213h向控制消息发送部213f输出包括主体模拟器203的当前的控制状态的模拟控制消息。
201.3-3-3.3d物理引擎的详细
202.在3d物理引擎223中,周围主体状态更新部223a从移动消息接收部213a取得移动消息。从移动消息接收部213a取得的移动消息是经由移动消息分发器310而从其他主体模拟器发送了的移动消息。周围主体状态更新部223a基于所取得的移动消息,推定存在于自身主体的周围的周围主体的当前状态。
203.在根据过去状态推定周围主体的当前状态的情况下,周围主体状态更新部223a使用保存于日志的周围主体的过去状态。使用周围主体的过去状态来推定当前状态的方法为使用图3说明过的那样。周围主体状态更新部223a向视觉信息生成部223b输出所推定的周围主体的当前状态,并且,对日志进行更新。
204.视觉信息生成部223b从周围主体状态更新部223a取得周围主体的当前状态。视觉信息生成部223b基于周围主体的当前状态,生成在从自身主体的观测中得到的周边信息。自身主体为行人,因此,在观测中得到的周边信息意味着通过行人的眼睛捕捉的视觉信息。视觉信息生成部223b向模拟器核243的认知判断用信息提示部243a和移动操作受理部243b输出所生成的视觉信息。
205.自身主体状态更新部223c从模拟器核243的下一时间步状态算出部243c取得通过模拟器核243进行了运算的下一时间步中的自身主体的状态。自身主体状态更新部223c基于模拟器核243的运算结果,对三维空间中的自身主体的状态进行更新。自身主体状态更新部223c向收发控制器213的移动消息发送部213d输出包括被进行了更新的自身主体的状态的移动消息。移动消息所包括的自身主体的状态包括本次时间步中的位置、方向、速度、加速度和下一时间步中的位置、方向、速度、加速度。另外,自身主体状态更新部223c向服务系统客户端模拟器233的服务利用信息生成部233b输出与被进行了更新的自身主体的状态有关的信息。
206.3-3-4.服务系统客户端模拟器的详细
207.在服务系统客户端模拟器233中,服务提供状态信息处理部233a从服务消息接收
部213b取得服务消息。从服务消息接收部213b取得的服务消息包括服务提供状态信息。服务提供状态信息处理部233a对服务提供状态信息进行处理,取得与作为服务系统的用户的自身主体的状态有关的信息、和向用户终端的服务应用程序的输入项目。与作为自身主体的用户的状态有关的信息是在用户终端所提示的信息,输入项目是为了自身主体利用服务而被请求输入的信息。服务提供状态信息处理部233a向模拟器核243的认知判断用信息提示部243a和应用程序操作受理部243d输出与作为自身主体的用户的状态有关的信息和向用户终端的服务应用程序的输入项目。
208.服务利用信息生成部233b从模拟器核243的应用程序操作受理部243d取得经由vr行人主体参加虚拟世界2的实际存在的参加者在vr上的服务应用程序的操作。另外,服务利用信息生成部233b从3d物理引擎223的自身主体状态更新部223c取得三维空间中的自身主体的状态。服务利用信息生成部233b基于所取得的这些信息来生成服务利用信息,并且,对自身主体的服务的利用状态进行更新。服务利用信息生成部233b向收发控制器213的服务消息发送部213e输出包括服务利用信息的服务消息。
209.3-3-5.模拟器核的详细
210.在模拟器核243中,认知判断用信息提示部243a从3d物理引擎223的视觉信息生成部223b取得视觉信息。另外,认知判断用信息提示部243a从服务系统客户端模拟器231的服务提供状态信息处理部233a取得与作为自身主体的用户的状态有关的信息、和向用户终端的服务应用程序的输入项目。所取得的这些信息是对于经由vr行人主体来参加虚拟世界2的实际存在的参加者来说的认知判断用的信息。认知判断用信息提示部243a通过vr系统对实际存在参加者提示认知判断用的信息。
211.移动操作受理部243b从3d物理引擎223的视觉信息生成部223b取得视觉信息。并且,移动操作受理部243b一边通过vr系统对实际存在参加者提示视觉信息,一边受理实际存在参加者在vr上的移动操作。移动操作受理部243b向下一时间步状态算出部243d输出所受理到的实际存在参加者在vr上的移动操作。
212.下一时间步状态算出部243d从移动操作受理部243b取得实际存在参加者在vr上的移动操作。下一时间步状态算出部243d基于实际存在参加者在vr上的移动操作,算出下一时间步中的自身主体的状态。所算出的自身主体的状态包括下一时间步中的自身主体的位置、方向、速度以及加速度。下一时间步状态算出部243d向3d物理引擎223的自身主体状态更新部223c输出所算出的下一时间步中的自身主体的状态。
213.应用程序操作受理部243d从3d物理引擎223的视觉信息生成部223b取得视觉信息。另外,应用程序操作受理部243d从服务系统客户端模拟器233的服务提供状态信息处理部233a取得与作为自身主体的用户的状态有关的信息、和向用户终端的服务应用程序的输入项目。应用程序操作受理部243d一边通过vr系统对实际存在参加者提示所取得的这些信息,一边受理实际存在参加者在vr上的服务应用程序的操作。应用程序操作受理部243d向服务系统客户端模拟器233的服务利用信息生成部233b输出所受理到的实际存在参加者在vr上的服务应用程序的操作。
214.3-4.路侧传感器主体用主体模拟器
215.图8是表示路侧传感器主体用的主体模拟器204的构成和信息流的框图。路侧传感器主体是指被使用于取得自主机器人/车辆主体在虚拟世界2中的位置信息的路侧传感器
的主体。通过路侧传感器主体取得的自主机器人/车辆主体的位置信息被使用在后端服务器400关系到的服务系统中。以下,对路侧传感器主体用的主体模拟器204的整体构成和各部的详细以及主体模拟器204中的信息流进行说明。
216.3-4-1.路侧传感器主体用主体模拟器的整体构成
217.主体模拟器204作为其功能而具备收发控制器214、3d物理引擎224以及服务系统客户端模拟器234。这些功能作为概念而分别包含于收发控制器210、3d物理引擎220以及模拟器核240。主体模拟器204与其他主体模拟器不同,不具备模拟器核。
218.收发控制器214作为接收各种消息的功能而具备移动消息接收部214a和控制消息接收部214b。另外,收发控制器212作为发送各种消息的功能而具备服务消息发送部214e和控制消息发送部214f。进一步,收发控制器212具备剩余时间率算出部214g和模拟动作控制部214h。构成收发控制器214的各部212a、214c、214e、214f、214g、214h分别为程序或者程序的一部分。
219.3d物理引擎224作为其功能而具备周围主体状态更新部224a和传感器信息生成部224b。构成3d物理引擎224的各部224a、224b分别为程序或者程序的一部分。
220.服务系统客户端模拟器234作为其功能而具备服务消息生成部234a。构成服务系统客户端模拟器234的服务消息生成部234a是程序或者程序的一部分。
221.3-4-2.收发控制器的详细
222.在收发控制器214中,移动消息接收部214a从移动消息分发器310接收移动消息。移动消息接收部214a向3d物理引擎224的周围主体状态更新部224a输出所接收到的移动消息。另外,移动消息接收部214a向剩余时间率算出部214g输出包括接收到移动消息的时刻的信息。
223.控制消息接收部214c从模拟编排器320接收模拟控制消息。控制消息接收部214c向模拟动作控制部214h输出所接收到的模拟控制消息。
224.服务消息发送部214e从服务系统客户端模拟器234的服务消息生成部234a取得包括传感器信息的服务消息。服务消息发送部214e向后端服务器400发送所取得的服务消息。
225.控制消息发送部214f从剩余时间率算出部214g取得包括与模拟的速度状况有关的信息的模拟控制消息。另外,控制消息发送部214f从模拟动作控制部214h取得包括主体模拟器202的控制状态的模拟控制消息。控制消息发送部214f向模拟编排器320发送从剩余时间率算出部214g和模拟动作控制部214h取得的模拟控制消息。
226.剩余时间率算出部214g从移动消息接收部214a取得包括移动消息的接收时刻的信息。另外,剩余时间率算出部214g从服务消息发送部214e取得包括服务消息的发送完成时刻的信息。剩余时间率算出部214g基于所取得的信息,通过上述的各式来计算剩余时间、剩余时间率以及延迟时间。但是,在剩余时间和剩余时间率的计算中,对ta(n 1)和ta(n)使用根据主体模拟器202的动作频率计算的计算值。另外,对于td(n),代替本次时间步中的移动消息的发送完成时刻而使用服务消息的发送完成时刻。
227.剩余时间率算出部214g向控制消息发送部214f输出包括剩余时间、剩余时间率以及延迟时间的模拟控制消息。接收到包括这些信息的模拟控制消息的模拟编排器320制作包括应该对主体模拟器204进行指示的控制内容的模拟控制消息,并发送给主体模拟器204。
228.模拟动作控制部214h从控制消息接收部214c取得模拟控制消息。模拟动作控制部214h按照模拟控制消息所包括的指示,对主体模拟器202的模拟动作进行控制。例如,在被指示了模拟的时间粒度的变更的情况下,模拟动作控制部214h将主体模拟器202的模拟的时间粒度从初始值变更为所被指示了的时间粒度。时间粒度的初始值被作为设定值来存储于主体模拟器204。另外,时间粒度的上限值和下限值被按主体的种类而存储于模拟编排器320。
229.在基于模拟控制消息的指示内容为模拟速度的情况下,模拟动作控制部214h按照所被指示的模拟速度使3d物理引擎224的动作频率变化,对主体模拟器204的运算速度进行加速或者减速。在指示了模拟的停止的情况下,模拟动作控制部214h使通过主体模拟器204进行的模拟停止。在指示了模拟的暂停的情况下使模拟暂停,在被指示了重新开始的情况下使模拟重新开始。模拟动作控制部214h向控制消息发送部214f输出包括主体模拟器204的当前的控制状态的模拟控制消息。
230.3-4-3.3d物理引擎的详细
231.在3d物理引擎224中,周围主体状态更新部224a从移动消息接收部214a取得移动消息。从移动消息接收部214a取得的移动消息是经由移动消息分发器310而从其他主体模拟器发送了的移动消息。周围主体状态更新部224a基于所取得的移动消息,推定存在于自身主体的周围的周围主体的当前状态。
232.在根据过去的状态推定周围主体的当前状态的情况下,周围主体状态更新部224a使用保存于日志的周围主体的过去状态。使用周围主体的过去状态来推定当前状态的方法为使用图3说明过的那样。周围主体状态更新部224a向传感器信息生成部224b输出所推定的周围主体的当前状态,并且,对日志进行更新。
233.传感器信息生成部224b从周围主体状态更新部224a取得周围主体的当前状态。传感器信息生成部224b基于周围主体的当前状态,生成在从自身主体的观测中得到的周边信息。自身主体为如摄像头那样的安置型的路侧传感器,因此,在观测中得到的周边信息意味着通过路侧传感器捕捉的传感器信息。传感器信息生成部224b向服务系统客户端模拟器234的服务消息生成部234a输出所生成的传感器信息。
234.3-4-4.服务系统客户端模拟器的详细
235.在服务系统客户端模拟器234中,服务消息生成部234a从3d物理引擎224的传感器信息生成部224b取得传感器信息。服务消息生成部234a向收发控制器214的服务消息发送部214e输出包括所取得的传感器信息的服务消息。
236.4.移动消息分发器的构成和信息流
237.在此,对移动消息分发器310的构成的一个例子进行说明,该移动消息分发器310对在主体模拟器200间交换的移动消息进行中继。图9是表示移动消息分发器310的构成的一个例子和信息流的框图。移动消息分发器310具备广播发布网312、消息过滤器314以及移动消息网关318。在mas系统100中,仅主体为移动物体的主体模拟器200成为移动消息的发送源,与此相对,与主体是移动物体、还是安置物体无关地,全部主体模拟器200成为移动消息的接收方(接收目的地)。因此,消息过滤器314是对于构成mas系统100的全部主体模拟器200逐个加以准备的。
238.广播发布网312与存在于同一子网内的主体模拟器200直接连接,经由移动消息网
关318与存在于不同的子网内的主体模拟器200相连接。从同一子网内的主体模拟器200发送了的移动消息被直接发布到全部的消息过滤器314。从不同的子网内的主体模拟器200发送了的移动消息经由移动消息网关318而被发布到全部的消息过滤器314。消息过滤器314选择并接收在负责的主体模拟器200中被设为需要的移动消息,将其保存于消息队列316。并且,从消息队列316以与接收时的时间间隔相同的时间间隔向负责的主体模拟器200发送所保存的移动消息。
239.5.mas系统的模拟结果的汇总和评价
240.通过mas系统100进行模拟,由此,得到关于模拟的对象世界的各种各样的数据。图10表示用于对mas系统100的模拟结果进行汇总并进行评价的构成。
241.mas系统100在各处具备存储通过模拟得到的数据的日志的数据记录器。在主体模拟器200设置有数据记录器250、260、270、280。数据记录器250存储收发控制器210内的数据日志(控制器日志)。数据记录器260存储3d物理引擎220内的数据日志(3d物理引擎日志)。数据记录器270存储服务系统客户端模拟器230内的数据日志(服务模拟日志)。数据记录器280存储模拟器核240内的数据日志(模拟核日志)。
242.在中央控制器300设置有数据记录器330、340。数据记录器330存储移动消息分发器310内的数据日志(移动消息分发器日志)。数据记录器340存储模拟编排器320内的数据日志(编排器日志)。
243.在后端服务器400设置有数据记录器410。数据记录器410存储后端服务器400内的数据日志(服务系统日志)。
244.在模拟被中断了的情况下,模拟编排器320通过使用存储于上述的各数据记录器的数据日志,能够从过去的任意时间点重新开始模拟。
245.另外,mas系统100具备服务系统日志汇总部500、主体移动日志汇总部510、模拟核日志汇总部520、资产信息数据库530、时间空间数据库540以及查看器550。这些安装于模拟结果评价用的计算机。
246.在服务系统日志汇总部500中,从数据记录器270、410收集有数据日志。收集于服务系统日志汇总部500的这些数据日志是与服务系统有关的数据日志。能够根据该数据日志来评价服务是否已被正确地提供。另外,也能够对包括如物流机器人那样的服务用资源的工作率的、服务提供上的着眼点进行评价。
247.在主体移动日志汇总部510中,从数据记录器250、260、330、340收集有数据日志。收集于主体移动日志汇总部510的这些数据日志是与主体的移动有关的数据日志。能够根据该数据日志,对主体的正常动作进行确认。另外,也能够确认有无如主体重复那样的问题。在模拟的途中产生了错误的情况下,能够从数据日志输出模拟内容被设想为有效的时间范围。
248.在模拟核日志汇总部520中,从数据记录器280和主体移动日志汇总部510收集有数据日志。收集于模拟核日志汇总部520的这些数据日志是与模拟的着眼点有关的数据日志。若是对于行人的模拟,则能够根据该数据日志对人的密度进行评价,若是机器人的模拟,则能够根据该数据日志对内部的判断结果等的着眼点进行评价。
249.在资产信息数据库530中保存有从bim/cim数据或者bim/cim数据变换而得到的建筑物等的固定物的三维信息和各主体的三维信息。
250.在时间空间数据库540中保存有模拟用的虚拟数据。基于通过服务系统日志汇总部500、主体移动日志汇总部510以及模拟核日志汇总部520汇总后的各数据日志的评价结果被反映于时间空间数据库540的虚拟数据。
251.查看器550使用保存于资产信息数据库530的固定物、主体的三维信息和保存于时间空间数据库540的虚拟数据,将虚拟世界2显示于监视器。
252.6.mas系统的物理构成
253.对mas系统100的物理构成进行说明。图11是表示mas系统100的物理构成的一个例子的图。mas系统100例如可以由配置在同一子网30上的多个计算机10构成。进一步,通过网关40将子网30和其他子网32相连接,能够将mas系统100扩大到配置在了子网32上的多个计算机10。
254.在图11所示的例子中,作为软件的中央控制器300安装于一个计算机10。但是,也可以使中央控制器300的功能分散于多个计算机10。
255.另外,mas系统100具备多个后端服务器400。在图11所示的例子中,各个后端服务器400安装于各自分开的计算机10。但是,也可以使后端服务器400的功能分散于多个计算机10。另外,也可以通过将一个服务器分割为多个服务器的虚拟化技术,在一个计算机10安装多个后端服务器400。
256.在图11所示的例子中,在一个计算机10安装有多个主体模拟器200。作为在一个计算机10上使多个主体模拟器200独立地动作的方法,可以使用虚拟化技术。作为虚拟化技术,既可以是虚拟机,也可以是容器虚拟化。既可以在一个计算机10安装相同种类的多个主体模拟器200,也可以安装种类不同的多个主体模拟器200。此外,也可以在一个计算机10仅安装有一个主体模拟器200。
257.如上所述,mas系统100不是采用通过单一的计算机进行的处理,而是采用使用了多个计算机10的并行分散处理。由此,能够防止因计算机的处理能力而搭乘于虚拟世界2的主体的数量受到限制、因计算机的处理能力而在虚拟世界2中提供的服务的数量受到限制。也即是,根据mas系统100,能够进行通过并行分散处理实现的大规模的模拟。
258.7.其他
259.也可以设置用于从外面观察虚拟世界2的观察用主体。观察用主体例如既可以如街角摄像头那样的安置物体,也可以是如具备了摄像头的无人机那样的移动物体。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献