以下、図面を参照して、本発明に係る感情誘導装置及び感情誘導方法の実施の形態を説明する。
本実施の形態では、本発明を、擬人化されたエージェントにより自動車の運転者と各種コミュニケーションを行わせる運転行動誘導装置に適用する。本実施の形態に係る運転行動誘導装置は、渋滞等によって運転者の心理状態が不快に感じている状態か否かを判定し、不快に感じている場合には安全運転をするように行動を誘導する。本実施の形態には、2つの形態があり、第1の実施の形態ではエージェントが1体であり、第2の実施の形態では運転者に否定的な警告エージェント1と運転者に肯定的な助言エージェント2の2体である。
図1〜図4を参照して、第1の実施の形態に係る運転行動誘導装置1の構成について説明する。図1は、第1の実施の形態に係る運転行動誘導装置の構成図である。図2は、図1の交通シーンデータベースのデータテーブルの一例である。図3は、顔面の動きの単位の一覧表である。図4は、図1のエージェント挙動パターンデータベースのデータテーブルの一例である。
運転行動誘導装置1では、ディスプレイでの表示出力とスピーカからの音声出力により1体のエージェントを出現させ、そのエージェントにより運転者に対して各種コミュニケーションを行わせる。運転行動誘導装置1では、運転者から得られる各種情報と自動車から得られる各種情報に基づいて運転者の心理状態を判定する。そして、運転行動誘導装置1では、運転者が不快を感じていると判定した場合、エージェントが運転者の置かれている状況に共感することによって運転者がエージェントの意見に対して肯定的に受け入れやすい状況を生じさせ、エージェントにより運転者が安全運転するような行動に誘導する。そのために、運転行動誘導装置1は、アクセルセンサ2、ブレーキセンサ3、心拍センサ4、画像センサ5及びECU[Electronic Control Unit]6を備えており、ECU6に走行状況判定部10、交通シーンデータベース11、運転者心的状態判定部12、運転者状態データベース13、状態共有判定部14、エージェント挙動パターンデータベース15、エージェント心的状態制御部16、エージェント誘導行動制御部17が構成される。また、運転行動誘導装置1では、エージェントの呈示手段としてナビゲーション等の様々な機能を備えるマルチメディア装置7を利用する。
なお、第1の実施の形態では、運転者心的状態判定部12が心理検出手段に相当し、走行状況判定部10が状況検出手段に相当し、状態共有判定部14が心理状態判定手段に相当する。
アクセルセンサ2は、運転者によるアクセルペダルの操作量を判定するセンサである。アクセルセンサ2では、その検出したアクセル操作量をアクセル信号CSとしてECU6に送信する。ブレーキセンサ3は、運転者によるブレーキペダルの操作量を判定するセンサである。ブレーキセンサ3では、その検出したブレーキ操作量をブレーキ信号BSとしてECU6に送信する。
心拍センサ4は、運転者の心拍数を検出するセンサである。心拍センサ4では、その検出した心拍数を心拍信号HSとしてECU6に送信する。ちなみに、人は覚醒度が低下すると心拍数が低下する。画像センサ5は、カメラと画像処理装置からなり、運転者の状態を検出するセンサである。画像センサ5では、カメラで運転者の顔を撮像し、画像処理装置によりその撮像画像から目、口、鼻等の特徴となる部位の位置や形を認識し、顔の向きと視線方向を検出する。そして、画像センサ5では、その検出した顔の向きと視線方向を画像信号DSとしてECU6に送信する。ちなみに、人は疲れてくると、顔の向きや視線が一定方向となる。
ECU6は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]等からなり、運転行動誘導装置1の電子制御ユニットである。ECU6では、各種センサ2,3,4,5から各種センサ信号CS,BS,HS,DSを取り入れ、その各種検出値に基づいて運転者の心理状態を判定する。そして、ECU6では、心理状態が不快を感じる状態であると判定した場合にはエージェントにより運転者の行動を誘導するために、マルチメディア装置7に表情描画モデル及び発話モデルを送信する。
走行状況判定部10では、アクセルセンサ2からのアクセル信号CS及びブレーキセンサ3からのブレーキ信号BSを一定時間毎に取り入れ、アクセル信号CSとブレーキ信号BSに基づいて走行状況RTS(t)を判定し、走行状況RTS(t)を運転者心的状態判定部12及び状態共有判定部14に一定時間毎に送信する。
具体的には、走行状況判定部10では、ある時刻tに送信されたアクセル信号CSからアクセル操作量AC(t)を保持し、その時間変化量ACTV(t)を算出する。さらに、走行状況判定部10では、AC(t)>0(すなわち、アクセルペダルが踏まれている状態)の場合には前回AC(t0)=0(すなわち、アクセルペダルが踏まれていない状態)となった時刻t0からの経過時間ACCT(t)(すなわち、アクセルペダルが連続して踏まれていた時間)を算出し、AC(t)=0の場合には前回AC(t0)>0となった時刻t0からの経過時間ACST(t)(すなわち、アクセルペダルが連続して踏まれていなかった時間)を算出する。また、走行状況判定部10では、ある時刻tに送信されたブレーキ信号BSからブレーキ操作量BR(t)を保持し、その時間変化量BRTV(t)を算出する。さらに、走行状況判定部10では、BR(t)>0(すなわち、ブレーキペダルが踏まれている状態)の場合には前回BR(t0)=0(すなわち、ブレーキペダルが踏まれていない状態)となった時刻t0からの経過時間BRCT(t)(すなわち、ブレーキペダルが連続して踏まれていた時間)を算出し、BR(t)=0の場合には前回BR(t0)>0となった時刻t0からの経過時間BRST(t)(ブレーキペダルが連続して踏まれていなかった時間)を算出する。そして、走行状況判定部10では、これら特徴量AC(t)、ACTV(t)、ACCT(t)、ACST(t)、BR(t)、BRTV(t)、BRCT(t)、BRST(t)の各値を参照キーとして交通シーンデータベース11を参照し、返り値として交通シーンTSi(t)=[S1i(t),S2i(t),・・・Ski(t),・・・Sni(t)]が与えられる(図2参照)。iは参照キーであり、Ski(t)は時刻tに交通シーンkとなる確率(ポイントで表される確率)である。交通シーンkは、例えば、通常走行、停車、渋滞、長時間走行である。なお、ノイズ等によってセンサの検出値が一時的に使用できない場合やセンサの故障の場合等の諸条件により、特定の特徴量を考慮に入れない場合にはその特徴量の値としてNULLとし、NULLの場合には返り値として0が与えられる。
そして、走行状況判定部10では、返り値TSi(t)を用いて(1)式を計算し、DTS(t)の要素VS(t)でポイントが最大となる交通シーンkを走行状況RTS(t)として決定する。なお、(1)式は線形和ではなく、各要素を乗算する形でもよい。
交通シーンデータベース11は、図2に示すように各特徴量(AC,ACTV,ACCT,ACST,BR,BRTV,BRCT,BRST)と交通状況(通常走行、停車、状態、長時間走行、・・・)との相関を表すデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各特徴量には、その特徴量を考慮しない場合のNULLと特徴量の各範囲に対して、交通状況毎に確率を示すポイントが割り当てられている。ポイントは、その値が大きいほどその交通状況である確率が高いことを示している。走行状況判定部10では、交通状況毎にポイントを加算し、その加算したポイントが最大の交通状況を走行状況RTS(t)としている。運転者が不快と感じる交通状況としては、渋滞と長時間走行を想定している。渋滞は、アクセルペダルとブレーキペダルの頻繁な操作切り換えが目安となり、切り換えが多いほどポイントが大きくなる。長時間走行は、一定時間以上のアクセルペダルの踏み込まれている継続時間が目安となり、継続時間が長いほどポイントが大きくなる。
運転者心的状態判定部12では、心拍センサ4からの心拍信号HS及び画像センサ5からの画像信号DSを一定時間毎に取り入れ、心拍信号HSと画像信号DSに基づいて運転者の心的状態DDS(t)を判定し、その心的状態DDS(t)を状態共有判定部14に一定時間毎に送信する。
具体的には、運転者心的状態判定部12では、ある時刻tに送信された心拍信号HSから心拍数HR(t)を保持し、その時間変化量VHR(t)を算出する。また、運転者心的状態判定部12では、ある時間tに送信された画像信号DSから顔向きFD(t)と視線方向GD(t)を保持し、その時間変化量VFD(t),VGD(t)をそれぞれ算出する。そして、運転者心的状態判定部12では、これら特徴量HR(t),VHR(t),FD(t),GD(t),VFD(t),VGD(t)の各値を参照キーとして運転者状態データベース13を参照し、返り値として運転者状態変数DSi(t)=SBLCi(t)が与えられる。iは参照キーであり、SBLCi(t)は、不快の度合いを示す指標であり、0〜2の3段階の離散値で与えられ、通常状態が0であり、数値が大きくなるほど不快度が大きくなることを示す。なお、ノイズ等によってセンサの検出値が一時的に使用できない場合やセンサの故障の場合等の諸条件により、特定の特徴量を考慮に入れない場合にはその特徴量の値としてNULLとし、NULLの場合には返り値として−1が与えられる。
そして、運転者心的状態判定部12では、返り値DSi(t)を用いて(2)式を計算し、時刻tでの運転者の心的状態DDS(t)を決定する。ちなみに、DSi(t)=−1の場合にはβi=0として(2)式の結果に影響を与えないようにする。
運転者状態データベース13は、各特徴量(HR,VHR,FD,GD,VFD,VGD)と運転者の心的状態(不快度合い)との相関を表すデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各特徴量には、その特徴量を考慮しない場合のNULLと特徴量の各範囲に対して、不快度合いが割り当てられている。不快度合いとしては、心拍数の低下及び顔の方向や視線方向が一定方向となっている継続時間が目安となる。
状態共有判定部14では、走行状況判定部10からの走行状況RTS(t)及び運転者心的状態判定部12からの運転者の心的状態DDS(t)を一定時間毎に取り入れ、走行状況RTS(t)とその継続時間ETTS(t)及び心的状態DDS(t)に基づいて運転者の心理状態が不快を感じる状態か(すなわち、エージェントによる行動誘導による支援が必要か否か)を判定する。そして、状態共有判定部14では、運転者が不快と感じていると判定した場合、誘導の種別を決定し、最初にエージェント心的状態制御部16に運転者と同様の不快状態を表現するためのエージェントの心的状態ASを送信し、次にエージェント誘導行動制御部17に運転者の行動を誘導するためのエージェント誘導行動AAを送信する。
具体的には、状態共有判定部14では、走行状況RTS(t)がイベント条件ECTSを満たしかつ今回時刻の走行状況RTS(t)が前回時刻の走行状況RTS(t−1)と同一か否かを判定し、満たす場合にはイベント継続時間ETTS(t)に1を加算し、満たさない場合にはイベント継続時間ETTS(t)をリセットする。イベント条件ECTSは、運転者が不快と感じる状況である特定状態であり、渋滞と長時間走行である。したがって、イベント継続時間ETTS(s)は、運転者が不快と感じる状況が継続している時間を示す。ここでは、渋滞又は長時間走行の場合、その状況が前回時刻(t−1)から継続しているときにはイベント継続時間ETTS(t)を更新する。
そして、状態共有判定部14では、運転者の状況がエージェントの支援を不要か(運転者の心理状態が不快と感じていない状態か)を判断するために、渋滞又は長時間走行が継続していないか(イベント継続時間ETTS(t)=0)または運転者が不快と感じていないか(心的状態DDS(t)=0)を満たすか否かを判定する。この条件を満たす場合、状態共有判定部14では、エージェントによる支援が必要ないと判断し、エージェントの心的状態ASを初期状態とし、処理を中断する。一方、この条件を満たさない場合、状態共有判定部14では、エージェントによる支援が必要(運転者の心理状態が不快と感じる状態)と判断し、エージェントの心的状態ASを更新する。
エージェントの心的状態ASを更新する場合、状態共有判定部14では、エージェントを更新可能(フラグFASが0)のときには、走行状況RTS(t)をデータテーブル選択の参照キーとし、心的状態DDS(t)及び継続時間ETTS(t)の組み合せをデータテーブル内の参照キーとしてエージェント挙動パターンデータベース15を参照し、返り値としてエージェントの心的状態AS=[ASBLC、ASEM、ASFP、ASTP]及びエージェント誘導行動AA=[AAFP、AATP]が与えられる(図4参照)。一方、状態共有判定部14では、エージェントを更新不可(フラグFASが1)のときには、既に更新中なので処理を中断する。フラグFASは、エージェントを更新中か否か示すフラグであり、0の場合には更新していないので新たな更新が可能であり、1の場合には現在更新中のため新たな更新不可である。
エージェントの心的状態ASは、運転者の心理状態に共感(同調)するエージェントの心的状態を示す。エージェント誘導行動AAは、運転者の心理状態が不快と感じている場合に運転者に安全運転を促すための行動を誘導するためのエージェントの行動を示す。ASBLCは、不快の度合いを示す指標であり、0〜2の3段階の離散値で与えられ、エージェントの心的状態を示す。ASEMは、感情パターンを示し、7種類[中立、喜び、驚き、悲しみ、恐れ、嫌悪、怒り]の組み合せた形で選択される。ASFP、AAFPは、エージェントの顔面の表情パーツの変化パターンを示し、34個の顔面の動きの単位(AU[Action Unit])の大きさで表され、ASBLCとASEMの値に基づいて決定される。顔面の動きの単位の一覧は、図3に示される。例えば、喜びの場合には(AU6+AU12+AU14)、驚きの場合には(AU1+AU2+AU15+AU16+AU20+AU26)、怒りの場合には(AU2+AU4+AU7+AU9+AU10+AU20+AU26)、悲しみの場合には(AU1+AU4+AU15+AU23)で顔の表情が表される。ASTP、AATPは、エージェントの発話パターンを表すテキストであり、ASBLCとASEMの値に基づいて決定される。ASTPは、運転者の不快状態に同調する発話内容であり、例えば、渋滞の場合には「渋滞に苛立ってきましたよ」や「イライラされてますよね」である。AATPは、運転者に行動を促す発話内容であり、例えば、渋滞の場合には「前方のクルマの動きに注意ですね」や「音楽でも聴きながらリラックスしますか」である。
エージェントの心的状態ASの初期状態=[ASBLC=0、ASEM=中立、ASFP=NULL、ASTP=NULL]である。そこで、状態共有判定部14では、返り値であるエージェントの心的状態ASが初期状態の場合、エージェントを変化させる必要がないので、処理を中断する。状態共有判定部14では、返り値であるエージェントの心的状態ASが初期状態と異なる場合、エージェントを変化させる必要があるので、フラグFASを1に変更し、そのエージェントの心的状態ASをエージェント心的状態制御部16に送信する。エージェント心的状態制御部16での処理が完了すると(制御信号SCS=0を受信すると)、状態共有判定部14では、エージェントの心的状態ASで表現されるエージェントを出現させたと判断し、エージェントの誘導行動AAで表現されるエージェントを出現させるために、エージェント誘導行動AAをエージェント誘導行動制御部17に送信する。エージェント誘導行動制御部17での処理が完了すると(制御信号ACS=0を受信すると)、状態共有判定部14では、エージェント誘導行動AAで表現されるエージェントを出現させたと判断し、エージェントを更新可能な状態とし(フラグFASを1に変更し)、エージェントの心的状態ASを初期状態に戻す。
エージェント挙動パターンデータベース15は、図4に示すように、走行状況(渋滞、長時間走行、・・・)毎のデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各データテーブルは、運転者の心的状態DDSと走行状況の継続時間ETTSの組み合せに対してエージェントの心的状態ASとエージェント誘導行動AAがそれぞれ記述されている。DDSやETTSの値が大きくなるほど、運転者の不快の度合いが増すので、エージェントの心的状態も走行状況に合わせて不快の度合いが増した表現となり、エージェントによる誘導行動も不快の度合いに応じた行動となる。
運転者の不快な状態としては、渋滞時の苛立ちや長時間走行時の不安や疲れが挙げられ、具体的には以下のような状況を想定している。渋滞の場合、渋滞によって生じる苛立ちを抑制させ、運転に集中させる。例えば、走行状況RTS(t)=渋滞、心的状態DDS(t)=1、継続時間(t)が600秒の場合にはエージェントの心的状態AS=[ASBLC=1、ASEM=怒り、ASFP=AU2+AU4+AU7+AU9+AU10+AU20+Au26、ASTP=渋滞に苛立ってきましたよね]とエージェント誘導行動AA=[AAFP=(省略)、AATP=前方のクルマの動きに注意ですね]であり、走行状況RTS(t)=渋滞、心的状態DDS(t)=2、継続時間(t)が1800秒の場合にはエージェントの心的状態AS=[ASBLC=2、ASEM=怒り、ASFP=(省略)、ASTP=この渋滞には我慢の限界です!]とエージェント誘導行動AA=[AAFP=(省略)、AATP=気を取り直して運転に集中しましょう]である。高速道路の長時間走行の場合、休憩を促す。例えば、走行状況RTS(t)=長時間、心的状態DDS(t)=1、継続時間(t)が3600秒の場合にはエージェントの心的状態AS=[ASBLC=1、ASEM=怒り+悲しみ、ASFP=(省略)、ASTP=私はちょっと疲れてきました]とエージェント誘導行動AA=[AAFP=(省略)、AATP=休憩したくなってきました]であり、走行状況RTS(t)=長時間、心的状態DDS(t)=2、継続時間(t)が10800秒の場合にはエージェントの心的状態AS=[ASBLC=2、ASEM=怒り+悲しみ、ASFP=(省略)、ASTP=もうへとへとになりました]とエージェント誘導行動AA=[AAFP=(省略)、AATP=この辺で休ませて下さい]である。
エージェント心的状態制御部16では、状態共有判定部14からエージェントの心的状態ASが送信された場合、そのエージェントの心的状態ASに応じたエージェントを出現させるために表情描画モデルSFPCと発話モデルSTPCをマルチメディア装置7に送信する。
具体的には、エージェントの心的状態ASを送信された場合、エージェント心的状態制御部16では、エージェントを更新可能か否かを判断する(制御信号SCS=0か否かを判定する)。制御信号SCSは、エージェントの心的状態ASを表現するエージェントが更新中か否かを示す信号であり、0の場合には更新していないので新たな更新可能であり、1の場合には現在更新中のため新たな更新不可である。
エージェントを更新可能(制御信号SCS=0)の場合、エージェント心的状態制御部16では、エージェントを更新するために、制御信号SCSを1に変更する。さらに、エージェント心的状態制御部16では、エージェントの心的状態ASのASFPの値に従って表情描画モデルSFPCを生成するとともにASTPの値に従って発話モデルSTPCを生成する。表情描画モデルSFPCは、コンピュータグラフィックスでエージェントの描画をする際に必要となるデータであり、2次元または3次元の座標データ群及びその色情報からなる時系列データである。発話モデルSTPCは、エージェントの発話する際に必要となるデータであり、テキスト情報とその音声データからなる時系列データである。さらに、エージェント心的状態制御部16では、エージェントを更新することを知らせるために制御信号SCS=1をマルチメディア装置7に送信し、表情描画モデルSFPCと発話モデルSTPCをマルチメディア装置7に送信する。そして、エージェント心的状態制御部16では、全て送信が完了すると、エージェントを更新可能とし(制御信号SCSを0に変更し)、その制御信号SCSを状態共有判定部14及びマルチメディア装置7に送信する。一方、エージェントを更新不可(制御信号SCS=1)の場合、エージェント心的状態制御部16では、エージェントの新たな更新ができないと判断し、次のエージェントの心的状態ASを受信待ちする。
また、エージェントの心的状態ASが送信されなかった場合、エージェント心的状態制御部16では、エージェントを更新可能か否か(制御信号SCS=0か否か)を判定し、更新可能な(制御信号SCS=0の)場合には表情画像モデルの初期値SFPCiniと発話モデルの初期値STPCiniをマルチメディア装置7に送信し、更新不可の(制御信号SCS=1)の場合には次のエージェントの心的状態ASを受信待ちする。初期値SFPCiniは無表情を示す表情データであり、初期値SFPCiniは無発話の発話データである。
エージェント誘導行動制御部17では、状態共有判定部14からエージェント誘導行動AAが送信された場合、そのエージェント誘導行動AAに応じたエージェントを出現させるために表情描画モデルAFPCと発話モデルATPCをマルチメディア装置7に送信する。
具体的には、エージェント誘導行動AAを送信された場合、エージェント誘導行動制御部17では、エージェントを更新可能か否かを判断する(制御信号ACS=0か否かを判定する)。制御信号ACSは、エージェント誘導行動AAを表現するエージェントが更新中か否かを示す信号であり、0の場合には更新していないので新たな更新可能であり、1の場合には現在更新中のため新たな更新不可である。
エージェントを更新可能(制御信号ACS=0)の場合、エージェント誘導行動制御部17では、エージェントを更新するために、制御信号ACSを1に変更する。さらに、エージェント心的状態制御部16では、エージェント誘導行動AAのAAFPの値に従って表情描画モデルAFPCを生成するとともにAATPの値に従って発話モデルATPCを生成する。表情描画モデルAFPCは表情描画モデルSFPCと同様のデータ構成であり、発話モデルATPCは発話モデルSTPCと同様のデータ構成である。さらに、エージェント誘導行動制御部17では、エージェントを更新することを知らせるために制御信号ACS=1をマルチメディア装置7に送信し、表情描画モデルAFPCと発話モデルATPCをマルチメディア装置7に送信する。そして、エージェント誘導行動制御部17では、全て送信が完了すると、エージェントを更新可能とし(制御信号ACSを0に変更し)、その制御信号ACSを状態共有判定部14及びマルチメディア装置7に送信する。一方、制御信号ACS=1の場合、エージェント誘導行動制御部17では、エージェントの新たな更新ができないと判断し、次のエージェント誘導行動AAを受信待ちする。
マルチメディア装置7は、ECU(図示せず)の他にディスプレイ(図示せず)やスピーカ(図示せず)等を備えており、運転行動誘導装置1のエージェントの呈示手段としても機能する。マルチメディア装置7のECUでは、エージェント心的状態制御部16からの制御信号SCSとエージェント誘導行動制御部17からの制御信号ACSを順次受信し、2つの制御信号SCS,ACSに基づいて出現させるエージェントの状態を判断する。制御信号SCS=0かつ制御信号ACS=0の場合(中立状態の場合)、ECUでは、描画モデルDFPCに表情描画モデルの初期値SFPCiniを設定し、発話モデルDTPCに発話モデルの初期値STPCiniを設定する。制御信号SCS=1かつ制御信号ACS=0の場合(エージェントの心的状態ASを表現する場合)、ECUでは、エージェント心的状態制御部16からの表情描画モデルSFPC及び発話モデルSTPCを受信し、描画モデルDFPCに表情描画モデルSFPCを設定し、発話モデルDTPCに発話モデルSTPCを設定する。制御信号SCS=0かつ制御信号ACS=1の場合(エージェントの誘導行動AAを表現する場合)、ECUでは、エージェント誘導行動制御部17からの表情描画モデルAFPC及び発話モデルATPCを受信し、描画モデルDFPCに表情描画モデルAFPCを設定し、発話モデルDTPCに発話モデルATPCを設定する。描画モデルDFPCは、エージェントの表示状態を示す2次元または3次元の座標データ群及び色情報である。発話モデルDTPCは、エージェントの発話状態を表すテキスト情報とその音声データである。なお、制御信号SCS=1かつ制御信号ACS=1の場合、運転行動誘導装置1のECU6が異常なので、マルチメディア装置7では、エージェントを出現させないかあるいは中立状態のエージェントを出現させる。
そして、ECUでは、描画モデルDFPCが更新する毎に、更新した描画モデルDFPCに応じてコンピュータグラフィックスによる描画データを生成し、その描画データをディスプレイに送信する。ディスプレイでは、その描画データに従って画面表示する。また、ECUでは、発話モデルDTPCが更新する毎に、更新した発話モデルDTPCに応じて音声信号を生成し、その音声信号をスピーカに送信する。スピーカでは、音声信号に従って音声出力する。
ちなみに、運転行動誘導装置1では、運転者自身やエージェントに直接責任が帰属しない外的環境(渋滞等)によって運転者が心的な不快状態に陥った際に、エージェントが運転者と同様の不快な状態を表現することによって、両者間に対等な共感状態が構築される。そのため、運転者はエージェントが意見する行為を受け入れ易くなり、エージェントによる誘導効果が高まる。
図1を参照して、運転行動誘導装置1における動作を説明する。特に、ECU6における状態共有判定部14における処理について図5のフローチャートに沿って説明し、エージェント心的状態制御部16における処理については図6のフローチャートに沿って説明し、エージェント誘導行動制御部17における処理については図7のフローチャートに沿って説明する。図5は、図1の状態共有判定部での処理の流れを示すフローチャートである。図6は、図1のエージェント心的状態制御部での処理の流れを示すフローチャートである。図7は、図1のエージェント誘導行動制御部での処理の流れを示すフローチャートである。
アクセルセンサ2では、アクセルペダルの操作量を検出し、その検出結果をアクセル信号CSとしてECU6に送信する。ブレーキセンサ3では、ブレーキペダルの操作量を検出し、その検出結果をブレーキ信号BSとしてECU6に送信する。これにより、運転行動誘導装置1では、運転者の置かれている状況(走行状況)を検出するために、自動車からの情報を取得する。
ECU6の走行状況判定部10では、アクセル信号CSとブレーキ信号BSを一定時間毎に受信する。そして、ECU6では、アクセル信号CSからアクセル操作に関する特徴量AC(t)、ACTV(t)、ACCT(t)、ACST(t)を求める。また、走行状況判定部10では、ブレーキ信号BSからブレーキ操作に関する特徴量BR(t)、BRTV(t)、BRCT(t)、BRST(t)を求める。そして、走行状況判定部10では、この特徴量AC(t)、ACTV(t)、ACCT(t)、ACST(t)、BR(t)、BRTV(t)、BRCT(t)、BRST(t)を参照キーとして交通シーンデータベース11を参照し、交通シーンTSi(t)を取得する。さらに、走行状況判定部10では、交通シーンTSi(t)を用いて式(1)を計算し、走行状況RTS(t)を決定し、その決定した走行状況RTS(t)を状態共有判定部14に送信する。これにより、ECU6では、運転者の置かれている状況として渋滞や長時間走行等の走行状況を取得する。
心拍センサ4では、運転者の心拍数を検出し、その検出結果を心拍信号HSとしてECU6に送信する。画像センサ5では、運転者の顔の向きと視線方向を検出し、その検出結果を画像信号DSとしてECU6に送信する。これにより、運転行動誘導装置1では、運転者の心理的状況を検出するために、運転者から得られる情報を取得する。
ECU6の運転者心的状態判定部12では、心拍信号HSと画像信号DSを一定時間毎に受信する。そして、運転者心的状態判定部12では、心拍信号HSから心拍に関する特徴量HR(t)、VHR(t)を求める。また、運転者心的状態判定部12では、画像信号DSから顔の方向と視線方向に関する特徴量FD(t)、GD(t)、VFD(t)、VGD(t)を求める。そして、運転者心的状態判定部12では、この特徴量HR(t)、VHR(t)、FD(t)、GD(t)、VFD(t)、VGD(t)を参照キーして運転者状態データベース13を参照し、運転者状態変数DSi(t)を取得する。さらに、運転者心的状態判定部12では、運転者状態変数DSi(t)を用いて式(2)を計算し、運転者の心的状態DDS(t)を求め、その心的状態DDS(t)を状態共有判定部14に送信する。これにより、ECU6では、運転者の心理的状況として不快の度合いを取得する。
図5に沿って、ECU6の状態共有判定部14での処理の流れを説明する。状態共有判定部14では、一定時間毎に、走行状況RTS(t)及び運転者の心的状態DDS(t)を取得する(S10)。そして、状態共有判定部14では、走行状況RTS(t)がイベント条件ECTSを満たしているか(すなわち、交通シーンが渋滞又は長時間走行か)かつ今回の走行状況RTS(t)が前時刻での走行状況RTS(t−1)と同一か(すなわち、走行状況が変わっていないか)否かを判定する(S11)。走行状況RTS(t)がイベント条件ECTSを満たしていないかあるいは今回の走行状況RTS(t)が前時刻での走行状況RTS(t−1)と同一でない場合、状態共有判定部14では、継続時間ETTS(t)をリセットし、次の走行状況RTS(t+1)及び運転者の心的状態DDS(t+1)を受信待ちする(S12)。
走行状況RTS(t)がイベント条件ECTSを満たしかつ今回の走行状況RTS(t)が前時刻での走行状況RTS(t−1)と同一の場合、状態共有判定部14では、継続時間(t)に1を加算する(S13)。そして、状態共有判定部14では、運転者に対してエージェントによる支援が不要か否かを判断するために、継続時間(t)=0または心的状態DDS(t)=0か否かを判定する(S14)。継続時間(t)=0または心的状態DDS(t)=0の場合、処理を軽減するために、状態共有判定部14では、処理を中断し、次の走行状況RTS(t+1)及び運転者の心的状態DDS(t+1)を受信待ちする。
継続時間(t)=0または心的状態DDS(t)=0でない場合、状態共有判定部14では、エージェントが更新可能か否かを判断するために、フラグFAS=0か否かを判定する(S15)。フラグFAS=1の場合、エージェントを更新できないので、状態共有判定部14では、処理を中断し、次の走行状況RTS(t+1)及び運転者の心的状態DDS(t+1)を受信待ちする。
フラグFAS=0の場合、状態共有判定部14では、走行状況RTS(t)をデータテーブル選択の参照キーとし、心的状態DDS(t)及び継続時間ETTS(t)の組み合せをデータテーブル内の参照キーとしてエージェント挙動パターンデータベース15を参照し、エージェントの心的状態AS及びエージェント誘導行動AAを取得する(S16)。そして、状態共有判定部14では、エージェントの心的状態ASが初期状態と異なるか否かを判定する(S17)。エージェントの心的状態ASが初期状態の場合、エージェントを更新する必要はないので、状態共有判定部14では、処理を中断し、次の走行状況RTS(t+1)及び運転者の心的状態DDS(t+1)を受信待ちする。
エージェントの心的状態ASが初期状態と異なる場合、これからエージェントを更新するので、状態共有判定部14では、更新中におけるエージェントを更新不可とするために、フラグFASを1に変更する(S18)。最初にエージェントの心的状態ASで表現されるエージェントに更新するために、状態共有判定部14では、エージェント心的状態制御部16にエージェントの心的状態ASを送信する(S19)。送信後、状態共有判定部14では、エージェント心的状態制御部16からの制御信号SCS=0を受信したか否かを判定し、受信するまで待ち状態となる(S20)。つまり、エージェントの心的状態ASで表現されるエージェントに更新されるまで待ち、更新後に、エージェント誘導行動AAで表現されるエージェントに更新する。
制御信号SCS=0を受信した場合、次にエージェント誘導行動AAで表現されるエージェントに更新するために、状態共有判定部14では、エージェント誘導行動制御部17にエージェント誘導行動AAを送信する(S21)。送信後、状態共有判定部14では、エージェント誘導行動制御部17からの制御信号ACS=0を受信したか否かを判定し、受信するまで待ち状態となる(S22)。つまり、エージェント誘導行動AAで表現されるエージェントに更新されるまで待つ。
制御信号ACS=0を受信した場合、エージェントの更新が全て完了したので、状態共有判定部14では、エージェントを更新可能とするために、フラグFASを0に変更する(S23)。最後に、状態共有判定部14では、エージェントの心的状態ASを初期状態に変更し(S24)、処理を終了する。ここでは、ECU6は、運転者に対してエージェントによる支援が必要と判断した場合、まず、運転者の不快状態に共感するエージェントを出現させ、次に、そのエージェントにより運転者の行動を誘導させる。
図6に沿って、ECU6のエージェント心的状態制御部16での処理の流れを説明する。エージェント心的状態制御部16では、状態共有判定部14からエージェントの心的状態ASを受信したか否かを判定する(S30)。エージェントの心的状態ASを受信していない場合、エージェント心的状態制御部16では、制御信号SCS=0か否かを判定する(S31)。制御信号SCS=1の場合、エージェント心的状態制御部16では、処理を中断し、次のエージェントの心的状態ASを受信待ちする。制御信号SCS=0の場合、エージェント心的状態制御部16では、マルチメディア装置7に表情描画モデル初期値SFPCiniと発話モデル初期値STPCini及び制御信号SCSを送信する(S32)。したがって、運転者に対してエージェントによる支援が必要ない場合、マルチメディア装置7では、無表情のエージェントをディスプレイに表示し、発話もさせない。
一方、エージェントの心的状態ASを受信した場合、エージェント心的状態制御部16では、エージェントを更新可能か否かを判断するために、制御信号SCS=0か否かを判定する(S33)。制御信号SCS=1の場合、エージェントを更新できないので、エージェント心的状態制御部16では、処理を中断し、次のエージェントの心的状態ASを受信待ちする。制御信号SCS=0の場合、これからエージェントを更新するので、エージェント心的状態制御部16では、更新中におけるエージェントを更新不可とするために、制御信号SCSを1に変更する(S34)。そして、エージェント心的状態制御部16では、受信したエージェントの心的状態ASのASFPに従って表情描画モデルSFPCを更新し、ASTPに従って発話モデルSTPCを更新する(S35)。続いて、エージェント心的状態制御部16では、これからエージェントを更新することを知らせるために、マルチメディア装置7に制御信号SCS=1を送信する(S36)。さらに、エージェント心的状態制御部16では、マルチメディア装置7に表情描画モデルSFPC及び発話モデルSTPCの送信を開始する(S37)。そして、エージェント心的状態制御部16では、送信が完了したか否かを判定し、送信が完了するまで待ち状態となる(S38)。この際、マルチメディア装置7では、運転者の心理状態に共感するような表情をしたエージェントをディスプレイに表示し、運転者の心理状態になったよう発話内容をスピーカから出力する。これにより、運転者とエージェントとの間に対等な共感状態が構築され、両者間の社会的関係性が創出され、運転者がエージェントの行動を肯定的に受け入れ易い状況となる。
送信が完了すると、エージェントの更新が完了したので、エージェント心的状態制御部16では、エージェントを更新可能とするために、制御信号SCSを0に変更する(S39)。そして、エージェント心的状態制御部16では、エージェントの更新が完了したことを知らせるために、マルチメディア装置7及び状態共有判定部14に制御信号SCS=0を送信する(S40)。
図7に沿って、ECU6のエージェント誘導行動制御部17での処理の流れを説明する。エージェント誘導行動制御部17では、状態共有判定部14からエージェント誘導行動AAを受信したか否かを判定する(S50)。エージェント誘導行動AAを受信していない場合、エージェント誘導行動制御部17では、処理を中断し、次のエージェント誘導行動AAを受信待ちする。
一方、エージェント誘導行動AAを受信した場合、エージェント誘導行動制御部17では、エージェントを更新可能か否かを判断するために、制御信号ACS=0か否かを判定する(S51)。制御信号ACS=1の場合、エージェントを更新できないので、エージェント誘導行動制御部17では、処理を中断し、次のエージェント誘導行動AAを受信待ちする。一方、制御信号ACS=0の場合、これからエージェントを更新するので、エージェント誘導行動制御部17では、更新中におけるエージェントを更新不可とするために、制御信号ACSを1に変更する(S52)。そして、エージェント誘導行動制御部17では、受信したエージェント誘導行動AAのAAFPに従って表情描画モデルAFPCを更新し、AATPに従って発話モデルATPCを更新する(S53)。続いて、エージェント誘導行動制御部17では、これからエージェントを更新することを知らせるために、マルチメディア装置7に制御信号ACS=1を送信する(S54)。さらに、エージェント誘導行動制御部17では、マルチメディア装置7に表情描画モデルAFPC及び発話モデルATPCの送信を開始する(S55)。そして、エージェント誘導行動制御部17では、送信が完了したか否かを判定し、送信が完了するまで待ち状態となる(S56)。この際、マルチメディア装置7では、運転者の心理状態に共感するような表情をしたエージェントをディスプレイに表示し、運転者に安全運転するように行動を誘導する発話をスピーカから出力する。運転者はエージェントの行動を肯定的に受け入れ易い状況となっているので、運転者はエージェントの発する行動に従った行動を実行する可能性が高い。
送信が完了すると、エージェントの更新が完了したので、エージェント誘導行動制御部17では、エージェントを更新可能とするために、制御信号ACSを0に変更する(S57)。そして、エージェント誘導行動制御部17では、エージェントの更新が完了したことを知らせるために、マルチメディア装置7及び状態共有判定部14に制御信号ACS=0を送信する(S58)。
この運転行動誘導装置1によれば、渋滞や長時間走行によって運転者が不快を感じる状態になっても、エージェントがその不快状態に同調するような態度をとることにより、運転者がエージェントの意見を受け入れやすい状況を構築し、エージェントが運転者に対して影響力のあるコミュニケーションを行うことが可能となる。その結果、この運転行動誘導装置1では、エージェントによる行動誘導により運転者に不快状態を解消するような行動を取らせることができ、安全運転を行わせることができる。また、運動行動誘導装置1では、運転者の心理状態を判定するために運転者自体の心理的状況に走行状況とその継続時間も加味しているので、運転者が不快に感じているか否かを高精度に判定することができる。
次に、図8〜図11を参照して、第2の実施の形態に係る運転行動誘導装置21の構成について説明する。図8は、第2の実施の形態に係る運転行動誘導装置の構成図である。図9は、図8の誘導行動データベースのデータテーブルの一例である。図10は、図8の警告エージェント1挙動パターンデータベースのデータテーブルの一例である。図11は、図8の助言エージェント2挙動パターンデータベースのデータテーブルの一例である。なお、第2の実施の形態では、第1の実施の形態に係る運転行動誘導装置1と同様の構成については同一の符号を付し、その説明を省略する。
運転行動誘導装置21では、ディスプレイでの表示出力とスピーカからの音声出力により警告エージェント1と助言エージェント2の2体のエージェントを出現させ、その2対のエージェント間で対立するコミュニケーションを行わせる。運転行動誘導装置21では、運転者の心理状態を判定し、運転者が不快を感じていると判定した場合、まず、警告エージェント1が運転者に対して否定的な警告を発し、助言エージェント2が警告エージェント1に対立する形で運転者の置かれている状況に共感することによって運転者が助言エージェント2の意見に対して肯定的な状況を生じさせ、助言エージェント2により運転者が安全運転するような行動に誘導する。そのために、運転行動誘導装置21は、アクセルセンサ2、ブレーキセンサ3、心拍センサ4、画像センサ25及びECU26を備えており、ECU26に走行状況判定部10、交通シーンデータベース11、運転者状態判定部30、誘導行動判定部31、誘導行動データベース32、警告エージェント1誘導行動制御部33、警告エージェント1挙動パターンデータベース34、状態共有判定部35、助言エージェント2挙動パターンデータベース36、助言エージェント2同調行動制御部37、助言エージェント2誘導行動制御部38が構成される。また、運転行動誘導装置21では、エージェントの呈示手段としてマルチメディア装置27を利用する。
なお、第2の実施の形態では、運転者状態判定部30が特許請求の範囲に記載する心理検出手段に相当し、走行状況判定部10が特許請求の範囲に記載する状況検出手段に相当し、誘導行動判定部31が特許請求の範囲に記載する心理状態判定手段に相当する。
画像センサ25は、カメラと画像処理装置からなり、運転者の状態を検出するセンサである。画像センサ25では、カメラで運転者の顔を撮像し、画像処理装置によりその撮像画像から瞳を認識し、瞳孔径を計測する。そして、画像センサ25では、その検出した瞳孔径を画像信号DSとしてECU26に送信する。ちなみに、瞳孔径からまばたきを検出でき、まばたきの回数に基づいて目の疲労度(覚醒度)を検出する。
ECU26は、CPU、ROM、RAM等からなり、運転行動誘導装置21の電子制御ユニットである。ECU26では、各種センサ2,3,4,25から各種センサ信号CS,BS,HS,DSを取り入れ、その各種検出値に基づいて運転者の心理状態を判定する。そして、ECU26では、心理状態が不快を感じる状態にあると判定した場合には警告エージェント1により運転者に敵対するとともに助言エージェント2により運転者の行動を誘導するために、マルチメディア装置27に表情描画モデル及び発話モデルを送信する。
運転者状態判定部30では、心拍センサ4からの心拍信号HS及び画像センサ25からの画像信号DSを一定時間毎に取り入れ、心拍信号HSと画像信号DSに基づいて運転者状態を示すフラグFHR,FEBを判定し、運転者状態のフラグFHR,FEBを誘導行動判定部31に一定時間毎に送信する。
具体的には、運転者状態判定部30では、ある時刻tに送信された心拍信号HSによる心拍数HR(t)と基準数SHRとを比較し、心拍数HR(t)が基準数SHR以上の場合にはフラグFHRを0に設定し、心拍数HR(t)が基準数SHR未満の場合にはフラグFHRを1に設定する。また、運転者状態判定部30では、ある時間tに送信された画像信号DSから瞳孔径GD(t)を保持し、その時間微分値VGD(t)を算出する。そして、運転者状態判定部30では、時間微分値VGD(t)と基準値SGDとを比較し、時間微分値VGD(t)が基準値SGDを超えた瞬間(すなわち、|VGD(t)|≦SGDから|VGD(t)|>SGDとなった時点)を瞬目(まばたき)と判断し、現時点から1分前までの瞬目数EB(t)を更新する。そして、運転者状態判定部30では、瞬目数EB(t)と基準数SEBとを比較し、瞬目数EB(t)が基準数SEB以下の場合にはフラグFEBを0に設定し、瞬目数EB(t)が基準数SEBを超えるの場合にはフラグFEBを1に設定する。ちなみに、目が疲労した場合(つまり、覚醒度が低下の兆候が現れる場合)には、まばたきの回数が増加する。
誘導行動判定部31では、走行状況判定部10からの走行状況RTS(t)及び運転者状態判定部30からの運転者状態のフラグFHR,FEBを一定時間毎に取り入れ、走行状況RTS(t)とその継続時間ETTS(t)及びフラグFHR,FEBに基づいて運転者の心理状態が不快を感じる状態か(すなわち、エージェントによる行動誘導による支援が必要か否か)を判定する。そして、誘導行動判定部31では、運転者が不快と感じていると判定した場合、誘導の種別を決定し、警告エージェント1誘導行動制御部33及び状態共有判定部35に誘導行動RVを送信する。
具体的には、誘導行動判定部31では、第1の実施の形態に係る状態共有判定部14と同様の処理により、走行状況RTS(t)に基づいてイベント継続時間ETTS(t)を設定する。さらに、誘導行動判定部31では、運転者の状況がエージェントの支援を不要か(運転者の心理状態が不快と感じていない状態か)を判断するために、渋滞又は長時間走行が継続していないか(イベント継続時間ETTS(t)=0)または運転者が不快と感じていないか(フラグFHR=0またはフラグFEB=0)を満たすか否かを判定する。この条件を満たす場合、誘導行動判定部31では、エージェントによる支援が必要ないと判断し、エージェントの誘導行動RVを初期状態とし、処理を中断する。一方、この条件を満たさない場合、誘導行動判定部31では、エージェントによる支援が必要(運転者の心理状態が不快と感じる状態)と判断し、エージェントの誘導行動RVを更新する。
エージェントの誘導行動RVを更新する場合、誘導行動判定部31では、走行状況RTS(t)をデータテーブル選択の参照キーとし、運転者状態のフラグFHR,FEB及び継続時間ETTS(t)の組み合せをデータテーブル内の参照キーとして誘導行動データベース32を参照し、返り値として誘導行動RVが与えられる(図9参照)。誘導行動判定部31では、今回更新する誘導行動RVをLA(t)に設定する。そして、誘導行動判定部31では、エージェントの更新が必要か否かを判断するために、今回の誘導行動LA(t)がNULLでないかつ今回の誘導行動LA(t)が前時刻での誘導行動LA(t−1)と同一でないか否かを判定し、この判定条件を満たす場合には更新した誘導行動RVを警告エージェント1誘導行動制御部33及び状態共有判定部35に送信し、この判定条件を満たさない場合にはエージェントの更新は不要なので処理を完了する。
誘導行動データベース32は、図9に示すように、走行状況(渋滞、長時間走行、・・・)毎のデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各データテーブルは、運転者状態のフラグFHR,FEBと走行状況の継続時間ETTSの組み合せに対してエージェントの誘導行動RVが記述されている。ETTSの値が大きくなるほど、運転者の不快の度合いが増すので、誘導行動も不快の度合いに応じた行動となる。また、フラグFHR,FEBが1の場合、運転者が不快に感じている可能性があるので、誘導行動を行う必要性が増す。なお、エージェントによる誘導行動を行う必要がないかあるいは必要性がまだ低い場合、誘導行動RVをNULLとする。
警告エージェント1誘導行動制御部33では、誘導行動判定部31から誘導行動RVが送信された場合、その誘導行動RVに応じた警告エージェント1を出現させるために表情描画モデルA1GPと発話モデルA1TPをマルチメディア装置27に送信する。
具体的には、誘導行動RVを送信された場合、警告エージェント1誘導行動制御部33では、警告エージェント1を更新するために、制御信号A1CS=0ときには1に変更する。制御信号A1CSは、警告エージェント1が更新中か否かを示す信号であり、0の場合には更新していないので新たな更新可能であり、1の場合には現在更新中のため新たな更新不可である。続いて、警告エージェント1誘導行動制御部33では、走行状況RTS(t)をデータテーブル選択の参照キーとし、誘導行動RVを各データテーブル内の参照キーとして警告エージェント1挙動パターンデータベース34を参照し、返り値として警告エージェント1行動シナリオA1ASが与えられる(図10参照)。警告エージェント1行動シナリオA1ASは、警告エージェント1が取る行動を記述したデータセットであり、警告エージェント1行動パターンA1AP、警告エージェント1の表情描画モデルA1GP及び発話モデルA1TPからなる。表情描画モデルA1GP及び発話モデルA1TPは、第1の実施の形態に係る表情描画モデルや発話モデルと同様のデータ構成からなるデータである。さらに、警告エージェント1誘導行動制御部33では、警告エージェント1を更新することを知らせるために制御信号ACS=1をマルチメディア装置27に送信し、表情描画モデルA1GPと発話モデルA1TPをマルチメディア装置27に送信する。そして、警告エージェント1誘導行動制御部33では、全て送信が完了すると、警告エージェント1を更新可能とし(制御信号ACSを0に変更し)、警告エージェント1行動パターンA1APを状態共有判定部35に送信する。
警告エージェント1挙動パターンデータベース34は、図10に示すように、走行状況(渋滞、長時間走行、・・・)毎のデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各データテーブルは、誘導行動RVに対して警告エージェント1行動シナリオA1AS=[A1AP、A1GP、A1TP]が記述されている。A1APは、0以上の離散値であり、運転者に敵対する警告エージェント1での各行動パターンを示す。A1GPは、運転者に敵対するような感情パターンの顔面の表情を表現するためのデータからなり、感情パターンとしては7種類[中立、喜び、驚き、悲しみ、恐れ、嫌悪、怒り]の組み合せた形で選択される。顔面の動きについては、第1の実施の形態と同様である。A1TPは、運転者の運転を否定するような発話内容のテキストからなり、例えば、長時間走行の場合には「運転が散漫になっています」や「危ない運転をする人ですね」である。
状態共有判定部35では、警告エージェント1誘導行動制御部33からの警告エージェント1行動パターンA1APを受信すると、誘導行動判定部31からの誘導行動RVと警告エージェント1行動パターンA1APに基づいて誘導の種別を決定し、最初に助言エージェント2同調行動制御部37に警告エージェント1の行動を否定するための助言エージェント2同調行動シナリオA2Sを送信し、次に助言エージェント2誘導行動制御部38に運転者の行動を誘導するための助言エージェント2誘導行動シナリオA2ASを送信する。
具体的には、状態共有判定部35では、助言エージェント2を更新可能(フラグFA2が0)のときには、走行状況RTS(t)をデータテーブル選択の参照キーとし、誘導行動RV及び警告エージェント1行動パターンA1APの組み合せをデータテーブル内の参照キーとして助言エージェント2挙動パターンデータベース36を参照し、返り値として助言エージェント2同調行動シナリオA2S=[A2SBLC、A2SEM、A2SGP、A2STP]及び助言エージェント2誘導行動シナリオA2AS=[A2GP、A2TP]が与えられる(図11参照)。一方、状態共有判定部35では、助言エージェント2が更新不可(フラグFA2が1)のときには、既に更新中なので処理を中断する。フラグFA2は、エージェントを更新中か否か示すフラグであり、0の場合には更新していないので新たな更新が可能であり、1の場合には現在更新中のため新たな更新不可である。
助言エージェント2同調行動シナリオA2Sは、警告エージェント1の行動(特に、発話内容)を受けて、警告エージェント1の行動を否定することにより助言エージェント2による運転者の心理状態に共感(同調)する行動を示す。助言エージェント2誘導行動シナリオA2ASは、運転者の心理状態が不快と感じている場合に運転者に安全運転の促すための行動を誘導するための助言エージェント2の行動を示す。A2SBLC、A2SEM、A2SGP、A2STP、A2GP、A2TPは、第1の実施の形態に係るエージェント挙動パターンデータベース15におけるASBLC、ASEM、ASFP、ASTP、AAFP、AATPと同様のデータである。なお、助言エージェント2では警告エージェント1に対して敵対した態度をとるので、A2STPは、警告エージェント1を否定するような発話内容であり、例えば、「うるさいな、静かにしていろ」や「失礼なことを言う奴だな」である。A2TPは、運転者に行動を促す発話内容であり、例えば、「静かになったところで、音楽でも聴きましょう」や「気を取り直して、音楽でも聴きましょう」である。
助言エージェント2同調行動シナリオA2Sの初期状態=[A2SBLC=0、A2SEM=中立、A2SGP=NULL、A2STP=NULL]である。そこで、状態共有判定部35では、返り値である助言エージェント2同調行動シナリオA2Sが初期状態の場合、助言エージェント2の状態を変化させる必要がないので、フラグFA2を0のままで処理を中断する。また、状態共有判定部35では、返り値である助言エージェント2同調行動シナリオA2Sが初期状態と異なる場合、エージェントの状態を変化させる必要があるので、フラグFA2を1に変更し、助言エージェント2同調行動シナリオA2Sを助言エージェント2同調行動制御部37に送信する。助言エージェント2同調行動制御部37での処理が完了すると(制御信号SCS=0を受信すると)、状態共有判定部35では、助言エージェント2同調行動シナリオA2Sで表現される助言エージェント2を出現させたと判断し、助言エージェント2誘導行動シナリオA2ASを助言エージェント2誘導行動制御部38に送信する。助言エージェント2誘導行動制御部38での処理が完了すると(制御信号ACS=0を受信すると)、状態共有判定部35では、助言エージェント2誘導行動シナリオA2ASで表現される助言エージェント2を出現させたと判断し、助言エージェント2を更新可能とし(フラグFA2を1に変更し)、助言エージェント2同調行動シナリオA2Sを初期状態に戻す。
助言エージェント2挙動パターンデータベース36は、図11に示すように、走行状況(渋滞、長時間走行、・・・)毎のデータテーブルによって構成されており、事前に学習によって得られたデータテーブルがROMに記憶されている。各データテーブルは、誘導行動RVと警告エージェント1行動パターンA1APの組み合せに対して助言エージェント2同調行動シナリオA2Sと助言エージェント2誘導行動シナリオA2ASがそれぞれ記述されている。
助言エージェント2同調行動制御部37では、状態共有判定部35から助言エージェント2同調行動シナリオA2Sが送信された場合、その助言エージェント2同調行動シナリオA2Sに応じた助言エージェント2を出現させるために表情描画モデルSFPCと発話モデルSTPCをマルチメディア装置27に送信する。助言エージェント2同調行動制御部37は、第1の実施の形態に係るエージェント心的状態制御部16と同様の機能を有する制御部であるので、その詳細な説明を省略する。
助言エージェント2誘導行動制御部38では、状態共有判定部35から助言エージェント2誘導行動シナリオA2ASが送信された場合、その助言エージェント2誘導行動シナリオA2ASに応じたエージェントを出現させるために表情描画モデルAFPCと発話モデルATPCをマルチメディア装置27に送信する。助言エージェント2誘導行動制御部38は、第1の実施の形態に係るエージェント誘導行動制御部17と同様の機能を有する制御部であるので、その詳細な説明を省略する。
マルチメディア装置27は、第1の実施の形態のマルチメディア装置7と同様の処理を行うが、警告エージェント1誘導行動制御部33による制御により警告エージェント1を出現させ、助言エージェント2同調行動制御部37及び助言エージェント2誘導行動制御部38による制御により助言エージェント2を出現させる。マルチメディア装置27のECUでは、警告エージェント1誘導行動制御部33からの表情描画モデルA1GP及び発話モデルA1TPを受信すると、描画モデルD1GPCに表情描画モデルA1GPを設定し、発話モデルD1TPCに発話モデルA1TPを設定する。また、ECUでは、助言エージェント2同調行動制御部37からの制御信号SCS及び助言エージェント2誘導行動制御部38からの制御信号ACSを順次受信し、2つの制御信号SCS,ACSに基づいて出現させる助言エージェント2の状態を判断する。制御信号SCS=0かつ制御信号ACS=0の場合(中立状態の場合)、ECUでは、描画モデルD2GPCに表情描画モデルの初期値SFPCiniを設定し、発話モデルD2TPCに発話モデルの初期値STPCiniを設定する。制御信号SCS=1かつ制御信号ACS=0の場合(助言エージェント2の同調行動シナリオA2Sを表現する場合)、ECUでは、助言エージェント2同調行動制御部37からの表情描画モデルSFPC及び発話モデルSTPCを受信し、描画モデルD2GPCに表情描画モデルSFPCを設定し、発話モデルD2TPCに発話モデルSTPCを設定する。制御信号SCS=0かつ制御信号ACS=1の場合(助言エージェント2の誘導行動シナリオA2ASを表現する場合)、ECUでは、助言エージェント2誘導行動制御部38からの表情描画モデルAFPC及び発話モデルATPCを受信し、描画モデルD2GPCに表情描画モデルAFPCを設定し、発話モデルD2TPCに発話モデルATPCを設定する。
そして、ECUでは、描画モデルD1GPC又は描画モデルD2GPCが更新する毎に、更新した描画モデルD1GPCに又はは描画モデルD2GPC応じてコンピュータグラフィックスによる描画データを生成し、その描画データをディスプレイに送信する。また、ECUでは、発話モデルD1TPC又は発話モデルD2TPCが更新する毎に、更新した発話モデルD1TPC又は発話モデルD1TPCに応じて音声信号を生成し、その音声信号をスピーカに送信する。なお、ディスプレイでは、画面を2分割して警告エージェント1と助言エージェント2を同時に出現させてもよいし、あるいは、画面を分割せずに、警告エージェント1と助言エージェント2とを順次出現させてもよい。
ちなみに、運転行動誘導装置21では、運転者自身やエージェントに直接責任が帰属しない外的環境(渋滞等)によって運転者が心的な不快状態に陥った際に、警告エージェント1が運転者に対して否定的な警告を発した後に、助言エージェント2が警告エージェント1に対立して形で肯定的な態度をとることによって、運転者と助言エージェント2との間に強い共感状態が構築される。そのため、運転者は、助言エージェント2が主張する行為を受け入れ易くなる。つまり、敵対する警告エージェント1も介在させることにより、助言エージェント2による誘導効果が更に高まるという結果を利用している。
図8を参照して、運転行動誘導装置21における動作を説明する。特に、ECU26における誘導行動判定部31における処理については図12のフローチャートに沿って説明し、警告エージェント1誘導行動制御部33における処理については図13のフローチャートに沿って説明し、状態共有判定部35における処理について図14のフローチャートに沿って説明し、助言エージェント2同調行動制御部37における処理については図15のフローチャートに沿って説明し、助言エージェント2誘導行動制御部38における処理については図16のフローチャートに沿って説明する。図12は、図8の誘導行動判定部での処理の流れを示すフローチャートである。図13は、図8の警告エージェント1誘導行動制御部での処理の流れを示すフローチャートである。図14は、図8の状態共有判定部での処理の流れを示すフローチャートである。図15は、図8の助言エージェント2同調行動制御部での処理の流れを示すフローチャートである。図16は、図8の助言エージェント2誘導行動制御部での処理の流れを示すフローチャートである。
アクセルセンサ2、ブレーキセンサ3、心拍センサ4及びECU26の走行状況判定部10における処理について、第1の実施の形態に係る運転行動誘導装置1における動作と同様の動作なので、その説明を省略する。なお、走行状況判定部10では、走行状況RTS(t)を誘導行動判定部31に送信する。
画像センサ25では、運転者の瞳孔径を検出し、その検出結果を画像信号DSとしてECU26に送信する。ECU26の運転者状態判定部30では、心拍信号HSと画像信号DSを一定時間毎に受信する。そして、運転者状態判定部30では、心拍信号HSによる心拍数HR(t)が基準数SHR未満か否かを判定し、心拍数HR(t)が基準数SHR未満の場合にはフラグFHRを1に設定し、心拍数HR(t)が基準数SHR以上の場合にはフラグFHRを0に設定する。また、運転者状態判定部30では、画像信号DSによる瞳孔径GD(t)から時間微分値VGD(t)を算出する。そして、運転者状態判定部30では、時間微分値VGD(t)が基準値SGDを超えるか否かを判定し、時間微分値VGD(t)が基準値SGDを超える場合にはまばたきをしたと判定し、1分間の瞬目数EB(t)を更新する。さらに、運転者状態判定部30では、瞬目数EB(t)が基準数SEBを超えるか否かを判定し、瞬目数EB(t)が基準数SEBを超える場合にはフラグFEBを1に設定し、瞬目数EB(t)が基準数SEB以下の場合にはフラグFEBを0に設定する。そして、運転者状態判定部30では、運転者状態を示すフラグFHR,FEBを誘導行動判定部31に送信する。これにより、ECU26では、運転者の心理的状況として覚醒度が低下しているか否かの情報を取得する。
図12に沿って、ECU26の誘導行動判定部31での処理の流れを説明する。誘導行動判定部31では、一定時間毎に、走行状況RTS(t)及び運転者状態のフラグFHR,FEBを取得する(S60)。そして、誘導行動判定部31では、走行状況RTS(t)がイベント条件ECTSを満たしているかかつ今回の走行状況RTS(t)が前時刻での走行状況RTS(t−1)と同一か否かを判定する(S61)。この判定条件を満たさない場合、誘導行動判定部31では、継続時間ETTS(t)をリセットし、処理を中断し、次の走行状況RTS(t+1)及び運転者状態のフラグFHR,FEBを受信待ちする(S62)。
走行状況RTS(t)がイベント条件ECTSを満たしかつ今回の走行状況RTS(t)が前時刻での走行状況RTS(t−1)と同一の場合、誘導行動判定部31では、継続時間(t)に1を加算する(S63)。そして、誘導行動判定部31では、運転者に対してエージェントによる支援が不要か否かを判断するために、継続時間(t)=0またはフラグFHR=0またはフラグFEB=0か否かを判定する(S64)。この判定条件を満たす場合、誘導行動判定部31では、処理を中断し、次の走行状況RTS(t+1)及び運転者状態のフラグFHR,FEBを受信待ちする。
継続時間(t)=0またはフラグFHR=0またはフラグFEB=0でない場合、誘導行動判定部31では、走行状況RTS(t)をデータテーブル選択の参照キーとし、フラグFHR,FEB及び継続時間ETTS(t)の組み合せをデータテーブル内の参照キーとして誘導行動データベース32を参照し、誘導行動RV(=LA(t))を取得する(S65)。そして、誘導行動判定部31では、エージェントを変更する必要があるか否か判断するために、LA(t)がNULLでないかつLA(t)が前時刻でのLA(t−1)と同一でないか否かを判定する(S66)。LA(t)がNULLまたは前時刻のLA(t−1)と同一の場合、エージェントを変更する必要はないので、誘導行動判定部31では、処理を中断し、次の走行状況RTS(t+1)及び運転者状態のフラグFHR,FEBを受信待ちする。一方、LA(t)がNULLでないかつLA(t)が前時刻でのLA(t−1)と同一でない場合、エージェントを変更する必要があるので、誘導行動判定部31では、警告エージェント1誘導行動制御部33及び状態共有判定部35に誘導行動RVを送信する(S67)。ここでは、ECU26は、運転者に対してエージェントによる支援が必要と判断した場合、誘導の種別を決定し、エージェントを出現させるための処理に移行させる。
図13に沿って、警告エージェント1誘導行動制御部33での処理の流れを説明する。警告エージェント1誘導行動制御部33では、誘導行動判定部31から誘導行動RVを受信したか否かを判定し(S70)、誘導行動RVを受信していない場合、処理を中断し、次の誘導行動RVを受信待ちする。
一方、誘導行動RVを受信した場合、これから警告エージェント1を更新するので、警告エージェント1誘導行動制御部33では、更新中における警告エージェント1を更新不可とするために、制御信号A1CSを1に変更する(S71)。そして、警告エージェント1誘導行動制御部33では、走行状況RTS(t)をデータテーブル選択の参照キーとし、誘導行動RVをデータテーブル内の参照キーとして警告エージェント1挙動パターンデータベース34を参照し、警告エージェント1行動シナリオA1ASを取得する(S72)。続いて、警告エージェント1誘導行動制御部33では、マルチメディア装置27に警告エージェント1行動シナリオA1ASにおける表情描画モデルA1GP及び発話モデルA1TPの送信を開始する(S73)。そして、警告エージェント1誘導行動制御部33では、送信が完了したか否かを判定し、送信が完了するまで待ち状態となる(S74)。この際、マルチメディア装置27では、運転者の心理状態を否定するような表情あるいは運転者に敵対するような表情の警告エージェント1をディスプレイに表示し、運転者の心理状態を否定するような発話をスピーカから出力する。これにより、運転者は、警告エージェント1に対して敵対意識が生じする。
送信が完了すると、警告エージェント1の更新が完了したので、警告エージェント1誘導行動制御部33では、警告エージェント1を更新可能とするために、制御信号A1CSを0に変更する(S75)。そして、警告エージェント1誘導行動制御部33では、警告エージェント1の更新が完了したこと及び警告エージェント1で行った行動を知らせるために、状態共有判定部35に警告エージェント1行動シナリオA1ASにおける警告エージェント1行動パターンA1APを送信する(S76)。
図14に沿って、ECU26の状態共有判定部35での処理の流れを説明する。状態共有判定部35では、助言エージェント2が更新可能か否かを判断するために、フラグFA2=0か否かを判定する(S80)。フラグFA2=1の場合、状態共有判定部35では、フラグFA2が0になるまで(すなわち、助言エージェント2の更新が完了するまで)待ち状態となる。
フラグFA2=0の場合、状態共有判定部35では、走行状況RTS(t)をデータテーブル選択の参照キーとし、誘導行動RVと警告エージェント1行動パターンA1APの組み合せをデータテーブル内の参照キーとして助言エージェント2挙動パターンデータベース36を参照し、助言エージェント2同調行動シナリオA2S及び助言エージェント2誘導行動シナリオA2ASを取得する(S81)。そして、状態共有判定部35では、助言エージェント2同調行動シナリオA2Sが初期状態と異なるか否かを判定する(S82)。助言エージェント2同調行動シナリオA2Sが初期状態の場合、助言エージェント2を更新する必要はないので、状態共有判定部35では、処理を中断する。
助言エージェント2同調行動シナリオA2Sが初期状態と異なる場合、これから助言エージェント2を更新するので、状態共有判定部35では、更新中における助言エージェント2を更新不可とするために、フラグFA2を1に変更する(S83)。最初に助言エージェント2同調行動シナリオA2Sで表現される助言エージェント2に更新するために、状態共有判定部35では、助言エージェント2同調行動制御部37に助言エージェント2同調行動シナリオ状態A2Sを送信する(S84)。送信後、状態共有判定部35では、助言エージェント2同調行動制御部37から制御信号SCS=0を受信したか否かを判定し、受信するまで待ち状態となる(S85)。つまり、助言エージェント2同調行動シナリオA2Sで表現される助言エージェント2に更新されるまで待ち、更新後に、助言エージェント2誘導行動シナリオA2ASで表現される助言エージェント2に更新する。
制御信号SCS=0を受信した場合、次に助言エージェント2誘導行動シナリオA2ASで表現される助言エージェント2に更新するために、状態共有判定部35では、助言エージェント2誘導行動制御部38に助言エージェント2誘導行動シナリオA2ASを送信する(S86)。送信後、状態共有判定部35では、助言エージェント2誘導行動制御部38から制御信号ACS=0を受信したか否かを判定し、受信するまで待ち状態となる(S87)。つまり、助言エージェント2誘導行動シナリオA2ASで表現される助言エージェント2に更新されるまで待つ。
制御信号ACS=0を受信した場合、助言エージェント2の更新が完了したので、状態共有判定部35では、助言エージェント2を更新可能とするために、フラグFA2を0に変更する(S88)。最後に、状態共有判定部35では、助言エージェント2同調行動シナリオA2Sを初期状態に変更する(S89)。ここでは、ECU26は、まず、警告エージェント1に対立させて運転者に共感する助言エージェント2を出現させ、次に、その助言エージェント2により運転者の行動を誘導させる。
図15に沿って、ECU26の助言エージェント2同調行動制御部37での処理の流れを説明する。助言エージェント2同調行動制御部37では、状態共有判定部35から助言エージェント2同調行動シナリオA2Sを受信したか否かを判定する(S90)。助言エージェント2同調行動シナリオA2Sを受信していない場合、助言エージェント2同調行動制御部37では、制御信号SCS=0か否かを判定する(S91)。制御信号SCS=1の場合、助言エージェント2同調行動制御部37では、処理を中断し、次の助言エージェント2同調行動シナリオA2Sを受信待ちする。制御信号SCS=0の場合、助言エージェント2同調行動制御部37では、マルチメディア装置27に表情描画モデル初期値SFPCiniと発話モデル初期値STPCini及び制御信号SCSを送信する(S92)。したがって、運転者に対してエージェントによる支援が必要ない場合、マルチメディア装置27では、無表情の助言エージェント2をディスプレイに表示し、発話もさせない。
一方、助言エージェント2同調行動シナリオA2Sを受信した場合、助言エージェント2同調行動制御部37では、助言エージェント2を更新可能か否かを判断するために、制御信号SCS=0か否かを判定する(S93)。制御信号SCS=1の場合、助言エージェント2を更新できないので、助言エージェント2同調行動制御部37では、処理を中断し、次の助言エージェント2同調行動シナリオA2Sを受信待ちする。制御信号SCS=0の場合、これから助言エージェント2を更新するので、助言エージェント2同調行動制御部37では、更新中における助言エージェント2を更新不可とするために、制御信号SCSを1に変更する(S94)。そして、助言エージェント2同調行動制御部37では、受信した助言エージェント2同調行動シナリオA2SのA2SGPに従って表情描画モデルSFPCを更新し、A2STPに従って発話モデルSTPCを更新する(S95)。続いて、助言エージェント2同調行動制御部37では、これから助言エージェント2を更新することを知らせるために、マルチメディア装置27に制御信号SCS=1を送信する(S96)。さらに、助言エージェント2同調行動制御部37では、マルチメディア装置27に表情描画モデルSFPC及び発話モデルSTPCの送信を開始する(S97)。そして、助言エージェント2同調行動制御部37では、送信が完了したか否かを判定し、送信が完了するまで待ち状態となる(S98)。この際、マルチメディア装置27では、運転者の心理状態に共感するような表情あるいは警告エージェント1に敵対するような表情をした助言エージェント2をディスプレイに表示し、警告エージェント1の行動(特に、発話内容)を否定するような発話をスピーカから出力する。これにより、運転者と助言エージェント2との間に対等な共感状態が構築され、両者間の社会的関係性が創出され、運転者が助言エージェント2の行動を肯定的に受け入れやすい状況となる。
送信が完了すると、助言エージェント2の更新が完了したので、助言エージェント2同調行動制御部37では、助言エージェント2を更新可能とするために、制御信号SCSを0に変更する(S99)。そして、助言エージェント2同調行動制御部37では、助言エージェント2の更新が完了したことを知らせるために、マルチメディア装置27及び状態共有判定部35に制御信号SCS=0を送信する(S100)。
図16に沿って、ECU26の助言エージェント2誘導行動制御部38での処理の流れを説明する。助言エージェント2誘導行動制御部38では、状態共有判定部35から助言エージェント2誘導行動シナリオA2ASを受信したか否かを判定する(S110)。助言エージェント2誘導行動シナリオA2ASを受信していない場合、助言エージェント2誘導行動制御部38では、処理を中断し、次の助言エージェント2誘導行動シナリオA2ASを受信待ちする。
一方、助言エージェント2誘導行動シナリオA2ASを受信した場合、助言エージェント2誘導行動制御部38では、助言エージェント2を更新可能か否かを判断するために、制御信号ACS=0か否かを判定する(S111)。制御信号ACS=1の場合、助言エージェントを更新できないので、助言エージェント2誘導行動制御部38では、処理を中断し、次の助言エージェント2誘導行動シナリオA2ASを受信待ちする。制御信号ACS=0の場合、これから助言エージェント2を更新するので、助言エージェント2誘導行動制御部38では、更新中における助言エージェント2を更新不可とするために、制御信号ACSを1に変更する(S112)。そして、助言エージェント2誘導行動制御部38では、受信した助言エージェント2誘導行動シナリオA2ASのA2GPに従って表情描画モデルAFPCを更新し、A2TPに従って発話モデルATPCを更新する(S113)。続いて、助言エージェント2誘導行動制御部38では、これから助言エージェント2を更新することを知らせるために、マルチメディア装置27に制御信号ACS=1を送信する(S114)。さらに、助言エージェント2誘導行動制御部38では、マルチメディア装置27に表情描画モデルAFPC及び発話モデルATPCの送信を開始する(S115)。そして、助言エージェント2誘導行動制御部38では、送信が完了したか否かを判定し、送信が完了するまで待ち状態となる(S116)。この際、マルチメディア装置27では、運転者の心理状態に共感するような表情をした助言エージェント2をディスプレイに表示し、運転者に安全運転するように行動を誘導する発話をスピーカから出力する。運転者は助言エージェント2の行動を肯定的に受け入れやすい状況となっているので、運転者は助言エージェント2の発する行動に従った行動を実行する可能性が高い。
送信が完了すると、助言エージェント2の更新が完了したので、助言エージェント2誘導行動制御部38では、助言エージェント2を更新可能とするために、制御信号ACSを0に変更する(S117)。そして、助言エージェント2誘導行動制御部38では、助言エージェント2の更新が完了したことを知らせるために、マルチメディア装置27及び状態共有判定部35に制御信号ACS=0を送信する(S118)。
この運転行動誘導装置21によれば、第1の実施の形態に係る運転行動誘導装置1と同様の効果を有する上に、運転者に否定的な立場の警告エージェント1を存在させることにより、運転者に肯定的な立場の助言エージェント2の意見をより受け入れやすい状況を構築し、助言エージェント2の運転者に対する影響力も大きくなる。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態では自動車の運転者に対して安全運転をさせるための運転行動誘導装置に適用したが、列車や飛行機等の他の乗り物の運転者に対するエージェント装置、機械操作をする者に対するエージェント装置あるいは教育用のエージェント装置としても適用可能である。
また、本実施の形態ではエージェントが運転者の行動を誘導するコミュニケーションまで行う構成としたが、誘導するコミュニケーションを行わないで、同調するコミュニケーションを行うまでの構成としてもよい。
また、本実施の形態では生体情報検出センサとして心拍センサを適用したが、脈拍数を検出センサや皮膚の電気抵抗を検出するセンサ等の生体情報を検出するための他のセンサを適用してもよい。また、本実施の形態では人の状態検出センサとして画像センサを適用したが、人の身体の状態を検出できるセンサであれば他のセンサでもよい。
また、本実施の形態では走行状況に関する情報を取得するためにアクセルセンサやブレーキセンサを適用したが、渋滞や長時間走行等の運転者が不快な状況を検出できるセンサであれば他のセンサを適用してもよい。
また、第2の実施の形態では警告エージェント1が運転者の運転(行動)を否定するようなコミュニケーションを行い、助言エージェント2が警告エージェント1のコミュニケーションを否定するようなコミュニケーションを行う構成としたが、警告エージェント1が運転者の心理状態を否定するようなコミュニケーションを行い、助言エージェント2が運転者の心理状態に同調するようなコミュニケーションを行う構成としてもよい。
1,21…運転行動誘導装置、2…アクセルセンサ、3…ブレーキセンサ、4…心拍センサ、5,25…画像センサ、6,26…ECU、7,27…マルチメディア装置、10…走行状況判定部、11…交通シーンデータベース、12…運転者心的状態判定部、13…運転者状態データベース、14…状態共有判定部、15…エージェント挙動パターンデータベース、16…エージェント心的状態制御部、17…エージェント誘導行動制御部、30…運転者状態判定部、31…誘導行動判定部、32…誘導行動データベース、33…警告エージェント1誘導行動制御部、34…警告エージェント1挙動パターンデータベース、35…状態共有判定部、36…助言エージェント2挙動パターンデータベース、37…助言エージェント2同調行動制御部、38…助言エージェント2誘導行動制御部