【文献】
建物火災時の避難安全評価シミュレーションプログラムの開発(その2) : 避難行動モデルの概要,2005年度大会(近畿)学術講演梗概集 A−2,一般社団法人日本建築学会,2005年 7月31日,p.217−218
(58)【調査した分野】(Int.Cl.,DB名)
前記拡散演算部は、前記シミュレート部がシミュレートする人の移動速度が所定速度以下になった場合に、当該人が存在する座標を前記拡散方程式のノイマン境界条件とする
ことを特徴とする請求項1に記載のシミュレータ装置。
前記拡散演算部は、前記不可侵座標記憶部が記憶する座標を前記拡散方程式のノイマン境界条件とする場合において前記目的地を始点に粒子が前記区画内に拡散し、不可侵部分に近いほど当該不可侵部分から離れようとするときの、各時刻における各グリッドに存在する粒子の密度を演算する
ことを特徴とする請求項1または請求項2に記載のシミュレータ装置。
請求項1から請求項3の何れか1項に記載のシミュレータ装置の前記拡散演算部が演算する拡散方程式の前記堵列方向の拡散係数と前記直交方向の拡散係数の比率である拡散比率を決定する係数決定装置であって、
前記拡散比率を複数生成する係数候補生成部と、
前記係数候補生成部が生成した複数の拡散比率を用いて建造物内の所定の区画における複数の人の移動をそれぞれシミュレートする事前シミュレート部と、
前記事前シミュレート部によるシミュレート結果に基づいて、前記区画内の所定の地点における人数の推移を示す結果情報を前記拡散比率毎に生成する結果情報生成部と、
前記区画において実測した、前記区画内の所定の地点における人数の推移を示す実測情報を取得する実測情報取得部と、
前記結果情報生成部が生成した拡散比率毎の結果情報と前記実測情報取得部が取得した実測情報とが示す人数の時刻毎の差を算出し、当該時刻毎の差の総和を誤差値として算出する誤差値算出部と、
前記係数候補生成部が生成した拡散比率のうち、前記事前シミュレート部によって用いられることで前記誤差値算出部が算出した誤差値が最小となるものを、前記シミュレータ装置に用いる拡散比率として決定する係数決定部と
を備え、
前記事前シミュレート部が、前記拡散演算部、前記マップ生成部、及び前記シミュレート部を備えることを特徴とする係数決定装置。
建造物内の所定の区画における複数の人の移動をシミュレートするシミュレータ装置と、当該シミュレータ装置が用いる係数を決定する係数決定装置とを備えるシミュレータシステムであって、
前記係数決定装置は、
前記区画からの出口である目的地に並ぶ堵列が延びる方向である堵列方向の拡散係数と前記堵列方向に直交する方向である直交方向の拡散係数の比率である拡散比率を複数生成する係数候補生成部と、
前記係数候補生成部が生成した複数の拡散比率を用いて建造物内の所定の区画における複数の人の移動をそれぞれシミュレートする事前シミュレート部と、
前記事前シミュレート部によるシミュレート結果に基づいて、前記区画内の所定の地点における人数の推移を示す結果情報を前記拡散比率毎に生成する結果情報生成部と、
前記区画において実測した、前記区画内の所定の地点における人数の推移を示す実測情報を取得する実測情報取得部と、
前記結果情報生成部が生成した拡散比率毎の結果情報と前記実測情報取得部が取得した実測情報とが示す人数の時刻毎の差を算出し、当該時刻毎の差の総和を誤差値として算出する誤差値算出部と、
前記係数候補生成部が生成した拡散比率のうち、前記事前シミュレート部によって用いられることで前記誤差値算出部が算出した誤差値が最小となるものを、前記シミュレータ装置に用いる拡散比率として決定する係数決定部と
を備え、
前記シミュレータ装置は、
前記区画を複数のグリッドに分割したときに当該区画の不可侵部分となるグリッドの座標を記憶する不可侵座標記憶部と、
前記係数決定装置が決定した拡散比率を用いた拡散方程式に基づき、前記不可侵座標記憶部が記憶する座標を前記拡散方程式のノイマン境界条件とする場合において前記目的地を始点に粒子が前記区画内に拡散するときの、各時刻における各グリッドに存在する粒子の密度を演算する拡散演算部と、
前記拡散演算部の演算において前記粒子の密度が所定の閾値以上に達する時刻が早いほど低い値となるポテンシャル値を前記各グリッドに関連付けたポテンシャルマップを生成するマップ生成部と、
前記マップ生成部が生成したポテンシャルマップに基づいて、人が存在するグリッドの近傍のグリッドのうち、前記ポテンシャル値が最も低いグリッドの方向に人が移動するよう、前記区画における人の移動をシミュレートするシミュレート部と
を備え、
前記事前シミュレート部が、前記拡散演算部、前記マップ生成部、及び前記シミュレート部を備えることを特徴とするシミュレータシステム。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるシミュレータシステムの構成図である。
シミュレータシステムは、シミュレータ装置10、ビューア装置20、係数決定装置30を備える。
シミュレータ装置10は、駅構内の旅客の流動を、ポテンシャルモデルに基づいてシミュレートし、時刻ごとにおける各旅客の座標位置を記録したログデータをビューア装置20に出力する。また、シミュレータ装置10は、係数決定装置30が決定した係数群に従ってシミュレーションを実行する。なお、係数群とは、シミュレータ装置10がシミュレーションに用いる複数の係数の組み合わせである。
ビューア装置20は、シミュレータ装置10が生成したログデータに基づいて旅客流動の経時変化を画面に表示する。
係数決定装置30は、実際の駅構内における旅客の流動を示すデータに基づいて、シミュレーションに用いる最適な係数群を決定する。
【0015】
図2は、シミュレータ装置10の構成を示す概略ブロック図である。
シミュレータ装置10は、駅構造記憶部11(不可侵座標記憶部)、ポテンシャルマップ算出部12(拡散演算部、マップ生成部)、シミュレート部13、滞留判定部14を備える。
【0016】
図3は、駅構造記憶部11が記憶する駅構造情報を示す図である。
駅構造記憶部11は、シミュレーション対象の区画をX軸及びX軸に直交するY軸に平行な直線で方形グリッドに分割した場合における不可侵部分の座標及び目的地の座標を示す駅構造情報を記憶する。ここで、X軸及びY軸とは任意の仮想軸であり、X軸またはY軸を駅構内の長手方向に設定しておくことが好ましい。なお、X軸とY軸とは互いに直交する。本実施形態では、X軸は図面左右方向の軸であり、Y軸は図面上下方向の軸である。なお、不可侵部分の例としては、
図3に示すようにプラットホーム外、壁、柱、エスカレータ等が挙げられる。また目的地の例としては、列車ドア位置、他のフロアへ移動するエスカレータ、隣接区画との境界等が挙げられる。駅構造情報は、駅構内のCAD(Computer Aided Design)データを基に作成することが好ましい。
【0017】
また、駅構造記憶部11は、各グリッドにおいてX軸方向に生じる壁斥力とY軸方向に生じる壁斥力とを示す斥力情報を記憶する。ここで、壁斥力とは、旅客が各グリッドに相等する位置を歩行する際に、旅客が壁から離れようとする動きを擬似的な力として表現したものである。したがって、各グリッドのうち、駅構造情報が示す不可侵部分に近いグリッドほど、当該不可侵部分の方向と逆方向に働く壁斥力が強くなる。なお、X軸方向の壁斥力の値が正数である場合は、図面右方向に働く壁斥力を示し、負数である場合は、図面左方向に働く壁斥力を示す。Y軸方向の壁斥力の値が正数である場合は、図面下方向に働く壁斥力を示し、負数である場合は、図面上方向に働く壁斥力を示す。
【0018】
ポテンシャルマップ算出部12は、駅構造記憶部11が記憶する駅構造情報と滞留判定部14による判定結果に基づいて、シミュレーション対象の区画における目的地毎に、各座標における目的地までの移動量を示すポテンシャル値を示すポテンシャルマップを生成する。具体的には、ポテンシャルマップ算出部12は、駅構造情報が示す不可侵部分と滞留判定部14によって移動速度が所定の閾値以下であると判定された旅客の位置をノイマン境界条件とする拡散方程式に基づいた拡散シミュレーションに基づいてポテンシャルマップを生成する。このとき、ポテンシャルマップ算出部12は、係数決定装置30が決定したY軸方向の拡散係数を用いて拡散方程式の演算を行う。なお、X軸方向の拡散係数は固定値である。
【0019】
シミュレート部13は、ポテンシャルマップ算出部12が算出したポテンシャルマップと係数決定装置30が決定した係数とに基づいて、駅構内における旅客の移動をシミュレートする。シミュレート部13は、シミュレート結果である各旅客の移動速度を滞留判定部14に出力し、各旅客が存在する座標を示すログデータをビューア装置20に出力する。ここで、シミュレート部13がシミュレーションに用いる係数の例としては、旅客の心理半径、旅客の加速度、先読み時間、平均旅客速度、乗車口堵列形成時の旅客前後間隔などが挙げられる。ここで、先読み時間とは、旅客が衝突を回避するために自身の進行方向と他者の進行方向とに基づいてそれぞれの未来の存在位置を予測する際の、現在時刻と予測する未来の時刻との差の時間である。
滞留判定部14は、シミュレート部13におけるシミュレート結果に基づいて、各旅客の移動速度が所定の閾値以下であるか否かを判定する。
【0020】
次に、シミュレータ装置10が旅客流動シミュレーションを実行する動作について説明する。
図4は、旅客流動シミュレーションの手順を示すフローチャートである。
まず、ポテンシャルマップ算出部12及びシミュレート部13は、それぞれ係数決定装置30から係数を取得する(ステップS1)。つまり、ポテンシャルマップ算出部12は係数決定装置30からY軸方向の拡散係数を目的地毎に取得し、シミュレート部13は、旅客の心理半径やその他の係数を取得する。
次に、シミュレータ装置10は、以下に示すステップS3〜ステップS8の処理を単位時間(例えば、0.1秒)毎に繰り返し実行する(ステップS2)。なお、ステップS2の終了条件は、予め指定した時間(例えば、10分)が経過したか否かによって判定する。
【0021】
まず、ポテンシャルマップ算出部12は、現在時刻がポテンシャルマップの更新タイミングであるか否かを判定する(ステップS3)。ポテンシャルマップは、例えば1秒毎に更新される。ポテンシャルマップ算出部12は、現在時刻がポテンシャルマップの更新タイミングであると判定した場合(ステップS3:YES)、予め定められた目的地毎に以下に示すステップS5〜ステップS7の処理を実行する。
【0022】
まず、滞留判定部14は、シミュレート部13から前回のシミュレーションにおける各旅客の移動速度を取得する。次に、滞留判定部14は、旅客毎に、移動速度が所定の閾値以下(例えば、単位時間あたりの移動距離が1グリッド以下)であるか否かを判定することで、旅客が滞留旅客であるか否かを判定する(ステップS5)。ここで、滞留判定部14は、移動速度が所定の閾値以下である旅客のうち、ステップS4で選択した目的地へ向かう旅客を、滞留旅客でないと判定する。これにより、旅客が同じ目的地へ向かう他の旅客を追い抜かないという状況を再現することができる。次に、滞留判定部14は、滞留旅客であると判定した旅客が存在する座標を特定する(ステップS6)。そして、ポテンシャルマップ算出部12は、滞留判定部14によって特定された座標を用いて、ポテンシャルマップの生成を行う(ステップS7)。
【0023】
ここで、ポテンシャルマップの生成処理について説明する。
ポテンシャルマップ算出部12は、拡散方程式に基づいて、目的地を始点に粒子が区画内に拡散するときの、各時刻における各グリッドに存在する粒子の量に基づいてポテンシャルマップを生成する。このとき、拡散方程式に用いる拡散係数は、区画からの出口である目的地に並ぶ堵列が延びる方向である堵列方向と堵列方向に直交する方向である直交方向とで異なり、堵列方向の拡散係数が直交方向の拡散係数より大きい。なお、本実施形態において堵列方向とは、X軸方向またはY軸方向である。
【0024】
以下、拡散方程式に基づいてポテンシャルマップを生成する方法について説明する。
図5は、ポテンシャルマップの生成方法を示すフローチャートである。
まず、ポテンシャルマップ算出部12は、まずある時刻におけるグリッドの粒子数を示す配列aを生成する(ステップS101)。次に、ポテンシャルマップ算出部12は、時刻0における各グリッドの粒子数を0に設定する(ステップS102)。次に、ポテンシャルマップ算出部12は、全ての時刻における目的地の粒子数を固定値(例えば、1000粒)に設定する(ステップS103)。これは、目的地のグリッドを拡散方程式のディリクレ境界に設定することと等価である。
【0025】
次に、時刻0から時刻t
maxまで、単位時間Δt毎に、目的地または不可侵部分の何れでもないグリッドgそれぞれに対して、以下に示すステップS106〜S111の処理を実行する(ステップS104、S105)。以下、ステップS104で選択した時刻を時刻t、ステップS105で選択したグリッドをグリッドgと呼ぶ。なお、本実施形態において不可侵部分とは、駅構造記憶部11が記憶する不可侵部分のグリッド及びステップS6において滞留旅客が存在する座標として特定されたグリッドのことである。
ポテンシャルマップ算出部12は、ステップS101で生成した配列aの要素のうち、時刻tより単位時間Δt後の時刻におけるグリッドgを示す要素に、時刻tにおけるグリッドgを示す要素の値を代入する(ステップS106)。つまり、時刻t+Δtにおけるグリッドgの粒子数に、時刻tにおけるグリッドgの粒子数を代入する。
【0026】
次に、ポテンシャルマップ算出部12は、時刻tにおけるグリッドgにX軸方向に隣接する不可侵部分でないグリッドの粒子数を取得し、当該粒子数にX軸方向の拡散係数Dx及び壁斥力Fxに基づく流動率を乗算する。ここで、図面右側に隣接するグリッドの流動率は、X軸方向の拡散係数Dxから、隣接するグリッドのX軸方向の壁斥力Fxを減算して得られる値であり、図面左側に隣接するグリッドの流動率は、X軸方向の拡散係数Dxに、隣接するグリッドのX軸方向の壁斥力Fxを加算して得られる値である。
なお、ポテンシャルマップ算出部12は、隣接するグリッドの座標が、駅構造記憶部11が記憶する駅構造情報において不可侵部分であるとされている座標であるか、またはステップS6で特定された座標である場合、当該グリッドが不可侵部分であると判定する。また、拡散係数Dxは予め定められた1以下の値である。次に、ポテンシャルマップ算出部12は、算出した粒子数を、時刻t+Δtにおけるグリッドgを示す配列aの要素に加算する(ステップS107)。これにより、時刻tにおいてグリッドgのX軸方向に隣接するグリッドからグリッドgへ流入する粒子数を、時刻t+Δtにおけるグリッドgの粒子数に加算することができる。
【0027】
同様に、ポテンシャルマップ算出部12は、時刻tにおけるグリッドgにY軸方向に隣接する不可侵部分でないグリッドの粒子数を取得し、当該粒子数にY軸方向の拡散係数Dy及び壁斥力Fyに基づく流動率を乗算する。ここで、図面下側に隣接するグリッドの流動率は、Y軸方向の拡散係数Dyから、隣接するグリッドのY軸方向の壁斥力Fyを減算して得られる値であり、図面上側に隣接するグリッドの流動率は、Y軸方向の拡散係数Dyに、隣接するグリッドのY軸方向の壁斥力Fyを加算して得られる値である。また、拡散係数Dyは、ステップS1において係数決定装置30から取得した拡散係数である。ここで、Y軸方向が堵列方向である場合、Dx<Dyであり、Y軸方向が直交方向である場合、Dx>Dyである。
次に、ポテンシャルマップ算出部12は、算出した粒子数を、時刻t+Δtにおけるグリッドgを示す配列aの要素に加算する(ステップS108)。これにより、時刻tにおいてグリッドgのY軸方向に隣接するグリッドからグリッドgへ流入する粒子数を、時刻t+Δtにおけるグリッドgの粒子数に加算することができる。
【0028】
次に、ポテンシャルマップ算出部12は、時刻t+Δtにおけるグリッドgを示す配列aの要素から、時刻tにおいて隣接する不可侵部分でないグリッドに移動する粒子数を減算する(ステップS109)。具体的には、時刻tにおけるグリッドgを示す配列aの要素の値に、X軸方向の拡散係数及びグリッドgのX軸方向に隣接する不可侵部分でないグリッドの数を乗じた値、並びに時刻tにおけるグリッドgを示す配列aの要素の値に、Y軸方向の拡散係数及びグリッドgのY軸方向に隣接する不可侵部分でないグリッドの数を乗じた値を、時刻t+Δtにおけるグリッドgを示す配列aの要素から減算する。
なお、上述したステップS107〜S108のように、不可侵部分のグリッドに対して粒子の流入及び流出がないように計算を行うことは、不可侵部分のグリッドを拡散方程式のノイマン境界に設定することと等価である。
【0029】
次に、ポテンシャルマップ算出部12は、時刻t+Δtにおけるグリッドgを示す配列aの要素の値が所定数(例えば、500)を超えたか否かを判定する(ステップS110)。ポテンシャルマップ算出部12は、時刻t+Δtにおけるグリッドgを示す配列aの要素の値が所定数を超えたと判定した場合(ステップS110:YES)、グリッドgのポテンシャル値を時刻t+Δtが示す値に設定する(ステップS111)。なお、ポテンシャルマップ算出部12は、ステップS111でポテンシャル値を設定した場合、ステップS104のループにおいて再度ステップS111が実行されたとしても、当該ポテンシャル値を上書きしない。これにより、グリッドgのポテンシャル値は、粒子数が最初に所定数を超えた時刻を示す。
【0030】
そして、ステップS110において時刻t+Δtにおけるグリッドgを示す配列aの要素の値が所定数を超えていないと判定した場合(ステップS110:NO)、またはステップS111でポテンシャル値を設定した場合、ステップS105に戻り、他のグリッドに対してステップS106〜ステップS110の処理を行う。また時刻tにおける全てのグリッドに対して処理を実行した場合、ステップS104に戻り、単位時間Δtだけ後の時刻における各グリッドに対して、ステップS106〜ステップS110の処理を行う。
【0031】
時刻0から時刻t
maxまでの全てのグリッドに対して処理を実行し終えると、ポテンシャルマップ算出部12は、ステップS111で設定した各グリッドのポテンシャル値を0以上1以下の値に正規化する(ステップS112)。正規化は、例えば各グリッドのポテンシャル値を、ポテンシャル値の最大値で除算することで行われる。
そして、ポテンシャルマップ算出部12は、ステップS112で正規化した各グリッドのポテンシャル値を、ポテンシャルマップとしてシミュレート部13に出力し、ポテンシャルマップの生成処理を終了する。
【0032】
図6は、堵列方向と直交方向の拡散係数の違いによるポテンシャルマップの違いを示す図である。
上述したように、ポテンシャルマップ算出部12は、堵列方向の拡散係数が直交方向の拡散係数より大きい拡散方程式に基づいてポテンシャルマップを生成する。堵列方向と直交方向とで同じ拡散係数を用いると、
図6(A)に示すように、同じ値のポテンシャル値が目的地を中心として同心円状に拡がるポテンシャルマップが生成される。他方、堵列方向(
図6においてはX軸方向)の拡散係数が直交方向(
図6においてはY軸方向)の拡散係数より大きいと、
図6(B)に示すように、同じ値のポテンシャル値が目的地を中心とし、堵列方向に長い楕円状に拡がるポテンシャルマップが生成される。これにより、
図6(B)に示すポテンシャルマップに従って旅客流動シミュレーションを行うことで、旅客が堵列方向に堵列を形成する行動を再現することができる。
【0033】
図7は、滞留する旅客が存在するか否かによるポテンシャルマップの変化を示す図である。
上述したように、ポテンシャルマップ算出部12は、滞留判定部14により移動速度が所定の閾値以下となる旅客が存在するグリッドを不可侵部分として、ポテンシャルマップを生成する。移動速度が所定の閾値以下となる旅客が存在しない場合は、
図7(A)に示すようなポテンシャルマップとなる。他方、移動速度が所定の閾値以下となる旅客が存在する場合、
図7(B)に示すように、滞留している旅客が存在する部分の付近のポテンシャル値が高くなる。これにより、当該ポテンシャルマップに従って旅客流動シミュレーションを行うことで、旅客が混雑箇所を回避する行動を再現することができる。
【0034】
上述したように、ステップS7(
図4)においてポテンシャルマップ算出部12がステップS4で選択した目的地に対するポテンシャルマップを生成すると、ステップS4に戻り、他の目的地に対するポテンシャルマップの生成を繰り返し実行する。
【0035】
ステップS4で全ての目的地に対するポテンシャルマップの生成を終えた場合、またはポテンシャルマップ算出部12がステップS3において現在時刻がポテンシャルマップの更新タイミングでないと判定した場合(ステップS3:NO)、シミュレート部13は、ポテンシャルマップ算出部12が生成したポテンシャルマップに基づいて、単位時間後の旅客の状態をシミュレートする。これによりシミュレート部13は、旅客の位置及び旅客の移動速度を単位時間後の旅客の位置及び旅客の移動速度に更新する(ステップS8)。シミュレート部13が生成した旅客の位置を示す情報は内部メモリに記録され、旅客の移動速度を示す情報は滞留判定部14に出力される。
そして、ステップS2に戻り、ステップS3〜ステップS8の処理を予め指定された時間の間繰り返し実行し、当該指定された時間が経過した場合、ステップS8で内部メモリに蓄積した各時刻における旅客の位置を示す情報を、ログデータとしてビューア装置20に出力し(ステップS9)、処理を終了する。
【0036】
ここで、ステップS8におけるシミュレーション動作の概略について説明する。
シミュレート部13において旅客の行動パターンは、列車に乗車する乗車客、列車から降車して他の区画へ移動する降車客、列車から降車した後に再度列車に乗車する再乗車客の3パターンでモデル化されている。また、旅客毎に予め目的地が定められている。すなわち、シミュレート部13において乗車客は、
図3に示す隣接区画との境界や、上りエスカレータを始点とし、列車ドア位置を目的地とするようモデル化されている。また、降車客は、
図3に示す列車ドア位置を始点とし、隣接区画との境界や下りエスカレータを目的地とするようモデル化されている。また、再乗車客は、列車ドア位置を始点とし、同じ列車ドア位置を目的地とするようモデル化されている。
そして、シミュレート部13は、各旅客の移動方向を、ポテンシャルマップにおいて当該旅客が存在するグリッドの近傍のグリッドのうち、最もポテンシャル値の低いグリッドが存在する方向に決定する。また、シミュレート部13は、前回の旅客の速度、ステップS1で係数決定装置30から取得した旅客の加速度、及び平均旅客速度に基づいて旅客の移動速度を決定する。これにより、シミュレート部13は、単位時間後の旅客の位置を更新することができる。これを繰り返し実行することで、旅客は目的地へ到着することとなる。
【0037】
シミュレート部13において乗車客が目的地である列車ドア位置付近に到着した場合、乗車客は、列車が到着するまで列車待ちの堵列を形成するようモデル化されている。具体的には、乗車客が列車ドア位置付近に到着した場合、乗車客は当該列車ドア位置に形成された堵列の最後尾に移動し、移動を終了する。その他、シミュレート部13において乗車客は、列車が到着した後に列車の扉脇に移動して降車客がホームに降りるための動線を確保し、その後列車内に移動するようにモデル化されている。
【0038】
また、シミュレート部13において旅客が目的地に到着した場合、旅客は、当該目的地の処理能力の範囲内で対象区画からいなくなるようモデル化されている。これにより、エスカレータなどの目的地における、単位時間あたりの通過人数の上限(流動係数)を再現することができる。また、これにより、目的地付近に旅客の堵列が形成されることとなる。
【0039】
次に、
図1に示す係数決定装置30について説明する。
図8は、係数決定装置30の構成を示す概略ブロック図である。
係数決定装置30は、事前シミュレート部31、結果情報生成部32、実測情報取得部33、誤差値算出部34、最適係数決定部35(係数決定部)、最適係数記憶部36、係数候補生成部37を備える。
【0040】
事前シミュレート部31は、シミュレータ装置10において実際にシミュレーションを行う前に、シミュレータ装置10において最適な係数群を探索するために、係数候補生成部37が生成した係数群候補を用いてシミュレータ装置10と同じシミュレーションを実行する。なお、事前シミュレート部31は、シミュレータ装置10が備える駅構造記憶部11、ポテンシャルマップ算出部12、シミュレート部13、滞留判定部14を備え、シミュレータ装置10と同じ処理を行う。
【0041】
結果情報生成部32は、事前シミュレート部31によるシミュレート結果に基づいて、区画内の各グリッドにおける人の密度の推移を示す結果情報を、係数群候補毎に生成する。
実測情報取得部33は、対象となる区画に配備したレーザセンサによって取得された位置データに基づいて生成された、区画内の各グリッドにおける人の密度の推移を示す実測情報を取得する。
誤差値算出部34は、結果情報生成部32が生成した係数群候補毎の結果情報と実測情報取得部33が取得した実測情報とが示す密度の時刻毎の差を算出し、当該時刻毎の差の総和を誤差値として算出する。
最適係数決定部35は、係数候補生成部37が生成した係数群候補のうち、事前シミュレート部31によって用いられることで誤差値算出部34が算出した誤差値が最小となるものを、シミュレータ装置10にて用いられる係数群として決定し、当該係数群を最適係数記憶部36に記録する。
最適係数記憶部36は、シミュレータ装置10にて用いられる係数群と、当該係数群に基づいてシミュレーションを実行したときの誤差値とを記憶する。
係数候補生成部37は、最適係数決定部35が決定した係数群を基にパーティクルフィルタ法によって、最適係数決定部35が決定した係数群に近似する係数群候補を複数生成する。ここで、係数候補生成部37が生成する係数群は、ポテンシャルマップ算出部12が用いるY軸方向の拡散係数、及びシミュレート部13が用いる旅客の心理半径等の係数である。
なお、ポテンシャルマップ算出部12が用いるX軸方向の拡散係数は予め定められており、またX軸方向またはY軸方向は堵列方向であるため、Y軸方向の拡散係数を決定することは、堵列方向の拡散係数と直交方向の拡散係数の比率である拡散比率を決定することと等価である。
【0042】
次に、係数決定装置30による係数群の決定方法について説明する。
図9は、係数群の決定方法を示すフローチャートである。
まず、実測情報取得部33は、レーザセンサが取得した位置データに基づいて生成された実測情報を取得する(ステップS201)。
次に、係数候補生成部37は、係数群の初期値を基にパーティクルフィルタ法によって係数群候補を複数生成する(ステップS202)。具体的には、係数候補生成部37は、Y軸方向の拡散係数や旅客の心理半径などの複数の係数の組み合わせによって構成されている係数群の初期値において、当該複数の係数のそれぞれに対して乱数を加減算することで、係数群の初期値に近似する係数群候補を複数生成する。
【0043】
次に、事前シミュレート部31は、係数候補生成部37が生成した係数群候補のそれぞれを用いて、旅客流動シミュレーションを実行する(ステップS203)。なお、事前シミュレート部31は、
図4に示す手順に従ってシミュレーションを実行する。次に、結果情報生成部32は、事前シミュレート部31が係数群候補毎に出力したログデータに基づいて、単位時間毎の各グリッドにおける人の密度を算出し、結果情報として誤差値算出部34に出力する(ステップS204)。
【0044】
次に、誤差値算出部34は、実測情報取得部33が取得した実測情報と、結果情報生成部32が生成した結果情報とから、グリッド毎、単位時刻毎の密度の差を算出し、係数群候補毎に、当該差の総和を誤差値として算出する(ステップS205)。なお、誤差値の算出をする場合、誤差値算出部34は、実測情報と結果情報とが示すグリッド毎の密度に対して平滑化処理を実行した後に誤差値の算出を行うことが好ましい。
【0045】
次に、最適係数決定部35は、係数候補生成部37が生成した係数群候補のうち、誤差値算出部34が算出した誤差値が最も小さくなった係数群候補、及び当該誤差値を特定する(ステップS206)。次に、最適係数決定部35は、特定した誤差値が、最適係数記憶部36が記憶する誤差値より小さいか否かを判定する(ステップS207)。最適係数決定部35は、誤差値算出部34が算出した係数群候補毎の誤差値のうち、誤差値が最も小さいものが、最適係数記憶部36が記憶する誤差値より小さいと判定した場合(ステップS207:YES)、ステップS206で特定した係数群候補と誤差値とを最適係数記憶部36に記録する(ステップS208)。
次に、係数候補生成部37は、ステップS206で特定した係数群候補を基に、パーティクルフィルタ法によって新たな係数群候補を複数生成し(ステップS209)、ステップS202に戻って各係数群候補を用いたシミュレーションを実行する。
【0046】
他方、最適係数決定部35は、誤差値算出部34が算出した係数群候補毎の誤差値のうち、誤差値が最も小さいものが、最適係数記憶部36が記憶する誤差値以上であると判定した場合(ステップS207:NO)、前回特定した誤差値が誤差値の極小値であると判断し、処理を終了する。
つまり、ステップS201〜ステップS209の処理を実行した後に最適係数記憶部36が記憶する係数群が、シミュレーションに最適な係数群となる。そして、シミュレータ装置10は、係数決定装置30の最適係数記憶部36が記憶する係数群を用いることで、再現度の高いシミュレーションを実行することができる。
【0047】
このように、本実施形態によれば、ポテンシャルマップ算出部12は、目的地に並ぶ堵列が延びる方向である堵列方向の拡散係数が、堵列方向に直交する方向である直交方向の拡散係数より大きい拡散方程式に基づいて、ポテンシャルマップを生成し、当該ポテンシャルマップに従って人の移動をシミュレートする。これにより、シミュレータ装置10は、人が目的地に対して堵列方向に堵列を形成する状況を再現することができる。
【0048】
また、本実施形態によれば、ポテンシャルマップ算出部12は、シミュレート部13がシミュレートする人の移動速度が所定速度以下になった場合に、当該人が存在する座標を前記拡散方程式のノイマン境界条件とする。これにより、シミュレータ装置10は、人が混雑箇所を回避しようとする状況を再現することができる。
【0049】
また、本実施形態によれば、ポテンシャルマップ算出部12は、不可侵座標を拡散方程式のノイマン境界条件とする場合において、目的地を始点に粒子が区画内に拡散し、不可侵部分に近いほど当該不可侵部分から離れようとするときの、各時刻における各グリッドに存在する人の密度を演算することで、ポテンシャルマップを生成する。これにより、シミュレータ装置10は、人が壁から離れて歩行しようとする状況を再現することができる。
【0050】
また、本実施形態によれば、係数決定装置30は、拡散比率を含む係数群を複数生成し、当該複数の係数群を用いてシミュレータ装置10と同じシミュレーションを実行する。そして、シミュレート結果に基づいて生成した結果情報と実測した人数の推移を示す実測情報とを比較することで、誤差値が最小となる係数群を、シミュレータ装置10に用いる係数群として決定する。これにより、係数決定装置30は、シミュレータ装置10に用いる最適な係数群を決定することができる。
【0051】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、駅構造記憶部11が予め斥力情報を記憶しておき、ポテンシャルマップ算出部12が当該斥力情報に基づいて壁斥力を反映した拡散方程式の演算を行う場合を説明したが、これに限られない。例えば、駅構造記憶部11が記憶する駅構造情報が示す不可侵部分の座標に基づいて、各グリッドの壁斥力を算出した後に、ポテンシャルマップ算出部12による拡散方程式の演算を行うようにしても良い。
【0052】
また、本実施形態では、実測情報及び結果情報として、区画内の各グリッドにおける人の密度の推移を示す情報を用いる場合を説明したが、密度に限られず、区画内の所定の地点における人数の推移を示す他の情報を用いても良い。
例えば、実測情報及び結果情報として、人−人距離を用いても良い。ここで、人−人距離とは、各旅客について隣接する旅客との距離の逆数である。つまり、人−人距離が大きいほど、グリッド付近の密集度が高いこと、つまり当該グリッドの周りに存在する人数が多いことを示している。このことから、人−人距離の時刻毎の推移は、所定のグリッドにおける人数の推移を示していると言える。
また、実測情報及び結果情報として、断面流動量を用いても良い。ここで、断面流動量とは、各時刻において区画内の所定の線分を通過した人数のことである。断面流動量の例としては、10秒毎にエスカレータに乗り込んだ人数などが挙げられる。つまり、断面流動量が大きいほど、当該線分を通過する人数が多いことを示している。このことから、断面流動量の時刻毎の推移は、所定のグリッドにおける人数の推移を示していると言える。
また、実測情報及び結果情報として、接触回数を用いても良い。ここで、接触回数とは、単位時間内に各グリッドに存在する旅客同士が接触した回数のことである。つまり、接触回数が多いほど、グリッドの密集度が高いこと、つまり当該グリッド内に存在する人数が多いことを示している。このことから、接触回数の時刻毎の推移は、所定のグリッドにおける人数の推移を示していると言える。なお、接触したか否かの判定方法としては、旅客同士が実際に接触したか否かを判定する方法のほかに、旅客同士の距離が物理半径の2倍以内になったときに接触したとみなす方法を用いることができる。
【0053】
また、本実施形態では、対象となる区画に配備したレーザセンサによって取得された位置データに基づいて実測情報が生成される場合を説明したが、これに限られない。例えば、駅構内の監視カメラやビデオカメラ、デジタルカメラ等の撮像機器によって撮像された動画像を用いた画像処理によって実測情報を生成しても良い。また、動画像を目視で確認して手動により実測情報を生成しても良い。
【0054】
また、本実施形態では、係数決定装置30が事前シミュレート部31を備え、外部装置であるシミュレータ装置10が用いる係数群を決定する場合を説明したが、これに限られない。例えば、事前シミュレート部31がシミュレータ装置10を兼ねる構成であっても良い。つまり、係数決定装置30が、決定した係数群を用いて事前シミュレート部31をシミュレータ装置10として動作させるような構成であっても良い。
【0055】
上述のシミュレータ装置10及び係数決定装置30は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0056】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。