JP4059019B2 - 車載装置、及びデータ作成装置 - Google Patents

車載装置、及びデータ作成装置 Download PDF

Info

Publication number
JP4059019B2
JP4059019B2 JP2002183392A JP2002183392A JP4059019B2 JP 4059019 B2 JP4059019 B2 JP 4059019B2 JP 2002183392 A JP2002183392 A JP 2002183392A JP 2002183392 A JP2002183392 A JP 2002183392A JP 4059019 B2 JP4059019 B2 JP 4059019B2
Authority
JP
Japan
Prior art keywords
scenario
condition
data
scene
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002183392A
Other languages
English (en)
Other versions
JP2004028702A (ja
Inventor
智氣 窪田
和英 足立
孝二 堀
裕昭 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Equos Research Co Ltd
Original Assignee
Equos Research Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Equos Research Co Ltd filed Critical Equos Research Co Ltd
Priority to JP2002183392A priority Critical patent/JP4059019B2/ja
Publication of JP2004028702A publication Critical patent/JP2004028702A/ja
Application granted granted Critical
Publication of JP4059019B2 publication Critical patent/JP4059019B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、車載装置、データ作成装置、及びデータ作成プログラムに係り、例えば、車両の搭乗者とのコミュニケーションにより会話をしたり機器操作等を自律的に行うエージェント機能を備えた車載装置、及びそのデータ作成装置、及びデータ作成プログラムに関する。
【0002】
【従来の技術】
例えば、犬などのペット型のロボットや、車室内においてナビゲーション装置等の機器操作の案内をしたり状況に応じた質問や提案等を行うことで搭乗者との対話や対応をするエージェント装置が開発され、車載装置として車両に搭載されている。
このような車載装置(エージェント装置)では、その装置に対して考えられる種々の状態を想定すると共に、想定した各状態を検出した場合にとるべき対応が、所定のデータやプログラムに従って規定されている。
しかし、従来のエージェント装置では、エージェントが自動で登場するための条件設定はプログラムを作成及び修正することでしか実現できなかったため、プログラムの知識が無いと作成や変更することができず、また、開発に費やす時間や費用も多く必要であった。
そこで、本出願人は、車載装置(エージェント装置)が行う各種処理を、各シーンが連続するシナリオを特定するシナリオデータ(一部プログラムを含む場合がある)によって指示された処理の実行であるととらえ、シナリオデータの形式を規格化することで、プログラムの知識の有無に関係なくシナリオデータを作成することができるデータ作成装置(シナリオエディタ)を提案している。
すなわち、データ作成装置では、キャラクタの表示内容や処理内容を定義した画面要素(シーン)を1画面要素とし、1画面要素から他の画面要素に推移する推移条件と共に複数の画面要素を組み合わせて構成した画面要素推移体(シナリオ)と、その画面要素推移体を実行するための起動条件を、順次選択及び入力することで、作成者は自分の好きな条件で好きなシーン展開をするシナリオデータを容易に作成することができるようになっている。
そして、車載装置では、作成されたシナリオデータを外部から取得して登録し、全ての起動条件に対して条件を満足したか否かを判断し、起動条件を満足したシナリオデータの画面要素推移体を実行するようになっている。
【0003】
【発明が解決しようとする課題】
このように、データ作成装置により、ダウンロード等により取得した第3者作成のシナリオデータやユーザが自分で作成したシナリオデータをエージェント装置に登録してシナリオデータを増やすことが可能になった。
そして、シナリオデータに含まれる起動条件についても画面要素推移体(シナリオ)と同様に自由に設定できるため、そのシナリオを実行する場面(条件)も多種多様にわたって設定される可能性がある。
このため、シナリオデータ数が増えるにしたがってエージェント装置側において、シナリオを自動で開始するための起動条件を満足したか否かの状況を判断する負荷が増加するという問題がある。
【0004】
本発明は上記課題を解決するためになされたもので、外部から取得した、キャラクタの表示内容、処理内容の少なくとも1つが定義された画面要素を組み合わせて構成された画面要素推移体を実行するための、起動条件の判断負荷を軽減することを第1の目的とする。
また本発明は、車載装置において実行される画面要素推移体及び、車載装置における判断負荷を軽減することが可能な起動条件を容易に作成することが可能なデータ作成装置を提供することを第2の目的とする。
また本発明は、車載装置において実行される画面要素推移体及び、車載装置における判断負荷を軽減することが可能な起動条件をコンピュータで容易に作成可能なデータ作成プログラムを提供することを第3の目的とする。
【0005】
【課題を解決するための手段】
請求項1に記載の発明では、キャラクタの表示内容、処理内容を組み合わせて構成された複数の画面要素推移体、及び、該画面要素推移体の各々に対応して、日付及び位置の少なくとも一方による所定個別条件に分類された複数の個別条件の論理積又は1の個別条件から構成される起動条件を記憶する画面要素推移記憶手段と、日付及び車両位置の少なくとも一方を含む車両の状況を検出する車載センサと、前記車載センサ検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出する抽出手段と、前記車載センサで検出した状況が起動条件を満たしているか否かを、前記抽出手段により抽出した起動条件を対象として判断する条件判断手段と、該条件判断手段により起動条件を満たしていると判断された場合、該起動条件に対応する前記画面要素推移体を実行する画面要素推移体実行手段と、を備え、前記抽出手段は、前記車載センサによって検出した日付及び車両位置の少なくとも一方が所定単位の変化をした場合に、検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出し、すでに抽出されている起動条件と変更する、ことにより、前記第1の目的を達成する。
請求項2に記載の発明によれば、前記画面要素推移記憶手段に記憶された起動条件を、前記画面要素推移記憶手段とは別個で、かつ、画面要素推移記憶手段よりもアクセス速度の速い高速記憶媒体に記憶するとともに前記抽出手段は、抽出した起動条件を前記高速記憶媒体に記憶する、ことを特徴とする請求項に記載の車載装置を提供する。
請求項3記載の発明によれば、請求項1又は請求項2に記載の車載装置で実行する画面要素推移体データを作成するデータ作成装置であって、年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データの少なくとも1つの対象に対して複数の選択項目を提示する提示手段と、前記提示した複数の選択項目から1つ以上の項目を選択し、該選択項目に対してキャラクタの表示内容、処理内容を設定するキャラクタ設定手段と、前記キャラクタの表示内容、処理内容の少なくとも1つが定義された画面要素を1画面要素とし、該画面要素及び該画面要素間の移行条件とを組み合わせて画面要素推移体を作成する画面要素推移体作成手段と、年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データによる個別条件を提示する条件提示手段と、前記提示した個別条件から複数の個別条件の論理積又は1の個別条件を選択し、該選択した個別条件を前記年月日及び位置の少なくとも一方による所定個別条件に分類することで前記画面要素推移体を起動する起動条件を作成する起動条件作成手段と、を備えたことを特徴とするデータ作成装置、により前記第2の目的を達成する。
【0006】
【発明の実施の形態】
以下、本発明の車載装置の好適な実施形態であるエージェント装置、データ作成装置の好適な実施形態であるシナリオ作成装置、及びデータ作成プログラムの好適な実施形態であるシナリオエディタについて、図1から図38を参照して詳細に説明する。
(1)実施形態の概要
本実施形態のエージェント装置では、所定の容姿からなるエージェント(キャラクタ)の画像(平面的画像、ホログラフィ等の立体的画像等)を車両内に表示する。そして、エージェント装置の機能である、センサ等の検出結果から周囲の状態(人の動きや音声を含む)を認識、判断し、その結果に応じた動作や音声を出力するという機能を、このエージェントの容姿の動きや音声と連動して実行する。例えば、「どのジャンルの食事がすきですか」等の回答(和食、洋食等)を要求する問かけを行い、この問いかけに対するユーザの回答内容を判別(回答音声の認識や、回答選択ボタン54aの選択から判別)して、次のシーンに応じた処理を実行する。このように、装置からの回答を要求する問いかけと、その回答に応じて、所定の操作の実行を開始するので、ユーザは、あたかも擬似人格を備えたエージェントが車両内に存在しているような体感をするようになる。以下の説明では、このようなエージェント装置の一連の機能の実行を、エージェントの行為や動作として説明する。
本実施形態のエージェント装置では、このエージェントに運転者との各種コミュニケーションや、操作の代行を行わせる。そしてエージェントが自律的に行う様々な行為(各行為)を複数のシナリオ(画面要素推移体)で構成する。そして、エージェントによる一連の連続した行為の内容を規定した複数のシナリオと、各シナリオの展開を自律的に開始(起動)するための自律起動条件(起動条件)とにより規格化したシナリオデータを保存する。
シナリオは、シーン(画面要素)を最小単位として、1又は連続する複数のシーンで構成される。自律的に行う処理内容とエージェントの画像及び音声の少なくとも1つから構成される場面が1シーンである。
シナリオは、所定のシーンから次のシーンに移行するための1の移行条件(推移条件)又は複数の移行条件(分岐条件(複数の状態が発生する場合の各状態毎へのシーンの移行するための条件))と、各移行条件に対応して移行先のシーンを特定する移行先データとから、各シーンの展開構成が規定されている。
各シナリオを自動的に実行するための自律起動条件は、年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データによる個別条件の論理積(論理和を含まない個別条件の組)に展開されている。そして、論理積から成る自律起動条件は、所定の個別条件である年月日と位置でソートすることでグループ化(分類)されている。位置については、一定サイズに区分した領域(メッシュ)単位で分類されている。本実施形態では、年、月、日、一次メッシュ、二次メッシュの順に下位となるように分類されている。
すなわち、最初に、年による条件の中から自動で開始する条件(個別条件)が同じ年のものがグループ化され、次に日付(月日)による条件の中から自動で開始する条件が同じ日付(月日)のものがグループ化され、次に位置に関する自動で開始する条件で大きい領域(1次メッシュ)に入るものがまとめてグループ化され、最後に1次メッシュの中でさらに切り分けた小領域(2次メッシュ)に入るものがまとめてグループ化されている。
なお、年、日付、位置の条件を含まないものも、該当条件がないものに分類されている。例えば、年月日の条件がなく位置の条件がある自律起動条件の場合、年条件無しという分類内の、日付条件無しという分類内に、その位置に応じた1次メッシュ、2次メッシュに分類されている。
【0007】
一方、エージェント装置のユーザ等は、規定された規格に従った独自のシナリオデータを、シナリオ作成装置を使用して作成する。シナリオ作成装置は、シナリオ編集プログラムやデータをパーソナルコンピュータにインストールすることで構成することができる。
作成したシナリオデータは、インターネット等のネットワークを介してエージェント装置に送信し、又はダウンロードしてもらうことにより、また、所定の半導体メモリを介してエージェント装置に格納することで、自己(第三者)の希望通りの行為(コミュニケーションや処理)をエージェントに行わせることが可能になる。
作成するシナリオの最初のシーンに、例えば、人間に対する回答を要求する問いかけのシーンのシナリオとすることができる。そして、独自に作成したシナリオデータを、外部の装置から入力装置を介して入力することが可能である。この場合の入力装置は、半導体メモリに追加するシナリオデータが格納されている場合には、半導体メモリの内容を読みとる記憶媒体駆動装置が該当し、インターネット等のネットワークを介して特定のサーバ等からダウンロードする場合には通信制御装置が該当する。この新たに入力したシナリオデータに従って、シナリオを実行する。
【0008】
エージェント装置は、メール、ブラウザソフトを備えることにより、ブラウザソフト等を使ってシナリオをダウンロードし、そのダウンロードしたファイルがエージェントを機能させるシナリオデータであるか否か判断し、シナリオデータであればエージェントプログラムに組み込んで使用できるようにする。また、メールに添付されている場合も同様に、添付のファイルがシナリオであるか否か判断しシナリオであればエージェントシステムに組み込んで使用できるようにする。
これにより従来の手法以外にも、既存の通信インフラであるメール、ネットワーク等を使った通信とを使用することにより、また、半導体メモリ等を介することで、パーソナルコンピュータ等を使用して作成した独自のシナリオを追加することができるようになる。
このように、ユーザは自分の思い通りにエージェントを機能させるシナリオを独自にまた、容易に作成ことが可能になるので、エージェント装置の自律的な動作に対する抵抗がなくなる。
【0009】
さらに、エージェント装置では、シナリオ作成装置で作成されたシナリオデータに基づいてエージェントを自律的に起動させる(自動で登場させる)条件を満たしたかを判断する処理を定期的にもしくは特定の状態を満たしたときに実行し、条件を満たした場合にエージェントを自動で登場させることができるシステムを備えさせる。
すなわち、エージェントを自動で登場させる条件判断部で、地点による条件を含んだ開始条件のシナリオは、例えば自分の居る地点が存在するエリア(メッシュ)とその隣のメッシュのみ自動で開始するか否かの判断をする。地点による条件を含まないものは常に自動で開始するか否かの判断をする。自車位置が移動して自分の居る位置が隣のメッシュに移動した場合は、新たに自動で開始する条件を取得しなおす。つまり自分が居る地点が存在するメッシュとその隣のメッシュを取得しなおす。これにより自車位置が東京の場合には、札幌に居る場合という条件が含まれているシナリオや福岡に居る場合という条件が含まれているシナリオ(常識的に考えて自動で開始しえないシナリオ)は、はじめから判断しないことになり負荷は軽くなる。
また他にも、日付による条件を含んだ開始条件のシナリオは、例えば当日及び翌日のみ自動で開始するか否かの判断をする。日付による条件を含まないものは常に自動で開始するか否かの判断をする。これにより日付が12月24日の場合は、当日である12月24日と、翌日である12月25日という条件が含まれているシナリオ以外の日付に関する条件が含まれているシナリオ(常識的に考えて自動で開始しえないシナリオ)は、はじめから判断しないことになり負荷は軽くなる。
本実施形態では、このシナリオの自律起動条件を満たすか否かを判断する場合、自律起動条件が年月日及び位置により分類されているので、判断している当日及び翌日に分類され、かつ、その分類内で、車両現在位置を含む一次メッシュとその隣接メッシュ内に分類されている自律起動条件のみを読み込み、条件を満たしたか否かの判断を行う。
【0010】
エージェント装置をこのように構成することで、シナリオ作成装置では、プログラムの知識の有無に関係無く、シナリオエディタを持つことで、特定の条件を満たしたときに自動で登場して対応してくれるエージェントのシナリオデータを作成及び編集することができる。また、エージェント装置側の起動条件判断負荷を考慮することなく、自由にシナリオを作成し、その起動条件を任意に設定することが可能になる。
例えば、オービスの設置してある2km手前の地点(東経北緯座標で指定)でかつ、道路種別が高速道路でかつ、車速が120km/h以上で走行している場合に自動で登場してオービスの警告をしてくれるシナリオの条件の中にある車速の条件を140km/h以上に変更するとか、毎年特定の日(例えばクリスマスイブ)に1回だけ起動するシナリオを作成する事が可能となる。
なお、シナリオ作成装置は、起動条件の年月日と位置情報による分類を、シナリオとその起動条件の作成が完了し、エージェント装置で実行可能な形式に変換する際に行う。
【0011】
(2)実施形態の詳細
図1は、エージェント装置とシナリオ作成装置からなる全体のシステム構成を表したものである。
このシステムでは、本実施形態のエージェント装置1と、指定された規格でシナリオデータを作成するユーザ又は第三者であるシナリオデータ作成者のシナリオ作成装置2と、サーバ3等を使用したインターネット等の通信手段から構成されている。
シナリオ作成装置2では、シナリオエディタにより独自のシナリオデータを作成する。そして、独自のシナリオデータを作成したユーザは、DVD−ROM、ICカード等の半導体記憶装置その他の記憶媒体7にシナリオデータを格納して、エージェント装置1に受け渡すことが可能である。そして、シナリオデータを受け取ったエージェント装置1では、記憶媒体駆動装置により記憶媒体7からシナリオデータを読み込んで、既に記憶しているシナリオデータに組み込むことで、シナリオ作成装置2で作成されたシナリオデータにしたがってエージェント装置1を動作させることが可能になる。なお、シナリオ作成装置2で作成するものは、エージェント装置1のユーザ自身でもよく、また、第三者でもよい。
また、エージェント装置1では、ユーザ自身や第三者が作成したシナリオデータを、インターネット等のネットワークを介して組み込み、また、メールに添付されたシナリオデータを組み込むことができる。
また、エージェント装置1のユーザに対してサービスの提供等を希望する第三者は、所定形式のシナリオデータを、例えば、シナリオエディタを使用してシナリオ作成装置2で作成し、自己のホームページに掲載してダウンロード可能にし、または電子メールの添付ファイルとしてエージェント装置1に送信する。エージェント装置1は、電子メールに添付されたシナリオデータ5を受信し、または、ユーザがサーバ3等の通信手段を介してシナリオデータファイル4をダウンロードするようになっている。また、エージェント装置1は、受信したシナリオデータの実行に従って取得されるユーザの回答(シナリオデータに対する回答メール)を、電子メール6の本文又は添付ファイルで、シナリオ作成者のシナリオ作成装置2に送信する。
【0012】
まず、開発者やユーザによって作成されたシナリオに従ってエージェントが自律的に機能するエージェント装置1について、その構成と動作を説明する。
図2は、本実施形態におけるエージェント装置1の構成を表したブロック図である。
本実施形態におけるエージェント装置1は、車両に搭載されおり、車両内のユーザーとの間でコミュニケーションを行う機能や車両に対して所定の処理を行う車両制御機能等のエージェント機能の他、ユーザーに走行経路の案内等を行うナビゲーション機能も備えている。
本実施形態のエージェント装置1では、エージェント機能および、ナビゲーション機能を実現するための中央処理装置(1)、表示装置(2)、音声出力装置(3)、音声入力装置(4)、入力装置(5)、各種状況検出装置(6)、各種車載装置(7)、通信制御装置(8)、通信装置(9)、外部記憶装置(10)を備えている。
【0013】
中央処理装置(1)は、種々の演算処理を実行するCPU(1−1)、外部記憶装置(10)からプログラムを読み込んで格納するフラッシュメモリ(1−2)、フラッシュメモリ(1−2)のプログラムチェック、更新処理を行なうプログラム(プログラム読み込み手段)を格納したROM(1−3)、CPU(1−1)がワーキングメモリとして演算処理中のデータを一時的に格納するRAM(1−4)、時計(1−5)、表示装置(2)への画面表示に使用する画像データが記憶された画像メモリ(1−7)、CPU(1−1)からの表示出力制御信号に基づいて画像メモリ(1−7)から画像データを取り出し、画像処理を施して表示装置(2)に出力する画像プロセッサ(1−6)、CPU(1−1)からの音声出力制御信号をアナログ信号に変換して音声出力装置(3)に出力する処理と、音声入力装置(4)から入力されたアナログ信号をデジタルの音声入力信号に変換する処理を行なう音声プロセッサ(1−8)、入力装置(5)による入力内容を受け取る入力装置I/F部(1−9)、各種状況を検出するための検出器類から情報を受け取るための各種入力I/F部(1−10)、他の装置と情報のやり取りを行なう通信I/F部(1−11)、CD−ROMやICカード類、ハードディスク等といった外部記憶媒体(10−2)からデータ及びプログラムを読み込んだりデータを書き込んだりする外部記憶装置(10)を制御するための外部記憶装置制御部(1−12)を備えている。
【0014】
この中央処理装置(1)は、経路探索処理や、経路案内に必要な表示案内処理や、その他システム全体において必要な処理、本実施形態におけるエージェント処理(エージェントと運転者との各種コミュニケーションや操作代行、状況判断を行ないその結果に応じて自律的に行なう処理)を行うようになっている。
更新処理を行なうプログラム(プログラム読み込み手段)は、ROM(1−3)以外にもフラッシュメモリ(1−2)に格納するようにしてもよい。
本実施形態におけるプログラムを含め、CPU(1−1)で実行される全てのプログラムは、外部記憶媒体(10−2)であるCD−ROM等に格納されてもよいし、それらプログラムの一部または全てが本体側のROM(1−3)またはフラッシュメモリ(1−2)に格納するようにしてもよい。
この外部記憶媒体(10−2)に記憶されたデータやプログラムが外部信号として中央処理装置(1)に入力されて演算処理されることにより、種々のエージェント機能及びナビゲーション機能が実現されるようになっている。
また、本実施形態の中央処理装置(1)は、起動条件(自律起動条件)を満たしていると判断された場合、画面要素推移体(シナリオ)を実行する、画面要素推移体実行手段を形成している。
【0015】
表示装置(2)は、中央処理装置(1)の処理による経路案内用の道路地図や各種画像情報が表示されたり、キャラクタの各種行動(動画)及び画面構成のパーツで構成された画面要素推移体(シナリオ)が表示されたりするようになっている。
この表示装置(2)には、液晶表示装置、CRT等の各種表示装置が使用される。
なお、この表示装置(2)は、例えばタッチパネル等の、入力装置(5)としての機能を兼ね備えたものとすることができる。
【0016】
音声出力装置(3)は、中央処理装置(1)の処理によって声による経路案内を行なう場合の案内音声や、エージェントによる運転者との通常のコミュニケーション用の会話や運転者情報取得のための質問による音声や音が出力されるようになっている。
この音声出力装置(3)は、車内に配置された複数のスピーカで構成されている。これらは、オーディオ用のスピーカと兼用するようにしてもよい。
音声入力装置(4)は、運転者の音声を的確に収集するために指向性のある専用のマイクが使用されたりする。この音声入力装置(4)から入力されたアナログ信号を変換したデジタルの音声入力信号を使ってCPU(1−1)で音声認識処理が行われるようになっている。
音声認識の対象となる音声としては、例えば、ナビゲーション処理における目的地等の入力音声や、エージェントとの運転者の会話(運転者による応答を含む)等があげられ、音声入力装置はこれらの音声を入力する音声入力手段として機能する。
【0017】
尚、音声出力装置(3)と音声入力装置(4)とでハンズフリーユニットを形成させて、通信制御装置(8)及び通信装置(9)を用いて通話を行なえるようにしてもよい。
また、音声入力装置(4)、音声プロセッサ(1−8)及び音声認識処理とを組み合わせることで、運転者が同乗者と会話中か否かを検出する会話検出手段や、運転者の発する音声を使って運転者の状況を検出する状況検出手段として機能させてもよい。
【0018】
入力装置(5)は、目的地を設定する際に電話番号や地図上の座標などにて入力したり、目的地までの経路探索や経路案内を要求(リクエスト)するために使用される。また、入力装置(5)は、運転者情報を運転者が入力する場合や、エージェント機能の使用を開始する場合のトリガとしてとして使用される。さらに入力装置(5)は、エージェント機能による、エージェントとのコミュニケーションにおいて、エージェントからの問い合わせ等に対して運転者が応答するための1つの応答手段としても機能するようになっている。
入力装置(5)には、タッチパネル(スイッチとして機能)、キーボード、マウス、ライトペン、ジョイスティックなどの各種の装置が使用可能である。
また、赤外線等を利用したリモコンと、リモコンから送信される各種信号を受信する受信部を備えてもよい。
リモコンには、画面上に表示されたカーソルの移動操作等を行なうジョイスティックの他、メニュー指定キー(ボタン)、テンキー等の各種キーが配置される。
また、上記の音声入力装置(4)を使った音声認識を入力装置の代わりに使用しても良い。
【0019】
中央処理装置(1)は、入力装置I/F部(1−9)を介して入力装置(5)から受け取った内容を使ってCPU(1−1)が運転者による入力操作中か否かを検出すること、又は/及び音声認識結果を併用して各種機器の操作状況を検出する機能(機器操作状況検出手段)を備えるようにしてもよい。
【0020】
図3は、各種状況検出装置(6)の構成を表したブロック図である。
各種状況検出装置(6)は、現在位置検出装置(6−1)と、交通状況情報受信装置(6−2)と、運転操作等の状況を検出するためにブレーキ検出器(6−3)と、サイドブレーキ(パーキングブレーキ)検出器(6−4)と、アクセル開度検出器(6−5)と、A/Tのシフト位置検出器(6−6)と、ワイパ検出器(6−7)と、方向指示器検出器(6−8)と、ハザード検出器(6−9)と、イグニッション検出器(6−10)を備えている。
上記各構成の少なくとも1つ以上、又は、これにその他の機器を加えた構成により、各種状況及び条件を検出することで本願発明の検出手段が形成される。
【0021】
現在位置検出装置(6−1)は、車両の絶対位置(緯度、経度による)を検出するためのものであり、人工衛星を利用して車両の位置を測定するGPS(Global Positioning System)受信装置(6−1−1)と、GPSの補正信号を受信するデータ送受信装置(6−1−2)と、方位センサ(6−1−3)と、舵角センサ(6−1−4)と、距離センサ(6−1−5)等が使用される。
GPS受信装置(6−1−1)は単独で位置測定が可能であるが、GPS受信装置(6−1−1)による受信が不可能な場所では、方位センサ(6−1−3)、舵角センサ(6−1−4)及び距離センサ(6−1−5)の少なくとも1つ用いた推測航法によって現在位置を検出するようになっている。また、データ送受信装置(6−1−2)を用いてGPSの補正信号を受信することでGPS受信装置(6−1−1)による位置検出の精度を上げることができる。
方位センサ(6−1−3)は、例えば、地磁気を検出して車両の方位を求める地磁気センサ、車両の回転角速度を検出しその角速度を積分して車両の方位を求めるガスレートジャイロや光ファイバジャイロ等のジャイロ、左右の車輪センサを配置しその出力パルス差(移動距離の差)により車両の旋回を検出することで方位の変位量を算出するようにした車輪センサ、等が使用される。
舵角センサ(6−1−4)は、ステアリングの回転部に取り付けた光学的な回転センサや回転抵抗ボリューム等を用いてステアリングの角度αを検出する。
距離センサ(6−1−5)は、例えば、車輪の回転数を検出して計数し、または加速度を検出して2回積分するもの等の各種の方法が使用される。
距離センサ(6−1−5)と舵角センサ(6−1−4)は運転操作状況検出手段としても機能する。
【0022】
交通状況情報受信装置(6−2)は、道路の混雑状況等を検出するためのものである。
交通情報受信装置(6−2)は、路上に配置されたビーコンから情報を受信するビーコン受信装置(6−2−1)と、FM放送電波を用いて情報を受信する装置(6−2−2)等が使用され、これらを用いて交通情報センターから渋滞情報や、交通規制情報等を受信する。
また、ビーコン受信装置(6−2−1)を現在位置検出手段として、現在位置検出装置(6−1)と併用してもよいものとする。
【0023】
ブレーキ検出器(6−3)は、フットブレーキが踏み込み状態か否かを検出する。
サイドブレーキ(パーキングブレーキ)検出器(6−4)は、運転者がサイドブレーキを操作中か否か、及びサイドブレーキの状態(ONかOFFか)を検出する。
アクセル開度検出器(6−5)は、運転者がアクセルペダルをどれぐらい踏み込んでいるかを検出する。
シフト位置検出器(6−6)は、運転者がA/Tのシフトレバーを操作中か否か、及びシフトレバー位置を検出する。
ワイパ検出器(6−7)は、運転者がワイパを使用しているか否かを検出する。
【0024】
方向指示器検出器(6−8)は、運転者が方向指示器の操作中であるか否か、及び方向指示器が点滅中か否かを検出する。
ハザード検出器(6−9)は、運転者がハザードを使用している状態か否かを検出する。
イグニッション検出器(6−10)は、イグニッションスイッチがONになっているか否かを検出する。
車速の検出には距離センサ(6−1−5)を使用する。
各種状況検出装置(6)は、機器操作状況検出手段としてこれらの他にも、ヘッドランプやルームランプ等のランプ類の操作状況を検出するライト検出センサ、運転者のシートベルト着脱操作を検出するシートベルト検出センサ、その他のセンサを備えている。
【0025】
図2に示されるように、GPS受信装置(6−1−1)と、データ送受信装置(6−1−2)と、交通情報受信装置(6−2)は通信装置I/F部(1−11)に接続され、他は各種入力I/F部(1−10)に接続されている。
【0026】
通信装置I/F部(1−11)には、他にも通信制御装置(8)が接続できるようになっている。この通信制御装置(8)には、通信装置(9)(各種無線通信機器からなる携帯電話等)が接続されるようになっている。
これらを使って電話回線による通話の他、例えば車内での通信カラオケのために使用するカラオケデータを提供するような情報提供局との通信を行なったりすることもできるようになっている。
カラオケデータを提供する情報提供局の他にも、交通情報を提供する情報基地局との通信や、エージェント処理に用いるシナリオデータを提供する情報提供局と通信を、通信装置(9)と通信制御装置(8)を介して行うことも可能である。
【0027】
本実施形態において中央処理装置(1)は、通信制御装置(8)を介してシナリオが添付された電子メールを受信することができるようになっている。
また、中央処理装置(1)には、インターネット上のホームページを表示するブラウザソフトを組み込み、CPU(1−1)で処理させることが可能であり、通信制御装置(8)を介してホームページからシナリオを含めたデータをダウンロードすることができるようになっている。
なお、通信制御装置(8)は、通信装置(9)と一体になったものを使用してもよい。
【0028】
また、中央処理装置(1)は、通信I/F部(1−11)を通して車内通信を行なうことで他の車載装置(7)の操作状況を受け取ったり、また、車載装置に対する各種制御を行うようになっている。
例えば、中央処理装置(1)は、各種車載装置(7)であるエアコン装置から、運転者がエアコンの各種スイッチ等を操作中か否かの情報を受け取ったり、設定温度を上げるや、下げるといったようにエアコン装置を制御を行う。また、オーディオ装置から運転者がラジオ、CDプレーヤ、カセットプレーヤー等のオーディオ機器を操作中か否か、及びオーディオ機器による音声が出力中か否かの情報を受け取ったり、出力音量を上げるや、下げるといったようにオーディオ装置の制御を行うようになっている。
【0029】
外部記憶装置(10)は、外部記憶媒体駆動部(10−1)とその外部記憶媒体(10−2)を備えている。外部記憶装置(10)は、CPU(1−1)からの指示で外部記憶装置制御部(1−12)による制御のもとで外部記憶媒体(10−2)からデータやプログラムの読み込み、及び外部記憶媒体(10−2)へのデータやプログラムの書き込みを行うようになっている。
外部記憶媒体(10−2)には、例えば、フロッピーディスク、ハードディスク、CD−ROM、DVD−ROM、光ディスク、磁気テープ、ICカード類、光カード等の各種記憶媒体が使用され、使用する媒体ごとにそれぞれの外部記憶媒体駆動装置(10−1)が使用される。
【0030】
外部記憶装置(10)は、システムにおいて複数個所持してもよいものとする。例えば、収集した個人情報である、運転者情報データ(10−2−3−6)と、学習項目データ及び応答データ(10−2−3−7)を持ち運びが容易なICカードやフロッピーディスクで構成し、その他のデータをDVD−ROMで構成するといった例が考えられる。こうすることで、他の車両を運転する場合にこれらを記憶させたICカードからデータを読み出させて使用し、自分が過去に応対した状況を学習した状態のエージェントとコミュニケーションすることが可能になる。つまり、車両毎のエージェントではなく、運転者毎に固有な学習内容のエージェントを車両内に出現させることが可能になる。
また、シナリオデータ+シナリオで使用する画像データ(10−2−3−4)を一例としてDVD−ROMで持つ構成にした場合でも、ICカードを使って追加することも可能になっている。
これにより、ユーザ各自にとって固有のオリジナルシナリオを加えることが可能である。
このように、画面要素推移体(シナリオ)及び画面要素推移体の起動条件を外部から取得して記憶することにより、本願発明の画面要素推移体記憶手段が形成される。
【0031】
CPU(1−1)は各種エージェント機能やナビゲーション機能を実現するプログラム(10−2−1)や、演算処理に使用するエージェントデータ(10−2−3)とナビゲーションデータ(10−2−2)を、上記構成例で示すDVD−ROMやICカード等から別の外部記憶装置(例えばハードディスク装置等)に格納(インストール)し、この記憶装置から必要なプログラム等をフラッシュメモリ(1−2)に読み込んで(ロードして)実行するようにしてもよいし、演算処理に必要なデータをこの記憶装置からRAM(1−4)に読み込んで(ロードして)実行するようにしてもよい。
【0032】
次に、本発明におけるプログラムを含めたCPU(1−1)で実行されるプログラムの構成について説明する。
図4は、CPU(1−1)でプログラムが実行されることにより実現されるエージェント処理部(101)と、全体処理部(102)との関係を表したものである。
本実施例では、種々のナビゲーション機能を実現する全体処理部(102)に、エージェント機能を実現するエージェント処理部(101)を加えることでエージェント機能付きナビゲーション装置を実現する構成になっている。
【0033】
エージェント処理部(101)と全体処理部(102)は、互いの処理データをやり取りするためのI/F部をそれぞれが持っており、互いの処理データを取得し合えるようになっている。
例えば、エージェント処理部(101)は、シナリオデータに従って運転者とのコミュニケーションを実行した結果、運転者が設定したい目的地データを取得した場合に、このデータを全体処理部(102)に供給するようになっている。
全体処理部(102)では、取得した目的地データにより経路探索をし、作成した走行経路データに基づく経路案内を行なう。この経路案内処理において、画像や音声による進路変更方向等の案内を行なう場合に、案内に必要なデータを全体処理部(102)からエージェント処理部(101)に供給し、走行経路案内をするシナリオをデータ化したシナリオデータに従ってエージェントが案内することも可能である。
【0034】
図5は、エージェント処理部(101)の構成を表したものである。
エージェント処理部(101)は、シナリオ駆動部(101−1)と、自律起動判断部(101−2)と、学習部(101−3)と、キャラクタ心理部(101−4)と、描画部(101−5)と、音声出力部(101−6)と、音声認識部(101−7)と、エージェントOS部(101−8)と、外部I/F部(101−9)とを備えている。
シナリオ駆動部(101−1)は、シナリオデータ(10−2−3−4)を読み込みそのシナリオデータに基づいて各処理部にメッセージ通信等を使って指示(各処理部が提供する機能を使用)する。シナリオ駆動部(101−1)は、シナリオの実行を管理し運転者に各種エージェント機能を提供するといったエージェント処理部の中心的な処理を行う。
【0035】
自律起動判断部(101−2)は、シナリオデータ(10−2−3−4)にある各シナリオの自律起動条件データを保持し、エージェントOS部(101−8)からだされる定期的な自律起動判断指示により、時間、位置、状態等の各種条件と各種状況との比較、判断を行なっている。
条件が一致した場合に、自律起動判断部(101−2)はシナリオ駆動部(101−1)に対し、条件が一致したシナリオの実行要求の指示を出す。
自律起動条件と比較するための各種状況はエージェントOS部(101−8)及び学習部(101−3)から入手している。
また、定期的な自律起動判断指示以外にも、状況の変化が大きいとされる場合は、エージェントOS部から自律起動判断指示が出されるので、自律起動判断部(101−2)は、自律起動判断処理を行なうようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、ナビゲーション機能による走行案内経路をはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等がある。
【0036】
図5において、学習部(101−3)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によって入手した項目(実行結果や実行履歴)を運転者情報データ(10−2−3−6)や、学習項目データ及び応答データ(10−2−3−7)として格納する。学習部(101−3)は、シナリオが異なるシーンで終了する場合の終了の仕方を示すエンドIDも入手して応答データ(10−2−3−7)として格納する。これら入手した項目は、RAM(1−4)上に格納されているが、外部記憶媒体(10−2)であるICカード等にも出力できるようになっている。
また、学習部(101−3)は、エージェントOS部(101−8)から状況の変化を入手して運転操作に関する情報を記録する。例えば、運転者による乗車時間帯や、乗車頻度等の各種状況を判断するために、電源ON(イグニッションON)の日時を過去10回分記憶しておいたりもする。格納された情報は、例えばシナリオ駆動部(101−1)に提供されシナリオの展開に変化を与えるために使用されたり、自律起動判断の比較に使用されたりする。
なお、また、本実施形態における学習部(101−3)は、運転者情報の保持・参照も兼務しているが、運転者情報部として独立させてもよい。
【0037】
キャラクタ心理部(101−4)は、エージェントOS部(101−8)が管理している現在状況を入手し、メンタルモデル変更条件データに基づき、キャラクタの心理状態を表す5つのパラメータを自律的に変更する。
キャラクタの心理状態は、元気、友好、従順、自信、モラルの各パラメータで表され、各パラメータは例えば0〜100の値で表わされるようになっている。各パラメータは、車両状況(車両自体の状況、運転者の応答や反応、同乗者の有無、対向車等を含む車両の状況)の判断と学習をし、各時点での車両状況から、記憶された各パラメータの値を変化させるようになっている。例えば、運転者からのねぎらいの言葉が認識された場合には友好のパラメータの値が1上昇する等、段階的に変化するようになっている。
また、シナリオ駆動部からの指示でもキャラクタの心理状態を表す5つのパラメータを変化させる。
さらに、こキャラクタ心理部(101−4)は、の5つのパラメータを使用して、キャラクタの心理状態を判断する。判断された心理状態は、例えばシナリオ駆動部(101−1)に提供されシナリオの展開に変化を与えるために使用されたり、描画部に提供されキャラクタの各種行動(動作)に変化を与えるために使用されたりする。
【0038】
描画部(101−5)は、シナリオ駆動部(101−1)からの指示で選択ボタンやタイトル等のパーツから構成される画面を表示するための制御信号を作成する。また、シナリオ駆動部(101−1)からの指示でキャラクタの各種行動(動作)を表示するための制御信号も作成する。
本実施形態では、これらはエージェントOS部(101−8)に伝わり外部I/F部(101−9)から全体処理部(102)に伝わり、全体処理部(102)内にある画像プロセッサへの指示を行なう処理部を通して画像プロセッサ(1−6)へ伝わり画像処理を施し表示装置(2)に表示されるが、全体処理部(102)を通さずにエージェントOS部(101−8)において画像プロセッサへの指示を行なう処理部を持たせるようにしてもよい。
【0039】
音声出力部(101−6)は、シナリオ駆動部(101−1)からの指示でエージェントが運転者とコミュニケーションを行なう際の台詞を出力するための制御信号を作成する。また、シナリオ駆動部(101−1)からの指示で各種効果音を出力するための制御信号も作成する。
本実施形態では、これらはエージェントOS部(101−8)に伝わり外部I/F部(101−9)から全体処理部(102)に伝わり、全体処理部(102)内にある音声プロセッサへの指示を行なう処理部を通して音声プロセッサ(1−8)へ伝わり、この音声出力制御信号をアナログ信号に変換して音声出力装置(3)に出力されるが、全体処理部(102)を通さずにエージェントOS部(101−8)において音声プロセッサへの指示を行なう処理部を持たせるようにしてもよい。
【0040】
描画部(101−5)と、音声出力部(101−6)をまとめて、描画兼音声出力部としてもよいものとする。
本実施形態では描画兼音声出力部としている。
【0041】
音声認識部(101−7)は、シナリオ駆動部(101−1)からの指示により、全体処理部(102)中の音声認識処理部に音声認識辞書を作成させるための制御信号を発する。また、音声認識部(101−7)は、シナリオ駆動部(101−1)からの指示で音声認識処理を開始させたり停止させたりする制御信号も発する。
本実施形態では、これらはエージェントOS部(101−8)に伝わり外部I/F部(101−9)から、全体処理部(102)内にある音声認識処理部に伝えられる。
この音声認識処理部は、音声認識処理を開始する指示及び停止する指示を、音声プロセッサ(1−8)に伝え、音声プロセッサは音声入力装置(4)から入力されたアナログ信号をデジタルの音声入力信号に変換する処理を行なうことになっている。
音声入力信号が入力されると、音声認識処理部は、前記デジタルの音声入力信号を取得し、それをもとに音声認識処理部は認識処理を行ない、その結果は先ほどの経路と逆の流れで音声認識部(101−7)に伝えられる。音声認識部(101−7)は、音声認識結果をシナリオ駆動部(101−1)に通知する。
【0042】
エージェントOS部(101−8)は、時間、場所、各種入力等の状況の変化(シナリオの追加も含む)を取得して現在の状況を管理し、状況の変化に対して必要に応じてメッセージ通信にて各処理部に通知する。状況の変化は、外部I/F部(101−9)を通して全体処理部(102)から供給されたり、問い合わせたりして入手する。
入手される情報は、各種状況検出装置(6)による検出結果等を、各種入力I/F部(1−10)と、通信I/F部(1−11)より取り込みRAM(1−4)に書き込まれたものである。入力装置(5)を使って入力された内容も、外部I/F部(101−9)を通して全体処理部(102)から供給され、その内容を必要に応じてメッセージ通信にて各処理部に通知する。
また、他にも各種のライブラリを持っており、各処理部の間でデータのやり取りなどを行なうメッセージ通信の提供、時間に関する処理を行ないタイマーの役割をして特定時間の経過通知、及び現在時刻の提供、メモリの管理を行ない各処理部が処理を行なう際に必要なメモリの提供、外部記憶媒体からのデータ読み込みや書き込み機能の提供などを行なう。
【0043】
エージェントOS部(101−8)は、自律起動判断部(101−2)に対して、定期的に自律起動判断指示を出すようになっている。この定期的な自律起動判断指示は、所定時間毎に出される。所定時間としては、定期的に出される自律起動判断指示によって定期的に処理される自律起動判断処理が、中央処理装置(1)全体の他の処理に影響しない範囲でできるだけ短い時間であることが望ましく、本実施形態では5秒間隔に設定されている。この所定時間は入力装置(5)からの操作によってユーザーが当該所定時間を任意に変更することができるようにしてもよい。
また、エージェントOS部(101−8)は、状況の変化が大きいと判断された場合にも、自律起動判断部(101−2)に対して、定期的に自律起動判断指示を出すようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、案内経路から車両がはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等であり、あらかじめ該当する項目が規定されRAM(1−4)等の記憶媒体に記憶されている。
【0044】
外部I/F部(101−9)は、エージェント処理部(101)と全体処理部(102)との間のインターフェースになっている(全体処理部(102)には受け手であるエージェントI/F部が存在する)。エージェント処理において利用するナビゲーション情報等各種情報の取得と、エージェント処理部から全体処理部に制御信号を伝えてナビゲーションを制御したりする。
この外部I/F部(101−9)を通して全体処理部(102)に通知して行なっている、画像プロセッサ(1−6)への描画指示や、音声プロセッサ(1−8)への音声出力指示、入力装置I/F部(1−9)からの入力情報の取得等、他プロセッサ及びI/F部への指示を行なう処理部をエージェント処理部に持たせ直接指示をしたり情報を取得したりするようにしてもよい。
【0045】
図4における全体処理部(102)は、図示しないが地図描画部、経路探索部、経路案内部、現在位置計算部、目的地設定操作制御部等からなりナビゲーションの信号出力処理を行なうアプリケーション部、及び地図表示や経路案内に必要な表示出力制御、音声案内に必要な音声出力制御を行なうためのプログラム等のOS部等で構成されている。
また、この全体処理部(102)には音声認識を行なう処理部、テキストデータを音声データに変換する処理部も存在する。ブラウザ機能やメール機能を追加する場合の当該処理部はこの全体処理部(102)に追加される。
エージェント処理部(101)がブラウザ機能やメール機能を持つような構成にしてもよい。
また、本実施形態ではエージェント処理を実行するための拡張機能が全体処理部(102)に加えられている。この拡張機能には、例えばナビゲーションデータの中にある道路データと現在位置から、走行中の道路の種別(高速道路、国道、等)を検出する手段や走行中の道路のカーブ状況(カーブ手前、カーブ終了)を検出する手段等が存在する。
【0046】
次に、外部記憶媒体(10−2)に格納されているデータ構成(プログラムを含む)について説明する。
図6は、外部記憶媒体(10−2)に集録されている情報を概念的に表したものである。
外部記憶媒体(10−2)には本実施形態による各種エージェント機能やナビゲーション機能を実現するプログラム(10−2−1)、及び必要な各種データとして、エージェントデータ(10−2−3)とナビゲーションデータ(10−2−2)が格納されている。
ナビゲーションデータ(10−2−2)は、地図描画、経路探索、経路案内、目的地設定操作等に必要な各種データで構成されている。例としては、経路案内に必要な地図データ(道路地図、住宅地図、建造物形状地図等)、交差点データ、ノードデータ、道路データ、写真データ、登録地点データ、目的地点データ、案内道路データ、詳細目的地データ、目的地読みデータ、電話番号データ、住所データ、その他のデータのファイルからなりナビゲーション装置に必要なすべてのデータが記憶されている。また、必要に応じて通信地域データ等も記憶される。
【0047】
描画地図データは、表示装置(2)に描画される描画地図データであり、この描画地図データは、階層化された地図、例えば最上位層から日本、関東地方、東京、神田といった階層ごとの地図データが格納されている。各階層の地図データは、それぞれ地図コードが付されている。
交差点データは、各交差点を特定する交差点番号、交差点名、交差点の座標(緯度と経度)、その交差点が始点や終点になっている道路の番号、および信号の有無などで構成されている。
ノードデータは、各道路における各地点の座標を指定する緯度、経度などの情報から構成されている。すなわち、このデータは、道路上の一地点に関するデータであり、ノード間を接続するものをアークと呼び、複数あるノード列のそれぞれの間をアークで接続することによって道路が表現される。
道路データは、各道路を特定する道路番号、始点や終点となる交差点番号、同じ始点や終点を持つ道路の番号、道路の太さ、進入禁止等の禁止情報、後述の写真データの写真番号などで構成されている。
写真データは、各交差点や直進中に見える特徴的な風景等を撮影した写真が、その写真番号と対応してデジタル、アナログ、またはネガフィルムの形式で存在する。
【0048】
通信地域データは、通信制御装置(8)に接続され又は無接続で車内において使用される通信装置(9)である携帯電話が、車内から通信できる地域を表示装置(2)に表示したり、その通信できる地域を経路探索の際に使用したりするための通信地域データが、携帯電話のタイプ別に存在する。
エージェントデータ(10−2−3)は、メンタルモデルデータ(10−2−3−1)と、お勧め提案データ (10−2−3−2)と、知識データ(10−2−3−3)と、シナリオデータ及びシナリオで使用する画像データ(10−2−3−4)と、キャラクタデータ(10−2−3−5)と、運転者情報データ(10−2−3−6)と、学習項目データ及び応答データ(10−2−3−7)と、で構成されている。
【0049】
メンタルモデルデータ(10−2−3−1)は、キャラクタの心理状態を表す5つのパラメータ(友好度,従順度,自信度,モラル,元気度)及びメンタルモデル変更条件データとで構成されている。メンタルモデル変更条件データは、前記の各パラメータの指数を増減する条件と、変化するパラメータ及びその変化の度合いが記されたものである。このテーブルに従って、各パラメータが増減しキャラクタの心理状態を表している。
お勧め提案データ(10−2−3−2)は、運転者にお勧め情報としてレストラン等を提案する場合に使用する。このお勧め提案データ(10−2−3−2)にはレストラン名称、読み上げデータ、レストランのジャンルデータ、雰囲気データ、料金データ、地点データ、…等で構成され運転者情報データ(10−2−3−6)及び知識データ(10−2−3−3)を基にして運転者にお勧めのレストランを検索して提案したりする。
レストラン以外にも観光地、休憩場所などが存在する。
知識データ(10−2−3−3)は、統計データを基に年齢、性別による好みの傾向や、同乗者の有無によるシチュエーションによる選択傾向、場所による名産等を含んだ選択傾向、時期や時間による選択傾向をデータ化したものである。レストランの選択傾向、観光地の選択傾向、休憩場所の選択傾向、…等さまざまな選択傾向が存在する。
シナリオデータ及びシナリオで使用する画像データ(10−2−3−4)は、エージェントが運転者とのコミュニケーションを取ったりする時の、状況に応じたエージェントの行為や質問内容、どういった状況において自律的にエージェントから情報提供を行なうのかといった条件等が規定されている。詳細は後述する。
【0050】
図7はキャラクタデータの内容を概念的に表したものである。
キャラクタデータ(10−2−3−5)には、複数のキャラクタのデータが格納されており、運転者の好みによって入力装置(5)等から選択することができるようになっている。
キャラクタデータ(10−2−3−5)は、キャラクタ画像データと、キャラクタ音声データと、キャラクタによらない統一の指示に対する各キャラクタの表現方法への変換テーブルとを備えている。
キャラクタ画像データは、シナリオにより指定された各シーンで表示されるキャラクタの状態を表す静止画像や、動作を表す動画(アニメーション)等が格納されている。例えば、キャラクタがお辞儀をする動画、うなずく動画、右手を挙げる動画等が格納されている。これらの各静止画像や動画には画像コードが付けられている。
【0051】
キャラクタ画像データとして使用するエージェントの容姿としては、人間(男性、女性)的な容姿である必要はない。例えば、非人間型のエージェントとして、タコや、ひよこ、犬、猫、カエル、ネズミ等の動物自体の容姿や、人間的に図案化(イラスト化)した動物の容姿であってもよく、更にロボット的な容姿や、フロアスタンドや木などの容姿や、特定のキャラクタの容姿等であってもよい。
またエージェントの年齢としても一定である必要がなく、エージェントの学習機能として、最初は子供の容姿とし、時間の経過と共に成長していき容姿が変化していく(大人の容姿に変化し、更に老人の容姿に変化していく)ようにしてもよい。
【0052】
キャラクタ音声データは、選択されたシナリオのシーンに従って、エージェントが運転者と会話等を行うための音声データが格納されている。
エージェントによる会話の音声データは、エージェントが運転者情報を収集するための質問をするための音声データも格納されている。例としては、「こんにちは」、「よろしくね」、「またね」等が格納されている。
これらの各音声には音声コードが付けられている。
【0053】
キャラクタによらない統一の指示に対する各キャラクタの表現方法への変換テーブルは、選択されたシナリオのシーンにおいて、エージェントによらない統一の指示形態でエージェントへの動作の指示を規定された内容を各キャラクタの動作に変換するためのテーブルである。この変換テーブルを用いることにより、同じ表現したい状態に対してキャラクタによって異なる動作だったとしても共通の動作指示ができるようになる。
例えば、日本人のキャラクタの場合、「出会いの挨拶をする」という指示は「お辞儀をする」と規定されており、「話を聞く」という指示は「右手を耳にあてる」と規定されている。
これが欧米人のキャラクタの場合「出会いの挨拶をする」という指示は「右手を顔の横まで上げる」と規定されているし、ロボットのキャラクタの場合「出会いの挨拶をする」という指示は「頭部メイン画面上をレーザースキャンが上下に移動する」と規定されている。
【0054】
図8は、運転者情報データを概念的に示したものである。
運転者情報データ(10−2−3−6)は、運転者に関する情報で、エージェントのコミュニケーションをより運転者の希望や趣味、嗜好に合ったものとするために利用される。
運転者情報データ(10−2−3−6)には、運転者毎に情報を格納するための運転者のID(識別情報)、名前、年齢、性別、結婚(既婚か未婚か)、子供の有無と人数と年齢からなる運転者基礎データや、趣味嗜好データとが格納されるようになっている。
趣味嗜好データとしては、スポーツ、飲食、旅行等の大項目と、これら大項目の概念に含まれる詳細項目とから構成されている。例えば、大項目スポーツには、野球が好きか嫌いか、サッカーが好きか嫌いか、ゴルフが好きか嫌いか等のデータが格納されるようになっている。
本実施形態では、これらの各運転者情報には優先順位が決められており、エージェントは、未だ格納されていない運転者情報のうち優先順位が高い順に運転者に質問をするようになっている。運転者基礎データは、趣味嗜好データよりも優先順位が高くなっている。
【0055】
運転者情報データ(10−2−3−6)は、その車両を運転する運転者が複数存在する場合には、運転者毎に作成される。そして、運転者を特定して該当する運転者情報が使用される。
運転者の特定は、例えば、電源オン時に、全運転者に共通するエージェントが登場して運転者の問い合わせをし、その回答から特定する。運転者の問い合わせは、入力済み運転者の氏名とその他を選択するボタンを表示装置に表示し、選択を促す音声を出力する。その他が選択された場合には新規ユーザ登録画面を表示する。
なお、体重、運転席(シート)の固定位置(前後位置、背もたれの角度)、ルームミラーの角度、視線の高さ、顔写真をデジタル化したデータ、音声の特徴パラメータIDカード等といった運転者固有の情報を少なくとも1つ運転者情報データ(10−2−3−6)に格納しておき、これらの情報から運転者を特定するようにしてもよい。
【0056】
図6における学習項目データ及び応答データ(10−2−3−7)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によってエージェントが学習した結果を格納するデータである。
従って、学習項目データ及び応答データ(10−2−3−7)は、運転者毎にそのデータが格納・更新(学習)されるようになっている。
例えば、シナリオの使用状況として前回の選択結果や前回使用した日時、通算の使用回数等が格納される。
この学習内容に従って、例えば、毎回ナビ電源ON時に挨拶をするシナリオにおいて、前回使用から5分以内の場合に「つい先ほどにもお会いしましたね」と対応したり、逆に1ヶ月以上間があいている場合には「お久しぶりですね」と対応したりする。
【0057】
また、どの球団のファンであるか質問した結果の回答(無回答という対応も含めて)を格納したりもする。この応答の結果によって無回答の場合はもう一度どの球団のファンか質問したり、特定の球団が記憶されている場合はその球団についての会話を行なったりと対応を変えることができる。
無回答という対応の判定方法の例としては、質問を行なうシーンにおいてタイマーを設定し一定時間の間入力が無い状態を無回答とする事があげられる。
【0058】
次にシナリオデータ(10−2−3−4)の構成について説明する。
図9は、実機形式シナリオデータの構成を表したものである。
シナリオデータ(10−2−3−4)は、複数のシナリオで構成されており、それらを管理するためのデータと、個々のシナリオの内容を示すデータとで構成されている。
集録シナリオの管理データには、このシナリオデータの有効期限、作成された日や作成者等といった情報と、シナリオデータに収録されている個々のシナリオを全体的に管理するためのデータと、シナリオデータに収録されているシナリオの自律起動条件データ(起動条件)と、シナリオファイルに収録されているシナリオの中で運転者が入力装置(5)等を使って起動させることができるシナリオ一覧データが記されている(格納されている)。
【0059】
個々のシナリオの内容を示すデータには、それぞれのシナリオを管理するデータと、シナリオを構成する個々のシーンの内容を示すシーンデータとで構成されている。
それぞれのシナリオを管理するデータには、シナリオに関する情報と、このシナリオで使用する音声認識辞書を作成するためのテキスト情報と、シナリオを構成する各シーンデータを全体的に管理するためのデータが記されている。
【0060】
シーンデータは、シーンを管理するデータと、画面構成データと、キャラクタ動作データと、各種処理データと、展開管理データとで構成されている。
シーンを管理するデータには、そのシーンに関する情報とシーンデータに属する各データセクションを管理するデータが記されている。
画面構成データには、このシーンにおいて表示装置(2)に表示する画面構成の各パーツのデータ(大きさや表示位置等)が記されている。
キャラクタ動作データには、このシーンにおいてキャラクタが行なう動作の指示データと、話す内容に関する指示データが記されている。動作の指示データには、シナリオデータで直接各キャラクタの表現手段で指示するものと、キャラクタに表現させたい状態で指示するものの2種類のうちどちらかで指示データが記されている。
【0061】
各種処理データには、このシーンにおいて外部機器を制御(処理をさせる)する情報や、ナビゲーションを制御する情報や、他のシナリオを実行する指示や、タイマー設定情報や、キャラクタ心理を示すメンタルモデルのパラメータを変化させる情報等が記されている。
外部機器とは通信I/F部(1−11)に接続されている各機器等があり、例えば通信制御装置がある。制御する内容は、特定の電話番号に電話をかけるや、通話を切断する等がある。
ナビゲーションの制御内容には、例えばこの地点を目的地に設定するといったものが存在する。
メンタルモデルのパラメータを変化させる指示としては、友好度を1減少する等がある。
【0062】
展開管理データには、このシーンで何かイベントが発生した場合に、シナリオを終了するのか、次に進むシーンが何であるか、もしくは何も展開しないのか、といった情報が記述されている。
ここでいうイベントとは、シーンの展開を次に進めるためのもので規定された何らかのアクションを示している。例えばキャラクタの台詞が終了した、設定しておいた時間が経過した、運転者がこのシーンで質問した内容に対して何らかの回答を選択した(例えば「はい」or「いいえ」の質問に「はい」と答えた)、等が存在する。
このイベントに加えて学習した結果によって展開を変えることもできる。
例えば、質問に対し運転者が「はい」を選択した場合で通算使用回数が10回未満の時といった使い方ができる。
学習した結果のほかに、日時、メンタルモデルを使ったキャラクタの心理状態、運転者情報、等も使用して展開を変えることもできるようになっている。
【0063】
図10は、集録シナリオの管理データに格納されている自律起動条件データの構造を概念的に表したものである。
自律起動条件は、図10に示されるように、年、日付(月日)、及び位置を、所定の個別条件としてグループ化されている。
本実施形態では、最上位のグループ分けとして、年に関する条件を最上位のグループとしてグループ化されている。
図10(a)に示されるように、年に関するグループとして、各年に限定した(その年にのみ実行される)自律起動条件と、年に関する条件が無い(年に関係なく実行可能)自律起動条件とにグループ分け(分類)されている。
【0064】
そして、この年に関する条件による各グループの中で、第2位のグループとして、図10(b)に示されるように、日付(月日)に関するグループとして、各日付に限定した(その日付にのみ実行される)自律起動条件と、日付に関する条件が無い(日付に関係なく実行可能)自律起動条件とにグループ分け(分類)されている。日付によるグループにおいても、年と同様に、日付に関する条件が無い自律起動条件も日付条件無しにグループ分けされている。そして、年条件がなくて日付がある場合には、年条件無しのグループ内の該当日付にグループ化され、年月日の全条件がない自律軌道条件は、年条件無しのグループの中の、日付条件無しグループ化されている。
日付条件無しのグループには、歳時記・記念日といった直接の日付指定ではないグループが存在する。これは日付に関する条件ではあるが、運転者が登録した記念日であったりするので、エージェント装置側では条件が無い場合と同じ扱いで日付に関係なく条件判断を行なうよう登録される。
【0065】
そして、これら年条件内の日付条件によるグループの中で、更に、位置に関するグループ分けがされている。
すなわち、日付に関するグループの中で、第3位のグループとして、図10図(a)に示されるように、位置(1次メッシュ)に関するグループとして、位置に関する条件がない自律起動条件(位置に関係なくどこでも実行可能な地点条件無しのグループ)と、各1次メッシュに限定した(そのメッシュ内でのみ実行される)自律起動条件とにグループ分けされている。
【0066】
そして、位置に関する1次メッシュのグループの中で、位置に関する条件が存在するもの(何処かの1次メッシュに属する条件さらに細かくエリア分割した2次メッシュのグループに分割する。
すなわち、1次メッシュのグループの中で、さらに最下位(第4位)のグループとして、図10(d)に示されるように、位置(2次メッシュに)に関するグループとして、各2次メッシュに限定した(そのメッシュ内でのみ実行される)自律起動条件とにグループ分けされている。
位置に関する条件がない自律起動条件は、1次メッシュの地点条件無し以上のグループ分けが無いので、第4位のグループにおいてもそのまま1つのグループとなっている。
【0067】
このようにグループ化した自動起動条件は、自律起動判断部(101−2)ですばやく取得できるようにインデックス(識別符号)を付けて、実機形式(エージェント装置で扱う形式(NAV形式))のシナリオデータに格納されている。
すなわち、各自動起動条件には、該当するグループを表すインデックス(識別符号)が付されている。
【0068】
図11は、1次メッシュ及び2次メッシュによる位置座標の正規化について表したものである。
ここでは、例として、座標X=(北緯35度40分8.91秒、東経139度43分36.48秒)の位置が、2次メッシュで正規化した座標上でどのように表されるかについて説明する。
まず、図11(a)に示した1次メッシュのうちのどのメッシュに座標Xが位置するかを求めることで、1次メッシュコードを算出する。
いま、北緯35度40分8.91秒、東経139度43分36.48秒の座標Xの点は、左下の点が(緯度,軽度)=(35度20分,139度)である1次メッシュに含まれていることが求められる。
緯度方向の1次メッシュコードは、左下の値に3/2を掛けたものになる。
従って、緯度方向の1次メッシュコード=35度20分×(3/2)
=(35+1/3)×(3/2)
=53
また、経度方向の1次メッシュコードは、左下の値から100を引いたものになる。
従って、経度方向の1次メッシュコード=139−100=39
この緯度方向と経度方向の1次メッシュコードから、座標Xの1次メッシュコードは、5339となる。
【0069】
続いて、2次メッシュコードを算出する。図11(b)に示されるように、各1次メッシュコードは、緯度方向8、経度方向8の64の2次メッシュにに分割されていて、緯度、経度共にその値が小さいほうから0〜7の値が割り振られている。
従って、位置Xの点は、緯度方向:4、経度方向:5の2次メッシュに含まれるので、2次メッシュのコードは45になる。
【0070】
以上の計算から、座標X=(北緯35度40分8.91秒、東経139度43分36.48秒)の位置は、1次メッシュコードと2次メッシュコードとをあわせて、5339−45となる。
【0071】
次に、以上のように構成されたエージェント装置による、シナリオの実行動作について説明する。
図12は、シナリオのシーンデータに基づいて表示装置(2)に表示されるシーン画面の一例を表したものである。
この図12に示されるシーン画面は、未入力の運転者情報である趣味嗜好(食事)を取得するために運転者から質問をする質問シナリオのシーン画面(シーン番号0x0001)である。
シーン画面は、図12に示されるように、エージェントの画像(静止画、動画)が表示されるエージェント表示画面51、エージェントの音声に対応した文字が表示される吹き出し画面52、タイトル画面53、及び、各シーン固有の画像データ(実画像データの画像や回答選択ボタン等)が表示されるシーン表示画面54から構成されている。
【0072】
エージェント処理部(101)のシナリオ駆動部(101−1)は、趣味嗜好(食事)の質問シナリオを起動すると、最初にシーンヘッダで指定されるシーンの画面構成データをシナリオデータ+画像(10−2−3)から読み出してシーン画面を表示装置(2)表示すると共に、質問文に相当する質問音声を音声出力装置(3)から出力するようになっている。
図12(a)の質問シナリオのシーン画面では、吹き出し画面52に「どのジャンルの食事が好きですか?」と表示される。なお、吹き出し画面52の表示に対応する音声が音声出力装置(3)から出力されるようになっている。
また、図12(a)のシーン画面におけるシーン表示画面54には、4つの回答選択ボタン54aの「和食」、「洋食」、「中華」、「特に無し」が表示されている。
【0073】
この運転者に対する質問のシーンには、運転者の回答に応じた複数のシーンが分岐して続くようになっている。各シーンの分岐および続くシーンの特定については、各シーンの展開管理データに従って、運転者の回答に応じて決定される。
すなわち、図12(a)のシーン画面(シーン番号0x0001)で運転者が回答選択ボタン「和食」を選択すると、シナリオ駆動部(101−1)は、回答に応じたシーン画面(b)に分岐して表示される。このシーン画面(b)では、選択された「和食」がタイトル画面53に表示されると共に、吹き出し画面には「和食がすきなのですね。」と表示され、なお、分岐後の和食のシーン画面では、和食の実画像がシナリオデータから読み出され、シーン表示画面54に表示される。そしてシナリオ駆動部(101−1)により、運転者の回答、例えば、「和食」が運転者情報として、運転者情報307の趣味嗜好データに格納されるようになっている。
このようにして、シナリオに規定された各シーン画像と音声が最後のシーンまで連続的に順次表示、出力されることで、1シナリオにおけるエージェントの行為が完了することになる。
【0074】
図13は、旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移を各シーン毎に表したものである。
この案内シナリオは、複数のシーン画面のうち(a)〜(f)までのシーン画面が表示されており、シーン画面(c)に対するユーザの選択結果によって次のシーン画面が0x0004と0x0006に分岐している。また、図13の例では分岐していないが、シーン画面(d)においても選択した料理の種類に応じた料理をシーン表示画面54に表示するようにシーン画面を分岐させるようにしてもよい。
【0075】
以下図13に従って予約シナリオによるエージェントの各行為について説明する。
以下の各シーン画面に対応して説明するエージェントの動作や画面の表示はいずれも、外部シナリオのシナリオデータに格納されているデータや画像及び指示に従って表示等されるものである。また、エージェントの動作として説明するが、実際にはエージェント処理部(101)のシナリオ駆動部(101−1)が処理を行う。
【0076】
予約シナリオが起動されると、まず番号0x0001のシーン画面が表示装置(2)に表示される。このシーンでは、エージェント表示画面51にエージェントが登場し、お辞儀をして音声による挨拶をする。音声による挨拶の内容は、吹き出し画面52に表示されている文章と同一である。
音声による挨拶は、旅館に代わってエージェントが代行して行うことになるが、旅館の女将の写真画像をシーン表示画面54に表示することで旅館からの挨拶であることが表現されている。この女将の画像は、外部シナリオの一部として受信し追加した画像で、シナリオデータの実画像データとして格納されている(図6参照)。
エージェントの動作に対する指示は、キャラクタ動作指示データに格納されている指示に従う。
エージェントによる挨拶が終了すると、次のシーン0x002に遷移する。
【0077】
次のシーン0x0002では、シーン表示画面54に露天風呂の画像が表示される。そして、この露天風呂の絵をエージェントが指し示して、旅館の名物(ここが売りだということ)を、エージェントが音声と吹き出し画面52の表示で説明する。
エージェントの話が終了すると、次のシーン0x0003に遷移し、本日の食事の画像(懐石料理の画像)をシーン表示画面54に表示し、エージェントが料理の説明と、この料理で良いか否かを質問する。なお、シーン表示画面54には、シナリオの規定内容に従って、懐石料理の画像の他に、ユーザ回答用のボタン54aが表示される。
この質問に対する回答としてユーザが「はい」を選択した場合にはシーン0x0004に分岐し、「いいえ」を選択した場合にはシーン0x0006に分岐する。
【0078】
シーン0x0004では、懐石料理以外の選択可能なリストをシーン表示画面54に表示する。エージェントは、シーン表示画面54のリストを指し示して、どの料理が良いかを質問する。
そして、ユーザがいずれか1つを選択したらシーン0x0005に遷移する。
【0079】
シーン0x0005では、懐石料理から変更すべき人数のリストをシーン表示画面54に表示し、エージェントはこのリストを指し示して、人数の質問をする。
そしてユーザがいずれか1つを選択したらシーン0x0006に遷移する。
【0080】
シーン0x0006では、シーン表示画面54に旅館の外観写真画像を表示し、エージェントがお辞儀をして挨拶をする。
そして、エージェントは、ユーザが選択してきた結果、図13の案内シナリオの場合には食事に関する回答結果を、通信制御部24を介して実行中の外部シナリオを送信した第三者(旅館)に送信する。
このように、ユーザについての情報を取得したい場合には、外部シナリオの作成者は、取得したい情報が得られる質問のシーンをシナリオ中に設け、その回答を電子メールで送信するようにシナリオを作成する。なお、回答の送信が必要な場合には、作成者の電子メールアドレスをシナリオデータ中に含める。
最後のシーン(図13ではシーン0x0006)でのエージェントの話が終了すると、シナリオを終了させる。
【0081】
このようにして、シナリオ駆動部(101−1)は、シナリオに規定された各シーン画像と音声を最後のシーンまで順次表示、出力する。
起動したシナリオが終了すると、シナリオ駆動部(101−1)は、他のシナリオの実行についての起動条件の判断を行う。
【0082】
次に、このようなシナリオ駆動部(101−1)で実行される各種シナリオを自律的に起動するか否かの判断処理について説明する。
図14は、自律起動判断部によるシナリオの自律起動判断処理について表したものである。
この自律起動判断処理では、自律起動判断部(101−2)が装置の負荷を軽減するために、各種状況検出装置(6)から年月日と車両位置に関する情報を受け取り、その受け取った年月日と車両位置に該当及び近似するグループに分類された自律起動条件を、シナリオデータを保持している外部記憶装置(10)より読み出し(抽出手段)、RAM(1−4)に一時的に格納する処理を行う。
【0083】
すなわち、自律起動判断部(101−2)は、今現在置かれている状況情報を取得するため、エージェントI/Fを介し、エージェントOS(101−8)より現在位置、時間などの状況情報を取得する(ステップ11)。
そして、自律起動判断部(101−2)は、取得した位置、時間などの状況情報が所定単位の変化があるか否かを判断する(ステップ12)。
【0084】
判断の結果、所定単位の変化がありと判断された場合(ステップ12;Y)、自律起動判断部(101−2)は、変化後の位置と年月日の条件に該当及び近似するグループの自律起動条件を外部記憶装置(10)より読み出し、RAM(1−4)に一時的に格納する(ステップ13)。
ここで、所定単位の変化がありと判断されるのは、年が変わった場合、日付が変わった場合、及び、車両位置が現在の2次メッシュから他の2次メッシュに変わった場合が該当する。
また、変化後の位置と年月日の条件に該当するグループは、位置と年月日(年、日付)が一致しているグループをいう。なお、年条件無し、日付条件無し、及び地点条件無しの各グループ(図10参照)は、各条件(年、日付、2次メッシュ)に関係なく実行可能なグループなので、該当するグループとして扱う。
近似するグループは、該当する日付の翌日のグループ、及び、該当する2次メッシュの周囲8つの2次メッシュのグループをいう。
例えば、2002年8月1日に車両が2次メッシュコード5339−45内を走行している場合、2002年と年条件無しのグループの中の、8月1日と8月2日と日付条件無しのグループの中の、さらに、2次メッシュコード5339−34〜36、5339−44〜46、5339−54〜56及び地点条件無し、の各グループに分類された自律起動条件が読み出されてRAM(1−4)に格納される。
【0085】
そして自律起動判断部(101−2)は、読み込まれた自律起動条件を、状況情報が満たしているか否かについての条件判断処理を行う(ステップ14)。
なお、ステップ12の判断で所定単位の変化なしと判断された場合(;N)、予め読み出されていた起動条件を変更する必要がないため、ステップ14の処理に進む。
【0086】
図15は、条件判断処理(ステップ14)の処理内容を表したものである。
自律起動判断部(101−2)は、ステップ13で読み込まれたRAM(1−4)に格納されている収録シナリオの管理データから、最初の自律起動条件を取得し(ステップ21)、ステップ12で入手した各種状況情報による状況が、取得した自律起動条件を満たしているか否かを判断する(ステップ22)。
自律起動条件を満たしている場合(ステップ22;Y)、自律起動判断部(101−2)は、その自律起動条件に対応するシナリオの実行要求メッセージを、シナリオ駆動部(101−1)に対して発行する(ステップ23)。
【0087】
次に自律起動判断部(101−2)は、次の自律起動条件がRAM(1−4)にあるか否かを判断し(ステップ24)、あれば(;Y)、次の自律起動条件を取得し(ステップ25)、以後ステップ22〜25の各処理を全ての自律起動条件に対する判断が終了するまで繰り返す。
ステップ24において、次の自律起動条件が存在しない場合(;N)、自律起動判断部(101−2)は、自律起動判断処理を終了する。
以上のように、車載センサ、使用者データの少なくとも1つに基づき起動条件を満たしているか判断することにより、本願発明の条件判断手段が形成される。
【0088】
以上説明したように、本実施形態のエージェント装置によれば、シナリオ作成装置のユーザー(作成ユーザー)が作成したオリジナルのシナリオに組み込まれた自律起動条件を、シナリオの起動条件としてシナリオの実行を開始することができる。
従って、シナリオ作成装置のユーザーに対して、エージェントの登場を含めた各種シナリオを、自分の好みに合わせたタイミングで起動させるようなシナリオを自由に作成する場を提供することができる。
【0089】
また、本実施形態では5秒間隔で定期的に自律起動判断処理が実行されるようになっているので、各種状況の変化に対してほぼリアルタイムで、条件を満たしたシナリオを起動することが可能になる。
さらに、あらかじめシナリオの起動条件として選択される可能性が高い状況(状況の変化が大きい場合)も自律起動判断処理が実行されるので、定期的な判断処理が開始される前にも自律起動判断処理が実行され、かつ、この場合に該当する(条件を満たす)シナリオが多い。このため、よりリアルタイムに近い状態でシナリオを実行することができる。
【0090】
また、説明した実施形態によれば、エージェントの行為をシナリオデータで規定すると共に、このシナリオデータを複数の連続するシーンからなるシナリオによって規格化されているので、エージェント装置のユーザ及び第三者が自分でシナリオを作成し、組み込むことができる。
このように装置に予め格納されているデフォルトのシナリオに追加できるので、ユーザは自分に合った追加シナリオをインターネット等で探してダウンロードし、また自分でシナリオを作成することでエージェント装置をより快適に使用することができる。
【0091】
次に、ユーザや第三者が独自のシナリオを作成するシナリオ作成装置2の構成とその動作について説明する。
図16は、シナリオ作成装置の構成を表したものである。
シナリオ作成装置は、制御部(200)と、入力装置(210)と、出力装置(220)と、通信制御装置(230)と、記憶装置(240)と、記憶媒体駆動装置(250)と、入出力I/F(260)とを備えている。これら各装置は、データバスや制御バス等のバスラインにより接続されている。
【0092】
制御部(200)は、シナリオ作成装置全体を制御する。
シナリオ作成装置はシナリオ編集プログラムの実行だけでなく、その他プログラム類(例えばワープロや表計算等)を実行することもできる。制御部(200)は、CPU(200−1)と、メモリ(200−2)等から構成されている。
CPU(200−1)は、種々の演算処理を実行するプロセッサである。
メモリ(200−2)は、CPU(200−1)が種々の演算処理を実行する際にワーキングメモリとして使用される。
CPU(200−1)は、メモリ(200−2)にプログラムやデータなどを書き込んだり消去したりすることができる。
本実施の形態におけるメモリ(200−2)には、CPU(200−1)がシナリオエディタ(シナリオ編集プログラム)に従ってシナリオデータを作成、編集、記憶等するためのエリアが確保可能になっている。
【0093】
入力装置(210)は、シナリオ作成装置に対して文字や数字その他の情報を入力するための装置であり、例えばキーボードやマウスなどにより構成されている。
キーボードは、主にカナや英文字などを入力するための入力装置である。
キーボートは、例えばユーザがシナリオ作成装置にログインするためのログインIDやパスワードを入力したり、シナリオ作成の際に音声合成や音声認識の対象となる文を入力したりする際などに使用される。
マウスは、ポインティングデバイスである。
GUI(Graphical User Interface)などを用いてシナリオ作成装置を操作する場合、表示装置上に表示されたボタンやアイコンなどをクリックすることにより、所定の情報の入力を行なうこと等に使用される入力装置である。
【0094】
出力装置(220)は、例えば表示装置や印刷装置などである。
表示装置は、例えばCRTディスプレイ、液晶ディスプレイ、プラズマディスプレイなどが使用される。
表示装置には、シナリオを作成するためのメイン画面や、各シーンにおける画面構成を選択するための画面等の各種画面が表示される。また、各画面において選択された情報や入力された情報が表示されるようになっている。
印刷装置は、例えば、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置が使用される。
印刷装置で印刷するものは、例えば、作成したシナリオの全体の流れをチャート形式で表す図や、各シーンの設定状態を示すものがある。
【0095】
通信制御装置(230)は、外部との間で各種データやプログラムを送受信するための装置であって、モデム、ターミナルアダプタその他の装置が使用される。
通信制御装置(230)は、例えばインターネットやLAN(Local Area Network)などに接続可能に構成されている。通信制御装置(230)は、これらのネットワークに接続した他の端末装置あるいはサーバ装置などと通信によって信号及びデータのやり取りを行なうことで、装置で作成したシナリオデータを送信したり、第3者が作成したシナリオデータを受信(ダウンロード)したり、更に、シナリオデータの作成に必要なデータを取得したりすることができるようになっている。
通信制御装置(230)はCPU(200−1)によって制御され、例えば、TCP/IPなどの所定のプロトコルに従ってこれら端末装置やサーバ装置との信号及びデータの送受信を行う。
【0096】
記憶装置(240)は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。
当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
記憶装置(240)には、シナリオ編集プログラム(240−1)、シナリオ編集データ(240−2)、及びその他のプログラム・データ(240−3)が格納されている。その他のプログラムとして、例えば、通信制御装置(230)を制御し、シナリオ作成装置とネットワークでつながれた端末装置やサーバ装置との通信を維持する通信プログラムや、メモリ管理や入出力管理などのシナリオ作成装置を動作させるための基本ソフトウェアであるOS(OperatingSystem)なども記憶装置(240)に格納されている。
【0097】
記憶媒体駆動装置(250)は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、ICカード類、データをパンチした紙テープ、CD−ROMなどがある。
本実施形態では、シナリオ作成装置で作成・編集したシナリオデータ(エージェント装置で使用する形態)は、主としてICカード類に書き込まれるようになっている。
シナリオ作成装置は、記憶媒体駆動装置(250)によって記憶媒体を駆動することにより、シナリオデータが格納された記憶媒体からシナリオを取得したり、あるいは、作成したシナリオデータを記憶媒体駆動装置から記憶媒体に格納したりすることができる。
【0098】
入出力I/F(260)は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。
入出力I/F(260)に当該インターフェースに対応した外部機器を接続することにより、シナリオ作成装置の機能を拡張することができる。このような外部機器として例えば、ハードディスクなどの記憶装置、通信制御装置、スピーカ、マイクロフォンなどがある。
【0099】
次に、シナリオ編集プログラム(240−1)と、シナリオ編集データ(240−2)の構成について説明する。
図17は、シナリオ編集プログラムとデータの構成を概念的に表したものである。
シナリオ編集プログラム(240−1)は、シナリオエディタ(240−1−1)と、シナリオコンパイラ(240−1−2)と、DB編集ツール(240−1−3)が存在する。
シナリオ編集データ(240−2)は、共通定義DB(240−2−1)と、ローカル定義DB(240−2−2)と、シナリオエディタで作成したSCE形式シナリオデータ(240−2−3)と、シナリオコンパイラで変換された実機形式(NAV形式)シナリオデータ(240−2−4)が存在する。
シナリオエディタ(240−1−1)は、シナリオデータを作成するアプリケーションプログラムである。
【0100】
シナリオコンパイラ(240−1−2)は、シナリオエディタ(240−1−1)で作成されたSCE形式シナリオデータ(240−2−3)を、エージェント装置で使用可能な実機形式(NAV形式)シナリオデータ(240−2−4)に変換するアプリケーションプログラムで、変換手段として機能する。
図18は、データ形式の変換を概念的に表したものである。
この図18に示されるように、シナリオコンパイラ(240−1−2)は、1個以上のSCE形式シナリオデータ(240−2−3)を、1個の実機形式(NAV形式)シナリオデータ(240−2−4)に変換する。
シナリオコンパイラ(240−1−2)は、作成したシナリオデータを実機形式(NAV形式)に変換する際に、個別条件の論理和と論理積で構成された自律起動条件を、個別条件の論理積で構成された複数の起動条件に展開する条件展開手段として機能すると共に、展開した起動条件と展開しなかった起動条件(もともと論理和を含まなかった起動条件)を、図10に示されるように年、日付、及び位置に関してグループ化する分類手段として機能する。
【0101】
DB編集ツール(240−1−3)は、共通定義DB(240−2−1)に格納されているデータを編集・更新するためのアプリケーションプログラムである。
共通定義DB(240−2−1)は、シナリオデータを作成する際の定義データが格納される。共通定義DB(240−2−1)には、後述する自律起動判断データ、シーン展開をするアクション項目及び追加判断項目、等が格納される。この共通定義DB(240−2−1)は、シナリオ作成装置の記憶装置ではなく、ローカルエリアネットワーク(LAN)でつながっているサーバ上に存在してもよい。こうすることで、ローカルエリアネットワーク(LAN)でつながっている各シナリオ作成装置は共通の共通定義DB(240−2−1)を使ってシナリオデータの作成ができる。
ローカル定義DB(240−2−2)は、シナリオ作成者がシナリオデータを作成中に定義した画面構成が格納される。
【0102】
SCE形式シナリオデータ(240−2−3)は、シナリオエディタ(240−1−1)で作成されたデータである。
実機形式(NAV形式)シナリオデータ(240−2−4)は、シナリオコンパイラ(240−1−3)によってSCE形式シナリオデータ(240−2−3)からエージェント装置で使用するためのデータ形式に変換されたデータである。
【0103】
図19は、自動起動項目として設定可能な項目を例示したものである。
この自動起動項目は、エージェント装置で検出、認識、確認可能な各項目の種類のサンプルを概念的に一覧表示したものである。
この自動起動項目は、共通定義DB(240−2−1)に記述されており、シナリオエディタ(240−1−1)でシナリオを作成する際に、自律起動条件を設定するために、自動起動項目が共通定義DB(240−2−1)から読み出され、リスト表示される(提示手段)。作成者は、このリスト表示(一覧表示)された中から自動起動項目を選択する(選択手段)。
それぞれ選択された項目の種類に記されている内容によって数値入力を行なうウインドウが表示されたり、一覧から選択するウインドウが表示されたりして自動起動項目の判断条件を入力する。この操作を1又は複数回繰り返しシナリオを自律的に起動するための判断条件である自律起動条件のデータが作成される。
以上のように、画面要素推移体(シナリオ)の起動条件を設定することにより、本願発明の起動条件設定手段が形成される。
【0104】
図20、図21は、自動起動項目に対して、自律起動条件として選択可能な選択可能項目を例示したものである。
選択可能項目も共通定義DB(240−2−1)に記述されている。図19に例示した自動起動項目を示したテーブルのうち、種別の欄に一覧から選択と表記された項目について、更に下位の概念として選択可能な項目が、選択可能項目として図20、図21に規定されている。選択可能項目に規定されたグループと、自動起動項目の項目とは、一番左側のNo.の項目で対応付けられている。
表には示さないが他にもこれと同様に数値入力に関する定義テーブル等が存在し、時刻の入力ウインドウであったり、走行距離の入力ウインドウであったり、と異なった入力をするウインドウを作成することができるようになっている。
選択された自動起動項目と選択された選択可能項目及び入力された数値や時刻、距離等の組み合わせが、各シナリオに対する自律起動条件となる。例えば、ユーザによる選択が、自動起動項目「加速度」、選択可能項目「急減速状態」である場合、自律起動条件は「加速度−急減速」となる。
なお、本サンプルはあくまでもサンプルであり定義を変更してもよい。
例えば車速入力を一覧から選択にし、10km/h毎に区切られた項目の中から選択する形をとってもよい。
また、エージェント装置において新規にセンシングできる項目が増えた場合には、その項目を追加する事ができる。例えばシートベルト検知センサを組み込んだ場合、一覧から選択という入力手段でシートベルト状態という項目に対し、シートベルト未装着、シートベルトを装着しているといった項目が選択できる定義を組み込むことが考えられる。
これらの変更及び追加は、先に示したDB編集ツール(240−1−3)を使って行なう。
また、エージェント心理部からキャラクタの心理状態を入手して自律起動判断に加えてもよい。
この場合も、DB編集ツール(240−1−3)を使って定義データを追加する。例えば、一覧から選択という入力手段で自動起動項目としてキャラクタの心理状態、ブルー(落ち込んでいる)、機嫌がよい、等といった項目が選択できる定義を組み込むことが考えられる。
【0105】
図22は、シーンから次のシーンに分岐(シーン展開)をするための分岐項目(移行条件)が格納されたシーン分岐項目テーブルである。シーン分岐項目テーブルは、共通定義DB(240−2−1)に格納されている。
シーン分岐項目の各項目は、各シーンの展開構成を作成する際に読み出され、リスト表示される。このリスト表示された中から分岐条件項目を選択し、また、テーブルに格納されていない場合には別途分岐条件をDB編集ツール(240−1−3)を使って定義データを追加することにより、シーン展開構成が作成される。分岐条件項目の選択を繰り返すことで、複数の推移先を持つ(複数に分岐された)シーンを作成することができる。
【0106】
図23は、更に詳細に分岐条件を設定する場合の追加条件テーブルを表したものである。追加条件テーブルも共通定義DB(240−2−1)に格納されている。
追加条件項目は、前記のシーン展開をするアクション(分岐条件項目)に対してさらに複数の展開を持たせるために使用する項目である。このとき分岐させるためのシーンを作成する。分岐させるためのシーンを作成すると、分岐させるためのシーンからの展開構成を作成する際には、追加判断項目が読み出さる。分岐させるためのシーン1個に対し、1分類のみ選択でき、選択された分類の項目が一覧リスト表示されて選択する、もしくは数値入力で範囲指定する。複数の分類を論理積で掛け合わせたい場合は、分岐させるためのシーンを重ねることで容易に作成する事ができるようになっている。
上述したようにエージェント装置は、学習部(101−3:図5参照)により、シナリオが複数のシーンに分岐していて、それぞれ異なるシーンでシナリオが終了する場合の終了の仕方をエンドIDとして記録するようになっている。また、学習部(101−3)は、シナリオのなかでユーザの応答や、通算使用回数等を学習データといして記録することができるようになっている。
【0107】
図23に示す追加条件テーブルには、これら記録されたシナリオ終了状態(エンドID)や、シナリオの通算使用回数、ユーザ情報、メンタルモデル、日時などのその他の分類項目と、各分類における選択できる項目一覧の作成方法が定義されており、これらを追加分岐条件として選択し、1個のシーン展開をするアクションに対して複数の展開を持たせることが可能になっている。
シーン展開をするアクション項目及び追加判断項目に関する定義データも自律起動判断データと同様に、変更及び追加がDB編集ツール(240−1−3)を使って行なうことができるようになっている。
【0108】
共通定義DB(240−2−1)には、その他、音声認識に使用する音声認識用データと、キャラクタの動作指示に使用するデータ(別途台詞の指示データも存在する)と、設定した指示をプレビューして確認するためのキャラクタ画像データ及びキャラクタ台詞データ及びキャラクタによらない統一の指示に対する各キャラクタの表現方法への変換テーブルと、表示装置(2)に表示する各パーツデータ及びそれらをどのように配置するかが記された画面構成データと、シーンにおける処理内容として選択可能な項目、例えば、エージェントが処理可能な行為である、オーディオ装置のオン・オフやチャンネル選択、エアコン装置のオン・オフと温度設定、全体処理部(102)に供給する目的地の設定等の各種処理内容項目データ等が共通定義DB(240−2−1)に格納されている。
これら全ての定義データも、各定義データと同様に、変更及び追加がDB編集ツール(240−1−3)を使って行なうことができるようになっている。
【0109】
次に、このように構成されたシナリオ作成装置によるシナリオ作成の各動作について、画面の遷移に従って説明する。
図24は、シナリオエディタ(240−1−1)を起動した場合に表示装置に表示されるメインウィンドウの構成を表したものである。
この図24に示されるように、メインウィンドウは、作成中のシーン画面(エージェント装置(1)の表示装置(2)に表示されるシーン画面(図10参照))が表示されるシーン画面301と、各種設定を行う設定項目が表示された設定画面303と、シーンの展開構成(分岐の状態)が各シーンを表すシーンアイコン307のツリー構造により表示されるシーン展開画面305で構成されている。
【0110】
シナリオエディタ(240−1−1)を起動すると、メインウインドウのシーン展開画面305には、スタートポイント308が表示される。このスタートポイント308を選択するとシナリオプロパティの編集ができる。選択は、例えば、マウスカーソルによるポイント位置をスタートポイント308に合わせて、マウスをダブルクリックすることで選択される。
画面構成の変更ボタン309は、クリックすると表示したい画面構成の選択ができる。
効果音設定ボタン110をクリックすると、後述するように、シナリオの各シーン毎に効果音を設定する画面が表示される。
エージェント表示画面311をマウスでダブルクリックすると、エージェント(キャラクタ)の動作の編集画面が表示される。
台詞編集ボタン313をクリックするとキャラクタの台詞の指示が編集できる。
ボタンパーツ・バックグラウンド音声認識辞書設定315をダブルクリックすると使用する音声認識辞書の編集ができる。シーン画面301の回答選択ボタン315a(54a)のマークで表示されている方を選択すると認識する単語の名称がシーン画面に表示され、バックグラウンドで認識する方315bを選択すると、音声認識の対象となるが認識する単語の名称は表示されない。
【0111】
タイマーの設定317では、シーン表示後にタイマーによる通知を発行するまでの時間を設定する。
外部機器等の制御指示編集319では、外部機器等(ナビも含む)の制御指示を設定する。
次のシーン作成ボタン321をクリックするとシナリオの流れを編集できる(次のシーンを作成する)。このシーン作成ボタン321でシナリオの流れを分岐させることで、各シーンの展開構成が作成される。例えば、シーンのアイコン1を選択した状態(アクティブ表示されている状態)で、次のシーン作成ボタン321をクリックするとシーン1に続くシーンのアイコンが下層側に表示され、複数回クリックすることでシーン1に続いて展開されるシーン2,3,…が分岐して作成される。
【0112】
シナリオの終了位置作成ボタン323をクリックするとシナリオの終了位置を作成できる。作成した各シナリオの終了位置には、終了番号がエンドIDとして割り振られるようになっている。
シナリオコンパイルボタン325をクリックすると作成したシナリオをナビゲーションで使うための実機形式(NAV形式)のフォーマットにコンパイルできる。
【0113】
図25は、シナリオプロパティを編集する画面操作の流れを表したものである。
図25の(a)に示したメインウインドウにおいて、シーン展開画面305に表示されているスタートポイント308をダブルクリックすると、図25(b)に示すシナリオプロパティの編集ウインドウがメインウィンドウ上に重ねて表示される。
【0114】
このシナリオプロパティの編集ウィンドウにおいて、シナリオ名称入力,カナ名称入力,アイコン選択,プライオリティの設定,有効期限(開始条件を満たしてから実際に開始するまでのタイムラグの上限値)の設定,シナリオの自律起動条件の設定(別ウインドウ),作成者名称入力,コメント入力が行なえる。この画面で入力されるシナリオ名称入力,カナ名称入力は、実行形式のシナリオデータにおける管理データ等となる。
シナリオプロパティの編集ウィンドウにおいて、決定ボタン402をクリックすると編集内容がデータに反映され、メインウインドウに戻る。一方、キャンセルボタン403をクリックするとデータに反映されなで、メインウインドウに戻る。
シナリオプロパティの編集ウィンドウにおいて、起動条件の設定ボタン401をクリックすると、シナリオ開始条件(自律起動条件)のメイン編集ウィンドウ(図25(c))が重ねて表示される。
シナリオ開始条件のメイン編集ウインドウ(図25(c))で完了ボタンをクリックするとシナリオ起動条件の編集を終了しシナリオプロパティの編集ウィンドウ(図25(b))に戻る。
【0115】
図26は、シナリオ開始条件のメイン編集ウィンドウから、シナリオ起動条件を編集する画面操作の流れを表したものである。
シナリオ開始条件のメイン編集ウインドウ(図26(a)=図25(c))では、ユーザがシナリオを手動で開始できるように設定できる。この事例ではチェックボックス406のチェックを外して手動で起動しないに設定する。
このシナリオ開始条件のメイン編集ウインドウ(a)の左側の自動起動条件(自律起動条件)一覧にはシステムがシナリオを自動で開始する条件が表示される。図26(a)の状態では、まだ何も設定されていないので空欄の状態である。
シナリオ開始条件のメイン編集ウインドウ(図26(a))において、新規作成ボタン405をクリックすると、自動開始条件選択ウインドウ(図26(b))が表示され、新しい開始条件の編集ができる。
【0116】
自動開始条件選択ウインドウ(図26(b))において、設定したい判断条件項目(カテゴリ)を選択し、決定をクリックすると自動開始する条件範囲の選択ウインドウ(図26(c))へ進む。この図26(b)の例示では、高速道路走行中にシナリオを自動で開始(自律起動)したいので、「道路の状態がどのようなときに起動するか選択」の中の「種類を選択」の項目を選択し、決定をクリックする。
キャンセルをクリックするとシナリオ開始条件のメイン編集ウインドウ(図26(a))に戻る。
【0117】
この自動開始条件選択ウインドウ(図26(b))に表示し、選択できる項目は、図19に表示した自動起動項目である。図26(b)において、「いつ起動させるかを選択」のフォルダ内を選択すると図19のNo.1〜10の条件項目が1つ下の階層に表示される。
同様に、「どこで起動させるかを選択」のフォルダを選択するとNo.11〜16が、「道路の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜23が、「車の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.17〜20が、「ナビの状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜28が、「ユーザーがどのようなときに起動させるかを選択」のフォルダを選択するとNo.29〜30が、それぞれ1つ下の階層に表示される。
【0118】
自動開始する条件範囲の選択ウインドウ(図26(c))では、前のウインドウ(b)で選択した判断条件項目(カテゴリ)によってウインドウの構成が変わる。図示した例では、道路の種類を選択する項目のウィンドウが表示されている。
自動開始する条件範囲の選択ウインドウ(図26(c))で、選択可能な項目は、自動開始条件選択ウインドウ(図26(b))で選択した自動起動項目に対応する、選択できる項目(図20)である。この選択できる項目は、選択項目欄408右側のマークをクリックすることで、プルダウンメニュー表示される。
自動で開始しても良い条件範囲を一覧から選択(又は数字で入力)し、追加ボタンをクリックすると選択した項目が設定されて下の欄に表示される。図示した例では、「高速道路」を選択して追加ボタンをクリックした場合が表示されている。
自動開始する条件範囲の選択ウインドウ(図26(c))で決定ボタンをクリックするとその設定状態に決定し、シナリオ起動条件のメイン編集ウインドウ(図26(d))に戻る。
キャンセルをクリックすると自動開始条件選択ウインドウ(図26(b))に戻る。
【0119】
図26(d)のシナリオ開始条件のメイン編集ウインドウでは、左側の自動起動条件一覧に、上記操作で設定した自動で開始する条件(道路の種類が高速道路だったら起動する)が表示されている。
また、自動起動の条件一覧画面に表示されている自動で開始する条件を選択して編集ボタンをクリックすると、選択した条件にさらに条件設定を追加するための自動開始条件選択ウインドウ(図26(b))が表示される。
【0120】
次に、道路種類が高速道路だったらという条件設定に「かつ、車速が120km/h以上だったら」という条件を付加した自律起動条件を設定する操作について、図27に示した画面遷移に従って説明する。
シナリオ開始条件のメイン編集ウインドウ(図27(a))において、左側の自動起動条件一覧には、すでに設定したシナリオを自動で開始する条件(自律起動条件)が表示される。図27(a)では、図26で例示的に設定した道路種別が高速道路の場合に自動で開始する条件が表示されている。すなわち、左欄の自動起動条件一覧に表示された自動起動条件0の第1の内容として「道路の状態がどの状態のときに起動させるか選択」という条件が表示され、そのフォルダを選択すると、右側の起動範囲欄にその具体的内容が表示される(図26(d)参照)。
この自動起動条件一覧に表示された各階層のフォルダに含まれる条件に対して論理積と成る他の条件(アンド条件)を設定する場合には、1つ上の階層のフォルダを選択し(図27(a))、編集ボタンをクリックする。
編集ボタンのクリックにより、アンド条件を設定するための自動開始条件選択ウィンドウ(図27(b))が表示される。
【0121】
そして、自動開始条件選択ウィンドウ(図27(b))において、アンド条件として設定する条件が含まれるフォルダを開き、自動で開始する条件として設定したい項目を選択し、決定をクリックする。
この事例では車速が120km/h以上で走行中に自動で開始したいので、図27(b)に示すように、「車の状態がどのようなときに起動するか選択」の下にある「車速」の下の「状態で選択」の項目を選択し、決定をクリックする。
この決定ボタンのクリックにより、自動開始する条件範囲の選択ウィンドウ(図27(c))が開かれる。
なお、キャンセルをクリックすると、シナリオ開始条件のメイン編集ウィンドウ(図27(a))に戻ることができる。
【0122】
自動開始する条件範囲の選択ウインドウ(図27(c))は、前のウインドウ(自動開始条件選択ウィンドウ)で選択した自動で開始する条件の項目によってウインドウの表示構成が異なる。この事例では図27(c)に示すように車速の種類を選択できるウインドウを示している。
自動で開始したい条件範囲を一覧から選択し、追加ボタンをクリックし設定する。この事例では120km/h以上の車速に相当するものを選択して追加ボタンをクリックする操作を繰り返し、全て選択する。選択した条件はすべて下の欄に表示され、この欄に表示された各条件は論理和の条件(オア条件)となる。
決定ボタンをクリックするとそのときの設定状態が決定され、シナリオ開始条件のメイン編集ウィンドウ(図27(d))に戻る。
なお、キャンセルをクリックすると自動開始条件選択ウィンドウ(図27(b))に戻ることができる。
【0123】
決定後のシナリオ開始条件のメイン編集ウインドウ(図27(d))では、左側の自動起動条件一覧に、先の操作で設定した自動で開始する条件(道路の種類が高速道路だったら自動で開始する)に上記の操作で設定した条件(なおかつ車速が120km/h以上だったら自動で開始する)が追加されて表示される。
【0124】
次に、道路種類が高速道路でかつ、車速が120km/h以上だったらという条件設定に、さらに追加するアンド条件として、「かつ、東名高速道路下り線の由比PA付近に設置されているオービスの2km手前の地点だったら」という条件を付加する操作について図28を参照しながら説明する。
【0125】
図28(a)に示すシナリオ開始条件のメイン編集ウインドウでは、エージェントシステムがシナリオを自動で開始する条件(設定済みの自律起動条件)が左側の自動起動条件一覧に表示される。すなわち、ここまでの操作で設定されている「道路種別が高速道路の場合」でかつ「車速が120km/h以上だったら」自動で開始する条件が表示されている。これら両条件に加えてアンド条件を設定するために、その1つ上の階層の自動起動条件0を選択し、編集をクリックして、自動開始条件選択ウィンドウ(b)に進む。
【0126】
自動開始条件選択ウインドウ(図28(b))において、自動で開始する条件として設定したい項目を選択し、決定をクリックする。この事例では特定の地点に居たら自動で開始するようにしたいので、「どこで起動させるか選択」の下にある「地点」の下の「地図で選択」の項目を選択する。
なお、「登録地点から選択」を選択した場合には、使用中に登録した地点(例えば、自宅、会社、目的地、経由地等のナビゲーション装置使用時において時々によって変化する登録した地点を、ICカード等よりDB編集ツール(240−1−3)を介し、共通定義DB(240−2−1)に格納した地点)のリストが表示される。
【0127】
自動開始する条件範囲の選択ウインドウ(図28(c))では、前のウインドウ(b)において自動で開始する条件として設定したい項目によってウインドウの構成が変わる。この事例では地図から地点を選択できるウインドウを示している。地図のデータについては、記憶装置(240)の共通定義データ(240−2−1)から読み出して表示する。なお、使用する地図については、エージェント装置のナビゲーション機能で使用される地図と同一であることが好ましいが、異なる地図であっても絶対座標(緯度、経度)を特定することができれば、他の地図であっても使用可能である。地図データについては、ナビゲーション用のCDROMや、DVDに格納された地図を使用してもよく、また、インターネット等のネットワークを介してダウンロードした地図、その他の地図を使用してもよい。
【0128】
自動開始する条件範囲の選択ウインドウ(図28(c))において、自動で開始しても良い条件範囲を地図から選択(希望の地点をクリックする)し、追加ボタンをクリックし設定する。この事例では東名高速道路下り線の由比PA(パーキングエリア)付近に設置されているオービスの2km手前の地点を地図上でクリックして選択し、更に、追加ボタンをクリックして設定する。
決定ボタンをクリックするとその設定状態に決定し、図28(d)に示したシナリオ開始条件のメイン編集ウィンドウに戻る。
【0129】
図28(d)で例示したシナリオ開始条件のメイン編集ウインドウでは、左側の自動起動条件一覧に、ここまでの操作で設定した自動で開始する条件(道路種別が高速道路の場合でかつ車速が120km/h以上だったら自動で開始する)に今回の操作で設定した条件(なおかつ地点が東名高速道路下り線の由比PA付近に設置されているオービスの2km手前の地点だったら自動で開始する)が追加されて表示されている。
シナリオ開始条件のメイン編集ウィンドウ(d)で、完了ボタンをクリックすると、シナリオの開始条件の編集が終了する。
これで、東名高速道路下り線の由比PA付近に設置されているオービスの2km手前の地点でかつ、道路種別が高速道路でかつ、車速が120km/h以上で走行している場合に自動で開始する条件設定が完了する。
更に、アンド条件を設定したい場合には同様の処理を繰り返すことで、複数の論理積の条件を設定することができる。
【0130】
次に、以上説明した事例以外でよく使用する自動で開始させたい条件を設定する場合の、自動開始する条件範囲の選択ウインドウについて説明する。
各ウィンドウは、自動開始条件選択ウィンドウで該当項目を選択して決定をクリックすることで表示される。
【0131】
図29(a)は、日付入力用の自動開始する条件範囲の選択ウインドウである。
このウィンドウにおいて、自動で開始させたい日付を入力して追加ボタンをクリックすると下の条件表示欄に反映され、更に決定ボタンをクリックすると条件として設定される。
【0132】
図29(b)は、時刻入力用の自動開始する条件範囲の選択ウインドウである。
このウィンドウにおいても、自動で開始させたい時刻を入力して追加ボタンをクリックする下の条件表示欄に反映され、更に決定ボタンをクリックすると条件として設定される。
【0133】
図29(c)は、地点を東経北緯の座標で入力する場合の自動開始する条件範囲の選択ウインドウである。
このウィンドウにおいて、自動で開始させたい地点を東経北緯の座標(1/128秒単位)で入力して追加ボタンをクリックすると下の条件表示欄に反映され、更に決定ボタンをクリックすると条件として設定される。
【0134】
以上説明したように、本実施形態のシナリオ作成装置によれば、作成したシナリオを自動的に起動させるタイミング(諸条件)を自由に設定することができる。例えば、毎年特定の日(例えばクリスマスイブ、誕生日、結婚記念日等)に1回だけ起動する作成者独自のシナリオを作成することも可能である。
設定できる条件は、作成したシナリオを実際に実行するエージェント装置で検出可能な各種状況に対応されているため、設定した条件を満たす場合に確実にシナリオを起動させることができる。すなわち、確実に起動可能な条件を設定することができる。
本実施形態のエージェント装置は、車両に搭載され、かつナビゲーション機能を備えているので、ナビゲーションとの連携でシナリオを自律起動させる条件を設定することができる。例えば、車両で移動中に休憩できる場所を紹介するシナリオの自律起動条件として、エンジンを始動してから2時間経過していて、かつ自宅周辺でない(例えば自宅から20km圏内の外に居る)場合に自律起動する条件を設定することができる。
【0135】
また、本実施形態によれば、例えば、オービスの設置してある2km手前の地点(東経北緯座標で指定)でかつ、道路種別が高速道路でかつ、車速が120km/h以上で走行している場合に自動で登場してオービスの警告をしてくれるシナリオの条件の中にある車速の条件を140km/h以上に変更することも可能になる。
この場合、シナリオ開始条件のメイン編集ウィンドウの、自動起動の条件一覧の変更したい条件が含まれるフォルダを選択することで、右側の1「起動範囲」の欄に変更したい条件120km/h以上を表示、選択して削除キーを押し、その後新たに140km/hの条件を設定する。
【0136】
次に、本実施形態におけるシナリオの各シーン毎に効果音を設定する効果音設定手段の操作手順について図30を参照しながら説明する。
この効果音の設定は、エージェントが自律的に登場した場合の他、各シーン毎に設定することができる。
図30(a)に示すシナリオエディタのメイン画面において、左側のシーン展開画面305に表示されているシナリオ図で1番のシーンを選択(クリック)することで、効果音を設定するシーンを特定する。
そして、メインウィンドウに表示された効果音ボタン310をクリックすると、効果音の選択ウィンドウ(図30(b))が表示される(効果音表示手段)。
【0137】
そして効果音選択ウインドウ(b)において、「効果音を使用する」のチェックボックス1にチェックして効果音を使用する設定にする。
すると、効果音選択ウインドウは図30(c)に示すように、効果音を選択する選択ボックスが有効(選択可能)になる。この選択ボックスで複数ある効果音の各名称をプルダウン表示させ、必要な効果音を選択する。ここでは、「注意・警告」の効果音を選択した場合を例に表示されている。
選択可能な効果音の種類は複数存在し、開始音、知らせる、アクシデント、操作代行、注意・警告等に分類されて名称がつけられており、プルダウンメニューでリスト表示する際に表示される。
【0138】
効果音選択ウインドウ(c)で効果音を選択すると決定ボタンが有効になるので(d)、決定ボタンをクリックして決定する(効果音選択手段)。
これにより、図31に示すように、メインウインドウ右側にあるシーン詳細設定領域の右上に効果音を設定したことを示す効果音設定アイコン312が表示される。
シナリオの作成者は、メインウィンドウにおいて各シーン毎に効果音設定アイコン312表示の有無から、効果音の設定状況を知ることができる。
【0139】
次に、自律起動条件と効果音の設定以外の、シナリオを作成する各種操作について説明する。
図32は、エージェント表示画面51(図12参照)に表示したい画面構成を選択する画面操作の流れを表したものである。
この図32(a)に示されるメインウィンドウのシーン展開画面305に表示されているシーンアイコン307を選択してアクティブ状態にすると、選択したシーンアイコンに対応するシーン画面310が表示される。そして、設定画面303の画面構成の変更ボタン309をクリックすると、画面構成の選択ウインドウ(b)が表示される。
この画面構成の選択ウインドウ(b)では、シーン表示画面54(図12参照)に表示可能なる画面構成が一覧表示される。何も表示されない基本画面、ボタンによる選択ボタンが2つ表示された2択画面、選択ボタンが複数表示されたボタン選択画面、例えば、都道府県名等の複数の項目がリスト表示されるリスト選択画面、画像データを表示する画像表示画面等の各種選択可能な画面が表示される。
一覧表示された各画面構成の中から1の画面構成を選択し、決定ボタンをクリックすると画面構成を変更する場合は確認ダイアログで確認後変更する場合は、その画面構成に変更してメインウィンドウ(a)に戻る。メインウィンドウに戻ると、シーン画面301が新たに選択した画面構成に変更されて表示される。
【0140】
以下図33から図35までが本実施形態におけるキャラクタの表示内容(画像、音声)、処理内容(キャラクタの動作)を設定するキャラクタ設定手段を形成する。
図33は、キャラクタ動作(エージェントの動作)指示を編集する画面操作の流れを表したものである。
シーン画面の編集状態を表しているメインウィンドウ(図33(a))において、エージェント表示画面311をマウスでダブルクリックすると、キャラクタごとの直接指示編集ウインドウ(b)又はキャラクタ動作の統一指示編集ウインドウ(c)が表示される。
動作指示をキャラクタごとの直接指示で指示しているときは(b)が表示され、キャラクタに表現させたい状態で指示している場合は(c)が表示される。
【0141】
図33(b)のキャラクタごとの直接指示編集ウインドウでは、モーション(動作),表情(感情表現の要素),髪型(成長表現の要素),服装(TPO表現の要素),スケール(キャラクタ表示領域をカメラのフレームとするとそのカメラアングルの要素),口パクをする範囲(台詞を割り当てる範囲),動作の指示タイミング,及びキャラクタ表示領域の背景を選択する。このウィンドウにおいて、決定ボタンをクリックすると編集内容がデータに反映され、メインウィンドウ(a)に戻る。キャンセルボタンをクリックするとデータに反映されなで、メインウィンドウ(a)に戻る。
また、表現内容指定ボタンをクリックすると、キャラクタに表現させたい状態で指示する状態指示編集ウインドウ(c)切り替わる。
【0142】
図33(c)のキャラクタ動作の状態指示編集ウインドウでは、キャラクタが表現する状態として、仕事の要素,精神状態の要素,TPO表現の要素,成長表現の要素,スケール要素(キャラクタ表示領域をカメラのフレームとするとそのカメラアングルの要素),動作の指示タイミング,及びキャラクタ表示領域の背景を選択する。このウィンドウで、決定ボタンをクリックすると編集内容がデータに反映され、メインウィンドウ(a)に戻る。キャンセルボタンをクリックするとデータに反映されなで、メインウィンドウ(a)に戻る。
直接指示指定ボタンをクリックすると、キャラクタ動作の直接指示で指示する直接指示編集ウインドウ(b)に切り替わる。
【0143】
図34は、キャラクタ(エージェント)の台詞指示を編集する画面操作の流れを表したものである。
シーン画面の編集状態を表しているメインウィンドウ(図34(a))において、設定画面303の台詞編集ボタン313をクリックすると台詞の編集ウインドウ1(b)が表示される。
この台詞の編集ウインドウ1(b)では、「PCM」のタブ画面が表示され、PCM(録音されて用意されている肉声データ)の指示ができる。
台詞の編集ウインドウ1(b)で「TSS」タブを選択すると、台詞の編集ウインドウ2(c)が表示され、TTS(合成音声)の指示ができる。
PCMの場合台詞を全角ひらがなで入力(上記入力用ボックス)し該当する台詞が有るか検索(検索ボタンをクリックする:前方一致と完全一致の2種類の検索方法を用意)し、検索結果(検索結果一覧表示欄が存在する)から選択しキャラクタに話させる台詞を設定(追加ボタンをクリックすると設定できる)していく。
TTSの場合は台詞名称(吹き出し表示用データ)とフリガナ(合成音声を作成するためのデータ)を入力しキャラクタに話させる台詞を設定(追加ボタンをクリックすると設定できる)していく。
台詞の編集ウインドウ1(b)、2(c)において、決定ボタンをクリックすると編集内容が吹き出し画面430のデータとして反映されてメインウィンドウ(a)に戻り、キャンセルボタンをクリックするとデータに反映されなでメインウィンドウ(a)に戻る。
【0144】
図35は、音声認識辞書を編集する画面操作の流れを表したものである。
この操作は、装置側からの回答を要求する問いかけに対する回答を認識するための音声辞書を設定するものである。
シーン画面の編集状態を表しているメインウィンドウ(図35(a))において、選択された画面構成にしたがって表示されるボタンパーツ部315a(画面構成によっては通常リストボックスパーツ部の場合も有る)をダブルクリックすると音声認識辞書選択ウインドウ(b)が表示される。また、バックグラウンドで認識する辞書の一覧表示部315bをダブルクリックしても音声認識辞書選択ウインドウ(b)が表示される。
【0145】
音声認識辞書選択ウインドウ(図35(b))において、辞書候補の一覧表示にある辞書名称をダブルクリックするとその音声認識辞書を使うものとして、一般辞書として選択した一覧に表示される。
決定ボタンをクリックすると編集内容がデータに反映されてメインウィンドウ(a)に戻り、キャンセルボタンをクリックするとデータに反映されなでメインウィンドウ(a)に戻る。
新規作成ボタンをクリックすると、音声認識辞書を新規に作成する音声認識辞書作成ウインドウ(図35(c))が表示される。
【0146】
音声認識辞書作成ウインドウ(図35(c))では、辞書の名称を入力して辞書追加ボタンをクリックするとその名称で音声認識辞書を新規に作成して音声認識辞書へ単語登録するウインドウ(d)が表示される。
音声認識辞書作成ウインドウ(c)でOKボタンをクリックすると音声認識辞書の作成を終了し、音声認識辞書選択ウインドウ(b)にもどる。
【0147】
音声認識辞書へ単語登録するウインドウ(図35(d))では、登録したい単語を半角カナでフリガナ欄に入力し、決定ボタンをクリックする。次に名称(表示させたい名称)を選択もしくは新規入力し、コールバックをする際のPCM音声を選択(無しを選択すればコールバックする場合はTTSを使用する)する。これら3項目の入力をした後に登録ボタンをクリックするとデータ登録され右側の登録単語一覧に追加される。
登録したい単語の登録を全て終わったら戻るボタンをクリックすると音声認識辞書作成ウインドウ(c)に戻る。
【0148】
図36は、シナリオの流れを編集する画面操作の流れを表したものである。
メインウィンドウにおいて作成中のシーンアイコン307(図ではアイコン1)を選択してアクティブ状態にして、新規シーン作成ボタン321をクリックすると、移行の選択ウインドウ(b)が表示される。
この移行の選択ウインドウ(b)において、新規に作成するシーンへ分岐させる条件を分岐イベント一覧から選択し、OKボタンをクリックするとその条件(分岐イベント)に決定してメイン画面(a)へ戻る。戻った後のメイン画面(c)では、シーン展開画面305に、新たにシーン(図ではシーンアイコン(4)が作成されている。新規に作成されたシーンアイコンでは、他のシーンアイコンと区別するため、NEWと表記される。
なお、分岐イベントの選択ウィンドウで選択できる分岐イベントは、図22に表示されている。
【0149】
図37は、シナリオの終了位置を編集する画面操作の流れを表したものである。
メインウインドウ(a)において、シナリオの終了位置作成ボタン323をクリックするとエンドIDの指定ウインドウ(b)が表示される。
このエンドIDの指定ウインドウ(b)において、終了位置マークの持つID番号を指定する。通常は自動割付するが、自動で割り付けると書かれたチェックボックスのチェックをはずせばエディタの操作者が自分で割り付けることもできる。OKボタンをクリックするとID番号を決定し分岐イベント選択ウインドウ(c)が表示される。
【0150】
分岐イベント選択ウインドウ(c)では、新規シーン作成時と操作方法は同様にシナリオを終了するための分岐条件を設定する。追加条件設定も同様にできる。このウィンドウで、OKボタンをクリックするとその条件(移行条件)に決定してメインウィンドウ(d)へ戻る。このときシナリオ図には新たにシナリオ終了位置433が作成されている。
以上説明したように、キャラクタ(エージェント)の表示内容、処理内容の少なくとも1つが定義された画面要素を1画面要素(シーン)とし、該画面要素及び画面要素間の移行条件とを組み合わせて画面要素推移体(シナリオ)を作成する画面要素推移体作成手段が形成される。
【0151】
図38は、作成したシナリオをエージェント装置で使用可能な実機形式(NAV形式)のフォーマットにコンパイルするための画面操作の流れを表したものである。
メインウインドウ(a)において、シナリオコンパイルボタン325をクリックすると、シナリオコンパイラ(240−1−2)が起動して、シナリオコンパイラのウインドウ(b)が表示される。
このシナリオコンパイラのウインドウ(b)において、コンパイルしたデータを出力するファイルの名称を指定し、同時に変換するシナリオを選択(シナリオ一覧リストにチェックしたシナリオを同時に変換する)し、コンパイルボタンをクリックするとデータ変換を開始する。データ変換の状況を結果表示部に表示する。
終了ボタンをクリックするとデータ変換を終了し、メインウィンドウ(a)に戻る。
【0152】
このコンパイルボタンのクリックによるデータ変換により、シナリオエディタで作成された自律起動条件の展開と、グループ化(分類)が行われる。
例えば、オービス警告のシナリオPを起動する条件として、次のa〜eの5の条件が設定された場合について説明する。
条件a:走行中の道路が高速道路である
条件b:車速が120km/h以上である
条件c:オービスAの地点の2km手前
条件d:オービスBの地点の2km手前
条件e:オービスCの地点の2km手前
そして、これらの各条件a〜条件eは、条件aと条件bを満たし、かつ、条件c〜条件eのいずれかを満たす場合を自律起動条件としてSCE形式のシナリオデータ(シナリオエディタでのデータ形式)で規定されているものとする。この場合の自律起動条件を概念的に表すと次のようになる。
条件a×条件b×(条件c+条件d+条件e)
【0153】
この自律起動条件をコンパイラ(240−1−2)により実機形式(NAV形式)に変換すると、まず、論理和を含まず論理積からなる次の3つの自律起動条件に展開する。
条件a×条件b×条件c
条件a×条件b×条件d
条件a×条件b×条件e
このように展開した各自律起動条件はいずれも対応するシナリオを実行するための自律起動条件であり、いずれか1つでも満たせば、対応するシナリオが実行される。上記例の場合であれば、いずれか1つの条件を満たせばオービスを警告するシナリオが実行されることになる。すなわち、シナリオコンパイラ(240−1−2)によって、1のシナリオに対して作成された1の自律起動条件が、当該1のシナリオに対する複数の自律起動条件に展開されることになる。展開された各自律起動条件は該当するシナリオに対応つけられている。
【0154】
同様に他のシナリオQに対して、
f×(g+h)×(i+j+k)といった自律起動条件が設定されている場合、シナリオコンパイラ(240−1−2)で実機形式(NAV形式)に変換すると次の6つの自律起動条件に展開される。
f×g×i
f×g×j
f×g×k
f×h×i
f×h×j
f×h×k
従って、上記2種類のシナリオP、Qをコンパイラ(240−1−2)で実機形式(NAV形式)に変換すると、9個の自律起動条件が存在することになる。オービス警告のシナリオPを実行する自律起動条件が3個で、もう一方のシナリオQを実行する自律起動条件が6個になる。
以上のように、個別条件の論理和と論理積で構成された起動条件を、個別条件の論理積で構成された複数の起動条件に展開することにより、本願発明の条件展開手段が形成される。
【0155】
次に、シナリオコンパイラ(240−1−2)は、展開処理後の全ての自律起動条件(展開した自律起動条件と、論理和を含まないために展開対象外であった自律起動条件を含む)に対して、年月日及び位置に関して、図10、図11で説明したように、グループ化を行う。
グループ化処理において、シナリオコンパイラ(240−1−2)は、各自律起動条件から位置に関する情報を取得し、図11の説明に従って、当該位置に対する1次メッシュ及び2次メッシュの正規化を行い、その位置に対する1次メッシュコードと2次メッシュコードを算出する。
そして、年によるソート処理を行うことで、最上位の年に関するグループ化を行う。そしてグループ化された各年と年条件無しのグループに対して、第2位の日付(月日)によるソート処理を行う。更に、グループ化された各日付と日付条件無しのグループに対して、第3位、第4位の位置に関するグループ化を行う。
このように、展開した起動条件と、それ以外の設定した起動条件を、所定の個別条件に分類(グループ化)することにより、本願発明の分類手段が形成される。
【0156】
次に、シナリオコンパイラ(240−1−2)は、グループ化(分類)した各自動起動条件に、グループを表すインデックス(識別符号)を付けて、実機形式(NAV形式)のシナリオデータ(240−1−3)として、記憶装置240のシナリオ編集データ(240−2)に格納する。
なお、各自動起動条件ごとに識別符号を付けるのではなく、各グループ単位に自動起動条件を格納し、グループ単位に識別符号を付するようにしてもよい。
【0157】
以上説明したように、本実施形態のエージェント装置によれば、シナリオ作成装置で作成されたシナリオデータに基づいてエージェントを自律的に起動させる(自動で登場させる)条件を満たしたかを判断する処理を定期的にもしくは特定の状態を満たしたときに実行し、条件を満たした場合にエージェントを自動で登場させることができる。
一方、本実施形態のシナリオ作成装置及びシナリオエディタによれば、プログラムの知識の有無に関係無く、シナリオエディタを持つことで特定の条件を満たしたときに自動で登場して対応してくれるエージェントのシナリオデータを容易に作成及び編集することができる。また、シナリオ作成装置に、音(効果音)を鳴らすor鳴らさないの設定及び鳴らす場合はどういった音を鳴らすかの設定ができる(作成した各シーンで設定できる)ので、自動でエージェントが登場したことを運転者が画面を見ることなく通知することができるシナリオを容易に作成することができ、運転操作中でも運転者は安全にエージェントの登場を知ることができる。
【0158】
また、本実施形態のシナリオ作成装置によれば、シナリオコンパイラ(240−1−2)により、自律起動条件を論理和を含まない自律起動条件に展開し、年、日付、位置に関するグループ化を行うことができる。
そして、シナリオ作成装置により自律起動条件がグループ化されているので、エージェント装置では、判断を行う年月日と車両現在位置に該当するグループ内の自律起動条件のみを判断すればよく、判断処理の負荷を小さくすることができる。
【0159】
以上、本発明の車載装置、データ作成装置、及びデータ作成プログラムにおける1実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各種の変形を行うことが可能である。
例えば、説明した実施形態では、展開した自律起動条件に対し年、日付、位置に関するグループ化を行ったが、これらのうちの1つ又は2つによりグループ化するようにしてもよい。また、他の個別条件に関するグループ化を行うようにしてもよい。
また、グループ化に際しては、時間経過や車両移動に伴う変化が少ない条件ほどより上位に分類したが、位置に関する条件を最上位にするようにしてもよい。
また、位置に関するグループ化において、1次メッシュと2次メッシュによる正規化を行いグループ化したが、1次メッシュのみによるグループ化でもよい。この場合、1次メッシュのサイズを2次メッシュと同一サイズとすることも可能である。
【0160】
また、説明した実施形態では、シナリオ作成装置が自律起動条件の展開処理とグループ化を行う場合について説明したが、エージェント装置がシナリオデータに含まれる自律起動条件に対して展開処理(展開手段)とグループ化(分類手段)を行うようにしてもよい。
【0161】
また、説明した実施形態及び変形例では、自律起動条件の展開処理として、論理和を含む全ての自律起動条件に対して、論理和を含まない自律起動条件に展開する場合について説明したが、分類処理の対象となる個別条件に限定して論理和の展開を行うようにしてもよい。すなわち、説明した実施形態の場合、分類対象となる年、日付、位置以外の個別条件に対する論理和は展開の対象外となる。
【0162】
また、説明した実施形態では、自律起動条件を年、日付、位置に関してグループ化して判断処理の負担を軽減する場合について説明したが、他に適用するようにしてもよい。
例えば、シナリオ作成装置やエージェント装置、ナビゲーション機能等におけるメニューの絞り込みを行う場合、各種紹介シナリオをユーザが選択して起動する場合のグループ化に適用することができる。位置に関するグループ化については図11で説明した1次メッシュ及び2次メッシュによる正規化処理を行う。
すなわち、レジャーガイド等の情報提供項目(シナリオ)を増やすとうれしい反面、選択項目が増えるため、メニュー階層が深くなったり、リスト表示項目が増えてスクロールが大変になる。
そこで、地域と日付によって関係のあるシナリオ(必要なもの)に絞り込んでメニュー表示することで、選択しやすくすることができる。
例えば、地域で絞り込む例として、軽井沢紹介(観光、名産等)、横浜紹介、・・・、都心の場合には渋滞情報、などがあり、横浜及びその周辺のメッシュに車両が存在する場合に限定して横浜の紹介シナリオを表示する。
また、日付でグループ化する場合の例として、スキー場ガイド、海水浴ガイド、初詣ガイド、等がある。このようにグループ化することで、冬に海水浴ガイドが表示対象から除かれ、夏にはスキーガイドや初詣ガイドが対象から除かれることで、表示項目を減らし選択を容易にすることができる。
また、日付及び地域で絞り込む例として、お祭り等がある。
【0163】
このように、レジャーや買い物、飲食等の各種紹介シナリオを地域や日付によってグループ化して絞り込むことで、ユーザが個別に実行するシナリオを選択する場合に、時期、地域に関係のあるシナリオに限定して表示され、時期が外れていたり、地域が遠い場合のシナリオは表示対象外となる。
これにより、関係のないシナリオが表示されないので、ユーザは必要なシナリオを選択しやすくなる。
【0164】
説明した実施形態では、図19〜図20に例示した、自律起動条件として選択可能な項目として「ユーザ性別」「ユーザ年齢」について規定したが、運転者に関する他の自動起動項目(図19参照)を追加するようにしてもよい。例えば、自動起動項目として、「熟練度」や「感情」等の運転者の状態に関する項目を追加する。そして、「熟練度」に対応する選択可能項目(図19、図20参照)として「低い」、「普通」、「高い」を追加し、「感情」に対応する選択可能項目として「不安」、「あせり」、「緊張」等を追加する。
【0165】
この場合、エージェント装置では、熟練度、感情といった運転者の状態を、運転者情報データ(10−2−3−6)や、学習項目データ(10−2−3−7)に格納される運転者の操作履歴等から状況情報として取得し、シナリオの起動条件と比較判断する。
すなわち、エージェント装置では、エージェントOS(101−8)が例えば各種状況検出装置(6)からの情報を外部I/F(101−9)を通して全体処理部(102)から取得し、また、学習部(101−3)が格納している運転者情報データ(10−2−3−6)や学習項目データ(10−2−3−7)に格納される運転者操作履歴等を基にして、学習部(101−3)が現在の運転者の状態を判断する。
判断する運転者状態の例としては、自律起動条件の各項目に対応する、運転者の不安、あせり、緊張感、…等や、エージェント装置に対する熟練度等も判断及び推測する。
例えば、一定時間内にスピード超過状態が長く続き、かつ急な加減速が多く行なわれた場合に時間に対してあせっている(急いでいる)と判断する例が考えられる。
また、エージェントの通算使用回数や、通算使用時間(コミュニケーション時間)、さらには自動起動が発生した回数等を使ってエージェント装置に対する熟練度を低い・普通・高い等3段階で判断したりする。段階の数や判断の条件は一例であり変更しても良いものとする。
【0166】
このように、エージェント装置側で検出可能な条件をシナリオ作成装置に登録し、シナリオエディタで使用可能にすることで、運転者状態を画面要素推移体(シナリオ)の起動条件(自律起動条件)として使用することができる。
これにより運転者があせっている場合は、エージェント側から自律的に登場してコミュニケーションを取らない(自律起動条件に「あせっていない場合」という条件を付加する)ことが可能になる。
【0167】
また、説明した実施形態のエージェント装置では、自律起動条件(起動条件)とシナリオ(画面要素推移体)を外部記憶媒体(10−2)のシナリオデータ(10−2−3−4)に格納し、今現在置かれている位置、時間などの状況情報が所定単位の変化がありと判断された場合(ステップ12;Y)に、自律起動判断部(101−2)は、変化後の位置と年月日の条件に該当及び近似するグループの自律起動条件を外部記憶媒体(10−2)より読み出し、RAM(1−4)に一時的に格納する(ステップ13)ようにしている。
これに対して、他の実施形態として、自律起動条件を、ハードディスク、DVD、CDROM等の外部記憶媒体(10−2)とは別個で、かつ、当該外部記憶媒体よりもアクセス速度の速い高速記憶媒体に記憶するようにしてもよい。ここで、高速記憶媒体としては、例えば、RAM(説明した実施形態におけるRAM(1−4)でも、他のRAMでもよい)が該当する。
この場合、シナリオ(画面要素推移体)と共に自律起動条件(起動条件)を高速記憶媒体に格納してもよく、また、シナリオ(画面要素推移体)を外部記憶装置(10−2)に格納し自律起動条件(起動条件)を高速記憶媒体に格納するようにしてもよい。
そして、自律起動条件を外部記憶媒体(10−2)と別個の高速記憶媒体に格納した場合、自律起動判断部(101−2)は、所定単位の変化後の位置と年月日の条件に該当及び近似するグループの自律起動条件を、高速記憶媒体から読み出して、作業領域として使用されるRAM(1−4)に格納する。
ここで、高速記憶媒体がRAMである場合、同一RAMの他の領域を作業領域として、所定単位の変化後の位置と年月日の条件に該当及び近似するグループの自律起動条件を格納する。
また、所定単位の変化後の位置と年月日の条件に該当及び近似するグループの自律起動条件に、条件判断対象であることを示すフラグ(判断対象条件フラグ)を付すようにしてもよい。
そして、自律起動判断部(101−2)は、判断対象となっている、上記作業領域としてのRAMに格納された自律起動条件、又は、判断対象条件フラグが付された自律起動条件について、状況情報を満たしているか否かについての条件判断処理を行う(ステップ14)。
【0168】
なお、本実施形態では、規格化されたシナリオデータに従ってエージェント機能を実現可能とし、シナリオデータで規定された自律起動条件に基づいてシナリオを起動する車両用のエージェント装置を提供することを目的A、エージェント装置においてエージェント機能を実現するための規格化されたシナリオ、及び、シナリオを自律的に起動する自律起動条件を容易に作成することが可能なシナリオデータ作成装置を提供することを目的Bとして、以下のように構成することも可能である。
(a)車室内や車両の状態を判断し、その判断結果に応じた処理を自律的に行う機能を、エージェントの容姿の動きや音声と連動させて実行するエージェント装置であって、
所定の容姿を有するエージェントの画像を車室内に表示するエージェント表示手段と、
装置が行う処理内容とエージェントの画像及び音声の少なくとも1つから構成される場面を1シーンとし、1又は連続する複数のシーンで構成されたシナリオと、当該シナリオの展開を自律的に起動する自律起動条件とを有するシナリオデータを記憶したシナリオ記憶手段と、車室内や車両の状態を状況情報として取得する状況情報取得手段と、前記取得した状況情報が前記シナリオ記憶手段に記憶された各シナリオの自律起動条件を満たしているか否かを判断する条件判断手段と、前記条件判断手段で満たしていると判断された自律起動条件に対応するシナリオを自律的に起動して各シーンを順次展開するシナリオ実行手段と、を備え、前記条件判断手段は、所定のタイミングで状況情報が自律起動条件を満たしているか否かを判断することを特徴とするエージェント装置。
(b)前記条件判断手段は、所定時間毎の定期的に、及び、前記取得した状況情報から予め設定された特定の状況を満たした場合に判断を行う、ことを特徴とする(a)に記載のエージェント装置。
(c)前記シナリオ実行手段は、効果音が設定されたシーンの場合、効果音情報に対応する効果音を当該シーンを展開する際に出力することを特徴とする(a)又は(b)に記載のエージェント装置。
(d)車両用のエージェント装置が自律的に行う処理内容とエージェントの画像及び音声の少なくとも1つから構成される場面を1シーンとし、1又は連続する複数のシーンで構成されたシナリオを、当該シナリオの自律起動条件を満足した場合に自律的に起動するエージェント装置用のシナリオデータを作成するシナリオデータ作成装置であって、シーンの構成要素として選択可能なエージェントの処理内容とエージェント画像と音声データの少なくとも1つを選択するシーン要素選択手段と、前記取得したシーン構成要素から、エージェントによる処理内容、エージェントの画像及び、出力音声の少なくとも1で構成される場面を1シーンとして作成するシーン作成手段と、所定のシーンから次のシーンに移行するための1又は複数の移行条件と、各移行条件に対応して移行先のシーンを特定する移行先データとから、各シーンの展開構成を作成するシーン展開構成作成手段と、前記エージェント装置により取得可能な車室内や車両の状態に関する状況情報の各項目を提示する提示手段と、提示した状況情報の各項目から1つ以上の項目を選択する選択手段と、前記選択された1または複数の状況表示の項目からシナリオの自律起動条件を作成する自律起動条件作成手段と、前記作成したシーンと前記作成した各シーンの展開構成と、前記作成したシナリオの自律起動条件とからなるシナリオデータを出力する出力手段と、を具備することを特徴とするシナリオデータ作成装置。
(e)前記シナリオは、エージェントによる提案、質問、挨拶等の能動的動作を内容とするシーンから開始することを特徴とする(d)に記載のシナリオデータ作成装置。
(f)シーンを選択するシーン選択手段と、1または複数の効果音を特定する効果音情報を、一覧表示する効果音表示手段と、前記表示された効果音情報から1の効果音情報を選択する効果音選択手段と、前記選択された効果音情報に対応する効果音を前記選択されたシーンの開始時に出力する効果音として設定する効果音設定手段と、を具備することを特徴とする(d)又は(e)に記載のシナリオデータ作成装置。
(a)の実施形態によれば、規格化されたシナリオデータに従ってエージェント機能を実現可能とし、シナリオデータで規定された自律起動条件に基づいてシナリオを起動することが可能になる。
また(b)記載の実施形態によれば、プログラミングの十分な知識がなくても、エージェント装置においてエージェント機能を実現するための規格化されたシナリオ、及び、シナリオを自律的に起動する自律起動条件を容易に作成することができる。
【0169】
【発明の効果】
請求項1、請求項2の車載装置によれば、車載センサで検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出し、車載センサで検出した状況が起動条件を満たしているか否かを、抽出した起動条件を対象として判断し、起動条件に対応する画面要素推移体を実行する。そして、検出した日付及び車両位置の少なくとも一方が所定単位の変化をした場合に、検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出し、すでに抽出されている起動条件と変更するので、画面要素推移体を実行するための、起動条件の判断負荷を軽減することができる。
請求項3のデータ作成装置によれば、車載装置において実行される画面要素推移体及び、車載装置における判断負荷を軽減することが可能な起動条件を容易に作成することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるエージェント装置を使用した、シナリオ追加システムについてのシステム構成図を表したものである。
【図2】本発明の一実施形態におけるエージェント装置の構成を示すブロック図である。
【図3】同上、エージェント装置における各種状況検出装置の構成図である。
【図4】CPUでプログラムが実行されることにより実現されるエージェント処理部と、全体処理部との関係を表した説明図である。
【図5】エージェント処理部の構成を表した説明図である。
【図6】外部記憶媒体に集録されている情報を概念的に表した説明図である。
【図7】キャラクタデータを概念的に表した説明図である。
【図8】運転者情報データを概念的に示した説明図である。
【図9】実機形式シナリオデータの構成を表したものである。
【図10】集録シナリオの管理データに格納されている自律起動条件データの構造を概念的に表した説明図である。
【図11】1次メッシュ及び2次メッシュによる位置座標の正規化について表した説明図である。
【図12】シナリオのシーンデータに基づいて表示装置に表示されるシーン画面の一例を表した説明図である。
【図13】旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移を各シーン毎に表した画面遷移図である。
【図14】自律起動判断部によるシナリオの自律起動判断処理について表したフローチャートである。
【図15】条件判断処理の処理内容を表したフローチャートである。
【図16】シナリオ作成装置の構成図である。
【図17】シナリオ編集プログラムとデータの構成を概念的に表したものである。
【図18】データ形式の変換を概念提供に表したものである。
【図19】自動起動項目として設定可能な項目を例示したものである。
【図20】自動起動項目に対して選択可能な項目を例示したものである。
【図21】自動起動項目に対して選択可能な項目を例示したものである。
【図22】シーンから次のシーンに分岐(シーン展開)をするための分岐項目(移行条件)が格納されたシーン分岐項目テーブルである。
【図23】追加条件テーブルを表したものである。
【図24】シナリオエディタを起動した場合に表示装置に表示されるメインウィンドウの構成を表したものである。
【図25】シナリオプロパティを編集する画面操作の流れを表したものである。
【図26】シナリオ開始条件のメイン編集ウィンドウから、シナリオ起動条件を編集する画面操作の流れを表したものである。
【図27】他のアンド条件を設定する操作の画面遷移を表したものである。
【図28】更に他のアンド条件を設定する操作の画面遷移を表したものである。
【図29】日付入力、時間入力、座標入力用の自動開始する条件範囲の選択ウインドウ表したものである。
【図30】本実施形態におけるシナリオの各シーン毎に効果音を設定する場合の操作手順について表した説明図である。
【図31】効果音を設定した後のメインウィンドウの状態を表した説明図である。
【図32】エージェント表示画面51に表示したい画面構成を選択する画面操作の流れを表したものである。
【図33】キャラクタ動作(エージェントの動作)指示を編集する画面操作の流れを表したものである。
【図34】キャラクタ(エージェント)の台詞指示を編集する画面操作の流れを表したものである。
【図35】音声認識辞書を編集する画面操作の流れを表したものである。
【図36】シナリオの流れを編集する画面操作の流れを表したものである。
【図37】シナリオの終了位置を編集する画面操作の流れを表したものである。
【図38】作成したシナリオをナビゲーションで使用可能な実行形式のフォーマットにコンパイルするための画面操作の流れを表したものである。
【符号の説明】
1 エージェント装置装置
2 シナリオ作成装置
3 サーバ
(1) 中央処理装置
(2) 表示装置
(3) 音声出力装置
(4) 音声入力装置
(5) 入力装置
(6) 各種状況検出装置
(7)各種車載装置
(8)通信制御装置
(9)通信装置
(10)外部記憶装置
(200) 制御部
(210) 入力装置
(220) 出力装置
(230) 通信制御装置
(240) 記憶装置
(250) 記憶媒体駆動装置
(260) 入出力I/F

Claims (3)

  1. キャラクタの表示内容、処理内容を組み合わせて構成された複数の画面要素推移体、及び、該画面要素推移体の各々に対応して、日付及び位置の少なくとも一方による所定個別条件に分類された複数の個別条件の論理積又は1の個別条件から構成される起動条件を記憶する画面要素推移記憶手段と、
    日付及び車両位置の少なくとも一方を含む車両の状況を検出する車載センサと、
    前記車載センサ検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出する抽出手段と、
    前記車載センサで検出した状況が起動条件を満たしているか否かを、前記抽出手段により抽出した起動条件を対象として判断する条件判断手段と、
    該条件判断手段により起動条件を満たしていると判断された場合、該起動条件に対応する前記画面要素推移体を実行する画面要素推移体実行手段と、を備え、
    前記抽出手段は、前記車載センサによって検出した日付及び車両位置の少なくとも一方が所定単位の変化をした場合に、検出した日付及び車両位置の少なくとも一方に対応する日付、位置に分類された起動条件を抽出し、すでに抽出されている起動条件と変更する、
    ことを特徴とする車載装置。
  2. 前記画面要素推移記憶手段に記憶された起動条件を、前記画面要素推移記憶手段とは別個で、かつ、画面要素推移記憶手段よりもアクセス速度の速い高速記憶媒体に記憶するとともに、
    前記抽出手段は、抽出した起動条件を前記高速記憶媒体に記憶する、
    ことを特徴とする請求項に記載の車載装置。
  3. 請求項1又は請求項2に記載の車載装置で実行する画面要素推移体データを作成するデータ作成装置であって、
    年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データの少なくとも1つの対象に対して複数の選択項目を提示する提示手段と、
    前記提示した複数の選択項目から1つ以上の項目を選択し、該選択項目に対してキャラクタの表示内容、処理内容を設定するキャラクタ設定手段と、
    前記キャラクタの表示内容、処理内容の少なくとも1つが定義された画面要素を1画面要素とし、該画面要素及び該画面要素間の移行条件とを組み合わせて画面要素推移体を作成する画面要素推移体作成手段と、
    年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データによる個別条件を提示する条件提示手段と、
    前記提示した個別条件から複数の個別条件の論理積又は1の個別条件を選択し、該選択した個別条件を前記年月日及び位置の少なくとも一方による所定個別条件に分類することで前記画面要素推移体を起動する起動条件を作成する起動条件作成手段と、
    を備えたことを特徴とするデータ作成装置。
JP2002183392A 2002-06-24 2002-06-24 車載装置、及びデータ作成装置 Expired - Fee Related JP4059019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002183392A JP4059019B2 (ja) 2002-06-24 2002-06-24 車載装置、及びデータ作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002183392A JP4059019B2 (ja) 2002-06-24 2002-06-24 車載装置、及びデータ作成装置

Publications (2)

Publication Number Publication Date
JP2004028702A JP2004028702A (ja) 2004-01-29
JP4059019B2 true JP4059019B2 (ja) 2008-03-12

Family

ID=31179628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002183392A Expired - Fee Related JP4059019B2 (ja) 2002-06-24 2002-06-24 車載装置、及びデータ作成装置

Country Status (1)

Country Link
JP (1) JP4059019B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222019B2 (en) 2004-01-14 2007-05-22 Yamaha Hatsudoki Kabushiki Kaisha Vehicle image display apparatus and vehicle having the same
JP2005283531A (ja) * 2004-03-31 2005-10-13 Equos Research Co Ltd 車載装置及びデータ作成装置
JP2009205348A (ja) * 2008-02-27 2009-09-10 Tetsuji Kuroda 自動対話処理システム
JP2013063747A (ja) * 2011-09-20 2013-04-11 Aisin Seiki Co Ltd 車両情報表示システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259271A (ja) * 1998-03-13 1999-09-24 Aqueous Reserch:Kk エージェント装置
JP3965538B2 (ja) * 1998-02-27 2007-08-29 株式会社エクォス・リサーチ エージェント装置
JP4258585B2 (ja) * 1999-03-19 2009-04-30 株式会社エクォス・リサーチ 目的地設定装置
JP4207350B2 (ja) * 2000-02-21 2009-01-14 株式会社エクォス・リサーチ 情報出力装置

Also Published As

Publication number Publication date
JP2004028702A (ja) 2004-01-29

Similar Documents

Publication Publication Date Title
EP1462317A1 (en) Data creation apparatus
JP5019145B2 (ja) 運転者情報収集装置
JP4193300B2 (ja) エージェント装置
JP2000266551A (ja) 目的地設定装置及びエージェント装置
JP4936094B2 (ja) エージェント装置
WO2005096183A1 (ja) データ選択装置、方法、プログラム及び記録媒体
JP4259054B2 (ja) 車載装置
JP4441939B2 (ja) 目的地設定装置
JP2000020888A (ja) エージェント装置
JP4207350B2 (ja) 情報出力装置
EP1310883B1 (en) Car navigation system and method therefor
JP2004054883A (ja) 車載用エージェントシステム及び対話型操作制御システム
JP2004037953A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP4258607B2 (ja) 車載装置
JP4059019B2 (ja) 車載装置、及びデータ作成装置
JP4284733B2 (ja) エージェント装置
JP7274404B2 (ja) 情報提供装置、情報提供方法、およびプログラム
JP2004053251A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP2005190192A (ja) 車載装置
JP2004051074A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP4356450B2 (ja) 車載装置
JP2003157489A (ja) 操作制御装置
JP2018141742A (ja) ナビゲーション装置、ナビゲーション方法、及びナビゲーション用プログラム
JP2003106846A (ja) エージェント装置
JP2004054300A (ja) 車載装置、データ作成装置、及びデータ作成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071210

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131228

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees