(57)【要約】  シミュレーションの不正確性を抑えつつ歩行者等の行動の計算負荷を軽減するシミュレーション装置等を提供する。シミュレーション装置は、複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択手段と、前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出手段と、前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定手段と、を備える。
2018016558.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択手段と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出手段と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定手段と、
を備えるシミュレーション装置。
【請求項２】
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
請求項１に記載のシミュレーション装置。
【請求項３】
前記セル決定手段は、前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
請求項１または２に記載のシミュレーション装置。
【請求項４】
前記セル決定手段は、前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
請求項１または２に記載のシミュレーション装置。
【請求項５】
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
請求項１から４のいずれか一項に記載のシミュレーション装置。
【請求項６】
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、位置決定手段をさらに備える、
請求項１から５のいずれか一項に記載のシミュレーション装置。
【請求項７】
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
請求項６に記載のシミュレーション装置。
【請求項８】
決定された前記次の位置を、当該移動体モデルの位置として更新する更新手段をさらに備える、請求項６または７に記載のシミュレーション装置と、
前記位置が更新されるたびに前記マップ上の前記移動体モデルの前記位置を表示する表示装置と、
を含むシミュレーションシステム。
【請求項９】
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択し、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出し、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定する、
シミュレーション方法。
【請求項１０】
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
請求項９に記載のシミュレーション方法。
【請求項１１】
前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
請求項９または１０に記載のシミュレーション方法。
【請求項１２】
前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
請求項９または１０に記載のシミュレーション方法。
【請求項１３】
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
請求項９から１２のいずれか一項に記載のシミュレーション方法。
【請求項１４】
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、
請求項９から１３のいずれか一項に記載のシミュレーション方法。
【請求項１５】
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
請求項１４に記載のシミュレーション方法。
【請求項１６】
決定された前記次の位置を、当該移動体モデルの位置として更新し、
前記位置が更新されるたびに前記マップ上の前記移動体モデルの前記位置を表示する、
請求項１４または１５に記載のシミュレーション方法。
【請求項１７】
コンピュータに、
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択処理と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出処理と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定処理と、
を実行させるプログラムを記憶した、コンピュータ読み取り可能な非一時的な記憶媒体。
【請求項１８】
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
請求項１７に記載の記憶媒体。
【請求項１９】
前記セル決定処理は、前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
請求項１７または１８に記載の記憶媒体。
【請求項２０】
前記セル決定処理は、前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
請求項１７または１８に記載の記憶媒体。
【請求項２１】
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
請求項１７から２０のいずれか一項に記載の記憶媒体。
【請求項２２】
前記プログラムは、決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、位置決定処理を、さらに前記コンピュータに実行させる、
請求項１７から２１のいずれか一項に記載の記憶媒体。
【請求項２３】
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
請求項２２に記載の記憶媒体。
【請求項２４】
前記プログラムは、
決定された前記次の位置を、当該移動体モデルの位置として更新する更新処理と、
前記位置が更新されるたびに表示装置に前記マップ上の前記移動体モデルの前記位置を表示させる表示処理と、
を前記コンピュータに実行させる、請求項２２または２３に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、物体の移動のシミュレーションに関する。
【背景技術】
【０００２】
歩道等を移動する歩行者、自転車、車椅子等（以下「歩行者等」とする）の移動の容易さや、歩行者等を所望の方向へ誘導する方法の評価を目的として、歩行者等の移動の様子を計算機上で模擬するシミュレーションが行われる場合がある。このシミュレーションは、例えば市街地等に存在する歩道の状況や、歩道における歩行者等の移動の様子等を数値化することで行われる。【０００３】
特許文献１には、交通シミュレーション装置等が記載されている。特許文献１に記載の技術では、地図情報に基づいて複数生成された歩行者の出発地から目的地までの経路の候補から、経路の各々の危険度を考慮した経路が選択される。そして、選択された経路に従って、歩行者をモデル化した歩行者モデル等を移動させることで、交通状態がシミュレートされる。【０００４】
特許文献２には、いわゆるセルオートマトンに基づく、避難行動シミュレーションシステムが記載されている。特許文献２に記載の避難行動シミュレーションシステムは、建物内又は屋外の空間をセルに分割し、避難者の各々をいずれか１つのセルに配置する。避難者の次の移動先のセルは、離散時間ステップ毎に避難者の密度に応じた規則に基づいて決定される。【０００５】
特許文献３には、群衆歩行シミュレーションシステムが記載されている。特許文献３に記載の群衆歩行シミュレーションシステムでは、歩行者同士、歩行者と障害物との間には距離に依存する反発力が作用し、歩行者と目標地点との間には距離とは無関係な一定の吸引力が作用するように設定される。【０００６】
特許文献４には、歩行者シミュレーション装置等が記載されている。特許文献４に記載の技術では、２点間を結ぶリンク上を進行する擬人モデルに対して、擬人モデル間の間隔を確保するパーソナルスペースを形成し、パーソナルスペース同士の重複が検出された場合、擬人モデルの回避する方向と位置とを決定する。【０００７】
特許文献５には、交通流シミュレーション装置等が記載されている。特許文献５に記載の交通流シミュレーション装置は、１以上のレーンによって構成される通路を移動する移動体の移動先の位置を、前方に障害物があるか否かに応じて決定する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１９９２０号公報
【特許文献２】特開２０１４−２３５４８号公報
【特許文献３】特開平４−７５１９９号公報
【特許文献４】特開２００９−３０１２９５号公報
【特許文献５】特開２００８−１２９８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
歩行者等の移動の様子を模擬するシミュレーションにおいては、多数の歩行者の移動の様子が、その行動特性に基づいて適切に表現されることが好ましい。【００１０】
特許文献１に記載の技術では、経路選択において、モデル化された歩行者同士の影響が考慮されない。【００１１】
特許文献２に記載されるようなセルオートマトンでは、移動体のモデルごとに異なる特徴（移動速度など）を設定することができない。また、現実世界では、道路が様々な方向に延びたり、交差点の形が正方形ではなかったりする場合がある。そのような場合、同一の形のセルのみを用いたセルオートマトンでは、道路の形状を正しく再現できない場合がある。【００１２】
特許文献３、４および５に記載の技術では、歩行者等の移動の様子が再現される場合に、その歩行者等の周囲に存在する多くの他の歩行者等の位置やその他の情報が計算の対象とされる必要がある。すなわち、上述した特許文献３から５に記載の技術では、歩行者等の移動の様子を模擬する際にかかる計算負荷が大きい。【００１３】
本発明は、上記課題に鑑みてなされたものであり、シミュレーションの不正確性を抑えつつ歩行者等の行動の計算負荷を軽減するシミュレーション装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様に係るシミュレーション装置は、複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択手段と、前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出手段と、前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定手段と、を備える。【００１５】
本発明の一態様に係るシミュレーション方法は、複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択し、前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出し、前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定する。【００１６】
本発明の一態様に係るプログラムは、コンピュータに、複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択処理と、前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出処理と、前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定処理と、を実行させる。
【発明の効果】
【００１７】
本発明によれば、シミュレーションの不正確性を抑えつつ歩行者等の行動の計算負荷を軽減できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態におけるシミュレーション装置の構成を示すブロック図である。
【図２】シミュレーションに用いられるマップの例を示す図である。
【図３】マップを構成する区間の例を示す図である。
【図４】マップを構成する交点の例を示す図である。
【図５】区間に位置する移動体モデルの基準方向の例を示す図である。
【図６】交点に位置する移動体モデルの基準方向の例を示す図である。
【図７】第１の実施形態におけるシミュレーション装置の動作の流れの一例を示すフローチャートである。
【図８】第１の実施形態におけるシミュレーション装置の動作の流れの別の例を示すフローチャートである。
【図９】第１の実施形態における移動先決定部の制御構造を表すブロック図である。
【図１０】移動体モデルの移動先となりうる範囲の例を示す図である。
【図１１】移動先の候補のセルの使用量および容量の例を示す図である。
【図１２】移動体モデルの位置を反映した使用量の算出の例を示す図である。
【図１３】移動体モデルの移動の仕方の例を示す図である。
【図１４】第１の実施形態における移動先決定部の動作の流れの例を示すフローチャートである。
【図１５】第１の実施形態における移動先決定部の動作の流れの別の例を示すフローチャートである。
【図１６】区間をハニカム状に配列されたセルで構成する例を示す図である。
【図１７】本発明の主要な構成を示すブロック図である。
【図１８】本発明の主要な構成の動作の流れを示すフローチャートである。
【図１９】本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
【００２０】
＜＜第１の実施形態＞＞
まず、本発明の第１の実施形態について説明する。
【００２１】
＜構成＞
図１は、第１の実施形態に係るシミュレーション装置１１の構成を示すブロック図である。
【００２２】
図１に示すとおり、シミュレーション装置１１は、マップ生成部１１０と、モデル生成部１１１と、制御部１１２と、モデル選択部１１３と、移動先決定部１１４と、更新部１１５と、を備える。また、シミュレーション装置１１は、表示装置２１と通信可能に接続される。
【００２３】
＝＝＝マップ生成部１１０＝＝＝
マップ生成部１１０は、マップ５０を生成する。
【００２４】
（マップ５０）
マップ５０について説明する。
【００２５】
マップ５０は、シミュレーション装置１１によるシミュレーションにおいて、移動体モデル５４が存在する（移動可能な）範囲を規定する、仮想的なエリアである。移動体モデル５４については後で詳述する。
【００２６】
図２は、マップ５０の一例を示す図である。マップ５０は、例えば図２のように、シミュレーションの対象となる道路や交差点の形を模す。マップ５０は、複数のセル５３（仮想的な小区画）の集合体である。図２において、線で区切られた一つ一つの小区画が、セル５３である。
【００２７】
なお、図２において、後述の移動体モデル５４の１つが、二等辺三角形で表されている。図２においては、二等辺三角形の長さが等しい２辺がなす頂点の方向（重心からその頂点への方向）が、移動体モデル５４の向きを表している。
【００２８】
マップ５０は、１つ以上のセル５３を含む区画を、１つ以上有する。本実施形態の例では、区画の種類は、区間５１または交点５２の２種類である。図２に示す例では、マップ５０は、６つの区間５１（後述）と、２つの交点５２（後述）とから構成される。ただし、他の実施形態では、マップ５０は、区間５１または交点５２の一方を含まなくてもよい。
【００２９】
図２において、区間５１と交点５２との境界が、太線で示されている。また、区間５１とマップ５０の領域外（外部）との境界、および交点５２と外部との境界も、太線で示されている。本実施形態では、上記境界を境界線と呼ぶ。すなわち、本実施形態において境界線とは、区間５１と、交点５２と、外部との境界を表す線である。境界線は、それぞれの区間５１および交点５２にとって、移動体（歩行者等）のモデルの流出入口として理解される。なお、区間５１または交点５２の外郭に含まれる線であって、太線で示されていない線は、移動体モデル５４が出入りしない線として理解される。この線は、本実施形態においては境界線と呼ばれない。ちなみに、この線は、たとえば、壁や塀を模していると考えてよい。
【００３０】
（区間５１）
図３は、区間５１の一例を表す図である。区間５１は、２つの境界線を有する、１つ以上のセル５３の集合体である。図３においては、２つの境界線が太線で表されている。区間５１は、一例として、現実世界において交差点間をつなぐ一本道（分岐がない道）に相当する。区間５１は、例えば現実の道路においてその道路がつなぐ２つの地点の間の距離等に応じて長さが定められてもよい。図３に示す例においては、区間５１はそれぞれ、正方形のセル５３が長方形を成すように配列した集合体である。
【００３１】
なお、１つの道が複数の区間５１によって表されてもよい。特に、模すべき道が直線状でない場合、マップ生成部１１０は、その道を複数の区間５１および交点５２によって表してもよい。
【００３２】
（交点５２）
交点５２は、２つ以上の境界線を有する、１つ以上のセル５３の集合体である。交点５２の境界線には、区間５１が接続されうる。すなわち、交点５２は、一例として、現実世界において複数の道路が交差する交差点等に相当する。
【００３３】
なお、交点５２が、マップ５０の領域外との境界線を有していてもよい。
【００３４】
交点５２の形状は、矩形に限定されない。図４は、交点５２の例を示す図である。一例として、交点５２は、図４に示すように、当該交点５２が模す現実の交差点等の形状に応じた形状であってもよい。図４において、区間５１が接続される境界線および区間５１の一部は破線で示されている。図４のように、交点５２の形状は、当該交点５２に接続される区間５１の幅と同じ長さの辺を含む多角形であってもよい。
【００３５】
（セル５３）
セル５３は、現実世界の所定の範囲に関連づけられる仮想的な小区画である。セル５３の各々は、区間５１または交点５２と関係付けられる現実の歩道において、１人または複数の歩行者等が含まれうる程度の広さの空間を表してもよい。たとえば、セル５３の各々の幅および長さは、区間５１または交点５２と関係付けられる現実の歩道において、１メートル四方の空間に関連づけられてもよい。
【００３６】
セル５３の配列は、たとえば、区間５１または交点５２の領域を、一部を除き同一の形状（図２，３の例では正方形）の領域で充填する配列である。
【００３７】
本実施形態におけるセル５３の形状は、図２に示されるように、正方形を基本とする形である。すなわち、そのセル５３が区間５１または交点５２の外周に接しないセルである場合は、縦横の長さが等しい正方形である。そのセル５３が区間５１または交点５２の外周部を成すセルである場合は、そのセル５３の形状は、区間５１または交点５２の形状に応じた、正方形の一部が欠けた形状である。このように、同一の形状のセルのみを用いるのではなく、多様な形のセルを用いることで、マップ生成部１１０は、より現実世界の形状を適切に模したマップ５０を生成できる。
【００３８】
なお、他の実施形態では、セル５３の各々の形状は、適宜変形されうる。たとえば、セル５３は、長方形、平行四辺形、または正六角形を基本とする形でもよい。
【００３９】
セル５３の配列方向（すなわち、セル５３それぞれの辺の方向や、隣接するセル５３の方向）は、区間５１および交点５２ごとに異なっていてよい。たとえば、マップ生成部１１０は、区間５１を生成する場合は、セル５３を、たとえば当該区間５１の方向（すなわち、境界線の一方から他方へ向かう向き）に沿うように配列させる。ある方向に「沿うように」とは、たとえば、接し合うセル５３の重心どうしを結ぶ線分の少なくとも１つが当該方向と平行であるように、ということである。特に区間５１が長方形である場合は、マップ生成部１１０は、図３に示すように正方形を基本とする形のセル５３を、区間５１の方向に合わせて、格子状に（隣り合うセル５３どうしが辺を共有するように）配列させればよい。図３に示す配列以外の配列も可能であるが、セル５３を格子状に配列すると、各々のセル５３の範囲を特定しやすいという利点がある。
【００４０】
マップ生成部１１０は、交点５２を構成する場合は、セル５３を、当該交点５２を平面充填するように並べる。交点５２を構成するセル５３も、格子状に配列させることによって、セル５３の範囲が特定しやすくなる。このとき、セル５３のどの辺の方向も、当該交点５２の境界線や縁の方向に一致していなくてもよい。マップ生成部１１０は、たとえば、シミュレーション装置１１にとって最も計算負荷の少なくなるような方向でセル５３を配列させてもよい。たとえば、マップ５０全体が基づく座標系が縦方向の軸と横方向の軸で規定される座標系である場合、マップ生成部１１０は、セル５３を縦方向および横方向に並ぶように配列させてもよい。
【００４１】
セル５３の形状および大きさは、区間５１および交点５２ごとに異なっていてもよい。
【００４２】
以下、セル５３の符号（「５３」）を省略して記載することがあるが、特に記載のない限り、符号の無い「セル」も上記で説明したセル５３を指す。また、説明のために「セル」に「５３」以外の符号を付すことがある。
【００４３】
上述したマップ５０は、例えば、シミュレーションの対象とする現実の歩道等の交通路やその接続関係等に応じて定められてもよい。マップ生成部１１０は、実際の道路の地図や写真等に基づいてマップ５０を生成してもよい。マップ生成部１１０は、仮想的な道路網等のデータに基づいてマップ５０を生成してもよい。
【００４４】
なお、一本の道路のうちの一部の区間や、特定の一か所の交差点に関してシミュレーションが行われる場合には、マップ生成部１１０は、区間５１又は交点５２のいずれか一方のみを含むマップ５０を生成してもよい。
【００４５】
＝＝＝モデル生成部１１１＝＝＝
モデル生成部１１１は、マップ５０に関連づけられる移動体モデル５４を生成する。
【００４６】
（移動体モデル５４）
移動体モデル５４について説明する。
【００４７】
移動体モデル５４は、マップ５０が模する道路等を移動する移動体の、移動の様子をシミュレートするためのモデルである。移動体は、たとえば歩行者である。移動体は、自転車やその他の車両であってもよい。移動体モデル５４は、移動体の特徴を反映した挙動を表現するための、仮想的な存在である。移動体モデル５４には、マップ５０上の位置が関連づけられる。移動体モデル５４は、図２のように三角形で表されてもよい。
【００４８】
複数の移動体モデル５４のそれぞれは、個々の移動体モデル５４として区別される。それぞれの移動体モデル５４には、状態を表す情報が関連づけられる。
移動体モデル５４の状態は、移動体モデル５４が模する移動体の特徴を表す。移動体モデル５４の状態は、たとえば、その移動体モデル５４の位置、目的地、基準方向、ステップ距離、およびサイズ等である。これらそれぞれの言葉の意味については後述する。
【００４９】
モデル生成部１１１は、シミュレーション装置１１がシミュレーションを開始する場合に、初期設定として移動体モデル５４を生成する。モデル生成部１１１が生成する移動体モデル５４の数は任意でよい。たとえば、ユーザが移動体モデル５４の数を指定してもよいし、実測されたデータ等に基づいて、モデル生成部１１１が現実に則した数を移動体モデル５４の数として決定してもよい。
【００５０】
移動体モデル５４を生成する場合、モデル生成部１１１は、生成する移動体モデル５４のそれぞれの状態を決定する。状態の詳細、および状態の決定の仕方の例は、それぞれ次の通りである。
【００５１】
（位置）
「移動体モデル５４の位置」とは、具体的には、移動体モデル５４が存在するとみなされるマップ５０内の位置である。移動体モデル５４の位置は、初期設定の時には、マップ５０内の任意の位置でよい。モデル生成部１１１は、たとえば、マップ５０内のランダムに決定された位置を移動体モデル５４の位置として移動体モデル５４に関連づけてもよい。モデル生成部１１１は、たとえば、ユーザによるインタフェース等を介した指示に基づいた位置を、移動体モデル５４の位置として移動体モデル５４に関連づけてもよい。なお、位置は、たとえば、座標によって表される。以下、モデル生成部１１１が決定した位置を移動体モデル５４に関連づけることを、移動体モデル５４を「配置する」とも称す。
【００５２】
モデル生成部１１１は、交点５２に移動体モデル５４を初期配置する場合は、移動体モデル５４を次のように配置してもよい。すなわち、モデル生成部１１１は、まず、交点５２に接続される区間５１のうち、進入前の区間５１（その移動体モデル５４がいたとされる区間５１）と通過後の区間５１（その移動体モデル５４が交点５２を通過後に次に踏み入れるとされる区間５１）を（たとえばランダムな選択により）設定する。そして、モデル生成部１１１は、進入前の区間５１において、進入前のセル（その移動体モデル５４がいたとされるセル。以下、「進入前セル」）を設定する。更に、モデル生成部１１１は、通過後の区間５１において、通過後のセル（その移動体モデル５４が向かうとされるセル。以下、「通過後セル」）を設定する。そして、モデル生成部１１１は、図５に示すように、移動体モデル５４を、進入前セルの、交点５２に接する辺の中点と、通過後セルの、交点５２に接する辺の中点との間を結ぶ仮想的な線分上の任意の位置に配置する。
【００５３】
なお、モデル生成部１１１は、複数の移動体モデル５４を、同じ位置に配置してもよい。
【００５４】
なお、本実施形態におけるシミュレーション装置１１において、処理が繰り返し実行される場合には、モデル生成部１１１は、その繰り返し実行される処理の途中において、新たな移動体モデル５４をマップ５０に生成してもよい。この場合、モデル生成部１１１は、マップ５０の領域外との境界線上に、移動体モデル５４を配置させる。
【００５５】
（目的地）
目的地は、移動体モデル５４が到達すべき場所として設定される場所である。本実施形態では、目的地は、マップ５０の領域外との境界線のいずれかである。モデル生成部１１１は、生成する移動体モデル５４に対して、目的地を任意に設定してよい。
【００５６】
（基準方向）
基準方向は、移動体モデル５４が移動先を決定する際の移動方向の基準となる方向である。後述されるように、移動先決定部１１４は、基準方向に基づいて、移動体モデル５４の移動先を決定する。具体的には、移動先決定部１１４は、移動体モデル５４の移動先を、例えば、基準方向に向かって右に所定角度のずれた方向から左に所定角度ずれた方向までの範囲において決定する。基準方向は、例えば、移動体モデル５４が模す人などの移動体が向いている方向に関連づけられる。基準方向の設定により、移動体が、向いている方向を基準として進路を決定することが表される。
【００５７】
移動体モデル５４が区間５１に配置される場合、モデル生成部１１１は、たとえば、その移動体モデル５４の基準方向として、区間５１の方向、すなわち、区間５１のいずれか一方の境界線から他方の境界線へ向かう方向、を採用する。より具体的には、モデル生成部１１１は、その移動体モデル５４の現在の位置から目的地までの最短経路が最初に通過する境界線に向かう方向を、基準方向として採用する。なお、本実施形態で示す例では、セル５３の配列は区間５１の方向に沿っているため、図５の矢印で示されるように、基準方向はセル５３の配列方向の１つに沿う。
【００５８】
なお、変形例として、モデル生成部１１１は、境界線の一部を含むセルのうち、目的地に最も早く到達することができるセルへ向かう方向を基準方向として採用してもよい。
【００５９】
移動体モデル５４が交点５２に配置される場合で、進入前セルと通過後セルとが既に（例えば移動体モデル５４の位置を決定する際に）設定されていた場合は、モデル生成部１１１は、たとえば、通過後セルに向かう方向をその移動体モデル５４の基準方向として採用してよい。具体的には、モデル生成部１１１は、図６に示されるように、進入前セルの、交点５２に接続される辺の中点から、通過後セルの、交点５２に接続される辺の中点へ向かう方向を、基準方向として設定してもよい。
【００６０】
移動体モデル５４が交点５２に配置される場合で、位置を決定する際に進入前セルと通過後セルとが設定されなかった場合は、モデル生成部１１１は、進入前セルと通過後セルとを適宜（たとえばランダムに）設定してよい。そして、モデル生成部１１１は、進入前セルから通過後セルに向かう方向をその移動体モデル５４の基準方向として設定してよい。あるいは、モデル生成部１１１は、その移動体モデル５４の現在の位置から、通過後セルの、交点５２に接続される辺の中点へ向かう方向を、基準方向として設定してもよい。
【００６１】
（ステップ距離）
ステップ距離は、移動体モデル５４の、１フェーズあたりに移動し得る最大の距離である。すなわち、ステップ距離は、現実世界の歩行者等の、単位時間あたりの移動距離に関係づけられる。フェーズについては後で詳述する。
【００６２】
ステップ距離は、１フェーズに相当する時間、および移動体モデル５４が模す歩行者等の移動の速度に応じて、適宜設定されてよい。たとえば、ステップ距離は、標準的なセルの一辺の長さでもよい。全ての移動体モデル５４に対して同じ値のステップ距離が設定されてもよいし、移動体モデル５４のそれぞれに対して異なる値のステップ距離が設定されてもよい。
【００６３】
（サイズ）
移動体モデル５４のサイズは、移動体モデル５４がマップ５０上で占める領域の面積の指標である。サイズは、例えば、移動体モデル５４の各々に関係づけられている歩行者等が現実の歩道において占める面積に応じて設定される。全ての移動体モデル５４に対して同じサイズが設定されてもよいし、移動体モデル５４によって異なるサイズが設定されてもよい。例えば、健常者の大人を模す移動体モデル５４のサイズが１．０であり、車いす利用者を模す移動体モデル５４のサイズが１．５であると設定されてもよい。
【００６４】
モデル生成部１１１は、各移動体モデル５４の状態を、例えば図示しない入力部や通信ネットワーク等を介して取得してもよい。また、モデル生成部１１１は、図示しないメモリやディスク装置等から、予め格納された各移動体モデル５４の状態を取得してもよい。
【００６５】
次に、シミュレーション装置１１の、制御部１１２、モデル選択部１１３、移動先決定部１１４、および更新部１１５の機能を説明する。制御部１１２、モデル選択部１１３、移動先決定部１１４、および更新部１１５は、マップ生成部１１０及びモデル生成部１１１によって生成されたマップ５０及び移動体モデル５４に関する情報に基づいて動作する。なお、マップ５０及び移動体モデル５４に関する情報は、図示しない記憶部または更新部１１５等に記憶されていればよい。
【００６６】
＝＝＝制御部１１２＝＝＝
制御部１１２は、シミュレーション装置１１の各部の動作を制御する。
【００６７】
シミュレーション装置１１によるシミュレーションは、１つまたは複数のフェーズにわたって行われる。フェーズとは、シミュレーションに係る繰り返し処理の単位である。たとえば、制御部１１２は、あるフェーズにおいて全ての移動体モデル５４のシミュレーションが完了してから、次の新たなフェーズにおけるシミュレーションを開始させる。
【００６８】
本実施形態では、１つのフェーズにおける処理によって、シミュレーション装置は所定の時間単位の１つ分の時間における移動体の動きがシミュレートされる。この所定の時間単位は、マップ５０の大きさや、移動体モデル５４の速さ、個数等に応じて、移動体モデル５４が模する歩行者等の振る舞いが適切に表されるように適宜定められる。一例として、移動体モデル５４が歩行者等に対応付けられている場合には、現実の道路等において歩行者が１歩から数歩移動する場合に要する時間が、上述した所定の時間単位として定められる。その所定の時間単位は、例えば１秒である。
【００６９】
フェーズごとのシミュレーションが連続して行われることにより、移動体モデル５４の移動の様子がシミュレートされる。
【００７０】
フェーズの数や、ユーザがシミュレートしたい期間が、ユーザによってシミュレーション装置１１に対して設定されてもよい。設定された内容に応じて、制御部１１２は、処理を繰り返すかを判定してもよい。例えば、前述の所定の時間単位が１秒であり、かつ、ユーザがシミュレートしたい期間として１時間（すなわち、３６００秒）が設定された場合には、制御部１１２は、３６００のフェーズのもとでシミュレーションが行われるまで、シミュレーションを繰り返すよう、シミュレーション装置１１の動作を制御する。
【００７１】
＝＝＝モデル選択部１１３＝＝＝
モデル選択部１１３は、マップ５０における移動体モデル５４の１つを選択する。選択された移動体モデル５４の動きが、シミュレーションの対象として、以後説明する各部の動作によってシミュレートされる。
【００７２】
移動体モデル５４が複数ある場合、モデル選択部１１３は、順次、移動体モデル５４の１つを選択する。モデル選択部１１３は、それぞれの移動体モデル５４に対して行われるシミュレーションの回数が平等になるように、移動体モデル５４を選択する。
【００７３】
たとえば、１つのフェーズにおいて、移動体モデル５４の各々は１回ずつ選択される。
モデル選択部１１３は、例えば、現行のフェーズにおいて、未だ選択されていない移動体モデル５４から１つを選択する。移動体モデル５４の１つを選択する方法は、任意のアルゴリズムに基づいた方法でよい。例えば、モデル選択部１１３は、移動体モデル５４の１つをランダムに選択してもよい。その他、モデル選択部１１３は、マップ５０や移動体モデル５４の各々の特性などに応じて定められる任意の順序や手順に基づいて、移動体モデル５４の１つを選択してもよい。たとえば、モデル選択部１１３は、目的地までの道のりが短い移動体モデル５４から順に、移動体モデル５４を選択してもよい。
【００７４】
＝＝＝移動先決定部１１４＝＝＝
移動先決定部１１４は、モデル選択部１１３によって選択された移動体モデル５４の移動先を決定する。移動先とは、すなわち、現在のフェーズにおいて移動した後の位置である。移動先決定部１１４の詳細は、後に説明する。
【００７５】
＝＝＝更新部１１５＝＝＝
更新部１１５は、全ての移動体モデル５４の状態を更新する。更新される状態の種類は、たとえば、位置、基準方向等である。
【００７６】
たとえば、更新部１１５は、移動体モデル５４の位置を、移動先決定部１１４が決定した位置を用いて更新する（上書きする）。なお、移動体モデル５４の決定された位置がマップ５０の範囲外である場合は、その移動体モデル５４の情報を消去してよい。
【００７７】
また、たとえば、更新部１１５は、移動体モデル５４の基準方向を、移動体モデル５４の新たな位置に基づいて決定する。基準方向の決定の方法は、前述したモデル生成部１１１による基準方向の決定方法と同様でよい。
【００７８】
更新部１１５は、移動体モデル５４の他の種類の状態を変更してもよい。たとえば、更新部１１５は、移動体モデル５４の１ステップあたりの移動距離を、その移動体モデル５４の周囲の環境に合わせて変更してもよい。
【００７９】
更新部１１５において更新された後の移動体モデル５４の位置は、その更新の前に対応する時点から所定の時間単位の１つ分だけ後の時点における移動体モデル５４の位置に相当する。つまり、更新部１１５によって移動体モデル５４の位置が更新されることで、移動体モデル５４の単位時間あたりの移動が表される。また、更新部１１５によって移動体モデル５４の位置の更新が繰り返されることで、当該移動体モデル５４の移動の様子が表される。
【００８０】
更新部１１５は、現行のフェーズのシミュレーションが終了し、次のフェーズのシミュレーションが開始する時に、モデル生成部１１１に新たな移動体モデル５４をマップ５０上に生成してもよい。たとえば、モデル生成部１１１が移動体モデル５４をマップ５０の領域外との境界線上に生成することで、マップ５０の外部から流入してきた移動体を表すことができる。
【００８１】
更新部１１５は、更新された移動体モデル５４の位置を、表示装置２１や図示しない通信ネットワーク等に出力してもよい。また、更新部１１５は、移動体モデル５４の状態を、図示しない任意のメモリやディスク装置等へ出力してもよい。
【００８２】
＝＝＝表示装置２１＝＝＝
表示装置２１は、マップ５０および移動体モデル５４を表示する。表示装置２１は、例えば、液晶ディスプレイである。表示装置２１は、マップ５０の情報およびマップ５０上の移動体モデル５４の位置および基準方向等の情報を、シミュレーション装置１１から取得する。
【００８３】
たとえば、表示装置２１は、マップ５０を表示する画面において、各移動体モデル５４が位置するセルを、移動体モデル５４が位置しないセルと異なる態様で表示してもよい。あるいは、表示装置２１は、マップ５０上の移動体モデル５４の位置に二等辺三角形を描画してもよい。
【００８４】
表示装置２１は、たとえば、移動体モデル５４の位置が更新されるたびに表示内容を更新する。これにより、表示装置２１による表示を見た者が、移動体モデル５４の位置、および移動の様子を確認できる。
【００８５】
（シミュレーションの流れの一例）
本実施形態のシミュレーション装置１１によるシミュレーションの流れを、図７のフローチャートに沿って説明する。
【００８６】
シミュレーションは、マップ生成部１１０が生成したマップ５０に基づいて行われる。シミュレーションの開始にあたり、モデル生成部１１１が、１以上の移動体モデル５４を生成する。そして、制御部１１２がフェーズを開始させ、フェーズ毎に以下の処理が実行される。
【００８７】
モデル選択部１１３は、そのフェーズにおいて未選択の移動体モデル５４があるかをチェックする（ステップＳ７１）。未選択の移動体モデル５４があった場合（ステップＳ７１においてＹＥＳ）、モデル選択部１１３は、未選択の移動体モデル５４のうち１つを選択する（ステップＳ７２）。そして、移動体モデル５４が選択されたら、移動先決定部１１４が、選択された移動体モデル５４の移動先、すなわち位置を決定する（ステップＳ７３）。そして、更新部１１５が、移動体モデル５４の状態を更新する（ステップＳ７４）。
【００８８】
その後、再びモデル選択部１１３は未選択の移動体モデル５４を選択する（ステップＳ７１を経てステップＳ７２）。こうして、すべての移動体モデル５４が選択され、位置が更新されるまで、ステップＳ７１〜Ｓ７４の処理は繰り返される。
【００８９】
未選択の移動体モデル５４がなかった場合（ステップＳ７１においてＮＯ）、シミュレーション装置１１の動作はステップＳ７５に移る。なお、表示装置２１は、この時に、移動体モデル５４の更新された位置を表示してもよい。
【００９０】
ステップＳ７５では、制御部１１２が、次のフェーズのシミュレーションをするかを判断する。次のフェーズのシミュレーションをすると判断する場合は（ステップＳ７５においてＹＥＳ）、制御部１１２はフェーズを更新する（ステップＳ７６）。フェーズを更新するとは、次のフェーズのシミュレーションを行うよう各部を制御することである。フェーズが更新された後は、再びステップＳ７１〜Ｓ７５の処理を行う。次のフェーズのシミュレーションをしないと判断する場合は（ステップＳ７５においてＮＯ）、制御部１１２はシミュレーション装置１１の処理を終了させる。制御部１１２は、表示装置２１に、シミュレーションが終了したことを示す表示をさせてもよい。
【００９１】
（シミュレーションの流れの別の一例）
移動体モデル５４の状態の更新は、フェーズにおいて全ての移動体モデル５４が選択されてから一度に行われてもよい。そのような動作の流れを、図８に示す。
【００９２】
ステップＳ７１〜Ｓ７３については、図７に示される動作と同様である。ただし、図８に示す例では、ステップＳ７３の直後に移動体モデル５４の更新を行わない。ステップＳ７３において決定された移動体モデル５４の位置は、図示しない記憶部または移動先決定部１１４等が記憶しておけばよい。
【００９３】
すべての移動体モデル５４の位置が決定されると、シミュレーション装置１１の動作はステップＳ７１においてＮＯの判定を経て、ステップＳ７４−２に移る。ステップＳ７４−２では、更新部１１５が、全ての移動体モデル５４の状態を更新する。
【００９４】
そして、次のフェーズのシミュレーションをする場合は（ステップＳ７５においてＹＥＳ）、制御部１１２はフェーズを更新する（ステップＳ７６）。なお、フェーズの更新時において、モデル生成部１１１は、マップ５０の外部との境界線上に新たな移動体モデル５４を生成してもよい。フェーズが更新された後は、再びステップＳ７１〜Ｓ７５の処理を行う。次のフェーズのシミュレーションをしない場合は（ステップＳ７５においてＮＯ）、シミュレーション装置１１は処理を終了する。
【００９５】
以上のような動作により、シミュレーション装置１１は、移動体モデル５４の位置を更新し、マップ５０における移動体モデル５４の移動の様子を表現する。
【００９６】
＝＝＝移動先決定部１１４の制御構造＝＝＝
次に、移動先決定部１１４が、選択された移動体モデル５４の移動先の位置を決定する方法を説明する。移動先決定部１１４は、選択された移動体モデル５４の位置と、基準方向と、移動体モデル５４が移動する先のセルとなりうるセルの余裕度（「余裕度」については後述）とに基づいて、移動先の位置を決定する。
【００９７】
具体的には、移動先決定部１１４は、たとえば図９に示されるように、候補選択部１１４１、余裕度算出部１１４２、セル決定部１１４３、および位置決定部１１４４を有し、これらの処理によって、移動体モデル５４の移動先の位置を決定する。
【００９８】
＝＝候補選択部１１４１＝＝
候補選択部１１４１は、移動体モデル５４が次に移動する移動先のセルの候補を選択する。候補選択部１１４１は、移動体モデル５４が移動体の特徴が反映された動きを模することができるように候補を選択する。
【００９９】
たとえば、候補選択部１１４１は、移動体モデル５４に基づく所定の範囲に領域を有するセルを、候補として選択する。この所定の範囲は、たとえば、移動体モデル５４が現在のフェーズにおいて到達しうる範囲である。所定の範囲は、たとえば、移動体モデル５４が模する移動体が視認する範囲を考慮して設定されてもよい。
【０１００】
たとえば、所定の範囲は、図１０に示されるような、移動体モデル５４の位置を中心点とし、基準方向を対称軸とした扇形（すなわち、基準方向によって中心角が等分される扇形）によって規定される範囲である。図１０に示す例では、この扇形の半径はステップ距離であり、中心角は１２０度である。候補選択部１１４１は、この領域の範囲に領域を有するセルを、候補として選択する。図１０に示す例では、この扇形に含まれる領域を有するセルは、セルＣ２，Ｃ４，Ｃ５，Ｃ６，Ｃ７，Ｃ８，Ｃ９である。したがって、候補選択部１１４１は、これら７つのセルを、候補として選択する。
【０１０１】
なお、所定の範囲の決定方法は、移動体モデル５４ごとに異なっていてもよい。
【０１０２】
また、候補選択部１１４１は、候補とするセルを、移動体モデル５４が現在位置するセル（セルＣ８）、およびそのセルに隣接するセル（頂点を共有するセルを含む）に限ってもよい。
【０１０３】
なお、移動体モデル５４が到達し得る範囲に、目的地である境界線が含まれていた場合、移動体モデル５４はこのフェーズで目的地に到達するとみなされてよい。すなわち、候補選択部１１４１はその移動体モデル５４については候補を選択しなくともよく、以下で説明される処理は、その移動体モデル５４に対して適用しなくてよい。そして、たとえば、その移動体モデル５４の位置として、マップ５０の範囲外が関連づけられてもよい。マップ５０の範囲外が位置として関連づけられた場合、更新部１１５は、その移動体モデル５４がマップ５０の外に移動したとみなして、その移動体モデル５４を消去してもよい。
【０１０４】
＝＝余裕度算出部１１４２＝＝
余裕度算出部１１４２は、候補のセルのそれぞれの余裕度を算出する。セルの余裕度は、当該セルに移動体モデルが新たに入る余裕の大きさである。セルの余裕度は、そのセルに移動体モデルが新たに入る余裕の大きさを表す情報（例えば数値）であってもよい。セルの余裕度を表す値は、大きいほど、セルが移動体モデルを受け入れやすいことを示す。セルの余裕度は、現実世界における、そのセルが関連づけられる領域への踏み入りやすさの指標といえる。
【０１０５】
セルの余裕度は、たとえば、そのセルの広さや、そのセルの領域のうち占められている領域の広さに基づく。占められている領域は、たとえば、そのセルの領域の範囲に領域を有する移動体モデル５４が占めている領域である。
【０１０６】
たとえば、余裕度算出部１１４２は、余裕度を算出するに際し、そのセルの「容量」と「使用量」との値を基にする。
【０１０７】
「容量」は、たとえば、そのセルの広さの指標である。たとえば、容量は、サイズの値が１．０である移動体モデル５４が何個分そのセル内に収まるか、に基づいて設定されてもよい。容量の値は小数でもよい。各セルの容量は、セルが関連付けられた領域の面積に応じた値が設定され得る。たとえば、正方形のセルが、一辺の長さが１メートルで面積１平方メートルの範囲に関係づけられている場合に、正方形のセルの容量は２．０であるとする。このとき、正方形の一部が欠けた形状の、面積が０．５平方メートルの領域に関連づけられるセルの容量は、１．０と設定されてよい。
【０１０８】
「使用量」は、そのセルにおいて移動体モデル５４によって占められていると考えられる領域の大きさである。余裕度算出部１１４２は、たとえば、そのセルの領域内に位置している移動体モデル５４のサイズの合計を、使用量として算出してもよい。全ての移動体モデル５４のサイズが１．０である場合、または移動体モデル５４にサイズが設定されていない場合は、余裕度算出部１１４２は、単にそのセルの領域内に位置している移動体モデル５４の個数を使用量として算出してもよい。
【０１０９】
図１１は、余裕度算出部１１４２により導出されたセルの使用量および容量の例を示す図である。図１１に示す例においては、移動先の候補である７つのセルのそれぞれの使用量と容量とが導出されている。図１１の各セルにおいて、使用量は斜線の左側に記され、容量は斜線の右側に記されている。具体的には、図１１に示す例では、セルＣ２は使用量が１で容量が１、セルＣ４は使用量が１で容量が２、セルＣ５は使用量が２で容量が２、セルＣ６は使用量が２で容量が２、セルＣ７は使用量が２で容量が２、セルＣ８は使用量が２で容量が２、セルＣ９は使用量が０で容量が２、と導出されている。
【０１１０】
図１１に示す例では、選択された移動体モデル５４自身がセルＣ８の使用量に反映されているが、余裕度算出部１１４２は、選択された移動体モデル５４を使用量に反映させなくてもよい。
【０１１１】
余裕度算出部１１４２は、候補の使用量および容量に基づき、候補ごとの余裕度を算出する。
【０１１２】
余裕度は、例えば、容量から使用量を差し引いた値である。この値は、上述の実施形態における使用量の定義と容量の定義とによれば、そのセルに移動体があと何個分入るか、ということを表す。したがって、この値が大きいほど、セルは移動体モデルを受け入れやすいといえる。
【０１１３】
本実施形態では、余裕度算出部１１４２は、余裕度として容量から使用量を差し引いた値を算出するとする。
【０１１４】
なお、変形例で詳述するが、余裕度は、この値に限られない。余裕度は、例えば、容量と使用量との比でもよい。前述したように、余裕度は、現実世界における、そのセルが関連づけられる領域への踏み入りやすさの尺度であればよい。
【０１１５】
なお、余裕度算出部１１４２は、フェーズの始めに予めマップ５０に含まれるすべてのセルのそれぞれの余裕度を算出しておいてもよい。そして、余裕度算出部１１４２は、移動体モデル５４の移動先を決定する場合に、その移動体モデル５４の位置と基準方向とによって定まる移動先候補の余裕度を、予め算出していたデータを用いて導出してもよい。そして、余裕度算出部１１４２は、移動体モデル５４の移動があった場合、その移動体モデル５４の移動前の位置と移動後の位置に関連するセルのみの余裕度の情報を更新すればよい。なお、図８に示されるシミュレーションの流れにおいては、余裕度算出部１１４２は、フェーズの更新時、すなわち各フェーズの最初に、すべてのセルのそれぞれの余裕度を更新するだけでよい。
【０１１６】
（使用量の導出方法の変形例）
余裕度算出部１１４２は、各セルにおける使用量を、そのセルの周囲の移動体モデル５４の位置とサイズとに応じて変化する値に基づいて算出してもよい。
【０１１７】
たとえば、移動体モデル５４が図１２のような位置にいる場合、余裕度算出部１１４２は、この移動体モデル５４は図の斜線部で表された領域を占めているとみなしてもよい。図１１の例では、移動体モデル５４が占めている領域は、移動体モデル５４を中心とした、その移動体モデル５４のサイズに相当する大きさの長方形である。余裕度算出部１１４２は、たとえば、この長方形がそれぞれのセルと重なる部分の面積を、それぞれのセルにおける、移動体モデル５４による使用量とする。図１２に示す例の場合、この移動体モデル５４のサイズが１．０であるとすると、例えばセルＣ１３における使用量の値が０．２で、セルＣ１４における使用量の値が０．８となる。
【０１１８】
余裕度算出部１１４２は、このように、候補先のセルの内部及び周囲の移動体モデル５４の位置とサイズとに基づいて使用量を算出してもよい。これによれば、より現実世界の状態を反映した余裕度が求められる。
【０１１９】
＝＝セル決定部１１４３＝＝
セル決定部１１４３は、候補のセルのうち、各候補の余裕度に基づいて１つのセルを選択し、そのセルを移動先のセルとして決定する。
【０１２０】
たとえば、セル決定部１１４３は、余裕度の値が所定の基準以上であるセルを特定する。所定の基準は、例えば１でも、０．５でもよい。所定の基準は、選択された移動体モデル５４のサイズでもよい。ちなみに、本実施形態において、余裕度が１以上であるセルとは、標準的なサイズの移動体モデル５４が１人分入る余裕があるセルを意味する。そして、セル決定部１１４３は、特定したセルのうち、移動体モデル５４の基準方向に最も近いセルを選択する。基準方向に最も近いセルとは、たとえば、移動体モデル５４を始点としてセルの重心を終点としたベクトルと、基準方向のベクトルとのなす角が、最も小さいセルである。セル決定部１１４３は、選択したセルを移動先のセルとして決定する。
【０１２１】
図１１に示す例では、余裕度が１以上である（すなわち、使用量の値が容量の値を１以上下回る）セルは、セルＣ４およびセルＣ９の２つである。このうち、移動体モデル５４の位置から見て基準方向（図の上方向）に最も近いセルは、セルＣ４である。
【０１２２】
なお、余裕度が所定の基準以上であるセルが候補の内になかった場合は、セル決定部１１４３は、余裕度が最も大きいセルを選択してもよい。あるいは、セル決定部１１４３は、移動体モデル５４が現在属しているセル（Ｃ８）を選択してもよい。
【０１２３】
別の例では、セル決定部１１４３は、初めから、候補のうち余裕度が最も大きいセルを選択してもよい。余裕度が最も大きいセルが複数ある場合は、セル決定部１１４３は、そのうち密度が最も小さいセルを選んでもよい。この密度とは、使用量を容量で割った値である。余裕度が等しいセルが複数ある場合、人は、一般的には密度が小さい候補を選ぶと考えられる。上記決定方法によって、シミュレーションは、そのような人の性質が反映される。
【０１２４】
また別の例では、セル決定部１１４３は、基準方向への近さと、余裕度の値との関数の値に基づいて、セルを選択してもよい。たとえば、セル決定部１１４３は、基準方向への近さに応じて、候補のセルのそれぞれに選ばれやすさの指標となる係数（例えばＣｏｓ２θのように、基準方向とセルの重心とのなす角θが小さいほど大きな値となる係数）を関連づけ、その係数と余裕度の値との積が最も大きいセルを選択してもよい。
【０１２５】
＝＝位置決定部１１４４＝＝
位置決定部１１４４は、移動体モデル５４の移動後の位置を、セル決定部１１４３によって決定されたセルに基づいて決定する。
【０１２６】
図１３は、位置決定部１１４４による移動体モデル５４の位置の決定の仕方の例を示す図である。この説明において、セルＣ４がセル決定部１１４３によって決定されたセルであるとする。
【０１２７】
たとえば、位置決定部１１４４は、移動体モデル５４を、移動体モデル５４の現在の位置とセルＣ４内のどこか特定の一点（たとえば重心、内心等）とを結ぶ線分の距離を算出する。特定の一点は、それぞれのセルについて予め設定されている点である。例えば、特定の一点は、基準方向に最も近い辺の中点でもよい。
【０１２８】
そして、移動体モデル５４のステップ距離が、上記線分の距離よりも短い場合は、位置決定部１１４４は、例えば、元の位置から上記線分上をステップ距離の分だけ進んだ位置を、移動体モデル５４の移動先の位置（以下、着地点）として決定する。
【０１２９】
移動体モデル５４のステップ距離が、上記線分の距離よりも長い場合は、位置決定部１１４４は、たとえば、上記線分の終端（現在の位置と異なる端点）から、ステップ距離と上記線分の距離との差だけ基準方向に進んだ位置を、着地点として決定する。あるいは、位置決定部１１４４は、移動体モデル５４を上記終端に移動させ、さらにセル決定部１１４３に周囲のセルの余裕度に基づいた移動先を決定させ、決定されたセルに向かって移動体モデル５４を移動させてもよい。
【０１３０】
移動体モデル５４が移動先のセルに移動することによって、セルの使用量が容量を超えるような場合に、位置決定部１１４４は、着地点を、移動先のセルの余裕度に応じて変更してもよい。たとえば、移動先のセルの使用量が容量を下回る量が、移動前の時点で０．５であった場合は、位置決定部１１４４は、移動先のセルの辺上を着地点としてもよい。
【０１３１】
なお、決定されたセルが、移動体モデル５４が現在属しているセル（図１０の例においてセルＣ８）であった場合、位置決定部１１４４は、移動体モデル５４は現在の位置や、所定の位置（たとえばセルの境界まで基準方向に進んだ点等）を、移動先の位置として決定してもよい。
【０１３２】
なお、上述のどの例を採用しても、ステップ距離が上記線分の距離よりも短い場合には、着地点は、元の位置から移動先のセルの特定の一点との間の地点となる。また、ステップ距離が上記線分の距離よりも長い場合には、着地点は、移動先のセルの特定の一点からさらにいずれかの方向へ移動体モデル５４を移動させた地点となる。
【０１３３】
＜移動先決定部１１４の動作の一例＞
図１４に示すフローチャートを用いて、移動先決定部１１４の動作を説明する。
【０１３４】
移動先決定部１１４は、選択された移動体モデル５４の位置、基準方向およびステップ距離を、移動体モデル５４の状態を記憶する構成（例えば図示しない記憶部、更新部１１５等）から取得する。なお、移動体モデル５４の位置および基準方向は、移動体モデル５４が位置する区間５１または交点５２内の独自の座標系を用いて表されていてもよい。特に、移動先決定部１１４の各部は、以後のステップにおける各処理を、選択された移動体モデル５４が位置する区間５１（または交点５２）を構成するセルの配列方向を座標軸とした座標系に基づいて行うことで、計算量が低減できる。ただし、選択された移動体モデル５４が境界線を含むセルに存在する等、選択された移動体モデル５４が位置する区間５１（または交点５２）と異なる区間５１または交点５２が移動先の候補になりうる場合には、移動先決定部１１４の各部は、マップ５０全体の座標系に基づいて計算を行ってもよい。
【０１３５】
選択された移動体モデル５４の位置等が取得されたら、候補選択部１１４１が、その移動体モデル５４の移動先の候補を選択する（ステップＳ１４１）。
【０１３６】
次に、余裕度算出部１１４２が、候補のセルごとに、余裕度を算出する（ステップＳ１４２）。なお、余裕度算出部１１４２は、すでに算出され記憶されたデータを参照して、候補の余裕度を抽出してもよい。
【０１３７】
そして、セル決定部１１４３が、候補の余裕度に基づいて、移動先のセルを決定する（ステップＳ１４３）。例えば、セル決定部１１４３は、余裕度が１以上であるセルを特定し、そのうち基準方向に最も近いセルを選択する。
【０１３８】
そして、位置決定部１１４４が、移動体モデル５４の位置を決定する（ステップＳ１４４）。
【０１３９】
＜移動先決定部１１４の動作の別の一例＞
移動体モデル５４の元の位置と移動先のセルの重心とを結ぶ線分が、移動体モデル５４のステップ距離よりも短い場合、位置決定部１１４４が移動先のセルの重心に移動体モデル５４を移動させた後、さらに次の移動先を決定してもよい。この場合、移動先決定部１１４の動作の流れは図１５に示されるような流れとなる。
【０１４０】
すなわち、ステップＳ１４３でセル決定部１１４３が移動先のセルを決定した後、位置決定部１１４４は、所定のアルゴリズムによって移動体モデル５４を移動先のセルに移動させる（ステップＳ１４４−１）。そして、位置決定部１１４４は、移動先の位置が着地点であるか、すなわち、移動させた距離がステップ距離であるかを判定する（ステップＳ１４４−２）。判定結果がＹＥＳである場合は、位置決定部１１４４はその移動後の位置を移動体モデル５４の位置として決定する（ステップＳ１４４−４）。判定結果がＮＯである場合は、移動先決定部１１４は、候補選択部１１４１にさらに移動先の候補を選択させ（ステップＳ１４４−３）、ステップＳ１４２およびステップＳ１４３の動作を行う。すなわち、移動先決定部１１４は、移動体モデル５４がさらに次に向かうセルを、決定する。なお、２度目の候補の決定においては、ステップ距離として、すでに移動した距離の分が減じられた値が用いられる。
【０１４１】
以上のように、移動先決定部１１４は、ステップ距離の分だけ移動体モデル５４を移動させるまで、移動先の決定等を繰り返して移動体モデル５４を移動させることによって、着地点を決定する。
（変形例１）
移動先決定部１１４は、候補の選択と余裕度の算出を交互に行ってもよい。たとえば、移動先決定部１１４は、次の手順により移動先のセルを決定してもよい。
（１）…選択された移動体モデル５４が位置する区間５１を特定する。特定された区間５１はｍ×ｎ（ｍ、ｎはいずれも正の整数）個のセルで構成されており、移動先決定部１１４は、各々のセルを二次元の配列（ｉ，ｊ）（１≦ｉ≦ｍ、１≦ｊ≦ｎ）の要素として識別するとする。なお、ｉの値が等しいセルが並ぶ方向が、基準方向であるとする。
（２）…選択された移動体モデル５４が位置するセルを特定する。特定されたセルはセル（ａ，ｂ）であるとする。
（３）…セル（ａ，ｂ＋１）の余裕度を算出する。
（３−１）…セル（ａ，ｂ＋１）の余裕度が１以上である場合は、セル（ａ，ｂ＋１）を移動先として決定する。
（３−２）…セル（ａ，ｂ＋１）の余裕度が１以上でない場合は、セル（ａ−１，ｂ＋１）およびセル（ａ＋１，ｂ＋１）の余裕度を算出する。
（３−２−１）…（３−２）で、余裕度が１以上であるセルがあった場合は、そのセルを移動先として決定する。いずれも余裕度が１以上である場合は、余裕度が大きい方のセルを移動先として決定する。
（３−２−２）…（３−２）で、いずれの余裕度も１以上でなかった場合は、（セル（ａ−１，ｂ），セル（ａ，ｂ），セル（ａ＋１，ｂ））の余裕度を算出する。算出された余裕度のうち最も余裕度の大きいセルを移動先として決定する。
【０１４２】
上記の手順によれば、少ない計算量で移動体のシミュレーションができる。
（変形例２）
余裕度は、例えば、容量と使用量との比でもよい。この値は、いわゆる密度（使用量を容量で割った値）の逆数である。密度は、すなわち、そのセルの領域のうちマップ５０上の移動体モデル５４が占めているとみなされる領域の割合である。密度は、現実世界においては、そのセルが関連づけられる領域への踏み入りにくさの尺度といえる。したがって、密度が小さいほど、セルは移動体モデル５４を受け入れやすいといえる。よって、密度の逆数の値が大きいほど、セルは移動体モデル５４を受け入れやすいといえる。
【０１４３】
余裕度算出部１１４２が余裕度として密度の逆数を算出する場合では、セル決定部１１４３は、密度の逆数が１を超える候補のうち基準方向に最も近いセルを、移動先のセルとして決定してもよい。
【０１４４】
あるいは、セル決定部１１４３は、候補のうち密度の逆数が最も大きい候補を移動先のセルとして決定してもよい。
【０１４５】
＜効果＞
移動体モデル５４の位置の決定においては、移動先の候補のセルの余裕度が考慮されるが、他の移動体モデル５４の位置は、直接には考慮されていない。ゆえに、シミュレーション装置１１によるシミュレーションは、移動体モデル５４の位置を考慮するシミュレーションよりも、計算負荷が軽減されたシミュレーションである。
【０１４６】
また、余裕度が所定の基準以上であるセルを移動先として選択するという処理は、現実世界において、移動体が、より人が少なく、スペースが広い移動先を選択して移動するという行動を模する。また、基準方向に近いセルを移動先として選択することで、このシミュレーションは、移動体の、道に沿ってなるべく目的地に近づくよう移動するという特性を反映している。このように、シミュレーション装置１１によるシミュレーションは、計算負荷は軽減されつつも、移動体の特徴を反映したシミュレーションである。
【０１４７】
以上のように、本実施形態におけるシミュレーション装置１１は、シミュレーションの不正確性を抑えつつより小さい計算負荷で歩行者等の行動を表現できる。
【０１４８】
（計算負荷を低減する特徴）
セルの配列の仕方に関する特徴も、シミュレーションにおける計算負荷の低減に寄与する。
【０１４９】
上述の実施形態のように、区間５１におけるセルが、区間５１が模する道の方向に沿って格子状に配列された場合、移動体モデル５４の座標を、配列方向（格子を規定する直線の方向）を座標軸とする座標系で表すことにより、計算量が低減できる。たとえば、この場合、移動体モデル５４が位置するセルを特定するための計算式が単純である。また、移動体モデル５４の位置から区間５１内のセルに関する情報（たとえば余裕度）を、単純な二次元配列で扱うことができる。これにより、移動体モデル５４が位置するセルに隣接するセルを特定しやすくなる。
【０１５０】
区間５１におけるセル５３が、図１６のように、区間５１が模する道の方向に沿ってハニカム状に配列された場合も、隣接するセルが特定しやすいため、少ない計算量でシミュレーションが行える。なお、図１６において、矢印が指す方向が道の方向である。
【０１５１】
＜＜主要構成＞＞
上記実施形態の主要構成を含むシミュレーション装置１０について説明する。図１７は、シミュレーション装置１０の構成を示すブロック図である。
【０１５２】
シミュレーション装置１０は、候補選択部１１４１と、余裕度算出部１１４２と、セル決定部１１４３とを含む。シミュレーション装置１０は、複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの移動先を、各部の処理によって決定する。なお、移動体モデルには、マップ上の位置の他、移動体モデルが移動する方向の基準となる基準方向が予め関連づけられているとする。
【０１５３】
シミュレーション装置１０の各部の動作の流れを、図１８に示すフローチャートに沿って説明する。候補選択部１１４１は、移動体モデルの、移動先の候補を選択する（ステップＳ１８１）。具体的には、候補選択部１１４１は、当該移動体モデルの位置に基づいて、マップに含まれるセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する。候補選択部１１４１は、位置と基準方向とに基づいて候補を選択してもよい。
【０１５４】
余裕度算出部１１４２は、選択された候補ごとに余裕度を算出する（ステップＳ１８２）。セルの余裕度は、当該セルに移動体モデルが新たに入る余裕の大きさである。セルの余裕度は、例えば、そのセルの領域の広さと、そのセルにおいて占められている領域の広さと、に基づく値である。セルにおいて「占められている領域」は、たとえば、マップ上に存在する移動体モデル（移動先が決定される移動体モデルを含んでも、含まなくてもよい）がそのセルにおいて占める領域である。セルにおいて移動体モデルが占める領域は、そのセル内に位置する移動体モデルの数に依存する値でもよい。あるいは、セルにおいて移動体モデルが占める領域は、たとえば、そのセル内に位置する移動体モデルのそれぞれに関連づけられている、その移動体モデルの大きさを表す値の総和でもよい。セルにおいて移動体モデルが占める領域は、たとえば、マップ上に存在する移動体モデルがマップ内で占める領域のうち、そのセルの領域と重なる部分の面積でもよい。移動体モデルがマップ内で占める領域は、移動体モデルの位置や基準方向に基づき定められていればよい。占められている領域は、移動体モデル以外の、何らかの仮想的な物体がそのセルにおいて占めている領域を含んでもよい。
【０１５５】
セル決定部１１４３は、算出された余裕度と、基準方向とに基づいて、候補から移動先のセルを決定する（ステップＳ１８３）。例えば、セル決定部１１４３は、基準方向に基づいて定められる範囲に領域を有する候補のうち、余裕度が最も大きい候補を移動先として決定する。あるいは、例えば、セル決定部１１４３は、余裕度が所定の基準以上である候補から、基準方向と、移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する。
【０１５６】
上記構成によれば、シミュレーションの不正確性を抑えつつ歩行者等の行動の計算負荷を軽減することができる。計算負荷を軽減することができる理由は、移動先の決定が他の移動体モデルとの距離等ではなく余裕度に基づくからである。シミュレーションの不正確性を抑えられる理由は、移動先の決定方法が、基準方向に基づきながらスペースが広い位置に移動するという移動体の特徴を反映した方法であるからである。
【０１５７】
（ハードウェア構成について）
以上、説明した本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部または全部は、例えば図１９に示すようなコンピュータ１９００とプログラムとの可能な組み合わせにより実現される。コンピュータ１９００は、一例として、以下のような構成を含む。
【０１５８】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１９０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１９０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１９０３
・ＲＡＭ１９０３にロードされるプログラム１９０４Ａおよび記憶情報１９０４Ｂ
・プログラム１９０４Ａおよび記憶情報１９０４Ｂを格納する記憶装置１９０５
・記録媒体１９０６の読み書きを行うドライブ装置１９０７
・通信ネットワーク１９０９と接続する通信インタフェース１９０８
・データの入出力を行う入出力インタフェース１９１０
・各構成要素を接続するバス１９１１
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム１９０４ＡをＣＰＵ１９０１がＲＡＭ１９０３にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム１９０４Ａは、例えば、予め記憶装置１９０５やＲＯＭ１９０２に格納されており、必要に応じてＣＰＵ１９０１が読み出す。なお、プログラム１９０４Ａは、通信ネットワーク１９０９を介してＣＰＵ１９０１に供給されてもよいし、予め記録媒体１９０６に格納されており、ドライブ装置１９０７が当該プログラムを読み出してＣＰＵ１９０１に供給してもよい。
【０１５９】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ１９００とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ１９００とプログラムとの可能な組み合わせにより実現されてもよい。
【０１６０】
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
【０１６１】
各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１６２】
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
【０１６３】
＜＜付記＞＞
［付記１］
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択手段と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出手段と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定手段と、
を備えるシミュレーション装置。
［付記２］
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
付記１に記載のシミュレーション装置。
［付記３］
前記セル決定手段は、前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
付記１または２に記載のシミュレーション装置。
［付記４］
前記セル決定手段は、前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
付記１または２に記載のシミュレーション装置。
［付記５］
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
付記１から４のいずれか一項に記載のシミュレーション装置。
［付記６］
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、位置決定手段をさらに備える、
付記１から５のいずれか一項に記載のシミュレーション装置。
［付記７］
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
付記６に記載のシミュレーション装置。
［付記８］
決定された前記次の位置を、当該移動体モデルの位置として更新する更新手段をさらに備える、付記６または７に記載のシミュレーション装置と、
前記位置が更新されるたびに前記マップ上の前記移動体モデルの前記位置を表示する表示装置と、
を含むシミュレーションシステム。
［付記９］
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択し、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出し、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定する、
シミュレーション方法。
［付記１０］
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
付記９に記載のシミュレーション方法。
［付記１１］
前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
付記９または１０に記載のシミュレーション方法。
［付記１２］
前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
付記９または１０に記載のシミュレーション方法。
［付記１３］
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
付記９から１２のいずれか一項に記載のシミュレーション方法。
［付記１４］
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、
付記９から１３のいずれか一項に記載のシミュレーション方法。
［付記１５］
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
付記１４に記載のシミュレーション方法。
［付記１６］
決定された前記次の位置を、当該移動体モデルの位置として更新し、
前記位置が更新されるたびに前記マップ上の前記移動体モデルの前記位置を表示する、
付記１４または１５に記載のシミュレーション方法。
［付記１７］
コンピュータに、
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択処理と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出処理と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定処理と、
を実行させるプログラム。
［付記１８］
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
付記１７に記載のプログラム。
［付記１９］
前記セル決定処理は、前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
付記１７または１８に記載のプログラム。
［付記２０］
前記セル決定処理は、前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
付記１７または１８に記載のプログラム。
［付記２１］
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
付記１７から２０のいずれか一項に記載のプログラム。
［付記２２］
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、位置決定処理をさらにコンピュータに実行させる、
付記１７から２１のいずれか一項に記載のプログラム。
［付記２３］
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
付記２２に記載のプログラム。
［付記２４］
コンピュータに、
決定された前記次の位置を、当該移動体モデルの位置として更新する更新処理と、
前記位置が更新されるたびに表示装置に前記マップ上の前記移動体モデルの前記位置を表示させる表示処理と、
を実行させる、付記２２または２３に記載のプログラム。
【０１６４】
本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６５】
本出願は、２０１６年７月２２日に出願された日本出願特願２０１６−１４４４９５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１６６】
上述したシミュレーション装置は、市街地等における歩行者等の移動の様子を評価する場合の種々の用途に用いられる。例えば、群衆が市街地を通過することが想定される場合において、群衆が通過する道路の形状等に応じた各々の所要時間の評価等に用いられうる。【０１６７】
具体的な一例として、災害時において、交通機関等の停止に伴い移動や帰宅が困難になった、いわゆる帰宅困難者を誘導する方法を検討する場合に用いられうる。【０１６８】
災害等が発生し、交通機関の多くが停止している場合には、交通機関を利用できないことから、平常時と比較して多くの人が帰宅困難者として歩いて帰宅することが想定される。この場合には、大都市の市街地には、それぞれが異なる方向へ向かう多数の歩行者が集まる可能性が考えられる。上述したシミュレーション装置は、多数の歩行者が全体として円滑な移動を可能とするように、各々の歩行者を適した道へ誘導する手法の評価に用いられうる。【０１６９】
上述のような手法の評価に用いられる場合は、シミュレーション装置は、たとえば、市街地の道路等を表すマップに関する情報に基づいて、上述した帰宅困難者である歩行者等の移動の様子に関するシミュレーションを行う。例えば、シミュレーション装置のマップ生成部（１１０）は、市街地の道路等を模したマップを生成し、モデル生成部（１１１）は、歩行者等の数に相当する移動体モデルを生成する。生成したマップおよび移動体モデルに基づいて、シミュレーション装置はシミュレーションを行う。このシミュレーションが、種々の条件を変えて繰り返し実行されることで、帰宅困難者である歩行者等を誘導する手法が評価される。
【符号の説明】
【０１７０】
１０、１１    シミュレーション装置
２１    表示装置
５０    マップ
５１    区間
５２    交点
５３、Ｃ１〜Ｃ９、Ｃ１１〜Ｃ１４    セル
５４    移動体モデル
１１０    マップ生成部
１１１    モデル生成部
１１２    制御部
１１３    モデル選択部
１１４    移動先決定部
１１５    更新部
１１４１    候補選択部
１１４２    余裕度算出部
１１４３    セル決定部
１１４４    位置決定部
１９００    コンピュータ
１９０１    ＣＰＵ
１９０２    ＲＯＭ
１９０３    ＲＡＭ
１９０４Ａ    プログラム
１９０４Ｂ    記憶情報
１９０５    記憶装置
１９０６    記録媒体
１９０７    ドライブ装置
１９０８    通信インタフェース
１９０９    通信ネットワーク
１９１０    入出力インタフェース
１９１１    バス
【図１】
2018016558.tif 000003
【図２】
2018016558.tif 000004
【図３】
2018016558.tif 000005
【図４】
2018016558.tif 000006
【図５】
2018016558.tif 000007
【図６】
2018016558.tif 000008
【図７】
2018016558.tif 000009
【図８】
2018016558.tif 000010
【図９】
2018016558.tif 000011
【図１０】
2018016558.tif 000012
【図１１】
2018016558.tif 000013
【図１２】
2018016558.tif 000014
【図１３】
2018016558.tif 000015
【図１４】
2018016558.tif 000016
【図１５】
2018016558.tif 000017
【図１６】
2018016558.tif 000018
【図１７】
2018016558.tif 000019
【図１８】
2018016558.tif 000020
【図１９】
2018016558.tif 000021
【手続補正書】
【提出日】平成31年1月17日(2019.1.17)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択手段と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出手段と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定手段と、
を備えるシミュレーション装置。
【請求項２】
前記候補の前記余裕度は、当該候補の領域の広さと、当該候補において占められている領域の広さと、に基づく値である、
請求項１に記載のシミュレーション装置。
【請求項３】
前記セル決定手段は、前記余裕度が所定の基準以上である前記候補から、前記基準方向と、当該移動体モデルの位置から当該候補の重心へ向かう方向との関係に基づいて、前記移動先を決定する、
請求項１または２に記載のシミュレーション装置。
【請求項４】
前記セル決定手段は、前記基準方向に基づいて定められる範囲に領域を有する前記候補のうち、前記余裕度が最も大きい前記候補を前記移動先として決定する、
請求項１または２に記載のシミュレーション装置。
【請求項５】
前記マップは、分岐がない道を模する区画を少なくとも１つ有し、前記区画内の前記セルは、前記区画が模する前記道の方向に沿って配列され、
前記区画内に位置する前記移動体モデルの前記基準方向は、前記道の方向と平行である、
請求項１から４のいずれか一項に記載のシミュレーション装置。
【請求項６】
決定された前記移動先と、前記移動体モデルについて予め設定された移動距離とに基づいて、当該移動体モデルの次の位置を決定する、位置決定手段をさらに備える、
請求項１から５のいずれか一項に記載のシミュレーション装置。
【請求項７】
前記次の位置は、決定された前記セル内の特定の点までの距離が前記予め設定された移動距離よりも長い場合は、当該点と前記移動体モデルの位置との間の地点であり、前記距離が前記予め設定された移動距離よりも短い場合は、当該点からさらに前記移動体モデルをいずれかの方向に移動させた地点である、
請求項６に記載のシミュレーション装置。
【請求項８】
決定された前記次の位置を、当該移動体モデルの位置として更新する更新手段をさらに備える、請求項６または７に記載のシミュレーション装置と、
前記位置が更新されるたびに前記マップ上の前記移動体モデルの前記位置を表示する表示装置と、
を含むシミュレーションシステム。
【請求項９】
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択し、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出し、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定する、
シミュレーション方法。
【請求項１０】
コンピュータに、
複数のセルを含む仮想的なマップ内に位置する仮想的な移動体である移動体モデルの位置に基づいて、前記複数のセルのうち１つ以上を、当該移動体モデルの移動先の候補として選択する候補選択処理と、
前記候補ごとに、当該候補に前記移動体モデルが新たに入る余裕の大きさを表す余裕度を算出する余裕度算出処理と、
前記余裕度と、当該移動体モデルに関連づけられる基準方向とに基づいて、前記候補から前記移動先を決定するセル決定処理と、
を実行させるプログラム。
【国際調査報告】
2018016558.tif 000022
2018016558.tif 000023
2018016558.tif 000024
2018016558.tif 000025