手動操作システム
【課題】 操作に不慣れなユーザにとって使い勝手のよい手動操作システムを提供する。
【解決手段】 対話装置がユーザと対話を行い、その対話内容に基づいて中間スクリプト群を生成し(S320)、その生成した中間スクリプト群を実行することによって手動操作装置のフォースデータ及びコントロールデータを変更する(S325)。この結果、手動操作装置は特定の機能のみに特化されたフォースデータ及びコントロールデータに変更される。したがって、手動操作装置の操作に不慣れなユーザが手動操作装置を操作する場合であっても操作ミスを限りなく減らすことができる。
【解決手段】 対話装置がユーザと対話を行い、その対話内容に基づいて中間スクリプト群を生成し(S320)、その生成した中間スクリプト群を実行することによって手動操作装置のフォースデータ及びコントロールデータを変更する(S325)。この結果、手動操作装置は特定の機能のみに特化されたフォースデータ及びコントロールデータに変更される。したがって、手動操作装置の操作に不慣れなユーザが手動操作装置を操作する場合であっても操作ミスを限りなく減らすことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載された様々な装置を統合的に操作することができる手動操作システムに関する。
【背景技術】
【0002】
近年、車両に搭載された様々な電装品を統合的に操作する仕組みが実現されている。具体的には、ナビゲーション装置やエアコンやオーディオ等の操作に必要な情報をディスプレイに表示させ、ディスプレイに表示されたボタンをタッチパネル等を介して乗員が操作することによって上記装置を操作する仕組みである。
【0003】
しかしながら、この仕組みはディスプレイを見ながら操作を行う必要があるため、ディスプレイを注視することの難しい運転者が操作を行う場合、どのボタンがどこに配置されていて、ボタンを操作した結果どのような状態になったのかがわかりづらいという問題がある。
【0004】
そこで、このような問題を解決するための技術として、下記の特許文献1に記載のような技術が知られている。この技術は、操作位置や状況に応じて反力がコントロールされるいわゆるハプティックデバイスと呼ばれるデバイスに関する技術であり、特許文献1に記載の技術は、反力だけでなく操作方向へ外力(推力)を加えるものである。
【0005】
具体的には、ラジオやCDプレーヤの音量を調節する場合、音量をアップする方向に手動操作部を動かすときには抵抗感を感じるように、反対に、音量をダウンする方向に手動操作部を動かすときには加速感を感じるように手動操作部に外力を負荷する。この結果、音量をアップする際に車室内に出る音が急に大きくなるといった不都合を解消できると共に、音量をダウンしたいときには速やかに音量を絞れるので、オーディオの聴取や会話が妨げられるといった不都合を解消できるという効果が得られる。また、このような制御内容(音量のアップやダウン等)は、手動操作部によってなされる操作の対象装置(例えば、ナビゲーション装置、エアコン、オーディオ等)によって異なるようにもなっている上、これらの対象装置自体も手動操作部を操作することによって切り替えることができるようになっている。
【特許文献1】特開2001−84875号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このような様々な機能が割り当てられた手動操作部では、機能が割り当てられた位置を運転者が全て覚えていればスムーズに手動操作部を操作することができるが、初めて手動操作部を操作する場合や手動操作部の操作に慣れていない場合などは、運転者はどの機能がどの位置に割り当てられているかがわからず試行錯誤しながら手動操作部を操作することになってしまう。
【0007】
また、そもそも手動操作部を用いず、対話によって手動操作部と同等の機能を実現する方法も考えられている。しかしながら、対話による方法では、例えば、音量調整のような、ユーザの耳で聞きながら調整するようなケースにおいては、調整を素早く行うことができず、ユーザにストレスをかけるという問題がある。
【0008】
本発明は、このような問題にかんがみなされたものであり、操作に不慣れなユーザにとって使い勝手のよい手動操作システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するためになされた請求項1に記載の手動操作システムは、操作部と、アクチュエータと、検出部と、記憶部と、第一の制御手段と、対話手段と、第二の制御手段とを備える。操作部は手動操作される部位であり、アクチュエータは操作部に力を与える動力源であり、検出部は操作部の操作位置を検出する部位である。また、記憶手段は、操作部の操作位置とアクチュエータの動作力に対応した制御値との関係が定義されたフォースデータ、および、操作部の位置と操作対象装置を操作するために出力する信号との関係が定義されたコントロールデータを組にして記憶する手段である。また、第一の制御手段は、検出部によって検出された検出結果、記憶部に記憶されたフォースデータ及びコントロールデータに基づいて、前記制御値をアクチュエータへ出力するともに前記信号を操作対象装置へ出力する手段である。また、対話手段は、音声により対話を行うための手段であり、第二の制御手段は、その対話手段によってユーザと対話を行い、その対話内容に基づいて第一の制御手段が用いるフォースデータ及びコントロールデータを切り替える手段である。
【0010】
このような手動操作システムによれば、使用するフォースデータ及びコントロールデータを、対話内容に基づいて必要とされる機能のみに限定されたものに切り替えることができる。例えば、オーディオの音量を調整する旨の対話が行われているならば、オーディオの音量変更のみに特化されたコントロールデータ(例えば、車両前方へ操作部を操作すればオーディオの音量が上がり、車両後方へ操作部を操作すればオーディオの音量が下がるといった機能のみに限定されたコントロールデータ)及びそれに対応するフォースデータに切り替えることができる。したがって、操作に不慣れなユーザが操作する場合であっても、操作ミスの発生を限りなく減らすことができる。
【0011】
ところで、第一の制御手段が用いるフォースデータ及びコントロールデータを切り替える際には様々な判断によって切り替えを行うデータを決定する場合も考えられる。例えば、装置の識別番号やユーザの識別番号や車両の状態情報等の取得を行い、それらの情報に基づいて切り替えを行うデータを決定するような場合である。しかし、これらの決定処理は煩雑になりがちであるため、次回の同様の処理のためにこれらの処理を一連のスクリプトとして処理・記憶するようなっているとよい。つまり、請求項2に記載のように、第二の制御手段は、対話内容に基づいてスクリプトを生成し、そのスクリプトを実行することによってフォースデータ及びコントロールデータの切り替えを行うようになっているとよい。そして、スクリプトを生成した際には、そのスクリプトを記憶しておき、スクリプトを生成しなくても記憶しておいたスクリプトが利用できる場合は、スクリプトを生成することなく記憶しておいたスクリプトを実行することによってフォースデータ及びコントロールデータの切り替えを行うようになっているとよい。
【0012】
このようになっていれば、例えば、以前と同様の対話がなされ、第一の制御手段が利用するフォースデータ及びコントロールデータを以前と同様に切り替える必要が生じたときには、記憶しおいたスクリプトを読み出すことによって一部の処理が省略でき、素早くフォースデータ及びコントロールデータの切り替えを行うことができる。
【0013】
また、一般的に車両の走行中と停車中とではユーザの可能な操作は異なる。つまり、車両の走行中であれば比較的単純な操作しかユーザは行うことができず、車両の停車中であれば比較的複雑な操作を行うことができる。したがって、手動操作システムは、さらに、車両の状態に関する情報を取得する車両状態情報取得手段を備え、第二の制御手段は、車両状態情報取得手段が取得した情報も加味してフォースデータ及びコントロールデータの切り替え及び切り替え可否の決定を行うようになっているとよい(請求項3)。なお、ここで言う「車両の状態に関する情報」というのは、走行中であるか否かの情報や、車速情報、ブレーキの操作状態を表す情報、方向指示器の操作状態を表す情報、ハンドルの操作状態を表す情報、乗員の着座状態を表す情報、ドアやウィンドウの開閉状態を表す情報等である。
【0014】
このようになっていれば、フォースデータ及びコントロールデータを、車両の状態に合ったものに切り替えることができるため(又は切り替えを抑制できるため)、よりユーザの操作ミスを軽減することができる。
【0015】
また、ユーザは操作部を使用せずに、あえて対話によって操作対象装置を操作したい場合も考えられる。そのため、第二の制御手段は、さらに、対話内容に基づき、フォースデータ及びコントロールデータの切り替えを行って操作部によって操作可能にするか、操作対象装置に対して直接指令を送信するかを判定し、直接送信すると判定した場合は操作対象装置に対して指令を送信するようになっているとよい(請求項4)。
【0016】
このようになっていれば、ユーザがあえて対話によって操作対象装置を操作したいと考えた場合、それを実現することができるため、ユーザにとって自由度が高まり、ユーザの満足度が向上する。
【0017】
また、ユーザは操作部を操作した結果を音声によって知ることができるようになっているとよい。したがって、第一の制御手段は、操作対象装置へ出力した前記信号の意味する内容を第二の制御手段へ渡し、第二の制御手段は、第一の制御手段から受信した前記内容を対話手段に音声として出力させるようになっているとよい(請求項5)。
【0018】
このようになっていれば、ユーザは操作部を操作した結果を音声によって確認することができるため、ユーザにとって安心感が高まる。
また、第二の制御手段は、対話手段が有する音声入力手段(マイクロフォン等)に入力された所定の音声コマンドに基づいて記憶手段が記憶するフォースデータの修正をさらに行うようになっていてもよい(請求項6)。つまり、フォースデータを切り替えるのではなく、フォースデータ自体を修正するのである。
【0019】
このようになっていれば、ユーザは所定の音声コマンドを発することにより、フォースデータ(つまり、操作部を操作する際の反力)を好みの状態に修正することができるため、操作部を操作する際の操作感を向上させることができる。
【0020】
また、音声コマンドではなく対話手段による対話内容に基づいてフォースデータの修正をさらに行うようになっていてもよい(請求項7)。つまり、手動操作システム側からの問いかけに呼応してユーザが修正内容を発声することによってフォースデータの修正を行うようになっていてもよい(請求項7)。
【0021】
このようになっていれば、より容易にフォースデータの修正を行うことができる。
また、フォースデータの修正を行うための対話を開始すると、検出部の検出結果も利用してフォースデータの修正を行うようになっているとよい(請求項8)。例えば、反力の修正を行う操作部の位置の指定を、操作部自体を用いて指定することである。
【0022】
このようになっていれば、より容易にフォースデータの修正を行うことができる。
なお、第二の制御手段は、車両情報取得手段が取得した前記情報に基づいてフォースデータの修正可否を判定し、修正可能であると判定した場合のみ修正を許可するようになっているとよい(請求項9)。例えば、車両の停止中にのみ、修正を行うようになっていることである。
【0023】
このようになっていれば、フォースデータの修正を行うことが好ましくない車両の状態の場合に、修正を実施しないように制御できるため、適切な車両状態のときにフォースデータの修正をユーザに実施させることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明が適用された実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【0025】
[構成の説明]
図1は、手動操作装置11を中心とした、手動操作システム10の概略構成を示すブロック図である。手動操作装置11は、車両の運転席付近に設置されており、運転者が運転席に座った状態で操作可能になっている。手動操作装置11は、操作部12と、アクチュエータ13と、位置センサ14と、記憶部15と、通信部16と、制御部17とを備える。そして、通信部16は、車内LAN28を介して、対話装置20、通信装置22、オーディオコントローラ23、エアコンコントローラ24、ナビゲーション装置25、着座センサ26及び表示装置27と接続されている。また、対話装置20は、マイク18と、カメラ19と、スピーカ21とが接続されている。
【0026】
操作部12は、ユーザが操作を行う部位である。詳細については後述する。
アクチュエータ13は、制御部17から入力される制御値に基づいて操作部12に対して力を与える部位である。
【0027】
位置センサ14は、操作部12の操作状態(操作位置)を検知し、その検知結果を制御部17へ出力するセンサである。
記憶部15は、フォースデータやコントロールデータや画像認識データ(画像認識技術により運転者を特定するために必要なデータ)等を記憶する部位である。なお、フォースデータというのは、操作部12の操作状態とアクチュエータ13を動作させるための制御値との関係であり、コントロールデータというのは、操作部12の操作位置と操作対象装置(オーディオ、エアコン、ナビゲーション装置等)を操作するための信号との関係を示す値の集合である。なお、フォースデータ及びコントロールデータは、運転者を特定する情報と関連づけられて、運転者毎に用意されている。
【0028】
通信部16は、車内LAN28を介し、車内LAN28に接続された様々な機器等と通信を行う部位である。
制御部17は、CPU、ROM、RAM等から構成され、RAMに読み込まれたフォースデータ及びコントロールデータにしたがって、アクチュエータ13や通信部16へ制御値を送るようになっている。
【0029】
車内LAN28は、車両内に張り巡らされたLANであり、当該LANに接続された機器(通信装置22、オーディオコントローラ23、エアコンコントローラ24、ナビゲーション装置25、着座センサ26等)は互いに通信を行うことができる。
【0030】
マイク18は、ユーザが音声を入力(発話)するとその入力した音声に基づく電気信号(音声信号)を対話装置20に出力するものである。
カメラ19は、車両のルームミラーに内蔵されたカメラであり、主に運転者の顔面部分を撮影するカメラであり、撮影した映像を対話装置20に出力する。
【0031】
スピーカ21は、対話装置20に接続され、対話装置20から出力される音声信号に基づいて音声を出力するものである。
対話装置20は、CPU,ROM,RAM,SRAM,I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されている。そして、ROM及びRAMに記憶されたプログラムに基づいて各種処理を実行し、ユーザとの対話機能(エージェント機能)を担う。
【0032】
通信装置22は、携帯電話やPDAと通信を行う通信装置であり、本実施形態ではBluetooth(登録商標)規格に基づいた通信を行う。
オーディオコントローラ23は、図示しないオーディオ装置を制御するためのコントローラである。
【0033】
エアコンコントローラ24は、図示しないエアコンを制御するためのコントローラである。
ナビゲーション装置25は、地図ディスクやGPS受信機等を備え、車両の現在位置を地図と共に表示装置27に表示させ、経路案内等を実施する。
【0034】
着座センサ26は、運転者の着座を検出するセンサであり、運転席の座面に設けられた圧力センサである。
表示装置27は、液晶パネルや有機ELパネルを有する画像表示装置である。なお、表示装置27は、複数台から構成されていてもよく、その場合はそれぞれの表示装置27が表示内容を分担しているとよい。また、それぞれの表示装置27が各座席に設置されていてもよい。
【0035】
次に、操作部12の構造について、図2の説明図を用いて説明する。図2は操作部12を、設置状態において側方から見た際の断面図である。操作部12は、主に、トラックボール保持部12aと、トラックボール部12bと、アクチュエータ13と、位置センサ14とから構成される。
【0036】
トラックボール保持部12aは、トラックボール部12bとアクチュエータ13と位置センサ14とを内部に囲む様に保持する卵状の筐体である。なお、このうちトラックボール部12bのみ、トラックボール保持部12aの開口部12cから突出している。
【0037】
トラックボール部12bは、半透明の半球体から構成され、その半球の中心点を支点として所定範囲を限度として全方向に回転可能に構成されている。また、トラックボール部12bの最上部には、突起部12dが設けられ、運転者(ユーザ)の掌に引っかかることによって運転者が操作しやすいようになっている。なお、トラックボール部12bは戻り特性を有し、運転者が手を離せば突起部12dが所定位置に戻るようになっている。また、トラックボール部12bは、矢印A方向に押下可能に構成されている。
【0038】
このようなトラックボール部12bの動きを、位置センサ14が検知し、その検知結果を制御部17へ出力するようになっている。また、アクチュエータ13が、制御部17から送られてきた制御値に基づいてトラックボール部12bに対して力を与えることにより、トラックボール部12bを操作する運転者に反力を感じさせたり、トラックボール部12bを自立的に回転させるようになっている。
【0039】
次に、対話装置20の詳細について図3の説明図を用いて説明する。図3は、対話装置20を中心とした機能ブロック図である。対話装置20は、A/D変換部20aと、A/D変換部20bと、フィルタリング部20cと、音声認識部20dと、スクリプト生成部20eと、音声認識辞書20fと、スクリプトDB20g、HMIコントローラ20h、対話部20iとを備える。
【0040】
A/D変換部20aは、マイク18から入力した音声信号をデジタル変換し、フィルタリング部20cへ出力する部位である。
A/D変換部20bは、カメラ19から入力した映像信号をデジタル変換し、フィルタリング部20cへ出力する部位である。
【0041】
フィルタリング部20cは、A/D変換部20aから入力した音声信号をフィルタリングし、人の発話の周波数帯域のみの音声信号を音声認識部20dへ出力する。また、A/D変換部20bから入力した映像信号をフィルタリングし、人の表情を解析しやすい帯域のみの映像信号を音声認識部20dへ出力する。
【0042】
音声認識部20dは、フィルタリング部20cから入力された音声信号および映像信号からユーザが発話した内容をテキストに変換する部位である。なお、変換の際には、音声認識辞書20fが用いられる。
【0043】
スクリプト生成部20eは、対話部20iから送られてきた指令に基づいてスクリプトDB20gに記憶された各種のスクリプトを組み合わせて必要な実行用スクリプト(中間スクリプト群)を生成する部位である。
【0044】
音声認識辞書20fは、ユーザによって発話された音声をテキストに変換する際に使用される音声パターンや表情パターンが記憶された辞書である。
HMIコントローラ20hは、スクリプト生成部20eにて生成されたスクリプト(中間スクリプト群)を解釈し、車両に搭載された各種の装置へ指令を送信する部位である。
【0045】
対話部20iは、音声認識部20dにて認識された変換されたテキストを入力し、予め登録された対話パターンに基づき適切な音声信号をスピーカ21へ出力したり、スクリプト生成部20eにスクリプトの生成を指示する部位である。
【0046】
スクリプトDB20gは、スクリプト生成部20eが実行用スクリプトを生成する際に用いるスクリプトが記憶された部位である。ここで、スクリプトDB20gの詳細について図4の説明図を用いて説明する。図4は、スクリプトDB20gを構成するデータベースを表すブロック図である。スクリプトDB20gは、要素スクリプトDB201と、中間スクリプトDB202と、構成スクリプトDB203とを備える。
【0047】
(1)要素スクリプトDB201について
要素スクリプトDB201は、テキスト単語と要素スクリプトとが組となったものの集合である。ここで言う「テキスト単語」というのは、ユーザから発話された会話に含まれる単語をテキスト化したものである。また、「要素スクリプト」というのは、後述する中間スクリプト(実際に機器を動作させることができる命令群の最小単位)を生成する際にその一部をなすものである。
【0048】
テキスト単語は、コマンドとワードとに分類され、コマンドは、動作や状態を示すために用いられるものであり、ワードは、物体の名前や属性を示すために用いられるものである。
【0049】
コマンドは、動詞に分類されるものと副詞に分類されるものとがあり、動詞に分類されるものの具体例としては、「開く、閉じる、押す、引く、点灯する、消す、作動する、休止する、停止する、起動する、あげる、下げる、しめる、ゆるめる、回す、踏む、膨らませる、縮ませる」等である。また、副詞に分類されるものとしては、「早く、遅く、ゆっくり、高く、低く、アップ、ダウン、左に、右に」等である。
【0050】
一方、ワードは、一意に特定可能な識別番号を含む要素スクリプトと組をなしているものと、車両識別情報と機器特定情報とを含む要素スクリプトと組をなしているものと、このような情報(以下、「付加情報」と称す。)を含まない要素スクリプトと組をなしているものとに分類される。
【0051】
具体的には、一意に特定可能な識別番号を含む要素スクリプトと組をなしているワードとしては、固有名詞(人名(ユーザ)、施設名、道路名等)が考えられる。また、車両識別情報と機器特定情報とを含む要素スクリプトと組をなしているワードとしては、車両部分名詞(エアコン、オーディオ、ディスプレイ、ステアリング、ブレーキ、アクセル、タイヤ、エアバッグ、ドア等)が考えられる。また、上述した情報を含まない要素スクリプトと組をなしているワードとしては、物理量を表す名詞(速度、角度、距離、方向(前後左右)等)が考えられる。
【0052】
このように付加情報を含む要素スクリプトと組をなしているワードが定義されているため、ユーザは単なる名称を言うだけで(ID等を指定しなくとも)対象物を指定することができる。例えば、ユーザが、「エアコンを作動させる」と車両Aで言えば、対応する中間スクリプトが中間スクリプトDB202から読み出され、その中間スクリプトの中の未確定部分が要素スクリプトによって埋められる。その結果、下記のような、車両Aに搭載されたメーカBの型番Cのエアコンを作動させる完成された中間スクリプトが生成される。
【0053】
中間スクリプト例:Start AC on Car A (AC(maker B、No C))
一方、ユーザが、「エアコンを作動させる」と車両Bで言うと、車両Bに搭載されたメーカDの型番Eのエアコンを作動させる完成された中間スクリプトが生成される。
【0054】
中間スクリプト例:Start AC on Car B (AC(maker D、No E))
※on Car B の部分は省略されていてもよい。
(2)中間スクリプトDB202について
中間スクリプトは、実際に機器を動作させることができる命令群の最小単位であり、このような中間スクリプトを集めたものが中間スクリプトDB202である。なお、中間スクリプトの中には未確定部分を有しているものもあり、その場合は上述した要素スクリプトに含まれる付加情報によって埋めるか、さらにユーザに問い合わせることによって埋め、中間スクリプトを完成させるようになっている。
【0055】
(3) 構成スクリプトDB203について
ユーザが発音した指令は、「何をどうする」という指令が多いと考えられるが、その指令を実現する中間スクリプトコマンドは複数になる場合が多いと考えられる。そのため、ユーザが発音した一の指令とその結果作成された複数の中間スクリプトとを一まとめにしたものが構成スクリプトである。そして、その構成スクリプトを複数集めたものが構成スクリプトDB203である。
【0056】
例えば、ユーザが、「再生中の曲を繰り返す」と発音すると、この指令に対応する構成スクリプトが構成スクリプトDB203から検索され、該当する構成スクリプトが見つかれば見つかった構成スクリプトが読み出され、その読み出された構成スクリプトを構成する中間スクリプトに基づいて、各種の指令がオーディオコントローラ23に出力されるようになっている。
【0057】
[動作の説明]
次に、手動操作システム10の動作について説明するが、以下では本発明に関連する処理、すなわち、対話装置20が実行する処理を中心に説明する。なお、ユーザが他の装置を操作する目的で手動操作装置11を操作した際の動作等については、広く知られた動作であるため、説明を省略する。
【0058】
(1)エージェントコール処理
まず、対話装置20が実行するエージェントコール処理について図5および図6のフローチャートを用いて説明する。この処理は、ユーザによりマイク18に対して何らかの発話がなされた際に実行が開始される。
【0059】
対話装置20は、エージェントコール処理の実行を開始すると、まず、発話された内容がエージェントコール処理の開始を希望するものであるか否かを判定する(S200)。この判定は、音声認識部20dによってテキスト変換されたユーザの発話内容によって行う。例えば、ユーザの発話が、「エージェントコール」という言葉や、「エージェント」という言葉や、「おい」という言葉であった場合に、発話された内容がエージェントコール処理の開始を希望するものであると判定する。
【0060】
このS200において、ユーザによってエージェントコールの開始を希望する発話がなされたと判定した場合は(S200:Yes)、S205に処理を移行し、ユーザによってエージェントコールの開始を希望する発話がなされなかったと判定した場合は(S200:No)、本処理(エージェントコール処理)を終了する。
【0061】
ユーザによってエージェントコールの開始を希望する発話がなされたと判定した場合に進むS205では、エージェントレスポンスを行う。これは、例えば「はい、エージェントです」という言葉や、「動作可能です」という言葉をスピーカ21から出力させることである。
【0062】
続くS210では、ドライバーズリクエストの受付が行われる。これは、例えば「何かご用ですか?」という言葉や、「命令をおっしゃってください」という言葉のような、ユーザに問いかける言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0063】
続くS215では、S210での問いかけに対してユーザから受け付けた発話内容が、音声認識部20dによって全てテキスト変換できたか否かを判定する。ユーザから受け付けた発話内容が全てテキスト変換できたと判定した場合は(S215:Yes),S220に処理を移行し、ユーザから受け付けた発話内容の一部にテキスト変換できない部分があったと判定した場合は(S215:No)、上述したS210に処理を戻す。
【0064】
ユーザから受け付けた発話内容が全てテキスト変換できたと判定した場合に進むS220では、エージェントレスポンスを行う。これは、テキスト変換したものを合成音声によってスピーカ21から出力させて正しいかどうかを問いかけることである。具体的には、例えば「オーディオの音量を変更することを希望されているのですか?」というような問いかけである。
【0065】
続くS225では、ドライバーズレスポンスの受付が行われる。これは、S220での問いかけに対するユーザの発話内容を受け付けることである。
続くS230では、S225で受け付けた発話内容が、肯定的なものであるか否定的なものであるかを判定する。この判定では、音声認識部20dによってテキスト変換された言葉が、例えば「はい」や「そうだ」や「うん」と言ったものであれば、S225で受け付けた発話内容が肯定的なものであると判定し、図6のS303に処理を移行する。一方、音声認識部20dによってテキスト変換された言葉が、例えば「いいえ」や「ちがう」や「いや」と言ったものであれば、S225で受け付けた発話内容が否定的なものであると判定し、S235に処理を移行する。
【0066】
S225で受け付けた発話内容が否定的なものであると判定して進むS235では、S210のドライバーズリクエストの受付を行った回数が2回であるか否かを判定する。ドライバーズリクエストの受付を行った回数が2回であると判定した場合は(S235:Yes)、S240に処理を移行し、ドライバーズリクエストを行った回数が2回でないと判定した場合は、S210に処理を戻す。
【0067】
ドライバーズリクエストの受付を行った回数が2回であると判定した場合に進むS240では、ユーザのリクエスト内容を手動入力にて受け付ける。これは例えば、ナビゲーション装置25のタッチパネルに表示された50音表をユーザにタッチしてもらうことによって行う。ユーザのリクエスト内容を手動入力にて受け付けると、図6のS303に処理を移行する。
【0068】
図6のS303では、上記テキスト変換された言葉が、例えば「反力修正」等のフォースデータを修正する旨の言葉であるか否かを判定する。その結果、上記テキスト変換された言葉がフォースデータを修正する旨の言葉であると判定した場合は(S303:Yes)、図7のS372に処理を移行し、上記テキスト変換された言葉がフォースデータを修正する旨の言葉でないと判定した場合は(S303:No)、S305へ処理を移行する。
【0069】
上記テキスト変換された言葉がフォースパターンを修正する旨の言葉でないと判定した場合に進むS305では、S210で受け付けたユーザの発話内容が、さらに手動操作装置11を使用して操作する必要がある内容か否かを判定する。この判定では、S210で受け付けたユーザの発話内容が例えば「オーディオの音量を変更」であれば、具体的な音量の程度を入力する必要があるため、さらに手動操作装置11を使用して操作する必要がある内容であると判定し、S310に処理を移行する。一方、S210で受け付けたユーザの発話内容が例えば「オーディオをオフ」であれば、さらに手動操作装置11を使用して操作する必要がないと判定し、S350に処理を移行する。
【0070】
さらに手動操作装置11を使用して操作する必要がある内容であると判定した場合に進むS310では、ドライバーズリクエストの受け付けが行われる。これは、例えば「手動操作装置を使用しますか?」という言葉のようなユーザに問いかける言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0071】
続くS315では、S310で受け付けた発話内容が、肯定的なものであるか否定的なものであるかを判定する。この判定では、音声認識部20dによってテキスト変換された言葉が、例えば「はい」や「うん」や「使用する」と言ったものであれば、S310で受け付けた発話内容が肯定的なものであると判定し、S320に処理を移行する。一方、音声認識部20dによってテキスト変換された言葉が、例えば「いいえ」や「ちがう」や「いや」と言ったものであれば、S310で受け付けた発話内容が否定的なものであると判定し、S350に処理を移行する。
【0072】
S310で受け付けた発話内容が肯定的なものであると判定した場合に進むS320では、スクリプト生成処理を実行する。このスクリプト生成処理については後述する。
続くS325では、S320で生成した中間スクリプト群をHMIコントローラ20hによって実行する。中間スクリプト群を実行することにより、手動操作装置11へ指令が送られ、手動操作装置11が適切な状態に変更される。なお、この際に中間スクリプト群に付加されている車両走行状況に関する情報を加味して手動操作装置11へ適切な指令を送る。
【0073】
続くS330では、手動操作装置11から上記変更が正常に完了した旨のレスポンスが届いたか否かを判定する。手動操作装置11から正常に完了した旨のレスポンスが届いたと判定した場合には(S330:Yes)、S335に処理を移行し、手動操作装置11から正常に完了した旨のレスポンスが届かなかったと判定した場合には(S330:No)、S370に処理を移行する。
【0074】
手動操作装置11から上記変更が正常に完了した旨のレスポンスが届いたと判定した場合に進むS335では、手動操作装置11が適切な状態に変更され、操作可能な状態になったことをユーザへ報知する。これは、例えば「手動操作装置が使用可能になりました」という言葉をスピーカ21から出力させることにより行う。この結果、ユーザは手動操作装置11の操作を開始する。
【0075】
続くS340では、ドライバーズレスポンスの受付が行われる。これは、ユーザから手動操作装置11の使用の終了を意味する言葉を受け付けることである。具体的には、例えば、「OK」や「完了」や「終了」と言った言葉である。ユーザからこのような手動操作装置11の使用の終了を意味する言葉を受け付けると、S345に処理を移行する。
【0076】
続くS345では、手動操作装置11から操作内容に関する情報を受け取り、その操作内容をユーザへ報知する。これは、例えば「音量を10に設定しました」と言った音声をスピーカ21から出力させることにより行う。ユーザへの報知を終えると、図7のS372へ処理を移行する。
【0077】
一方、S305において、さらに手動操作装置11を使用して操作する必要がないと判定した際に進むS350では、スクリプト生成処理を実行する。このスクリプト生成処理の詳細については後述する。
【0078】
続くS355では、S350で生成した中間スクリプト群をHMIコントローラ20hによって実行する。中間スクリプト群を実行することにより、車両に搭載された装置(手動操作装置11を除いたもの)やコントローラ等に指令を送り、それらの設定が変更されたり、それらが動作を開始したりする。なお、この際に中間スクリプト群に付加されている車両走行状況に関する情報を加味してオーディオコントローラ23やエアコンコントローラ24等へ適切な指令を送る。
【0079】
続くS360では、上述した指令を送った装置やコントローラ等から、正常に指令を実行した旨のレスポンスが対話装置20へ届いたか否かを判定する。正常に指令を実行した旨のレスポンスが届いたと判定した場合には(S360:Yes)、S365に処理を移行し、正常に指令を実行した旨のレスポンスが届かなかったと判定した場合には(S360:No)、S370に処理を移行する。
【0080】
正常に指令を実行した旨のレスポンスが届いたと判定した場合に進むS365では、上述した指令の内容をユーザへ報知する。これは、例えば「エアコンの動作を開始しました」と言った音声をスピーカ21から出力させることにより行う。ユーザへの報知を終えると、図7のS372へ処理を移行する。
【0081】
一方、S360において否定判定(S360:No)、または、S330において否定判定(S330:No)の場合に進むS370では、所定のエラー処理を行い、図7のS372へ処理を移行する。なお、エラー処理としては、エラーの内容を音声にてスピーカ21から出力させること等である。
【0082】
説明を図7に移し、S372では、ユーザから所定時間内(例えば、10秒以内)にフォースデータを修正する旨の指示があったか否かを判定する。この判定では、ユーザから「フォースデータ修正」,「反力修正」等の言葉を受け付けたり、別に設けられた所定のスイッチが押下された場合等に、フォースデータを修正する旨の指示があったと判定する。その結果、ユーザから所定時間内にフォースデータを修正する旨の指示があったと判定した場合は(S372:Yes)、S374へ処理を移行し、ユーザから所定時間内にフォースデータを修正する旨の指示がなかったと判定した場合は(S372:No)、本処理(エージェントコール処理)を終了する。
【0083】
ユーザから所定時間内にフォースデータを修正する旨の指示があったと判定した場合に進むS374では、現在の車両の状態がフォースデータを修正してもよい状態であるか否かを判定する。具体的には、車内LAN28を介して各種のECU等から車両走行状況に関する情報を取得し、車両走行中であるか否かを判定する。その結果、車両走行中であるためフォースデータの修正は不可能な状態であると判定した場合は(S374:No)、S376へ処理を移行し、車両走行中でないためフォースデータの修正は可能な状態であると判定した場合は(S374:Yes)、S378へ処理を移行する。
【0084】
フォースデータの修正は不可能な状態であると判定した場合に進むS376では、その旨をスピーカ21から報知させ、上述したS374へ処理を戻す。
一方、フォースデータの修正は可能な状態であると判定した場合に進むS378では、エージェントレスポンスとして、フォースデータの修正を行うモードに入った旨と修正したいポイント(操作部12の操作状態位置)を指定して欲しい旨とをスピーカ21から出力させる。具体的には、例えば、「フォースデータの修正を受け付けます。修正したいポイントを操作部で指定してください」等である。なお、S303にて肯定判定されて本ステップに到達した場合は、本ステップに先立ち、フォースデータの修正を行う機能についての問合せを行い(例えば「どの機能のフォースデータを修正しますか?」)、指定された機能を手動操作装置11に割り当てておくようにする(図7では省略)。
【0085】
続いて、対話装置20は、ドライバーからレスポンスがあったか否かを判定する(S380)。これは、上述したポイント指定依頼に対する返答を意味し、例えば「OK」や「この辺りだ」という音声入力を想定している。このような音声入力があったと判定した場合は(S380:Yes)、S382へ処理を移行し、このような音声入力がないと判定した場合は(S380:No)、本ステップ(S380)にとどまる。
【0086】
「OK」や「この辺りだ」という音声入力(ドライバーズレスポンス)があったと判定した場合に進むS382では、操作部12の現在の操作状態位置を位置センサ14からの信号に基づいて特定し、その位置を修正ポイントとする。
【0087】
続いて、現在、手動操作装置11の制御部17が用いているフォースデータを取得し、表示装置27に視覚化して表示させる(S383)。なお、視覚化の詳細については後述する。
【0088】
続いて、対話装置20は、どのように修正するのかを問いかける音声をスピーカ21から出力させる(S384)。なお、本ステップを再度実行する場合は(後述するS383で否定判定された場合は)、この状態のフォースデータで良いのかどうかを問いかける音声をスピーカ21から出力させる(S384)。
【0089】
続いて、ドライバーから音声入力があったか否かを判定する(S386)。ここで言う音声というのは、例えば、「ピークダウン」、「ピークアップ」、「OK」等の修正内容についての音声である。ドライバーから音声入力があったと判定した場合は(S386:Yes)、S388へ処理を移行し、ドライバーから音声入力がないと判定した場合は(S386:No)、音声入力があるまで本ステップにとどまる。
【0090】
ドライバーから音声入力があったと判定した場合に進むS388では、その音声が終了を意味する音声であるか否かを判定する。終了を意味する音声というのは「OK」や「終了」等である。終了を意味する音声であると判定した場合は(S388:Yes)、S390へ処理を移行し、終了を意味する音声でないと判定した場合は(S388:No)、ドライバーから入力された音声に対応した処理を実行した後、S384へ処理を戻す。なお、ここで言う「ドライバーから入力された音声に対応した処理」というのは、例えば、ドライバーが「ピークダウン」という音声を発したのであれば、上述した修正ポイントの反力の山が所定レベル下がるようにフォースデータを修正することである。そして、この修正したフォースデータは即座に手動操作装置11へ送られ、修正後のフォースデータによって手動操作装置11が機能するようになっている。また、視覚化されているフォースデータも即座に反映される。
【0091】
終了を意味する音声であると判定した場合に進むS390では、現在手動操作装置11が用いているフォースデータを記憶部15へ記憶させる指令を手動操作装置11の制御部17へ送る。そして、フォースデータの修正を終えた旨の音声をスピーカ21から出力させ、本処理(エージェントコール処理)を終了する。
【0092】
(2)スクリプト生成処理
次に、対話装置20が実行するスクリプト生成処理について図8のフローチャートを用いて説明する。この処理は、上述したエージェントコール処理のS320またはS350において呼び出されて実行が開始される。
【0093】
対話装置20は、スクリプト生成処理の実行を開始すると、まず、エージェントコール処理のS210で入力されたユーザの発話内容であって音声認識部20dによってテキスト変換されたテキスト(ユーザ要求)に対応する構成スクリプトが、構成スクリプトDB203の中にあるか否かを判定する(S405)。ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にあると判定すれば(S405:Yes)、S410に処理を移行し、ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にないと判定すれば、S425に処理を移行する。
【0094】
ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にあると判定して進むS410では、その対応する構成スクリプトのファイルが構成スクリプトDB203の中から読み出される。
【0095】
続くS415では、車内LAN28を介して各種のECU等から車両走行状況に関する情報を取得する。具体的な情報としては、走行中であるか否かの情報や、車速情報、ブレーキの操作状態を表す情報、方向指示器の操作状態を表す情報、ハンドルの操作状態を表す情報、乗員の着座状態を表す情報、ドアやウィンドウの開閉状態を表す情報等である。
【0096】
続くS420では、S410で読み出した構成スクリプト(中間スクリプト群)、または後述するS450で生成した中間スクリプト群に対し、S415で取得した情報を必要に応じて付加し、本処理(スクリプト生成処理)を終了する。そして、呼び出しもとであるエージェントコール処理のS320またはS350に続く処理を実行する。
【0097】
一方、ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にないと判定して進むS425では、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあるか否かを判定する。ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあると判定すれば(S425:Yes)、S435に処理を移行し、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にないと判定すれば(S425:No)、S430に処理を移行する。
【0098】
ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にないと判定した場合に進むS430では、ユーザのリクエスト内容を手動入力にて受け付ける。これは例えば、ナビゲーション装置25のタッチパネルに表示された50音表をユーザにタッチしてもらうことによって行う。ユーザのリクエスト内容を手動入力にて受け付けると、S405に処理を移行する。
【0099】
一方、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあると判定した場合に進むS435では、その中間スクリプトが中間スクリプトDB202から読み出され、その中間スクリプトに存在する未確定部分の問い合わせをユーザへ行う。これは、例えば「どのチャンネルでしょうか?」という言葉や、「どのCDでしょうか?」という言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0100】
続くS440では、S435での問い合わせに対してユーザから何らかの応答(発話)があったか否かを判定する。S435での問い合わせに対してユーザから何からの応答があったと判定した場合はS445に処理を移行し、ユーザから一定時間の間に何の応答もなかったと判定した場合はS455に処理を移行する。
【0101】
S435での問い合わせに対してユーザから一定時間の間に何の応答もなかったと判定した場合に進むS455では、所定のエラー処理を行い、本処理(エージェントコール処理)を終了する。なお、エラー処理としては、エラーの内容を音声にてスピーカ21から出力させること等である。その後、本処理(スクリプト生成処理)を終了し、上述したエージェントコール処理のS205に処理を戻す。
【0102】
一方、S435での問い合わせに対してユーザから何らかの応答があったと判定した場合に進むS445では、その応答の内容が解読できる(テキスト変換でき、かつ未確定部分に相当するものとして適している)か否かを判定する。ここで想定されるユーザの発話内容としては、例えば、「1ch」という言葉や、「3枚目のCD」という言葉である。
【0103】
このS445において、ユーザの応答の内容は解読できると判定した場合はS450に処理を移行し、ユーザの応答内容は解読できないと判定した場合は上述したS430に処理を移行する。
【0104】
ユーザの応答の内容は解読できると判定した場合に進むS450では、その応答内容に基づいてS435で読み出された中間スクリプトを埋める。そして、さらに必要な中間スクリプト(例えば初期化用のスクリプト等)を付加し、中間スクリプト群を構成すると共にその構成した中間スクリプト群をファイル形式にて構成スクリプトとして構成スクリプトDB203に追加する。そして、S415に処理を移行する。
【0105】
[対話例]
次に、対話例を説明する。
(1)対話例1
対話例1について図9,図10の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S501)。すると、対話装置20は、エージェント処理を起動する(S503)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S505)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S507)。
【0106】
ここで例えば、ユーザが「オーディオの音量を変えたい」と発話したとする(S509)。すると、対話装置20はユーザの発話内容をテキスト変換する(S511)。そして、エージェントレスポンスとして「オーディオの音量を変えたいのですか?」とスピーカ21から音声を出力させる(S513)。
【0107】
それに対してユーザが「そうだ」と発話したとすると(S515)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S517)、ユーザの要望を実現するにあたり手動操作装置11を使用する必要があるか否かを判定する(S519)。その結果、手動操作装置11を使用する必要があると判定した場合は、対話装置20は「手動操作装置を使用しますか?」とスピーカ21から音声を出力させる(S521)。
【0108】
それに対してユーザが「使う」と発話したとすると(S523)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S525)、スクリプト生成処理を開始する(S527)。そして、対話装置20は、スクリプト生成処理を完了すると、生成した中間スクリプト群を実行する。なお、この際に実行される中間スクリプト群は、下記のようなものである。
【0109】
Set sound#volume of the Audio to manual#op
(意味:オーディオ機器の音量を手動設定する)
Set the manual#op to the left-hand remote-controller
(意味:ユーザの左手側に設置された手動操作装置を用いて手動設定する)
Set the driver#name to the user#name of manual#op
(意味:ユーザ名はdriver#name)
Set the condition of running to the force data of manual#op
(意味:車両走行中のフォースデータを設定する)
このような中間スクリプト群を実行することにより、手動操作装置11へ指令が送信される(S529)。この結果、手動操作装置11は、指令にしたがってフォースデータ及びコントロールデータを変更する。例えば、車両前方に操作部12を動かすと音量が上がり、車両後方に操作部12を動かすと音量が下がり、車両走行中であれば操作反力が停車時よりも強くなるように変更する。
【0110】
対話装置20は、手動操作装置11から上記指令に対する完了通知を受信すると(S531)、手動操作装置11の設定が完了したことをユーザへ通知するため、「手動操作装置が使用できます。」とスピーカ21から音声を出力させる(S533)。
【0111】
それに対してユーザが、手動操作装置11を操作するとその操作状態に応じてオーディオの音量が変化する。そして音量が5の位置に操作部11の突起部12dがある状態で、「OK」と発話したとすると(S537)、対話装置20は、操作結果の報知として「音量は5に設定されました。」とスピーカ21から音声を出力させる(S539)。
【0112】
説明を図10に移し、その後、所定時間内(例えば10秒以内)にユーザが「フォースデータ修正」と発話したとすると(S541)、対話装置20は、ユーザが反力に不満を感じて修正を希望していると判断し、「フォースデータの修正を受け付けます。修正したいポイントを指定してください。」とスピーカ21から音声を出力させる(S543)。
【0113】
それに対し、ユーザが、手動操作装置11の操作部12を操作し、音量操作時における反力の不満のある位置に突起部12dを移動させて「この辺りだ」と発話したとすると(S545)、対話装置20は、手動操作装置11の位置センサ14が検出した結果と、手動操作装置11の制御部17が現在用いているフォースデータとを取得する。そして、フォースデータの視覚化を行って表示装置27に表示させ(S547)、「修正ポイントを検知しました。修正内容をお話ください。」とスピーカ21から音声を出力させる(S549)。なお、フォースデータの視覚化については後述する。
【0114】
それに対し、ユーザが、例えば「ピークダウン」と発話したとすると(S551)、対話装置20は、修正ポイントの反力を10%ダウンするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を10%ダウンしました。いかがですか?」とスピーカ21から音声を出力させる(S553)。
【0115】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、まだ反力が強いと感じ、さらに「ピークダウン」と発話したとする(S555)。すると、対話装置20は、修正ポイントの反力をさらに10%ダウンするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を10%ダウンしました。いかがですか?」とスピーカ21から音声を出力させる(S557)。
【0116】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、逆に反力が弱くなり過ぎたと感じ、「少しピークアップ」と発話したとする(S559)。すると、対話装置20は、修正ポイントの反力を5%アップするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を5%アップしました。いかがですか?」とスピーカ21から音声を出力させる(S561)。
【0117】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、ちょうど良いと感じ、「OK」と発話したとする(S563)。すると、対話装置20は、「フォースデータを現在の状態で確定させます」とスピーカ21から音声を出力させ(S565)、手動操作装置11が現在利用しているフォースデータを、手動操作装置11の記憶部15に記憶させる(S567)。
【0118】
(2)対話例2
対話例2について図11の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S601)。すると、対話装置20は、エージェント処理を起動する(S603)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S605)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S607)。
【0119】
ここで例えば、ユーザが「オーディオの音量を5に変えたい」と発話したとする(S609)。すると、対話装置20はユーザの発話内容をテキスト変換する(S611)。そして、エージェントレスポンスとして「オーディオの音量を5に変えたいのですか?」とスピーカ21から音声を出力させる(S613)。
【0120】
それに対してユーザが「そうだ」と発話したとすると(S615)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S617)、ユーザの要望を実現するにあたり手動操作装置11を使用する必要があるか否かを判定する(S619)。その結果、手動操作装置11を使用する必要がないと判定した場合は、対話装置20は、スクリプト生成処理を開始する(S621)。そして、対話装置20は、スクリプト生成処理を完了すると、生成した中間スクリプト群を実行し、オーディオコントローラ23へ指令を送信する(S623)。なお、この指令を受信したオーディオコントローラ23は、指令にしたがって音量を変更する。
【0121】
対話装置20は、オーディオコントローラ23から上記指令に対する完了通知を受信すると(S625)、対話装置20は、操作結果の報知として「音量は5に設定されました。」とスピーカ21から音声から出力させる。
【0122】
(3)対話例3
対話例3について図12の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S701)。すると、対話装置20は、エージェント処理を起動する(S703)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S705)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S707)。
【0123】
ここで例えば、ユーザが「フォースデータ修正」と発話したとする(S709)。すると、対話装置20はユーザの発話内容をテキスト変換する(S711)。そして、エージェントレスポンスとして「フォースデータの修正を行いたいのですが?」とスピーカ21から音声を出力させる(S713)。
【0124】
それに対してユーザが「そうだ」と発話したとすると(S715)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S717)、「フォースデータの修正を行います。どの機能を修正しますか?」とスピーカ21から音声を出力させる(S719)。
【0125】
それに対し、ユーザが「エアコンの風量」と発話したとすると(S721)、対話装置20は、「修正したいポイントを指定してください」スピーカ21から音声を出力させる(S723)。
【0126】
それに対し、ユーザが、手動操作装置11の操作部12を操作し、反力の不満のある位置に突起部12dを移動させて「この辺りだ」と発話したとすると(S725)、対話装置20は、手動操作装置11の位置センサ14が検出した結果を取得するとともに、先にユーザによって指定された機能(エアコンの風量調整)に対応するフォースデータを手動操作装置11の記憶部15から取得する。そして、そして、フォースデータの視覚化を行って表示装置27に表示させ(S727)、「修正ポイントを検知しました。修正内容をお話ください。」とスピーカ21から音声を出力させる(S729)。
【0127】
それに対し、ユーザが、例えば「滑らかに」と発話したとすると(S731)、対話装置20は、修正ポイント付近の反力が平滑化するようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイント付近の反力を滑らかにしました。いかがですか?」とスピーカ21から音声を出力させる(S733)。
【0128】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、ちょうど良いと感じ、「OK」と発話したとする(S735)。すると、対話装置20は、「フォースデータを現在の状態で確定させます」とスピーカ21から音声を出力させ(S737)、手動操作装置11が現在利用しているフォースデータを、手動操作装置11の記憶部15に記憶させる(S739)。
【0129】
[フォースデータの視覚化]
次にフォースデータの視覚化について図13の説明図を用いて説明する。
図13(a)は、トラックボール部12bを上方から眺めた図であり、突起部12dが図面左方に寄っている状態の図である。フォースデータは、突起部12dの位置毎(正確には位置センサの分解能に対応した位置毎)に反力がそれぞれ数値として定義されているが、現在のフォースデータでは、破線B1と破線B2で囲まれた範囲のみ突起部12dを移動させることが可能な程度の反力が設定されており、それ以外の範囲については突起部12dを移動させることができない程度の反力が設定されているものとして説明する。また、手動操作装置11は、音量変更の機能が割り当てられており、その音量変更はレベル1からレベル5まで5段階に変更できるようになっているとする。
【0130】
図13(b)は、図13(a)における一点鎖線C上を、突起部12dを移動させた場合にユーザが感じる反力の強さをグラフ化したものである。横軸が一点鎖線C上の位置に対応し、縦軸が反力の大きさに対応する。図13(b)に示すように、5つの谷部が存在し、それぞれが音量レベルの1〜5に対応し、突起部12dを何れかの谷部に移動させて押下すればその音量に設定されるようになっている。
【0131】
ここで、ユーザがレベル5とレベル4の谷部の間にある位置Dを修正ポイントとして指定し、「ピークアップ」と発話した場合のグラフが図13(c)である(グラフの見方は図13(b)と同様)。図13(c)からわかるように、レベル5とレベル4の谷部の間にある位置Dの反力が上がっていることが確認できる。
【0132】
以上、図13(b),(c)で説明したようなグラフが表示装置27に表示されるため、ユーザはそれを見ながら修正指示を発話することができるようになっている。
[実施形態の効果]
次に上記実施形態の効果について説明する。
【0133】
上述したような手動操作システム10によれば、手動操作装置11は、対話内容に基づいて必要とされる機能のみに限定されたフォースデータ及びコントロールデータに変更される。例えば、オーディオの音量を調整する旨の対話が行われたならば、手動操作装置11は、オーディオの音量変更のみに特化されたフォースデータ及びコントロールデータに変更される。したがって、手動操作装置11の操作に不慣れなユーザが手動操作装置11を操作する場合であっても、操作ミスの発生を限りなく減らすことができる。
【0134】
また、スクリプトDB20gの構成スクリプトDB203の中に、必要な構成スクリプトがないとしてスクリプト生成部20eが中間スクリプト群を生成すると、その生成した中間スクリプト群を構成スクリプトとして構成スクリプトDB203に追加するようになっている(S450)。そして、次回以降、同様の中間スクリプト群が必要となった際に、構成スクリプトDB203から対応する構成スクリプトを読み出して利用するようになっている(S410)。
【0135】
このため、以前と同様の対話がなされた場合に、スクリプトを実質的に生成する必要がなくなるため、処理が高速化される。
また、HMIコントローラ20hから手動操作装置11や各種のコントローラに出力される指令は、車両走行状況に関する情報を加味した指令である(S325,S355)。したがって、例えば、車両の走行中であれば比較的単純な操作のみが行えるように手動操作装置11等が設定され、車両の停車中であれば比較的複雑な操作も行えるように手動操作装置11等が設定される。ゆえに、よりユーザの操作ミスを軽減することができる。
【0136】
また、対話装置20は、対話の結果および手動操作装置11等が操作された結果をユーザへ音声により報知するようになっている(S345,S365)。したがって、ユーザは、対話の結果および手動操作装置11を操作した結果を確認することができるため、より安心を得ることができる。
【0137】
また、手動操作装置11を操作した結果、反力に不満を感じた場合は「フォースデータ修正」と発話することによって、フォースデータを対話によって修正できるようになっている(S384〜S388等)。したがって、ユーザは操作部12を操作する際の反力を好みの状態に容易に修正することができる。しかも、その際、反力を修正する位置を操作部12を用いて指定できるため、音声で位置を指定する場合よりもスムーズに修正位置を指定できる。
【0138】
[他の実施形態]
(1)上記実施形態では、エージェントとの対話(双方向の会話)によってフォースデータを修正するようになっていたが、対話という形をとらずに、ユーザが一方的に音声コマンドを発話することによってフォースデータを修正できるようになっていてもよい。その場合にも、フォースデータの視覚化は実施されるようになっているとよい。
【0139】
このようになっていても、ユーザは操作部を操作する際の反力を好みの状態に修正することができる。
(2)上記実施形態では、フォースデータの修正を行うことができるようになっていたが、同様の対話にてコントロールデータの修正も行えるようになっているとよい。つまり、手動操作装置11の突起部12dがどの位置にあるときにどの機能が動作するかという対応関係を対話によって修正できるようになっているとよい。具体的には、図13(b)において、「レベル5の位置を右へ」のように発話することによって行うようになっているとよい。
【0140】
このようになっていれば、より手動操作装置11の使い勝手を向上させることができる。
[特許請求の範囲との対応]
ここで、上記実施形態における各部と特許請求の範囲に記載の用語との対応を示す(ただし異なる用語を用いたもののみ)。
【0141】
位置センサ14が検出部に相当し、記憶部15が記憶手段に相当し、制御部17が第一の制御手段に相当する。
スピーカ21及びマイク18が対話手段に相当し、HMIコントローラ20hが車両状態情報取得手段に相当し、主に、対話部20iおよびスクリプト生成部20eが第二の制御手段に相当する。
【図面の簡単な説明】
【0142】
【図1】手動操作システム10の概略構成を示すブロック図である。
【図2】操作部12の構造を説明するための断面図である。
【図3】対話装置20の詳細を説明するための機能ブロック図である。
【図4】スクリプトDB20gの構成を説明するためのブロック図である。
【図5】エージェントコール処理を説明するためのフローチャートである。
【図6】エージェントコール処理を説明するためのフローチャートである。
【図7】エージェントコール処理を説明するためのフローチャートである。
【図8】スクリプト生成処理を説明するためのフローチャートである。
【図9】対話の流れを説明するための対話例である。
【図10】対話の流れを説明するための対話例である。
【図11】対話の流れを説明するための対話例である。
【図12】対話の流れを説明するための対話例である。
【図13】フォースデータの視覚化を説明するための図である。
【符号の説明】
【0143】
10…手動操作システム、11…手動操作装置、12…操作部、12a…トラックボール保持部、12b…トラックボール部、12c…開口部、12d…突起部、13…アクチュエータ、14…位置センサ、15…記憶部、16…通信部、17…制御部、18…マイク、19…カメラ、20…対話装置、20a…A/D変換部、20b…A/D変換部、20c…フィルタリング部、20d…音声認識部、20e…スクリプト生成部、20f…音声認識辞書、20g…スクリプトDB、20h…HMIコントローラ、20i…対話部、21…スピーカ、22…通信装置、23…オーディオコントローラ、24…エアコンコントローラ、25…ナビゲーション装置、26…着座センサ、27…表示装置、28…車内LAN、201…要素スクリプトDB、202…中間スクリプトDB、203…構成スクリプトDB。
【技術分野】
【0001】
本発明は、車両に搭載された様々な装置を統合的に操作することができる手動操作システムに関する。
【背景技術】
【0002】
近年、車両に搭載された様々な電装品を統合的に操作する仕組みが実現されている。具体的には、ナビゲーション装置やエアコンやオーディオ等の操作に必要な情報をディスプレイに表示させ、ディスプレイに表示されたボタンをタッチパネル等を介して乗員が操作することによって上記装置を操作する仕組みである。
【0003】
しかしながら、この仕組みはディスプレイを見ながら操作を行う必要があるため、ディスプレイを注視することの難しい運転者が操作を行う場合、どのボタンがどこに配置されていて、ボタンを操作した結果どのような状態になったのかがわかりづらいという問題がある。
【0004】
そこで、このような問題を解決するための技術として、下記の特許文献1に記載のような技術が知られている。この技術は、操作位置や状況に応じて反力がコントロールされるいわゆるハプティックデバイスと呼ばれるデバイスに関する技術であり、特許文献1に記載の技術は、反力だけでなく操作方向へ外力(推力)を加えるものである。
【0005】
具体的には、ラジオやCDプレーヤの音量を調節する場合、音量をアップする方向に手動操作部を動かすときには抵抗感を感じるように、反対に、音量をダウンする方向に手動操作部を動かすときには加速感を感じるように手動操作部に外力を負荷する。この結果、音量をアップする際に車室内に出る音が急に大きくなるといった不都合を解消できると共に、音量をダウンしたいときには速やかに音量を絞れるので、オーディオの聴取や会話が妨げられるといった不都合を解消できるという効果が得られる。また、このような制御内容(音量のアップやダウン等)は、手動操作部によってなされる操作の対象装置(例えば、ナビゲーション装置、エアコン、オーディオ等)によって異なるようにもなっている上、これらの対象装置自体も手動操作部を操作することによって切り替えることができるようになっている。
【特許文献1】特開2001−84875号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このような様々な機能が割り当てられた手動操作部では、機能が割り当てられた位置を運転者が全て覚えていればスムーズに手動操作部を操作することができるが、初めて手動操作部を操作する場合や手動操作部の操作に慣れていない場合などは、運転者はどの機能がどの位置に割り当てられているかがわからず試行錯誤しながら手動操作部を操作することになってしまう。
【0007】
また、そもそも手動操作部を用いず、対話によって手動操作部と同等の機能を実現する方法も考えられている。しかしながら、対話による方法では、例えば、音量調整のような、ユーザの耳で聞きながら調整するようなケースにおいては、調整を素早く行うことができず、ユーザにストレスをかけるという問題がある。
【0008】
本発明は、このような問題にかんがみなされたものであり、操作に不慣れなユーザにとって使い勝手のよい手動操作システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するためになされた請求項1に記載の手動操作システムは、操作部と、アクチュエータと、検出部と、記憶部と、第一の制御手段と、対話手段と、第二の制御手段とを備える。操作部は手動操作される部位であり、アクチュエータは操作部に力を与える動力源であり、検出部は操作部の操作位置を検出する部位である。また、記憶手段は、操作部の操作位置とアクチュエータの動作力に対応した制御値との関係が定義されたフォースデータ、および、操作部の位置と操作対象装置を操作するために出力する信号との関係が定義されたコントロールデータを組にして記憶する手段である。また、第一の制御手段は、検出部によって検出された検出結果、記憶部に記憶されたフォースデータ及びコントロールデータに基づいて、前記制御値をアクチュエータへ出力するともに前記信号を操作対象装置へ出力する手段である。また、対話手段は、音声により対話を行うための手段であり、第二の制御手段は、その対話手段によってユーザと対話を行い、その対話内容に基づいて第一の制御手段が用いるフォースデータ及びコントロールデータを切り替える手段である。
【0010】
このような手動操作システムによれば、使用するフォースデータ及びコントロールデータを、対話内容に基づいて必要とされる機能のみに限定されたものに切り替えることができる。例えば、オーディオの音量を調整する旨の対話が行われているならば、オーディオの音量変更のみに特化されたコントロールデータ(例えば、車両前方へ操作部を操作すればオーディオの音量が上がり、車両後方へ操作部を操作すればオーディオの音量が下がるといった機能のみに限定されたコントロールデータ)及びそれに対応するフォースデータに切り替えることができる。したがって、操作に不慣れなユーザが操作する場合であっても、操作ミスの発生を限りなく減らすことができる。
【0011】
ところで、第一の制御手段が用いるフォースデータ及びコントロールデータを切り替える際には様々な判断によって切り替えを行うデータを決定する場合も考えられる。例えば、装置の識別番号やユーザの識別番号や車両の状態情報等の取得を行い、それらの情報に基づいて切り替えを行うデータを決定するような場合である。しかし、これらの決定処理は煩雑になりがちであるため、次回の同様の処理のためにこれらの処理を一連のスクリプトとして処理・記憶するようなっているとよい。つまり、請求項2に記載のように、第二の制御手段は、対話内容に基づいてスクリプトを生成し、そのスクリプトを実行することによってフォースデータ及びコントロールデータの切り替えを行うようになっているとよい。そして、スクリプトを生成した際には、そのスクリプトを記憶しておき、スクリプトを生成しなくても記憶しておいたスクリプトが利用できる場合は、スクリプトを生成することなく記憶しておいたスクリプトを実行することによってフォースデータ及びコントロールデータの切り替えを行うようになっているとよい。
【0012】
このようになっていれば、例えば、以前と同様の対話がなされ、第一の制御手段が利用するフォースデータ及びコントロールデータを以前と同様に切り替える必要が生じたときには、記憶しおいたスクリプトを読み出すことによって一部の処理が省略でき、素早くフォースデータ及びコントロールデータの切り替えを行うことができる。
【0013】
また、一般的に車両の走行中と停車中とではユーザの可能な操作は異なる。つまり、車両の走行中であれば比較的単純な操作しかユーザは行うことができず、車両の停車中であれば比較的複雑な操作を行うことができる。したがって、手動操作システムは、さらに、車両の状態に関する情報を取得する車両状態情報取得手段を備え、第二の制御手段は、車両状態情報取得手段が取得した情報も加味してフォースデータ及びコントロールデータの切り替え及び切り替え可否の決定を行うようになっているとよい(請求項3)。なお、ここで言う「車両の状態に関する情報」というのは、走行中であるか否かの情報や、車速情報、ブレーキの操作状態を表す情報、方向指示器の操作状態を表す情報、ハンドルの操作状態を表す情報、乗員の着座状態を表す情報、ドアやウィンドウの開閉状態を表す情報等である。
【0014】
このようになっていれば、フォースデータ及びコントロールデータを、車両の状態に合ったものに切り替えることができるため(又は切り替えを抑制できるため)、よりユーザの操作ミスを軽減することができる。
【0015】
また、ユーザは操作部を使用せずに、あえて対話によって操作対象装置を操作したい場合も考えられる。そのため、第二の制御手段は、さらに、対話内容に基づき、フォースデータ及びコントロールデータの切り替えを行って操作部によって操作可能にするか、操作対象装置に対して直接指令を送信するかを判定し、直接送信すると判定した場合は操作対象装置に対して指令を送信するようになっているとよい(請求項4)。
【0016】
このようになっていれば、ユーザがあえて対話によって操作対象装置を操作したいと考えた場合、それを実現することができるため、ユーザにとって自由度が高まり、ユーザの満足度が向上する。
【0017】
また、ユーザは操作部を操作した結果を音声によって知ることができるようになっているとよい。したがって、第一の制御手段は、操作対象装置へ出力した前記信号の意味する内容を第二の制御手段へ渡し、第二の制御手段は、第一の制御手段から受信した前記内容を対話手段に音声として出力させるようになっているとよい(請求項5)。
【0018】
このようになっていれば、ユーザは操作部を操作した結果を音声によって確認することができるため、ユーザにとって安心感が高まる。
また、第二の制御手段は、対話手段が有する音声入力手段(マイクロフォン等)に入力された所定の音声コマンドに基づいて記憶手段が記憶するフォースデータの修正をさらに行うようになっていてもよい(請求項6)。つまり、フォースデータを切り替えるのではなく、フォースデータ自体を修正するのである。
【0019】
このようになっていれば、ユーザは所定の音声コマンドを発することにより、フォースデータ(つまり、操作部を操作する際の反力)を好みの状態に修正することができるため、操作部を操作する際の操作感を向上させることができる。
【0020】
また、音声コマンドではなく対話手段による対話内容に基づいてフォースデータの修正をさらに行うようになっていてもよい(請求項7)。つまり、手動操作システム側からの問いかけに呼応してユーザが修正内容を発声することによってフォースデータの修正を行うようになっていてもよい(請求項7)。
【0021】
このようになっていれば、より容易にフォースデータの修正を行うことができる。
また、フォースデータの修正を行うための対話を開始すると、検出部の検出結果も利用してフォースデータの修正を行うようになっているとよい(請求項8)。例えば、反力の修正を行う操作部の位置の指定を、操作部自体を用いて指定することである。
【0022】
このようになっていれば、より容易にフォースデータの修正を行うことができる。
なお、第二の制御手段は、車両情報取得手段が取得した前記情報に基づいてフォースデータの修正可否を判定し、修正可能であると判定した場合のみ修正を許可するようになっているとよい(請求項9)。例えば、車両の停止中にのみ、修正を行うようになっていることである。
【0023】
このようになっていれば、フォースデータの修正を行うことが好ましくない車両の状態の場合に、修正を実施しないように制御できるため、適切な車両状態のときにフォースデータの修正をユーザに実施させることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明が適用された実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【0025】
[構成の説明]
図1は、手動操作装置11を中心とした、手動操作システム10の概略構成を示すブロック図である。手動操作装置11は、車両の運転席付近に設置されており、運転者が運転席に座った状態で操作可能になっている。手動操作装置11は、操作部12と、アクチュエータ13と、位置センサ14と、記憶部15と、通信部16と、制御部17とを備える。そして、通信部16は、車内LAN28を介して、対話装置20、通信装置22、オーディオコントローラ23、エアコンコントローラ24、ナビゲーション装置25、着座センサ26及び表示装置27と接続されている。また、対話装置20は、マイク18と、カメラ19と、スピーカ21とが接続されている。
【0026】
操作部12は、ユーザが操作を行う部位である。詳細については後述する。
アクチュエータ13は、制御部17から入力される制御値に基づいて操作部12に対して力を与える部位である。
【0027】
位置センサ14は、操作部12の操作状態(操作位置)を検知し、その検知結果を制御部17へ出力するセンサである。
記憶部15は、フォースデータやコントロールデータや画像認識データ(画像認識技術により運転者を特定するために必要なデータ)等を記憶する部位である。なお、フォースデータというのは、操作部12の操作状態とアクチュエータ13を動作させるための制御値との関係であり、コントロールデータというのは、操作部12の操作位置と操作対象装置(オーディオ、エアコン、ナビゲーション装置等)を操作するための信号との関係を示す値の集合である。なお、フォースデータ及びコントロールデータは、運転者を特定する情報と関連づけられて、運転者毎に用意されている。
【0028】
通信部16は、車内LAN28を介し、車内LAN28に接続された様々な機器等と通信を行う部位である。
制御部17は、CPU、ROM、RAM等から構成され、RAMに読み込まれたフォースデータ及びコントロールデータにしたがって、アクチュエータ13や通信部16へ制御値を送るようになっている。
【0029】
車内LAN28は、車両内に張り巡らされたLANであり、当該LANに接続された機器(通信装置22、オーディオコントローラ23、エアコンコントローラ24、ナビゲーション装置25、着座センサ26等)は互いに通信を行うことができる。
【0030】
マイク18は、ユーザが音声を入力(発話)するとその入力した音声に基づく電気信号(音声信号)を対話装置20に出力するものである。
カメラ19は、車両のルームミラーに内蔵されたカメラであり、主に運転者の顔面部分を撮影するカメラであり、撮影した映像を対話装置20に出力する。
【0031】
スピーカ21は、対話装置20に接続され、対話装置20から出力される音声信号に基づいて音声を出力するものである。
対話装置20は、CPU,ROM,RAM,SRAM,I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されている。そして、ROM及びRAMに記憶されたプログラムに基づいて各種処理を実行し、ユーザとの対話機能(エージェント機能)を担う。
【0032】
通信装置22は、携帯電話やPDAと通信を行う通信装置であり、本実施形態ではBluetooth(登録商標)規格に基づいた通信を行う。
オーディオコントローラ23は、図示しないオーディオ装置を制御するためのコントローラである。
【0033】
エアコンコントローラ24は、図示しないエアコンを制御するためのコントローラである。
ナビゲーション装置25は、地図ディスクやGPS受信機等を備え、車両の現在位置を地図と共に表示装置27に表示させ、経路案内等を実施する。
【0034】
着座センサ26は、運転者の着座を検出するセンサであり、運転席の座面に設けられた圧力センサである。
表示装置27は、液晶パネルや有機ELパネルを有する画像表示装置である。なお、表示装置27は、複数台から構成されていてもよく、その場合はそれぞれの表示装置27が表示内容を分担しているとよい。また、それぞれの表示装置27が各座席に設置されていてもよい。
【0035】
次に、操作部12の構造について、図2の説明図を用いて説明する。図2は操作部12を、設置状態において側方から見た際の断面図である。操作部12は、主に、トラックボール保持部12aと、トラックボール部12bと、アクチュエータ13と、位置センサ14とから構成される。
【0036】
トラックボール保持部12aは、トラックボール部12bとアクチュエータ13と位置センサ14とを内部に囲む様に保持する卵状の筐体である。なお、このうちトラックボール部12bのみ、トラックボール保持部12aの開口部12cから突出している。
【0037】
トラックボール部12bは、半透明の半球体から構成され、その半球の中心点を支点として所定範囲を限度として全方向に回転可能に構成されている。また、トラックボール部12bの最上部には、突起部12dが設けられ、運転者(ユーザ)の掌に引っかかることによって運転者が操作しやすいようになっている。なお、トラックボール部12bは戻り特性を有し、運転者が手を離せば突起部12dが所定位置に戻るようになっている。また、トラックボール部12bは、矢印A方向に押下可能に構成されている。
【0038】
このようなトラックボール部12bの動きを、位置センサ14が検知し、その検知結果を制御部17へ出力するようになっている。また、アクチュエータ13が、制御部17から送られてきた制御値に基づいてトラックボール部12bに対して力を与えることにより、トラックボール部12bを操作する運転者に反力を感じさせたり、トラックボール部12bを自立的に回転させるようになっている。
【0039】
次に、対話装置20の詳細について図3の説明図を用いて説明する。図3は、対話装置20を中心とした機能ブロック図である。対話装置20は、A/D変換部20aと、A/D変換部20bと、フィルタリング部20cと、音声認識部20dと、スクリプト生成部20eと、音声認識辞書20fと、スクリプトDB20g、HMIコントローラ20h、対話部20iとを備える。
【0040】
A/D変換部20aは、マイク18から入力した音声信号をデジタル変換し、フィルタリング部20cへ出力する部位である。
A/D変換部20bは、カメラ19から入力した映像信号をデジタル変換し、フィルタリング部20cへ出力する部位である。
【0041】
フィルタリング部20cは、A/D変換部20aから入力した音声信号をフィルタリングし、人の発話の周波数帯域のみの音声信号を音声認識部20dへ出力する。また、A/D変換部20bから入力した映像信号をフィルタリングし、人の表情を解析しやすい帯域のみの映像信号を音声認識部20dへ出力する。
【0042】
音声認識部20dは、フィルタリング部20cから入力された音声信号および映像信号からユーザが発話した内容をテキストに変換する部位である。なお、変換の際には、音声認識辞書20fが用いられる。
【0043】
スクリプト生成部20eは、対話部20iから送られてきた指令に基づいてスクリプトDB20gに記憶された各種のスクリプトを組み合わせて必要な実行用スクリプト(中間スクリプト群)を生成する部位である。
【0044】
音声認識辞書20fは、ユーザによって発話された音声をテキストに変換する際に使用される音声パターンや表情パターンが記憶された辞書である。
HMIコントローラ20hは、スクリプト生成部20eにて生成されたスクリプト(中間スクリプト群)を解釈し、車両に搭載された各種の装置へ指令を送信する部位である。
【0045】
対話部20iは、音声認識部20dにて認識された変換されたテキストを入力し、予め登録された対話パターンに基づき適切な音声信号をスピーカ21へ出力したり、スクリプト生成部20eにスクリプトの生成を指示する部位である。
【0046】
スクリプトDB20gは、スクリプト生成部20eが実行用スクリプトを生成する際に用いるスクリプトが記憶された部位である。ここで、スクリプトDB20gの詳細について図4の説明図を用いて説明する。図4は、スクリプトDB20gを構成するデータベースを表すブロック図である。スクリプトDB20gは、要素スクリプトDB201と、中間スクリプトDB202と、構成スクリプトDB203とを備える。
【0047】
(1)要素スクリプトDB201について
要素スクリプトDB201は、テキスト単語と要素スクリプトとが組となったものの集合である。ここで言う「テキスト単語」というのは、ユーザから発話された会話に含まれる単語をテキスト化したものである。また、「要素スクリプト」というのは、後述する中間スクリプト(実際に機器を動作させることができる命令群の最小単位)を生成する際にその一部をなすものである。
【0048】
テキスト単語は、コマンドとワードとに分類され、コマンドは、動作や状態を示すために用いられるものであり、ワードは、物体の名前や属性を示すために用いられるものである。
【0049】
コマンドは、動詞に分類されるものと副詞に分類されるものとがあり、動詞に分類されるものの具体例としては、「開く、閉じる、押す、引く、点灯する、消す、作動する、休止する、停止する、起動する、あげる、下げる、しめる、ゆるめる、回す、踏む、膨らませる、縮ませる」等である。また、副詞に分類されるものとしては、「早く、遅く、ゆっくり、高く、低く、アップ、ダウン、左に、右に」等である。
【0050】
一方、ワードは、一意に特定可能な識別番号を含む要素スクリプトと組をなしているものと、車両識別情報と機器特定情報とを含む要素スクリプトと組をなしているものと、このような情報(以下、「付加情報」と称す。)を含まない要素スクリプトと組をなしているものとに分類される。
【0051】
具体的には、一意に特定可能な識別番号を含む要素スクリプトと組をなしているワードとしては、固有名詞(人名(ユーザ)、施設名、道路名等)が考えられる。また、車両識別情報と機器特定情報とを含む要素スクリプトと組をなしているワードとしては、車両部分名詞(エアコン、オーディオ、ディスプレイ、ステアリング、ブレーキ、アクセル、タイヤ、エアバッグ、ドア等)が考えられる。また、上述した情報を含まない要素スクリプトと組をなしているワードとしては、物理量を表す名詞(速度、角度、距離、方向(前後左右)等)が考えられる。
【0052】
このように付加情報を含む要素スクリプトと組をなしているワードが定義されているため、ユーザは単なる名称を言うだけで(ID等を指定しなくとも)対象物を指定することができる。例えば、ユーザが、「エアコンを作動させる」と車両Aで言えば、対応する中間スクリプトが中間スクリプトDB202から読み出され、その中間スクリプトの中の未確定部分が要素スクリプトによって埋められる。その結果、下記のような、車両Aに搭載されたメーカBの型番Cのエアコンを作動させる完成された中間スクリプトが生成される。
【0053】
中間スクリプト例:Start AC on Car A (AC(maker B、No C))
一方、ユーザが、「エアコンを作動させる」と車両Bで言うと、車両Bに搭載されたメーカDの型番Eのエアコンを作動させる完成された中間スクリプトが生成される。
【0054】
中間スクリプト例:Start AC on Car B (AC(maker D、No E))
※on Car B の部分は省略されていてもよい。
(2)中間スクリプトDB202について
中間スクリプトは、実際に機器を動作させることができる命令群の最小単位であり、このような中間スクリプトを集めたものが中間スクリプトDB202である。なお、中間スクリプトの中には未確定部分を有しているものもあり、その場合は上述した要素スクリプトに含まれる付加情報によって埋めるか、さらにユーザに問い合わせることによって埋め、中間スクリプトを完成させるようになっている。
【0055】
(3) 構成スクリプトDB203について
ユーザが発音した指令は、「何をどうする」という指令が多いと考えられるが、その指令を実現する中間スクリプトコマンドは複数になる場合が多いと考えられる。そのため、ユーザが発音した一の指令とその結果作成された複数の中間スクリプトとを一まとめにしたものが構成スクリプトである。そして、その構成スクリプトを複数集めたものが構成スクリプトDB203である。
【0056】
例えば、ユーザが、「再生中の曲を繰り返す」と発音すると、この指令に対応する構成スクリプトが構成スクリプトDB203から検索され、該当する構成スクリプトが見つかれば見つかった構成スクリプトが読み出され、その読み出された構成スクリプトを構成する中間スクリプトに基づいて、各種の指令がオーディオコントローラ23に出力されるようになっている。
【0057】
[動作の説明]
次に、手動操作システム10の動作について説明するが、以下では本発明に関連する処理、すなわち、対話装置20が実行する処理を中心に説明する。なお、ユーザが他の装置を操作する目的で手動操作装置11を操作した際の動作等については、広く知られた動作であるため、説明を省略する。
【0058】
(1)エージェントコール処理
まず、対話装置20が実行するエージェントコール処理について図5および図6のフローチャートを用いて説明する。この処理は、ユーザによりマイク18に対して何らかの発話がなされた際に実行が開始される。
【0059】
対話装置20は、エージェントコール処理の実行を開始すると、まず、発話された内容がエージェントコール処理の開始を希望するものであるか否かを判定する(S200)。この判定は、音声認識部20dによってテキスト変換されたユーザの発話内容によって行う。例えば、ユーザの発話が、「エージェントコール」という言葉や、「エージェント」という言葉や、「おい」という言葉であった場合に、発話された内容がエージェントコール処理の開始を希望するものであると判定する。
【0060】
このS200において、ユーザによってエージェントコールの開始を希望する発話がなされたと判定した場合は(S200:Yes)、S205に処理を移行し、ユーザによってエージェントコールの開始を希望する発話がなされなかったと判定した場合は(S200:No)、本処理(エージェントコール処理)を終了する。
【0061】
ユーザによってエージェントコールの開始を希望する発話がなされたと判定した場合に進むS205では、エージェントレスポンスを行う。これは、例えば「はい、エージェントです」という言葉や、「動作可能です」という言葉をスピーカ21から出力させることである。
【0062】
続くS210では、ドライバーズリクエストの受付が行われる。これは、例えば「何かご用ですか?」という言葉や、「命令をおっしゃってください」という言葉のような、ユーザに問いかける言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0063】
続くS215では、S210での問いかけに対してユーザから受け付けた発話内容が、音声認識部20dによって全てテキスト変換できたか否かを判定する。ユーザから受け付けた発話内容が全てテキスト変換できたと判定した場合は(S215:Yes),S220に処理を移行し、ユーザから受け付けた発話内容の一部にテキスト変換できない部分があったと判定した場合は(S215:No)、上述したS210に処理を戻す。
【0064】
ユーザから受け付けた発話内容が全てテキスト変換できたと判定した場合に進むS220では、エージェントレスポンスを行う。これは、テキスト変換したものを合成音声によってスピーカ21から出力させて正しいかどうかを問いかけることである。具体的には、例えば「オーディオの音量を変更することを希望されているのですか?」というような問いかけである。
【0065】
続くS225では、ドライバーズレスポンスの受付が行われる。これは、S220での問いかけに対するユーザの発話内容を受け付けることである。
続くS230では、S225で受け付けた発話内容が、肯定的なものであるか否定的なものであるかを判定する。この判定では、音声認識部20dによってテキスト変換された言葉が、例えば「はい」や「そうだ」や「うん」と言ったものであれば、S225で受け付けた発話内容が肯定的なものであると判定し、図6のS303に処理を移行する。一方、音声認識部20dによってテキスト変換された言葉が、例えば「いいえ」や「ちがう」や「いや」と言ったものであれば、S225で受け付けた発話内容が否定的なものであると判定し、S235に処理を移行する。
【0066】
S225で受け付けた発話内容が否定的なものであると判定して進むS235では、S210のドライバーズリクエストの受付を行った回数が2回であるか否かを判定する。ドライバーズリクエストの受付を行った回数が2回であると判定した場合は(S235:Yes)、S240に処理を移行し、ドライバーズリクエストを行った回数が2回でないと判定した場合は、S210に処理を戻す。
【0067】
ドライバーズリクエストの受付を行った回数が2回であると判定した場合に進むS240では、ユーザのリクエスト内容を手動入力にて受け付ける。これは例えば、ナビゲーション装置25のタッチパネルに表示された50音表をユーザにタッチしてもらうことによって行う。ユーザのリクエスト内容を手動入力にて受け付けると、図6のS303に処理を移行する。
【0068】
図6のS303では、上記テキスト変換された言葉が、例えば「反力修正」等のフォースデータを修正する旨の言葉であるか否かを判定する。その結果、上記テキスト変換された言葉がフォースデータを修正する旨の言葉であると判定した場合は(S303:Yes)、図7のS372に処理を移行し、上記テキスト変換された言葉がフォースデータを修正する旨の言葉でないと判定した場合は(S303:No)、S305へ処理を移行する。
【0069】
上記テキスト変換された言葉がフォースパターンを修正する旨の言葉でないと判定した場合に進むS305では、S210で受け付けたユーザの発話内容が、さらに手動操作装置11を使用して操作する必要がある内容か否かを判定する。この判定では、S210で受け付けたユーザの発話内容が例えば「オーディオの音量を変更」であれば、具体的な音量の程度を入力する必要があるため、さらに手動操作装置11を使用して操作する必要がある内容であると判定し、S310に処理を移行する。一方、S210で受け付けたユーザの発話内容が例えば「オーディオをオフ」であれば、さらに手動操作装置11を使用して操作する必要がないと判定し、S350に処理を移行する。
【0070】
さらに手動操作装置11を使用して操作する必要がある内容であると判定した場合に進むS310では、ドライバーズリクエストの受け付けが行われる。これは、例えば「手動操作装置を使用しますか?」という言葉のようなユーザに問いかける言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0071】
続くS315では、S310で受け付けた発話内容が、肯定的なものであるか否定的なものであるかを判定する。この判定では、音声認識部20dによってテキスト変換された言葉が、例えば「はい」や「うん」や「使用する」と言ったものであれば、S310で受け付けた発話内容が肯定的なものであると判定し、S320に処理を移行する。一方、音声認識部20dによってテキスト変換された言葉が、例えば「いいえ」や「ちがう」や「いや」と言ったものであれば、S310で受け付けた発話内容が否定的なものであると判定し、S350に処理を移行する。
【0072】
S310で受け付けた発話内容が肯定的なものであると判定した場合に進むS320では、スクリプト生成処理を実行する。このスクリプト生成処理については後述する。
続くS325では、S320で生成した中間スクリプト群をHMIコントローラ20hによって実行する。中間スクリプト群を実行することにより、手動操作装置11へ指令が送られ、手動操作装置11が適切な状態に変更される。なお、この際に中間スクリプト群に付加されている車両走行状況に関する情報を加味して手動操作装置11へ適切な指令を送る。
【0073】
続くS330では、手動操作装置11から上記変更が正常に完了した旨のレスポンスが届いたか否かを判定する。手動操作装置11から正常に完了した旨のレスポンスが届いたと判定した場合には(S330:Yes)、S335に処理を移行し、手動操作装置11から正常に完了した旨のレスポンスが届かなかったと判定した場合には(S330:No)、S370に処理を移行する。
【0074】
手動操作装置11から上記変更が正常に完了した旨のレスポンスが届いたと判定した場合に進むS335では、手動操作装置11が適切な状態に変更され、操作可能な状態になったことをユーザへ報知する。これは、例えば「手動操作装置が使用可能になりました」という言葉をスピーカ21から出力させることにより行う。この結果、ユーザは手動操作装置11の操作を開始する。
【0075】
続くS340では、ドライバーズレスポンスの受付が行われる。これは、ユーザから手動操作装置11の使用の終了を意味する言葉を受け付けることである。具体的には、例えば、「OK」や「完了」や「終了」と言った言葉である。ユーザからこのような手動操作装置11の使用の終了を意味する言葉を受け付けると、S345に処理を移行する。
【0076】
続くS345では、手動操作装置11から操作内容に関する情報を受け取り、その操作内容をユーザへ報知する。これは、例えば「音量を10に設定しました」と言った音声をスピーカ21から出力させることにより行う。ユーザへの報知を終えると、図7のS372へ処理を移行する。
【0077】
一方、S305において、さらに手動操作装置11を使用して操作する必要がないと判定した際に進むS350では、スクリプト生成処理を実行する。このスクリプト生成処理の詳細については後述する。
【0078】
続くS355では、S350で生成した中間スクリプト群をHMIコントローラ20hによって実行する。中間スクリプト群を実行することにより、車両に搭載された装置(手動操作装置11を除いたもの)やコントローラ等に指令を送り、それらの設定が変更されたり、それらが動作を開始したりする。なお、この際に中間スクリプト群に付加されている車両走行状況に関する情報を加味してオーディオコントローラ23やエアコンコントローラ24等へ適切な指令を送る。
【0079】
続くS360では、上述した指令を送った装置やコントローラ等から、正常に指令を実行した旨のレスポンスが対話装置20へ届いたか否かを判定する。正常に指令を実行した旨のレスポンスが届いたと判定した場合には(S360:Yes)、S365に処理を移行し、正常に指令を実行した旨のレスポンスが届かなかったと判定した場合には(S360:No)、S370に処理を移行する。
【0080】
正常に指令を実行した旨のレスポンスが届いたと判定した場合に進むS365では、上述した指令の内容をユーザへ報知する。これは、例えば「エアコンの動作を開始しました」と言った音声をスピーカ21から出力させることにより行う。ユーザへの報知を終えると、図7のS372へ処理を移行する。
【0081】
一方、S360において否定判定(S360:No)、または、S330において否定判定(S330:No)の場合に進むS370では、所定のエラー処理を行い、図7のS372へ処理を移行する。なお、エラー処理としては、エラーの内容を音声にてスピーカ21から出力させること等である。
【0082】
説明を図7に移し、S372では、ユーザから所定時間内(例えば、10秒以内)にフォースデータを修正する旨の指示があったか否かを判定する。この判定では、ユーザから「フォースデータ修正」,「反力修正」等の言葉を受け付けたり、別に設けられた所定のスイッチが押下された場合等に、フォースデータを修正する旨の指示があったと判定する。その結果、ユーザから所定時間内にフォースデータを修正する旨の指示があったと判定した場合は(S372:Yes)、S374へ処理を移行し、ユーザから所定時間内にフォースデータを修正する旨の指示がなかったと判定した場合は(S372:No)、本処理(エージェントコール処理)を終了する。
【0083】
ユーザから所定時間内にフォースデータを修正する旨の指示があったと判定した場合に進むS374では、現在の車両の状態がフォースデータを修正してもよい状態であるか否かを判定する。具体的には、車内LAN28を介して各種のECU等から車両走行状況に関する情報を取得し、車両走行中であるか否かを判定する。その結果、車両走行中であるためフォースデータの修正は不可能な状態であると判定した場合は(S374:No)、S376へ処理を移行し、車両走行中でないためフォースデータの修正は可能な状態であると判定した場合は(S374:Yes)、S378へ処理を移行する。
【0084】
フォースデータの修正は不可能な状態であると判定した場合に進むS376では、その旨をスピーカ21から報知させ、上述したS374へ処理を戻す。
一方、フォースデータの修正は可能な状態であると判定した場合に進むS378では、エージェントレスポンスとして、フォースデータの修正を行うモードに入った旨と修正したいポイント(操作部12の操作状態位置)を指定して欲しい旨とをスピーカ21から出力させる。具体的には、例えば、「フォースデータの修正を受け付けます。修正したいポイントを操作部で指定してください」等である。なお、S303にて肯定判定されて本ステップに到達した場合は、本ステップに先立ち、フォースデータの修正を行う機能についての問合せを行い(例えば「どの機能のフォースデータを修正しますか?」)、指定された機能を手動操作装置11に割り当てておくようにする(図7では省略)。
【0085】
続いて、対話装置20は、ドライバーからレスポンスがあったか否かを判定する(S380)。これは、上述したポイント指定依頼に対する返答を意味し、例えば「OK」や「この辺りだ」という音声入力を想定している。このような音声入力があったと判定した場合は(S380:Yes)、S382へ処理を移行し、このような音声入力がないと判定した場合は(S380:No)、本ステップ(S380)にとどまる。
【0086】
「OK」や「この辺りだ」という音声入力(ドライバーズレスポンス)があったと判定した場合に進むS382では、操作部12の現在の操作状態位置を位置センサ14からの信号に基づいて特定し、その位置を修正ポイントとする。
【0087】
続いて、現在、手動操作装置11の制御部17が用いているフォースデータを取得し、表示装置27に視覚化して表示させる(S383)。なお、視覚化の詳細については後述する。
【0088】
続いて、対話装置20は、どのように修正するのかを問いかける音声をスピーカ21から出力させる(S384)。なお、本ステップを再度実行する場合は(後述するS383で否定判定された場合は)、この状態のフォースデータで良いのかどうかを問いかける音声をスピーカ21から出力させる(S384)。
【0089】
続いて、ドライバーから音声入力があったか否かを判定する(S386)。ここで言う音声というのは、例えば、「ピークダウン」、「ピークアップ」、「OK」等の修正内容についての音声である。ドライバーから音声入力があったと判定した場合は(S386:Yes)、S388へ処理を移行し、ドライバーから音声入力がないと判定した場合は(S386:No)、音声入力があるまで本ステップにとどまる。
【0090】
ドライバーから音声入力があったと判定した場合に進むS388では、その音声が終了を意味する音声であるか否かを判定する。終了を意味する音声というのは「OK」や「終了」等である。終了を意味する音声であると判定した場合は(S388:Yes)、S390へ処理を移行し、終了を意味する音声でないと判定した場合は(S388:No)、ドライバーから入力された音声に対応した処理を実行した後、S384へ処理を戻す。なお、ここで言う「ドライバーから入力された音声に対応した処理」というのは、例えば、ドライバーが「ピークダウン」という音声を発したのであれば、上述した修正ポイントの反力の山が所定レベル下がるようにフォースデータを修正することである。そして、この修正したフォースデータは即座に手動操作装置11へ送られ、修正後のフォースデータによって手動操作装置11が機能するようになっている。また、視覚化されているフォースデータも即座に反映される。
【0091】
終了を意味する音声であると判定した場合に進むS390では、現在手動操作装置11が用いているフォースデータを記憶部15へ記憶させる指令を手動操作装置11の制御部17へ送る。そして、フォースデータの修正を終えた旨の音声をスピーカ21から出力させ、本処理(エージェントコール処理)を終了する。
【0092】
(2)スクリプト生成処理
次に、対話装置20が実行するスクリプト生成処理について図8のフローチャートを用いて説明する。この処理は、上述したエージェントコール処理のS320またはS350において呼び出されて実行が開始される。
【0093】
対話装置20は、スクリプト生成処理の実行を開始すると、まず、エージェントコール処理のS210で入力されたユーザの発話内容であって音声認識部20dによってテキスト変換されたテキスト(ユーザ要求)に対応する構成スクリプトが、構成スクリプトDB203の中にあるか否かを判定する(S405)。ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にあると判定すれば(S405:Yes)、S410に処理を移行し、ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にないと判定すれば、S425に処理を移行する。
【0094】
ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にあると判定して進むS410では、その対応する構成スクリプトのファイルが構成スクリプトDB203の中から読み出される。
【0095】
続くS415では、車内LAN28を介して各種のECU等から車両走行状況に関する情報を取得する。具体的な情報としては、走行中であるか否かの情報や、車速情報、ブレーキの操作状態を表す情報、方向指示器の操作状態を表す情報、ハンドルの操作状態を表す情報、乗員の着座状態を表す情報、ドアやウィンドウの開閉状態を表す情報等である。
【0096】
続くS420では、S410で読み出した構成スクリプト(中間スクリプト群)、または後述するS450で生成した中間スクリプト群に対し、S415で取得した情報を必要に応じて付加し、本処理(スクリプト生成処理)を終了する。そして、呼び出しもとであるエージェントコール処理のS320またはS350に続く処理を実行する。
【0097】
一方、ユーザ要求に対応する構成スクリプトが構成スクリプトDB203の中にないと判定して進むS425では、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあるか否かを判定する。ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあると判定すれば(S425:Yes)、S435に処理を移行し、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にないと判定すれば(S425:No)、S430に処理を移行する。
【0098】
ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にないと判定した場合に進むS430では、ユーザのリクエスト内容を手動入力にて受け付ける。これは例えば、ナビゲーション装置25のタッチパネルに表示された50音表をユーザにタッチしてもらうことによって行う。ユーザのリクエスト内容を手動入力にて受け付けると、S405に処理を移行する。
【0099】
一方、ユーザ要求に対応する中間スクリプトが中間スクリプトDB202の中にあると判定した場合に進むS435では、その中間スクリプトが中間スクリプトDB202から読み出され、その中間スクリプトに存在する未確定部分の問い合わせをユーザへ行う。これは、例えば「どのチャンネルでしょうか?」という言葉や、「どのCDでしょうか?」という言葉をスピーカ21から出力させ、その言葉に対するユーザの発話内容を受け付けることである。
【0100】
続くS440では、S435での問い合わせに対してユーザから何らかの応答(発話)があったか否かを判定する。S435での問い合わせに対してユーザから何からの応答があったと判定した場合はS445に処理を移行し、ユーザから一定時間の間に何の応答もなかったと判定した場合はS455に処理を移行する。
【0101】
S435での問い合わせに対してユーザから一定時間の間に何の応答もなかったと判定した場合に進むS455では、所定のエラー処理を行い、本処理(エージェントコール処理)を終了する。なお、エラー処理としては、エラーの内容を音声にてスピーカ21から出力させること等である。その後、本処理(スクリプト生成処理)を終了し、上述したエージェントコール処理のS205に処理を戻す。
【0102】
一方、S435での問い合わせに対してユーザから何らかの応答があったと判定した場合に進むS445では、その応答の内容が解読できる(テキスト変換でき、かつ未確定部分に相当するものとして適している)か否かを判定する。ここで想定されるユーザの発話内容としては、例えば、「1ch」という言葉や、「3枚目のCD」という言葉である。
【0103】
このS445において、ユーザの応答の内容は解読できると判定した場合はS450に処理を移行し、ユーザの応答内容は解読できないと判定した場合は上述したS430に処理を移行する。
【0104】
ユーザの応答の内容は解読できると判定した場合に進むS450では、その応答内容に基づいてS435で読み出された中間スクリプトを埋める。そして、さらに必要な中間スクリプト(例えば初期化用のスクリプト等)を付加し、中間スクリプト群を構成すると共にその構成した中間スクリプト群をファイル形式にて構成スクリプトとして構成スクリプトDB203に追加する。そして、S415に処理を移行する。
【0105】
[対話例]
次に、対話例を説明する。
(1)対話例1
対話例1について図9,図10の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S501)。すると、対話装置20は、エージェント処理を起動する(S503)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S505)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S507)。
【0106】
ここで例えば、ユーザが「オーディオの音量を変えたい」と発話したとする(S509)。すると、対話装置20はユーザの発話内容をテキスト変換する(S511)。そして、エージェントレスポンスとして「オーディオの音量を変えたいのですか?」とスピーカ21から音声を出力させる(S513)。
【0107】
それに対してユーザが「そうだ」と発話したとすると(S515)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S517)、ユーザの要望を実現するにあたり手動操作装置11を使用する必要があるか否かを判定する(S519)。その結果、手動操作装置11を使用する必要があると判定した場合は、対話装置20は「手動操作装置を使用しますか?」とスピーカ21から音声を出力させる(S521)。
【0108】
それに対してユーザが「使う」と発話したとすると(S523)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S525)、スクリプト生成処理を開始する(S527)。そして、対話装置20は、スクリプト生成処理を完了すると、生成した中間スクリプト群を実行する。なお、この際に実行される中間スクリプト群は、下記のようなものである。
【0109】
Set sound#volume of the Audio to manual#op
(意味:オーディオ機器の音量を手動設定する)
Set the manual#op to the left-hand remote-controller
(意味:ユーザの左手側に設置された手動操作装置を用いて手動設定する)
Set the driver#name to the user#name of manual#op
(意味:ユーザ名はdriver#name)
Set the condition of running to the force data of manual#op
(意味:車両走行中のフォースデータを設定する)
このような中間スクリプト群を実行することにより、手動操作装置11へ指令が送信される(S529)。この結果、手動操作装置11は、指令にしたがってフォースデータ及びコントロールデータを変更する。例えば、車両前方に操作部12を動かすと音量が上がり、車両後方に操作部12を動かすと音量が下がり、車両走行中であれば操作反力が停車時よりも強くなるように変更する。
【0110】
対話装置20は、手動操作装置11から上記指令に対する完了通知を受信すると(S531)、手動操作装置11の設定が完了したことをユーザへ通知するため、「手動操作装置が使用できます。」とスピーカ21から音声を出力させる(S533)。
【0111】
それに対してユーザが、手動操作装置11を操作するとその操作状態に応じてオーディオの音量が変化する。そして音量が5の位置に操作部11の突起部12dがある状態で、「OK」と発話したとすると(S537)、対話装置20は、操作結果の報知として「音量は5に設定されました。」とスピーカ21から音声を出力させる(S539)。
【0112】
説明を図10に移し、その後、所定時間内(例えば10秒以内)にユーザが「フォースデータ修正」と発話したとすると(S541)、対話装置20は、ユーザが反力に不満を感じて修正を希望していると判断し、「フォースデータの修正を受け付けます。修正したいポイントを指定してください。」とスピーカ21から音声を出力させる(S543)。
【0113】
それに対し、ユーザが、手動操作装置11の操作部12を操作し、音量操作時における反力の不満のある位置に突起部12dを移動させて「この辺りだ」と発話したとすると(S545)、対話装置20は、手動操作装置11の位置センサ14が検出した結果と、手動操作装置11の制御部17が現在用いているフォースデータとを取得する。そして、フォースデータの視覚化を行って表示装置27に表示させ(S547)、「修正ポイントを検知しました。修正内容をお話ください。」とスピーカ21から音声を出力させる(S549)。なお、フォースデータの視覚化については後述する。
【0114】
それに対し、ユーザが、例えば「ピークダウン」と発話したとすると(S551)、対話装置20は、修正ポイントの反力を10%ダウンするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を10%ダウンしました。いかがですか?」とスピーカ21から音声を出力させる(S553)。
【0115】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、まだ反力が強いと感じ、さらに「ピークダウン」と発話したとする(S555)。すると、対話装置20は、修正ポイントの反力をさらに10%ダウンするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を10%ダウンしました。いかがですか?」とスピーカ21から音声を出力させる(S557)。
【0116】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、逆に反力が弱くなり過ぎたと感じ、「少しピークアップ」と発話したとする(S559)。すると、対話装置20は、修正ポイントの反力を5%アップするようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイントの反力を5%アップしました。いかがですか?」とスピーカ21から音声を出力させる(S561)。
【0117】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、ちょうど良いと感じ、「OK」と発話したとする(S563)。すると、対話装置20は、「フォースデータを現在の状態で確定させます」とスピーカ21から音声を出力させ(S565)、手動操作装置11が現在利用しているフォースデータを、手動操作装置11の記憶部15に記憶させる(S567)。
【0118】
(2)対話例2
対話例2について図11の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S601)。すると、対話装置20は、エージェント処理を起動する(S603)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S605)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S607)。
【0119】
ここで例えば、ユーザが「オーディオの音量を5に変えたい」と発話したとする(S609)。すると、対話装置20はユーザの発話内容をテキスト変換する(S611)。そして、エージェントレスポンスとして「オーディオの音量を5に変えたいのですか?」とスピーカ21から音声を出力させる(S613)。
【0120】
それに対してユーザが「そうだ」と発話したとすると(S615)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S617)、ユーザの要望を実現するにあたり手動操作装置11を使用する必要があるか否かを判定する(S619)。その結果、手動操作装置11を使用する必要がないと判定した場合は、対話装置20は、スクリプト生成処理を開始する(S621)。そして、対話装置20は、スクリプト生成処理を完了すると、生成した中間スクリプト群を実行し、オーディオコントローラ23へ指令を送信する(S623)。なお、この指令を受信したオーディオコントローラ23は、指令にしたがって音量を変更する。
【0121】
対話装置20は、オーディオコントローラ23から上記指令に対する完了通知を受信すると(S625)、対話装置20は、操作結果の報知として「音量は5に設定されました。」とスピーカ21から音声から出力させる。
【0122】
(3)対話例3
対話例3について図12の進行表にしたがって説明する。ユーザが「エージェントコール」と発話したとする(S701)。すると、対話装置20は、エージェント処理を起動する(S703)。そして、対話装置20は、エージェントレスポンスとして「はい、エージェントです」とスピーカ21から音声を出力させ(S705)、さらに「何かご用ですか?」とスピーカ21から音声を出力させる(S707)。
【0123】
ここで例えば、ユーザが「フォースデータ修正」と発話したとする(S709)。すると、対話装置20はユーザの発話内容をテキスト変換する(S711)。そして、エージェントレスポンスとして「フォースデータの修正を行いたいのですが?」とスピーカ21から音声を出力させる(S713)。
【0124】
それに対してユーザが「そうだ」と発話したとすると(S715)、対話装置20は、ユーザの発話内容が肯定的なものであると判定し(S717)、「フォースデータの修正を行います。どの機能を修正しますか?」とスピーカ21から音声を出力させる(S719)。
【0125】
それに対し、ユーザが「エアコンの風量」と発話したとすると(S721)、対話装置20は、「修正したいポイントを指定してください」スピーカ21から音声を出力させる(S723)。
【0126】
それに対し、ユーザが、手動操作装置11の操作部12を操作し、反力の不満のある位置に突起部12dを移動させて「この辺りだ」と発話したとすると(S725)、対話装置20は、手動操作装置11の位置センサ14が検出した結果を取得するとともに、先にユーザによって指定された機能(エアコンの風量調整)に対応するフォースデータを手動操作装置11の記憶部15から取得する。そして、そして、フォースデータの視覚化を行って表示装置27に表示させ(S727)、「修正ポイントを検知しました。修正内容をお話ください。」とスピーカ21から音声を出力させる(S729)。
【0127】
それに対し、ユーザが、例えば「滑らかに」と発話したとすると(S731)、対話装置20は、修正ポイント付近の反力が平滑化するようにフォースデータを修正し、その修正したフォースデータを利用させて手動操作装置11を機能させる。そして、「修正ポイント付近の反力を滑らかにしました。いかがですか?」とスピーカ21から音声を出力させる(S733)。
【0128】
それに対し、ユーザが手動操作装置11の操作部12の操作感覚を試したところ、ちょうど良いと感じ、「OK」と発話したとする(S735)。すると、対話装置20は、「フォースデータを現在の状態で確定させます」とスピーカ21から音声を出力させ(S737)、手動操作装置11が現在利用しているフォースデータを、手動操作装置11の記憶部15に記憶させる(S739)。
【0129】
[フォースデータの視覚化]
次にフォースデータの視覚化について図13の説明図を用いて説明する。
図13(a)は、トラックボール部12bを上方から眺めた図であり、突起部12dが図面左方に寄っている状態の図である。フォースデータは、突起部12dの位置毎(正確には位置センサの分解能に対応した位置毎)に反力がそれぞれ数値として定義されているが、現在のフォースデータでは、破線B1と破線B2で囲まれた範囲のみ突起部12dを移動させることが可能な程度の反力が設定されており、それ以外の範囲については突起部12dを移動させることができない程度の反力が設定されているものとして説明する。また、手動操作装置11は、音量変更の機能が割り当てられており、その音量変更はレベル1からレベル5まで5段階に変更できるようになっているとする。
【0130】
図13(b)は、図13(a)における一点鎖線C上を、突起部12dを移動させた場合にユーザが感じる反力の強さをグラフ化したものである。横軸が一点鎖線C上の位置に対応し、縦軸が反力の大きさに対応する。図13(b)に示すように、5つの谷部が存在し、それぞれが音量レベルの1〜5に対応し、突起部12dを何れかの谷部に移動させて押下すればその音量に設定されるようになっている。
【0131】
ここで、ユーザがレベル5とレベル4の谷部の間にある位置Dを修正ポイントとして指定し、「ピークアップ」と発話した場合のグラフが図13(c)である(グラフの見方は図13(b)と同様)。図13(c)からわかるように、レベル5とレベル4の谷部の間にある位置Dの反力が上がっていることが確認できる。
【0132】
以上、図13(b),(c)で説明したようなグラフが表示装置27に表示されるため、ユーザはそれを見ながら修正指示を発話することができるようになっている。
[実施形態の効果]
次に上記実施形態の効果について説明する。
【0133】
上述したような手動操作システム10によれば、手動操作装置11は、対話内容に基づいて必要とされる機能のみに限定されたフォースデータ及びコントロールデータに変更される。例えば、オーディオの音量を調整する旨の対話が行われたならば、手動操作装置11は、オーディオの音量変更のみに特化されたフォースデータ及びコントロールデータに変更される。したがって、手動操作装置11の操作に不慣れなユーザが手動操作装置11を操作する場合であっても、操作ミスの発生を限りなく減らすことができる。
【0134】
また、スクリプトDB20gの構成スクリプトDB203の中に、必要な構成スクリプトがないとしてスクリプト生成部20eが中間スクリプト群を生成すると、その生成した中間スクリプト群を構成スクリプトとして構成スクリプトDB203に追加するようになっている(S450)。そして、次回以降、同様の中間スクリプト群が必要となった際に、構成スクリプトDB203から対応する構成スクリプトを読み出して利用するようになっている(S410)。
【0135】
このため、以前と同様の対話がなされた場合に、スクリプトを実質的に生成する必要がなくなるため、処理が高速化される。
また、HMIコントローラ20hから手動操作装置11や各種のコントローラに出力される指令は、車両走行状況に関する情報を加味した指令である(S325,S355)。したがって、例えば、車両の走行中であれば比較的単純な操作のみが行えるように手動操作装置11等が設定され、車両の停車中であれば比較的複雑な操作も行えるように手動操作装置11等が設定される。ゆえに、よりユーザの操作ミスを軽減することができる。
【0136】
また、対話装置20は、対話の結果および手動操作装置11等が操作された結果をユーザへ音声により報知するようになっている(S345,S365)。したがって、ユーザは、対話の結果および手動操作装置11を操作した結果を確認することができるため、より安心を得ることができる。
【0137】
また、手動操作装置11を操作した結果、反力に不満を感じた場合は「フォースデータ修正」と発話することによって、フォースデータを対話によって修正できるようになっている(S384〜S388等)。したがって、ユーザは操作部12を操作する際の反力を好みの状態に容易に修正することができる。しかも、その際、反力を修正する位置を操作部12を用いて指定できるため、音声で位置を指定する場合よりもスムーズに修正位置を指定できる。
【0138】
[他の実施形態]
(1)上記実施形態では、エージェントとの対話(双方向の会話)によってフォースデータを修正するようになっていたが、対話という形をとらずに、ユーザが一方的に音声コマンドを発話することによってフォースデータを修正できるようになっていてもよい。その場合にも、フォースデータの視覚化は実施されるようになっているとよい。
【0139】
このようになっていても、ユーザは操作部を操作する際の反力を好みの状態に修正することができる。
(2)上記実施形態では、フォースデータの修正を行うことができるようになっていたが、同様の対話にてコントロールデータの修正も行えるようになっているとよい。つまり、手動操作装置11の突起部12dがどの位置にあるときにどの機能が動作するかという対応関係を対話によって修正できるようになっているとよい。具体的には、図13(b)において、「レベル5の位置を右へ」のように発話することによって行うようになっているとよい。
【0140】
このようになっていれば、より手動操作装置11の使い勝手を向上させることができる。
[特許請求の範囲との対応]
ここで、上記実施形態における各部と特許請求の範囲に記載の用語との対応を示す(ただし異なる用語を用いたもののみ)。
【0141】
位置センサ14が検出部に相当し、記憶部15が記憶手段に相当し、制御部17が第一の制御手段に相当する。
スピーカ21及びマイク18が対話手段に相当し、HMIコントローラ20hが車両状態情報取得手段に相当し、主に、対話部20iおよびスクリプト生成部20eが第二の制御手段に相当する。
【図面の簡単な説明】
【0142】
【図1】手動操作システム10の概略構成を示すブロック図である。
【図2】操作部12の構造を説明するための断面図である。
【図3】対話装置20の詳細を説明するための機能ブロック図である。
【図4】スクリプトDB20gの構成を説明するためのブロック図である。
【図5】エージェントコール処理を説明するためのフローチャートである。
【図6】エージェントコール処理を説明するためのフローチャートである。
【図7】エージェントコール処理を説明するためのフローチャートである。
【図8】スクリプト生成処理を説明するためのフローチャートである。
【図9】対話の流れを説明するための対話例である。
【図10】対話の流れを説明するための対話例である。
【図11】対話の流れを説明するための対話例である。
【図12】対話の流れを説明するための対話例である。
【図13】フォースデータの視覚化を説明するための図である。
【符号の説明】
【0143】
10…手動操作システム、11…手動操作装置、12…操作部、12a…トラックボール保持部、12b…トラックボール部、12c…開口部、12d…突起部、13…アクチュエータ、14…位置センサ、15…記憶部、16…通信部、17…制御部、18…マイク、19…カメラ、20…対話装置、20a…A/D変換部、20b…A/D変換部、20c…フィルタリング部、20d…音声認識部、20e…スクリプト生成部、20f…音声認識辞書、20g…スクリプトDB、20h…HMIコントローラ、20i…対話部、21…スピーカ、22…通信装置、23…オーディオコントローラ、24…エアコンコントローラ、25…ナビゲーション装置、26…着座センサ、27…表示装置、28…車内LAN、201…要素スクリプトDB、202…中間スクリプトDB、203…構成スクリプトDB。
【特許請求の範囲】
【請求項1】
手動操作される操作部と、
前記操作部に力を与える動力源であるアクチュエータと、
前記操作部の操作位置を検出する検出部と、
前記検出部によって検出された検出結果と前記アクチュエータの制御値との関係が定義されたフォースデータ、及び、前記検出部によって検出された検出結果と操作対象装置を操作するための信号との関係が定義されたコントロールデータを組にして複数記憶する記憶部と、
前記検出部によって検出された検出結果、前記記憶部に記憶された前記フォースデータ及び前記コントロールデータに基づいて、前記制御値を前記アクチュエータへ出力するともに前記信号を前記操作対象装置へ出力する第一の制御手段と、
音声により対話を行うための対話手段と、
前記対話手段によってユーザと対話を行い、その対話内容に基づいて前記第一の制御手段が用いる前記フォースデータ及び前記コントロールデータを切り替える第二の制御手段と、
を備えること、
を特徴とする手動操作システム。
【請求項2】
請求項1に記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話内容に基づいてスクリプトを生成し、そのスクリプトを実行することによって前記フォースデータ及び前記コントロールデータの切り替えを行うようになっており、前記スクリプトを生成した際には、そのスクリプトを記憶しておき、前記スクリプトを生成しなくても記憶しておいた前記スクリプトが利用できる場合は、前記スクリプトを生成することなく記憶しておいた前記スクリプトを実行することによって前記フォースデータ及び前記コントロールデータの切り替えを行うこと、
を特徴とする手動操作システム。
【請求項3】
請求項1または請求項2に記載の手動操作システムにおいて、
さらに、車両の状態に関する情報を取得する車両状態情報取得手段を備え、
前記第二の制御手段は、前記車両状態情報取得手段が取得した前記情報も加味して前記フォースデータ及び前記コントロールデータの切り替え及び切り替え可否の決定を行うこと、
を特徴とする手動操作システム。
【請求項4】
請求項1〜請求項3の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、さらに、前記対話内容に基づき、前記操作対象装置に対して信号を直接送信するか否かを判定し、直接送信すると判定した場合は、前記操作対象装置に対して信号を直接送信すること、
を特徴とする手動操作システム。
【請求項5】
請求項1〜請求項4の何れかに記載の手動操作システムにおいて、
前記第一の制御手段は、前記操作対象装置へ出力した前記信号の意味する内容を前記第二の制御手段へ渡し、
前記第二の制御手段は、前記第一の制御手段から受信した前記内容を前記対話手段に音声として出力させること、
を特徴とする手動操作システム。
【請求項6】
請求項1〜請求項5の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話手段が有する音声入力手段に入力された所定の音声コマンドに基づいて前記記憶手段が記憶する前記フォースデータの修正をさらに行うこと、
を特徴とする手動操作システム。
【請求項7】
請求項1〜請求項5の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話手段による対話内容に基づいて前記記憶手段が記憶する前記フォースデータの修正をさらに行うこと、
を特徴とする手動操作システム。
【請求項8】
請求項7に記載の手動操作システムにおいて、
前記第二の制御手段は、前記フォースデータの修正を行うための対話を開始すると、前記検出部の検出結果も利用して前記記憶手段が記憶する前記フォースデータの修正を行うこと、
を特徴とする手動操作システム。
【請求項9】
請求項3を引用する、請求項6〜請求項8の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記車両情報取得手段が取得した前記情報に基づいて前記フォースデータの修正可否を判定し、修正可能であると判定した場合のみ前記修正を許可すること、
を特徴とする手動操作システム。
【請求項1】
手動操作される操作部と、
前記操作部に力を与える動力源であるアクチュエータと、
前記操作部の操作位置を検出する検出部と、
前記検出部によって検出された検出結果と前記アクチュエータの制御値との関係が定義されたフォースデータ、及び、前記検出部によって検出された検出結果と操作対象装置を操作するための信号との関係が定義されたコントロールデータを組にして複数記憶する記憶部と、
前記検出部によって検出された検出結果、前記記憶部に記憶された前記フォースデータ及び前記コントロールデータに基づいて、前記制御値を前記アクチュエータへ出力するともに前記信号を前記操作対象装置へ出力する第一の制御手段と、
音声により対話を行うための対話手段と、
前記対話手段によってユーザと対話を行い、その対話内容に基づいて前記第一の制御手段が用いる前記フォースデータ及び前記コントロールデータを切り替える第二の制御手段と、
を備えること、
を特徴とする手動操作システム。
【請求項2】
請求項1に記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話内容に基づいてスクリプトを生成し、そのスクリプトを実行することによって前記フォースデータ及び前記コントロールデータの切り替えを行うようになっており、前記スクリプトを生成した際には、そのスクリプトを記憶しておき、前記スクリプトを生成しなくても記憶しておいた前記スクリプトが利用できる場合は、前記スクリプトを生成することなく記憶しておいた前記スクリプトを実行することによって前記フォースデータ及び前記コントロールデータの切り替えを行うこと、
を特徴とする手動操作システム。
【請求項3】
請求項1または請求項2に記載の手動操作システムにおいて、
さらに、車両の状態に関する情報を取得する車両状態情報取得手段を備え、
前記第二の制御手段は、前記車両状態情報取得手段が取得した前記情報も加味して前記フォースデータ及び前記コントロールデータの切り替え及び切り替え可否の決定を行うこと、
を特徴とする手動操作システム。
【請求項4】
請求項1〜請求項3の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、さらに、前記対話内容に基づき、前記操作対象装置に対して信号を直接送信するか否かを判定し、直接送信すると判定した場合は、前記操作対象装置に対して信号を直接送信すること、
を特徴とする手動操作システム。
【請求項5】
請求項1〜請求項4の何れかに記載の手動操作システムにおいて、
前記第一の制御手段は、前記操作対象装置へ出力した前記信号の意味する内容を前記第二の制御手段へ渡し、
前記第二の制御手段は、前記第一の制御手段から受信した前記内容を前記対話手段に音声として出力させること、
を特徴とする手動操作システム。
【請求項6】
請求項1〜請求項5の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話手段が有する音声入力手段に入力された所定の音声コマンドに基づいて前記記憶手段が記憶する前記フォースデータの修正をさらに行うこと、
を特徴とする手動操作システム。
【請求項7】
請求項1〜請求項5の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記対話手段による対話内容に基づいて前記記憶手段が記憶する前記フォースデータの修正をさらに行うこと、
を特徴とする手動操作システム。
【請求項8】
請求項7に記載の手動操作システムにおいて、
前記第二の制御手段は、前記フォースデータの修正を行うための対話を開始すると、前記検出部の検出結果も利用して前記記憶手段が記憶する前記フォースデータの修正を行うこと、
を特徴とする手動操作システム。
【請求項9】
請求項3を引用する、請求項6〜請求項8の何れかに記載の手動操作システムにおいて、
前記第二の制御手段は、前記車両情報取得手段が取得した前記情報に基づいて前記フォースデータの修正可否を判定し、修正可能であると判定した場合のみ前記修正を許可すること、
を特徴とする手動操作システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−91209(P2007−91209A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2006−199455(P2006−199455)
【出願日】平成18年7月21日(2006.7.21)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願日】平成18年7月21日(2006.7.21)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]