米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> ソニー株式会社

発明の名称 ロボット制御装置およびロボット制御方法、並びに記録媒体
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2002−116792(P2002−116792A)
公開日 平成14年4月19日(2002.4.19)
出願番号 特願2000−310491(P2000−310491)
出願日 平成12年10月11日(2000.10.11)
代理人 【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
【テーマコード(参考)】
2C150
3F059
3F060
5D015
【Fターム(参考)】
2C150 CA01 CA02 DA05 DA25 DA27 DA28 DF01 DF33 DG01 DG02 DG13 DG15 DG22 DJ08 DK02 ED01 ED42 ED47 ED49 ED52 ED55 ED59 EF13 EF16 EF21 EF23 EF28 FA01 FA03 
3F059 AA00 BA00 BB06 DA05 DC00 FC00
3F060 AA00 BA10 CA14
5D015 KK01 LL05
発明者 石井 和夫 / 広井 順 / 小野木 渡 / 豊田 崇
要約 目的


構成
特許請求の範囲
【請求項1】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置であって、音声データの入力を受ける音声入力手段と、前記音声入力手段により入力された前記音声データを認識し、音声認識の信頼性を算出する音声認識手段と、前記音声認識手段により認識された音声認識結果を基に、前記ロボットの行動を決定する行動決定手段とを備え、前記行動決定手段は、前記音声認識手段により認識された音声データに基づいて、前記ロボットの行動を決定することができない場合、その原因をユーザに通知するために、前記原因に対応した所定の行動を前記ロボットに行わせることを特徴とするロボット制御装置。
【請求項2】 前記音声認識の信頼性に対する閾値を記憶する記憶手段を更に備え、前記行動決定手段は、前記音声認識手段により算出された前記音声認識の信頼性と前記記憶手段により記憶されている前記閾値との比較結果に基づいて、前記音声認識の信頼性に対応した前記所定の行動を前記ロボットに行わせることを特徴とする請求項1に記載のロボット制御装置。
【請求項3】 前記音声入力手段により入力された前記音声データのパワーを基に、前記ユーザの発話の部分を判別して、前記音声認識手段が音声認識を行う区間を決定する決定手段を更に備え、前記行動決定手段は、前記決定手段により決定された前記音声認識を行う前記区間の長さが長すぎる場合、前記区間が長すぎることを前記ユーザに通知するための前記所定の行動を前記ロボットに行わせることを特徴とする請求項1に記載のロボット制御装置。
【請求項4】 前記音声入力手段により入力された前記音声データのパワーを基に、前記ユーザの発話の部分を判別して、前記音声認識手段が音声認識を行う区間を決定する決定手段を更に備え、前記行動決定手段は、前記決定手段により決定された前記音声認識を行う前記区間の長さが短すぎる場合、前記区間が短すぎることを前記ユーザに通知するための前記所定の行動を前記ロボットに行わせることを特徴とする請求項1に記載のロボット制御装置。
【請求項5】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置のロボット制御方法であって、音声データの入力を受ける音声入力ステップと、前記音声入力ステップの処理により入力された前記音声データを認識し、音声認識の信頼性を算出する音声認識ステップと、前記音声認識ステップの処理により認識された音声認識結果を基に、前記ロボットの行動を決定する行動決定ステップとを含み、前記行動決定ステップでは、前記音声認識ステップの処理により認識された音声データに基づいて、前記ロボットの行動を決定することができない場合、その原因をユーザに通知するために、前記原因に対応した所定の行動を前記ロボットに行わせることを特徴とするロボット制御方法。
【請求項6】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置用のプログラムであって、音声データの入力を受ける音声入力ステップと、前記音声入力ステップの処理により入力された前記音声データを認識し、音声認識の信頼性を算出する音声認識ステップと、前記音声認識ステップの処理により認識された音声認識結果を基に、前記ロボットの行動を決定する行動決定ステップとを含み、前記行動決定ステップでは、前記音声認識ステップの処理により認識された音声データに基づいて、前記ロボットの行動を決定することができない場合、その原因をユーザに通知するために、前記原因に対応した所定の行動を前記ロボットに行わせることを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、ロボット制御装置およびロボット制御方法、並びに記録媒体に関し、特に、音声認識装置による音声認識結果に基づいて行動するロボットに用いて好適なロボット制御装置およびロボット制御方法、並びに記録媒体に関する。
【0002】
【従来の技術】近年においては、例えば、玩具等として、ユーザが発した音声を音声認識し、その音声認識結果に基づいて、ある仕草をしたり、合成音を出力する等の行動を行うロボット(本明細書においては、ぬいぐるみ状のものを含む)が製品化されている。
【0003】
【発明が解決しようとする課題】しかしながら、ロボットにおいては、音声認識処理が正しく行われなかったり、音声認識を行った結果、認識された音声がロボットに理解できる単語ではなかったり、あるいは、音声認識結果の信頼性が低いなどの理由により、ロボットが、ユーザの発話内容に対してどのような行動を起こすべきか判断できない場合がある。このような場合、ロボットが行動を起こすことができないため、ユーザは、ロボットにおいて音声が認識されているのかどうか、あるいはロボットが故障しているのかどうか不安になる。
【0004】本発明はこのような状況に鑑みてなされたものであり、音声認識結果に応じた行動をロボットに自律的に行わせるようにすることにより、ロボットが、ユーザの発話内容を充分に理解することができなかったことを、ユーザに知らせることができるようにするものである。
【0005】
【課題を解決するための手段】本発明のロボット制御装置は、音声データの入力を受ける音声入力手段と、音声入力手段により入力された音声データを認識し、音声認識の信頼性を算出する音声認識手段と、音声認識手段により認識された音声認識結果を基に、ロボットの行動を決定する行動決定手段とを備え、行動決定手段は、音声認識手段により認識された音声データに基づいて、ロボットの行動を決定することができない場合、その原因をユーザに通知するために、原因に対応した所定の行動をロボットに行わせることを特徴とする。
【0006】音声認識の信頼性に対する閾値を記憶する記憶手段を更に備えさせることができ、行動決定手段には、音声認識手段により算出された音声認識の信頼性と記憶手段により記憶されている閾値との比較結果に基づいて、音声認識の信頼性に対応した所定の行動をロボットに行わせるようにすることができる。
【0007】音声入力手段により入力された音声データのパワーを基に、ユーザの発話の部分を判別して、音声認識手段が音声認識を行う区間を決定する決定手段を更に備えさせることができ、行動決定手段には、決定手段により決定された音声認識を行う区間の長さが長すぎる場合、区間が長すぎることをユーザに通知するための所定の行動をロボットに行わせるようにすることができる。
【0008】音声入力手段により入力された音声データのパワーを基に、ユーザの発話の部分を判別して、音声認識手段が音声認識を行う区間を決定する決定手段を更に備えさせることができ、行動決定手段には、決定手段により決定された音声認識を行う区間の長さが短すぎる場合、区間が短すぎることをユーザに通知するための所定の行動をロボットに行わせるようにすることができる。
【0009】本発明のロボット制御方法は、音声データの入力を受ける音声入力ステップと、音声入力ステップの処理により入力された音声データを認識し、音声認識の信頼性を算出する音声認識ステップと、音声認識ステップの処理により認識された音声認識結果を基に、ロボットの行動を決定する行動決定ステップとを含み、行動決定ステップでは、音声認識ステップの処理により認識された音声データに基づいて、ロボットの行動を決定することができない場合、その原因をユーザに通知するために、原因に対応した所定の行動をロボットに行わせることを特徴とする。
【0010】本発明の記録媒体に記録されているプログラムは、音声データの入力を受ける音声入力ステップと、音声入力ステップの処理により入力された音声データを認識し、音声認識の信頼性を算出する音声認識ステップと、音声認識ステップの処理により認識された音声認識結果を基に、ロボットの行動を決定する行動決定ステップとを含み、行動決定ステップでは、音声認識ステップの処理により認識された音声データに基づいて、ロボットの行動を決定することができない場合、その原因をユーザに通知するために、原因に対応した所定の行動をロボットに行わせることを特徴とする。
【0011】本発明のロボット制御装置、ロボット制御方法、および、記録媒体に記録されているプログラムにおいては、音声データが入力され、入力された音声データが認識され、音声認識の信頼性が算出され、認識された音声認識結果を基に、ロボットの行動が決定され、認識された音声データに基づいて、ロボットの行動を決定することができない場合、その原因をユーザに通知するために、原因に対応した所定の行動をロボットに行わせる。
【0012】
【発明の実施の形態】以下、図を参照して、本発明の実施の形態について説明する。
【0013】図1は、本発明を適用したロボットの一実施の形態の外観構成例を示しており、図2は、その電気的構成例を示している。
【0014】本実施の形態では、ロボットは、例えば、犬等の四つ足の動物の形状のものとなっており、胴体部ユニット2の前後左右に、それぞれ脚部ユニット3A,3B,3C,3Dが連結されるとともに、胴体部ユニット2の前端部と後端部に、それぞれ頭部ユニット4と尻尾部ユニット5が連結されることにより構成されている。
【0015】尻尾部ユニット5は、胴体部ユニット2の上面に設けられたベース部5Bから、2自由度をもって湾曲または揺動自在に引き出されている。
【0016】胴体部ユニット2には、ロボット全体の制御を行うコントローラ10、ロボットの動力源となるバッテリ11、並びにバッテリセンサ12および熱センサ13からなる内部センサ部14などが収納されている。
【0017】頭部ユニット4には、「耳」に相当するマイク(マイクロフォン)15、「目」に相当するCCD(Charge Coupled Device)カメラ16、触覚に相当するタッチセンサ17、「口」に相当するスピーカ18、および、LED(Light Emitting Diode)19などが、それぞれ所定位置に配設されている。LED19は、複数のLEDで構成されており、その点灯位置、もしくは点灯させるLEDの色によって、ロボットが実行しているタスクの種類(例えば、音声信号の入力処理、もしくは、音声認識処理など)をユーザに知らせたり、ロボットに表情を与えることにより、その感情をユーザに知らせることができるようになされている。また、頭部ユニット4には、口の下顎に相当する下顎部4Aが1自由度をもって可動に取り付けられており、この下顎部4Aが動くことにより、ロボットの口の開閉動作が実現されるようになされている。
【0018】脚部ユニット3A乃至3Dそれぞれの関節部分や、脚部ユニット3A乃至3Dそれぞれと胴体部ユニット2の連結部分、頭部ユニット4と胴体部ユニット2の連結部分、頭部ユニット4と下顎部4Aの連結部分、並びに尻尾部ユニット5と胴体部ユニット2の連結部分などには、図2に示すように、それぞれアクチュエータ3AA1乃至3AAK、3BA1乃至3BAK、3CA1乃至3CAK、3DA1乃至3DAK、4A1乃至4AL、5A1および5A2が配設されている。
【0019】頭部ユニット4におけるマイク15は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、コントローラ10に送出する。CCDカメラ16は、周囲の状況を撮像し、得られた画像信号を、コントローラ10に送出する。
【0020】タッチセンサ17は、例えば、頭部ユニット4の上部に設けられており、ユーザからの「撫でる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ10に送出する。
【0021】胴体部ユニット2におけるバッテリセンサ12は、バッテリ11の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ10に送出する。熱センサ13は、ロボット内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ10に送出する。
【0022】コントローラ10は、CPU(Central Processing Unit)10Aやメモリ10B等を内蔵しており、CPU10Aにおいて、メモリ10Bに記憶された制御プログラムが実行されることにより、各種の処理を行う。
【0023】すなわち、コントローラ10は、マイク15、CCDカメラ16、タッチセンサ17、バッテリセンサ12、および熱センサ13から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、および熱検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【0024】更に、コントローラ10は、この判断結果等に基づいて、続く行動を決定し、その決定結果に基づいて、アクチュエータ3AA1乃至3AAK、3BA1乃至3BAK、3CA1乃至3CAK、3DA1乃至3DAK、4A1乃至4AL、5A1、および5A2のうちの必要なものを駆動させる。これにより、頭部ユニット4を上下左右に振らせたり、下顎部4Aを開閉させる。さらには、尻尾部ユニット5を動かせたり、各脚部ユニット3A乃至3Dを駆動して、ロボットを歩行させるなどの行動を行わせる。
【0025】また、コントローラ10は、必要に応じて、合成音を生成し、スピーカ18に供給して出力させたり、ロボットの「目」の位置に設けられたLED19を点灯、消灯または点滅させる。
【0026】以上のようにして、ロボットは、周囲の状況等に基づいて自律的に行動をとるようになっている。
【0027】次に、図3は、図2のコントローラ10の機能的構成例を示している。なお、図3に示す機能的構成は、CPU10Aが、メモリ10Bに記憶された制御プログラムを実行することで実現されるようになっている。
【0028】コントローラ10は、特定の外部状態を認識するセンサ入力処理部31、センサ入力処理部31の認識結果を累積して、感情や、本能、成長の状態を表現するモデル記憶部32、センサ入力処理部31の認識結果等に基づいて、続く行動を決定する行動決定機構部33、行動決定機構部33の決定結果に基づいて、実際にロボットに行動を起こさせる姿勢遷移機構部34、アクチュエータ3AA1乃至アクチュエータ5A2を駆動制御する制御機構部35、合成音を生成する音声合成部36、音声合成部36において合成された合成音の出力を制御する出力制御部37、並びに、センサ入力制御部31および行動決定機構部33から入力される制御信号に基づいて、LED19の点灯を制御するLED制御部38から構成されている。
【0029】センサ入力処理部31は、マイク15、CCDカメラ16、タッチセンサ17から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部32および行動決定機構部33に通知する。
【0030】すなわち、センサ入力処理部31は、音声認識部31Aを有しており、音声認識部31Aは、マイク15から与えられる音声信号について音声認識を行う。そして、音声認識部31Aは、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を、状態認識情報として、モデル記憶部32および行動決定機構部33に通知する。
【0031】また、センサ入力処理部31は、画像認識部31Bを有しており、画像認識部31Bは、CCDカメラ16から与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部31Bは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部32および行動決定機構部33に通知する。
【0032】更に、センサ入力処理部31は、圧力処理部31Cを有しており、圧力処理部31Cは、タッチセンサ17から与えられる圧力検出信号を処理する。
【0033】圧力処理部31Cは、その処理の結果、タッチセンサ17から、所定の閾値以上で、かつ短時間の圧力を検出したときには、「たたかれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部32、行動決定機構部33および音声認識部31Aに通知する。
【0034】モデル記憶部32は、ロボットの感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0035】ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部31からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部31からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部31からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0036】モデル記憶部32は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部33に送出する。
【0037】なお、モデル記憶部32には、センサ入力処理部31から状態認識情報が供給される他、行動決定機構部33から、ロボットの現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、同一の状態認識情報が与えられても、行動情報が示すロボットの行動に応じて、異なる状態情報を生成するようになっている。
【0038】すなわち、例えば、ロボットが、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部32に与えられ、この場合、モデル記憶部32では、「うれしさ」を表す感情モデルの値が増加される。
【0039】一方、ロボットが、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部32に与えられ、この場合、モデル記憶部32では、「うれしさ」を表す感情モデルの値は変化されない。
【0040】このように、モデル記憶部32は、状態認識情報だけでなく、現在または過去のロボットの行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0041】なお、モデル記憶部32は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部32は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0042】行動決定機構部33は、センサ入力処理部31からの状態認識情報や、モデル記憶部32からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部34に送出する。
【0043】即ち、行動決定機構部33は、ロボットがとり得る行動をステート(状態)(state)に対応させた有限オートマトンを、ロボットの行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部31からの状態認識情報や、モデル記憶部32における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0044】ここで、行動決定機構部33は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部33は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部32から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0045】なお、行動決定機構部33は、上述したように、センサ入力処理部31からの状態認識情報だけでなく、モデル記憶部32における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0046】その結果、行動決定機構部33は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいていない」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「お手」という行動をとらせる行動指令情報を生成し、これを、姿勢遷移機構部34に送出する。
【0047】また、行動決定機構部33は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「手のひらをぺろぺろなめる」ような行動を行わせるための行動指令情報を生成し、これを、姿勢遷移機構部34に送出する。
【0048】また、行動決定機構部33は、例えば、状態情報が、「怒っている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、状態情報が、「お腹がすいている」ことを表していても、また、「お腹がすいていない」ことを表していても、「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを、姿勢遷移機構部34に送出する。
【0049】なお、行動決定機構部33には、モデル記憶部32から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部34に送出される。
【0050】また、行動決定機構部33では、上述したように、ロボットの頭部や手足等を動作させる行動指令情報の他、ロボットに発話を行わせる行動指令情報も生成される。ロボットに発話を行わせる行動指令情報は、音声合成部36に供給されるようになっており、音声合成部36に供給される行動指令情報には、音声合成部36に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部36は、行動決定部32から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、出力制御部37を介して、スピーカ18に供給して出力させる。これにより、スピーカ18からは、例えば、ロボットの鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何?」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
【0051】更に、行動決定機構部33では、ロボットの感情を表現させるためにLED19の点灯を制御させるための制御信号を生成して、LED制御部38に出力するのみならず、音声認識部31Aから、音声認識結果の入力を受け、音声認識が終了したことをユーザに通知させるために、LED19のうちの所定のLEDの消灯を制御させるための制御信号を生成して、LED制御部38に出力する。LED制御部38は、入力された制御信号に従って、LED19の点灯を制御する。
【0052】また、LED制御部38は、行動決定機構部33から入力される制御信号のみならず、センサ入力処理部31の音声認識部31Aから入力される音声区間情報(すなわち、音声区間が開始したことを示す信号および音声認識処理が終了したことを示す信号)を基に、LED19の点灯を制御するようになされている。
【0053】姿勢遷移機構部34は、行動決定機構部33から供給される行動指令情報に基づいて、ロボットの姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部35に送出する。
【0054】ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなロボットの物理的形状と、関節が曲がる方向や角度のようなアクチュエータ3AA1乃至5A1および5A2の機構とによって決定される。
【0055】また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、4本足のロボットは、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、4本足のロボットは、その4本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
【0056】このため、姿勢遷移機構部34は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部33から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を、そのまま姿勢遷移情報として、制御機構部35に送出する。一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部34は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部35に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【0057】制御機構部35は、姿勢遷移機構部34からの姿勢遷移情報にしたがって、アクチュエータ3AA1乃至アクチュエータ5A2を駆動するための制御信号を生成し、これを、アクチュエータ3AA1乃至アクチュエータ5A2に送出する。これにより、アクチュエータ3AA1乃至アクチュエータ5A2は、制御信号にしたがって駆動し、ロボットは、自律的に行動を起こす。
【0058】出力制御部37には、音声合成部36からの合成音のディジタルデータが供給されるようになっており、出力制御部37は、それらのディジタルデータを、アナログの音声信号にD/A変換し、スピーカ18に供給して出力させる。
【0059】次に、図4は、図3の音声認識部31Aの構成例を示している。
【0060】マイク15からの音声信号は、AD(Analog Digital)変換部41に供給される。AD変換部41では、マイク15からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データにAD変換される。この音声データは、特徴抽出部42および音声区間検出部47に供給される。
【0061】特徴抽出部42は、入力される音声データについて、適当なフレームごとに、状態認識情報、および姿勢遷移情報の入力を受け、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析結果を、特徴パラメータ(特徴ベクトル)として、マッチング部43に出力する。なお、特徴抽出部42では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域ごとのパワー(フィルタバンクの出力)等を、特徴パラメータとして抽出することが可能である。
【0062】マッチング部43は、特徴抽出部42からの特徴パラメータを用いて、音響モデル記憶部44、辞書記憶部45、および文法記憶部46を必要に応じて参照しながら、マイク15に入力された音声(入力音声)を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【0063】即ち、音響モデル記憶部44は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、HMM(Hidden Markov Model)が用いられる。辞書記憶部45は、認識対象の各単語について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法記憶部46は、辞書記憶部45の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0064】マッチング部43は、辞書記憶部45の単語辞書を参照することにより、音響モデル記憶部44に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部43は、幾つかの単語モデルを、文法記憶部46に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴パラメータに基づき、連続分布HMM法によって、マイク15に入力された音声を認識する。即ち、マッチング部43は、特徴抽出部42が出力する時系列の特徴パラメータが観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列の音韻情報(読み)を、音声の認識結果として出力する。
【0065】より具体的には、マッチング部43は、接続された単語モデルに対応する単語列について、各特徴パラメータの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列の音韻情報を、音声認識結果として出力する。
【0066】また、マッチング部43は、音声認識結果の信頼性を検証するために、スコアに対する閾値Aおよび閾値Bを予め記憶しておき、この閾値Aおよび閾値Bと、音声認識結果のスコアとを比較し、その比較結果も、音声認識結果とともに出力する。ここでは、スコアの数値が低い場合の方が、音声認識の信頼性が高いと判断されるものとする。すなわち、スコアが閾値A以上の場合、音声認識の信頼性は最も悪く、スコアが閾値B以下の場合、音声認識の信頼性は、最も高いものとする。
【0067】以上のようにして出力される、マイク15に入力された音声の認識結果は、状態認識情報として、モデル記憶部32および行動決定機構部33に出力される。
【0068】なお、音声区間検出部47は、AD変換部41からの音声データについて、特徴抽出部42がMFCC分析を行うのと同様のフレームごとに、音声入力レベル(パワー)を算出している。さらに、音声区間検出部47は、状態認識情報、および姿勢遷移情報の入力を受け、各フレームの音声入力レベルを所定の閾値と比較することにより、ユーザの音声が入力されている音声区間を検出する。すなわち、音声区間とは、所定の閾値以上の音声入力レベルを有するフレームで構成される区間を示す。そして、音声区間検出部47は、検出した音声区間を、特徴抽出部42とマッチング部43に供給しており、特徴抽出部42とマッチング部43は、音声区間のみを対象に処理を行う。更に、音声区間検出部47は、音声区間の開始および終了を示す音声区間情報を、LED制御部38に出力する。
【0069】次に、図5および図6のフローチャートを参照して、音声認識処理について説明する。
【0070】ステップS1において、音声区間検出部47は、AD変換部41を介して入力された音声データを基に、環境音レベルを推定する。
【0071】マイク15には、ユーザがロボットに対して発話していない場合においても、様々なノイズが音声入力されるが、そのノイズをユーザの発話として音声認識することは誤動作の原因になる。従って、ユーザの発話を音声認識していない状態(音声認識OFF状態)において、環境音レベルを推定する必要がある。
【0072】図7に示されるように、マイク15およびAD変換部41を介して入力される音声データの音声入力レベルは、音声認識OFF状態においても一定ではない。そこで、環境音レベルをENV、現在の音声入力レベルをPとして、次の式(1)および式(2)により、所定の短い時間毎に、環境音レベルを算出する。
ENV=a×ENV+b×P ・・・(1)
a+b=1.0 ・・・(2)
【0073】ここで、aは、0.9など、1に比較的近い数字に設定され、bは、0.1などに設定されることにより、瞬間的なノイズが、環境音全体に大きな影響を与えないようになされている。
【0074】ステップS2において、音声区間検出部47は、音声入力レベルが、閾値(T1+ENV)を越えたか否かを判断する。ステップS2において、音声入力レベルが、閾値(T1+ENV)を越えていないと判断された場合、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0075】ステップS2において、音声入力レベルが、閾値(T1+ENV)を越えていると判断された場合、ステップS3において、音声区間検出部47は、環境音レベルの推定を止め、その内部に有する図示しないカウンタ(タイマ)を用いて、音声認識開始カウントを開始する。
【0076】ステップS4において、音声区間検出部47は、音声認識開始カウントが所定の値(例えば、図7のCNT_ONで示される値)を超えるまで、音声入力レベルが、つねに、閾値(T1+ENV)以上であるか否かを判断する。ステップS4において、音声認識開始カウントが所定の値を超える前に、音声入力レベルが、閾値(T1+ENV)以下となったと判断された場合、処理は、ステップS2に戻り、それ以降の処理が繰り返される。
【0077】ステップS4において、音声認識開始カウントが所定の値を超えるまで、音声入力レベルが、つねに、閾値(T1+ENV)以上であると判断された場合、ステップS5において、音声区間検出部47は、音声区間の開始を示す信号を、特徴抽出部42およびマッチング部43に出力する。特徴抽出部42およびマッチング部43は、図4を用いて説明した音声認識処理を実行する。また、音声区間検出部47は、音声区間の開始を示す信号を、LED制御部38にも出力する。LED制御部38は、LED19の複数のLEDのうち、緑色のLEDを点灯させる。ここで、緑色のLEDの点灯によって、ユーザは、ロボットが入力された音声信号の処理を行っていることを確認することができる。
【0078】ステップS6において、音声区間検出部47は、音声入力レベルが、閾値(T2+ENV)以下になったか否かを判断する。
【0079】マイク15には、ユーザがロボットに対する発話を終了した後も、様々なノイズが音声入力されるが、そのノイズをユーザの発話として音声認識することは誤動作の原因になる。従って、音声入力レベルが、一定の値を下回った場合、音声認識処理を行わないように(音声認識OFF状態に)する必要がある。
【0080】図8に示されるように、マイク15およびAD変換部41を介して入力される音声データの音声入力レベルが、所定の閾値T2と、音声認識処理が開始された時点においての環境音レベルENVとの和(T2+ENV)を下回るか否かを判断することにより、音声区間検出部47は、ユーザの発話が終了したか否かを判断することができる。
【0081】ステップS6において、音声入力レベルが、閾値(T2+ENV)以下になっていないと判断された場合、ステップS7において、音声区間検出部47は、所定の時間が経過したか否かを判断する。この、所定の時間とは、受け付けるユーザの発話のうち、最長と想定される時間、ユーザの発話が長すぎて、音声認識が困難となる時間、もしくは、音声認識を行ったとしても、その後、ロボットの行動を決定するのが困難となる時間(例えば、3秒)である。ステップS7において、所定の時間が経過していないと判断された場合、処理は、ステップS5に戻り、それ以降の処理が繰り返される。
【0082】ステップS7において、所定の時間が経過したと判断された場合、ユーザの発話が所定の時間以上であるために、音声認識処理もしくは、行動決定処理が困難であるため、ステップS8において、音声区間検出部47は、音声区間が所定の時間以上であることを示す信号を、行動決定機構部33に出力する。行動決定機構部33は、音声区間が所定の時間以上であることを示す信号の入力を受け、予め設定された「行動1」を行わせるための制御信号を生成し、姿勢遷移機構部34に出力する。ここで、「行動1」とは、ロボットが、ユーザに対して、「話が長すぎてつまらない、分からない」ということを伝えればいいのであるから、例えば、ロボットに悲しい表情をさせるための制御信号を生成して、LED制御部38に出力するようにしてもよいし、あるいは、首を左右に振って、「いやいや」をさせるための制御信号を生成して、姿勢遷移機構部34に出力する。
【0083】姿勢遷移機構部34は、入力された制御信号を基に、ロボットの姿勢を、現在の姿勢から、「行動1」の姿勢に変位させるための姿勢遷移情報を生成し、制御機構部35出力する。制御機構部35は、入力された姿勢遷移情報に従って、アクチュエータ3AA1乃至アクチュエータ5A2のうちの、対応するアクチュエータを駆動させて、ロボットに「行動1」を起こさせる。
【0084】ステップS9において、音声区間検出部47は、音声入力レベルが、閾値(T2+ENV)以下になったか否かを判断する。ステップS9において、音声入力レベルが、閾値(T2+ENV)以下になっていないと判断された場合、音声入力レベルが、閾値(T2+ENV)以下になったと判断されるまで、ステップS9の処理が繰り返される。
【0085】ステップS9において、音声入力レベルが、閾値(T2+ENV)以下になったと判断された場合、ステップS10において、音声区間検出部47は、音声区間が終了したことを示す信号を、LED制御部38に出力する。LED制御部38は、ステップS5において点灯されたLED19の緑色のLEDを消灯させ、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0086】ステップS6において、音声入力レベルが、閾値(T2+ENV)以下になったと判断された場合、ステップS11において、音声区間検出部47は、その内部に有する図示しないカウンタ(タイマ)を用いて、音声認識終了カウントを開始する。
【0087】ステップS12において、音声区間検出部47は、音声認識終了カウントが所定の値(例えば、図8のCNT_OFFで示される値)を超えるまで、音声入力レベルが、つねに、閾値(T2+ENV)以下であるか否かを判断する。ステップS12において、音声認識終了カウントが所定の値を超える前に、音声入力レベルが、閾値(T2+ENV)以上となったと判断された場合、処理は、ステップS6に戻り、それ以降の処理が繰り返される。
【0088】ステップS12において、音声認識終了カウントが所定の値を超えるまで、音声入力レベルが、つねに、閾値(T2+ENV)以下であると判断された場合、ステップS13において、音声区間検出部47は、音声区間が終了したことを示す信号を、特徴抽出部42、マッチング部43、およびLED制御部38に出力する。LED制御部38は、LED19のうち、ステップS5において点灯された緑色のLEDを消灯させ、赤色のLEDを点灯させる。ユーザは、緑色のLEDが消灯されたことにより、ロボットが、現在入力された音声データを用いて音声認識処理を行わないことを確認し、赤色のLEDが点灯されたことにより、ロボットが、現在音声認識処理を行っていることを確認することができる。特徴抽出部42およびマッチング部43は、この時点までに入力された音声データを用いて音声処理を行う。
【0089】ステップS14において、マッチング部43は、音声認識結果を行動決定機構部33に出力する。
【0090】ステップS15において、行動決定機構部33は、音声認識結果の入力を受け、赤色のLEDを消灯させるための制御信号を生成し、LED制御部38に出力する。LED制御部38は、LED19のうち、ステップS13において点灯された赤色のLEDを消灯させる。ユーザは、赤色のLEDが消灯されたことにより、ロボットが、音声認識処理を終了したことを確認することができる。
【0091】ステップS16において、行動決定機構部33は、音声認識部31Aの音声区間検出部47から入力された音声区間情報に基づいて、音声区間が短すぎたか否かを判断する。
【0092】ステップS16において、音声区間が短すぎたと判断された場合、行動決定機構部33は、入力された音声認識結果に従って、行動を決定することが困難であるので、ステップS17において、予め設定された「行動2」を行わせるための制御信号を生成し、姿勢遷移機構部34に出力する。ここで、「行動2」とは、ロボットが、ユーザに対して、「ノイズではなくユーザの発話が聞こえたが、短すぎて分からなかった」ということを伝えればいいのであるから、例えば、ロボットに、耳に手を当てるようなしぐさを行わせるための制御信号を生成して、姿勢遷移機構部34に出力し、ロボットに、「行動2」を起こさせる。そして、その後、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0093】ステップS16において、音声区間が短すぎではない(すなわち、ロボットの行動を決定するのに適した発話の長さである)と判断された場合、ステップS18において、行動決定機構部33は、入力された音声認識結果に基づいて、認識スコアが閾値A以上であるか否かを判断する。
【0094】ステップS18において、認識スコアが閾値A以上であると判断された場合、音声認識結果は、非常に信頼性が低いものであるため、ステップS19において、行動決定機構部33は、予め設定された「行動3」を行う。ここで、「行動3」とは、ロボットが、ユーザに対して、「ノイズではなくユーザの発話が聞こえたが、その内容がほとんど理解できなかった」ということを伝えればいいのであるから、例えば、ロボットに、尻尾部5を用いて、床などをぴしゃりと叩かせるための制御信号を生成して、姿勢遷移機構部34に出力し、ロボットに、「行動3」を起こさせる。そして、その後、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0095】ステップS18において、認識スコアが閾値A以上ではないと判断された場合、ステップS20において、行動決定機構部33は、入力された音声認識結果に基づいて、認識スコアの値が、閾値B以上閾値A以下であるか否かを判断する。
【0096】ステップS20において、認識スコアの値が、閾値B以上閾値A以下であると判断された場合、ステップS21において、行動決定機構部33は、音声認識の確度があまり良くないので、予め設定された「行動4」を行わせるための制御信号を生成し、姿勢遷移機構部34に出力する。ここで、「行動4」とは、ロボットが、ユーザに対して、「ノイズではなくユーザの発話が聞こえたが、その内容があまり理解できなかった」ということを伝えればいいのであるから、例えば、ロボットに、頭部ユニット4を左に曲げさせて、首を傾げるしぐさをさせるための制御信号を生成して、姿勢遷移機構部34に出力し、ロボットに、「行動4」を起こさせる。そして、その後、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0097】ステップS20において、認識スコアの値が、閾値B以上閾値A以下ではないと判断された場合、音声認識の結果、何らかの単語が認識されたということであるから、ステップS22において、行動決定機構部33は、認識スコアは閾値B以下で、実行可能なコマンドを認識したか否かを判断する。
【0098】ステップS22において、認識スコアは閾値B以下で、実行可能なコマンドを認識していないと判断された場合、認識された単語は、ロボットが現在行動できないコマンド(例えば、まだ、「お手」という言葉に対応する行動を認識できていない場合など、現在の成長モデルでは、実施不可能な行動を示すコマンド)であるので、ステップS23において、行動決定機構部33は、予め設定された「行動5」を行わせるための制御信号を生成し、姿勢遷移機構部34に出力する。ここで、「行動5」とは、ロボットが、ユーザに対して、「ユーザの発話した単語を認識することができたが、その内容を実行することができない」ということを伝えればいいのであるから、例えば、ロボットに、頭部ユニット4を右に曲げさせて、首を傾げるしぐさをさせるための制御信号を生成して、姿勢遷移機構部34に出力し、ロボットに、「行動5」を起こさせる。そして、その後、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0099】ステップS22において、認識スコアは閾値B以下で、実行可能なコマンドを認識したと判断された場合、ステップS24において、行動決定機構部33は、コマンドに基づいた行動を行わせるための制御信号を生成し、姿勢遷移機構部34に出力し、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0100】ここでは、図1を用いて説明した外観を有するロボットにおいて、音声認識結果に基づいた行動を行わせる場合について説明したが、例えば、図9(A)に示されるような、耳部61と、耳部61を動作させるアクチュエータを有するロボットの場合、音声区間中は、耳部61をぴくぴくと動かすことにより、ユーザに、現在入力されている音声信号を基に、音声認識処理を行っていることを通知するようにしてもよい。また、図9(B)に示されるように、耳部61を、伏せるような形状にすることによって、音声認識の信頼性が悪いことをユーザに知らせるようにしたり、図9(C)に示されるように、耳部61を、正面ではなく、後ろ側に向けさせることによって、ユーザの発話が長く、ロボットが「(話が長すぎて)つまらない、内容が良く理解できない」と認識していることを、ユーザに伝えるようにしても良い。
【0101】また、「行動1」乃至「行動5」に対応するロボットの行動は、上述した行動(耳に手を当てる、首を傾ける、など)に限られるものではなく、ユーザに、音声認識の信頼性などを通知できるような他の行動を行わせるようにしても良いし、あるいは、ユーザに、音声認識の信頼性などを通知できるような音声を出力させるようにしても良い。
【0102】更に、「行動1」乃至「行動5」に対応するロボットの行動は、それぞれ、異なる処理結果を示す行動として用いるようにしても良い。例えば、ステップS16において、音声区間が短すぎたと判断された場合に、「行動2」として、右に首を傾げさせたり、ステップS18において、認識スコアが閾値A以上であると判断された場合に、「行動3」として、耳に手を当てるしぐさを行わせるようにしても良い。
【0103】以上、本発明を、エンターテイメント用のロボット(疑似ペットとしてのロボット)に適用した場合について説明したが、本発明は、これに限らず、例えば、産業用のロボット等の各種のロボットに広く適用することが可能である。また、本発明は、現実世界のロボットだけでなく、例えば、液晶ディスプレイ等の表示装置に表示される仮想的なロボットにも適用可能である。
【0104】例えば、本発明を人間型ロボットに適応する場合、人々がボディランゲージとして一般的によく利用するような、ユーザにわかりやすい行動を人間型ロボットに行わせることにより、音声認識の信頼性などを通知するようにしても良い。
【0105】さらに、本実施の形態においては、上述した一連の処理を、CPU10A(図2)にプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウェアによって行うことも可能である。
【0106】なお、プログラムは、あらかじめメモリ10B(図2)に記憶させておく他、フロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magnetooptical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウエアとして提供し、ロボット(メモリ10B)にインストールするようにすることができる。
【0107】また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、有線で転送し、メモリ10Bにインストールすることができる。
【0108】この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ10Bに、容易にインストールすることができる。
【0109】ここで、本明細書において、CPU10Aに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0110】また、プログラムは、唯1つのCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0111】
【発明の効果】本発明のロボット制御装置、ロボット制御方法、および、記録媒体に記録されているプログラムによれば、音声データの入力を受け、入力された音声データを認識し、音声認識の信頼性を算出し、認識された音声認識結果を基に、ロボットの行動を決定し、認識された音声データに基づいて、ロボットの行動を決定することができない場合、その原因をユーザに通知するために、原因に対応した所定の行動をロボットに行わせるようにしたので、ロボットが、ユーザの発話内容を充分に理解することができなかったことを、ユーザに知らせることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013