(57)【特許請求の範囲】
【請求項１】
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部を備える運転シミュレーション装置において、
前記運転者に対して指示を与えるための出力部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部と、
前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行部に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行部に対して指示するシナリオ制御部とを備える、運転シミュレーション装置。
【請求項２】
前記運転者負荷量算出部は、前記運転者による運転操作に関する運転操作情報を、前記シミュレーション管理部から取得し、取得した運転操作情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、請求項１に記載の運転シミュレーション装置。
【請求項３】
前記運転者負荷量算出部は、前記仮想道路交通環境を示す道路交通情報を、前記シミュレーション管理部から取得し、取得した道路交通情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、請求項１に記載の運転シミュレーション装置。
【請求項４】
前記運転シミュレーション装置は、前記運転者の生体反応を検出する生体反応検出装置にアクセス可能であって、
前記運転者負荷量算出部は、前記生体反応検出装置により検出された運転者の生体反応と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、請求項１に記載の運転シミュレーション装置。
【請求項５】
前記運転シミュレーション装置は、前記シナリオ実行部によるサブタスクシナリオの実行に従って前記運転者がサブタスクを行った場合における当該サブタスクの実行結果を検出する実行結果検出部をさらに備え、
前記運転者負荷量算出部は、前記実行結果検出部により検出されたサブタスクの実行結果と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、請求項１に記載の運転シミュレーション装置。
【請求項６】
前記基準情報記録部には、互いに異なる基準となる複数の負荷基準情報が予め記録されており、
前記運転シミュレーション装置は、
前記運転者による運転操作の特徴、前記運転者の生体反応の特徴、または前記運転者がサブタスクを行った場合のサブタスク実行状況の特徴を示す運転者属性情報を記録する属性情報記録部と、
前記属性情報記録部に記録された運転者属性情報に基づいて、前記基準情報記録部に記録された複数の負荷基準情報の中から一の負荷基準情報を選択する基準情報選択部とをさらに備える、請求項１〜５のいずれか一項に記載の運転シミュレーション装置。
【請求項７】
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータが処理を実行する運転シミュレーション方法であって、
前記コンピュータが備える出力部が、前記運転者に対して指示を与えるための出力工程と、
前記コンピュータが備えるシナリオ実行部が、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行工程と、
前記コンピュータが備える運転者負荷量算出部が、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出工程と、
前記コンピュータが備えるシナリオ制御部が、前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行部に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行部に対して指示するシナリオ制御工程とを含む、運転シミュレーション方法。
【請求項８】
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータに処理を実行させるプログラムであって、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、運転者へ出力するシナリオ実行処理と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出処理と、
前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、前記シナリオ実行処理をコンピュータに開始させ、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、前記シナリオ実行処理をコンピュータに停止させるシナリオ制御処理とを前記コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想道路交通環境と、運転者による運転操作に従って仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現する運転シミュレーション装置、運転シミュレーション方法、およびプログラムに関する。
【背景技術】
【０００２】
従来から、仮想空間内で、車両の運転・走行をシミュレートする運転シミュレーション装置（ドライビングシミュレータ）が知られている（例えば、特許文献１〜３参照）。一般に、運転シミュレーション装置は、運転者が車窓から見る車外の映像をスクリーンに３次元表示させるとともに、エンジン音、ロードノイズ、風切り音等、車両の走行時に発生する音をスピーカから出力させる。すなわち、実車同様に備えられたステアリングハンドル、アクセルペダル、ブレーキペダル、シフトレバー等の入力装置を介して、仮想空間内の仮想移動体（例えば、自動車等）に対する運転操作を行うことにより、この仮想移動体の挙動を制御する。また、仮想移動体の障害となり得る仮想障害体（例えば、三輪車、自動車、バイク、自転車、歩行者等）の挙動は、通常、運転シミュレーション装置上で動作する制御プログラムによって制御される。また、動揺発生装置を備えた運転シミュレーション装置も知られている。動揺発生装置を備えた運転シミュレーション装置によれば、例えば、車両の走行時における加速あるいは減速に伴う振動を運転者に擬似的に体感させることができる。
【０００３】
このような運転シミュレーション装置は、例えば、自動車教習所等における安全運転教育の一環として、運転者に事故を擬似体験させることにより、運転者の危険予測能力を高める運転訓練用として用いられる。また、運転シミュレーション装置は、例えば、様々な条件下において、運転者の挙動を解析し、あるいは運転支援装置を評価するための研究用としても用いられる。なお、運転支援装置は、運転者の認知ミス、判断ミスに起因する事故を防止するために、各種のセンサで検出した情報（例えば、周辺車両の位置情報等）に基づいて、運転者に対して情報提供や警告を行い、あるいは車両に対して介入制御を行う装置である。さらに、運転シミュレーション装置は、例えば、カーレースゲーム等のアミューズメント用としても用いられる。
【０００４】
ここで、運転訓練用の運転シミュレーション装置においては、運転者に事故を疑似体験させるために、事故の発生する危険な状況を再現する必要がある。また、研究用の運転シミュレーション装置においても、運転支援装置による事故防止効果を定量的に検証するために、事故の発生する危険な状況を再現する必要がある。事故の発生する危険な状況を再現するために、運転中に、運転者に対して、運転操作以外の動作（サブタスク）を行わせる方法が知られている（例えば、非特許文献１参照）。ここで、サブタスクには、例えば、運転者がある暗算を行う暗算タスク、運転者がある情報を暗記する暗記タスク、運転者がある操作を行う操作タスク等がある。なお、暗算タスクは、実際の運転において、例えば、同乗者と会話を行う行為に相当する。また、暗記タスクは、実際の運転において、例えば、第三者の電話番号を覚える行為や目的地への目印を覚える行為に相当する。さらに、操作タスクは、例えば、ラジオを操作する行為やカーナビゲーションシステムを操作する行為に相当する。
【０００５】
すなわち、運転中に、運転者に対してサブタスクを行わせることによって、運転者は、運転操作（メインタスク）に対する集中力が阻害される（いわゆるドライバーディストラクション）。運転操作に対する集中力が阻害されるので、運転者による認知ミス、判断ミスが起こり易くなる。この結果、事故の発生確率が高い危険な状況を作り出すことができる。
【０００６】
しかしながら、事故の発生確率が高い危険な状況を積極的に作り出すために、現実にはあり得ない程の負荷の高いサブタスクを運転者に対して行わせ、あるいは現実にはあり得ない程の複数のサブタスクを運転者に対して行わせると、運転者の納得が得られない訓練になってしまったり、運転支援装置の妥当な評価が行えなかったりする可能性がある。また、サブタスクを運転者に対して行わせた場合であっても、事故あるいは事故寸前の状態を誘発するのに不十分であれば、運転者による認知ミス、判断ミスは起こり難い。さらに、同じサブタスクを運転者に対して継続的に行わせると、当該サブタスクに対して運転者が慣れてしまうので、運転者による認知ミス、判断ミスが起こり難くなる。この結果、事故の発生確率が高い危険な状況が作り出せない。つまり、運転者に事故を疑似体験させることにより、運転者の危険予測能力を高めるという運転訓練の目的から逸脱してしまう。また、事故の発生確率が高い危険な状況を作り出すことができなければ、運転支援装置の妥当な評価も行えない。
【特許文献１】特開平６−１１８８６６号公報
【特許文献２】特開２００２−７２２２４号公報
【特許文献３】特開２００７−２６４０５５号公報
【非特許文献１】伊藤誠、古川宏、稲垣敏之、「交通状況と運転行動の整合性評価に基づく高リスク心的状態の検出」、計測自動制御学会システム・情報部門講演会２００５講演論文集、２００５年、ｐ１１２−ｐ１１７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる運転シミュレーション装置、運転シミュレーション方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明における運転シミュレーション装置は、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部を備える運転シミュレーション装置において、前記運転者に対して指示を与えるための出力部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出部と、前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部と、前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行部に対して指示する負荷量制御部とを備える。
【０００９】
本発明の運転シミュレーション装置によれば、運転者負荷量算出部は、基準情報記録部に記録された負荷基準情報と、仮想移動体の状況または運転者の状況とに基づいて、運転者が受けている運転者負荷量を算出する。目標負荷記録部には、運転者が受けるべき目標負荷量を示す目標負荷情報を記録する。ここで、負荷量制御部は、運転者負荷量が目標負荷量よりも大きい場合には当該運転者負荷量を減少させるべく、サブタスクシナリオの変更またはサブタスクシナリオの実行状況の変更をシナリオ実行部に対して指示する。これにより、運転者が受けている運転者負荷量を減少させることができる。また、負荷量制御部は、運転者負荷量が目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、サブタスクシナリオの変更またはサブタスクシナリオの実行状況の変更をシナリオ実行部に対して指示する。これにより、運転者が受けている運転者負荷量を増加させることができる。この結果、本発明の運転シミュレーション装置は、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる。
【００１０】
上記目的を達成するために本発明における運転シミュレーション装置は、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部を備える運転シミュレーション装置において、前記運転者に対して指示を与えるための出力部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出部と、前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部と、前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行部に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行部に対して指示するシナリオ制御部とを備える。
【００１１】
本発明の運転シミュレーション装置によれば、運転者負荷量算出部は、基準情報記録部に記録された負荷基準情報と、仮想移動体の状況または運転者の状況とに基づいて、運転者が受けている運転者負荷量を算出する。条件情報記録部には、運転者負荷量の経時的変化によって定められる、サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録される。ここで、シナリオ制御部は、サブタスクシナリオの実行が停止されている間に運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、シナリオ実行部に対して指示する。また、シナリオ制御部は、サブタスクシナリオの実行中に運転者負荷量の変化が停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、シナリオ実行部に対して指示する。この結果、本発明の運転シミュレーション装置は、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる。
【００１２】
上記目的を達成するために本発明における運転シミュレーション方法は、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部とを備えたコンピュータが処理を実行する運転シミュレーション方法であって、前記コンピュータが備える出力部が、前記運転者に対して指示を与えるための出力工程と、前記コンピュータが備えるシナリオ実行部が、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力工程を介して運転者へ出力させるシナリオ実行工程と、前記コンピュータが備える運転者負荷量算出部が、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出工程と、前記コンピュータが備える負荷量制御部が、前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行工程に対して指示する負荷量制御工程とを含む。
【００１３】
上記目的を達成するために本発明における運転シミュレーション方法は、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータが処理を実行する運転シミュレーション方法であって、前記コンピュータが備える出力部が、前記運転者に対して指示を与えるための出力工程と、前記コンピュータが備えるシナリオ実行部が、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力工程を介して運転者へ出力させるシナリオ実行工程と、前記コンピュータが備える運転者負荷量算出部が、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出工程と、前記コンピュータが備えるシナリオ制御部が、前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行工程に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行工程に対して指示するシナリオ制御工程とを含む。
【００１４】
上記目的を達成するために本発明におけるプログラムは、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部とを備えたコンピュータに処理を実行させるプログラムであって、前記運転者に対して指示を与えるための出力処理と、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力処理を介して運転者へ出力させるシナリオ実行処理と、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出処理と、前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行処理に対して指示する負荷量制御処理とを前記コンピュータに実行させる。
【００１５】
上記目的を達成するために本発明におけるプログラムは、仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータに処理を実行させるプログラムであって、前記運転者に対して指示を与えるための出力処理と、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力処理を介して運転者へ出力させるシナリオ実行処理と、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出処理と、前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行処理に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行処理に対して指示するシナリオ制御処理とを前記コンピュータに実行させる。
【発明の効果】
【００１６】
以上のように、本発明の運転シミュレーション装置、運転シミュレーション方法、およびプログラムは、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態において、前記運転シミュレーション装置は、前記サブタスクシナリオと、当該サブタスクシナリオの負荷との対応関係が予め記録された対応関係記録部をさらに備え、前記運転者負荷量を減少させるべく、前記サブタスクシナリオの変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の低いサブタスクシナリオに変更し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の高いサブタスクシナリオに変更する態様とするのが好ましい。この態様によれば、運転者負荷量を減少させるべく、サブタスクシナリオの変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、負荷の低いサブタスクシナリオに変更するので、運転者が受けている運転者負荷量を減少させることができる。また、運転者負荷量を増加させるべく、サブタスクシナリオの変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、負荷の高いサブタスクシナリオに変更するので、運転者が受けている運転者負荷量を増加させることができる。
【００１８】
本発明の実施形態において、前記運転シミュレーション装置は、前記サブタスクシナリオ内に規定された前記運転者が受けるべき負荷の度合いを表すパラメータと、当該パラメータの負荷との対応関係が予め記録された対応関係記録部をさらに備え、前記運転者負荷量を減少させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の低いパラメータに変更し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の高いパラメータに変更する態様とするのが好ましい。この態様によれば、運転者負荷量を減少させるべく、サブタスクシナリオの実行状況の変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、負荷の低いパラメータに変更するので、運転者が受けている運転者負荷量を減少させることができる。また、運転者負荷量を増加させるべく、サブタスクシナリオの実行状況の変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、負荷の高いパラメータに変更するので、運転者が受けている運転者負荷量を増加させることができる。
【００１９】
本発明の実施形態において、前記運転シミュレーション装置は、前記運転者負荷量を減少させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、現在実行中のサブタスクシナリオを停止し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、新たなサブタスクシナリオの実行を開始する態様とするのが好ましい。この態様によれば、運転者負荷量を減少させるべく、サブタスクシナリオの実行状況の変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、現在実行中のサブタスクシナリオを停止するので、運転者が受けている運転者負荷量を減少させることができる。また、運転者負荷量を増加させるべく、サブタスクシナリオの実行状況の変更の指示が負荷量制御部からあった場合には、シナリオ実行部は、新たなサブタスクシナリオの実行を開始するので、運転者が受けている運転者負荷量を増加させることができる。
【００２０】
本発明の実施形態において、前記運転シミュレーション装置は、前記運転者の居眠りの前兆を検出する居眠り検出装置にアクセス可能であって、前記目標負荷記録部には、互いに異なる目標負荷量となる複数の目標負荷情報が予め記録されており、前記運転シミュレーション装置は、前記居眠り検出装置により運転者の居眠りの前兆が検出された場合には、当該運転者の居眠りの前兆が検出されない場合と比較して、目標負荷量が低くなるように、前記目標負荷記録部に記録された複数の目標負荷情報の中から一の目標負荷情報を選択する目標負荷選択部をさらに備える態様とするのが好ましい。この態様によれば、運転者の居眠りの前兆が検出された場合には、目標負荷量が低くなるように、複数の目標負荷情報の中から一の目標負荷情報を選択することができる。これにより、運転者の意識が回復して安全な状態に誘導してしまうことを回避することができる。この結果、事故の発生確率が高い危険な状況を作り出すことができる。
【００２１】
本発明の実施形態において、前記運転者負荷量算出部は、前記運転者による運転操作に関する運転操作情報を、前記シミュレーション管理部から取得し、取得した運転操作情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する態様とするのが好ましい。この態様によれば、運転者による運転操作に応じて、運転者が受けている運転者負荷量を算出することができる。
【００２２】
本発明の実施形態において、前記運転者負荷量算出部は、前記仮想道路交通環境を示す道路交通情報を、前記シミュレーション管理部から取得し、取得した道路交通情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する態様とするのが好ましい。この態様によれば、仮想道路交通環境に応じて、運転者が受けている運転者負荷量を算出することができる。
【００２３】
本発明の実施形態において、前記運転シミュレーション装置は、前記運転者の生体反応を検出する生体反応検出装置にアクセス可能であって、前記運転者負荷量算出部は、前記生体反応検出装置により検出された運転者の生体反応と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する態様とするのが好ましい。この態様によれば、運転者の生体反応に応じて、運転者が受けている運転者負荷量を算出することができる。
【００２４】
本発明の実施形態において、前記運転シミュレーション装置は、前記シナリオ実行部によるサブタスクシナリオの実行に従って前記運転者がサブタスクを行った場合における当該サブタスクの実行結果を検出する実行結果検出部をさらに備え、前記運転者負荷量算出部は、前記実行結果検出部により検出されたサブタスクの実行結果と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する態様とするのが好ましい。この態様によれば、運転者がサブタスクを行った場合における当該サブタスクの実行結果に応じて、運転者が受けている運転者負荷量を算出することができる。
【００２５】
本発明の実施形態において、前記基準情報記録部には、互いに異なる基準となる複数の負荷基準情報が予め記録されており、前記運転シミュレーション装置は、前記運転者による運転操作の特徴、前記運転者の生体反応の特徴、または前記運転者がサブタスクを行った場合における当該サブタスクの実行結果の特徴を示す運転者属性情報を記録する属性情報記録部と、前記属性情報記録部に記録された運転者属性情報に基づいて、前記基準情報記録部に記録された複数の負荷基準情報の中から一の負荷基準情報を選択する基準情報選択部とをさらに備える態様とするのが好ましい。この態様によれば、運転者属性情報に基づいて、複数の負荷基準情報の中から一の負荷基準情報を選択するので、運転者負荷量算出部は、選択した負荷基準情報に基づいて、運転者負荷量を算出することができる。
【００２６】
本発明の実施形態において、前記運転シミュレーション装置は、前記運転者による運転操作、前記運転者の生体反応、または前記運転者がサブタスクを行った場合における当該サブタスクの実行結果に基づいて、前記属性情報記録部に記録された運転者属性情報を更新する属性情報更新部をさらに備える態様とするのが好ましい。この態様によれば、属性情報記録部に記録された運転者属性情報を最新の状態に更新することができる。
【００２７】
以下、本発明のより具体的な実施形態について図面を参照しながら詳細に説明する。
【００２８】
[実施の形態１]
図１は、本実施形態に係る運転シミュレーション装置１の概略構成を示すブロック図である。図１に示す運転シミュレーション装置１は、入力装置２、表示装置３、および出力装置４に接続されている。ここで、本実施形態に係る運転シミュレーション装置１は、例えば、運転者に事故を擬似体験させるための運転訓練用として用いられる。また、本実施形態に係る運転シミュレーション装置１は、例えば、事故を防止するために運転者に対して様々な情報提供や警告等を行う運転支援装置を評価するための実験環境を提供する研究用としても用いられる。入力装置２は、実車同様に備えられたハンドル、アクセルペダル、ブレーキペダル、シフトレバー、ウインカー、エンジンキー等から構成される。表示装置３は、プロジェクタ、液晶ディスプレイ、有機ＥＬディスプレイ、プラズマディスプレイ、ＣＲＴディスプレイ等から構成される。出力装置４は、スピーカ、ヘッドフォン等から構成される。
【００２９】
運転シミュレーション装置１は、シミュレーション管理部１１、操作入力部１２、映像出力部１３、および音声出力部１４を備えている。ここで、上記のシミュレーション管理部１１、操作入力部１２、映像出力部１３、および音声出力部１４の各機能は、コンピュータが備えるＣＰＵ等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。
【００３０】
シミュレーション管理部１１は、仮想道路交通環境と、運転者による運転操作に従って仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現する。なお、本実施形態においては、仮想移動体は、仮想空間内の自動車であるが、これに限定されず、例えば、三輪車、バイク、電車、船、飛行機等の任意の移動体であってもよい。ここで、仮想道路交通環境には、仮想道路と、仮想移動体の障害となり得る１または複数の仮想障害体（例えば、三輪車、自動車、バイク、自転車、歩行者等）とを含む。
【００３１】
操作入力部１２は、入力装置２を介して、仮想空間内の仮想移動体に対する運転操作を受け付ける。操作入力部１２が受け付けた運転操作に従って、シミュレーション管理部１１は、仮想移動体の挙動を決定する。また、シミュレーション管理部１１は、運転シミュレーション装置１の図示しないメモリに予め記録された制御プログラムに従って、仮想空間内の仮想障害体の挙動を決定する。シミュレーション管理部１１は、決定した仮想移動体の挙動および決定した仮想障害体の挙動を含む仮想空間の映像を、表示装置３に表示させるように、映像出力部１３に対して指示する。また、シミュレーション管理部１１は、仮想空間内で発生した音声を出力装置４から出力させるように、音声出力部１４に対して指示する。
【００３２】
映像出力部（出力部）１３は、シミュレーション管理部１１からの指示に従って、仮想移動体の挙動および仮想障害体の挙動を含む仮想空間の映像を、表示装置３に表示させる。音声出力部（出力部）１４は、シミュレーション管理部１１からの指示に従って、仮想空間内で発生した音声を出力装置４から出力させる。例えば、仮想空間内で発生した音は、仮想移動体のエンジン音、ロードノイズ、風切り音等である。
【００３３】
また、運転シミュレーション装置１は、運転中に、運転者に対して、運転操作以外の動作（サブタスク）を行わせるための機能を有している。すなわち、運転中に、運転者に対してサブタスクを行わせることにより、運転者は、運転操作に対する集中力が阻害される。運転操作に対する集中力が阻害されるので、運転者による認知ミス、判断ミスが起こり易くなる。この結果、事故の発生する確率が高くなる。このため、運転シミュレーション装置１は、シナリオ記録部１５、シナリオ実行部１６、基準情報記録部１７、運転者負荷量算出部１８、目標負荷記録部１９、負荷量制御部２０、および対応関係記録部２１をさらに備えている。
【００３４】
ここで、上記のシナリオ実行部１６、運転者負荷量算出部１８、および負荷量制御部２０の各機能は、コンピュータが備えるＣＰＵ等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、シナリオ記録部１５、基準情報記録部１７、目標負荷記録部１９、および対応関係記録部２１は、コンピュータの内蔵記憶装置またはこのコンピュータからアクセス可能な記憶装置によって具現化される。なお、以下で説明する実施の形態２〜８の各部材についても、これと同様である。
【００３５】
シナリオ記録部１５には、サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録される。なお、サブタスクは、運転者による運転操作（メインタスク）以外の動作をいう。例えば、サブタスクには、運転者がある暗算を行う暗算タスク、運転者がある情報を暗記する暗記タスク、運転者がある操作を行う操作タスク等がある。本実施形態においては、シナリオ記録部１５には、暗算タスクを運転者に対して行わせるためのサブタスクシナリオと、暗記タスクを運転者に対して行わせるためのサブタスクシナリオと、操作タスクを運転者に対して行わせるためのサブタスクシナリオとが予め記録されている。ここで、サブタスクシナリオは、例えば、ＶｏｉｃｅＸＭＬ（Voice Extensible Markup Language）、ＸＭＬ（Extensible Markup Language）、あるいはＨＴＭＬ（Hyper Text Markup Language）等の言語で記述されている。
【００３６】
なお、上記では、サブタスクとして、暗算タスク、暗記タスク、および操作タスクの例について説明したが、これに限定されない。例えば、サブタスクには、暗算タスク、暗記タスク、および操作タスク以外に、運転者がある対話を行う対話タスク、運転者がある音を聞く視聴タスク、運転者がある画像を注視する注視タスク等がある。すなわち、サブタスクは、運転者による運転操作以外の動作であれば、特に限定されない。このため、シナリオ記録部１５に記録されるサブタスクシナリオも、運転者による運転操作以外の動作を行わせるためのシナリオであれば、特に限定されない。
【００３７】
シナリオ実行部１６は、シナリオ記録部１５に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、サブタスクシナリオに従ったサブタスク実行指示を、音声出力部１４を介して運転者へ出力させる。すなわち、シナリオ実行部１６は、サブタスクシナリオを実行することにより、サブタスクシナリオに従ったサブタスク実行指示をシミュレーション管理部１１へ出力する。シミュレーション管理部１１は、音声出力部１４を介して、出力装置４から運転者に対するサブタスク実行指示を音声により出力する。これにより、運転者は、出力装置４から出力された音声によるサブタスク実行指示に従って、サブタスクを行うことができる。ここで、サブタスクシナリオが暗算タスクのサブタスクシナリオであれば、運転者は、出力装置４から出力された音声によるサブタスク実行指示に従って、例えば、１桁の数同士の加算（暗算）を行うことができる。また、サブタスクシナリオが暗記タスクのサブタスクシナリオであれば、運転者は、出力装置４から出力された音声によるサブタスク実行指示に従って、例えば、７つの数字を順に暗記することができる。さらに、サブタスクシナリオが操作タスクのサブタスクシナリオであれば、運転者は、出力装置４から出力された音声によるサブタスク実行指示に従って、当該指示のあった操作ボタンを操作することができる。
【００３８】
なお、上記では、シナリオ実行部１６は、サブタスクシナリオを実行することにより、サブタスクシナリオに従ったサブタスク実行指示を、音声出力部１４を介して運転者へ出力させる例について説明したが、これに限定されない。例えば、シナリオ実行部１６は、サブタスクシナリオを実行することにより、サブタスクシナリオに従ったサブタスク実行指示を、映像出力部１３を介して運転者へ出力させるようにしてもよい。この場合、シミュレーション管理部１１は、映像出力部１３を介して、表示装置３から運転者に対するサブタスク実行指示を映像により出力する。
【００３９】
基準情報記録部１７には、運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録される。図２は、本実施形態に係る基準情報記録部１７に記録された負荷基準情報の一例を示す図である。すなわち、本実施形態に係る基準情報記録部１７は、負荷基準情報を負荷基準テーブル１７０として記録する。図２に示すように、負荷基準テーブル１７０には、ふらつき回数Ｎの範囲と、運転者負荷量とが記録されている。ここで、ふらつき回数Ｎは、運転者によるハンドル操作がふらついた回数を示す。なお、運転者によるハンドル操作のふらつきについては後述する。ここで、図２に示す例では、「レベル１」が最も運転者負荷量が低く、「レベル３」が最も運転者負荷量が高い。つまり、基準情報記録部１７には、ふらつき回数Ｎが大きくなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブル１７０が記録されている。
【００４０】
なお、上記では、基準情報記録部１７には、テーブル構造の負荷基準テーブル１７０が記録されている例について説明したが、これに限定されない。すなわち、基準情報記録部１７に記録されるデータのデータ構造として、テーブル構造に限定されるものではなく、任意である。また、負荷基準テーブル１７０の内容についても、あくまで一例であって、これに限定されるものではない。例えば、本実施形態では、運転者負荷量は、レベルにて表しているが、当該レベルに代えて、数値で表してもよい。すなわち、本明細書において、各種記録部に記録されるべきデータのデータ構造については、特に限定されるものではなく、任意である。また、各種記録部に記録されるべきデータの内容についても、あくまで一例を示すものであって、特に限定されるものではない。
【００４１】
運転者負荷量算出部１８は、運転者が現在受けている運転者負荷量を算出する。具体的には、運転者負荷量算出部１８は、まず、運転者による運転操作に関する運転操作情報を、シミュレーション管理部１１から取得する。ここで、本実施形態においては、運転操作情報は、運転者によるハンドル操作に関するハンドル操作情報である。運転者負荷量算出部１８は、取得したハンドル操作情報に基づいて、運転者によるハンドル操作がふらついたか否かを判定する。
【００４２】
具体的には、運転者負荷量算出部１８は、取得したハンドル操作情報に基づいて、ハンドルの角速度ωを算出する。なお、角速度ωは、ラジアン毎秒（ｒａｄ／ｓ）にて表される。運転者負荷量算出部１８は、算出したハンドルの角速度ωが閾値以上であるか否かを判定する。なお、当該閾値は、運転シミュレーション装置１の図示しないメモリに予め記録されている。ここで、運転者負荷量算出部１８は、算出したハンドルの角速度ωが閾値以上であると判定すれば、運転者によるハンドル操作がふらついたと判定する。運転者負荷量算出部１８は、運転者によるハンドル操作がふらついたと判定すれば、ハンドル操作がふらついたことを回数記録部１８ａへ記録する。これにより、回数記録部１８ａには、運転者によるハンドル操作がふらついたふらつき回数の累計が記録されることになる。
【００４３】
運転者負荷量算出部１８は、回数記録部１８ａを参照することにより、現在時刻から過去の一定時間までの間に、運転者によるハンドル操作がふらついたふらつき回数Ｎを算出する。運転者負荷量算出部１８は、算出したふらつき回数Ｎが、ふらつき回数Ｎの範囲のうちどの範囲に含まれるかを判定する。運転者負荷量算出部１６は、算出したふらつき回数Ｎが含まれるふらつき回数Ｎの範囲に対応する運転者負荷量を、負荷基準テーブル１７０から読み出す。例えば、算出したふらつき回数Ｎが「８」であれば、運転者負荷量算出部１８は、算出したふらつき回数「８」が含まれるふらつき回数Ｎの範囲「Ｎ＜１０」に対応する運転者負荷量「レベル１」を、負荷基準テーブル１７０から読み出す。すなわち、運転者負荷量算出部１８は、運転者が受けている運転者負荷量が「レベル１」であると算出する。運転者負荷量算出部１８は、算出した運転者負荷量を、負荷量制御部２０へ出力する。
【００４４】
目標負荷記録部１９には、運転者が受けるべき目標負荷量を示す目標負荷情報が記録される。本実施形態においては、目標負荷記録部１９には、目標負荷情報として、レベル１〜３の３段階のうちいずれかの段階の目標負荷量が記録されている。すなわち、目標負荷記録部１９には、目標負荷情報として、運転シミュレーション装置１の管理者によって、現実にはあり得ない程の負荷の高いサブタスクを運転者に対して行わせないように、現実性を考慮した上で目標負荷量が記録される。なお、目標負荷記録部１９に記録される目標負荷情報は、運転シミュレーション装置１の管理者によって任意に更新することが可能である。
【００４５】
負荷量制御部２０は、まず、目標負荷記録部１９に記録された目標負荷情報を読み出す。負荷量制御部２０は、運転者負荷量算出部１８から出力された運転者負荷量と、読み出した目標負荷情報が示す目標負荷量とを比較する。比較の結果、運転者負荷量が目標負荷量よりも大きい場合には、負荷量制御部２０は、運転者負荷量が減少するように、シナリオ実行部１６に対して指示する。すなわち、負荷量制御部２０は、運転者負荷量が現実にはあり得ない程大きければ、運転者負荷量が減少するように、シナリオ実行部１６に対して指示する。例えば、目標負荷量が「レベル２」、運転者負荷量が「レベル３」であった場合に、負荷量制御部２０は、運転者負荷量「レベル３」が減少するように、シナリオ実行部１６に対して指示する。
【００４６】
また、運転者負荷量が目標負荷量よりも小さい場合には、負荷量制御部２０は、運転者負荷量が増加するように、シナリオ実行部１６に対して指示する。すなわち、負荷量制御部２０は、運転者負荷量が事故あるいは事故寸前の状態を誘発するのに不十分であれば、運転者負荷量が増加するように、シナリオ実行部１６に対して指示する。例えば、目標負荷量が「レベル２」、運転者負荷量が「レベル１」であった場合に、負荷量制御部２０は、運転者負荷量「レベル１」が増加するように、シナリオ実行部１６に対して指示する。なお、運転者負荷量と目標負荷量とが同一（同じレベル）であった場合には、負荷量制御部２０は、シナリオ実行部１６に対して何も指示しない。
【００４７】
対応関係記録部２１には、サブタスクシナリオと、当該サブタスクシナリオの負荷との対応関係が予め記録される。図３は、本実施形態に係る対応関係記録部２１に記録された対応関係の一例を示す図である。すなわち、本実施形態に係る対応関係記録部２１には、対応関係を対応関係テーブル２１０として記録する。図３に示すように、対応関係テーブル２１０には、サブタスクシナリオと、当該サブタスクシナリオの負荷とが記録されている。つまり、本実施形態に係る対応関係テーブル２１０は、暗算タスクのサブタスクシナリオが運転者にとって最も負荷が高く、操作タスクのサブタスクシナリオが運転者にとって最も負荷が低いことを表している。
【００４８】
運転者負荷量が減少するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の低いサブタスクシナリオに変更する。例えば、現在実行中のサブタスクシナリオが暗記タスクのサブタスクシナリオであった場合には、シナリオ実行部１６は、対応関係テーブル２１０を参照することにより、暗記タスクのサブタスクシナリオから操作タスクのサブタスクシナリオへ変更する。すなわち、シナリオ実行部１６は、変更した操作タスクのサブタスクシナリオをシナリオ記録部１５から読み出し、読み出した操作タスクのサブタスクシナリオを新たに実行する。
【００４９】
また、運転者負荷量が増加するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の高いサブタスクシナリオに変更する。例えば、現在実行中のサブタスクシナリオが操作タスクのサブタスクシナリオであった場合には、シナリオ実行部１６は、対応関係テーブル２１０を参照することにより、操作タスクのサブタスクシナリオから暗記タスクのサブタスクシナリオまたは暗算タスクのサブタスクシナリオへ変更する。すなわち、シナリオ実行部１６は、変更した暗記タスクのサブタスクシナリオまたは変更した暗算タスクのサブタスクシナリオをシナリオ記録部１５から読み出し、読み出した暗記タスクのサブタスクシナリオまたは読み出した暗算タスクのサブタスクシナリオを新たに実行する。
【００５０】
なお、シナリオ実行部１６によるサブタスクシナリオの変更タイミングについては、任意である。
【００５１】
次に、上記の構成に係る運転シミュレーション装置１の動作について、図４および図５を参照しながら説明する。
【００５２】
図４は、本実施形態に係る運転シミュレーション装置１の全体動作の一例を示すフローチャートである。図４に示すように、運転者負荷量算出部１８は、運転者が現在受けている運転者負荷量を算出する（Ｏｐ１）。
【００５３】
ここで、Ｏｐ１における運転者負荷量算出部１８による運転者負荷量の算出処理の一例について、図５を参照しながら説明する。
【００５４】
図５は、本実施形態に係る運転者負荷量算出部１８による運転者負荷量の算出処理の一例を示すフローチャートである。図５に示すように、運転者負荷量算出部１８は、まず、運転者による運転操作に関する運転操作情報を、シミュレーション管理部１１から取得する（Ｏｐ１１）。ここで、本実施形態においては、運転操作情報は、運転者によるハンドル操作に関するハンドル操作情報である。運転者負荷量算出部１８は、Ｏｐ１１にて取得されたハンドル操作情報に基づいて、ハンドルの角速度ωを算出する（Ｏｐ１２）。運転者負荷量算出部１８は、Ｏｐ１２にて算出されたハンドルの角速度ωが閾値以上であるか否かを判定する（Ｏｐ１３）。
【００５５】
運転者負荷量算出部１８は、Ｏｐ１２にて算出されたハンドルの角速度ωが閾値以上であると判定すれば（Ｏｐ１３にてＹＥＳ）、ハンドル操作がふらついたことを回数記録部１８ａへ記録する（Ｏｐ１４）。これにより、回数記録部１８ａには、運転者によるハンドル操作がふらついたふらつき回数の累計が記録されることになる。一方、運転者負荷量算出部１８は、Ｏｐ１２にて算出されたハンドルの角速度ωが閾値以上でないと判定すれば（Ｏｐ１３にてＮＯ）、Ｏｐ１１へ戻る。
【００５６】
そして、運転者負荷量算出部１８は、回数記録部１８ａを参照することにより、現在時刻から過去の一定時間の間に、運転者によるハンドル操作がふらついたふらつき回数Ｎを算出する（Ｏｐ１５）。運転者負荷量算出部１８は、Ｏｐ１５にて算出されたふらつき回数Ｎが含まれるふらつき回数Ｎの範囲に対応する運転者負荷量を、基準情報記録部１７から読み出す（Ｏｐ１６）。これにより、運転者負荷量算出部１８により運転者負荷量が算出される。
【００５７】
図４に戻り、負荷量制御部２０は、目標負荷記録部１９に記録された目標負荷情報を読み出す（Ｏｐ２）。負荷量制御部２０は、Ｏｐ１にて算出された運転者負荷量と、Ｏｐ２にて読み出された目標負荷情報が示す目標負荷量とを比較することにより、運転者負荷量と目標負荷量とが同一であるか否かを判定する（Ｏｐ３）。負荷量制御部２０は、運転者負荷量と目標負荷量とが同一であると判定すれば（Ｏｐ３にてＹＥＳ）、図４の処理を終了する。一方、負荷量制御部２０は、運転者負荷量と目標負荷量とが同一でないと判定すれば（Ｏｐ３にてＮＯ）、運転者負荷量が目標負荷量よりも大きいか否かを判定する（Ｏｐ４）。
【００５８】
負荷量制御部２０は、運転者負荷量が目標負荷量よりも大きいと判定すれば（Ｏｐ４にてＹＥＳ）、運転者負荷量が減少するように、シナリオ実行部１６に対して指示する（Ｏｐ５）。一方、負荷量制御部２０は、運転者負荷量が目標負荷量よりも小さいと判定すれば（Ｏｐ４にてＮＯ）、運転者負荷量が増加するように、シナリオ実行部１６に対して指示する（Ｏｐ６）。
【００５９】
ここで、Ｏｐ５の指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の低いサブタスクシナリオに変更する（Ｏｐ７）。一方、Ｏｐ６の指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の高いサブタスクシナリオに変更する（Ｏｐ８）。
【００６０】
このように、運転シミュレーション装置１は、図４に示すＯｐ１〜Ｏｐ８までの処理を、所定時間毎に繰り返す。本実施形態においては、運転シミュレーション装置１は、図４に示すＯｐ１〜Ｏｐ８までの処理を、１秒毎に繰り返す。つまり、本実施形態に係る運転シミュレーション装置１は、運転者が受けている運転者負荷量が目標負荷量に近づくように、常に制御している。
【００６１】
以上のように、本実施形態に係る運転シミュレーション装置１によれば、運転者負荷量算出部１８は、基準情報記録部１７に記録された負荷基準情報と、運転者による運転操作に関する運転操作情報とに基づいて、運転者が受けている運転者負荷量を算出する。目標負荷記録部１９には、運転者が受けるべき目標負荷量を示す目標負荷情報が予め記録される。ここで、負荷量制御部２０は、運転者負荷量が目標負荷量よりも大きい場合には当該運転者負荷量を減少させるべく、サブタスクシナリオの変更をシナリオ実行部１６に対して指示する。すなわち、負荷量制御部２０は、運転者負荷量が現実にはあり得ない程大きければ、当該運転者負荷量を減少させるべく、サブタスクシナリオの変更をシナリオ実行部１６に対して指示する。これにより、運転者が受けている運転者負荷量を減少させることができる。また、負荷量制御部２０は、運転者負荷量が目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、サブタスクシナリオの変更をシナリオ実行部１６に対して指示する。すなわち、負荷量制御部２０は、運転者負荷量が事故あるいは事故寸前の状態を誘発するのに不十分であれば、当該運転者負荷量を増加させるべく、サブタスクシナリオの変更をシナリオ実行部１６に対して指示する。これにより、運転者が受けている運転者負荷量を増加させることができる。この結果、本実施形態に係る運転シミュレーション装置１は、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる。
【００６２】
なお、上述した実施形態は、本発明の実施形態の一具体例を示すものであり、種々の変形が可能である。以下、いくつかの主な変形例を示す。
【００６３】
[変形例１]
上述の実施形態では、負荷量制御部２０から指示があった場合に、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを変更する例について説明した。これに対して、変形例１では、負荷量制御部２０から指示があった場合に、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオ内に規定されたパラメータを変更する例について説明する。
【００６４】
なお、変形例１では、シナリオ実行部１６は、暗算タスクのサブタスクシナリオを実行しているものとする。
【００６５】
対応関係記録部２１には、図３に示す対応関係テーブル２１０の代わりに、図６に示す対応関係テーブル２１１が記録されている。図６に示すように、対応関係テーブル２１１には、暗算タスクのサブタスクシナリオ内に規定されたパラメータと、当該パラメータの負荷とが記録されている。なお、サブタスクシナリオ内に規定されたパラメータは、運転者が受けるべき負荷の度合いを表すパラメータである。例えば、図６では、サブタスクシナリオ内のパラメータとして、運転者が任意の数同士の加算を行う際の当該数の桁数が規定されている。なお、これに限らず、例えば、運転者が暗記を行う際の暗記量や、運転者がある操作を行う際の操作回数等がサブタスクシナリオ内のパラメータとして規定されていてもよい。つまり、本実施形態に係る対応関係テーブル２１１は、暗算タスクのサブタスクシナリオにおいて、３桁の数同士の加算が運転者にとって最も負荷が高く、１桁の数同士の加算が運転者にとって最も負荷が低いことを表している。
【００６６】
運転者負荷量が減少するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の低いパラメータに変更する。例えば、現在実行中の暗算タスクのサブタスクシナリオが運転者に２桁の数同士の加算を行わせるサブタスクシナリオであった場合、シナリオ実行部１６は、対応関係テーブル２１１を参照することにより、２桁の数同士の加算から１桁の数同士の加算になるように、パラメータを変更する。すなわち、シナリオ実行部１６は、パラメータを変更した暗算タスクのサブタスクシナリオを新たに実行する。
【００６７】
また、運転者負荷量が増加するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の高いパラメータに変更する。例えば、現在実行中の暗算タスクのサブタスクシナリオが運転者に１桁の数同士の加算を行わせるサブタスクシナリオであった場合、シナリオ実行部１６は、対応関係テーブル２１１を参照することにより、１桁の数同士の加算から２桁の数同士の加算になるように、パラメータを変更する。すなわち、シナリオ実行部１６は、パラメータを変更した暗算タスクのサブタスクシナリオを新たに実行する。
【００６８】
以上のように、変形例１によれば、運転者負荷量が減少するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、負荷の低いパラメータに変更するので、運転者が受けている運転者負荷量を減少させることができる。また、運転者負荷量が増加するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、負荷の高いパラメータに変更するので、運転者が受けている運転者負荷量を増加させることができる。
【００６９】
[変形例２]
上述の実施形態では、負荷量制御部２０から指示があった場合に、シナリオ実行部１６は、対応関係記録部２１を参照することにより、現在実行中のサブタスクシナリオを変更する例について説明した。これに対して、変形例２では、負荷量制御部２０から指示があった場合に、シナリオ実行部１６は、現在実行中のサブタスクシナリオを停止し、あるいは新たなサブタスクシナリオの実行を開始する例について説明する。
【００７０】
すなわち、運転者負荷量が減少するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、現在実行中のサブタスクシナリオを停止する。つまり、現在実行中のサブタスクシナリオが１つであった場合には、シナリオ実行部１６は、当該１つのサブタスクシナリオを停止する。また、現在実行中のサブタスクシナリオが複数であった場合には、シナリオ実行部１６は、当該複数のサブタスクシナリオのうち任意の一つのサブタスクシナリオを停止する。また、運転者負荷量が増加するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、新たなサブタスクシナリオをシナリオ記録部１５から読み出し、読み出したサブタスクシナリオを実行する。
【００７１】
なお、変形例２においては、負荷量制御部２０から指示があった場合に、シナリオ実行部１６は、現在実行中のサブタスクシナリオを停止し、あるいは新たなサブタスクシナリオの実行を開始するので、図１に示す対応関係記録部２１は備えなくともよい。
【００７２】
以上のように、変形例２によれば、運転者負荷量が減少するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、現在実行中のサブタスクシナリオを停止するので、運転者が受けている運転者負荷量を減少させることができる。また、運転者負荷量が増加するように、負荷量制御部２０から指示があった場合には、シナリオ実行部１６は、新たなサブタスクシナリオの実行を開始するので、運転者が受けている運転者負荷量を増加させることができる。
【００７３】
[変形例３]
上述の実施形態では、運転者負荷量算出部１８は、運転者によるハンドル操作に関するハンドル操作情報を、シミュレーション管理部１１から取得する例について説明したが、これに限定されない。例えば、運転者負荷量算出部１８は、運転者によるアクセル操作あるいはブレーキ操作に関するペダル操作情報を、シミュレーション管理部１１から取得してもよい。この場合、運転者負荷量算出部１８は、取得したペダル操作情報に基づいて、運転者がアクセルペダルからブレーキペダルへ踏み替えた踏み替え回数を算出する。運転者負荷量算出部１８は、算出した踏み替え回数に対応する運転者負荷量を、基準情報記録部１７から読み出す。このため、基準情報記録部１７には、踏み替え回数が大きくなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブルが記録されている。これにより、運転者負荷量算出部１８は、踏み替え回数に基づいて、運転者が受けている運転者負荷量を算出することができる。なお、運転者負荷量算出部１８は、踏み替え回数の代わりに、アクセルペダルの操作量、あるいはブレーキペダルの操作量に基づいて、運転者負荷量を算出してもよい。
【００７４】
また、例えば、運転者負荷量算出部１８は、運転者によるウインカー操作に関するウインカー操作情報を、シミュレーション管理部１１から取得してもよい。この場合、運転者負荷量算出部１８は、取得したウインカー操作情報に基づいて、運転者が現在ウインカー操作を行っているか否かを判定する。運転者が現在ウインカー操作を行っていると判定すれば、運転者負荷量算出部１８は、運転者がウインカー操作を行っていない場合と比較して、運転者負荷量が増加するように、運転者負荷量を算出する。また、運転者が現在ウインカー操作を行っていないと判定すれば、運転者負荷量算出部１８は、運転者がウインカー操作を行っている場合と比較して、運転者負荷量が減少するように、運転者負荷量を算出する。これにより、運転者負荷量算出部１８は、ウインカー操作に基づいて、運転者が受けている運転者負荷量を算出することができる。
【００７５】
[実施の形態２]
図７は、本実施形態に係る運転シミュレーション装置１ａの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ａは、図１に示す基準情報記録部１７および運転者負荷量算出部１８の代わりに、基準情報記録部２２および運転者負荷量算出部２３を備えている。なお、図７において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００７６】
基準情報記録部２２には、図１に示す基準情報記録部１７と同様に、運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録される。図８は、本実施形態に係る基準情報記録部２２に記録された負荷基準情報の一例を示す図である。すなわち、本実施形態に係る基準情報記録部２２は、複数の負荷基準情報を負荷基準テーブル２２０，２２１としてそれぞれ記録する。
【００７７】
図８に示すように、負荷基準テーブル２２０には、衝突余裕時間ＴＴＣの範囲と、運転者負荷量とが記録されている。ここで、衝突余裕時間ＴＴＣ（Time To Collision）は、仮想移動体が、当該仮想移動体の直前を走る車両（以下、「前走車両」と称する）に衝突するまでの余裕時間を示す。つまり、基準情報記録部２２には、衝突余裕時間ＴＴＣが短くなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブル２２０が記録されている。なお、本実施形態においては、衝突余裕時間ＴＴＣを秒単位にて表す。
【００７８】
また、負荷基準テーブル２２１には、交差点到達時間ＴCの範囲と、運転者負荷量とが記録されている。ここで、交差点到達時間ＴCは、仮想移動体が、当該仮想移動体の走行方向にある直近の交差点に到達するまでの時間を示す。つまり、基準情報記録部２２には、交差点到達時間ＴCが短くなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブル２２１が記録されている。なお、本実施形態においては、交差点到達時間ＴCを秒単位にて表す。
【００７９】
運転者負荷量算出部２３は、図１に示す運転者負荷量算出部１８と同様に、運転者が現在受けている運転者負荷量を算出する。具体的には、運転者負荷量算出部２３は、まず、仮想移動体の仮想道路交通環境を示す道路交通情報を、シミュレーション管理部１１から取得する。
【００８０】
ここで、運転者負荷量算出部２３は、まず、取得した道路交通情報に基づいて、前走車両が存在するか否かを判定する。運転者負荷量算出部２３は、前走車両が存在すると判定すれば、前走車両に対する衝突余裕時間ＴＴＣを算出する。なお、衝突余裕時間ＴＴＣは、仮想移動体と前走車両との間の距離（車間距離）を、前走車両に対する相対速度で除した値にて算出される。運転者負荷量算出部２３は、算出した衝突余裕時間ＴＴＣが、衝突余裕時間ＴＴＣの範囲のうちどの範囲に含まれるかを判定する。運転者負荷量算出部２３は、算出した衝突余裕時間ＴＴＣが含まれる衝突余裕時間ＴＴＣの範囲に対応する運転者負荷量を、負荷基準テーブル２２０から読み出す。例えば、算出した衝突余裕時間ＴＴＣが「７」（秒）であれば、運転者負荷量算出部２３は、算出した衝突余裕時間「７」が含まれる衝突余裕時間ＴＴＣの範囲「４＜ＴＴＣ」に対応する運転者負荷量「レベル１」を、負荷基準テーブル２２０から読み出す。すなわち、運転者負荷量算出部２３は、運転者が受けている運転者負荷量が「レベル１」であると算出する。
【００８１】
一方、運転者負荷量算出部２３は、前走車両が存在しないと判定すれば、交差点到達時間ＴCを算出する。なお、交差点到達時間ＴCは、仮想移動体と交差点との間の距離を、仮想移動体の現在速度で除した値にて算出される。運転者負荷量算出部２３は、算出した交差点到達時間ＴCが、交差点到達時間ＴCの範囲のうちどの範囲に含まれるかを判定する。運転者負荷量算出部２３は、算出した交差点到達時間ＴCが含まれる交差点到達時間ＴCの範囲に対応する運転者負荷量を、負荷基準テーブル２２１から読み出す。例えば、算出した交差点到達時間ＴCが「２５」（秒）であれば、運転者負荷量算出部２３は、算出した交差点到達時間「２５」が含まれる交差点到達時間ＴCの範囲「１０＜ＴC」に対応する運転者負荷量「レベル１」を、負荷基準テーブル２２１から読み出す。すなわち、運転者負荷量算出部２３は、運転者が受けている運転者負荷量が「レベル１」であると算出する。
【００８２】
次に、上記の構成に係る運転者負荷量算出部２３の動作について、図９を参照しながら説明する。
【００８３】
図９は、本実施形態に係る運転者負荷量算出部２３による運転者負荷量の算出処理の一例を示すフローチャートである。図９に示すように、運転者負荷量算出部２３は、まず、仮想移動体の仮想道路交通環境を示す道路交通情報を、シミュレーション管理部１１から取得する（Ｏｐ２１）。運転者負荷量算出部２３は、Ｏｐ２１にて取得された道路交通情報に基づいて、前走車両が存在するか否かを判定する（Ｏｐ２２）。
【００８４】
運転者負荷量算出部２３は、前走車両が存在すると判定すれば（Ｏｐ２２にてＹＥＳ）、前走車両に対する衝突余裕時間ＴＴＣを算出する（Ｏｐ２３）。運転者負荷量算出部２３は、Ｏｐ２３にて算出された衝突余裕時間ＴＴＣが含まれる衝突余裕時間ＴＴＣの範囲に対応する運転者負荷量を、負荷基準テーブル２２０から読み出す（Ｏｐ２４）。これにより、運転者負荷量算出部２３により運転者負荷量が算出される。
【００８５】
一方、運転者負荷量算出部２３は、前走車両が存在しないと判定すれば（Ｏｐ２２にてＮＯ）、交差点到達時間ＴCを算出する（Ｏｐ２５）。運転者負荷量算出部２３は、Ｏｐ２５にて算出された交差点到達時間ＴCが含まれる交差点到達時間ＴCの範囲に対応する運転者負荷量を、負荷基準テーブル２２１から読み出す（Ｏｐ２６）。これにより、運転者負荷量算出部２３により運転者負荷量が算出される。
【００８６】
以上のように、本実施形態に係る運転シミュレーション装置１ａによれば、仮想道路交通環境に応じて、運転者が受けている運転者負荷量を算出することができる。
【００８７】
なお、本実施形態においては、運転者負荷量算出部２３は、取得した道路交通情報に基づいて、衝突余裕時間ＴＴＣまたは交差点到達時間ＴCを算出し、算出した衝突余裕時間ＴＴＣまたは交差点到達時間ＴCに基づいて、運転者負荷量を算出する例について説明したが、これに限定されない。例えば、運転者負荷量算出部２３は、取得した道路交通情報に基づいて、仮想移動体の周囲の混雑状況を検出し、検出した混雑状況に基づいて、運転者負荷量を算出してもよい。具体的には、運転者負荷量算出部２３は、取得した道路交通情報に基づいて、仮想移動体の周囲（例えば、仮想移動体から半径２０ｍ以内）に存在する仮想障害体の数を算出する。運転者負荷量算出部２３は、算出した仮想障害体の数に対応する運転者負荷量を、基準情報記録部２２から読み出す。このため、基準情報記録部２２には、仮想障害体の数が大きくなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブルが記録されている。これにより、運転者負荷量算出部２３は、仮想移動体の周囲の混雑状況に基づいて、運転者が受けている運転者負荷量を算出することができる。なお、運転者負荷量算出部２３は、仮想移動体の周囲の混雑状況の代わりに、仮想移動体の走行状況、仮想移動体が走行する仮想道路の道路幅、あるいは仮想道路の道路種別（一車線か二車線か等）に基づいて、運転者負荷量を算出してもよい。
【００８８】
[実施の形態３]
図１０は、本実施形態に係る運転シミュレーション装置１ｂの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｂは、脈拍検出装置５にさらに接続されている。つまり、本実施形態に係る運転シミュレーション装置１ｂは、脈拍検出装置５にアクセス可能である。ここで、脈拍検出装置（生体反応検出装置）５は、運転者の脈拍数を検出する装置である。すなわち、人間の心臓が血液を送り出す際に、動脈に脈拍が生じるので、脈拍検出装置５は、この動脈に生じた脈拍の回数を検出する。本実施形態においては、脈拍検出装置５は、運転者の一分間の脈拍数を検出する。このため、脈拍検出装置５は、例えば、運転者の腕に装着されている。
【００８９】
また、本実施形態に係る運転シミュレーション装置１ｂは、図１に示す運転シミュレーション装置１に加えて、脈拍数取得部２４を備えている。さらに、本実施形態に係る運転シミュレーション装置１ｂは、図１に示す基準情報記録部１７および運転者負荷量算出部１８の代わりに、基準情報記録部２５および運転者負荷量算出部２６を備えている。なお、図１０において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００９０】
脈拍数取得部２４は、運転者の一分間の脈拍数を示す脈拍数情報を、脈拍検出装置５から取得する。脈拍数取得部２４は、取得した脈拍数情報を、運転者負荷量算出部２６へ出力する。
【００９１】
基準情報記録部２５には、図１に示す基準情報記録部１７と同様に、運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録される。図１１は、本実施形態に係る基準情報記録部２５に記録された負荷基準情報の一例を示す図である。すなわち、本実施形態に係る基準情報記録部２５は、負荷基準情報を負荷基準テーブル２５０として記録する。図１１に示すように、負荷基準テーブル２５０には、脈拍数Ｐの範囲と、運転者負荷量とが記録されている。ここで、脈拍数Ｐは、運転者の一分間の脈拍数を示す。つまり、基準情報記録部２５には、脈拍数Ｐが大きくなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブル２５０が記録されている。
【００９２】
運転者負荷量算出部２６は、図１に示す運転者負荷量算出部１８と同様に、運転者が現在受けている運転者負荷量を算出する。具体的には、運転者負荷量算出部２６は、脈拍数取得部２４から出力された脈拍数情報が示す脈拍数Ｐが、脈拍数Ｐの範囲のうちどの範囲に含まれるかを判定する。運転者負荷量算出部２６は、脈拍数取得部２４から出力された脈拍数情報が示す脈拍数Ｐが含まれる脈拍数Ｐの範囲に対応する運転者負荷量を、負荷基準テーブル２５０から読み出す。例えば、脈拍数取得部２４から出力された脈拍数情報が示す脈拍数Ｐが「７５」であれば、運転者負荷量算出部２６は、当該脈拍数「７５」が含まれる脈拍数Ｐの範囲「Ｐ＜８０」に対応する運転者負荷量「レベル１」を、負荷基準テーブル２５０から読み出す。すなわち、運転者負荷量算出部２６は、運転者が受けている運転者負荷量が「レベル１」であると算出する。
【００９３】
次に、上記の構成に係る脈拍数取得部２４および運転者負荷量算出部２６の動作について、図１２を参照しながら説明する。
【００９４】
図１２は、本実施形態に係る脈拍数取得部２４および運転者負荷量算出部２６による処理の一例を示すフローチャートである。図１２に示すように、脈拍数取得部２４は、運転者の一分間の脈拍数を示す脈拍数情報を、脈拍検出装置５から取得する（Ｏｐ３１）。運転者負荷量算出部２６は、Ｏｐ３１にて取得された脈拍数情報が示す脈拍数Ｐが含まれる脈拍数Ｐの範囲に対応する運転者負荷量を、負荷基準テーブル２５０から読み出す（Ｏｐ３２）。これにより、運転者負荷量算出部２６により運転者負荷量が算出される。
【００９５】
以上のように、本実施形態に係る運転シミュレーション装置１ｂによれば、運転者の生体反応（脈拍数）に応じて、運転者が受けている運転者負荷量を算出することができる。
【００９６】
なお、本実施形態においては、運転者負荷量算出部２６は、運転者の脈拍数に基づいて、運転者負荷量を算出する例について説明したが、これに限定されない。例えば、運転者負荷量算出部２６は、運転者の発汗、呼吸数、視線移動、血圧、脳活動等、運転者の任意の生体反応に基づいて、運転者負荷量を算出してもよい。ここで、運転者の発汗に基づいて運転者負荷量を算出する場合、図１に示す脈拍検出装置５の代わりに、発汗検出装置が設けられる。発汗検出装置は、例えば、運転者の手のひらに装着することにより、手のひらに現れる精神性の発汗を検出する。つまり、運転者負荷量算出部２６は、運転者の発汗が多い程、運転者負荷量が増加するように、運転者負荷量を算出する。また、運転者の呼吸数に基づいて運転者負荷量を算出する場合、図１に示す脈拍検出装置５の代わりに、呼吸数検出装置が設けられる。呼吸数検出装置は、例えば、運転者の胸部および腹部に装着することにより、運転者の呼吸数を検出する。つまり、運転者負荷量算出部２６は、運転者の呼吸数が多い程、運転者負荷量が増加するように、運転者負荷量を算出する。
【００９７】
また、運転者の視線移動に基づいて運転者負荷量を算出する場合、図１に示す脈拍検出装置５の代わりに、画像認識装置が設けられる。画像認識装置は、例えば、運転者の顔の画像認識を行うことにより、運転者の視線移動を検出する。つまり、運転者負荷量算出部２６は、運転者の視線移動が多い程、運転者負荷量が増加するように、運転者負荷量を算出する。また、運転者の血圧に基づいて運転者負荷量を算出する場合、図１に示す脈拍検出装置５の代わりに、血圧検出装置が設けられる。血圧検出装置は、運転者の血圧を検出する。つまり、運転者負荷量算出部２６は、運転者の血圧が高い程、運転者負荷量が増加するように、運転者負荷量を算出する。さらに、運転者の脳活動に基づいて運転者負荷量を算出する場合、図１に示す脈拍検出装置５の代わりに、脳波検出装置が設けられる。脳波検出装置は、運転者の脳波を検出する。つまり、運転者負荷量算出部２６は、運転者の脳波が正常時とは異なる脳波を示していれば、運転者負荷量が増加するように、運転者負荷量を算出する。
【００９８】
[実施の形態４]
図１３は、本実施形態に係る運転シミュレーション装置１ｃの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｃは、図１に示す運転シミュレーション装置１に加えて、実行結果検出部２７を備えている。また、本実施形態に係る運転シミュレーション装置１ｃは、図１に示す基準情報記録部１７および運転者負荷量算出部１８の代わりに、基準情報記録部２８および運転者負荷量算出部２９を備えている。なお、図１３において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００９９】
実行結果検出部２７は、シナリオ実行部１６によるサブタスクシナリオの実行に従って運転者がサブタスクを行った場合における当該サブタスクの実行結果を検出する。ここで、本実施形態においては、実行結果検出部２７は、シナリオ実行部１６による暗算タスクのサブタスクシナリオの実行に従って運転者が暗算タスクを行った場合における当該暗算タスクの実行結果を検出したものとする。なお、暗算タスクの実行結果以外に、暗記タスク、操作タスク等のその他のサブタスクの実行結果を検出してもよいことは勿論である。
【０１００】
具体的には、実行結果検出部２７は、出力装置４から出力された音声によるサブタスク実行指示が示す問題に対する回答を、運転者から受け付ける。本実施形態においては、出題された問題は、１桁の任意の数同士の加算であるものとする。すなわち、運転者が回答を発声することにより、実行結果検出部２７は、当該回答を受け付ける。このため、実行結果検出部２７は、運転者の発声を認識する音声認識機能を有している。
【０１０１】
実行結果検出部２７は、出力装置４から出力された音声によるサブタスク実行指示が示す問題が出題された時刻から、当該問題に対する回答を受け付けた時刻までの反応時間Ｔrを算出する。なお、本実施形態においては、反応時間Ｔrは秒単位にて表される。また、実行結果検出部２７は、受け付けた回答が正解であるか否かを判定する。ここで、実行結果検出部２７は、受け付けた回答が正解であると判定すれば、算出した反応時間Ｔrを評価値Ｅとする。また、実行結果検出部２７は、受け付けた回答が不正解であると判定すれば、算出した反応時間Ｔrにペナルティαを加算した値を評価値Ｅとする。実行結果検出部２７は、算出した評価値Ｅを、評価値記録部２７ａへ記録する。これにより、評価値記録部２７ａには、運転者の評価値の累計が記録されることになる。
【０１０２】
実行結果検出部２７は、評価値記録部２７ａを参照することにより、現在時刻から過去の一定時間までの間の運転者の評価値の累計（以下、「評価累計値」と称する）ＥSを算出する。実行結果検出部２７は、算出した評価累計値ＥSを、運転者負荷量算出部２９へ出力する。
【０１０３】
基準情報記録部２８には、図１に示す基準情報記録部１７と同様に、運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録される。図１４は、本実施形態に係る基準情報記録部２８に記録された負荷基準情報の一例を示す図である。すなわち、本実施形態に係る基準情報記録部２８は、負荷基準情報を負荷基準テーブル２８０として記録する。図１４に示すように、負荷基準テーブル２８０には、評価累計値ＥSの範囲と、運転者負荷量とが記録されている。つまり、基準情報記録部２８には、評価累計値ＥSが大きくなる程、運転者負荷量の段階（レベル）が増加するように、負荷基準テーブル２８０が記録されている。
【０１０４】
運転者負荷量算出部２９は、図１に示す運転者負荷量算出部１８と同様に、運転者が現在受けている運転者負荷量を算出する。具体的には、運転者負荷量算出部２９は、実行結果検出部２７から出力された評価累計値ＥSが、評価累計値ＥSの範囲のうちどの範囲に含まれるかを判定する。運転者負荷量算出部２９は、実行結果検出部２７から出力された評価累計値ＥSが含まれる評価累計値ＥSの範囲に対応する運転者負荷量を、負荷基準テーブル２８０から読み出す。例えば、実行結果検出部２７から出力された評価累計値ＥSが「３４」であれば、運転者負荷量算出部２９は、当該評価累計値「３４」が含まれる評価累計値ＥSの範囲「ＥS＜５０」に対応する運転者負荷量「レベル１」を、負荷基準テーブル２８０から読み出す。すなわち、運転者負荷量算出部２９は、運転者が受けている運転者負荷量が「レベル１」であると算出する。
【０１０５】
次に、上記の構成に係る実行結果検出部２７および運転者負荷量算出部２９の動作について、図１５を参照しながら説明する。
【０１０６】
図１５は、本実施形態に係る実行結果検出部２７および運転者負荷量算出部２９による処理の一例を示すフローチャートである。図１５に示すように、実行結果検出部２７は、出力装置４から出力された音声によるサブタスク実行指示が示す問題に対する回答を、運転者から受け付ける（Ｏｐ４１）。実行結果検出部２７は、出力装置４から出力された音声によるサブタスク実行指示が示す問題が出題された時刻から、Ｏｐ４１にて回答を受け付けた時刻までの反応時間Ｔrを算出する（Ｏｐ４２）。そして、実行結果検出部２７は、Ｏｐ４１にて受け付けた回答が正解であるか否かを判定する（Ｏｐ４３）。
【０１０７】
実行結果検出部２７は、Ｏｐ４１にて受け付けた回答が正解であると判定すれば（Ｏｐ４３にてＹＥＳ）、Ｏｐ４２にて算出された反応時間Ｔrを評価値Ｅとする（Ｏｐ４４）。一方、実行結果検出部２７は、Ｏｐ４１にて受け付けた回答が不正解であると判定すれば（Ｏｐ４３にてＮＯ）、Ｏｐ４２にて算出された反応時間Ｔrにペナルティαを加算した値を評価値Ｅとする（Ｏｐ４５）。実行結果検出部２７は、Ｏｐ４４またはＯｐ４５にて算出された評価値Ｅを、評価値記録部２７ａへ記録する（Ｏｐ４６）。これにより、評価値記録部２７ａには、運転者の評価値の累計が記録されることになる。
【０１０８】
そして、実行結果検出部２７は、評価値記録部２７ａを参照することにより、評価累計値ＥSを算出する（Ｏｐ４７）。運転者負荷量算出部２９は、Ｏｐ４７にて算出された評価累計値ＥSが含まれる評価累計値ＥSの範囲に対応する運転者負荷量を、負荷基準テーブル２８０から読み出す（Ｏｐ４８）。これにより、運転者負荷量算出部２９により運転者負荷量が算出される。
【０１０９】
以上のように、本実施形態に係る運転シミュレーション装置１ｃによれば、運転者がサブタスクを行った場合における当該サブタスクの実行結果に応じて、運転者が受けている運転者負荷量を算出することができる。
【０１１０】
[実施の形態５]
図１６は、本実施形態に係る運転シミュレーション装置１ｄの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｄは、図１に示す目標負荷記録部１９および負荷量制御部２０の代わりに、条件情報記録部３０およびシナリオ制御部３１を備えている。また、本実施形態に係る運転シミュレーション装置１ｄは、図１に示すシナリオ実行部１６の代わりに、シナリオ実行部３２を備えている。ここで、本実施形態に係る運転シミュレーション装置１ｄは、図１に示す対応関係記録部２１を備えていない。なお、図１６において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【０１１１】
条件情報記録部３０には、運転者負荷量の経時的変化によって定められる、サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録される。図１７は、本実施形態に係る条件情報記録部３０に記録された条件情報の一例を示す図である。すなわち、本実施形態に係る条件情報記録部３０は、条件情報を開始条件テーブル３００および停止条件テーブル３０１として記録する。つまり、本実施形態に係る条件情報記録部３０には、運転者負荷量が２レベル上昇した場合、あるいはレベル１の運転者負荷量が１０分間継続した場合に、シナリオ実行部３２がサブタスクシナリオの実行を開始するように、開始条件テーブル３００が記録されている。また、本実施形態に係る条件情報記録部３０には、同じレベルの運転者負荷量が１５分間継続した場合に、シナリオ実行部３２がサブタスクシナリオの実行を停止するように、停止条件テーブル３０１が記録されている。
【０１１２】
シナリオ制御部３１は、サブタスクシナリオの実行が停止されている間に運転者負荷量の変化が開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、シナリオ実行部３２に対して指示する。
【０１１３】
例えば、サブタスクシナリオの実行が停止されている間に、運転者負荷量算出部１８から出力された運転者負荷量の変化が、レベル１からレベル３のように、２レベル上昇したことを示していれば、シナリオ制御部３１は、当該運転者負荷量の変化が開始条件に合致したと判定する。この場合、シナリオ制御部３１は、サブタスクシナリオの実行を開始するように、シナリオ実行部３２に対して指示する。すなわち、運転者負荷量が２レベル上昇すれば、運転者が運転操作に対して集中すべき状況が発生したといえる。つまり、運転操作に集中すべき状況が発生したときに、運転者に対してサブタスクを行わせることで、運転者は、運転操作に対する集中力が阻害される。運転操作に対する集中力が阻害されるので、運転者による認知ミス、判断ミスが起こり易くなる。この結果、事故の発生確率が高い危険な状況を作り出すことができる。
【０１１４】
また、例えば、サブタスクシナリオの実行が停止されている間に、運転者負荷量算出部１８から出力された運転者負荷量の変化が、レベル１の状態を１０分間継続していることを示していれば、シナリオ制御部３１は、当該運転者負荷量の変化が開始条件に合致したと判定する。この場合、シナリオ制御部３１は、サブタスクシナリオの実行を開始するように、シナリオ実行部３２に対して指示する。すなわち、レベル１の状態が１０分間継続していれば、運転者は、運転操作に対して集中力が低下しており、漫然に運転操作を行っている可能性が高い。つまり、運転操作に対して集中力が低下しているときに、運転者に対してサブタスクを行わせることで、運転者は、運転操作に対する集中力がさらに低下することになる。このため、運転者による認知ミス、判断ミスが起こり易くなる。この結果、事故の発生確率が高い危険な状況を作り出すことができる。
【０１１５】
また、シナリオ制御部３１は、サブタスクシナリオの実行中に運転者負荷量の変化が停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、シナリオ実行部３２に対して指示する。
【０１１６】
例えば、サブタスクシナリオの実行中に、運転者負荷量算出部１８から出力された運転者負荷量の変化が、同じレベルを１５分間継続していることを示していれば、シナリオ制御部３１は、当該運転者負荷量の変化が停止条件に合致したと判定する。この場合、シナリオ制御部３１は、サブタスクシナリオの実行を停止するように、シナリオ実行部３２に対して指示する。すなわち、運転者負荷量が同じレベルを１５分間継続していれば、運転者は、現在行っているサブタスクに対して慣れてしまった可能性が高い。運転者がサブタスクに慣れてしまうと、運転者による認知ミス、判断ミスが起こり難くなる。この結果、事故の発生確率が高い危険な状況が作り出せない。このため、このような場合には、シナリオ制御部３１は、サブタスクシナリオの実行を停止するように、シナリオ実行部３２に対して指示する。
【０１１７】
サブタスクシナリオの実行を開始するように、シナリオ制御部３１から指示があった場合には、シナリオ実行部３２は、当該サブタスクシナリオの実行を開始する。すなわち、シナリオ実行部３２は、シナリオ制御部３１から指示のあったサブタスクシナリオをシナリオ記録部１５から読み出し、読み出したサブタスクシナリオを実行する。また、サブタスクシナリオの実行を停止するように、シナリオ制御部３１から指示があった場合には、シナリオ実行部３２は、当該サブタスクシナリオの実行を停止する。
【０１１８】
次に、上記の構成に係る運転シミュレーション装置１ｄの動作について、図１８を参照しながら説明する。
【０１１９】
図１８は、本実施形態に係る運転シミュレーション装置１ｄの全体動作の一例を示すフローチャートである。図１８に示すように、運転者負荷量算出部１８は、運転者が現在受けている運転者負荷量を算出する（Ｏｐ５１）。本実施形態においては、運転者負荷量算出部１８は、実施の形態１にて説明したように、運転者による運転操作に関する運転操作情報に基づいて、運転者負荷量を算出する。但し、これに限定されるものではなく、運転者負荷量算出部１８は、実施の形態２にて説明した道路交通情報、実施の形態３にて説明した生体情報、実施の形態４にて説明したサブタスクの実行結果に基づいて、運転者負荷量を算出してもよい。
【０１２０】
シナリオ制御部３１は、条件情報記録部３０に記録された条件情報を読み出す（Ｏｐ５２）。そして、シナリオ制御部３１は、シナリオ実行部３２を監視することにより、サブタスクシナリオが実行中であるか否かを判定する（Ｏｐ５３）。シナリオ制御部３１は、サブタスクシナリオが実行中であると判定すれば（Ｏｐ５３にてＹＥＳ）、Ｏｐ５１にて算出された運転者負荷量の変化が停止条件に合致するか否かを判定する（Ｏｐ５４）。一方、シナリオ制御部３１は、サブタスクシナリオが実行中でないと判定すれば（Ｏｐ５３にてＮＯ）、Ｏｐ５１にて算出された運転者負荷量の変化が開始条件に合致するか否かを判定する（Ｏｐ５５）。
【０１２１】
Ｏｐ５４において、シナリオ制御部３１は、Ｏｐ５１にて算出された運転者負荷量の変化が停止条件に合致すると判定すれば（Ｏｐ５４にてＹＥＳ）、サブタスクシナリオの実行を停止するように、シナリオ実行部３２に対して指示する（Ｏｐ５６）。そして、シナリオ実行部３２は、サブタスクシナリオの実行を停止する（Ｏｐ５７）。一方、シナリオ制御部３１は、Ｏｐ５１にて算出された運転者負荷量の変化が停止条件に合致しないと判定すれば（Ｏｐ５４にてＮＯ）、図１８の処理を終了する。
【０１２２】
Ｏｐ５５において、シナリオ制御部３１は、Ｏｐ５１にて算出された運転者負荷量の変化が開始条件に合致すると判定すれば（Ｏｐ５５にてＹＥＳ）、サブタスクシナリオの実行を開始するように、シナリオ実行部３２に対して指示する（Ｏｐ５８）。そして、シナリオ実行部３２は、サブタスクシナリオの実行を開始する（Ｏｐ５９）。一方、シナリオ制御部３１は、Ｏｐ５１にて算出された運転者負荷量の変化が開始条件に合致しないと判定すれば（Ｏｐ５５にてＮＯ）、図１８の処理を終了する。
【０１２３】
このように、運転シミュレーション装置１ｄは、図１８に示すＯｐ５１〜Ｏｐ５９までの処理を、所定時間毎に繰り返す。本実施形態においては、運転シミュレーション装置１ｄは、図１８に示すＯｐ５１〜Ｏｐ５９までの処理を、１秒毎に繰り返す。つまり、本実施形態に係る運転シミュレーション装置１ｄは、運転者が受けている運転者負荷量の変化が、開始条件に合致しているのかあるいは停止条件に合致しているのかを常時判定し、開始条件に合致していればサブタスクシナリオの実行を開始し、停止条件に合致していればサブタスクシナリオの実行を停止する。
【０１２４】
以上のように、本実施形態に係る運転シミュレーション装置１ｄによれば、シナリオ制御部３１は、サブタスクシナリオの実行が停止されている間に運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、シナリオ実行部３２に対して指示する。また、シナリオ制御部３１は、サブタスクシナリオの実行中に運転者負荷量の変化が停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、シナリオ実行部３２に対して指示する。この結果、本実施形態に係る運転シミュレーション装置１ｄは、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる。
【０１２５】
[実施の形態６]
実施の形態１〜４では、運転操作情報、道路交通情報、生体情報、またはサブタスクの実行結果に基づいて、運転者が受けている運転者負荷量を算出する例について説明した。しかしながら、運転操作情報、道路交通情報、生体情報、またはサブタスクの実行結果が同一であっても、運転者が受ける負荷は、運転者各々によって異なる。例えば、普段から前走車両との衝突余裕時間ＴＴＣが短め（例えば、衝突余裕時間ＴＴＣの平均値が２秒）の運転者Ａと、普段から前走車両との衝突余裕時間ＴＴＣが長め（例えば、衝突余裕時間ＴＴＣの平均値が４秒）の運転者Ｂとが存在している場合を考える。この場合、衝突余裕時間ＴＴＣが２秒の状況においては、運転者Ａにとっては負荷が高くないが、運転者Ｂにとっては負荷が高い。このため、運転者各々に応じた負荷基準情報に基づいて、運転者負荷量を算出することが好ましい。したがって、本実施形態では、運転者属性情報に基づいて、複数の負荷基準情報の中から一の負荷基準情報を選択し、選択した負荷基準情報に基づいて、運転者負荷量を算出する例について説明する。なお、以下では、図１０に示す運転シミュレーション装置１ｂに適用する例について説明するが、図１に示す運転シミュレーション装置１、図７に示す運転シミュレーション装置１ａ、図１３に示す運転シミュレーション装置１ｃ、および図１６に示す運転シミュレーション装置１ｄにも適用できることは勿論である。
【０１２６】
図１９は、本実施形態に係る運転シミュレーション装置１ｅの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｅは、図１０に示す基準情報記録部２５の代わりに、基準情報記録部３３を備えている。また、本実施形態に係る運転シミュレーション装置１ｅは、図１０に示す運転シミュレーション装置１ｂに加えて、属性情報記録部３４、および基準情報選択部３５を備えている。なお、図１９において、図１０と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【０１２７】
基準情報記録部３３には、互いに異なる基準となる複数の負荷基準情報が予め記録される。図２０は、本実施形態に係る基準情報記録部３３に記録された負荷基準情報の一例を示す図である。すなわち、本実施形態に係る基準情報記録部３３は、複数の負荷基準情報を負荷基準テーブル３３０，３３１，３３２・・・としてそれぞれ記録する。つまり、基準情報記録部３３には、互いに異なる基準となるように、複数の負荷基準テーブル３３０，３３１，３３２・・・がそれぞれ記録されている。
【０１２８】
属性情報記録部３４は、運転者による運転操作の特徴、運転者の生体反応の特徴、または運転者がサブタスクを行った場合における当該サブタスクの実行結果の特徴を示す運転者属性情報を記録する。図２１は、本実施形態に係る属性情報記録部３４に記録された運転者属性情報の一例を示す図である。すなわち、本実施形態に係る属性情報記録部３４は、運転者属性情報を運転者属性テーブル３４０として記録する。図２１に示すように、運転者属性テーブル３４０には、運転者属性情報の項目と、当該運転者属性情報とが記録されている。
【０１２９】
すなわち、本実施形態に係る運転者属性テーブル３４０には、運転者による運転操作の特徴として、衝突余裕時間ＴＴＣの平均値「２秒」、およびブレーキ開始タイミングの平均値「停止線まで１０秒」が記録されている。また、本実施形態に係る運転者属性テーブル３４０には、運転者の生体反応の特徴として、安静時の脈拍数「８０回／１分間」、および負荷による脈拍変動の大きさ「小」が記録されている。さらに、本実施形態に係る運転者属性テーブル３４０には、運転者がサブタスクを行った場合における当該サブタスクの実行結果の特徴として、暗記タスクのサブタスクシナリオ「大」、暗算タスクのサブタスクシナリオ「中」、および操作タスクのサブタスクシナリオ「小」が記録されている。つまり、暗記タスクのサブタスクシナリオが運転者にとって最も負荷が高く、操作タスクのサブタスクシナリオが運転者にとって最も負荷が低いことを表している。
【０１３０】
なお、本実施形態に係る対応関係記録部２１には、運転者属性テーブル３４０に記録された、暗記タスクのサブタスクシナリオ「大」、暗算タスクのサブタスクシナリオ「中」、および操作タスクのサブタスクシナリオ「小」と同じデータが記録される。
【０１３１】
また、運転者属性情報は、運転者等によって属性情報記録部３４に予め記録される。例えば、運転者が自身の生体反応を測定し、あるいは運転者が自身の運転操作に関するアンケートに回答すること等により、運転者属性情報を生成し、生成した運転者属性情報を、属性情報記録部３４へ記録する。
【０１３２】
基準情報選択部３５は、属性情報記録部３４に記録された運転者属性情報に基づいて、基準情報記録部３３に記録された複数の負荷基準情報の中から一の負荷基準情報を選択する。本実施形態においては、基準情報選択部３５は、まず、安静時の脈拍数「８０回／１分間」、および負荷による脈拍変動の大きさ「小」を、運転者属性テーブル３４０から読み出す。そして、基準情報選択部３５は、読み出した安静時の脈拍数「８０回／１分間」が、レベル１の運転者負荷量の境界条件になる負荷基準テーブルを選択する。すなわち、基準情報選択部３５は、負荷基準テーブル３３０〜３３２の中から負荷基準テーブル３３０，３３１を選択する。また、基準情報選択部３５は、負荷による脈拍変動の大きさに基づいて、脈拍数Ｐの範囲における境界条件の間隔を決定する。本実施形態においては、負荷による脈拍変動の大きさが小さいので、基準情報選択部３５は、選択した負荷基準テーブル３３０，３３１の中から、境界条件の間隔が最も狭い負荷基準テーブル３３０を選択する。
【０１３３】
運転者負荷量算出部２６は、基準情報選択部３５により選択された負荷基準テーブル３３０と、脈拍数取得部２４から出力された脈拍数情報とに基づいて、運転者が現在受けている運転者負荷量を算出する。
【０１３４】
次に、上記の構成に係る基準情報選択部３５の動作について、図２２を参照しながら説明する。
【０１３５】
図２２は、本実施形態に係る基準情報選択部３５による負荷基準情報の選択処理の一例を示すフローチャートである。図２２に示すように、基準情報選択部３５は、まず、負荷基準情報の選択モードになっているか否かを判定する（Ｏｐ６１）。ここで、本実施形態においては、運転者が、入力装置２を介して指示することにより、負荷基準情報の選択モードにすることが可能である。なお、属性情報記録部３４に記録された運転者属性情報が更新される度に自動的に負荷基準情報の選択モードとなるようにしてもよい。基準情報選択部３５は、負荷基準情報の選択モードになっていると判定すれば（Ｏｐ６１にてＹＥＳ）、属性情報記録部３４に記録された運転者属性情報を読み出す（Ｏｐ６２）。一方、基準情報選択部３５は、負荷基準情報の選択モードになっていないと判定すれば（Ｏｐ６１にてＮＯ）、図２２の処理を終了する。
【０１３６】
そして、基準情報選択部３５は、Ｏｐ６２にて読み出された運転者属性情報に基づいて、基準情報記録部３３に記録された複数の負荷基準情報の中から一の負荷基準情報を選択する（Ｏｐ６３）。
【０１３７】
以上のように、本実施形態に係る運転シミュレーション装置１ｅによれば、運転者属性情報に基づいて、複数の負荷基準情報の中から一の負荷基準情報を選択するので、運転者負荷量算出部２６は、選択した負荷基準情報に基づいて、運転者負荷量を算出することができる。
【０１３８】
[実施の形態７]
実施の形態６では、運転者属性情報に基づいて、複数の負荷基準情報の中から一の負荷基準情報を選択し、選択した負荷基準情報に基づいて、運転者負荷量を算出する例について説明した。しかしながら、運転者属性情報は、時間の経過や状況によって変化する可能性がある。このため、属性情報記録部３４に記録される運転者属性情報は、時間の経過や状況に応じて、常に最新の状態となるように更新することが好ましい。したがって、本実施形態では、運転者による運転操作、運転者の生体反応、または運転者がサブタスクを行った場合における当該サブタスクの実行結果に基づいて、属性情報記録部３４に記録される運転者属性情報を更新する例について説明する。
【０１３９】
図２３は、本実施形態に係る運転シミュレーション装置１ｆの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｆは、図１９に示す運転シミュレーション装置１ｅに加えて、属性情報更新部３６を備えている。なお、図２３において、図１９と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【０１４０】
属性情報更新部３６は、運転操作情報または道路交通情報を、シミュレーション管理部１１から取得し、取得した運転操作情報または道路交通情報に基づいて、属性情報記録部３４に記録された運転者属性情報を更新する。例えば、属性情報更新部３６は、道路交通情報に基づいて、ある区間における衝突余裕時間ＴＴＣを複数算出する。そして、属性情報更新部３６は、複数算出した衝突余裕時間ＴＴＣの平均値を算出する。ここでは、属性情報更新部３６は、衝突余裕時間ＴＴＣの平均値「５秒」を算出したものとする。属性情報更新部３６は、属性情報記録部３４に記録された衝突余裕時間ＴＴＣの平均値「２秒」（図２１参照）を、算出した衝突余裕時間ＴＴＣの平均値「５秒」へ更新する。
【０１４１】
また、属性情報更新部３６は、運転者の一分間の脈拍数を示す脈拍数情報を、脈拍数取得部２４から取得し、取得した脈拍数情報に基づいて、属性情報記録部３４に記録された運転者属性情報を更新する。例えば、属性情報更新部３６は、脈拍数情報に基づいて、運転中に運転者があるサブタスクを行っている場合の、当該運転者の一分間の脈拍数を算出する。属性情報更新部３６は、算出した脈拍数に基づいて、負荷による脈拍変動の大きさがどのくらいの変化を示しているのかを判定する。ここでは、負荷による脈拍変動の大きさが大きな変化を示しているものとする。この場合、属性情報更新部３６は、属性情報記録部３４に記録された負荷による脈拍変動の大きさ「小」（図２１参照）を、判定した負荷による脈拍変動の大きさ「大」へ更新する。
【０１４２】
さらに、属性情報更新部３６は、運転者がサブタスクを行った場合における当該運転者が受けている運転者負荷量を、運転者負荷量算出部２６から取得し、取得した運転者負荷量に基づいて、属性情報記録部３４に記録された運転者属性情報を更新する。例えば、属性情報更新部３６は、サブタスクシナリオ毎に運転者負荷量を算出し、サブタスクシナリオ毎に運転者負荷量の平均値を算出する。属性情報更新部３６は、算出した運転者負荷量の平均値が大きい順からサブタスクシナリオを並べていく。ここでは、属性情報更新部３６は、操作タスクのサブタスクシナリオ、暗記タスクのサブタスクシナリオ、暗算タスクのサブタスクシナリオの順に並べたものとする。この場合、属性情報更新部３６は、属性情報記録部３４に記録された、暗記タスクのサブタスクシナリオ「大」、暗算タスクのサブタスクシナリオ「中」、および操作タスクのサブタスクシナリオ「小」（図２１参照）を、操作タスクのサブタスクシナリオ「大」、暗記タスクのサブタスクシナリオ「中」、および暗算タスクのサブタスクシナリオ「小」へ更新する。
【０１４３】
次に、上記の構成に係る属性情報更新部３６の動作について、図２４を参照しながら説明する。
【０１４４】
図２４は、本実施形態に係る属性情報更新部３６による運転者属性情報の更新処理の一例を示すフローチャートである。図２４に示すように、属性情報更新部３６は、まず、運転者属性情報の更新モードになっているか否かを判定する（Ｏｐ７１）。ここで、本実施形態においては、運転者が、入力装置２を介して指示することにより、運転者属性情報の更新モードにすることが可能である。なお、運転者が入力装置２を介して指示することなく、定期的に、運転者属性情報の更新モードとなるようにしてもよい。属性情報更新部３６は、運転者属性情報の更新モードになっていると判定すれば（Ｏｐ７１にてＹＥＳ）、運転操作情報、道路交通情報、脈拍数情報、または運転者負荷量を取得する（Ｏｐ７２）。一方、属性情報更新部３６は、運転者属性情報の更新モードになっていないと判定すれば（Ｏｐ７１にてＮＯ）、図２４の処理を終了する。
【０１４５】
そして、属性情報更新部３６は、Ｏｐ７２にて取得された運転操作情報、道路交通情報、脈拍数情報、または運転者負荷量に基づいて、属性情報記録部３４に記録された運転者属性情報を更新する（Ｏｐ７３）。これにより、属性情報記録部３４に記録される運転者属性情報は、最新の状態に更新される。
【０１４６】
以上のように、本実施形態に係る運転シミュレーション装置１ｆによれば、属性情報記録部３４に記録された運転者属性情報を最新の状態に更新することができる。
【０１４７】
[実施の形態８]
実施の形態１では、運転者負荷量と目標負荷量とを比較することにより、実行すべきサブタスクシナリオを決定する例について説明した。しかしながら、事故の発生する危険な状況を再現するために、運転者に与えるべき負荷は、運転者の状態に応じて変えることが好ましい。例えば、運転者の意識がはっきりしている場合には、運転者に与えるべき負荷を高めることで、事故あるいは事故寸前の状態を誘発することが可能である。これに対して、運転者の意識がはっきりしていない場合、すなわち、運転者が居眠りをしようとしている場合には、運転者に与えるべき負荷を高くすると、運転者の意識が回復して逆に安全な状態に誘導してしまう可能性が高い。このため、運転者が居眠りをしようとしているか否かに応じて、目標負荷量を動的に変更することが好ましい。したがって、本実施形態では、運転者の居眠りの前兆が検出されたか否かに応じて、複数の目標負荷情報の中から一の目標負荷情報を選択する例について説明する。なお、以下では、図１に示す運転シミュレーション装置１に適用する例について説明するが、図７に示す運転シミュレーション装置１ａ、図１０に示す運転シミュレーション装置１ｂ、図１３に示す運転シミュレーション装置１ｃ、図１９に示す運転シミュレーション装置１ｅ、図２３に示す運転シミュレーション装置１ｆにも適用できることは勿論である。
【０１４８】
図２５は、本実施形態に係る運転シミュレーション装置１ｇの概略構成を示すブロック図である。すなわち、本実施形態に係る運転シミュレーション装置１ｇは、居眠り検出装置６にさらに接続されている。つまり、本実施形態に係る運転シミュレーション装置１ｇは、居眠り検出装置６にアクセス可能である。ここで、居眠り検出装置６は、運転者の居眠りの前兆を検出する装置である。居眠り検出装置６は、例えば、画像認識装置または脈拍検出装置である。居眠り検出装置６が画像認識装置である場合、運転者の瞬きの回数の変化を検出することによって、運転者の居眠りの前兆を検出する。また、居眠り検出装置６が脈拍検出装置である場合、運転者の脈拍の揺らぎ等を検出することによって、居眠りの前兆を検出する。
【０１４９】
また、本実施形態に係る運転シミュレーション装置１ｇは、図１に示す目標負荷記録部１９の代わりに、目標負荷記録部３７を備えている。さらに、本実施形態に係る運転シミュレーション装置１ｇは、図１に示す運転シミュレーション装置１に加えて、目標負荷選択部３８を備えている。なお、図２５において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【０１５０】
目標負荷記録部３７には、互いに異なる目標負荷量となる複数の目標負荷情報が予め記録される。本実施形態においては、目標負荷記録部３７には、レベル１の目標負荷量を示す目標負荷情報と、レベル２の目標負荷量を示す目標負荷情報と、レベル３の目標負荷量を示す目標負荷情報とが記録されている。
【０１５１】
目標負荷選択部３８は、居眠り検出装置６により運転者の居眠りの前兆が検出された場合には、当該運転者の居眠りの前兆が検出されない場合と比較して、目標負荷量が低くなるように、目標負荷記録部３７に記録された複数の目標負荷情報の中から一の目標負荷情報を選択する。例えば、居眠り検出装置６により運転者の居眠りの前兆が検出された場合には、目標負荷選択部３８は、複数の目標負荷情報の中からレベル１の目標負荷量を示す目標負荷情報を選択する。一方、居眠り検出装置６により運転者の居眠りの前兆が検出されない場合には、目標負荷選択部３８は、複数の目標負荷情報の中からレベル２の目標負荷量を示す目標負荷情報を選択する。
【０１５２】
負荷量制御部２０は、運転者負荷量算出部１８から出力された運転者負荷量と、目標負荷選択部３８により選択された目標負荷情報が示す目標負荷量とを比較する。比較の結果、運転者負荷量が目標負荷量よりも大きい場合には、負荷量制御部２０は、運転者負荷量が減少するように、シナリオ実行部１６に対して指示する。また、運転者負荷量が目標負荷量よりも小さい場合には、負荷量制御部２０は、運転者負荷量が増加するように、シナリオ実行部１６に対して指示する。
【０１５３】
次に、上記の構成に係る目標負荷選択部３８の動作について、図２６を参照しながら説明する。
【０１５４】
図２６は、本実施形態に係る目標負荷選択部３８による目標負荷情報の選択処理の一例を示すフローチャートである。図２６に示すように、目標負荷選択部３８は、居眠り検出装置６により運転者の居眠りの前兆が検出されたか否かを判定する（Ｏｐ８１）。目標負荷選択部３８は、居眠り検出装置６により運転者の居眠りの前兆が検出されたと判定すれば（Ｏｐ８１にてＹＥＳ）、目標負荷量が低くなるように、目標負荷記録部３７に記録された複数の目標負荷情報の中から一の目標負荷情報を選択する（Ｏｐ８２）。一方、目標負荷選択部３８は、居眠り検出装置６により運転者の居眠りの前兆が検出されていないと判定すれば（Ｏｐ８１にてＮＯ）。目標負荷量が高くなるように、目標負荷記録部３７に記録された複数の目標負荷情報の中から一の目標負荷情報を選択する（Ｏｐ８３）。
【０１５５】
以上のように、本実施形態に係る運転シミュレーション装置１ｇによれば、運転者の居眠りの前兆が検出された場合には、目標負荷量が低くなるように、複数の目標負荷情報の中から一の目標負荷情報を選択することができる。これにより、運転者の意識が回復して安全な状態に誘導してしまうことを回避することができる。この結果、事故の発生確率が高い危険な状況を作り出すことができる。
【０１５６】
以上の実施の形態に関し、更に以下の付記を開示する。
【０１５７】
（付記１）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部を備える運転シミュレーション装置において、
前記運転者に対して指示を与えるための出力部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出部と、
前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部と、
前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行部に対して指示する負荷量制御部とを備える、運転シミュレーション装置。
【０１５８】
（付記２）
前記運転シミュレーション装置は、前記サブタスクシナリオと、当該サブタスクシナリオの負荷との対応関係が予め記録された対応関係記録部をさらに備え、
前記運転者負荷量を減少させるべく、前記サブタスクシナリオの変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の低いサブタスクシナリオに変更し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオを、当該サブタスクシナリオよりも負荷の高いサブタスクシナリオに変更する、付記１に記載の運転シミュレーション装置。
【０１５９】
（付記３）
前記運転シミュレーション装置は、前記サブタスクシナリオ内に規定された前記運転者が受けるべき負荷の度合いを表すパラメータと、当該パラメータの負荷との対応関係が予め記録された対応関係記録部をさらに備え、
前記運転者負荷量を減少させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の低いパラメータに変更し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、前記対応関係記録部を参照することにより、現在実行中のサブタスクシナリオ内のパラメータを、当該パラメータよりも負荷の高いパラメータに変更する、付記１に記載の運転シミュレーション装置。
【０１６０】
（付記４）
前記運転者負荷量を減少させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、現在実行中のサブタスクシナリオを停止し、前記運転者負荷量を増加させるべく、前記サブタスクシナリオの実行状況の変更の指示が前記負荷量制御部からあった場合には、前記シナリオ実行部は、新たなサブタスクシナリオの実行を開始する、付記１に記載の運転シミュレーション装置。
【０１６１】
（付記５）
前記運転シミュレーション装置は、前記運転者の居眠りの前兆を検出する居眠り検出装置にアクセス可能であって、
前記目標負荷記録部には、互いに異なる目標負荷量となる複数の目標負荷情報が予め記録されており、
前記運転シミュレーション装置は、前記居眠り検出装置により運転者の居眠りの前兆が検出された場合には、当該運転者の居眠りの前兆が検出されない場合と比較して、目標負荷量が低くなるように、前記目標負荷記録部に記録された複数の目標負荷情報の中から一の目標負荷情報を選択する目標負荷選択部をさらに備える、付記１〜４のいずれか一項に記載の運転シミュレーション装置。
【０１６２】
（付記６）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部を備える運転シミュレーション装置において、
前記運転者に対して指示を与えるための出力部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力部を介して運転者へ出力させるシナリオ実行部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部と、
前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行部に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行部に対して指示するシナリオ制御部とを備える、運転シミュレーション装置。
【０１６３】
（付記７）
前記運転者負荷量算出部は、前記運転者による運転操作に関する運転操作情報を、前記シミュレーション管理部から取得し、取得した運転操作情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、付記１〜６のいずれか一項に記載の運転シミュレーション装置。
【０１６４】
（付記８）
前記運転者負荷量算出部は、前記仮想道路交通環境を示す道路交通情報を、前記シミュレーション管理部から取得し、取得した道路交通情報と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、付記１〜６のいずれか一項に記載の運転シミュレーション装置。
【０１６５】
（付記９）
前記運転シミュレーション装置は、前記運転者の生体反応を検出する生体反応検出装置にアクセス可能であって、
前記運転者負荷量算出部は、前記生体反応検出装置により検出された運転者の生体反応と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、付記１〜６のいずれか一項に記載の運転シミュレーション装置。
【０１６６】
（付記１０）
前記運転シミュレーション装置は、前記シナリオ実行部によるサブタスクシナリオの実行に従って前記運転者がサブタスクを行った場合における当該サブタスクの実行結果を検出する実行結果検出部をさらに備え、
前記運転者負荷量算出部は、前記実行結果検出部により検出されたサブタスクの実行結果と、前記基準情報記録部に記録された負荷基準情報とに基づいて、前記運転者が受けている運転者負荷量を算出する、付記１〜６のいずれか一項に記載の運転シミュレーション装置。
【０１６７】
（付記１１）
前記基準情報記録部には、互いに異なる基準となる複数の負荷基準情報が予め記録されており、
前記運転シミュレーション装置は、
前記運転者による運転操作の特徴、前記運転者の生体反応の特徴、または前記運転者がサブタスクを行った場合における当該サブタスクの実行結果の特徴を示す運転者属性情報を記録する属性情報記録部と、
前記属性情報記録部に記録された運転者属性情報に基づいて、前記基準情報記録部に記録された複数の負荷基準情報の中から一の負荷基準情報を選択する基準情報選択部とをさらに備える、付記１〜１０のいずれか一項に記載の運転シミュレーション装置。
【０１６８】
（付記１２）
前記運転シミュレーション装置は、前記運転者による運転操作、前記運転者の生体反応、または前記運転者がサブタスクを行った場合における当該サブタスクの実行結果に基づいて、前記属性情報記録部に記録された運転者属性情報を更新する属性情報更新部をさらに備える、付記１１に記載の運転シミュレーション装置。
【０１６９】
（付記１３）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部とを備えたコンピュータが処理を実行する運転シミュレーション方法であって、
前記コンピュータが備える出力部が、前記運転者に対して指示を与えるための出力工程と、
前記コンピュータが備えるシナリオ実行部が、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力工程を介して運転者へ出力させるシナリオ実行工程と、
前記コンピュータが備える運転者負荷量算出部が、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出工程と、
前記コンピュータが備える負荷量制御部が、前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行工程に対して指示する負荷量制御工程とを含む、運転シミュレーション方法。
【０１７０】
（付記１４）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータが処理を実行する運転シミュレーション方法であって、
前記コンピュータが備える出力部が、前記運転者に対して指示を与えるための出力工程と、
前記コンピュータが備えるシナリオ実行部が、前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力工程を介して運転者へ出力させるシナリオ実行工程と、
前記コンピュータが備える運転者負荷量算出部が、前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出工程と、
前記コンピュータが備えるシナリオ制御部が、前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行工程に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行工程に対して指示するシナリオ制御工程とを含む、運転シミュレーション方法。
【０１７１】
（付記１５）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者が受けるべき目標負荷量を示す目標負荷情報を記録する目標負荷記録部とを備えたコンピュータに処理を実行させるプログラムであって、
前記運転者に対して指示を与えるための出力処理と、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力処理を介して運転者へ出力させるシナリオ実行処理と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出処理と、
前記運転者負荷量が前記目標負荷量よりも大きい場合には当該運転者負荷量を減少させ、前記運転者負荷量が前記目標負荷量よりも小さい場合には当該運転者負荷量を増加させるべく、前記サブタスクシナリオの変更または前記サブタスクシナリオの実行状況の変更を前記シナリオ実行処理に対して指示する負荷量制御処理とを前記コンピュータに実行させる、プログラム。
【０１７２】
（付記１６）
仮想道路交通環境と、運転者による運転操作に従って前記仮想道路交通環境内を走行可能な仮想移動体とを含む仮想空間を実現するシミュレーション管理部と、
前記運転者による運転操作以外の動作をサブタスクとするとき、当該サブタスクを運転者に対して行わせるためのサブタスクシナリオが予め記録されたシナリオ記録部と、
前記運転者が受けている運転者負荷量を算出するための基準となる負荷基準情報が予め記録された基準情報記録部と、
前記運転者負荷量の経時的変化によって定められる、前記サブタスクシナリオの実行の開始条件と停止条件とを示す条件情報が予め記録された条件情報記録部とを備えたコンピュータに処理を実行させるプログラムであって、
前記運転者に対して指示を与えるための出力処理と、
前記シナリオ記録部に記録されたサブタスクシナリオを読み出し、読み出したサブタスクシナリオを実行することにより、前記サブタスクシナリオに従ったサブタスク実行指示を、前記出力処理を介して運転者へ出力させるシナリオ実行処理と、
前記基準情報記録部に記録された負荷基準情報と、前記仮想移動体の状況または前記運転者の状況とに基づいて、前記運転者が受けている運転者負荷量を算出する運転者負荷量算出処理と、
前記サブタスクシナリオの実行が停止されている間に前記運転者負荷量の変化が前記開始条件に合致した場合は、当該サブタスクシナリオの実行を開始するように、前記シナリオ実行処理に対して指示し、前記サブタスクシナリオの実行中に前記運転者負荷量の変化が前記停止条件に合致した場合は、当該サブタスクシナリオの実行を停止するように、前記シナリオ実行処理に対して指示するシナリオ制御処理とを前記コンピュータに実行させる、プログラム。
【産業上の利用可能性】
【０１７３】
以上のように、本発明は、現実性を考慮しつつ、事故の発生確率が高い危険な状況を作り出すことができる運転シミュレーション装置、運転シミュレーション方法、またはプログラムとして有用である。
【図面の簡単な説明】
【０１７４】
【図１】第１の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図２】上記運転シミュレーション装置における基準情報記録部に記録された負荷基準情報の一例を示す図である。
【図３】上記運転シミュレーション装置における対応関係記録部に記録された対応関係の一例を示す図である。
【図４】上記運転シミュレーション装置の全体動作の一例を示すフローチャートである。
【図５】上記運転シミュレーション装置における運転者負荷量算出部による運転者負荷量の算出処理の一例を示すフローチャートである。
【図６】上記基準情報記録部に記録された負荷基準情報の他の例を示す図である。
【図７】第２の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図８】上記運転シミュレーション装置における基準情報記録部に記録された負荷基準情報の一例を示す図である。
【図９】上記運転シミュレーション装置における運転者負荷量算出部による運転者負荷量の算出処理の一例を示すフローチャートである。
【図１０】第３の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図１１】上記運転シミュレーション装置における基準情報記録部に記録された負荷基準情報の一例を示す図である。
【図１２】上記運転シミュレーション装置における脈拍数取得部および運転者負荷量算出部による処理の一例を示すフローチャートである。
【図１３】第４の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図１４】上記運転シミュレーション装置における基準情報記録部に記録された負荷基準情報の一例を示す図である。
【図１５】上記運転シミュレーション装置における実行結果検出部および運転者負荷量算出部による処理の一例を示すフローチャートである。
【図１６】第５の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図１７】上記運転シミュレーション装置における条件情報記録部に記録された条件情報の一例を示す図である。
【図１８】上記運転シミュレーション装置の全体動作の一例を示すフローチャートである。
【図１９】第６の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図２０】上記運転シミュレーション装置における基準情報記録部に記録された負荷基準情報の一例を示す図である。
【図２１】上記運転シミュレーション装置における属性情報記録部に記録された運転者属性情報の一例を示す図である。
【図２２】上記運転シミュレーション装置における基準情報選択部による負荷基準情報の選択処理の一例を示すフローチャートである。
【図２３】第７の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図２４】上記運転シミュレーション装置における属性情報更新部による運転者属性情報の更新処理の一例を示すフローチャートである。
【図２５】第８の実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。
【図２６】上記運転シミュレーション装置における目標負荷選択部による目標負荷情報の選択処理の一例を示すフローチャートである。
【符号の説明】
【０１７５】
１、１ａ、１ｂ、１ｃ、１ｄ、１ｅ、１ｆ、１ｇ  運転シミュレーション装置
５  脈拍検出装置（生体反応検出装置）
６  居眠り検出装置
１１  シミュレーション管理部
１３  映像出力部（出力部）
１４  音声出力部（出力部）
１５  シナリオ記録部
１６、３２  シナリオ実行部
１７、２２、２５、２８、３３  基準情報記録部
１８、２３、２６、２９  運転者負荷量算出部
１９、３７  目標負荷記録部
２０  負荷量制御部
２１  対応関係記録部
２７  実行結果検出部
３０  条件情報記録部
３１  シナリオ制御部
３４  属性情報記録部
３５  基準情報選択部
３６  属性情報更新部
３８  目標負荷選択部
【図１】
0005353040.tif 000002
【図２】
0005353040.tif 000003
【図３】
0005353040.tif 000004
【図４】
0005353040.tif 000005
【図５】
0005353040.tif 000006
【図６】
0005353040.tif 000007
【図７】
0005353040.tif 000008
【図８】
0005353040.tif 000009
【図９】
0005353040.tif 000010
【図１０】
0005353040.tif 000011
【図１１】
0005353040.tif 000012
【図１２】
0005353040.tif 000013
【図１３】
0005353040.tif 000014
【図１４】
0005353040.tif 000015
【図１５】
0005353040.tif 000016
【図１６】
0005353040.tif 000017
【図１７】
0005353040.tif 000018
【図１８】
0005353040.tif 000019
【図１９】
0005353040.tif 000020
【図２０】
0005353040.tif 000021
【図２１】
0005353040.tif 000022
【図２２】
0005353040.tif 000023
【図２３】
0005353040.tif 000024
【図２４】
0005353040.tif 000025
【図２５】
0005353040.tif 000026
【図２６】
0005353040.tif 000027