(57)【要約】        車載装置  【課題】シナリオ全体として一定の統一的な順序で実行されるようにする。  【解決手段】本実施形態では、自律起動条件を満たしたシナリオが複数存在する場合、シナリオの種類による実行優先順位、自律起動条件による実行優先順位、及び、シナリオ作成者が設定したプライオリティから実行順序を決定する。  シナリオの実行優先順位を決定する場合、シナリオの種類から実行優先順位を決定し、シナリオの種類が設定されていない場合に自律起動条件による実行優先順位を決定する。そして、実行優先順位が高い順にシナリオを実行し、同一の実行優先順位のシナリオが複数存在する場合にはプライオリティの高い順にシナリオを実行する。  【選択図】    図１１
2005190191.tif 000002
【特許請求の範囲】
【請求項１】
画面表示と同期されて実行される処理内容の優先順位とその処理内容を実行する起動条件が既定された画面要素推移体データを車外から取得して記憶する画面要素推移体記憶手段と、
複数の前記画面要素推移体データの起動条件が同時に条件を満たした場合、前記画面要素推移体データに規定された処理内容及び優先順位とから実行順序を決定して実行する画面要素推移体実行手段と、
を具備することを特徴とする車載装置。
【請求項２】
画面表示と同期されて実行される処理内容の優先順位とその処理内容を実行する起動条件が既定された画面要素推移体データを車外から取得して記憶する画面要素推移体記憶手段と、
前記起動条件の種類毎に実行優先順位が規定されたテーブルを記憶する優先順位記憶手段と、
複数の前記画面要素推移体データの起動条件が同時に条件を満たした場合、前記優先順位記憶手段に記憶された実行優先順位と前記画面要素推移体データに規定された処理内容の優先順位とから実行順序を決定して実行する画面要素推移体実行手段と、
を具備することを特徴とする車載装置。
【請求項３】
車両の速度を検出する車速検出手段と、
前記検出した車速が所定値以下だった場合、前記実行順序を変更する変更手段と
を具備することを特徴とする請求項１又は請求項２に記載の車載装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載装置に係り、例えば、車両の搭乗者とのコミュニケーションにより会話をしたり機器操作等を自律的に行うエージェント機能を備えた車載装置に関する。
【背景技術】
【０００２】
車室内においてナビゲーション装置等の機器操作の案内をしたり状況に応じた質問や提案等を行うことで搭乗者との対話や対応等のコミュニケーションをするエージェント装置が下記の特許文献１で提案されている。
このエージェント装置では、エージェントの挨拶や、給油時期のお知らせといったコミュニケーションをするようになっており、コミュニケーションの内容に応じた画像や動画が表示装置に表示される。
【０００３】
また、本出願人は、車載装置（エージェント装置）が行う各種処理を、各シーンが連続するシナリオを特定するシナリオデータ（一部プログラムを含む場合がある）によって指示された処理の実行であるととらえ、シナリオデータの形式を規格化することで、プログラムの知識の有無に関係なくシナリオデータを容易に作成することができるようにしたデータ作成装置（シナリオエディタ）を特許文献２で提案している。
このデータ作成（装置シナリオエディタ）では、シナリオデータの各シーン毎に画像や音声内容を規定するようになっている。
このデータ作成装置では、各シナリオに実行する場合の優先順位としてプライオリティを設定できるようになっている。
【０００４】
一方、車載装置では、起動条件を満たしたシナリオが自動的に起動され、シナリオで規定されているキャラクタが画像表示されたり音声出力されたりする。
そして、複数のシナリオが同時に実行可能な状態となったときの実行する順番は、シナリオに設定されている優先順位の順に決定されている。
【特許文献１】特開平１１−３７７６６号
【特許文献２】特願２００２−１６１７４４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、データ作成装置で設定された優先順位は作成者個人の意図に基づいて設定されている。このため、複数の作成者によるシナリオが存在する場合、シナリオ全体としての実行順位に統一がとれない場合がある。
また、シフト操作や急加速等の制御系に関係するシナリオは、即時に実行する必要が隆が、シナリオ作成時の優先順位の設定では、他のシナリオとの関係ですぐに実行されない場合がありうる。
【０００６】
そこで本発明は、シナリオ全体として一定の統一的な順序で実行されるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
（１）請求項１に記載した発明では、画面表示と同期されて実行される処理内容の優先順位とその処理内容を実行する起動条件が既定された画面要素推移体データを車外から取得して記憶する画面要素推移体記憶手段と、複数の前記画面要素推移体データの起動条件が同時に条件を満たした場合、前記画面要素推移体データに規定された処理内容及び優先順位とから実行順序を決定して実行する画面要素推移体実行手段と、車載装置に具備させて前記目的を達成する。
（２）請求項２に記載した発明では、画面表示と同期されて実行される処理内容の優先順位とその処理内容を実行する起動条件が既定された画面要素推移体データを車外から取得して記憶する画面要素推移体記憶手段と、前記起動条件の種類毎に実行優先順位が規定されたテーブルを記憶する優先順位記憶手段と、複数の前記画面要素推移体データの起動条件が同時に条件を満たした場合、前記優先順位記憶手段に記憶された実行優先順位と前記画面要素推移体データに規定された処理内容の優先順位とから実行順序を決定して実行する画面要素推移体実行手段と、を車載装置に具備させて前記目的を達成する。
（３）請求項３に記載した発明では、請求項１又は請求項２に記載の車載装置において、車両の速度を検出する車速検出手段と、前記検出した車速が所定値以下だった場合、前記実行順序を変更する変更手段とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、シナリオ作成者の意図から切り離した画面要素推移体データに固有の要素に基づいて実行順序を決定しているので、一定の統一的な順序でシナリオを実行することができる。
従って、安全装置系や制御系に関係する画面要素推移体データを優先的に実行することも可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の車載装置の好適な実施形態であるエージェント装置について、図１から図２１を参照して詳細に説明する。
（１）実施形態の概要
本実施形態のエージェント装置では、所定の容姿からなるエージェント（キャラクタ）の画像を表示装置に表示する。そして、センサ等の検出結果から周囲の状態（人の動きや音声を含む）を認識、判断し、その結果に応じたエージェント画像の動作や音声を出力する。
例えば、燃料の減少を検出した場合に画像表示されたエージェントが「給油の時期ですよ」と音声で提案する。これに対する運転者の肯定する回答を判断（音声認識や回答選択ボタンから）した場合、周辺のガソリンスタンドを検索して現在地周辺の地図と共に表示し、音声で案内をする。
このように、装置からの回答を要求する提案や問いかけと、その回答に応じて、所定の操作の実行を通して、ユーザは、あたかも擬似人格を備えたエージェントとコミュニケーションをしているように体感する。
以下の説明では、このようなエージェント装置の一連の機能の実行を、エージェントの行為や動作として説明する。
【００１０】
本実施形態のエージェント装置では、このエージェントに運転者との各種コミュニケーションや、操作を代行させ、そのエージェントの各行為を、所定の規格に従って定義、構成されたシナリオ（画面要素推移体）を実行することで実現する。
そして、エージェントによる一連の連続した行為の内容を規定した複数のシナリオと、各シナリオの展開を自律的に開始（起動）するための自律起動条件（起動条件）とにより規格化したシナリオデータを保存する。
【００１１】
各シナリオは、画面表示と同期して実行される処理内容が定義されたシーン（画面要素）を最小単位として、１又は連続する複数のシーンで構成される。車両搭載機器や装置に対する制御、エージェントの動作（画像の動き）、及びエージェントの音声内容のうちの１以上が１シーンの処理内容として定義される。
シナリオは、所定のシーンから次のシーンに移行するための１の移行条件（推移条件）又は複数の移行条件（分岐条件（複数の状態が発生する場合の各状態毎へのシーンに移行するための条件））と、各移行条件に対応して移行先のシーンを特定する移行先データとから、各シーンの展開構成が規定されている。
各シナリオを自動的に実行するために自律起動条件を所定の規格に従って設定する。自律起動条件は、年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データによる個別条件の論理的組み合わせで構成される。
また、シナリオには、作成者の好みによりシナリオを実行する優先順位（プライオリティ）と、シナリオの種類（安全装置系、制御系、情報提供系、エンターテイメント系等）が設定される。
【００１２】
エージェント装置は、自律起動条件を満たしたシナリオについて実行される。シナリオの実行は、一連の連続するシーンをその指示に従って順次展開することで行われる。
本実施形態では、自律起動条件を満たしたシナリオが複数存在する場合、シナリオの種類による実行優先順位、自律起動条件による実行優先順位、及び、シナリオ作成者が設定したプライオリティ（処理内容の優先順位）から実行順序を決定する。
【００１３】
エージェント装置における実行順序の決定は、各シナリオに対して、実行優先順位を決定し、実行優先順位が高いシナリオの実行順序を先にする。
実行優先順位が同じシナリオが複数ある場合には、シナリオ作成者が設定したプライオリティが高いシナリオの実行順序を先にする。
【００１４】
エージェント装置は、シナリオの種類に対応して実行優先順位が決められた実行優先順位対応テーブルと、自律起動条件に対応して実行優先順位が決められた実行優先順位対応テーブルを記憶している。
両実行優先順位対応テーブルは、それぞれ、車両が走行中に使用されるテーブルと停車中に使用されるテーブルの２種類づつ記憶されている。
【００１５】
エージェント装置は、実行優先順位対応テーブルを使用して、シナリオの種類が設定されているシナリオデータに対して、その種類から実行優先順位を決定する。
シナリオの種類が設定されていないシナリオデータに対しては、実行優先順位対応テーブルを使用して、そのシナリオの自律起動条件から実行優先順位を決定する。自律起動条件が複数の個別の条件項目の論理的組み合わせで構成されている場合、各条件項目毎の実行優先順位を求め、そのうち最も高い実行優先順位を採用する。
【００１６】
一方、エージェント装置のユーザ等は、規定された規格に従って独自のシナリオデータを、シナリオ作成装置を使用して作成する。シナリオ作成装置は、シナリオ編集プログラム（シナリオエディタ）やデータをパーソナルコンピュータにインストールすることで構成することができる。
作成したシナリオデータは、インターネット等のネットワークを介してエージェント装置に送信し、又はダウンロードしてもらうことにより、また、所定の半導体メモリを介してエージェント装置に格納することで、自己（第三者）の希望通りの行為（コミュニケーションや処理）をエージェントに行わせることが可能になる。
【００１７】
エージェント装置とシナリオ作成装置を以上のように構成することで、シナリオ作成装置では、プログラムの知識の有無に関係無く、特定の条件を満たしたときにエージェントが自動で登場して対応してくれるシナリオデータを容易に作成及び編集することができる。すなわち、ユーザは自分の思い通りにエージェントを機能させるシナリオを、所定の規格に従って独自にまた、容易に作成ことが可能になる。
例えば、オービスの設置してある２ｋｍ手前の地点（東経北緯座標で指定）でかつ、道路種別が高速道路でかつ、車速が１２０ｋｍ／ｈ以上で走行している場合に自動で登場してオービスの警告をしてくれるシナリオの条件の中にある車速の条件を１４０ｋｍ／ｈ以上に変更するとか、毎年特定の日（例えばクリスマスイブ）に１回だけ起動するシナリオを作成する事が可能となる。
そして、エージェントが動作するシナリオは、自己が作成したシナリオや、他人が製作したシナリオであっても自己が選択したシナリオなので、エージェントの自律的な動作に対する抵抗や、一方的な押しつけの動作と感じたりすることがなくなる。
【００１８】
シナリオを実行するエージェント装置において実行優先順位テーブルに従った所定のグループ単位（シナリオの種類、自律起動条件の種類）で実行の順序を決定し、そのグループ内においてシナリオ作成者の意図であるプライオリティを反映させた順序を決定している。
これにより、各シナリオ作成者が自己の好みで設定したプライオリティを反映させつつ、異なる作成者による各種シナリオが混在するエージェント装置であっても、シナリオ全体として一定の統一的な順序でシナリオが実行される。
【００１９】
（２）実施形態の詳細
図１は、エージェント装置とシナリオ作成装置及びサーバからなる全体のシステム構成を表したものである。
このシステムでは、シナリオ作成プログラムであるシナリオエディタを組み込んだシナリオ作成装置（コンピュータ）２（２ａ、２ｂ、…）と、例えばインターネット等のネットワークを介してシナリオを配信するサーバ３（Ａ、Ｂ、…）と、エージェント装置１との構成の一例を示したものである。
シナリオ作成装置２は、ユーザ又は第三者であるシナリオデータ作成者の操作によって、シナリオ作成プログラムに従って指定された規格でシナリオデータが作成される。
【００２０】
シナリオ作成者は、所定形式のシナリオデータを、例えば、シナリオエディタを使用してシナリオ作成装置２aで作成してホームページに掲載し（サーバ３Ａにアップロードし）、エージェント装置１を持ったユーザからダウンロード可能にする。
シナリオ作成装置２からアップロードするサーバはサーバ３Ａに限定されるものでなく、シナリオ作成者が契約しているプロバイダ等インターネット上のどのサーバ３Ａ、３Ｂ、…でもよい。また、別のシナリオ作成者が、シナリオ作成装置２ｂで作成し、ホームページに掲載してサーバＢにアップロードし、エージェント装置１を持ったユーザからダウンロード可能にする。
このように、さまざまなシナリオ作成者が、さまざまなサーバに自身の作成したシナリオをアップロードする。
エージェント装置１のユーザは、エージェント装置１のブラウザを使用して、サーバ３群（Ａ、Ｂ、…）の中から、自分が欲しいと思うシナリオをブラウズし、気に入ったシナリオがあればダウンロードし、装置内に組み込むことで、ダウンロードしたシナリオデータをエージェント装置１で動作させることが可能になる。
【００２１】
また、エージェント装置１のユーザは、自身が持っているシナリオ作成装置２aのブラウザを使用して、サーバ３（Ａ、Ｂ、…）の中から、自分が欲しいと思うシナリオをブラウズし、ダウンロードしてもよい。
この場合、ＤＶＤ−ＲＯＭ、ＩＣカード等の半導体記憶装置その他の記憶媒体に、ダウンロードしたシナリオデータを格納して、エージェント装置１に受け渡す。そして、シナリオデータを受け取ったエージェント装置１では、記憶媒体駆動装置により記憶媒体からシナリオデータを読み込んで、組み込むことで、ダウンロードしたシナリオデータをエージェント装置１で動作させることが可能になる。
【００２２】
次に、開発者やユーザによって作成されたシナリオに従ってエージェントが自律的に起動するエージェント装置１について、その構成と動作を説明する。
図２は、本実施形態におけるエージェント装置１の構成を表したブロック図である。
本実施形態におけるエージェント装置１は、車両に搭載されおり、車両内のユーザとの間でコミュニケーションを行なう機能や車両に対して所定の処理を行なう車両制御機能等のエージェント機能を実現するミドルウェアを搭載することで、ユーザに走行経路の案内等を行なうナビゲーション機能や、オーディオ機能等の各種機能と共存するようになっている。
また本実施形態におけるエージェント装置１では、エージェント機能において、実行対象となっているシナリオが複数存在する場合に実行する順序を決定する実行順序決定機能も備えている。
【００２３】
本実施形態のエージェント装置では、エージェント機能および、ナビゲーション機能を実現するための中央処理装置(1)、表示装置(2)、音声出力装置(3)、音声入力装置(4)、入力装置(5)、各種状況検出装置(6)、各種車載装置(7)、通信制御装置(8)、通信装置(9)、情報記憶装置(10)を備えている。
【００２４】
中央処理装置(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)と情報のやり取りを行なうための情報記憶装置I/F部(1-12)を備えている。
【００２５】
この中央処理装置(1)は、経路探索処理や、経路案内に必要な表示案内処理や、インターネットの閲覧やメールを使用したシナリオのダウンロード等の、その他システム全体において必要な処理、本実施形態におけるエージェント処理（エージェントと運転者との各種コミュニケーションや操作代行、状況判断を行ないその結果に応じて自律的に行なう処理）を行なうようになっている。
本実施形態におけるプログラムを含め、CPU(1-1)で実行される全てのプログラムは、情報記憶媒体(10-2)であるCD-ROM等に格納されてもよいし、それらプログラムの一部または全てが本体側のROM(1-3)またはフラッシュメモリ(1-2)に格納するようにしてもよい。
この情報記憶媒体(10-2)に記憶されたデータやプログラムが外部信号として中央処理装置(1)に入力されて演算処理されることにより、種々のエージェント機能や、ナビゲーション機能が実現される。
【００２６】
本実施形態の中央処理装置(1)は、ROM(1-3)に格納された自律起動判断プログラムに従って、各種状況検出装置からの入力が起動条件を満たしたか否かを判断することで、条件判断手段として機能する。
また中央処理装置(1)は、ROM(1-3)に格納された実行順序決定プログラムに従って、自律起動条件を満たすシナリオが複数存在する場合の実行順序を決定し、決定した順序でシナリオを実行することで、シナリオ実行手段として機能する。
【００２７】
表示装置(2)は、中央処理装置(1)の処理により、経路案内用の道路地図やナビ用の操作キー等の各種画像情報が表示されたり、キャラクタの各種行動（動画）及び画面構成のパーツで構成された画面要素推移体（シナリオ）が表示されたりするようになっている。
この表示装置(2)には、液晶表示装置、CRT等の各種表示装置が使用される。
なお、この表示装置(2)は、例えばタッチパネル等の、入力装置(5)としての機能を兼ね備えたものとすることができる。
【００２８】
音声出力装置(3)は、中央処理装置(1)の処理によって声による経路案内を行なう場合の案内音声や、エージェントによる運転者との通常のコミュニケーション用の会話や運転者情報取得のための質問による音声や音が出力されるようになっている。
音声出力装置(3)は、車内に配置された複数のスピーカで構成されている。これらは、オーディオ用のスピーカと兼用するようにしてもよい。
【００２９】
音声入力装置(4)は、入力された運転者の音声がアナログ信号からデジタル信号に変換され、CPU(1-1)で音声認識処理が実行されるようになっている。
音声認識の対象となる音声としては、例えば、ナビゲーション処理における目的地等の入力音声や、エージェントとの運転者の会話（運転者による応答を含む）等がある。
なお、音声認識が必要なシーンか否かについては各シーンデータにおいて、音声認識の指示が設定されている。そして、音声認識の指示が設定されているシーンのシーンデータには、音声認識の対象となる音声を認識するための辞書が指定されている。
【００３０】
入力装置(5)は、目的地設定、経路探索、経路案内の要求の他、エージェント機能による、エージェントとのコミュニケーションにおいて、エージェントからの問い合わせ等に対して運転者が応答するための1つの応答手段としても機能するようになっている。
入力装置(5)には、タッチパネル（スイッチとして機能）、キーボード、マウス、ライトペン、ジョイスティックなどの各種の装置が使用可能である。
なお、シナリオは自律起動条件を満たした場合に実行する場合の他、ユーザが入力装置(5)からシナリオを指定して手動で起動することが可能であり、この場合の入力装置（５）は、手動起動手段として機能する。
【００３１】
各種状況検出装置(6)は、特に図示しない1が、機器操作状況検出手段として、車両の絶対位置（緯度、経度による）を検出する現在位置検出装置、道路の混雑状況等を検出するための交通状況情報受信装置、運転操作等の状況を検出するためにブレーキ検出器、サイドブレーキ（パーキングブレーキ）検出器、アクセル開度検出器、A/Tのシフト位置検出器、ワイパ検出器、方向指示器検出器、ハザード検出器、イグニッション検出器、車両の速度を検出する車速検出器、ヘッドランプやルームランプ等のランプ類の操作状況を検出するライト検出器、運転者のシートベルト着脱操作を検出するシートベルト検出器、その他のさまざまな検出器を備えている。
本実施形態では、各種状況検出装置(6)の検出値から判断される車両の状態が、シナリオ実行順序決定処理において、使用する実行優先順位対応テーブルを決定する際に使用される。具体的には、車速検出器の検出値である車速データが所定車速以下か否かや、道路種別、位置等によって使用テーブルが変更される。
【００３２】
現在位置検出装置としては、例えば人工衛星を利用して車両の位置を測定するGPS(Global Positioning System)受信装置、GPSの補正信号を受信するデータ送受信装置、方位センサ、舵角センサ、距離センサ等が使用される。
交通情報受信装置としては、例えば路上に配置されたビーコンから情報を受信するビーコン受信装置、FM放送電波を用いて情報を受信する装置等が使用される。
【００３３】
通信装置I/F部(1-11)には、他にも通信制御装置(8)が接続できるようになっている。この通信制御装置(8)には、通信装置(9)（各種無線通信機器からなる携帯電話等）が接続されるようになっている。
これらを使って電話回線による通話の他、例えば車内での通信カラオケのために使用するカラオケデータを提供するような情報提供局や、交通情報を提供する情報提供局との通信や、エージェント処理に用いるシナリオデータを提供する情報提供局と通信を、通信装置(9)と通信制御装置(8)を介して行なうことも可能になっている。
【００３４】
本実施形態において中央処理装置(1)は、通信制御装置(8)を介してシナリオが添付された電子メールを受信することができるようになっている。
また、中央処理装置(1)には、インターネット上のホームページを表示するブラウザソフトを組み込み、CPU(1-1)で処理させることが可能であり、通信制御装置(8)を介してホームページからシナリオを含めたデータをダウンロードすることができるようになっている。
なお、通信制御装置(8)は、通信装置(9)と一体になったものを使用してもよい。
【００３５】
また、中央処理装置(1)は、通信I/F部(1-11)を通して車内通信を行なうことで他の車載装置(7)の操作状況を受け取ったり、また、車載装置に対する各種制御を行なったりするようになっている。
例えば、中央処理装置(1)は、各種車載装置(7)であるエアコン装置から、運転者がエアコンの各種スイッチ等を操作中か否かの情報を受け取ったり、設定温度を変更するといったようにエアコン装置の制御を行なったりする。また、オーディオ装置から運転者がラジオ、CDプレーヤ、カセットプレーヤー等のオーディオ機器から音声が出力中か否かの情報を受け取ったり、出力音量を上げるや、下げるといったようにオーディオ装置の制御を行なったりするようになっている。
【００３６】
情報記憶装置(10)は、情報記憶媒体駆動部(10-1)とその情報記憶媒体(10-2)を備えている。情報記憶装置(10)は、CPU(1-1)からの指示で情報記憶装置I/F部(1-12)を通して情報記憶媒体駆動部を制御して、情報記憶媒体(10-2)からデータやプログラムの読み込み、及び情報記憶媒体(10-2)へのデータやプログラムの書き込みを行なうようになっている。
情報記憶媒体(10-2)には、例えば、フレキシブルディスク、ハードディスク、CD-ROM、DVD-ROM、光ディスク、磁気テープ、ICカード類、光カード等の各種記憶媒体が使用され、使用する媒体ごとにそれぞれの情報記憶媒体駆動装置(10-1)が使用される。
情報記憶装置(10)は、システムにおいて複数個所持してもよいものとする。例えば、収集した個人情報である、運転者情報データ(10-2-3-6)と、学習項目データ及び応答データ(10-2-3-7)を持ち運びが容易なICカードやフレキシブルディスクで構成し、その他のデータをDVD-ROMで構成するといった例が考えられる。こうすることで、他の車両を運転する場合にこれらを記憶させたICカードからデータを読み出させて使用し、自分が過去に応対した状況を学習した状態のエージェントとコミュニケーションすることが可能になる。つまり、車両毎のエージェントではなく、運転者毎に固有な学習内容のエージェントを車両内に出現させることが可能になる。
【００３７】
CPU(1-1)は各種エージェント機能やナビゲーション機能を実現するプログラム(10-2-1)や、演算処理に使用するエージェントデータ(10-2-3)とナビゲーションデータ(10-2-2)を、上記構成例で示すDVD-ROMやICカード等から別の情報記憶装置（例えばハードディスク装置等）に格納（インストール）し、この記憶装置から必要なプログラム等をフラッシュメモリ(1-2)に読み込んで（ロードして）実行するようにしてもよいし、演算処理に必要なデータをこの記憶装置からRAM(1-4)に読み込んで（ロードして）実行するようにしてもよい。
【００３８】
次に、実行されるソフトウエアの構成について説明する。
図3は、CPU(1-1)でプログラムが実行されることにより実現されるエージェント処理部(101)と、全体処理部(102)との関係を表したものである。
本実施例では、種々のナビゲーション機能を実現する全体処理部(102)に、エージェント機能を実現するエージェント処理部(101)を加えることでエージェント機能付きナビゲーション装置を実現する構成になっている。
エージェント処理部(101)と全体処理部(102)は、互いの処理データをやり取りするためのI/F部をそれぞれが持っており、互いの処理データを取得し合えるようになっている。
例えば、エージェント処理部(101)は、シナリオデータのダウンロードや、シナリオデータに従って運転者とのコミュニケーションを実行した結果、運転者が設定したい目的地データを取得した場合に、このデータを全体処理部(102)に供給するようになっている。
全体処理部(102)では、取得した目的地データにより経路探索をし、作成した走行経路データに基づく経路案内を行なう。この経路案内処理において、画像や音声による進路変更方向等の案内を行なう場合に、案内に必要なデータを全体処理部(102)からエージェント処理部(101)に供給し、走行経路案内をするシナリオをデータ化したシナリオデータに従ってエージェントが案内することも可能である。
エージェント処理部(101)については後述する。
【００３９】
全体処理部(102)は、図示しないが地図描画部、経路探索部、経路案内部、現在位置計算部、目的地設定操作制御部等からなりナビゲーションの信号出力処理を行なうアプリケーション部、及び地図表示や経路案内に必要な表示出力制御、音声案内に必要な音声出力制御を行なうためのプログラム等のOS部等で構成されている。
また、この全体処理部(102)には音声認識を行なう音声認識処理部、テキストデータを音声データに変換する処理部も存在する。ブラウザ機能やメール機能を追加する場合の当該処理部はこの全体処理部(102)に追加される。
もしくは、エージェント処理部(101)がブラウザ機能やメール機能を持つような構成にしてもよい。
また、本実施形態ではエージェント処理を実行するための拡張機能が全体処理部(102)に加えられている。この拡張機能には、例えばナビゲーションデータの中にある道路データと現在位置から、走行中の道路の種別（高速道路、国道、等）を検出する手段や走行中の道路のカーブ状況（カーブ手前、カーブ終了）を検出する手段等が存在する。
【００４０】
次に、エージェント処理部の構成について説明する。
図4は、エージェント処理部(101)の構成を表したものである。
エージェント処理部(101)は、シナリオ駆動部(101-1)と、自律起動判断部(101-2)と、学習部(101-3)と、キャラクタ心理部(101-4)と、描画・音声出力部(101-5)と、音声認識部(101-7)と、エージェントOS部(101-8)と、外部I/F部(101-9)とを備えている。
【００４１】
シナリオ駆動部(101-1)は、シナリオデータ(10-2-3-4)を読み込み、そのシナリオデータに基づいて各処理部にメッセージ通信等を使って指示（各処理部が提供する機能を使用）する。シナリオ駆動部(101-1)は、シナリオの実行を管理し運転者に各種エージェント機能を提供するといったエージェント処理部の中心的な処理を行なう。
【００４２】
自律起動判断部(101-2)は、シナリオデータ(10-2-3-4)にある各シナリオの自律起動条件データを保持し、エージェントOS部(101-8)から出される定期的な自律起動判断指示により、時間、位置、状態等の各種条件と各種状況との比較、判断を行なっている。
条件が一致した場合に、自律起動判断部(101-2)はシナリオ駆動部(101-1)に対し、条件が一致したシナリオの実行要求の指示を出す。
自律起動条件と比較するための各種状況はエージェントOS部(101-8)及び学習部(101-3)から入手している。
また、定期的な自律起動判断指示以外にも、状況の変化が大きいとされる場合は、エージェントOS部(101-8)から自律起動判断指示が出されるので、自律起動判断部(101-2)は、自律起動判断処理を行なうようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、ナビゲーション機能による走行案内経路をはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等がある。
また、自律起動判断部(101-2)は、手動起動キーが入力装置(2)で選択された場合にも、ユーザが選択したシナリオの実行要求をシナリオ駆動部(101-1)に対して出力する。
【００４３】
学習部(101-3)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によって入手した項目（実行結果や実行履歴）を運転者情報データ(10-2-3-6)や、学習項目データ及び応答データ(10-2-3-7)として格納する。
キャラクタ心理部(101-4)は、エージェントOS部(101-8)が管理している現在状況を入手し、メンタルモデル変更条件データに基づき、キャラクタの心理状態を表す5つのパラメータ（元気、友好、従順、自信、モラル）を自律的に変更する。
【００４４】
描画・音声出力部(101-5)は、シナリオ駆動部(101-1)からの指示で選択ボタンやタイトル等のパーツから構成される画面を表示するための制御信号を作成する。また、シナリオ駆動部(101-1)からの指示で、シーンデータによる表示状態に対応するキャラクタの各種行動（動作）を画像表示するための制御信号も作成する。
描画・音声出力部(101-5)は、また、シナリオ駆動部(101-1)からの指示でエージェントが運転者とコミュニケーションを行なう際の台詞を出力するための制御信号を作成する。
【００４５】
音声認識部(101-7)は、シナリオ駆動部(101-1)からの指示により、全体処理部(102)中の音声認識処理部に音声認識辞書を作成させるための制御信号を発する。また、音声認識部(101-7)は、シナリオ駆動部(101-1)からの指示で音声認識処理を開始させたり停止させたりする制御信号も発する。
【００４６】
エージェントOS部(101-8)は、時間、場所、各種入力等の状況の変化（シナリオの追加も含む）を取得して現在の状況を管理し、状況の変化に対して必要に応じてメッセージ通信にて各処理部に通知する。状況の変化は、外部I/F部(101-9)を通して全体処理部(102)から供給されたり、問い合わせたりして入手する。
エージェントOS部(101-8)は、自律起動判断部(101-2)に対して、定期的に自律起動判断指示を出すようになっている。この定期的な自律起動判断指示は、所定時間毎に出される。所定時間としては、定期的に出される自律起動判断指示によって定期的に処理される自律起動判断処理が、中央処理装置(1)全体の他の処理に影響しない範囲でできるだけ短い時間であることが望ましく、本実施形態では5秒間隔に設定されている。この所定時間は入力装置(5)からの操作によってユーザが当該所定時間を任意に変更することができるようにしてもよい。
また、エージェントOS部(101-8)は、状況の変化が大きいと判断された場合にも、自律起動判断部(101-2)に対して、自律起動判断指示を出すようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、案内経路から車両がはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等であり、あらかじめ該当する項目が規定されRAM(1-4)等に記憶されている。
【００４７】
外部I/F部(101-9)は、エージェント処理部(101)と全体処理部(102)との間のインターフェースになっている（全体処理部(102)には受け手であるエージェントI/F部が存在する）。エージェント処理において利用するナビゲーション情報等各種情報の取得と、エージェント処理部から全体処理部に制御信号を伝えてナビゲーションを制御したりする。
【００４８】
次に、データ構成（プログラムを含む）について説明する。本実施例では、これらは情報記憶媒体(10-2)に格納されている。
図5は、情報記憶媒体(10-2)に集録されている情報を概念的に表したものである。
情報記憶媒体(10-2)には本実施形態による各種エージェント機能やナビゲーション機能を実現するプログラム(10-2-1)、及び必要な各種データとして、エージェントデータ(10-2-3)とナビゲーションデータ(10-2-2)が格納されている。
【００４９】
ナビゲーションデータ(10-2-2)は、地図描画、経路探索、経路案内、目的地設定操作等に必要な各種データで構成されている。例としては、経路案内に必要な地図データ（道路地図、住宅地図、建造物形状地図等）、交差点データ、ノードデータ、道路データ、写真データ、登録地点データ、目的地点データ、案内道路データ、詳細目的地データ、目的地読みデータ、電話番号データ、住所データ、その他のデータのファイルからなりナビゲーション装置に必要なすべてのデータが記憶されている。また、必要に応じて通信地域データ等も記憶される。
【００５０】
エージェントデータ(10-2-3)は、メンタルモデルデータ(10-2-3-1)と、シナリオデータ(10-2-3-4)と、キャラクタデータ(10-2-3-5)と、運転者情報データ(10-2-3-6)と、学習項目データ及び応答データ(10-2-3-7)と、実行優先順位対応テーブル(10-2-3-8)とで構成されている。他にも、お勧めのレストラン提案を行なう等のお勧め提案データや知識データ等も、エージェントデータ(10-2-3)には存在する。
【００５１】
メンタルモデルデータ(10-2-3-1)は、キャラクタの心理状態を表す5つのパラメータ（友好度、従順度、自信度、モラル、元気度）及びメンタルモデル変更条件データとで構成されている。
学習項目データ及び応答データ(10-2-3-7)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によってエージェントが学習した結果を格納するデータである。
【００５２】
図6は、車載装置で実行するシナリオデータの構成を表したものである。
シナリオデータ(10-2-3-4)は、複数のシナリオで構成されており、それらを管理するための集録シナリオ管理データと、個々のシナリオの内容を示すデータ（シナリオ本体）とで構成されている。
【００５３】
また、集録シナリオの管理データには、このシナリオデータの有効期限、作成された日や作成者等といった情報と、シナリオデータに収録されている個々のシナリオを全体的に管理するためのデータと、シナリオファイルに収録されているシナリオの自律起動条件データが記録されている。
さらに、集録シナリオの管理データには、シナリオファイルに収録されているシナリオの中で運転者が入力装置(5)等を使って手動起動させることができるシナリオ一覧データが記されている。
【００５４】
収録シナリオの管理データには、全体を管理するためのデータとして、シナリオ番号、シナリオ名称、優先順位（プライオリティ）、シナリオの種類等が記録されている。
これらの管理データと自律起動条件は、シナリオ作成装置のシナリオプロパティの編集ウィンドウ（図１８（ａ）参照）で設定される。
シナリオのプロパティ、シナリオの種類の設定、及び自律起動条件の設定については、シナリオ作成装置の説明において後述する。
【００５５】
図６に示されるように、個々のシナリオの内容を示すデータには、それぞれのシナリオを管理する管理データと、シナリオを構成する個々のシーンの内容を示すシーンデータとで構成されている。
それぞれのシナリオを管理するシナリオ管理データには、シナリオに関する情報と、このシナリオで使用する音声認識辞書を作成するためのテキスト情報と、シナリオを構成する各シーンデータを全体的に管理するためのデータが記されている。
【００５６】
シーンデータは、シーンを管理するシーン管理データと、画面構成データと、キャラクタ動作データと、各種処理データと、展開管理データとで構成されている。
シーン管理データには、そのシーンに関する情報とシーンデータに属する各データセクションを管理するデータが記されている。
画面構成データには、このシーンにおいて表示装置(2)に表示するキャラクタ画像や吹き出し画面等のシーン構成部品の構成と、各シーン構成部品の大きさや表示位置等を規定するデータが記されている。
キャラクタ動作データには、このシーンにおいてキャラクタが行なう動作の指示データと、話す内容に関する指示データが記されている。動作の指示データには、シナリオデータで直接各キャラクタの表現手段で指示するものと、キャラクタに表現させたい状態で指示するものの2種類のうちどちらかで指示データが記されている。
【００５７】
各種処理データには、このシーンにおいて外部機器を制御（処理をさせる）する情報や、ナビゲーションを制御する情報や、他のシナリオを実行する指示や、タイマー設定情報や、キャラクタ心理を示すメンタルモデルのパラメータを変化させる情報等が記されている。
展開管理データには、このシーンで何かイベントが発生した場合に、シナリオを終了するのか、次に進むシーンが何であるか、もしくは何も展開しないのか、といった情報が記述されている。
【００５８】
図５において、キャラクタデータ(10-2-3-5)には、複数のキャラクタのデータが格納されており、運転者の好みによって入力装置(5)等から選択することができるようになっている。
キャラクタデータ(10-2-3-5)は、各キャラクタA、B、…毎に、キャラクタ画像データ102351と、キャラクタ音声データ102352と、キャラクタ画像選択データ102353とを備えている。
キャラクタ画像データ102351は、シナリオにより指定された各シーンで表示されるキャラクタの状態を表す静止画像や、動作を表す動画（アニメーション）等が格納されている。例えば、キャラクタがお辞儀をする動画、うなずく動画、右手を挙げる動画等が格納されている。
シナリオデータ(10-2-3-4)のシナリオ本体では、キャラクタの種類によらない共通化した表示状態により各シーンの内容を規定している。
【００５９】
また、図５における運転者情報データ(10-2-3-6)は、運転者に関する情報で、エージェントのコミュニケーションをより運転者の希望や趣味、嗜好に合ったものとするために利用される。
運転者情報データ(10-2-3-6)には、運転者毎に情報を格納するための運転者のID（識別情報）、名前、年齢、性別、結婚（既婚か未婚か）、子供の有無と人数と年齢からなる運転者基礎データや、スポーツ、飲食等の趣味嗜好データとが格納されるようになっている。
本実施形態では、これら各運転者情報には優先順位が決められており、エージェントは、未だ格納されていない運転者情報のうち優先順位が高い順に運転者に質問をするようになっている。運転者基礎データは、趣味嗜好データよりも優先順位が高くなっている。
運転者情報データ(10-2-3-6)は、その車両を運転する運転者が複数存在する場合には、運転者毎に作成される。そして、運転者を特定して該当する運転者情報が使用される。
【００６０】
また、図５における、エージェントデータ(10-2-3）に格納されている実行優先順位対応テーブル(10-2-38)は、実行すべきシナリオが複数存在する場合に実行順序を決定する際に使用されるテーブルである。
図７は、実行優先順位テーブルの内容を概念的に表したものである。
図７に示されるように、シナリオの種類に対応して実行優先順位が決められた実行優先順位対応テーブル図７（ａ）と、自律起動条件に対応して実行優先順位が決められた実行優先順位対応テーブル図７（ｂ）が格納されている。
そして、図７（ａ）、図７（ｂ）の両実行優先順位対応テーブルは、それぞれ、車両走行中用のテーブルと、車両停車中用テーブルの２種類づつ記憶されている。
【００６１】
シナリオの種類の実行優先順位対応テーブル図７（ａ）には、シナリオの種類として安全装置系、制御系、情報提供系、エンターテイメント系が規定されており、この種類は、後述するシナリオ作成装置で設定可能なシナリオの種類と一致している。
実行優先順位対応テーブル図７（ａ）は、車両走行中用のテーブルとして、安全装置系、制御系、情報提供系、エンターテイメント系の順で実行優先順位が決められている。一方、車両停車中用のテーブルとして、エンターテイメント系、情報提供系、安全装置系、制御系の順で実行優先順位が決められている。
なお、本実施形態では、シナリオの種類として４種類を例示したが、より多くの種類に細分類するようにしてもよい。この場合の実行優先順位対応テーブルも、シナリオ作成装置で設定可能な種類に一致させる。
【００６２】
自律起動条件項目の実行優先順位対応テーブル図７（ｂ）には、自律起動条件に含まれている個別の条件項目毎に実行優先順位が決められている。
この条件項目もシナリオの種類と同様に分類されており、同一分類には同一の実行優先順位が決められている。
すなわち、図７（ｂ）に示されるように、ＡＢＳ：ＯＮ、車間距離の変化等の安全装置系の条件項目には、走行中で順位１が決められ、停車中で順位３が決められている。また、シフト操作、急加速、エアコン設定等の制御系の条件項目には、走行中で順位２が決められ、停車中で順位２が決められている。さらに、日時（時刻）等のその他の項目には、走行中で順位３が決められ、停車中で順位１位が決められている。
【００６３】
このように、車両の走行中と停車中というように、車両の状態に応じて異なる実行優先順位対応テーブルを記憶することで、車両の状態に応じた適切な順番でシナリオを実行することができる。
【００６４】
なお、本実施形態における実行優先順位対応テーブルについては、走行中、停車中を含めてその順位を変更することができるようにしてもよい。
これにより、シナリオ作成者によるシナリオの優先順位の好みはシナリオプロパティで反映され、シナリオの利用者（エージェント装置の使用者）の好みは、実行優先順位対応テーブルの順位変更で反映される。そして、シナリオ作成者の優先順位よりも、シナリオ利用者の優先順位がより実行順序の決定により強く反映されることで、使用者の好みに合ったエージェント装置とすることができる。
【００６５】
図８は、旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移をシーン毎に表したものである。
この案内シナリオは、複数のシーン画面のうち(a)〜(f)までのシーン画面で構成されている。
シーン画面(c)に対するユーザの選択結果によって次のシーン画面が4と6に分岐している。また、図８の例では分岐していないが、シーン画面(d)においても選択した料理の種類に応じた料理をシーン表示画面54に表示するようにシーン画面を分岐させるようにしてもよい。
【００６６】
まず、シナリオのシーンデータに基づいて表示装置(2)に表示されるシーン画面の画面構成について説明する。
シーン画面（ａ）に示されるように、エージェントの画像（静止画、動画）が表示されるエージェント表示画面51、エージェントの音声に対応した文字が表示される吹き出し画面52、タイトル画面53、及び、各シーン固有の画像データ（実画像データの画像や回答選択ボタン等）が表示されるシーン表示画面54から構成されている．
エージェント表示画面51に表示されるエージェントは、ユーザが選択したキャラクタ、又はデフォルトのキャラクタである．
【００６７】
以下図８に従って予約シナリオによるエージェントの各行為について説明する。
以下の各シーン画面に対応して説明するエージェントの動作や画面の表示はいずれも、外部シナリオのシナリオデータに格納されているデータや画像及び指示に従って表示等されるものである。また、エージェントの動作として説明するが、実際にはエージェント処理部(101)のシナリオ駆動部(101-1)が処理を行う。
【００６８】
後述するシナリオ開始処理においてエージェント処理部(101)のシナリオ駆動部(101-1)は、案内シナリオを起動すると、最初にシーンヘッダで指定される番号１のシーンの画面構成データをシナリオデータから読み出して表示装置(2)に表示する。このシーンでは、エージェントOS部(101-8)で管理しているキャラクタのエージェントが、エージェント表示画面51に登場し、お辞儀をして音声による挨拶をする。音声による挨拶の内容は、吹き出し画面52に表示されている文章と同一である。
音声による挨拶は、旅館に代わってエージェントが代行して行うことになるが、旅館の女将の写真画像をシーン表示画面54に表示することで旅館からの挨拶であることが表現されている。この女将の画像は、外部シナリオの一部として受信し追加した画像で、シナリオデータ(10-2-3-4)の実画像データとして格納されている。
エージェントの動作に対する指示は、キャラクタ動作指示データに格納されている指示に従う。
エージェントによる挨拶が終了すると、次のシーン2に遷移する。
【００６９】
次のシーン2では、シーン表示画面54に露天風呂の画像が表示される。そして、この露天風呂の絵をエージェントが指し示して、旅館の名物（ここが売りだということ）を、エージェントが音声と吹き出し画面52の表示で説明する。
エージェントの話が終了すると、次のシーン3に遷移し、本日の食事の画像（懐石料理の画像）をシーン表示画面54に表示し、エージェントが料理の説明と、この料理で良いか否かを質問する。
【００７０】
そして、シーン3のシーンデータにタイマー設定時間と、タイマー設定条件「走行中のみ設定する」が規定されているものとする。この場合、走行中であることを条件に、シーン開始時にタイマーによる計時が開始される。走行中か否かは車速センサ(6-11)又は、距離センサ(6-1-5)において、車速v＝0が検出された場合に停車中と判断され、車速v≠0が検出された場合に走行中と判断される。
そして、表示した料理でよいか否かの質問に対する回答としてユーザが「はい」を選択した場合にはシーン4に分岐し、「いいえ」を選択した場合にはシーン6に分岐する。
【００７１】
一方、タイマー設定時間内に、ユーザが音声による回答も、画面に表示された選択ボタンの選択による回答もせずにタイマー通知（設定時間の経過）した場合、シーン3のシーンデータで規定されているタイマー通知時の移行条件に従って、そのシナリオを終了させる。
このように、ユーザからの回答がない場合にも、無回答という選択がされたと判断して、無回答を移行条件とする次のシーン（図８の例では終了）に移行することで、擬人化されたキャラクタとのコミュニケーションをより人間同士のコミュニケーションに近づけることができる。
【００７２】
シーン4では、懐石料理以外の選択可能なリストをシーン表示画面54に表示する。エージェントは、シーン表示画面54のリストを指し示して、どの料理が良いかを質問する。
そして、ユーザがいずれか1つを選択したらシーン5に遷移する。
シーン5では、懐石料理から変更すべき人数のリストをシーン表示画面54に表示し、エージェントはこのリストを指し示して、人数の質問をする。
そしてユーザがいずれか1つを選択したらシーン6に遷移する。
【００７３】
シーン6では、シーン表示画面54に旅館の外観写真画像を表示し、エージェントがお辞儀をして挨拶をする。
そして、エージェントは、ユーザが選択してきた結果、図８の案内シナリオの場合には食事に関する回答結果を、通信装置I/F部(1-11)から通信制御装置(8)に接続されている通信装置(9)を介して実行中の外部シナリオを送信した第三者（旅館）に送信する。
【００７４】
このように、ユーザについての情報を取得したい場合には、外部シナリオの作成者は、取得したい情報が得られる質問のシーンをシナリオ中に設け、その回答を電子メールで送信するようにシナリオを作成する。なお、回答の送信が必要な場合には、作成者の電子メールアドレスをシナリオデータ中に含める。
最後のシーン（図８ではシーン6）でのエージェントの話が終了すると、シナリオを終了させる。
このようにして、シナリオ駆動部(101-1)は、シナリオに規定された各シーン画像と音声を最後のシーンまで順次表示、出力する。
起動したシナリオが終了すると、シナリオ駆動部(101-1)は、他のシナリオの実行についての起動要求が存在するかの判断を行う。
【００７５】
次に、このようなシナリオ駆動部(101-1)で実行される各種シナリオを自律的に起動するか否かの判断処理について説明する。
図９は、自律起動判断部(101-2)によるシナリオの自律起動判断処理について表したものである。
この自律起動判断処理では、自律起動判断部(101-2)が装置の負荷を軽減するために、位置と日付に関する情報を受け取り、その受け取った位置と日付に近似する起動条件の塊を、シナリオデータを保持している外部記憶装置(10)より読み出し（抽出手段）、ワークメモリ（RAM(1-4)）に一時的に格納する処理を行う。
【００７６】
すなわち、自律起動判断部(101-2)は、今現在置かれている状況情報を取得するため、エージェントI/Fを介し、エージェントOS部(101-8)より現在位置、時間などの状況情報を取得する（ステップ11）。
そして、自律起動判断部(101-2)は、取得した位置、時間などの状況情報が所定単位の変化があるか否かを判断する（ステップ12）。
【００７７】
判断の結果、所定単位の変化がありと判断された場合（ステップ12；Yes）、自律起動判断部(101-2)は、その位置と時間などの条件に近似する条件を備えた自律起動条件群を外部記憶装置(10)より読み出し、ワークメモリ（RAM(1-4)）に一時的に格納する（ステップ13）。
ここで、近似する条件とは、位置の場合、地図データの全範囲を所定単位の方形ブロックに区画し、車両が存在する位置が含まれているブロックと、そのブロックに隣接する8つのブロックに位置情報が含まれる条件をいい、日付の場合、その当日と翌日が該当する。そして、所定単位の変化とは、位置の場合には車両が他のブロックに移動した場合で、日付の場合には日付が変わった場合が該当する。
【００７８】
そして自律起動判断部(101-2)は、読み込まれた自律起動条件群に対して、状況情報が満たしているか否かについての条件判断処理を行う（ステップ14）。
なお、ステップ12の判断で所定単位の変化なしと判断された場合（ステップ12；No）、ワークメモリに一時保存している自律起動条件群を変更する必要がないため、ステップ14の処理に進む。
【００７９】
図１０は、図９における条件判断処理（ステップ14）の処理内容を表したものである。
自律起動判断部(101-2)は、ワークメモリ（RAM(1-4)）に一時的に格納された自律起動条件群から、最初の自律起動条件を取得し（ステップ21）、ステップ12で入手した各種状況情報による状況が、取得した自律起動条件を満たしているか否かを判断する（ステップ22）。
自律起動条件を満たしている場合（ステップ22；Yes）、自律起動判断部(101-2)は、その自律起動条件に対応するシナリオの実行要求メッセージを、シナリオ駆動部(101-1)に対して発行する（ステップ23）。
【００８０】
次に自律起動判断部(101-2)は、ワークメモリ（RAM(1-4)）に一時的に格納された自律起動条件群に次の自律起動条件がまだ存在するか否かを判断し（ステップ24）、あれば（；Yes）、次の自律起動条件を取得し（ステップ21に戻る）、以後ステップ21〜24の各処理をワークメモリ（RAM(1-4)）に一時的に格納された全ての自律起動条件に対する判断が終了するまで繰り返す。
ステップ24において、次の自律起動条件が存在しない（ワークメモリ（RAM(1-4)）に一時的に格納した全ての自律起動条件に対する判断が終了した）場合（；No）、自律起動判断部(101-2)は、自律起動判断処理を終了する。
このように、図９のシナリオの自律起動判断処理及び図１０の条件判断処理により、車載された入力装置からの入力が起動条件を満たしたか否かを判断する条件判断手段が構成される。
【００８１】
次に、シナリオ駆動部(101-1)が、自律起動判断部(101-2)からシナリオ実行要求を受け取った場合の、シナリオ実行順序決定処理及びシナリオ実行処理について説明する。
図１１は、シナリオ実行順序決定処理の流れを表したフローチャートである。
シナリオ駆動部(101-1)は、自律起動判断部(101-2)からシナリオ実行要求を受けとると、自律起動条件を満たして実行対象となっているシナリオが複数か否かを判断し（ステップ３０）、シナリオが１つの場合にはリターンして、次のシナリオ実行処理を行う。
【００８２】
一方、実行対象シナリオが複数ある場合（ステップ３０；Ｙ）、シナリオ駆動部(101-1)は、車両が走行中か停車中かを判断する（ステップ３１）。すなわち、シナリオ駆動部(101-1)は、エージェントＯＳ(101-8)を介して各種状況検出装置(６)で検出された車速情報を取得し、車速が所定値以下である場合に停車中、所定値より大きい場合に走行中と判断する。
【００８３】
そして、シナリオ駆動部(101-1)は、停車中か走行中かの判断に応じて、実行優先順位テーブル(10-2-3-8)から、シナリオ種類と、自律起動条件項目の両の実行優先順位対応テーブルを取得する（ステップ３２、ステップ３３）。
次に、シナリオ駆動部(101-1)は、シナリオデータ(10-2-3-4)から集約シナリオ管理データを読み込んで作業領域であるＲＡＭ(1-4)に書き込む（ステップ３４）。
【００８４】
次に、シナリオ駆動部(101-1)は、実行対象である複数のシナリオのうちの１つのシナリオに対してシナリオの種類情報が記録されているかを、読み込んだ集約シナリオ管理データから確認する（ステップ３５）。
シナリオ駆動部(101-1)は、シナリオにシナリオの種類情報が記録されている場合（ステップ２５；Ｙ）、シナリオ種類の実行優先順位対応テーブルから、当該シナリオの優先順位を決定する（ステップ３６）。
一方、シナリオ駆動部(101-1)は、シナリオにシナリオの種類情報が記録されていない場合（ステップ２５；Ｎ）、自律起動条件項目の実行優先順位対応テーブルから、当該シナリオの優先順位を決定する（ステップ３７）。
【００８５】
次にシナリオ駆動部(101-1)は、全シナリオに対する実行優先順位を決定したか判断し（ステップ３８）、未決定のシナリオがあれば（；Ｎ）、ステップ３５以降の処理に戻って実行優先順位を決定する。
【００８６】
全シナリオの実行優先順位の決定が終了すると（ステップ３８；Ｙ）、シナリオ駆動部(101-1)は、決定した各シナリオの実行優先順位と、集約シナリオ管理データに記録されている各シナリオの優先順位（プライオリティ）とから、実行対象となっているシナリオの実行順序を決定する（ステップ３９）。
すなわち、シナリオ駆動部(101-1)は、決定した実行優先順位が高いシナリオの実行順序を先にする。そして、実行優先順位が同一のシナリオが複数ある場合には、シナリオ作成者が設定したプライオリティが高いシナリオの実行順序を先にする。
【００８７】
以上のシナリオ実行順序決定処理によれば、実行優先順位テーブルに従った所定のグループ単位（シナリオの種類、自律起動条件の種類）で実行の順序を決定し、そのグループ内においてシナリオ作成者の意図であるプライオリティを反映させた順序を決定している。
これにより、各シナリオ作成者が自己の好みで設定したプライオリティを反映させつつ、異なる作成者による各種シナリオが混在するエージェント装置であっても、シナリオ全体として一定の統一的な順序でシナリオが実行される。
【００８８】
図１２は、シナリオ実行順序決定処理で決定した順序に従って、個別のシナリオを実行するシナリオ実行処理の流れの一例を表したものである。
ユーザの操作内容や、シナリオデータの記述内容によってシナリオ実行処理の流れは変わってくる。よって、図１２では、シナリオを実行する場合の、エージェント処理部(101)の各部、及び全体処理部(102)による一連の代表的な動作を表したものであり、本実施例において、各部はそれぞれ独立した処理を行うようにし、ユーザの操作内容や、シナリオデータの記述内容によってシナリオ実行処理の流れを変えることを実現している。すなわち、各部の独立した処理が、連続することで図１２に示した代表的な流れになる。
【００８９】
具体的には、エージェント処理部(101)の各部、及び全体処理部(102)は、メッセージを受け取ったら、そのメッセージに対する処理を行ない、処理が完了したら次のメッセージを待つようになっている。
シナリオ駆動部(101-1)は、自律起動判断部(101-2)からシナリオ実行要求を受け取ると、ワークメモリの確保、初期化によるエージェント開始準備処理を行う（ステップ505-1）。
そして、シナリオ駆動部(101-1)は、シナリオの実行要求が手動起動か自動起動かを確認する（ステップ505-2）。手動起動は、ユーザが表示装置(2)のメニューからシナリオ起動を選択した場合で、自動起動は、シナリオの自律起動条件を満たした場合である。
【００９０】
シナリオの実行要求が手動起動の場合はメニューシナリオの要求処理を行う（ステップ505-3）。その後、シナリオデータ取得処理（ステップ505-4）に移行する。
一方、自動起動の場合には、自律起動条件を満たすことで実行要求されているシナリオが存在するので、そのままシナリオデータ取得処理（ステップ505-4）に移行する。
【００９１】
次にシナリオ駆動部(101-1)は、実行すべきシナリオデータをシナリオデータ(10-2-3-4)からワークメモリ（RAM(1-4)に確保する）に読み込む（ステップ505-4）。シナリオデータを読み込む際、実行対象となっているシナリオが複数存在する場合（複数の自律起動条件が満たされた場合、手動起動要求と自動起動が重複した場合等）には、シナリオ駆動部(101-1)は、各シナリオに規定されている優先順位を判断し一番優先順位の高いシナリオデータを読み込む。
優先順位が同じである場合には、自律起動判断部(101-2)から実行要求を受けた順に優先順位が高いものとして決定する。シナリオの優先順位は、シナリオデータ(10-2-3-4)の収録シナリオの管理データに存在し、シナリオ実行要求と一緒にシナリオ駆動部(101-1)は取得しており、それを確認する。
【００９２】
シナリオデータの読み込みが完了すると、シナリオ駆動部(101-1)は、次に、シナリオ開始処理を行う（ステップ505-5）。
シナリオ開始処理においてシナリオ駆動部(101-1)は、まず、シナリオを開始するための初期化処理を行う。
【００９３】
シナリオ開始処理（ステップ505-5）の後に、シナリオ駆動部(101-1)は、シナリオを構成するシーンの内容に応じてキャラクタの描画や音声を処理するシーン処理を実行する（ステップ505-6）。
すなわち、シーン処理においてシナリオ駆動部(101-1)は、ステップ505-4で読み込んだシナリオデータが一時記憶されているＲＡＭ(1-4)を参照し、表示する画面構成やキャラクタの動作指示、等を解析する。
そして各シーンデータにおける規定に従って、シナリオ駆動部(101-1)は、出力する音声データやキャラクタ描画データを作成して描画・音声出力部(101-5)に描画の指示を行なう。この指示に従って描画・音声出力部(101-5)により、キャラクタがお辞儀をしたり、右方向や左方向を手で指したり、ユーザに話しかけたりするシーンが展開される。
また、処理中のシーンデータに音声認識についての指示ある場合、音声認識処理が行われる。
【００９４】
シーン処理が完了すると、シナリオ駆動部(101-1)は、シナリオ終了か確認を行なう（ステップ505-7）。
シナリオ終了の場合、シナリオ駆動部(101-1)は、シナリオ終了処理を行なう（ステップ505-8）。このシナリオ終了処理において、学習部(101-3)が、終了の仕方を示すエンドIDを入手して応答データ(10-2-3-7)に格納する。
シナリオ終了でない場合（シナリオがまだ続く場合）、シナリオの終了位置まで、ステップ505-6に戻って次のシーン、次のシーン、…とシーン処理を繰り返す。
シナリオの終了処理の後、シナリオ駆動部(101-1)は、他にシナリオの実行要求が有るか否か確認し（ステップ505-9）、他のシナリオの実行要求が存在する場合は、シナリオデータの読み込み処理（ステップ505-4）に戻って同様に処理が実行される。
一方、他に実行するシナリオが存在しない場合、シナリオ駆動部(101-1)は、エージェント終了処理を実行する（ステップ505-10）。すなわち、エージェントOS部(101-8)に対して、要求された全てのシナリオの実行処理が終了したことを知らせる。
その後、表示装置(2)に表示される画面は通常のナビゲーション画面に戻るが、その後の処理はエージェントI/Fを介して全体処理部(102)に受け渡す。
【００９５】
次に、ユーザや第三者が独自のシナリオを作成するシナリオ作成装置２の構成とその動作について説明する。
図１３は、シナリオ作成装置の構成を表したものである。
シナリオ作成装置は、制御部(200)と、入力装置(210)と、出力装置(220)と、通信制御装置(230)と、記憶装置(240)と、記憶媒体駆動装置(250)と、入出力I/F(260)とを備えている。これら各装置は、データバスや制御バス等のバスラインにより接続されている。
【００９６】
制御部(200)は、CPU(200-1)と、メモリ(200-2)等から構成されており、シナリオ作成装置全体を制御する。
CPU(200-1)は、種々の演算処理を実行するプロセッサである。
メモリ(200-2)は、CPU(200-1)が種々の演算処理を実行する際にワーキングメモリとして使用される。
CPU(200-1)は、メモリ(200-2)にプログラムやデータなどを書き込んだり消去したりすることができる。
本実施の形態におけるメモリ(200-2)には、CPU(200-1)がシナリオエディタ（シナリオ編集プログラム）に従ってシナリオデータを作成、編集、記憶等するためのエリアが確保可能になっている。
【００９７】
入力装置(210)は、シナリオ作成装置に対して文字や数字その他の情報を入力するための装置であり、例えばキーボードやマウスなどにより構成されている。
出力装置(220)は、例えばCRTディスプレイ、液晶ディスプレイ等の表示装置や印刷装置などである。表示装置は、シナリオを作成するためのメイン画面や、プライオリティやシナリオの種類を設定する画面や、自律起動条件を設定するための画面等の各種画面が表示される。また、各画面において選択された情報や入力された情報が表示されるようになっている。
【００９８】
通信制御装置(230)は、外部との間で各種データやプログラムを送受信するための装置であって、モデム、ターミナルアダプタその他の装置が使用され、例えばインターネットやLAN(Local Area Network)などに接続可能に構成されている。
通信制御装置(230)は、作成したシナリオデータを、これらのネットワークで接続されたいずれかのサーバ３にアップロードしたり、他のシナリオ作成装置との間でお互いに作成したシナリオデータの送受信したり、シナリオデータの作成に必要なデータの送受信をしたりすることができるようになっている。
通信制御装置(230)はCPU(200-1)によって制御され、例えば、TCP/IPなどの所定のプロトコルに従ってこれら端末装置やサーバ装置との信号及びデータの送受信を行なう。
なお、シナリオ作成装置２で作成したシナリオデータは、ICカード等の記憶媒体に書き込んでエージェント装置１に取り込むことも可能である。
【００９９】
記憶装置(240)は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
記憶装置(240)には、シナリオ編集プログラム(240-1)、シナリオ編集データ(240-2)、及びその他のプログラム・データ(240-3)が格納されている。その他のプログラムとして、例えば、通信制御装置(230)を制御し、シナリオ作成装置とネットワークでつながれた端末装置やサーバ装置との通信を維持する通信プログラムや、メモリ管理や入出力管理などのシナリオ作成装置を動作させるための基本ソフトウエアであるOS(Operating System)なども記憶装置(240)に格納されている。
記憶媒体駆動装置(250)は、着脱可能な記憶媒体を駆動してデータの読み書きを行なうための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、ICカード類、データをパンチした紙テープ、CD-ROMなどがある。
【０１００】
シナリオ作成装置２は、記憶媒体駆動装置(250)によって記憶媒体を駆動することにより、シナリオデータが格納された記憶媒体からシナリオを取得したり、あるいは、作成したシナリオデータを記憶媒体駆動装置から記憶媒体に格納したりすることができる。
入出力I/F(260)は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。
入出力I/F(260)に当該インターフェースに対応した外部機器を接続することにより、シナリオ作成装置の機能を拡張することができる。このような外部機器として例えば、ハードディスクなどの記憶装置、通信制御装置、スピーカ、マイクロフォンなどがある。
【０１０１】
次に、シナリオ編集プログラム(240-1)と、シナリオ編集データ(240-2)の構成について説明する。
図１４は、シナリオ編集プログラムとデータの構成を概念的に表したものである。
シナリオ編集プログラム(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)は、シナリオデータを作成するアプリケーションプログラムである。
シナリオコンパイラ(240-1-2)は、シナリオエディタ(240-1-1)で作成されたSCE形式のシナリオデータ(240-2-3)を、エージェント装置で使用可能な実機形式のシナリオデータ(240-2-4)に変換するアプリケーションプログラムで、変換手段として機能する。
【０１０２】
図１５は、シナリオコンパイラ(240-1-2)によるシナリオデータのデータ形式を変更した状態を概念的に表したものである。
この図１５に示されるように、シナリオコンパイラ(240-1-2)は、１個以上のSCE形式シナリオデータ(240-2-3)を、1個の実機形式（NAV形式）のシナリオデータ(240-2-4)に変換する。
【０１０３】
図１４において、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)は、シナリオ作成者がシナリオデータを作成中に定義した画面構成が格納される。
SCE形式シナリオデータ(240-2-3)は、シナリオエディタ(240-1-1)で作成されたデータである。
実機形式（NAV形式）シナリオデータ(240-2-4)は、シナリオコンパイラ(240-1-2)によってSCE形式シナリオデータ(240-2-3)からエージェント装置で使用するためのデータ形式に変換されたデータである。
【０１０４】
図１６は、共通定義DB(240-2-1)に格納されている自動起動項目として設定可能な項目を例示したものである。
この自動起動項目は、エージェント装置で検出、認識、確認可能な各項目の種類のサンプルを概念的に一覧表示したものである。
この自動起動項目は、共通定義DB(240-2-1)に記述されており、シナリオエディタ(240-1-1)でシナリオを作成する際に、自律起動条件を設定するために、自動起動項目が共通定義DB(240-2-1)から読み出され、リスト表示される（提示手段）。作成者は、このリスト表示（一覧表示）された中から自動起動項目を選択する（選択手段）。
それぞれ選択された項目の種類に記されている内容によって数値入力を行なうウインドウが表示されたり、一覧から選択するウインドウが表示されたりして自動起動項目の判断条件を入力する。この操作を1又は複数回繰り返しシナリオを自律的に起動するための判断条件である自律起動条件のデータが作成される。
このように、画面要素推移体（シナリオ）の起動条件を設定することにより、起動条件設定手段が形成される。
【０１０５】
図１６(b)、図１６(c)は、自動起動項目に対して、自律起動条件として選択可能な選択可能項目を例示したものである。
選択可能項目も共通定義DB(240-2-1)に記述されている。図１６(a)に例示した自動起動項目を示したテーブルのうち、種別の欄に一覧から選択と表記された項目について、更に下位の概念として選択可能な項目が、選択可能項目として図１６(b)、図１６(c)に規定されている。選択可能項目に規定されたグループと、自動起動項目の項目とは、一番左側のNo.の項目で対応付けられている。
選択された自動起動項目と選択された選択可能項目及び入力された数値や時刻、距離等の組み合わせが、各シナリオに対する自律起動条件となる。例えば、ユーザによる選択が、自動起動項目「加速度」、選択可能項目「急減速状態」である場合、自律起動条件は「加速度−急減速」となる。
なお、本サンプルはあくまでもサンプルであり定義を変更してもよい。
例えば車速入力を一覧から選択にし、10km/h毎に区切られた項目の中から選択する形をとってもよい。
【０１０６】
図１４における共通定義DB(240-2-1)には、更に、１のシーン（画面要素）から次のシーンに展開するための移行条件（展開条件）や分岐条件が格納されている。
展開条件の各項目は、各シーンの展開構成を作成する際に読み出され、分岐条件指定ウインドウにリスト表示される。このリスト表示された中から展開条件項目を選択することにより、図８の（ａ）から（ｂ）へ、（ｂ）から（ｃ）へと例示されるように、シーンの展開構成が作成される。
また、各シーンから条件を判断して、その判断結果から複数のシーンに分岐する場合の条件項目も選択可能である。図８の例では、（ｃ）から（ｄ）と（ｆ）に分岐するシーンが展開されている。
このように通常シーンの後に分岐シーンを複数（直列、及び並列に）継続させることで、1の通常シーンに対して多彩な条件で分岐する複数の通常シーンを展開させることが可能になる。
【０１０７】
共通定義DB(240-2-1)には、その他、音声認識に使用する音声認識用データと、キャラクタの動作指示に使用するデータ（別途台詞の指示データも存在する）と、各シーンで設定した指示をプレビューして確認するためのキャラクタ画像データ及びキャラクタ台詞データ及びキャラクタによらない統一の指示に対する各キャラクタの表現方法への変換テーブルと、表示装置(2)に表示する各パーツデータ及びそれらをどのように配置するかが記された画面構成データと、シーンにおける処理内容として選択可能な項目、例えば、エージェントが処理可能な行為である、オーディオ装置のオン・オフやチャンネル選択、エアコン装置のオン・オフと温度設定、全体処理部(102)に供給する目的地の設定等の各種処理内容項目データ等が格納されている。
これら全ての定義データも、各定義データと同様に、変更及び追加がDB編集ツール(240-1-3)を使って行なうことができるようになっている。
各シーンで設定した指示をプレビューして確認するためのキャラクタ画像データは、エージェント装置に格納されている各種キャラクタの画像データが格納されている。
【０１０８】
次に、このように構成されたシナリオ作成装置によるシナリオ作成の各動作について、画面の遷移に従って説明する。
図１７は、シナリオエディタ(240-1-1)を起動した場合に表示装置に表示されるメインウインドウの構成を表したものである。
以下に説明するように、このメインウィンドウからの各種設定により、車載装置の表示画面と同期して実行される処理内容が定義された画面要素を組み合わせて構成された画面要素推移体データを作成する画面要素推移体作成手段が構成される。
この図１７に示されるように、メインウインドウは、作成中のシーン画面（エージェント装置１の表示装置(2)に表示されるシーン画面（図８参照））が表示されるシーン画面301と、各種設定を行う設定項目が表示された設定画面303と、シーンの展開構成（分岐の状態）が各シーンを表すシーンアイコン307のツリー構造により表示されるシーン展開画面305、及び処理アイコン表示部で構成されている。
【０１０９】
シナリオエディタ(240-1-1)を起動すると、メインウインドウのシーン展開画面305には、スタートポイント308が表示される。このスタートポイント308を選択するとシナリオプロパティの編集ができる。選択は、例えば、マウスカーソルによるポイント位置を該当箇所に合わせて、マウスをダブルクリックすることで選択される。
画面構成の変更ボタン309は、表示したい画面構成を選択するボタン、効果音設定ボタン310は、シナリオのシーン毎に効果音を設定する画面を表示するボタンである。
エージェント表示画面311を選択すると、エージェント（キャラクタ）の動作の編集画面が表示される。
【０１１０】
台詞編集ボタン313は、キャラクタの台詞の指示を編集するボタンである。
ボタンパーツとバックグラウンド音声認識辞書設定315を選択すると使用する音声認識辞書の編集ができる。シーン画面301の回答選択ボタン315aのマークで表示されている方を選択すると認識する単語の名称がシーン画面に表示され、バックグラウンドで認識する方315bを選択すると、音声認識の対象となるが認識する単語の名称は表示されない。
タイマー設定ボタン317は、タイマー設定情報を設定、及び変更するためのボタンである。
【０１１１】
音声認識開始制御指示320aでは、作成中のシーンにおいて音声認識を行う場合に、音声認識の開始をどのようにするかを規定する音声認識の指示を設定する。音声認識の指示としては、音声認識を「自動で開始する」、「自動で開始しない」、「エージェント装置（車載装置）が判断する（おまかせ）」、のうちのいずれかを選択可能になっている。
コールバック制御指示320bでは、音声認識の結果を確認するためのコールバックを行うか否かについての指示を設定する。コールバックの指示としては、「コールバックする」、「コールバックしない」、エージェント装置が状況判断してコールバックをするかしないかを判断する「エージェント装置が判断（おまかせ）」のうちのいずれかを選択可能になっている。
【０１１２】
AMMの変化の設定変更ボタン321は、作成中のシーンでエージェントの各長期的感情要素を変更するためのボタンである。
シーン展開表示部322は、シーン展開画面で指定された（アクティブ状態の）シーンに対して規定されている展開条件項目及び追加条件項目と、その条件項目を満たす場合に継続（接続）するシーンが表示される。
シーン展開表示部322の左側には、図１７に示されるように、アクティブ状態のシーンに設定された展開条件や追加条件の分類がツリー構造で表示される。また、シーン展開表示部の右側には、移行条件の内容とその接続先（展開先のシーン番号）が表示される。
【０１１３】
処理アイコン表示部には、シーン作成ボタン323、分岐シーン作成ボタン324、エンドIDボタン327、挿入ボタン329、シーン再生ボタン331、ビルドボタン332、その他の処理ボタンが表示されている。
シーン作成ボタン323は、新たに通常シーンを作成する場合に使用する。
シーン作成ボタン323をクリックするとシナリオの流れを編集できる（次のシーンを作成する）。シーン作成ボタン323をクリックすると、現在選択しているシーンの次に展開する通常シーンの作成が可能になる。
シーン作成ボタン323でシナリオの流れを分岐させることで、各通常シーンに対する展開構成が作成される。例えば、図１７のシーン展開画面305に表示されているシーン展開構成に於いて、通常シーンのアイコン5を選択した状態（アクティブ表示されている状態）で、シーン作成ボタン323をクリックするとシーン5に続くシーンのアイコンが下層側に表示され、複数回クリック（複数回作成操作を行う）することでシーン5に続いて展開される通常シーン7、8、…が分岐して作成される。
【０１１４】
すなわち、シーンm（通常シーン又は分岐シーン）を選択した状態でシーン作成ボタン323をクリックすることで、シーンmに続く次の通常シーンm1が作成される。そして、再度シーンmを選択した状態で、シーン作成ボタン323をクリックするとシーンmに続く次の通常シーンm2が、通常シーンm1と並列に分岐して作成される。同様に再度シーンmを選択した状態でシーン作成ボタン323をクリックすると通常シーンm3が作成される。
そして、作成した通常シーンm1に続くシーンを更に展開させたい場合には、通常シーンm1を選択した状態でシーン作成ボタン323をクリックすることで、通常シーンm1に続く次の通常シーンm1-1が作成される。通常シーンm1から分岐する別のシーンを作成する場合にはシーンm1を再度選択してシーン作成ボタン323をクリックすればシーンm1に続くシーンm1-2が作成される。
【０１１５】
更に、作成した通常シーンm1-1アクティブにした状態でシーン作成ボタン323をクリックすれば、通常シーンm1-1に続く通常シーンm1-1-1が作成される。
分岐シーン作成ボタン324、新たに分岐シーンを作成する場合に使用する。
分岐シーン作成ボタン324をクリックするとシナリオの流れを編集できる（次の分岐シーンを作成する）。分岐シーン作成ボタン324をクリックすると、現在選択しているシーンの次に展開する分岐シーンの作成が可能になる。
分岐シーン作成ボタン324により、展開条件に続けてさらに複数の追加条件で分岐させることで、移行条件の論理演算（論理和、論理積）による各通常シーンに対する展開構成を作成することができる。
【０１１６】
例えば、図１７のシーン展開画面305に表示されているシーン展開構成において、通常シーン1から通常シーン2に展開する場合に、両通常シーン間に分岐シーン4と分岐シーン6を挿入することで、通常シーン1に規定する状態変化をした場合で、分岐条件4と分岐条件6の両者を満たした場合に通常シーン2が通常シーン1に続いて展開される。このように、分岐シーンを複数使用することで、多彩な条件設定により種々の展開をするシナリオを作成することができる。
【０１１７】
図１７において分岐シーンは符号333で表されている。分岐シーンの作成は、通常シーンに続けることも、分岐シーンに続けて作成することも可能である。例えば、図１７のシーン展開画面305の通常シーン1をアクティブにした状態で分岐シーン作成ボタン324を選択することで分岐シーン4が作成され、この分岐シーンをアクティブにした状態で更に分岐シーン作成ボタン324を選択することで分岐シーン6が作成されている。
分岐シーンを階層的に作成する方法は、上で説明した通常シーンの作成方法と同様である。
【０１１８】
終了位置作成ボタン327をクリックするとシナリオの終了位置340を作成できる。作成した各シナリオの終了位置340には、終了番号がエンドIDとして割り振られるようになっている。
作成したシナリオの終了位置340を選択すると、エンドプロパティ編集画面（図４０参照）を表示し、この画面において、エージェントの各短期的感情要素を設定、及び変更することができる。
【０１１９】
挿入ボタン329は、それぞれアクティブ状態のシーン（通常シーン、分岐シーン）又はエンドマークの前に通常シーン、分岐シーンを挿入するためのボタンである。各シーンの種類に応じたボタンを選択する。
シーン再生ボタン331は、アクティブな通常シーンを再生するためのボタンである。
ビルドボタン332は、作成したシナリオをエージェント装置で使うための実機形式（NAV形式）のフォーマットにコンパイルするためのボタンである。
【０１２０】
なお、図１７に示したメインウインドウは、シナリオの作成途中を例示したもので、シナリオエディタ(240-1-1)を起動した当初の画面は、シーン展開画面305にスタートポイント308だけが表示され、シーン画面301には何も表示されていず、設定画面303も未設定（デフォルト値は表示されている）の状態である。
【０１２１】
シーン展開画面305において分岐シーン、例えば、図１７の分岐シーン４を選択してアクティブにするとシーン画面301の領域に、追加条件分類表示欄と、追加条件項目欄が表示される。
分岐条件分類表示欄には、アクティブ状態の分岐シーンに対して選択されている追加条件項目の分類が表示され、分岐条件項目欄には、分岐先を指定する追加条件項目が表示される。
【０１２２】
図１８は、シナリオプロパティを編集する画面操作の流れを表したものである。
図１７に示したメインウインドウにおいて、シーン展開画面305に表示されているスタートポイント308をダブルクリックすると、図１８（ａ）に示すシナリオプロパティの編集ウインドウがメインウインドウ上に重ねて表示される。
このシナリオプロパティの編集ウインドウにおいて、シナリオ名称入力、カナ名称入力、アイコン選択、ジャンル選択、プライオリティの設定、有効期限（開始条件を満たしてから実際に開始するまでのタイムラグの上限値）の設定、走行中実行条件の設定、シナリオの起動条件の設定（別ウインドウ）、スタンバイ処理使用条件の設定、作成者名称入力、コメント入力が行なえる。この画面で入力されるシナリオ名称入力、カナ名称入力は、実機形式のシナリオデータにおける管理データ等となる。
シナリオプロパティの編集ウインドウにおいて、決定ボタン402をクリックすると編集内容がデータに反映され、メインウインドウに戻る。一方、キャンセルボタン403をクリックするとデータに反映されなで、メインウインドウに戻る。
【０１２３】
シナリオプロパティの編集ウインドウ（図１８（ａ））において、シナリオのプライオリティは、プライオリティ設定領域４０４で行うことができる。
すなわち、作成者は、プライオリティ４０４のスライダをマウス操作で左右に移動することで、スライダ位置に連動してプライオリティが０〜１５の間で設定される。
【０１２４】
シナリオプロパティの編集ウインドウ（図１８（ａ））において、シナリオ種類選択ボタン４０７をクリックすると、図１８（ｂ）に示すシナリオ種類選択ウィンドウが表示される。
このシナリオ種類選択ウィンドウには、図示されるように、エージェント装置に格納された実行順位対応テーブル(10-2-3-8)で規定されているシナリオの種類と同じ種類がリスト表示される。
すなわち、種類として、安全装置系シナリオ、制御系シナリオ、情報提供系シナリオ、エンターテイメント系シナリオがリスト表示される。そして、安全装置系シナリオの欄には「ＡＢＳ（アンチブレーキシステム）、車間距離、…に関するシナリオ」が例示され、制御系シナリオの欄には「シフト操作、急加速、…に関するシナリオ」が例示され、情報提供系シナリオの欄には「ＳＡ（サービスエリア）案内、給油案内、…に関するシナリオ」が例示される。
また、エンターテイメント系シナリオにはの欄には「挨拶、…に関するシナリオ」具体的には、記念日や日付に関連したアニバーサリーボイスのシナリオ、挨拶や日にちを知らせるハローボイスのシナリオ、運転者情報を取得する際のフレンドリーボイスのシナリオ等が例示される。
このように、各種類の欄に、具体的にどのようなシナリオが該当するのかが例示されている。
尚、シナリオエディタで上述のシナリオの種類を選択する機能をなくしてもよい。この場合の車載装置の処理は、図１１において、ステップ３５、ステップ３６を行わず、ステップ３４の次にステップ３７を実行する。
【０１２５】
シナリオ作成者は、作成中のシナリオが該当する種類の欄を選択して決定ボタンを選択することで、シナリオの種類が設定される。
なお、シナリオ種類はシナリオの実行優先順位の決定の際にエージェント装置で使用されるが、この用途については画面表示されず、シナリオ作成者には知らされない。このため、シナリオ作成者の意図によってシナリオの実行順が不統一になるのが防止される。
シナリオ作成者のシナリオに対する実行の優先順位についてはプライオリティ４０４で設定可能であり、この優先順位は、同一の実行優先順位のなかで判断されることで、シナリオ作成者の意図も反映される。
【０１２６】
シナリオプロパティの編集ウインドウにおいて、起動条件の設定ボタン401を選択すると、図１９(a)に示す、シナリオ開始条件（自動起動条件）のメイン編集ウインドウが表示される。
以下に説明する、このシナリオ開始条件のメイン編集ウィンドウによる設定処理により、画面要素推移体データを起動する起動条件を設定する起動条件設定手段が構成される。
シナリオ開始条件のメイン編集ウインドウ（図１９(a)）では、ユーザがシナリオを手動で開始できるように設定できる。この事例ではチェックボックス406のチェックを外して手動で起動しないに設定されている。
【０１２７】
このシナリオ開始条件のメイン編集ウインドウ(a)の左側の自動起動条件（自律起動条件）一覧にはシステムがシナリオを自動で開始する条件が表示される。図１９(a)の状態では、まだ何も設定されていないので空欄の状態である。
シナリオ開始条件のメイン編集ウインドウ（図１９(a)）において、新規作成ボタン405をクリックすると、自動開始条件選択ウインドウ（図１９(b)）が表示され、新しい開始条件の編集ができる。
【０１２８】
自動開始条件選択ウインドウ（図１９(b)）において、設定したい判断条件項目（カテゴリ）を選択し、決定をクリックすると自動開始する条件範囲の選択ウインドウ（図１９(c)）へ進む。この図１９(b)の例示では、高速道路走行中にシナリオを自動で開始（自律起動）したいので、「道路の状態がどのようなときに起動するか選択」の中の「種類を選択」の項目を選択し、決定をクリックする。
キャンセルをクリックするとシナリオ開始条件のメイン編集ウインドウ（図１９(a)）に戻る。
【０１２９】
この自動開始条件選択ウインドウ（図１９(b)）に表示し、選択できる項目は、図１６(a)に表示した自動起動項目である。図１９(b)において、「いつ起動させるかを選択」のフォルダ内を選択すると図１６(a)のNo.1〜10の条件項目が1つ下の階層に表示される。
同様に、「どこで起動させるかを選択」のフォルダを選択するとNo.10〜16が、「道路の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜23が、「車の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.17〜20が、「ナビの状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜28が、「ユーザがどのようなときに起動させるかを選択」のフォルダを選択するとNo.29〜30が、それぞれ1つ下の階層に表示される。
【０１３０】
自動開始する条件範囲の選択ウインドウ（図１９(c)）では、前のウインドウ(b)で選択した判断条件項目（カテゴリ）によってウインドウの構成が変わる。図示した例では、道路の種類を選択する項目のウインドウが表示されている。
自動開始する条件範囲の選択ウインドウ（図１９(c)）で、選択可能な項目は、自動開始条件選択ウインドウ（図１９(b)）で選択した自動起動項目に対応する、選択できる項目（図１６(b)）である。この選択できる項目は、選択項目欄408右側のマークをクリックすることで、プルダウンメニュー表示される。
【０１３１】
自動で開始しても良い条件範囲を一覧から選択（又は数字で入力）し、追加ボタンをクリックすると選択した項目が設定されて下の欄に表示される。図示した例では、「高速道路」を選択して追加ボタンをクリックした場合が表示されている。
自動開始する条件範囲の選択ウインドウ（図１９(c)）で決定ボタンをクリックするとその設定状態に決定し、シナリオ起動条件のメイン編集ウインドウ（図１９(c)）に戻る。
キャンセルをクリックすると自動開始条件選択ウインドウ（図１９(b)）に戻る。
図１９(d)のシナリオ開始条件のメイン編集ウインドウでは、左側の自動起動条件一覧に、上記操作で設定した自動で開始する条件（道路の種類が高速道路だったら起動する）が表示されている。
また、自動起動の条件一覧画面に表示されている自動で開始する条件を選択して編集ボタンをクリックすると、選択した条件にさらに条件設定を追加するための自動開始条件選択ウインドウ（図１９(b)）が表示される。
【０１３２】
次に、自律起動条件以外の、シナリオを作成する各種操作について説明する。
シーン画面の編集状態を表しているメインウィンドウ（図１７）において、エージェント表示画面311をマウスでダブルクリックすると、キャラクタ動作（エージェントの動作）指示を編集する動作編集ダイアログが表示される。
この動作編集ダイアログにおいて、お辞儀をする、右を指す、右を見る等の個別の動作の一覧や、感謝、否定、誉める、挨拶等の表現内容の一覧が表示され、各シーン画面毎のキャラクタの動作を指定する。
【０１３３】
キャラクタ（エージェント）の台詞は、台詞の編集ウィンドウで設定される。
台詞の編集ウィンドウは、シーン画面の編集状態を表しているメインウインドウ（図１７）において、設定画面303の台詞編集ボタン313をクリックすることで表示される。
台詞の編集ウインドウでは、PCM（録音されて用意されている肉声データ）による設定と、TTS（合成音声）による設定が可能である。
PCMの場合、台詞を全角ひらがなで入力（上記入力用ボックス）し該当する台詞が有るか検索し、検索結果（検索結果一覧表示欄が存在する）から選択しキャラクタに話させる台詞を設定する。
一方、TTSの場合は台詞名称（吹き出し表示用データ）とフリガナ（合成音声を作成するためのデータ）を入力しキャラクタに話させる台詞を設定する。
台詞の編集ウインドウにおいて、設定された台詞の内容が吹き出し画面430のデータとしても反映される。
【０１３４】
図２１は、作成したシナリオをエージェント装置で使用可能な実機形式（ＮＡＶ形式）のフォーマットにコンパイルするための画面操作の流れを表したものである。
メインウインドウ（ａ）において、シナリオコンパイルボタン３２５をクリックすると、シナリオコンパイラ（２４０−１−２）が起動して、シナリオコンパイラのウインドウ（ｂ）が表示される。
このシナリオコンパイラのウインドウ（ｂ）において、コンパイルしたデータを出力するファイルの名称を指定し、同時に変換するシナリオを選択（シナリオ一覧リストにチェックしたシナリオを同時に変換する）し、コンパイルボタンをクリックするとデータ変換を開始する。データ変換の状況を結果表示部に表示する。
またシナリオコンパイラは、データ変換を終了すると、実機形式（ＮＡＶ形式）に変換後のシナリオデータ(240-1-3)を変換後のシナリオデータを記憶装置２４０のシナリオ編集データ（２４０−２）に格納する。
【０１３５】
以上説明したように、本実施形態のエージェント装置によれば、シナリオ作成装置で作成されたシナリオデータに基づいてエージェントを自律的に起動させる（自動で登場させる）条件を満たしたかを判断する処理を定期的にもしくは特定の状態を満たしたときに実行し、条件を満たした場合にエージェントを自動で登場させることができる。
一方、本実施形態のシナリオ作成装置及びシナリオエディタによれば、プログラムの知識の有無に関係無く、シナリオエディタを持つことで特定の条件を満たしたときに自動で登場して対応してくれるエージェントのシナリオデータを容易に作成及び編集することができる。
【０１３６】
以上、本発明の車載装置、データ作成装置、及びデータ作成プログラムにおける１実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各種の変形を行うことが可能である。
例えば、説明した実施形態では、実行するシナリオが複数存在する場合の実行順序の決定に関して、各シナリオに対して決定した実行優先順位が高いシナリオの実行順序を先にし、実行優先順位が同じシナリオが複数ある場合には、シナリオ作成者が設定したプライオリティが高いシナリオの実行順序を先にするようにしたが、実行優先順位だけで実行順序を決めるようにしてもよい。この場合、実行優先順位が同じシナリオに対しては、自律起動条件を満たした順、実行要求順、又は自律起動条件を判断した順とする。
【０１３７】
また、説明した実施形態では、シナリオの実行優先順位を決定する場合、シナリオの種類から実行優先順位を決定し、シナリオの種類が設定されていない場合に自律起動条件による実行優先順位を決定する場合について説明したが、自律起動条件は全てのシナリオに規定されているので、自律起動条件だけから実行優先順位を決定するようにしてもよい。
この場合、自律起動条件で決定した実行優先順位が同じシナリオが複数存在する場合に、自律起動条件の判断順、実行要求順、自律起動条件を満たした順、又はプライオリティ順のいずれかにより決定する。
【０１３８】
また、説明した実施形態では、自律起動条件の項目から実行優先順位を決定する、実行優先順位対応テーブル（図７（ｂ））では、個別の条件項目に対して、シナリオの種類と同様に分類されており、同一分類には同一の実行優先順位が決められている。
これに対して、シナリオの種類と関係なく個別の条件項目をグループ分けし、グループ単位で優先順位を決定するようにしてもよい。また、シナリオの種類やグループとは関係なく、全自律起動条件に対して別々の実行優先順位を規定するようにしてもよい。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施形態におけるエージェント装置とシナリオ作成装置及びサーバからなる全体のシステム構成図である。
【図２】本発明の一実施形態におけるエージェント装置の構成を示すブロック図である。
【図３】ＣＰＵでプログラムが実行されることにより実現されるエージェント処理部と、全体処理部との関係を表した説明図である。
【図４】エージェント処理部の構成を表した説明図である。
【図５】外部記憶媒体に集録されている情報を概念的に表した説明図である。
【図６】実機形式シナリオデータの構成を表した説明図である。
【図７】実行優先順位テーブルの内容を概念的に表した説明図である。
【図８】旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移を各シーン毎に表した画面遷移図である。
【図９】自律起動判断部によるシナリオの自律起動判断処理について表したフローチャートである。
【図１０】条件判断処理の処理内容を表したフローチャートである。
【図１１】シナリオ実行順序決定処理の流れを表したフローチャートである。
【図１２】シナリオ実行処理の流れの一例を表したフローチャートである。
【図１３】シナリオ作成装置の構成図である。
【図１４】シナリオ編集プログラムとデータの構成を概念的に表した説明図である。
【図１５】データ形式の変換を概念的に表した説明図である。
【図１６】自動起動項目として設定可能な項目を例示した説明図である。
【図１７】シナリオエディタを起動した場合に表示装置に表示されるメインウィンドウの構成を表した説明図である。
【図１８】シナリオプロパティを編集する画面操作の流れを表した説明図である。
【図１９】シナリオ開始条件のメイン編集ウィンドウから、シナリオ起動条件を編集する画面操作の流れを表した説明図である。
【図２０】作成したシナリオをナビゲーションで使用可能な実機形式のフォーマットにコンパイルするための画面操作の流れを表した説明図である。
【符号の説明】
【０１４０】
１  エージェント装置
２  シナリオ作成装置
３  サーバ
（１）  中央処理装置
（２）  表示装置
（３）  音声出力装置
（４）  音声入力装置
（５）  入力装置
（６）  各種状況検出装置
（７）各種車載装置
（８）通信制御装置
（９）通信装置
(10)外部記憶装置
(200)  制御部
(210)  入力装置
(220)  出力装置
(230)  通信制御装置
(240)  記憶装置
(250)  記憶媒体駆動装置
(260)  入出力Ｉ／Ｆ
【図１】
2005190191.tif 000003
【図２】
2005190191.tif 000004
【図３】
2005190191.tif 000005
【図４】
2005190191.tif 000006
【図５】
2005190191.tif 000007
【図６】
2005190191.tif 000008
【図７】
2005190191.tif 000009
【図８】
2005190191.tif 000010
【図９】
2005190191.tif 000011
【図１０】
2005190191.tif 000012
【図１１】
2005190191.tif 000013
【図１２】
2005190191.tif 000014
【図１３】
2005190191.tif 000015
【図１４】
2005190191.tif 000016
【図１５】
2005190191.tif 000017
【図１６】
2005190191.tif 000018
【図１７】
2005190191.tif 000019
【図１８】
2005190191.tif 000020
【図１９】
2005190191.tif 000021
【図２０】
2005190191.tif 000022