ASSTranseの特長


マルチエージェント・ベースト・交通流シミュレーション

現実の交通流は、一人一人のドライバが周囲環境を知覚・認識し、何らかの判断を下し、車両を操作した結果として生じる車両群の移動現象です。したがって、最もストレートフォワードな交通流のコンピュータ・シミュレーション※1の方法とは、ドライバの知覚・認識・判断・操作を模擬するコード(ドライバ・エージェント※2)をコンピュータ内に実装し、シミュレーション対象地域に存在している全ての車両それぞれについて、各車両の運転を担当するドライバ・エージェントからの操作情報に基づいて各車両の運動を計算するものです。

ASSTranseは、このような原理で交通流のシミュレーションを行うマルチエージェント・ベースト・交通流シミュレーションです。車両(ドライバ)以外にも、歩行者、二輪車などをエージェントとして取り入れてシミュレーションを行うこともできます。

マルチエージェント・ベースト・交通流シミュレーションの概念図

図1 マルチエージェント・ベースト・交通流シミュレーションの概念図

※1 広辞苑によると、シミュレーションとは、「物理的・生態的・社会的等のシステムの挙動を、これとほぼ同じ法則に支配される他のシステムまたはコンピュータの挙動によって、模擬すること」。

※2 ここでは、エージェントという言葉を、「自ら環境から情報を取得し、それに基づいて合目的的に行動を決定、実行する知的実体(ソフトウェア)」という意味で使用しています。

ドライバ・エージェント・モデル
マルチエージェント・ベースト・交通流シミュレーションの核となるのが、ドライバ・エージェントのモデルです。ASSTranseでは、これまでの認知科学・認知工学、エルゴノミクス、サイバネティクスなどの学問分野の研究成果を参考にして独自に開発した動的認知モデルを実装しています。ドライバ・エージェント・モデルは、大きく分けて、知覚・認識モジュール、意思決定モジュール、制御モジュールから構成されています。

ASSTranseのドライバ・エージェント・モデル

図2 ASSTranseのドライバ・エージェント・モデル

知覚・認識モジュールは、知覚部、認識部、ハザード同定部、リスク評価部の4つの部分からなっています。

  • 知覚部では、自車の回りにいる他車両の位置、方向、速度などを取得します。このとき、人の知覚特性をプログラムに反映させ、物理的に遮蔽されている、あるいは死角になっている車両(あるいは歩行者、二輪車)は知覚できないようになっています。
  • 認識部では、知覚した他車両に対し、先行車なのか、対向車なのか、といったラベル付けを行います。
  • ハザード同定部ならびにリスク評価部では、知覚部・認識部で得た情報をもとに、衝突の可能性のある危険車両・歩行者等(ハザード)を抽出し、その主観的リスクを算出します。 ここでいう主観的リスクとは、ドライバが主観的に感じるであろう衝突の危険性の度合いを数値で表したもので、ASSTranseでは、これを相対距離と相対速度の関数によって与えています。

意思決定モジュールは、運転タスク(右左折、車線変更など)の計画部・決定部、制御モード(車速制御モード、車間距離制御モードなど)の決定部および制御目標値(車速目標値、車間距離目標値など)の決定部からなっています。

  • ドライバは、ある運転タスクの実行を計画した場合、それを実施しても安全であるかどうかを確認する動作を行います。ASSTranseでは、意思決定モジュールから知覚・認識モジュールへ、「何を見るべきか、どこを見るべきか」というコマンド信号を送ることで、ドライバの確認動作を実現しています。
  • 判断が下されるまでには通常0.501.0秒程度の時間遅れがあると言われており、ASSTranseはこの時間遅れを考慮に入れています。
  • 知覚・認識モジュールで評価した信号や他車両のリスク値に基づいて、先行車に追従して走行するか(車間距離制御モード)、停止線の手前で停止するか(目標位置停止モード)などの制御モードを決定していきます。

制御モジュールは、判断モジュールにて決定された制御モードに基づいて、制御目標値と実際の制御量(車速、車間距離、姿勢角など)とが一致するように、操舵角ならびにアクセル、ブレーキ操作量を決定します。

  • 制御モジュールは、前後方向、横方向ともに、基本的にはフィードフォワード制御とフィードバック制御からなる2自由度制御系として実装されています。

これに関連した内容の論文として、以下の学術論文を発表しております。

J.Tajima and N.Yuhara: “Multi-driver agent-based traffic simulation systems for evaluating the effects of advanced driver assistance systems on road traffic accidents”, International Journal of Cognition, Technology and Work, Vol. 8, No. 4, pp.283-300, 2006

シミュレーション・システムの構造
ASSTranseがどのようにシミュレーションを実行していくのか、その動的な側面を強調して描いた概念図が、下の図です。各時刻において、各ドライバ・エージェントは、知覚・認識、意思決定および操作の各層での処理を行い、その結果として、各車両の位置、速度、姿勢角等が更新されることになります。

4階層からなるシミュレーション・システムの構造

図3 4階層からなるシミュレーション・システムの構造

エージェントの動的な振舞いを決定するのは、意思決定レイヤーです。ここで、次にどこを見るか、何を見るか、そして、次に何をするか、どのようにするか、が決定されます。意思決定レイヤーは、“状況”に対応付けられた「ジョブ」(何をするかの記述と、次のジョブへの遷移ルールをまとめたもの)のフローを持っており、エージェントの置かれた“状況”(知覚・認識の結果)に合わせて、適切なルールを選択します。たとえば、信号交差点での走行では、以下の図のようなジョブ・フローを持っています。

信号交差点を走行するためのジョブ・フロー

図4 信号交差点を走行するためのジョブ・フロー

シミュレーションデータの設定
シミュレーションを実行するためには、対象道路区間の道路線形、速度規制値、信号機、車両発生地点における車種別交通量などのデータを設定する必要があります。ASSTranseでは、これらのデータを、専用のGUIツールを用いて設定します。

シミュレーションのためのデータ設定

図5 シミュレーションのためのデータ設定

シミュレーションによる安全性の評価
交通事故の多くは、ドライバの知覚ミス・認識ミス・判断ミスが原因で発生していると言われています。ASSTranseでは、これらの要因をドライバ・エージェントに組み込むことによって、交通事故などの不安全事象の生起に関する解析・評価を行うことが可能となります。この点がASSTranseの最大の特長であり、これまでの交通シミュレーションと大きく違う点です。

現実の交通流の安全性をシミュレーションで再現しようとする場合には、どのような事故誘発要因をドライバ・エージェントに組み込むか、ということが極めて重要になります。どのような原理・法則・技法を用いているとしても、シミュレーションとはあくまでも、予め与えた条件の範囲内で演繹的推論を行うものであり、事故要因が組み込まれてはじめてシミュレーション中に交通事故などの不安全事象が模擬されることになります。

その一方で、事故後の原因解明が不十分だった場合、あるいは事故発生プロセスなどのデータを参照できない場合など、事故要因を事前にある程度、仮定しなければならないことも多々あります。事故要因についての仮定の妥当性を高めるためには、ドライビング・シミュレータやプローブカーによる実験などを行ったり、その仮定のもとでシミュレーションを行い、現実の交通流と比較し、その結果に基づいて仮定を修正する、というフィードバックループ(適応的プロセス)を必要に応じて繰り返すことになります。

交通シミュレーションの適応的プロセス

図6 交通シミュレーションの適応的プロセス

シミュレーション中で発生した交通事故などの不安全事象については、ログデータを出力することで、その事象発生に至るまでに、ドライバ・エージェントが何を認識し、どのような判断を下して、どのような操作をしたのか、すなわち、事象発生のプロセスを確認することができるようになっています。

ログデータ分析

図7 ログデータ分析