(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-18
(45)【発行日】2024-12-26
(54)【発明の名称】シミュレーター、シミュレーション方法及びシミュレーションプログラム
(51)【国際特許分類】
G16Z 99/00 20190101AFI20241219BHJP
G06Q 10/04 20230101ALI20241219BHJP
【FI】
G16Z99/00
G06Q10/04
(21)【出願番号】P 2021013518
(22)【出願日】2021-01-29
【審査請求日】2023-10-19
(73)【特許権者】
【識別番号】000108085
【氏名又は名称】セコム株式会社
(74)【代理人】
【識別番号】100103850
【氏名又は名称】田中 秀▲てつ▼
(74)【代理人】
【識別番号】100114177
【氏名又は名称】小林 龍
(74)【代理人】
【識別番号】100066980
【氏名又は名称】森 哲也
(72)【発明者】
【氏名】宮野 修平
【審査官】菅原 浩二
(56)【参考文献】
【文献】特開2018-165847(JP,A)
【文献】特開2020-107367(JP,A)
【文献】特開2006-185127(JP,A)
【文献】特開2020-091854(JP,A)
【文献】特開2019-185074(JP,A)
【文献】特開平08-210864(JP,A)
【文献】米国特許出願公開第2009/0306946(US,A1)
【文献】国際公開第2017/159488(WO,A1)
【文献】特開平04-075199(JP,A)
【文献】特開2019-219880(JP,A)
【文献】特開2017-224201(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16Z 99/00
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
所定の空間における個体の移動を予測するシミュレーターであって、
前記空間を規定する空間情報を記憶している空間情報記憶手段と、
前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度を記憶する誘導領域記憶手段と、
前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する行動決定手段と、
前記個体の位置を前記移動量に応じて更新する個体情報変更手段と、
前記誘導領域外に設けた検出領域で検出された前記個体と当該誘導領域との間の距離が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する誘導領域設定手段と、
を備えることを特徴とするシミュレーター。
【請求項2】
所定の空間における個体の移動を予測するシミュレーターであって、
前記空間を規定する空間情報を記憶している空間情報記憶手段と、
前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度を記憶する誘導領域記憶手段と、
前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する行動決定手段と、
前記個体の位置を前記移動量に応じて更新する個体情報変更手段と、
前記誘導領域外に設けた検出領域で検出された前記個体が当該誘導領域の外側領域に滞在した時間が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する誘導領域設定手段と、
を備えることを特徴とするシミュレーター。
【請求項3】
所定の空間における個体の移動を予測するシミュレーターであって、
前記空間を規定する空間情報を記憶している空間情報記憶手段と、
前記個体に排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度を記憶する誘導領域記憶手段と、
前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する行動決定手段と、
前記個体の位置を前記移動量に応じて更新する個体情報変更手段と、
前記誘導領域内に設けた検出領域で検出された前記個体が当該誘導領域の内側領域に滞在した時間が大きいほど、当該誘導領域から当該検出された個体を排斥する前記誘導力が大きくなるよう前記誘導力度を更新する誘導領域設定手段と、
を備えることを特徴とするシミュレーター。
【請求項4】
所定の空間における個体の移動を予測するシミュレーション方法であって、
前記空間を規定する空間情報と、前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域外に設けた検出領域で検出された前記個体と当該誘導領域との間の距離が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーション方法。
【請求項5】
所定の空間における個体の移動を予測するシミュレーション方法であって、
前記空間を規定する空間情報と、前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域外に設けた検出領域で検出された前記個体が当該誘導領域の外側領域に滞在した時間が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーション方法。
【請求項6】
所定の空間における個体の移動を予測するシミュレーション方法であって、
前記空間を規定する空間情報と、前記個体に排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域内に設けた検出領域で検出された前記個体が前記誘導領域の内側領域に滞在した時間が大きいほど、当該誘導領域から当該検出された個体を排斥する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーション方法。
【請求項7】
所定の空間における個体の移動を予測するシミュレーションプログラムであって、
前記空間を規定する空間情報と、前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域外に設けた検出領域で検出された前記個体と当該誘導領域との間の距離が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーションプログラム。
【請求項8】
所定の空間における個体の移動を予測するシミュレーションプログラムであって、
前記空間を規定する空間情報と、前記個体に誘引する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域外に設けた検出領域で検出された前記個体が当該誘導領域の外側領域に滞在した時間が大きいほど、当該誘導領域へ当該検出された個体を誘引する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーションプログラム。
【請求項9】
所定の空間における個体の移動を予測するシミュレーションプログラムであって、
前記空間を規定する空間情報と、前記個
体に排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに前記誘導力の強さである誘導力度と、前記空間における前記個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、
前記誘導力が強い前記誘導領域ほど前記個体を誘導するように前記個体の移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
前記誘導領域内に設けた検出領域で検出された前記個体が前記誘導領域の内側領域に滞在した時間が大きいほど、当該誘導領域から当該検出された個体を排斥する前記誘導力が大きくなるよう前記誘導力度を更新する処理と、
を実行させることを特徴とするシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の空間における個体の移動を予測するシミュレーター、シミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【0002】
群集が円滑に移動できる空間の設計や、既存の空間における適切な群集の誘導計画などを検証するために、群集の行動を予測するシミュレーターが活用されている。
例えば下記特許文献1及び2には、群集を構成する各個体を案内等によって誘導する群集制御を行われたときの個体の移動を予測するシミュレーターが記載されている。このシミュレーターでは、案内等によって個体が誘引される領域を表した誘引領域と、各個体のそれぞれの誘引され易さを表した被誘引度とによって、群集に対する制御とこの制御に対する個体の違反行動を表現している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-219880号公報
【文献】特開2019-219881号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の従来技術は、個体を誘引する誘引領域を設定することよって群集制御を表現するものであるが、誘引領域の設定が固定されていた。このため、群集制御から個体が逸脱する状況(例えば、群集制御に違反する個体や、体調不良等により立ち止まる個体など)が発生した場合に、動的に対応して状況を正常化する過程を表現することはできなかった。
本発明は、上記の問題点を鑑みてなされたものであり、群集制御がなされたときの群集の行動を予測するシミュレーションにおいて、群集制御から個体が逸脱する状況が発生した場合に、動的に対応して状況を正常化する過程を表現することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一形態によれば、所定の空間における個体の移動を予測するシミュレーターが与えられる。シミュレーターは、空間を規定する空間情報を記憶している空間情報記憶手段と、個体に誘引又は排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに誘導力の強さである誘導力度を記憶する誘導領域記憶手段と、空間における個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、誘導力が強い誘導領域ほど個体を誘導するように個体の移動量を設定する行動決定手段と、個体の位置を移動量に応じて更新する個体情報変更手段と、個体の位置又は移動態様に応じて誘導領域の誘導力度を更新する誘導領域設定手段と、を備える。
【0006】
本発明の他の形態によれば、所定の空間における個体の移動を予測するシミュレーション方法が与えられる。シミュレーション方法では、空間を規定する空間情報と、個体に誘引又は排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに誘導力の強さである誘導力度と、空間における個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、誘導力が強い誘導領域ほど個体を誘導するように個体の移動量を設定する処理と、個体の位置を移動量に応じて更新する処理と、個体の位置又は移動態様に応じて誘導領域の誘導力度を更新する処理と、を実行させる。
【0007】
本発明のさらに他の形態によれば、所定の空間における個体の移動をコンピュータに予測させるシミュレーションプログラムが与えられる。シミュレーションプログラムは、空間を規定する空間情報と、個体に誘引又は排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに誘導力の強さである誘導力度と、空間における個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、を記憶しているコンピュータに、誘導力が強い誘導領域ほど個体を誘導するように個体の移動量を設定する処理と、個体の位置を移動量に応じて更新する処理と、個体の位置又は移動態様に応じて誘導領域の誘導力度を更新する処理と、を実行させる。
【発明の効果】
【0008】
本発明によれば、群集制御がなされたときの群集の行動を予測するシミュレーションにおいて、群集制御から個体が逸脱する状況が発生した場合に、動的に対応して状況を正常化する過程を表現できる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係るシミュレーターの一例の概略構成図である。
【
図2】実施形態に係るシミュレーターの一例の機能ブロック図である。
【
図3】(a)は対象空間内において個体が移動可能な移動可能領域の設定例を示す図であり、(b)は移動目標位置の代表点及び移動目標位置への代表経路を形成するための中間目標点の設定例を示す図である。
【
図5】(a)~(i)は
図4の固定誘導領域情報によりそれぞれ設定された固定誘導領域の例を示す図である。
【
図6】(a)は時刻に依存しない個体情報の一例を示す図であり、(b)は時刻に依存する個体情報の一例を示す図である。
【
図8】(a)は時刻に依存しない検出オブジェクト情報の一例を示す図であり、(b)は時刻に依存する検出オブジェクト情報の一例を示す図である。
【
図9】(a)~(f)は検出領域の設定例の説明図であり、(g)は検出領域情報の一例を示す図である。
【
図10】(a)~(e)は、個体を誘引する追加誘導領域の設定例の説明図である。
【
図11】(a)及び(b)は個体を誘引する追加誘導領域の他の設定例の説明図であり、(c)は追加誘導領域情報の一例を示す図である。
【
図12】(a)は選択目標位置に近付ける加速度e
i(t)の算出方法の一例の説明図であり、(b)は固定誘導領域の誘導力による加速度a
i(t)の算出方法の一例の説明図である。
【
図13】(a)は追加誘導領域の誘導力による加速度b
i(t)の算出方法の一例の説明図であり、(b)は個体の加速度の算出方法の一例の説明図である。
【
図14】実施形態に係るシミュレーション方法の一例のフローチャートである。
【
図15】行動決定処理の一例のフローチャートである。
【
図16】(a)~(d)は、個体を排斥する追加誘導領域の設定例の説明図である。
【発明を実施するための形態】
【0010】
以下において、図面を参照して本発明の実施形態を説明する。なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0011】
本発明の実施形態として、西側連絡口、東側連絡口、南側連絡口の3つの連絡口を有するT字路において複数の人のそれぞれがいずれかの連絡口に移動する行動を予測するシミュレーターの例を示す。
すなわち、本実施形態において、シミュレーションの対象となる空間(対象空間)はT字路であり、群集を構成する個体は人であり、各個体の目的は連絡口の先にある施設等により提供される役務などである。
【0012】
各個体は当該個体の目的に対応する連絡口を移動目標位置とし、移動目標位置に向けた移動という手段によって目的を達成しようとしている。
また、この実施形態においては、シミュレーションの実施者(以下、利用者と称する)が、シミュレーターを用いて、T字路に右側通行で運用する施策を適用した場合の群集の行動を予測する様子を例にして説明を行う。
【0013】
なお、本明細書において説明されるT字路は、あくまで対象空間の一例であり、本発明の対象はこれに限定されるものではない。例えば、複数の部屋や通路から構成される空間などより複雑な空間であってもよい。その場合、対象空間内において個体が移動可能な移動可能領域は、壁、什器等の領域を除いた複雑な形状となる。
【0014】
(構成)
図1は、実施形態に係るシミュレーターの一例の概略構成図である。
シミュレーター1は、操作入力部2、ファイル入出力部3、記憶部4、制御部5、および表示部6からなる。これらのうちのファイル入出力部3、記憶部4および制御部5はいわゆるコンピュータで実現でき、操作入力部2および表示部6は当該コンピュータの周辺機器として実現できる。
【0015】
操作入力部2は、キーボード、マウス等のユーザーインターフェースであり、利用者に操作されてデータの入力等に用いられる。操作入力部2は、制御部5に接続され、利用者の操作を操作信号に変換して制御部5に出力する。
【0016】
ファイル入出力部3は、DVD(Digital Versatile Disc)ドライブ、USB(Universal Serial Bus)インターフェース、ネットワークインターフェース等であり、一方が不図示の外部機器、記録メディア、ネットワーク等に接続され、他方が制御部5に接続され、データをファイルとして制御部5に入力し、およびデータをファイルとして制御部5から出力する。
【0017】
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部4は、制御部5と接続されて制御部5との間でこれらの情報を入出力する。
【0018】
制御部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置で構成される。制御部5は、記憶部4と接続され、記憶部4からプログラムを読み出して実行することにより各種処理部として動作し、各種データを記憶部4に記憶させ、読み出す。また、制御部5は、操作入力部2、ファイル入出力部3および表示部6とも接続され、利用者が操作入力部2を操作して入力されたデータを取得し、ファイル入出力部3を介して外部からファイルとしてデータを取得および出力し、所得したデータに基づいたシミュレーションを行って群集の行動を予測し、予測結果のデータをファイルとしてファイル入出力部3から出力させ、および/または予測結果のデータを画像化して表示部6に表示させる。
【0019】
表示部6は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置であり、制御部5と接続され、制御部5による予測結果を表示する。利用者は表示された予測結果を視認して群集の行動に関する考察等を行う。
【0020】
(シミュレーター1の機能)
図2は、実施形態に係るシミュレーター1の一例の機能ブロック図である。
操作入力部2は、条件設定手段20の一部及び検出オブジェクト設定手段21の一部等として機能し、ファイル入出力部3は条件設定手段20の一部、検出オブジェクト設定手段21の一部および予測結果出力手段43の一部等として機能する。
記憶部4は、空間情報記憶手段30、固定誘導領域記憶手段31、個体情報記憶手段32、検出オブジェクト記憶手段33、検出領域記憶手段34、追加誘導領域記憶手段35等として機能する。
制御部5は、CPU、DSP、MCU等の演算装置によって記憶部4に格納されたコンピュータプログラムを実行することにより、検出オブジェクト設定手段21、検出領域設定手段22、追加誘導領域設定手段23、行動決定手段40、個体情報変更手段41および予測結果出力手段43の一部等として機能する。
【0021】
条件設定手段20は、シミュレーションに必要な各種条件の入力を受け付け、入力された条件を記憶部4に記憶させる。条件設定手段20は、例えば、操作入力部2および制御部5が協働して実現され、利用者が操作入力部2を操作して入力した値を、制御部5が記憶部4に記憶させる。条件設定手段20は、条件の一部または全部が記されたファイルを入力するファイル入出力部3を含んでもよく、利用者が操作入力部2を操作して指定したファイルを制御部5がファイル入出力部3を介して取得して当該ファイルに記された値を記憶部4に記憶させる。
【0022】
本実施形態のシミュレーションは、仮想時刻を進めながら行われる。例えば、全個体が移動目標位置に到達するまで仮想時刻を0から1ずつ増加させながら仮想時刻ごとに個体の情報を更新する処理が繰り返される。なお、条件設定手段20によって仮想時刻の上限Tを設定し、仮想時刻が(T-1)に達するまでの繰り返しとしてもよい。また、操作入力部2にて利用者による終了指示の入力を受け付け、終了指示が入力された時点で強制終了する処理を加えてもよい
【0023】
仮想時刻は、実際の時間の経過を模擬したものであるが、シミュレーターが1時刻分の演算を終えるたびに進められ、実際の時間の経過よりも高速に刻まれる。例えば、仮想時刻の1時刻を実際の1秒間に対応させ、仮想時刻を0から始まり1ずつ増加する整数で表す。
【0024】
空間情報記憶手段30は、対象空間内において個体が移動可能な移動可能領域、および複数の移動目標位置を含んだ空間情報を記憶する。空間情報は、条件設定手段20を用いた利用者による入力操作により予め設定される。
図3(a)を参照する。空間情報は、例えば2次元xy座標系に定義された対象空間内の移動可能領域の地
図100を有している。地
図100は、ハッチングで示された移動可能領域110を表す座標情報を含んでおり、
図3(a)の例では、移動可能領域110は、座標(0,20)-(30,20)-(30,10)-(20,10)-(20,0)-(10,0)-(10,10)-(0,10)を結ぶT字型の閉多角形として定義されている。
【0025】
空間情報は、対象空間に定義された複数の移動目標位置について、各移動目標位置を識別する目標位置IDと座標情報とを対応付けて有している。
例えば移動目標位置は、西側連絡口、東側連絡口及び南側連絡口の位置をそれぞれ示す線状の領域であってよい。
図3(a)の例では、西側連絡口I、東側連絡口II及び南側連絡口IIIの目標位置IDをそれぞれ「I」、「II」及び「III」とし、それぞれの位置を、線分(0,20)-(0,10)、線分(30,10)-(30,20)及び線分(10,0)-(20,0)に設定する。
【0026】
空間情報は、移動目標位置の補助情報として、各移動目標位置の代表点も含んでよい。
図3(b)の例では、西側連絡口I、東側連絡口II及び南側連絡口IIIの代表点Pt1、Pt2及びPt3は、それぞれ西側連絡口Iの線分の中点(0,15)、東側連絡口IIの線分の中点(30,15)、及び南側連絡口IIIの線分の中点(15,0)である。
また、空間情報は、移動目標位置のもう一つの補助情報として、各移動目標位置への代表経路を形成するための中間目標点も記憶してよい。中間目標点は、対象空間に障害物がある場合に、障害物を回避する経路の中間点となるように適宜設定してよい。
図3(b)の例では、Pi1(11,11)及びPi2(19,11)が中間目標点として設定されている。
【0027】
図2を参照する。固定誘導領域記憶手段31は、固定誘導領域に関する固定誘導領域情報を記憶する。固定誘導領域は、移動可能領域110内に固定的に配置される誘導領域である。
誘導領域は、個体に対する誘導によって個体を誘引する領域、又は個体を排斥する領域である。誘導領域を設定することによって、個体を誘導する群集制御を表現できる。誘引は、個体を引き寄せる作用であり、排斥は、個体を遠ざける作用である。個体を誘引する誘引力及び個体を排斥する排斥力を、総称して「誘導力」と表記することがある。
【0028】
例えば、個体が移動する動線が形成されること許可する領域に、個体を誘引する固定誘導領域を設定してよい。また、個体が立ち入ることを許可する立ち入り許可エリアに、個体を誘引する固定誘導領域を設定してよい。反対に、個体が立ち入ることを禁止する立ち入り禁止エリアに個体を排斥する固定誘導領域を設定してよい。
【0029】
固定誘導領域として、例えば個体を誘導する案内によって個体が誘引される又は排斥される領域を設定してよい。案内は、例えば指示、表示、サイン、空間形状、音声案内などであってよい。
例えば、右側通行の案内表示によって個体が誘引される固定誘導領域は、道路や通路の右側の領域である。例えば、道路上の右側にペイントされた矢印(案内)に対応して当該道路の右側に固定誘導領域が設定される。また例えば、複数の異なる地点のそれぞれへ誘導するために分けられたレーンに係る固定誘導領域は、道路や通路に設けられたレーンに対応する領域(例えばそれぞれのレーン内の領域)である。
上記例では、固定誘導領域内に案内が表示されたが、固定誘導領域は、案内が表示される場所と一致する必要はなく、さらには視覚以外で知覚される案内に対応した領域であってもよい。
【0030】
例えば、右側通行の道路区間の手前に設置された標識や誘導灯などの案内表示または右側に導くパイロン等に対応して当該道路区間の右側に設定される固定誘導領域は、案内の表示や空間形状の変化が固定誘導領域外に設けられる場合の一例である。
また例えば、右側通行の道路区間内および/または当該道路区間付近に向けて行われる右側通行の案内放送に対応して当該道路区間の右側に設定される固定誘導領域は、視覚以外により知覚される指示や案内により個体が誘引される固定誘導領域の一例である。
【0031】
固定誘導領域情報は、条件設定手段20を用いて予め利用者により設定される。
図4を参照する。固定誘導領域情報120は、複数の固定誘導領域それぞれについての、固定誘導領域ID、移動目標位置情報、座標情報、誘導力度、制限速度、規定方向の情報を有する。固定誘導領域記憶手段31には、固定誘導領域ごとに固定誘導領域ID、移動目標位置情報、座標情報、誘導力度、制限速度、規定方向が対応付けられて記憶される。
【0032】
固定誘導領域IDは、固定誘導領域の識別子である。
移動目標位置情報は、固定誘導領域に誘引する対象となる個体の移動目標位置を示す。すなわち、固定誘導領域は、特定の移動目標位置へ移動する個体を誘引するように設定されており、移動目標位置情報は、特定の移動目標位置と、この移動目標位置へ移動する個体を誘引する固定誘導領域との対応付けを示す。
例えば、東西に延在した右側通行の道路に対し、東に向かう人に作用する固定誘導領域は当該道路内の南側に設定され、西に向かう人に作用する固定誘導領域は当該道路内の北側に設定される。
固定誘導領域の座標情報は、移動可能領域110内に設定された固定誘導領域の位置及び形状を示す。
【0033】
誘導力度は、固定誘導領域から個体に作用する誘導力の強さの度合いを表す。個体を誘引する固定誘導領域の場合には、誘導力度は固定誘導領域への個体の誘引し易さの度合いを表す。個体を排斥する固定誘導領域の場合には、誘導力度は固定誘導領域からの個体の排斥し易さの度合いを表す。例えば、個体を誘引する誘導力度は正の値を有し、個体を排斥する誘導力度は負の値を有する。
制限速度は、固定誘導領域における個体の制限上限速度(単位時間当たりの移動量)を表す。
規定方向は、固定誘導領域において個体に許可される移動方向(以下、単に「規定方向」と表記することがある)を単位ベクトルで表す。
【0034】
例えば、
図4に示す固定誘導領域情報120の第1行は、固定誘導領域ID「i」を有する固定誘導領域が、移動目標位置I(すなわち西側連絡口I)に対応付けられ、座標(0,20)-(0,15)-(15,15)-(15,20)を結ぶ矩形領域であり、誘導力度「1.0」を有し、制限速度が1.5であり、規定方向が(-1,0)であることを表している。
例えば第4行は、固定誘導領域ID「iv」を有する固定誘導領域が、移動目標位置II(すなわち東側連絡口II)に対応付けられ、座標(0,15)-(0,10)-(15,10)-(15,15)を結ぶ矩形領域であり、誘導力度「1.0」を有し、制限速度が1.5であり、規定方向が(1,0)であることを表している。
図4に示す固定誘導領域情報120により設定された固定誘導領域ID「i」~「ix」の固定誘導領域121~129を、
図5(a)~
図5(i)にそれぞれ示す。なお、同一の移動目標位置に対応付けられる複数の固定誘導領域が、重複部分を有するように設定してもよい。
【0035】
図2を参照する。個体情報記憶手段32は、群集を構成する複数の個体のそれぞれに関する情報である個体情報を記憶する。
図6(a)及び
図6(b)に、それぞれ個体情報130及び131の一例を示す。
図6(a)の個体情報130は時刻に依存しない情報であり、
図6(b)の個体情報131は時刻に依存する個体情報である。なお、
図6(a)及び
図6(b)に示す個体情報130及び131は、あくまで一例であり、本発明の個体情報の構成はこれに限定されるものではない。
【0036】
個体情報は、例えば、状態値と、行動パラメータとを少なくとも含んでよい。
(個体の状態値)
状態値は、各仮想時刻における各個体の状態を示す。本実施形態において状態値は、対象空間における個体の位置を示す。
各個体の位置の初期値は、条件設定手段20を用いた利用者による入力操作により初期位置として設定される。本実施形態において各個体の位置の初期値は西側連絡口I、東側連絡口II、南側連絡口IIIのいずれかであってよい。
【0037】
図6(a)の例において個体ID「0」の個体の初期位置は、南側連絡口IIIの位置(17.78,0)に設定されている。
初期位置の設定後、各個体の位置は、仮想時刻の経過とともに個体情報変更手段41によって随時更新される。例えば、仮想時刻「1」において個体ID「0」の個体は、位置(17.78,1.3)へ移動し、仮想時刻「463」までに西側連絡口Iの位置(0,15.21)まで移動している。
【0038】
(個体の行動パラメータ)
行動パラメータは、各仮想時刻における各個体の行動を表し、状態値に作用するパラメータである。
例えば行動パラメータは、各個体の行動の目的と、当該目的を達成するために当該個体が決定した行動の手段と、当該個体が当該行動の手段を実行することによる単位時間当たりの(1仮想時刻ごとの)状態値の変更量(状態変更量)とを含んでよい。
【0039】
例えば、本実施形態における行動の目的はA駅への移動、B駅への移動、観客席への移動などであってよく、それぞれの目的に割り当てられた識別子を行動パラメータとして記憶してよい。
また例えば、本実施形態における行動の手段は移動目標位置への移動であり、行動の手段として移動目標として選択された移動目標位置の目標位置IDを行動パラメータとして記憶してよい。以下、移動目標として選択された移動目標位置を「選択目標位置」と表記することがある。
【0040】
例えば、西側連絡口が選択目標位置である個体には目標位置ID「I」が、東側連絡口が選択目標位置である個体には目標位置ID「II」が、南側連絡口が選択目標位置である個体には目標位置ID「III」が記憶される。
図6(a)の例において個体ID「0」の個体の選択目標位置として、西側連絡口Iが指定されている。
なお、行動の手段である選択目標位置は行動の目的に応じて定められ、本実施形態のシミュレーター1は、選択目標位置が設定された後の処理に関するものであるため、以下、行動の目的に関する記述は省略する。
【0041】
本実施形態における状態変更量は単位時間当たり(1仮想時刻あたり)の移動量であり、状態変更量としてx方向の増分値とy方向の増分値の組であるベクトルが記憶される。
例えば、北に1単位距離だけ移動する場合の移動量は(0,1)、北西に1単位距離だけ移動する場合の移動量は(0.707,-0.707)、…などと記憶される。仮想時刻tの位置が(5,15)である個体の移動量が(0,1)であれば、仮想時刻(t+1)の位置は(5,16)に更新される。
【0042】
図6(b)の例において、仮想時刻「0」では個体ID「0」及びID「1」の個体の移動量は(0,1.3)であり、個体ID「99」の個体の移動量は(1.3,0)である。仮想時刻「463」における個体ID「0」の個体の移動量は(-1.09,0)であり、仮想時刻「572」における個体ID「1」の個体の移動量は(1.1,0.01)であり、仮想時刻「789」における個体ID「99」の個体の移動量は(0,-1.09)である。
【0043】
そのほか個体情報は、個体ごとの作用領域、および個体ごとの生成時刻のいずれかを含んでよい。
個体ごとの作用領域は、個体の周囲の固定誘導領域や周囲個体が個体に作用を及ぼす領域を示す。すなわち、ある個体を誘引する固定誘導領域はその個体の作用領域内に存在する固定誘導領域のみである。
作用領域は、個体情報変更手段41により算出され、更新される。
【0044】
図7は、作用領域の一例を示す。例えば作用領域は、個体の周囲の固定誘導領域から作用を受ける方向に偏って広がるように個体の周囲に設定される。本実施形態では、仮想時刻tにおける各個体の作用領域Riを、個体の位置x
i(t)を中心とする中心角θ(例えば60°)、半径R(例えば5単位距離)の扇形として定義する。
添え字i(i=1,2,…,M:Mは全個体数)は注目する個体を表すインデックスであり、添え字iとして個体IDを用いてもよい。以下、個体IDが「i」である個体を個体iと表記することがある。
【0045】
本実施形態の個体情報131は、作用領域Riを表す作用領域情報として、扇形の中心線Lc(すなわち二本の半径の交点と弧の中央を結んだ線)の方向を示すベクトルを記憶し、当該ベクトルは同時刻・同個体の移動量と同値である。これにより作用領域は、例えば個体iの移動方向に偏って広がるように設定される。
図6(b)の例では、仮想時刻「0」では個体ID「0」の個体の作用領域は、位置(17.78,0)を中心とし、中心線Lcの方向が移動量と同じベクトル(0,1.3)で表される中心角60°及び半径5単位距離の扇形の領域である。
【0046】
個体ごとの生成時刻は、各個体の情報を生成する仮想時刻であり、対象空間に各個体が現れる仮想時刻である。
本実施形態においては、人物が時間を追って次々と連絡口経由で対象空間に現れる様子を模擬するために個体ごとの生成時刻を設定するが、仮想時刻が0の時点で全個体が存在している対象空間を模擬する場合は生成時刻の設定を省略してもよい。
図6(a)の例では、個体ID「0」及び「1」の個体は仮想時刻「0」で対象空間に出現し、個体ID「99」の個体は仮想時刻「42」で対象空間に出現する。
【0047】
図2を参照する。検出オブジェクト設定手段21は、検出オブジェクトを設定する。検出オブジェクトは、群集制御から逸脱した個体を検出するために移動可能領域110に配置されるオブジェクトである。
検出オブジェクトは、例えば監視員や、ドローン、PTZカメラ、赤外線センサなどであってよい。
【0048】
群集制御から逸脱した個体の一例は、群集制御に違反する個体である。群集制御に違反する個体として、例えば、動線を作るための固定誘導領域や立ち入り許可エリアとして設定されている固定誘導領域からはみ出す個体や、立ち入り禁止エリアとして設定されている固定誘導領域内に立ち入る個体が挙げられる。
また、群集制御から逸脱した個体の他の例は、何らかの理由(例えば体調不良など)により立ち止まる個体や、ソーシャルディスタンス(フィジカルディスタンス)を守らない個体であってもよい。これらの個体が発生した場合の実施例は後述する。
【0049】
検出オブジェクト設定手段21は、検出オブジェクトに関する設定情報を受け付け、入力された設定情報を記憶部4に記憶させる。検出オブジェクト設定手段21は、例えば、操作入力部2および制御部5が協働して実現され、利用者が操作入力部2を操作して入力した値を、制御部5が記憶部4に記憶させる。検出オブジェクト設定手段21は、条件の一部または全部が記されたファイルを入力するファイル入出力部3を含んでもよく、利用者が操作入力部2を操作して指定したファイルを制御部5がファイル入出力部3を介して取得して当該ファイルに記された値を記憶部4に記憶させる。
【0050】
検出オブジェクト設定手段21によって検出オブジェクトが設定されると、検出オブジェクト記憶手段33は、検出オブジェクトに関する情報である検出オブジェクト情報を記憶する。
図8(a)及び
図8(b)に、それぞれ検出オブジェクト情報140及び141の一例を示す。
図6(a)の検出オブジェクト情報140は時刻に依存しない検出オブジェクト情報であり、
図6(b)の検出オブジェクト情報141は時刻に依存する検出オブジェクト情報である。なお、
図8(a)及び
図8(b)はあくまで一例であり、本発明の検出オブジェクト情報の構成はこれに限定されるものではない。
【0051】
例えば、検出オブジェクト情報140は、オブジェクトID、検出オブジェクトごとの種類、生成時刻、初期位置を含んでよい。
オブジェクトIDは、検出オブジェクトの識別子である。
検出オブジェクトごとの種類は、監視員や、ドローン、監視PTZカメラ、赤外線センサなどといった検出オブジェクトの種類を示す。
【0052】
検出オブジェクトごとの生成時刻は、各検出オブジェクトの情報を生成する仮想時刻であり、対象空間に各検出オブジェクトが現れる仮想時刻である。
検出オブジェクトごとの初期位置は、生成時刻における各検出オブジェクトの位置である。
図8(a)の例において、オブジェクトID「0」の種類は「警備員」であり、仮想時刻「0」で対象空間の初期位置(5,12.5)に出現する。
また、オブジェクトID「2」の種類は「カメラ」であり、対象空間の位置(15,15)に配置される固定物である。この場合には仮想時刻の設定を省略してよい。
【0053】
一方、検出オブジェクト情報141には、各仮想時刻における各検出オブジェクトの移動量、位置、検出方向を含んでよい。
図8(b)の例において、仮想時刻「0」ではオブジェクトID「0」の検出オブジェクト(監視員)の移動量は(1,0)であり位置は(5,12.5)である。仮想時刻「0」では位置(6,12.5)まで移動している。
検出オブジェクト設定手段21は、予め定められたシナリオやアルゴリズムによって、移動可能な検出オブジェクトの位置を変更してよい。
【0054】
一方で、オブジェクトID「2」の検出オブジェクト(カメラ)の位置は変わらず、検出方向のみが仮想時刻「0」の(1.0)から、仮想時刻「1」の(0.95,0.3)に変化している。
検出オブジェクト設定手段21は、予め定められたシナリオやアルゴリズムによって、検出オブジェクトの検出方向を変更してよい。
【0055】
図2を参照する。検出領域設定手段22は、移動可能領域110内に存在する個体を検出する検出領域を設定する。
検出領域設定手段22は、例えば検出オブジェクトによって個体を検出する検出領域を設定してよい。この場合には、検出オブジェクト記憶手段33に記憶された検出オブジェクトの位置に応じて検出領域の位置及び範囲を設定する。
【0056】
検出領域設定手段22は、例えば
図9(a)に示すように検出オブジェクト150の近傍に検出領域151を設定してよい。例えば、検出領域151は、検出オブジェクト150の位置を中心とする円であってよい。
検出領域設定手段22は、例えば
図9(b)に示すように検出オブジェクト150の進行方向(移動方向)上に検出領域151を設定してよい。例えば、検出オブジェクト150から所定距離離れた進行方向上の位置に検出領域151を設定してよい。
【0057】
また、検出領域設定手段22は、例えば
図9(c)に示すように検出方向が逐次変化する検出領域151を、カメラである検出オブジェクト150の検出領域151として設定してよい。
また、検出領域は、検出オブジェクト設定手段21によって設定された検出オブジェクトによる検出領域でなく、固定範囲内の個体を検出する領域であってもよい。これにより定点カメラや立哨による固定的な検出領域を表現できる。
【0058】
なお、検出領域151の形状は、円形に限定されない。例えば、検出領域151の形状は多角形であってもよく、
図9(d)に示すように扇型であってもよい。また、検出オブジェクト150が赤外線センサなどのラインセンサである場合、
図9(e)に示すように線分を検出領域151として設定してもよい。
また、対象空間が3次元空間であるシミュレーションにおいては、
図9(f)に示すような多面体の検出領域151を設定してもよい。
【0059】
図2を参照する。検出領域記憶手段34は、検出領域設定手段22によって設定された検出領域に関する情報である検出領域情報を記憶する。
図9(g)に検出領域情報152の一例を示す。検出領域情報152は、検出領域IDと、オブジェクトID、位置、半径を含んでいてよい。
図9(g)の例では、円形の検出領域を設定する例を示している。
【0060】
検出領域IDは、検出領域の識別子である。
オブジェクトIDは、当該検出領域において個体を検出する検出オブジェクトのオブジェクトIDである。検出領域設定手段22は、オブジェクトIDで指定された検出オブジェクトの位置に応じて検出領域の位置及び範囲を設定する。
位置及び半径は、検出領域の位置及び半径を示す。
図9(g)の例では、検出領域ID「0」の検出領域は、オブジェクトID「0」の検出オブジェクトの検出領域であり、位置(8,12.5)を中心とする半径「1.5」の円径領域である。
【0061】
なお、例えば
図9(d)に示すような扇型の検出領域151の場合には、検出領域情報152は、扇型の中心点、中心角、中心方向及び半径の情報を含んでよい。
図9(e)に示すような線分の検出領域151の場合には、検出領域情報152は、線分の方向及び長さの情報を含んでよい。
図9(f)に示すような多面体の検出領域151の場合には、検出領域151を形成する面の座標情報を含んでよい。多角形の場合には、多角形の頂点や辺の座標情報を含んでよい。
【0062】
図2を参照する。追加誘導領域設定手段23は、群集制御から逸脱した個体が発生した場合に、動的に対応して状況を正常化するために特定の個体を誘導する誘導領域を追加する。以下、追加誘導領域設定手段23により追加される誘導領域を「追加誘導領域」と表記する。
追加誘導領域設定手段23は、特定の個体に対応付けて追加誘導領域を設定する。以下、追加誘導領域に対応付けられた個体を「対象個体」と表記する。追加誘導領域は、対象個体のみを誘導する(すなわち誘引又は排斥する)誘導領域である。
【0063】
図10(a)を参照する。
図10(a)の例では、個体が立ち入ることが許可されている立ち入り許可エリアとして、個体を誘引する固定誘導領域126が設定されている。また、検出オブジェクト150による検出領域151が、固定誘導領域126(すなわち立ち入り許可エリア)の外側に設定されており、検出領域151において固定誘導領域126からはみ出した個体iが検出される。
【0064】
例えば、追加誘導領域設定手段23は、検出領域151において個体iが検出されたか否かを判定し、検出領域151において個体iが検出された場合に、検出された個体iを対象個体とする追加誘導領域160を移動可能領域110内に設定してよい。
また例えば、検出領域151において個体iが検出されたか否かを判定し、検出された個体iが固定誘導領域126(すなわち立ち入り許可エリア)の外側に位置するか否かを判定し、検出された個体iが固定誘導領域126の外側に位置する場合に、追加誘導領域160を設定してもよい。
【0065】
このとき追加誘導領域設定手段23は、例えば、固定誘導領域126内であって、固定誘導領域126とその外側との境界面BFの近傍に、対象個体iを誘引する追加誘導領域160を設定してよい。追加誘導領域設定手段23は、固定誘導領域126の全域と同じ範囲を有する個体iを誘引する追加誘導領域を設定してもよい。これにより、個体iを誘引する固定誘導領域126の誘導力度が大きくなったのと同じ効果を奏する。
図10(a)の例では、対象個体iに最も近く、境界面BFの近傍の固定誘導領域126内の位置に、所定の大きさの矩形形状の追加誘導領域160が設定されている。例えば追加誘導領域160は、対象個体iの位置から固定誘導領域126に下ろした垂線の足を中心線とする固定誘導領域126に沿った一定幅の矩形領域であってよい。すなわち、追加誘導領域設定手段23は、対象個体iの位置に応じて、追加誘導領域160の位置を設定してよい。
なお、追加誘導領域160の形状は矩形形状に限定されず、例えば円や矩形以外の多角形であってもよい。
【0066】
また、追加誘導領域160の範囲(大きさ)は、固定値でもあってもよく動的に変更してもよい。例えば、追加誘導領域160によって誘導された個体iが誘導先の固定誘導領域126に存在する他の個体と衝突しないように、誘導先の固定誘導領域126に存在する他の個体の位置や配置密度に応じて、追加誘導領域160の範囲(大きさ)を変更してもよい。
【0067】
追加誘導領域を設定した場合に追加誘導領域設定手段23は、追加誘導領域による対象個体に対する誘導力の強さである誘導力度を設定する。
追加誘導領域設定手段23は、例えば、群集制御からの対象個体iの逸脱度合いに応じて誘導力度を設定する。例えば、逸脱度合いが大きいほどより強い誘導力度を設定してよい。
図10(a)の例では、固定誘導領域126から個体iまでの距離が長いほど逸脱度合いがより大きいと決定してよい。
【0068】
また追加誘導領域設定手段23は、立ち入り許可エリアである固定誘導領域126の外側の領域(すなわち立ち入り禁止エリア)に対象個体iが滞在する滞在時間に応じて逸脱度合を定めてよい。例えば、固定誘導領域126の外側に対象個体iが滞在する滞在時間が長いほど、逸脱度合いがより大きいと決定してよい。
【0069】
また、追加誘導領域設定手段23は、固定誘導領域126の外側の領域(すなわち立ち入りが許可されていない立ち入り禁止エリア)に、個体iを排斥する追加誘導領域を設定してもよい。
さらに、
図10(a)では検出領域151が固定誘導領域126(すなわち立ち入り許可エリア)の外側に設定される例を示したが、これに代えて、個体を排斥する固定誘導領域が立ち入り禁止エリアとして設定された場合には、この固定誘導領域の内側に検出領域151を設定してもよい。
この場合、検出領域151で検出した個体が、個体を排斥する固定誘導領域内に位置する場合に、追加誘導領域設定手段23は、個体を排斥する固定誘導領域の内側に個体を排斥する追加誘導領域を設定してもよく、個体を排斥する固定誘導領域の外側に個体を誘導する追加誘導領域を設定してもよい。これにより、個体を排斥する固定誘導領域の誘導力度が大きくなったのと同じ効果を奏する。
【0070】
図10(b)及び
図10(c)は、立ち入り許可エリアとして、個体を誘引する複数の固定誘導領域126a及び126bが設定され、固定誘導領域126a内に存在していた対象個体iが経路161に沿って移動することで固定誘導領域126aからはみ出し、検出領域151にて検出された状況を例示している。
この場合、
図10(b)に示すように、個体iが直前に存在していた固定誘導領域126a内に、対象個体iを誘引する追加誘導領域160を設定してもよい。また、
図10(c)に示すように、対象個体iに最も近い固定誘導領域126b内に、個体iを誘引する追加誘導領域160を設定してもよい。
【0071】
この場合、追加誘導領域設定手段23は、固定誘導領域126a又は固定誘導領域126bから対象個体iまでの距離に応じて、群集制御からの対象個体iの逸脱度合いを決定してよい。例えば、
図10(d)に示すように個体iが直前に存在していた固定誘導領域126aから対象個体iまでの距離d1に応じて逸脱度合いを決定してもよく、対象個体iに最も近い固定誘導領域126bから対象個体iまでの距離d2に応じて逸脱度合いを決定してよい。例えば、距離d1又はd2が長いほど逸脱度合いがより大きいと決定してよい。
【0072】
また、対象個体iが、固定誘導領域126a及び固定誘導領域126bの外側の領域を移動した移動距離Lや、固定誘導領域126a及び固定誘導領域126bの外側の領域に滞在した滞在時間に応じて、逸脱度合いを決定してもよい。例えば、移動距離Lや滞在時間が長いほど逸脱度合いがより大きいと決定してよい。
【0073】
図10(e)を参照する。追加誘導領域設定手段23は、対象個体iを検出した検出オブジェクト150(すなわち、対象個体iが検出された検出領域151を有する検出オブジェクト)の位置に応じて追加誘導領域160の位置を設定してもよい。
図10(e)の例では、検出オブジェクト150の近傍に、対象個体iを誘引する追加誘導領域160を設定する。例えば追加誘導領域160は、検出オブジェクト150の位置を中心とする円であってよい。
【0074】
検出オブジェクト150の近傍に対象個体iを誘引する追加誘導領域160を設定することにより、警備員である検出オブジェクト150に対象個体iが拘束・連行される状況を表現できる。
このため、例えば、群集制御からの対象個体iの逸脱度合いが大きい場合に追加誘導領域160を検出オブジェクト150の近傍に設定し、逸脱度合いが小さい場合には追加誘導領域160を固定誘導領域126内に設定してもよい。
すなわち、対象個体iの逸脱度合いに応じて追加誘導領域160の位置を決定してもよい。例えば、対象個体iの位置又は検出オブジェクト150の位置のどちらに基づいて追加誘導領域160の位置を設定するかを、逸脱度合いに応じて切り換えてもよい。
【0075】
追加誘導領域設定手段23は、対象個体iの移動態様に応じて群集制御からの対象個体iの逸脱度合いを決定してもよい。
図11(a)は、移動態様の例として対象個体iの速度(移動量)に応じて逸脱度合いを決定する例を示す。例えば、固定誘導領域126(すなわち立ち入り許可エリア)に制限速度を設定してもよい。例えば
図4に示す固定誘導領域には制限速度「1.5」が設定されている。
この場合には対象個体iの速度が制限速度を超過する速度超過量に応じて、群集制御からの対象個体iの逸脱度合いを決定してもよい。例えば、速度超過量が大きいほど逸脱度合いが大きいと決定してよい。
【0076】
図11(a)の例において、追加誘導領域設定手段23は逸脱度合いに応じて対象個体iを誘引する追加誘導領域160を固定誘導領域126の外側に設定するか否かを決定する。例えば、速度超過量が閾値を超えた場合に追加誘導領域160を設定し、速度超過量が閾値以下の場合に追加誘導領域160を設定しない。すなわち、追加誘導領域設定手段23は、逸脱度合いに応じて追加誘導領域160を設定するか否かを決定してよい。
これにより、例えば速度制限のある道路を走行する車両を個体とする群集制御を行うシミュレーションにおいて、速度超過量の閾値を超えて車両を走路(固定誘導領域126)外側の路肩に移動させる制御を表現できる。
【0077】
図11(b)は、移動態様の例として対象個体iの移動方向に応じて逸脱度合いを決定する例を示す。例えば、固定誘導領域126(すなわち立ち入り許可エリア)における移動方向に制限を設定してもよい。例えば
図4に示す固定誘導領域ID「i」の固定誘導領域には、規定方向(-1,0)の移動が許可されている。
この場合には対象個体iの進行方向(移動量)と規定方向との間の角度差に応じて、群集制御からの対象個体iの逸脱度合いを決定してもよい。例えば、角度差が大きいほど逸脱度合いが大きいと決定してよい。
【0078】
図11(b)の例において、追加誘導領域設定手段23は逸脱度合いに応じて対象個体iを誘引する追加誘導領域160を固定誘導領域126の外側に設定するか否かを決定する。例えば、角度差が閾値を超えた場合に追加誘導領域160を設定し、角度差が閾値以下の場合に追加誘導領域160を設定しない。
【0079】
なお、追加誘導領域160は、対象個体iや検出オブジェクト150の位置に関わらず、固定された位置に設定してもよい。これにより、予め定められた領域(例えば別室など)に誘導する状況を表現できる。
【0080】
図2を参照する。追加誘導領域記憶手段35は、追加誘導領域設定手段23によって設定された追加誘導領域の情報である追加誘導領域情報を記憶する。
図11(c)に追加誘導領域情報161の一例を示す。追加誘導領域情報161は、追加誘導領域ID、個体ID、座標情報、誘導力を含んでよい。
追加誘導領域IDは、追加誘導領域の識別子である。
個体IDは、当該追加誘導領域に対応付けられた対象個体の個体IDである。
【0081】
座標情報は、当該追加誘導領域の位置を示す。誘導力度は、当該追加誘導領域の誘導力の強さの度合いを示す。
図11(c)の例では、追加誘導領域ID「0」の追加誘導領域は、個体ID「12」の対象個体に対応付けられ、位置(15,10)、(15,5)、(18,5)、(18,10)を頂点とする矩形領域と誘導力度「3.0」を持ち、対象個体を誘引する。
【0082】
追加誘導領域ID「1」の追加誘導領域は、個体ID「56」の対象個体に対応付けられ、中心点(12,12)及び半径2の円径領域と誘導力度「-3.0」を持ち、対象個体を排斥する。
なお、多角形の追加誘導領域の場合、追加誘導領域情報161は、多角形の頂点や辺の座標情報を含んでよい。
【0083】
図2を参照する。行動決定手段40は、各仮想時刻tにおいて、空間情報記憶手段30が記憶している空間情報、固定誘導領域記憶手段31が記憶している固定誘導領域情報、および個体情報記憶手段32が記憶している個体情報、追加誘導領域記憶部35が記憶している追加誘導領域情報を参照する。
行動決定手段40は、これらの情報に基づいて、個体ごとの行動パラメータを決定し(すなわち個体ごとの行動を決定し)、決定した行動パラメータを個体情報変更手段41に出力する。
【0084】
具体的には、行動決定手段40は各仮想時刻tにおける個体の移動量を決定する。
まず、行動決定手段40は、個体i(i=1,2,…,M)のそれぞれについて、仮想時刻tにおいて個体iが自身の位置を選択目標位置に近付けるための加速度ベクトルei(t)を算出する。
【0085】
行動決定手段40は、個体情報記憶手段32から個体iの位置xi(t)と個体iの選択目標位置を読み出すとともに、空間情報記憶手段30から選択目標位置の代表点と移動可能領域110と中間目標点を読み出す。
行動決定手段40は、移動可能領域内110において、個体iの位置xi(t)と選択目標位置の代表点を結ぶ経路、および任意の中間目標点を介して個体iの位置xi(t)と代表点を結ぶ経路のうちの最短経路を選択する。このとき、行動決定手段40は、移動可能領域110から逸脱する経路を選択対象から除外してもよい。
【0086】
次に、行動決定手段40は、選択した最短経路上の中間目標点と選択目標位置の代表点のうちの個体iの位置xi(t)から最も近い点を短期目標点として特定する。最短経路が中間目標点を通らない場合には、選択目標位置の代表点が短期目標点として特定される。最短経路が複数の中間目標点を通る場合には、これら中間目標点のうち個体iの位置xi(t)に最も近い中間目標点が短期目標点として特定される。
行動決定手段40は、個体iの位置xi(t)から短期目標点に向かう単位ベクトルを選択目標位置に近付ける加速度ei(t)として算出する。
【0087】
図12(a)を参照する。この例では、移動可能領域110から逸脱する経路R0を選択対象から除外した結果、個体iの位置x
i(t)と中間目標点Pi2と選択目標位置IIの代表点Pt2を結ぶ経路R1が最短経路であり、中間目標点Pi2が短期目標点として選択される。
なお、中間目標点を設定せずに、個体iの位置x
i(t)から選択目標位置の代表点に向かう単位ベクトルeをベクトルe
i(t)として算出してもよい。
【0088】
次に行動決定手段40は、個体i(i=1,2,…,M)のそれぞれについて、仮想時刻tにおいて固定誘導領域から個体iに対して作用する誘導力により、個体iを固定誘導領域に近付ける又は固定誘導領域から遠ざけるための加速度ベクトルai(t)を算出する。
【0089】
行動決定手段40は、個体情報記憶手段32から個体iの位置xi(t)と個体iの選択目標位置と個体iの作用領域情報を読み出し、固定誘導領域記憶手段31から固定誘導領域の情報を読み出す。
行動決定手段40は、個体iの位置xi(t)と個体iの作用領域情報に基づいて対象空間内における個体iの作用領域Riを算出する。行動決定手段40は、固定誘導領域の中から、作用領域Riとの重複領域を有し且つ選択目標位置と同じ移動目標位置に対応付けられている固定誘導領域を検出する。
【0090】
作用領域Riと固定誘導領域との重複領域を検出する際に、行動決定手段40は、作用領域Ri内に中心角方向および放射方向に等間隔で複数のサンプル点Psを設定する。サンプル点Psのいずれかが固定誘導領域に含まれる場合、行動決定手段40は、作用領域Riと固定誘導領域との重複領域があると判定する。
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている固定誘導領域が検出された場合、行動決定手段40は、個体iが当該固定誘導領域の誘引対象個体ξであると判定し、次式(1)に従い0ベクトルではないベクトルai(t)を算出する。
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている固定誘導領域が検出されない場合、行動決定手段40は、個体iが固定誘導領域の誘引対象個体ξでないと判定し、次式(2)に従ってベクトルai(t)を0ベクトルとする。
【0091】
【0092】
図12(b)を参照する。この例では、扇形の図形Riが個体iの作用領域であり、作用領域Ri内に描画されている16点がサンプル点Psである。
図12(b)においてハッチングされた領域Roが、作用領域Riと固定誘導領域との重複領域である。これらのサンプル点Psのうちの1点以上をその内側に含む固定誘導領域123(ID=iii)と固定誘導領域126(ID=vi)のうち、選択目標位置IIと対応付けられている固定誘導領域126が検出される。
【0093】
式(1)において添え字rは、固定誘導領域内に含まれるサンプル点のインデックスであり、Σrは固定誘導領域内に含まれるサンプル点についての総和を示す。
また、ベクトルxr(t-1)は、仮想時刻(t-1)における個体iの作用領域Riに設定され且つ固定誘導領域内に含まれたサンプル点(すなわち重複領域Ro内のサンプル点)の座標である。ベクトルxi(t-1)は、仮想時刻(t-1)における個体iの位置の座標である。また、Normalize(・)はベクトルを単位ベクトル化(正規化)する演算子である。
【0094】
ベクトルxr(t-1)とベクトルxi(t-1)の差ベクトルは、個体iの位置から、作用領域Riと固定誘導領域との重複領域Roへと向かう方向を表すベクトルを表す。
また、変数Srはサンプル点rを含む固定誘導領域に設定されている誘導力度を示す。式(1)において誘導力度Srは、ベクトルxr(t-1)とベクトルxi(t-1)の差ベクトルに乗じられる。
【0095】
式(1)のベクトルai(t)は、個体iの位置から重複領域Roへと向かう方向を表す単位ベクトルを、固定誘導領域の誘導力度で重み付けて平均した加重平均ベクトルである。したがって、固定誘導領域126が個体iを誘引する領域である場合(すなわち誘引度Srが正の値である場合)、重複領域Ro内の加重平均点へと向かうベクトルとなる。
このため、式(1)に従うことにより、個体iの選択目標位置に対応する固定誘導領域へと個体iを近付ける方向を示すベクトルを、個体iを固定誘導領域に近付ける加速度ai(t)として算出できる。
反対に、固定誘導領域126が個体iを排斥する領域である場合(すなわち誘引度Srが負の値である場合)には、個体iを固定誘導領域から遠ざける加速度ai(t)を算出できる。
【0096】
次に、行動決定手段40は、追加誘導領域情報を参照し、追加誘導領域に対応付けられている対象個体を特定する。行動決定手段40は、対象個体iのそれぞれについて、仮想時刻tにおいて追加誘導領域から個体iに対して作用する誘導力により、個体iを追加誘導領域に近付ける又は追加誘導領域から遠ざけるための加速度ベクトルbi(t)を算出する。
【0097】
行動決定手段40は、個体情報記憶手段32から個体iの位置x
i(t)を読み出し、追加誘導領域記憶手段35から追加誘導領域の情報を読み出す。
図13(b)を参照する。行動決定手段40は、追加誘導領域160の代表位置x
p(t)を決定する。追加誘導領域160の代表位置x
p(t)は、例えば、個体iの位置x
i(t)から最も近い追加誘導領域160内の位置であってよい。行動決定手段40は、個体iの位置x
i(t)と、追加誘導領域160の代表位置x
p(t)と、追加誘導領域160の誘導力度Srに基づいて、次式(3)の加速度ベクトルb
i(t)を算出する。
【0098】
【0099】
式(3)のベクトルbi(t)は、個体iの位置から代表位置xp(t)へと向かう方向を表す単位ベクトルを、追加誘導領域の誘導力度Srで重み付けしたベクトルである。したがって、追加誘導領域160が個体iを誘引する領域である場合(すなわち誘引度Srが正の値である場合)、代表位置xp(t)へと向かうベクトルとなる。
反対に、追加誘導領域160が個体iを排斥する領域である場合(すなわち誘引度Srが負の値である場合)、ベクトルbi(t)は代表位置xp(t)から遠ざかるベクトルとなる。
【0100】
そして行動決定手段40は、次式(4)に従って選択目標位置に近付ける加速度e
i(t)、固定誘導領域の誘導による加速度a
i(t)、追加誘導領域の誘導による加速度b
i(t)を合成することにより仮想時刻tにおける個体iの加速度ベクトルΔv
i(t)を算出する。
図13(b)は式(6)のベクトル合成の説明図である。
【0101】
【0102】
行動決定手段40は、1時刻前の時刻(t-1)の個体iの移動量に加速度Δvi(t)を加算して時刻tの個体iの移動量を算出する(式(5))。
式(5)中、ベクトルvi(t)は時刻tの個体iの移動量である。また、ベクトルvi(t-1)は、個体情報記憶手段32から読み出して取得される1時刻前の時刻(t-1)の個体iの移動量である。
【0103】
【0104】
このように、追加誘導領域による加速度bi(t)を加えて得られる加速度Δvi(t)に基づいて移動量を算出することによって、群集制御から逸脱した個体が発生した場合に、特定の対象個体に対応付けた追加誘導領域を動的に追加し、対象個体を誘導することによって状況を正常化する過程を表現することが可能となる。
【0105】
図2を参照する。個体情報変更手段41は個体情報の新規作成、更新及び削除を行う。
個体情報を新規作成する際、個体情報変更手段41は、条件設定手段20により設定された条件に従って適宜に新規の個体情報を作成し、個体情報記憶手段32に追加記憶させる。
個体情報を更新する際、個体情報変更手段41は、各個体の状態値を当該個体の行動パラメータにて更新する。
【0106】
本実施形態においては、個体情報変更手段41は、状態値のうちの位置に、行動パラメータのうちの移動量を加算することによって更新を行う。具体的には、個体情報変更手段41は、個体情報記憶手段32から各個体の位置と移動量とを読み出し、個体ごとに、読み出した位置に読み出した移動量を加算して加算後の位置を個体情報記憶手段32に記憶させる。
【0107】
個体情報変更手段41は、移動目標位置に到達した個体を削除する。この処理は、該当する個体の個体情報を行動決定手段40の処理対象外に設定することを意味する。
また、追加誘導領域設定手段23は、追加誘導領域情報から追加誘導領域に対応付けられた対象個体を特定し、特定した対象個体が群集制御から逸脱している状態が解消されたか否かを判定する。例えば、立ち入り許可エリアからはみ出していた対象個体が立ち入り許可エリア内に到達したか否かを判定する。また例えば、立ち入り禁止エリアに滞在する対象個体が、立ち入り禁止エリアから退去したか否かを判定する。
対象個体が群集制御から逸脱している状態が解消された場合、追加誘導領域設定手段23は、対象個体に対応付けられた追加誘導領域を削除する。
【0108】
予測結果出力手段43は、シミュレーションの結果である予測結果を出力する。予測結果は、個体情報記憶手段32に記憶されている情報の一部または全部を少なくとも含み、好適には、さらに空間情報記憶手段30に記憶されている情報の一部または全部を含む。また、予測結果出力手段43は、個体情報記憶手段32に記憶されている情報、または該情報と空間情報記憶手段30に記憶されている情報とを統計処理し、得られた統計量を予測結果として出力してもよい。
【0109】
予測結果の出力タイミングは、シミュレーションを終えた時点の他に、シミュレーションの途中を含んでもよい。つまり、シミュレーションの途中までに得られた上記情報の一部または全部を中間予測結果として出力してもよい。
【0110】
また、予測結果出力手段43は、予測結果をデータファイルとして出力してもよいし、画像ファイルとして出力してもよいし、画像として表示してもよいし、これらのうちの1以上の形式で出力してもよい。
予測結果出力手段43は、出口を含む対象空間の地図を画像化するとともに当該画像上の各個体の位置と対応する座標に個体を表す図形を重畳描画して予測結果の画像を生成し、生成した画像をファイルとして出力し、および/または表示部6に出力する。
【0111】
(シミュレーター1の動作例)
図14及び
図15のフローチャートを参照してシミュレーター1の動作例を説明する。
ステップS1において、条件設定手段20が利用者からの入力を受け付けてシミュレーションの条件を設定する。すなわち、利用者が条件設定手段20を用いて手入力することによって得られたシミュレーションの条件を、空間情報記憶手段30、固定誘導領域記憶手段31、個体情報記憶手段32に設定する。シミュレーションの条件は、利用者が条件設定手段20を用いてファイルを指定しそれに応じた条件設定手段20が該当するファイルから読み出して取得してもよい。
また、検出オブジェクト設定手段21が利用者からの入力を受け付けて検出オブジェクトを設定する。
【0112】
ステップS2においてシミュレーター1は、仮想時刻を0に初期化してステップS3~S9のループ処理を設定する。
仮想時刻のループ処理では、ステップS3にて行動決定手段40は、各個体の移動量を算出する行動決定処理を行う。
図15を参照してステップS3の行動決定処理を説明する。
ステップS30において行動決定手段40は、現存する個体の各々を順次処理対象の個体iに設定する。
【0113】
ステップS31において行動決定手段40は、個体iを選択目標位置に近付ける加速度ei(t)を算出する。
ステップS32において行動決定手段40は、個体iの作用領域Riを算出する。
ステップS33において行動決定手段40は、上式(1)、(2)に従って固定誘導領域の誘導による加速度ai(t)を算出する。
【0114】
ステップS34において行動決定手段40は、上式(3)に従って追加誘導領域の誘導による加速度bi(t)を算出する。
ステップS35において行動決定手段40は、式(4)にしたがって加速度ei(t)、加速度ai(t)、及び加速度bi(t)をベクトル合成することにより、個体iの加速度Δvi(t)を算出する。
【0115】
ステップS36において行動決定手段40は、1時刻前の時刻(t-1)の個体iの移動量に加速度Δv
i(t)を加算して時刻tの個体iの移動量を算出する(式(5))。行動決定手段40は、算出した個体iの移動量を個体情報記憶手段32に記憶する。
ステップS37において行動決定手段40は、現存する個体の全てについて処理を完了したか否かを判定する。現存する個体の全てについて処理を完了した場合(S37:Y)に行動決定処理は終了し、処理は
図14のステップS4へ戻る。現存する個体の全てについて処理を完了していない場合(S37:N)に処理はS31へ戻る。
【0116】
図14を参照する。ステップS4において個体情報変更手段41は、現存する個体の情報量を更新する。具体的には、個体情報変更手段41は、個体情報記憶手段32から各個体の位置と移動量とを読み出し、個体ごとに、読み出した位置に読み出した移動量を加算し、加算後の位置を個体情報記憶手段32に記憶させる。
ステップS5において個体情報変更手段41は、生成時刻が到来した新規の個体情報を作成し、個体情報記憶手段32に追加記憶させる。
【0117】
ステップS6において個体情報変更手段41は、移動目標位置に到達した個体を削除する。
ステップS7において追加誘導領域設定手段23は、群集制御から逸脱している状態が解消した対象個体に対応付けられた追加誘導領域を削除する。
【0118】
ステップS8において個体情報変更手段41は、個体情報記憶手段32に記憶されている全ての個体が移動目標位置に到達したか否かを判定する。全ての個体が移動目標位置に到達した場合(S8:Y)に処理はステップS10へ進む。移動目標位置に到達していない個体が残っている場合(S8:N)に処理はステップS9へ進む。
【0119】
ステップS9においてシミュレーター1は、仮想時刻を1だけ進めて処理をステップS3に戻す。
ステップS10において予測結果出力手段43は、シミュレーションの結果である予測結果を出力する。その後に処理は終了する。
【0120】
(変形例1)
なお、上記の実施例では、追加誘導領域を設定することによって、誘導領域により個体を誘導する誘導力を変更した。これに代えて、群集制御から逸脱した個体を検出した場合に、固定誘導領域の誘導力度を変更することによって、個体を誘導する誘導力を変更してもよい。
例えば、
図10(a)に示す例において、検出領域151において固定誘導領域126からはみ出した個体iが検出された場合に、追加誘導領域160を設定する代わりに、固定誘導領域126の誘導力度を変更してもよい。
【0121】
例えば、追加誘導領域160を固定誘導領域126内に設定する代わりに、固定誘導領域126の誘導力度を増加させてもよい。このとき、群集制御からの個体iの逸脱度合いに応じて固定誘導領域126の誘導力度を設定してもよい。
対象個体のみに作用する追加誘導領域160の誘導力と異なり、固定誘導領域126の誘導力は、対象個体以外の個体にも作用する。固定誘導領域126の誘導力を変更させることにより、群集制御から逸脱した個体iを誘導する際に、その周りにいる他の個体も影響を受けて誘導される過程を表現できる。
【0122】
(変形例2)
以下の変形例2~変形例4では、対象個体を排斥する追加誘導領域を例示する。
図16(a)を参照する。群集制御から逸脱した個体i0が検出領域151で検出された場合に、追加誘導領域設定手段23は、個体i0の近傍に、他の個体i1を排斥する追加誘導領域160を設定してもよい。
群集制御から逸脱した個体i0として、例えば、移動量が0の期間(静止している期間)が所定長以上続いている個体を検出してもよい。これにより例えば、体調不良などの理由により個体i0が動けなくなったときに、安全が確保されるまで個体i0の周囲を立ち入り禁止にする状況を表現できる。
【0123】
この場合、追加誘導領域設定手段23は、検出領域151で検出された個体i0の位置に基づいて追加誘導領域160を設定する。
図16(a)の例では、個体i0を中心とする半径r0の円を追加誘導領域160として設定する。また、追加誘導領域160内に滞在する他の個体i1を対象個体として設定する。さらに、個体i0と対象個体i1との間の距離dに基づいて、追加誘導領域160の誘導力度を設定する。例えば、距離dが短いほど強い排斥力の誘導力度を設定する。
【0124】
また、追加誘導領域160の範囲(大きさ)は、固定されていてもよく動的に変更してもよい。
図16(b)を参照する。検出オブジェクト設定手段21は、群集制御から逸脱した個体i0を検出した場合に、検出オブジェクト記憶手段33に記憶されている検出オブジェクトのうち、監視員やドローンなど移動可能な検出オブジェクトを個体i0に対応付け、個体i0の近傍に集合するようにこれらの検出オブジェクトの位置を制御してもよい。
【0125】
例えば、検出オブジェクト設定手段21は、個体i0から所定の距離r1の範囲内の検出オブジェクト150a及び150bを個体i0に対応付け、個体i0の近傍に集合するように検出オブジェクト150a及び150bの位置を制御してもよい。
追加誘導領域設定手段23は、個体i0の近傍に集合した検出オブジェクト150bの個数に応じて追加誘導領域160の大きさを変化させてよい。例えば、個体i0から所定の距離r2(r2<r1)の範囲内の検出オブジェクト150bの個数を、個体i0の近傍に集合した検出オブジェクトの個数としてよい。個体i0の近傍に集合した検出オブジェクトの個数が多いほど、より大きな追加誘導領域160を設定してよい。
【0126】
(変形例3)
図16(c)を参照する。移動可能領域内に存在する特定の物体や人物(以下「特定の物体等」と表記する)162から離れた位置に、個体を誘引する固定誘導領域124を立ち入り許可エリアとして設定した場合を想定する。特定の物体等162は、例えば貴重品やVIP、有名人であってよい。
群集制御から逸脱した個体として、固定誘導領域124の外側にはみ出して特定の物体等に接近する個体iを検出領域151で検出する。
【0127】
この場合に、固定誘導領域124の外側の特定の物体等162の位置に応じて、個体iを排斥する追加誘導領域160を設定してもよい。例えば、特定の物体等162の近傍に追加誘導領域160を設定してもよい。
これにより、立ち入り許可エリアから離れて、特定の物体等162に接近しようとする個体iを阻止する状況を表現できる。
【0128】
固定誘導領域124からはみ出した個体iが検出領域151で検出されると、追加誘導領域設定手段23は、特定の物体等162の位置に応じて追加誘導領域160を設定する。また、個体iを追加誘導領域160の対象個体に設定する。さらに、個体iと特定の物体等162との間の距離dに基づいて、追加誘導領域160の誘導力度を設定する。例えば、距離dが短いほど強い排斥力の誘導力度を設定する。
【0129】
(変形例4)
図16(d)を参照する。この例では、所定エリア内に存在する個体i0、i1、i2及びi3どうしの間の間隔を一定距離以上に維持する群集制御を想定する。
群集制御から逸脱した個体として、ある個体i0から閾値距離未満の範囲内へ近づく他の個体i1を検出領域151で検出する。
この場合に、個体i0との間の距離が短くなる方向に移動する他の個体i1を排斥する追加誘導領域160を、個体i0の位置に応じて設定してよい。例えば、個体i0の近傍に追加誘導領域160を設定してよい。
【0130】
これにより、例えば所定エリア内において個体間のソーシャルディスタンス(フィジカルディスタンス)を守る群集制御を表現できる。
ある個体i0から閾値距離未満の範囲内へ近づく他の個体i1が、検出領域151で検出されると、追加誘導領域設定手段23は、個体i0の位置に応じて追加誘導領域160を設定する。
図16(d)の例では追加誘導領域160は個体i0を中心とし、上記閾値距離を半径とする円である。
また、個体iを追加誘導領域160の対象個体に設定する。さらに、個体i0と対象個体i1との間の距離dに基づいて、追加誘導領域160の誘導力度を設定する。例えば、距離dが短いほど強い排斥力の誘導力度を設定する。
【0131】
(実施形態の効果)
(1)所定の空間における個体の移動を予測するシミュレーター1は、空間を規定する空間情報を記憶している空間情報記憶手段30と、個体に誘引又は排斥する誘導力が作用する誘導領域、及び当該誘導領域ごとに誘導力の強さである誘導力度を記憶する誘導領域記憶手段31、32と、空間における個体の位置を少なくとも含む個体情報を記憶する個体情報記憶手段32と、誘導力が強い誘導領域ほど個体を誘導するように個体の移動量を設定する行動決定手段40と、個体の位置を移動量に応じて更新する個体情報変更手段41と、個体の位置又は移動態様に応じて誘導領域の誘導力度を更新する誘導領域設定手段23と、を備える。
これにより、群集制御から個体が逸脱する状況が発生した場合に、誘導領域の誘導力度を更新することにより群集制御を動的に変更できる。このため、群集制御から個体が逸脱する状況に動的に対応して状況を正常化する過程を表現できる。
【0132】
(2)誘導領域設定手段23は、誘導領域と個体の位置との距離に応じて誘導力度を更新してよい。これにより、誘導領域と個体の位置との距離に応じて誘導力度を動的に更新することができる。
(3)誘導領域設定手段23は、個体を誘引する誘導領域の外側領域に個体が滞在した時間に応じて誘導力度を更新してよい。これにより、個体を誘引する誘導領域の外側領域における滞在時間に応じて誘導力度を動的に更新することができる。
【0133】
(4)誘導領域設定手段23は、個体の速さや移動方向に応じて誘導力度を更新してよい。これにより、個体の移動態様に応じて誘導力度を動的に更新することができる。
(5)誘導領域設定手段23は、誘導力度に応じて誘導領域の位置又は範囲を更新してよい。これにより、個体の位置や移動態様に応じて設定された誘導力度に基づいて、誘導領域の設定を変更できる。
【0134】
(6)シミュレーター1は、個体の有無を検出する検出領域を記憶する検出領域記憶手段34を更に備えてもよい。追加誘導領域設定手段23は、検出領域で検出された個体が、個体を誘引する誘導領域の外側又は個体を排斥する誘導領域の内側に位置するとき、当該誘導領域の誘導力度が大きくなるようしてよい。
これにより、誘導領域による誘導に違反する個体に作用させる誘導力度を増大させることができる。
【符号の説明】
【0135】
1…シミュレーター、2…操作入力部、3…ファイル入出力部、4…記憶部、5…制御部、6…表示部、20…条件設定手段、21…検出オブジェクト設定手段、22…検出領域設定手段、23…追加誘導領域設定手段、30…空間情報記憶手段、31…固定誘導領域記憶手段、32…個体情報記憶手段、33…検出オブジェクト記憶手段、34…検出領域記憶手段、35…追加誘導領域記憶手段、40…行動決定手段、41…個体情報変更手段、43…予測結果出力手段