米国特許情報 | 欧州特許情報 | 国際公開(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−189497(P2002−189497A)
公開日 平成14年7月5日(2002.7.5)
出願番号 特願2001−16871(P2001−16871)
出願日 平成13年1月25日(2001.1.25)
代理人 【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
【テーマコード(参考)】
2C150
3F059
3F060
5D015
5D045
【Fターム(参考)】
2C150 BA06 BA11 CA01 CA02 CA04 DA05 DA24 DA26 DA27 DA28 DF03 DF04 DF06 DF33 ED42 ED52 EF07 EF16 EF23 EF29 EF33 EF36 
3F059 AA00 BB06 DD18 FB11
3F060 AA00 BA00 CA14
5D015 DD03 KK01 KK04
5D045 AA07 AB11
発明者 石井 和夫 / 広井 順 / 小野木 渡 / 豊田 崇
要約 目的


構成
特許請求の範囲
【請求項1】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置において、音声認識されるユーザの音声の音声区間を検出する検出手段と、前記音声区間の長さに応じた音声データを生成する生成手段と、前記生成手段により生成された前記音声データの出力を制御する出力制御手段とを備えることを特徴とするロボット制御装置。
【請求項2】 前記生成手段は、前記音声区間の長さが所定の長さより長い場合、前記音声の一部を利用して前記音声データを生成するとともに、前記音声区間の長さが前記所定の長さ以下である場合、前記音声の全部を利用して前記音声データを生成することを特徴とする請求項1に記載のロボット制御装置。
【請求項3】 前記生成手段は、前記音声の一部または全部の韻律情報を取得するとともに、前記韻律情報に基づいて、韻律を制御した前記音声データを生成することを特徴とする請求項2に記載のロボット制御装置。
【請求項4】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置のロボット制御方法において、音声認識されるユーザの音声の音声区間を検出する検出ステップと、前記音声区間の長さに応じた音声データを生成する生成ステップと、前記生成ステップの処理で生成された前記音声データの出力を制御する出力制御ステップとを含むことを特徴とするロボット制御方法。
【請求項5】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置のプログラムであって、音声認識されるユーザの音声の音声区間を検出する検出ステップと、前記音声区間の長さに応じた音声データを生成する生成ステップと、前記生成ステップの処理で生成された前記音声データの出力を制御する出力制御ステップとを含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項6】 少なくとも音声認識結果に基づいて行動するロボットを制御するロボット制御装置のプログラムであって、音声認識されるユーザの音声の音声区間を検出する検出ステップと、前記音声区間の長さに応じた音声データを生成する生成ステップと、前記生成ステップの処理で生成された前記音声データの出力を制御する出力制御ステップとを含むことを特徴とするコンピュータが読み取り可能なプログラム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラムに関し、特に、例えば、音声認識装置による音声認識結果に基づいて行動するロボットに用いて好適なロボット制御装置およびロボット制御方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】近年においては、例えば、玩具等として、ユーザが発した音声を音声認識し、その音声認識結果に基づいて、ある仕草をしたり、合成音を出力する等の行動を行うロボット(本明細書においては、ぬいぐるみ状のものを含む)が製品化されている。
【0003】
【発明が解決しようとする課題】しかしながら、ロボットにおいては、音声認識結果が得られても、何の行動も起こさない場合があり、この場合、ユーザは、ロボットにおいて音声が認識されているのかどうか、あるいはロボットが故障しているのかどうか不安になる。
【0004】本発明は、このような状況に鑑みてなされたものであり、ロボットにおいて、ユーザの音声が認識されていることを分かるようにすることで、ユーザの不安を解消すること等ができるようにするものである。
【0005】
【課題を解決するための手段】本発明のロボット制御装置は、音声認識されるユーザの音声の音声区間を検出する検出手段と、音声区間の長さに応じた音声データを生成する生成手段と、生成手段により生成された音声データの出力を制御する出力制御手段とを備えることを特徴とする。
【0006】生成手段は、音声区間の長さが所定の長さより長い場合、音声の一部を利用して音声データを生成するとともに、音声区間の長さが所定の長さ以下である場合、音声の全部を利用して音声データを生成することができる。
【0007】生成手段は、音声の一部または全部の韻律情報を取得するとともに、韻律情報に基づいて、韻律を制御した音声データを生成することができる。
【0008】本発明のロボット制御方法は、音声認識されるユーザの音声の音声区間を検出する検出ステップと、音声区間の長さに応じた音声データを生成する生成ステップと、生成ステップの処理で生成された音声データの出力を制御する出力制御ステップとを含むことを特徴とする。
【0009】本発明の記録媒体は、音声認識されるユーザの音声の音声区間を検出する検出ステップと、音声区間の長さに応じた音声データを生成する生成ステップと、生成ステップの処理で生成された音声データの出力を制御する出力制御ステップとを含むプログラムが記録されていることを特徴とする。
【0010】本発明のプログラムは、音声認識されるユーザの音声の音声区間を検出する検出ステップと、音声区間の長さに応じた音声データを生成する生成ステップと、生成ステップの処理で生成された音声データの出力を制御する出力制御ステップとを含むことを特徴とする。
【0011】本発明のロボット制御装置および方法、並びにプログラムにおいては、音声認識されるユーザの音声の音声区間が検出され、音声区間の長さに応じた音声データが生成され、生成された音声データの出力が制御される。
【0012】
【発明の実施の形態】図1は、本発明を適用したロボットの一実施の形態の外観構成例を示しており、図2は、その電気的構成例を示している。
【0013】本実施の形態では、ロボットは、例えば、犬等の四つ足の動物の形状のものとなっており、胴体部ユニット2の前後左右に、それぞれ脚部ユニット3A,3B,3C,3Dが連結されるとともに、胴体部ユニット2の前端部と後端部に、それぞれ頭部ユニット4と尻尾部ユニット5が連結されることにより構成されている。
【0014】尻尾部ユニット5は、胴体部ユニット2の上面に設けられたベース部5Bから、2自由度をもって湾曲または揺動自在に引き出されている。
【0015】胴体部ユニット2には、ロボット全体の制御を行うコントローラ10、ロボットの動力源となるバッテリ11、並びにバッテリセンサ12および熱センサ13からなる内部センサ部14などが収納されている。
【0016】頭部ユニット4には、「耳」に相当するマイク(マイクロフォン)15、「目」に相当するCCD(Charge Coupled Device)カメラ16「触覚」に相当するタッチセンサ17、「口」に相当するスピーカ18などが、それぞれ所定位置に配設されている。また、頭部ユニット4には、口の下顎に相当する下顎部4Aが1自由度をもって可動に取り付けられており、この下顎部4Aが動くことにより、ロボットの口の開閉動作が実現されるようになっている。
【0017】脚部ユニット3A乃至3Dそれぞれの関節部分や、脚部ユニット3A乃至3Dそれぞれと胴体部ユニット2の連結部分、頭部ユニット4と胴体部ユニット2の連結部分、頭部ユニット4と下顎部4Aの連結部分、並びに尻尾部ユニット5と胴体部ユニット2の連結部分などには、図2に示すように、それぞれアクチュエータ3AA1乃至3AAK、3BA1乃至3BAK、3CA1乃至3CAK、3DA1乃至3DAK、4A1乃至4AL、5A1および5A2が配設されている。
【0018】頭部ユニット4におけるマイク15は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、コントローラ10に送出する。CCDカメラ16は、周囲の状況を撮像し、得られた画像信号を、コントローラ10に送出する。
【0019】タッチセンサ17は、例えば、頭部ユニット4の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ10に送出する。
【0020】胴体部ユニット2におけるバッテリセンサ12は、バッテリ11の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ10に送出する。熱センサ13は、ロボット内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ10に送出する。
【0021】コントローラ10は、CPU(Central Processing Unit)10Aやメモリ10B等を内蔵しており、CPU10Aにおいて、メモリ10Bに記憶された制御プログラムが実行されることにより、各種の処理を行う。
【0022】即ち、コントローラ10は、マイク15や、CCDカメラ16、タッチセンサ17、バッテリセンサ12、熱センサ13から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【0023】さらに、コントローラ10は、この判断結果等に基づいて、続く行動を決定し、その決定結果に基づいて、アクチュエータ3AA1乃至3AAK、3BA1乃至3BAK、3CA1乃至3CAK、3DA1乃至3DAK、4A1乃至4AL、5A1、5A2のうちの必要なものを駆動させる。これにより、頭部ユニット4を上下左右に振らせたり、下顎部4Aを開閉させる。さらには、尻尾部ユニット5を動かせたり、各脚部ユニット3A乃至3Dを駆動して、ロボットを歩行させるなどの行動を行わせる。
【0024】また、コントローラ10は、必要に応じて、合成音、あるいは後述するようなエコーバック音声を生成し、スピーカ18に供給して出力させたり、ロボットの「目」の位置に設けられた図示しないLED(Light Emitting Diode)を点灯、消灯または点滅させる。
【0025】以上のようにして、ロボットは、周囲の状況等に基づいて自律的に行動をとるようになっている。
【0026】次に、図3は、図2のコントローラ10の機能的構成例を示している。なお、図3に示す機能的構成は、CPU10Aが、メモリ10Bに記憶された制御プログラムを実行することで実現されるようになっている。
【0027】センサ入力処理部50は、マイク15や、CCDカメラ16、タッチセンサ17等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部51および行動決定機構部52に通知する。
【0028】即ち、センサ入力処理部50は、音声認識部50Aを有しており、音声認識部50Aは、マイク15から与えられる音声信号について音声認識を行う。そして、音声認識部50Aは、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を、状態認識情報として、モデル記憶部51および行動決定機構部52に通知する。
【0029】また、センサ入力処理部50は、画像認識部50Bを有しており、画像認識部50Bは、CCDカメラ16から与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部50Bは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部51および行動決定機構部52に通知する。
【0030】さらに、センサ入力処理部50は、圧力処理部50Cを有しており、圧力処理部50Cは、タッチセンサ17から与えられる圧力検出信号を処理する。そして、圧力処理部50Cは、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「たたかれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「なでられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部51および行動決定機構部52に通知する。
【0031】モデル記憶部51は、ロボットの感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0032】ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0033】モデル記憶部51は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部52に送出する。
【0034】なお、モデル記憶部51には、センサ入力処理部50から状態認識情報が供給される他、行動決定機構部52から、ロボットの現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部51は、同一の状態認識情報が与えられても、行動情報が示すロボットの行動に応じて、異なる状態情報を生成するようになっている。
【0035】即ち、例えば、ロボットが、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値が増加される。
【0036】一方、ロボットが、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値は変化されない。
【0037】このように、モデル記憶部51は、状態認識情報だけでなく、現在または過去のロボットの行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0038】なお、モデル記憶部51は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部51は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0039】行動決定機構部52は、センサ入力処理部50からの状態認識情報や、モデル記憶部51からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部53に送出する。
【0040】即ち、行動決定機構部52は、ロボットがとり得る行動をステート(状態)(state)に対応させた有限オートマトンを、ロボットの行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部50からの状態認識情報や、モデル記憶部51における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0041】ここで、行動決定機構部52は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部52は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部51から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0042】なお、行動決定機構部52は、上述したように、センサ入力処理部50からの状態認識情報だけでなく、モデル記憶部51における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0043】その結果、行動決定機構部52は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいていない」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「お手」という行動をとらせる行動指令情報を生成し、これを、姿勢遷移機構部53に送出する。
【0044】また、行動決定機構部52は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「手のひらをぺろぺろなめる」ような行動を行わせるための行動指令情報を生成し、これを、姿勢遷移機構部53に送出する。
【0045】また、行動決定機構部52は、例えば、状態情報が、「怒っている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、状態情報が、「お腹がすいている」ことを表していても、また、「お腹がすいていない」ことを表していても、「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを、姿勢遷移機構部53に送出する。
【0046】なお、行動決定機構部52には、モデル記憶部51から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部53に送出される。
【0047】また、行動決定機構部52では、上述したように、ロボットの頭部や手足等を動作させる行動指令情報の他、ロボットに発話を行わせる行動指令情報も生成される。ロボットに発話を行わせる行動指令情報は、音声合成部55に供給されるようになっており、音声合成部55に供給される行動指令情報には、音声合成部55に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部55は、行動決定部52から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、出力制御部57を介して、スピーカ18に供給して出力させる。これにより、スピーカ18からは、例えば、ロボットの鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何?」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
【0048】姿勢遷移機構部53は、行動決定機構部52から供給される行動指令情報に基づいて、ロボットの姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部54に送出する。
【0049】ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなロボットの物理的形状と、関節が曲がる方向や角度のようなアクチュエータ3AA1乃至5A1および5A2の機構とによって決定される。
【0050】また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、4本足のロボットは、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、4本足のロボットは、その4本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
【0051】このため、姿勢遷移機構部53は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部52から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を、そのまま姿勢遷移情報として、制御機構部54に送出する。一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部53は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部54に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【0052】制御機構部54は、姿勢遷移機構部53からの姿勢遷移情報にしたがって、アクチュエータ3AA1乃至5A1および5A2を駆動するための制御信号を生成し、これを、アクチュエータ3AA1乃至5A1および5A2に送出する。これにより、アクチュエータ3AA1乃至5A1および5A2は、制御信号にしたがって駆動し、ロボットは、自律的に行動を起こす。
【0053】エコーバック部56は、マイク15から与えられ、音声認識部50Aで音声認識される音声信号から、ユーザの音声が入力されている音声区間(時間)を検出するとともに、検出した時間に応じた、その音声信号を復唱するような音声(以下、適宜、エコーバック音声という)を生成して出力する。このエコーバック音声は、出力制御部57を介して、スピーカ18に供給されて出力される。なお、エコーバック部56が行う処理(エコーバック処理)の詳細は、後述する。
【0054】出力制御部57には、音声合成部55からの合成音のディジタルデータと、エコーバック部56からのエコーバック音声のディジタルデータとが供給されるようになっており、出力制御部57は、それらのディジタルデータを、アナログの音声信号にD/A変換し、スピーカ18に供給して出力させる。また、出力制御部57は、音声合成部55からの合成音と、エコーバック部56からのエコーバック音声の、スピーカ18への出力が競合した場合に、その競合を調整する。即ち、エコーバック部56からのエコーバック音声の出力は、行動決定機構部52の制御にしたがって音声合成部55が行う合成音の出力とは独立に行われるようになっており、このため、エコーバック音声の出力と合成音の出力とは競合する場合がある。そこで、出力制御部57は、その競合の調停を行う。
【0055】次に、図4は、図3の音声認識部50Aの構成例を示している。
【0056】マイク15からの音声信号は、AD(Analog Digital)変換部21に供給される。AD変換部21では、マイク15からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データにA/D変換される。この音声データは、特徴抽出部22および音声区間検出部27に供給される。
【0057】特徴抽出部22は、そこに入力される音声データについて、適当なフレームごとに、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析の結果得られるMFCCを、特徴パラメータ(特徴ベクトル)として、マッチング部23に出力する。なお、特徴抽出部22では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域ごとのパワー(フィルタバンクの出力)等を、特徴パラメータとして抽出することが可能である。
【0058】マッチング部23は、特徴抽出部22からの特徴パラメータを用いて、音響モデル記憶部24、辞書記憶部25、および文法記憶部26を必要に応じて参照しながら、マイク15に入力された音声(入力音声)を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【0059】即ち、音響モデル記憶部24は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、HMM(Hidden Markov Model)が用いられる。辞書記憶部25は、認識対象の各単語について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法記憶部26は、辞書記憶部25の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0060】マッチング部23は、辞書記憶部25の単語辞書を参照することにより、音響モデル記憶部24に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部23は、幾つかの単語モデルを、文法記憶部26に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴パラメータに基づき、連続分布HMM法によって、マイク15に入力された音声を認識する。即ち、マッチング部23は、特徴抽出部22が出力する時系列の特徴パラメータが観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列の音韻情報(読み)を、音声の認識結果として出力する。
【0061】より具体的には、マッチング部23は、接続された単語モデルに対応する単語列について、各特徴パラメータの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列の音韻情報を、音声認識結果として出力する。
【0062】以上のようにして出力される、マイク15に入力された音声の認識結果は、状態認識情報として、モデル記憶部51および行動決定機構部52に出力される。
【0063】なお、音声区間検出部27は、AD変換部21からの音声データについて、特徴抽出部22がMFCC分析を行うのと同様のフレームごとに、例えば、パワーを算出している。さらに、音声区間検出部27は、各フレームのパワーを、所定の閾値と比較し、その閾値以上のパワーを有するフレームで構成される区間を、ユーザの音声が入力されている音声区間として検出する。そして、音声区間検出部27は、検出した音声区間を、特徴抽出部22とマッチング部23に供給しており、特徴抽出部22とマッチング部23は、音声区間のみを対象に処理を行う。
【0064】次に、図5は、図3の音声合成部55の構成例を示している。
【0065】テキスト生成部31には、行動決定機構部52が出力する、音声合成の対象とするテキストを含む行動指令情報が供給されるようになっており、テキスト生成部31は、辞書記憶部34や生成用文法記憶部35を参照しながら、その行動指令情報に含まれるテキストを解析する。
【0066】即ち、辞書記憶部34には、各単語の品詞情報や、読み、アクセント等の情報が記述された単語辞書が記憶されており、また、生成用文法記憶部35には、辞書記憶部34の単語辞書に記述された単語について、単語連鎖に関する制約等の生成用文法規則が記憶されている。そして、テキスト生成部31は、この単語辞書および生成用文法規則に基づいて、そこに入力されるテキストの形態素解析や構文解析等の解析を行い、後段の規則合成部32で行われる規則音声合成に必要な情報を抽出する。ここで、規則音声合成に必要な情報としては、例えば、ポーズの位置や、アクセントおよびイントネーションを制御するための情報その他の韻律情報や、各単語の発音等の音韻情報などがある。
【0067】テキスト生成部31で得られた情報は、規則合成部32に供給され、規則合成部32では、音素片記憶部36を参照しながら、テキスト生成部31に入力されたテキストに対応する合成音の音声データ(ディジタルデータ)が生成される。
【0068】即ち、音素片記憶部36には、例えば、CV(Consonant, Vowel)や、VCV、CVC等の形で音素片データが記憶されており、規則合成部32は、テキスト生成部31からの情報に基づいて、必要な音素片データを接続し、さらに、音素片データの波形を加工することによって、ポーズ、アクセント、イントネーション等を適切に付加し、これにより、テキスト生成部31に入力されたテキストに対応する合成音の音声データを生成する。
【0069】以上のようにして生成された音声データは、出力制御部57(図3)を介して、スピーカ18に供給され、これにより、スピーカ18からは、テキスト生成部31に入力されたテキストに対応する合成音が出力される。
【0070】なお、図3の行動決定機構部52では、上述したように、行動モデルに基づいて、次の行動が決定されるが、合成音として出力するテキストの内容は、ロボットの行動と対応付けておくことが可能である。
【0071】即ち、例えば、ロボットが、座った状態から、立った状態になる行動には、テキスト「よっこいしょ」などを対応付けておくことが可能である。この場合、ロボットが、座っている姿勢から、立つ姿勢に移行するときに、その姿勢の移行に同期して、合成音「よっこいしょ」を出力することが可能となる。
【0072】次に、図6のフローチャートを参照して、図3の出力制御部57の処理(出力制御処理)について説明する。
【0073】出力制御部57は、音声合成部55からの合成音を受信すると、エコーバック部56からエコーバック音声を受信していない限り、音声合成部55からの合成音を、スピーカ18に供給して出力させる。
【0074】そして、出力制御部57は、エコーバック部56からエコーバック音声を受信した場合、図6のフローチャートにしたがった出力制御処理を行う。
【0075】即ち、出力制御部57は、エコーバック部56からエコーバック音声を受信した場合、まず最初に、ステップS1において、音声合成部55から合成音が出力されているかどうかを判定し、出力されていないと判定された場合、ステップS2に進み、エコーバック部56から受信したエコーバック音声を、スピーカ18に供給して出力させ、処理を終了する。
【0076】一方、ステップS1において、音声合成部55から合成音が出力されていると判定された場合、即ち、音声合成部55からの合成音の出力と、エコーバック部56からのエコーバック音声の出力とが競合した場合、ステップS3に進み、出力制御部57は、エコーバック音声の出力を制限し、音声合成部55からの合成音を、スピーカ18に供給して、出力させ、処理を終了する。
【0077】なお、出力制御部57はエコーバック音声の出力中に、音声合成部55から合成音と受信した場合、エコーバック音声の出力を中止し、音声合成部55からの合成音の出力を優先させる。
【0078】以上のように、出力制御部57は、音声合成部55からの合成音の出力と、エコーバック部56からのエコーバック音声の出力とが競合した場合、音声合成部55からの合成音の出力を優先させる。これは、音声合成部55からの合成音の出力が、行動決定機構部52からの行動指令情報に基づくものであり、ロボットの行動であるのに対して、エコーバック音声の出力は、ユーザの発話を復唱するものであることから、音声合成部55からの合成音の方が、エコーバック音声に比較して、ユーザに対する重要度が高いと考えられるためである。
【0079】但し、出力制御部57では、例えば、エコーバック音声の出力を、音声合成部55からの合成音の出力より優先させることも可能であるし、また、例えば、エコーバック音声と、音声合成部55からの合成音のうち、先に受信した方の出力を優先させるようにすること等も可能である。
【0080】次に、図7は、図3のエコーバック部56の構成例を示している。
【0081】マイク15からの音声信号は、AD変換部41に供給される。AD変換部41では、マイク15からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データにA/D変換される。この音声データは、韻律分析部42および音声区間検出部46に供給される。
【0082】韻律分析部42は、そこに入力される音声データを、適当なフレームごとに音響分析することにより、例えば、ピッチ周波数やパワー等といった音声データの韻律情報を抽出する。この韻律情報は、音生成部43に供給される。
【0083】即ち、韻律分析部42は、例えば、人間の一般的なピッチ周期よりも長い32ms等を1フレームとして、AD変換部41からの音声データのピッチ周波数とパワーを、フレーム単位で求める。
【0084】具体的には、韻律分析部42は、第jフレームのパワーP(j)を、次式にしたがって求める。
【0085】
P(j)=Σxi2 ・・・(1)
但し、式(1)において、xiは、第jフレームの先頭からi番目の音声データのサンプル値を表し、Σは、第jフレームの音声データのサンプルすべてについてのサメーションを表す。
【0086】また、韻律分析部42は、第jフレームの音声データのサンプルについて、自己相関値を演算し、その自己相関値を最大にする、0でないずれ量(時間)τを求めて、次式により、第jフレームのピッチ周波数f(j)を演算する。
【0087】
f(j)=1/τ ・・・(2)
【0088】音生成部43は、韻律分析部42からの韻律情報に基づいて、韻律を制御したエコーバック音声を生成する。
【0089】即ち、音生成部43は、例えば、韻律分析部42からの韻律情報と同一の韻律を有する、音韻のない音声(以下、適宜、無音韻音声という)を、サイン(sin)波を重畳することにより生成し、エコーバック音声として、出力部44に供給する。
【0090】なお、韻律情報としての、例えば、ピッチ周波数とパワーから音声データを生成する方法については、例えば、鈴木、石井、竹内、「非分節音による反響的な模倣とその心理的影響」、情報処理学会論文誌、vol.41,No.5,pp1328-1337,May,2000や、特開2000-181896号公報等に、その一例が記載されている。
【0091】出力部44は、音生成部43からのエコーバック音声のデータを、メモリ45に記憶させるとともに、出力制御部57(図3)に出力する。
【0092】音声区間検出部46は、AD変換部41からの音声データについて、図4の音声区間検出部27における場合と同様の処理を行うことにより、音声区間を検出し、韻律分析部42と音生成部43に供給する。これにより、韻律分析部42と音生成部43では、音声区間のみを対象に処理が行われる。
【0093】なお、図7のAD変換部41または音声区間検出部46と、図4のAD変換部21または音声区間検出部27とは、それぞれ兼用することが可能である。
【0094】以上のように構成されるエコーバック部56では、例えば、図8のフローチャートにしたがったエコーバック処理が行われる。
【0095】即ち、まず最初に、ステップS11において、音声区間検出部46が、AD変換部41の出力に基づいて、音声区間であるかどうかを判定し、音声区間でないと判定した場合、処理を終了し、再度、ステップS11からの処理を再開する。
【0096】ステップS11で、音声区間であると判定された場合、ステップS12に進み、音声区間検出部46は、音声区間の長さ、すなわち、ユーザの音声が入力されている時間が、所定の時間としての、例えば2秒以下であるか否かを判定し、2秒以下であると判定した場合、ステップS13に進む。
【0097】ステップS13において、韻律分析部42は、AD変換部41の出力、即ち、マイク15に入力されたユーザの音声の全部(音声区間の全部)を音響分析し、その結果得られた韻律情報を、音生成部43に供給する。
【0098】一方、ステップS12で、音声区間の長さが、2秒以下でないと判定された場合、即ち、ユーザの発話時間が2秒より長い場合、ステップS14に進み、韻律分析部42は、AD変換部41の出力、すなわち、マイク15に入力されたユーザの音声の一部(例えば、音声区間のはじめから500msec分の音声)を音響分析し、その結果得られた韻律情報を、音生成部43に供給する。
【0099】ステップS13またはステップS14で、韻律情報が音生成部43に供給された後は、ステップS15に進み、音生成部43は、韻律分析部42から供給された韻律情報と同一の韻律を有する無音韻音声を生成し、エコーバック音声として、出力部44に供給する。
【0100】出力部44は、ステップS16において、音生成部43からのエコーバック音声のデータを、メモリ45に記憶させた後、ステップS17に進み、そのエコーバック音声を、出力制御部57(図3)に出力して、処理を終了する。
【0101】これにより、エコーバック音声は、出力制御部57を介して、スピーカ18に供給されて出力される。
【0102】従って、この場合、スピーカ18からは、ユーザが発した音声から、その音韻を無くしたものが、エコーバック音声として出力される。
【0103】このエコーバック音声は、音声認識部50Aにおいて音声認識の対象とされるユーザの音声を復唱するようなものであり、このようなエコーバック音声が出力される結果、ユーザは、それを聴くことにより、ロボットにおいて、自身の音声が受け付けられたことを認識することができる。従って、ロボットが、ユーザからの音声に対する応答として、何の行動も起こさない場合(音声認識部50Aにおいて、ユーザの音声が正しく認識されている場合と、誤って認識されている場合の両方を含む)であっても、ユーザにおいて、ロボットが故障しているといったような勘違いをすること等を防止することができる。
【0104】また、以上のように、ユーザの音声が所定の時間以上継続する場合(ユーザが所定の時間以上の発話を行った場合)、その音声の全部を復唱せず、その一部だけを復唱するようにして、あたかもユーザの発話に対して相づちを打っているかのようにしたので、ユーザは、違和感を感じることなく、ロボットへの話しかけを続けることができる。
【0105】さらに、エコーバック音声は、ユーザが発した音声そのものではなく、その音声の音韻をなくしたものであるため、ユーザには、ロボットが、ユーザの音声を理解し、自身の声で復唱しているかのように聞こえる。従って、ロボットにおいて、ユーザの音声を、単に録音して再生しているのではなく、理解しているかのような印象を、ユーザに与えることができる。
【0106】なお、ここでは、音生成部43において、サイン波を重畳することによって、エコーバック音声を生成するようにしたが、その他、例えば、エコーバック音声は、ロボットの鳴き声となるような複雑な波形を用意しておき、その波形をつなぎ合わせることによって生成することが可能である。
【0107】さらに、エコーバック音声としては、例えば、ユーザの音声を構成する音素を認識し、その音素列によって構成される音韻を有するようなものを生成することが可能である。また、エコーバック音声は、例えば、ユーザの音声について、ケプストラム係数を得て、そのケプストラム係数をタップ係数とするディジタルフィルタによって生成すること等も可能である。但し、エコーバック音声が、ユーザの音声に似過ぎると、ロボットにおいて、ユーザの音声を、単に録音して再生しているかのような、いわば興ざめした印象を、ユーザに与えかねないので、エコーバック音声は、ユーザの音声に、あまり似たものにしない方が望ましい。
【0108】また、上述の場合には、音生成部43において、ユーザの音声の韻律と同一の韻律を有するエコーバック音声を生成するようにしたが、音生成部43には、ユーザの音声の韻律に加工を加えた韻律を有するエコーバック音声を生成させることも可能である。
【0109】即ち、例えば、上述したようにして、韻律分析部42において、第jフレームのパワーP(j)とピッチ周波数f(j)が求められる場合には、音生成部43では、そのパワーP(j)とピッチ周波数f(j)を用い、例えば、次式にしたがって、エコーバック音声y(t)を生成することができる。
【0110】
y(t)=log(P(j))sin(2πNf(j)t)
・・・(3)
但し、式(3)において、Nは、正の整数である。
【0111】式(3)によれば、第jフレームの音声に対して、そのパワーP(j)を対数によって非線形にし、かつ、ピッチ周波数f(j)をN倍にしたエコーバック音声y(t)が生成される。
【0112】なお、経験的には、Nを、例えば6等とした場合に、鳴き声らしく、かつ聞きやすいエコーバック音声が得られる。
【0113】また、上述の場合においては、ユーザの音声の音声区間が2秒より大のときには、500msのエコーバック音声が出力され、2秒以下のときには、ユーザの音声の音声区間と同一の時間長のエコーバック音声が出力されることとなるが、ユーザの音声の音声区間が2秒以下のときには、その音声区間と同一の時間長ではなく、異なる時間長のエコーバック音声を出力することが可能である。
【0114】即ち、例えば、式(3)にしたがって、エコーバック音声を生成する場合においては、パワーP(j)やピッチ周波数f(j)を補間または間引きすること等によって、ユーザの音声の音声区間よりも長いまたは短い時間長のエコーバック音声を生成するようにすることが可能である。
【0115】なお、ユーザの音声の音声区間が2秒程度以下の短い時間である場合、経験的には、エコーバック音声は、ユーザの音声の音声区間の、例えば、3/2倍等の、長めの時間長にする方が、ユーザに自然な感じを与えるものとなる。
【0116】また、以上においては、エコーバック音声が出力される場合を例として説明したが、エコーバック音声に替えて、音声合成部55から、合成音を出力させるようにすることもできる。なお、この場合、行動決定機構部52は、センサ入力処理部50の音声認識部50Aにより検出された音声区間の長さに応じた発話をロボットにさせるための行動指令情報を生成し、音声合成部55に供給する。
【0117】以上、本発明を、エンターテイメント用のロボット(疑似ペットとしてのロボット)に適用した場合について説明したが、本発明は、これに限らず、例えば、産業用のロボット等の各種のロボットに広く適用することが可能である。また、本発明は、現実世界のロボットだけでなく、例えば、液晶ディスプレイ等の表示装置に表示される仮想的なロボットにも適用可能である。
【0118】さらに、本実施の形態においては、上述した一連の処理を、CPU10Aにプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウェアによって行うことも可能である。
【0119】なお、プログラムは、あらかじめメモリ10B(図2)に記憶させておく他、フロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウエアとして提供し、ロボット(メモリ10B)にインストールするようにすることができる。
【0120】また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、有線で転送し、メモリ10Bにインストールすることができる。
【0121】この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ10Bに、容易にインストールすることができる。
【0122】ここで、本明細書において、CPU10Aに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0123】また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0124】
【発明の効果】本発明のロボット制御装置およびロボット制御方法、並びにプログラムによれば、音声認識されるユーザの音声の音声区間を検出し、音声区間の長さに応じた音声データを生成し、生成された音声データの出力を制御するようにしたので、ユーザは、違和感なく、ロボットに話しかけることができる。




 

 


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

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


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