〔実施形態1〕
図1〜図4を参照して、本発明に係る実施形態1について以下に説明する。なお、ここでは、本発明に係るロボット1の形状が人間の身体のような外観を有する場合(すなわち、人間型ロボット)を例に挙げて説明する。すなわち、ロボット1は、頭、腕、手、および足などの可動部をそれぞれ個別に動かすことにより、ユーザに対して1または複数の姿勢(ポーズ)の変更およびジェスチャ(コミュニケーション動作)などを行うことが可能である。なお、ロボット1の形状は、人間型に限定されず、猫型および犬型などの動物型であってもよいし、昆虫型、蜘蛛型、ムカデ型、およびヘビ型、などであってもよい。
(ロボット1の外部構成)
まず、本実施形態に係るロボット1の外観について、図2を用いて説明する。
図2の(a)は、本実施形態に係るロボット1の外観の一例を示す正面図である。図示のように、ロボット1は、頭部2(可動部)、体幹部3、右腕部4(可動部)、左腕部5(可動部)、右脚部6(可動部)、および左脚部7(可動部)を備えている。なお、ロボット1の頭部2における顔に相当する側、および体幹部3における腹に相当する側の面を「正面」と呼び、頭部2における後頭部に相当する側、および体幹部3における背中に相当する側の面を「背面」と呼ぶことにする。
頭部2には、音声入力部20(取得部)と、LED(Light Emitting Diode)22と、スピーカ23とが設けられている。LED22は、ロボット1の両目の周囲に設けられている。音声入力部20およびLED22については、ロボットの耳および目にそれぞれ対応して、左右一対ずつ設けられている。
右腕部4は、右上腕部41、右前腕部42、および右手部43によって構成されている。右腕部4における一端(付け根側)から他端(先端側)に向けて、右上腕部41、右前腕部42、および右手部43がこの順番で配置されている。右腕部4の一端が、体幹部3における右肩側に相当する場所に接続されている。左腕部5は、左上腕部51、左前腕部52、および左手部53によって構成されている。左腕部5における一端(付け根側)から他端(先端側)に向いて、左上腕部51、左前腕部52、および左手部53がこの順番で配置されている。左腕部5の一端が、体幹部3における左肩側に相当する場所に接続されている。
右脚部6は、右腿部61および右足部62によって構成されている。右腿部61の一端(付け根側)が体幹部3の腰側に相当する場所に接続されており、右腿部61の他端(先端側)に右足部62が接続されている。左脚部7は、左腿部71および左足部72によって構成されている。左腿部71の一端(付け根側)が体幹部3の腰側に相当する場所に接続されており、左上腕部51の他端(先端側)に左足部72が接続されている。
ユーザの指示(外部からの所定の指示)の入力を受け付ける手段としては、音声に限定されず、キーボード、タッチパネル、または赤外線などの受光部、であってもよい。
(ロボット1の骨格構成)
図2の(b)は、本実施形態に係るロボット1の骨格構成を示す図である。この図に示すように、ロボット1は、図1に示す各部材に加えて、さらに、駆動部40(図1参照)としての首ロール11a、首ピッチ11b、首ヨー11c、右肩ピッチ12、左肩ピッチ13、右肘ロール14、左肘ロール15、右股ピッチ16、左股ピッチ17、右足首ピッチ18b、右足首ロール18a、左足首ピッチ19b、および左足首ロール19aを備えている。首ロール11a〜左足首ロール19aは、本実施形態ではいずれもサーボモータであり、図2の(b)に示すように各関節部分に設けられていてもよい。首ロール11aという文言は、このサーボモータがロール方向に可動部を回転移動させることができることを意図している。首ピッチ11b等のその他の部材についてもこれに準ずる。
後述する制御部10(図1参照)から各駆動部40に指示することより、当該駆動部40を指定の角度へ回転させる、またはトルクのオン/オフを切り換えるといった制御がなされる。これにより、ロボット1は、姿勢の変更または歩行等の動作が可能となる。以下では、駆動部40のうち、角度の調整が可能なものについて、特に関節部と記す。
首ロール11a、首ピッチ11b、および首ヨー11cは、ロボット1における首に相当する場所に配置されている。制御部10は、これらを制御することによって、ロボット1における頭部2の動きを制御することができる。
右肩ピッチ12は、ロボット1における右肩に相当する場所に配置されている。制御部10は、これを制御することによって、ロボット1における右腕部4全体の動きを制御することができる。左肩ピッチ13は、ロボット1における左肩に配置されている。制御部10は、これを制御することによって、ロボット1における左腕部5全体の動きを制御することができる。
右肘ロール14は、ロボット1における右肘に相当する場所に配置されている。制御部10は、これを制御することによって、ロボット1における右前腕部42および右手部43の動きを制御することができる。左肘ロール15は、ロボット1における左肘に相当する場所に配置されている。制御部10は、これを制御することによって、ロボット1における左前腕部52および左手部53の動きを制御することができる。
右股ピッチ16は、ロボット1における右股に相当する場所に配置されている。制御部10は、これを制御することによって、ロボット1における右脚部6全体の動きを制御することができる。左股ピッチ17は、ロボット1における左股に相当する場所に配置されている。制御部10は、これを制御することによって、ロボット1における左脚部7全体の動きを制御することができる。
右足首ピッチ18bおよび右足首ロール18aは、ロボット1における右足首に相当する場所に配置されている。制御部10は、これらを制御することによって、ロボット1における右足部62の動きを制御することができる。左足首ピッチ19bおよび左足首ロール19aは、ロボット1における左足首に相当する場所に配置されている。制御部10は、これらを制御することによって、ロボット1における左足部72の動きを制御することができる。
以上のように、ロボット1には、1つの可動部に対して、これを駆動するための一つの駆動部40が設けられ得る(例えば右脚部6に対する右股ピッチ16)。または、1つの可動部に対して、これを駆動するための複数の駆動部40が設けられ得る(例えば頭部2に対する首ロール11a、首ピッチ11b、および首ヨー11c)。
各駆動部40は、制御部10に対し、角度などのステータスを所定の間隔で通知することが可能である。ステータスの通知は、サーボモータのトルクがオフである場合でも行われる。これによりロボット1は、ユーザによる可動部の動作を検出することができる。制御部10は、ステータスの通知を受けることで、サーボモータの角度を認識することができる。
なお、図2に示すロボット1は体幹部3に可動部を有さない例を挙げて説明したが、ロボット1を、体幹部3の腰の部分が左右に回転可能なように構成してもよい。また、頭部2の口に相当する部分に顎状の部材(図示せず)を設け、スピーカ23からの音声に合わせて顎状の部材を可動に構成してもよい。また、LED22に瞼状の部材(図示せず)を設けて、瞼状の部材がまばたきをしているような動きが可能なように構成してもよい。これらの場合、体幹部3および頭部2も可動部であり得る。また、各可動部が図2に示す例とは異なる態様で動くように構成してもよい。例えば、右腕部4、左腕部5、右脚部6、および左脚部7が回転したり屈伸したりする以外に、伸縮するように構成してもよい。
(ロボット1の構成)
続いて、ロボット1の構成について図1を用いて説明する。図1は、ロボット1の構成を示すブロック図である。ロボット1は、複数の可動部を備えている。ロボット1は、例えば、ポケットおよびかばんなどに収納された場合、該ポケットおよびかばんの外に出ている部分に属する可動部(一部の可動部)と、該ポケットおよびかばんの中に収納される部分に属する可動部(残りの可動部)との制御を異ならせることができる。
図1に示すように、ロボット1は、制御部10、音声入力部20、記憶部30、および駆動部40を備える。駆動部40については、図2の(b)を参照して上述した通りである。
制御部10は、ロボット1の動作および処理を統括的に制御するものである。制御部10の具体的な構成については後述する。音声入力部20(取得部)は、ユーザが制御部10に対して入力する音声を取得するための機器である。本実施形態では、音声入力部20はマイクである。記憶部30は、制御部10が処理を行うための各種情報を記憶する記憶媒体である。記憶部30の具体例としては、ハードディスクまたはフラッシュメモリなどが挙げられる。記憶部30は、コミュニケーションモード(特定のモード)毎にロボット1のどの関節部のトルクをオフにするかを規定するコミュニケーションテーブル31などを格納している。コミュニケーションテーブル31については、後に具体例を挙げて説明する。また、記憶部30は、コミュニケーションテーブル31の他に、ユーザからの音声による指示がロボット1に入力された場合に、ロボット1が該音声指示を解釈するために参照する音声テーブル(図示せず)などを格納している。
ここで、「コミュニケーションモード」とは、複数の可動部のうち特定のコミュニケーション用の一部の可動部への力(駆動力)の伝達が許可された一部の駆動部40が予め設定されたモードである。コミュニケーションモードのとき、ロボット1は、すべての駆動部40のうち、当該コミュニケーションモードに設定された一部の駆動部40から一部の可動部への力の伝達を許可する(トルクをオン)と共に、残りの駆動部40から残りの可動部への力の伝達を停止(トルクをオフ)する。これによりロボット1は、一部の可動部のみを駆動させて1または複数のジェスチャを行う。すなわち、コミュニケーションモードは、動作制限付きのジェスチャを行うモードである。ロボット1は、コミュニケーションモードの他に、対応する可動部への力の伝達をすべての駆動部40において許可して(すなわち、すべての駆動部40の駆動に制限を設けない)ジェスチャを行うモードである「通常モード」を備えていてもよい。ロボット1は、さらに、対応する可動部への力の伝達をすべての駆動部40において停止して(すなわち、すべての駆動部40の駆動に制限を設ける)、可動部を動かすことによるジェスチャのすべてを行わないモードである「動作停止モード」を備えていてもよい。
(制御部10の構成)
制御部10は、音声認識部101、モード制御部102、駆動制御部103、および機能実行部104を備える。
音声認識部101は、音声入力部20へ入力された音声(外部からの所定の指示)を認識(解釈)する。音声認識部101は、入力された音声が、記憶部30の音声テーブル32に含まれる所定の音声であるか否かを判定する。例えば、音声入力部20から入力された音声が、コミュニケーションモードの開始を指示する音声であるとする。この場合、音声認識部101は、記憶部30の音声テーブル32を参照して、ロボット1の、音声による指示に対応するモードであるコミュニケーションモードの開始を指示されたことを認識する。音声認識部101は、この認識に基づいて、コミュニケーションモードの開始の指示をモード制御部102に出力する。
モード制御部102は、音声認識部101からの指示に従い、ロボット1のモードを変更する。また、モード制御部102は、モードを変更した旨を示す情報を駆動制御部103および機能実行部104に出力する。
駆動制御部103は、コミュニケーションテーブル31を参照して、モード制御部102によって変更されたコミュニケーションモード毎に設定された一部の駆動部40から、対応する一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止する。
機能実行部104は、モード制御部102によって変更されたモード毎に規定されている、ロボット1に備えられた各種機能を実行させる。なお、ロボット1は音声通話機能およびスケジュール管理機能などの各種機能(例えば、スマートフォンなどの携帯端末が備えている機能)を備えていてもよい。
なお、本実施形態に係るロボット1は、CPUである制御部10と記憶部30とを備えるコンピュータが組み込まれていてもよい。
(ロボット1による処理の流れ)
ここでは、ユーザからの音声指示に従って、ロボット1がモードを通常モードからコミュニケーションモードに切り替えた場合に、駆動部40を制御する処理の流れについて図3を用いて説明する。図3は、ロボット1のモードを切り替える処理の流れの一例を示すフローチャートである。
音声入力部20に、コミュニケーションモードの呼び出しを指示するユーザからの指示が入力された場合、例えば、ユーザがロボット1に対して発した「コミュニケーションモード」という音声が音声入力部20に入力された場合、音声認識部101は、音声テーブル32を参照して、この「コミュニケーションモード」という音声がコミュニケーションモードに移行するためのキーワードであることを認識する(S101にてYES)。
そして、音声認識部101からのコミュニケーションモードの開始の指示を受信したモード制御部102は、ロボット1のモードを、上記指示に対応するモードであるコミュニケーションモードへと移行(変更)する(S102、モード切り替え工程)。ここで、モードを通常モードからコミュニケーションモードへとの変更するように指示する音声指示の例としては、上述の「コミュニケーションモード」という音声であってもよいし、ロボット1の名前として予めユーザによって登録された名前などであってもよい。なお、コミュニケーションモードの呼び出しを指示するユーザからの指示が入力されるまでは、ロボット1は通常モードで動作し続ける。
次に、駆動制御部103は、記憶部30に記憶しているコミュニケーションテーブル31を参照して、ロボット1の状況および姿勢に応じて、各コミュニケーションモードについて予め設定された一部の駆動部40から、対応する一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止する。すなわち、コミュニケーションテーブル31に設定されている一部の駆動部40を脱力させて、駆動させないように制御する(S103、制御工程)。具体的には、駆動部として関節部を構成するサーボモータのうち所定のサーボモータのトルクをオフにする。そして、駆動制御部103は、ロボット1の状況および姿勢に応じて、一部の駆動部40のみを動作させることにより、適切なジェスチャを行う(ジェスチャ実行工程)。すなわち、このS103は、ジェスチャ実行工程とも表現され得る。このように、ロボット1は、コミュニケーションモードのとき、すべての駆動部40のうちコミュニケーションモードに設定された一部の駆動部40から一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止する。これによりロボット1は、安全性を確保しつつ、適切なジェスチャを行うことができる。
次に、機能実行部104は、モード制御部102が通常モードからコミュニケーションモードへとモードを変更したことに応じて、ロボット1の各種機能の動作を実行させる(S104、制御工程)。なお、S103およびS104の処理の順番はこれに限定されず、例えば、逆であってもよい。
音声入力部20から、コミュニケーションモードの終了を指示するユーザからの音声が入力された場合、例えば、ユーザがロボット1に対して発した「コミュニケーションモード終了」という音声が音声入力部20に入力された場合、音声認識部101は、音声テーブル32を参照して、この「コミュニケーションモード終了」という音声がコミュニケーションモードから通常モードへ移行するためのキーワードであることを認識する(S105にてYES)。
そして、音声認識部101からのコミュニケーションモードの終了の指示を受信したモード制御部102は、ロボット1のモードを通常モードへと変更(コミュニケーションモードを終了)する(S106)。このとき駆動制御部103は、S103において脱力させた駆動部40が駆動可能な状態に回復させる。具体的には、駆動部40として関節部を構成するサーボモータのうちトルクをオフにしていた所定のサーボモータのトルクをオンにする。なお、コミュニケーションモードの終了を指示するユーザからの指示が入力されるまでは、ロボット1はコミュニケーションモードで動作し続ける。
ロボット1は、コミュニケーションモードを有していることにより、コミュニケーションモードに設定された一部の駆動部40から一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止することができる。例えば、収納されている部位に含まれる駆動部40は、駆動させることが困難または駆動させることができない。そこで、ロボット1は、収納されている部位の駆動のみを停止し、収納されていない部位の駆動は可能とする。この構成によれば、例えば、ロボット1がポケットに収納されている状態であっても、収納されていない部位の駆動部40のみを駆動させることにより、1または複数のジェスチャを行うことが可能である。一方、収納されている部位の駆動は停止されているので、ロボット1がポケットの中で無理に駆動部40を駆動させることによってポケットが破損したりロボット1が故障したりすることを、防ぐことができる。
なお、上述の例では、ロボット1がポケットおよびかばんなどに収納されている状態におけるコミュニケーションモードの利用について説明したが、これに限定されない。ロボット1は、例えば机の上などで自由に動ける状態であっても、モードをコミュニケーションモードに切り替えてもよい。モードをコミュニケーションモードに切り替えて、あえて動作に制限を加えることには、例えば、下記の(1)および(2)の利点がある。
(1)ロボット1がモードをコミュニケーションモードに切り替えることにより、制御すべきサーボモータの数が減るため、ロボット1の電池消費量を抑えることができる。通常モードにおいても、電池消費量を低減させるために、ロボット1がジェスチャを行うための動作を制限する(減らす)ことも可能ではある。しかし、ロボット1がモードをコミュニケーションモードに切り替えることにより、駆動させるサーボモータの数を減らすことが可能である。それゆえ、電池消費量をさらに低減させることができ、ロボット1は、通常モードよりも動作の制限を効果的に緩和した適切なジェスチャを行うことが可能になる。
(2)仮に、ユーザがロボット1から離れていても、ロボット1が机から落ちて破損したり置かれた場所から移動して紛失したりするおそれがない。通常モードにおいてロボット1は、任意に歩行できる場合、歩行することによって机から落ちて破損したり、ユーザが置いた場所から移動して紛失したりする可能性がある。例えば、ユーザがロボット1を床の上に置いていた場合に、ロボット1がいつの間にかテーブルなどの下に潜り込んでいるかもしれない。そこで、ロボット1は、モードをコミュニケーションモードに切り替えて、脚部6および7の関節の駆動部40からの力の伝達が停止するようにしておくことにより、ロボット1をその場から自由に歩行しないように制御することができる。
(コミュニケーションテーブル31)
次に、ロボット1がコミュニケーションモード毎にロボット1のどの関節部のトルクをオフにするかを規定するコミュニケーションテーブル31について、図4を用いて説明する。図4の(a)は、コミュニケーションモード毎にロボットのどの関節部のトルクをオフにするかを規定するコミュニケーションテーブルの例である。図4の(b)は、図4の(a)に示すポケットモードを選択し得るロボット1の状態の例を示す図であり、図4の(c)は、図4の(a)に示すかばんモードを選択し得るロボット1の状態の例を示す図である。
ここでは、ロボット1が、「ポケットモード」および「かばんモード」などの複数のコミュニケーションモードを備えている場合を例に挙げて説明するが、これに限定されない。ロボット1が備えるコミュニケーションモードの数は、1つであってもよいし、3つ以上であってもよい。
複数のコミュニケーションモードを備えている場合、ロボット1は、どのコミュニケーションモードを利用するかを指定する種別指定指示の入力をユーザから受け付けて、該種別指定指示に応じて、コミュニケーションモードの種別を切り替えるようにしてもよい。
例えば、ユーザからの音声「ポケット」が音声入力部20から入力された場合、音声認識部101は音声テーブル32を参照して、該音声が、コミュニケーションモードを「ポケットモード」に切り替える(移行する)ように指示する音声であることを認識する。音声認識部101は、この認識に基づいて、ポケットモードの開始の指示をモード制御部102に出力する。同様に、ユーザからの音声「かばん」が音声入力部20から入力された場合には、音声認識部101は音声テーブル32を参照して、該音声が、コミュニケーションモードを「かばんモード」に切り替えるように指示する音声であることを認識する。音声認識部101は、この認識に基づいて、かばんモードの開始の指示をモード制御部102に出力する。モード制御部102は、音声認識部101からの指示に従って、ロボット1のモードをポケットモードへと変更し、駆動制御部103はコミュニケーションテーブル31を参照して各モードに対応した動作の制御を開始する。同様に機能実行部104は、各モードに対応した機能を実行する。
例えば、図4の(b)に示すようにロボット1がポケットに収納されている場合には、ロボット1の腕部4および5、および脚部6および7の関節部を無理に駆動させると、ロボット1がポケットから飛び出たり、関節部に故障が発生したり、または、ポケットを破損させたりしてしまう。それゆえ、図4の(b)に示すような状態のロボット1がジェスチャを行うためには、腕部4および5、および脚部6および7の関節部は動かさずに、顔の向きを変更したり、首を縦横に振るように頭部2を動かしたりすればよい。これにより、1または複数の適切なジェスチャを行うことができる。
また、図4の(c)に示すように、ロボット1がかばんの脇に収納された場合には、脚部6および7の関節部を無理に駆動させると、ロボット1がポケットから飛び出たり、関節部に故障が発生したりしてしまう。それゆえ、図4の(c)に示すような状態のロボット1が、現在の状況に適した、安全なジェスチャを行うためには、脚部6および7の関節部は動かさずに、頭部を動かしたり、腕部4および5の関節部を動かしたりすればよい。
具体的には、駆動制御部103は、図4の(a)に示すコミュニケーションテーブル31を参照して、ポケットモードにおいては、ロボット1の「首ロール、ピッチ、ヨー以外」のサーボモータのトルクをオフにする。すなわち、駆動制御部103は、ロボット1がポケット(収納場所)に部分的に収納されているとき、複数の可動部のうちポケットの外に露出している一部の可動部(頭部2)を駆動するための一部の駆動部(首ロール11a、首ピッチ11b、首ヨー11c)から一部の可動部(頭部2)への力の伝達を許可する(トルクオン)。駆動制御部103は、さらに、ポケットの中に収納されている残りの可動部(右腕部4、腕部5、右脚部6、左脚部7)を駆動するための残りの駆動部40(右肩ピッチ12、左肩ピッチ13等)から残りの可動部(右腕部4、腕部5、右脚部6、左脚部7)への上記力の伝達を停止する(トルクオフ)。
また、駆動制御部103は、図4の(a)に示すコミュニケーションテーブル31を参照して、かばんモードにおいては、ロボット1の「両股ピッチ、両足首ピッチ」のサーボモータのトルクをオフにする。すなわち、駆動制御部103は、ロボット1がかばん(収納場所)に部分的に収納されているとき、複数の可動部のうちかばんの外に露出している一部の可動部(頭部2、右腕部4、左腕部5)を駆動するための一部の駆動部(首ロール11a、首ピッチ11b、首ヨー11c、右肩ピッチ12、左肩ピッチ13等)から一部の可動部(頭部2、右腕部4、左腕部5等)への力の伝達を許可する(トルクオン)。駆動制御部103は、さらに、かばんの中に収納されている残りの可動部(右脚部6、左脚部7)を駆動するための残りの駆動部40(右股ピッチ16、左股ピッチ17等)から残りの可動部(右脚部6、左脚部7)への上記力の伝達を停止する(トルクオフ)。
なお、ロボット1が備えるコミュニケーションモードが1つであれば、ロボット1は図4の(a)に示すようなコミュニケーションテーブルを備えていなくてもよい。この場合、ロボット1は、特定のジェスチャを行うために予め定められた一部の可動部のトルクをオフにして動かさない(脱力させる)構成であってもよい。また、トルクをかけることによって、予め定められた部位の動作を停止させる構成であってもよい。
(ロボット1の動作を伴う音声通話機能とコミュニケーションモードとの併用)
ロボット1が、スマートフォンなどの携帯端末が備えるような音声通話機能を備えている場合、音声通話機能が駆動部40の駆動を伴わない機能であれば、ロボット1のモードがコミュニケーションモードであっても通常モードと同じように音声通話機能を実行することができる。しかし、音声通話機能が駆動部40の駆動を伴う機能であれば、通常モードでは駆動させることができた駆動部40を、コミュニケーションモードでは駆動させることができない可能性がある。
例えば、音声通話機能において着信をユーザに報知する手段として、ロボット1が右腕部4を挙げる(挙手する)動作を利用することが考えられる。この場合、ロボット1が通常モードで動作している場合には駆動部40を予め定められているように動作させることができる。しかし、ロボット1が図4の(b)に示すようなポケットモードで動作している場合には、前述のような挙手による着信の通知を行うことができない。それゆえ、コミュニケーションテーブル31のポケットモードで動作しているロボット1は、着信を検知しても、右腕部4を挙げる動作を行うことができない。
このような場合には、コミュニケーションモード時に検知した着信をユーザに報知するために、頭部2を振ったり回転させたりする動作、体幹部3の振動、および頭部2に設けられたライト(照明部材、図示せず)の点滅などを、右手を挙げる動作の代替として用いるように、ロボット1に予め設定すればよい。
なお、音声通話機能に伴う駆動部40の駆動に限定されず、スケジュール管理機能、およびユーザとコミュニケーションを取るための感情表現などに用いるジェスチャを行うために駆動部40を駆動させる場合にも、通常モードとコミュニケーションモードとで駆動可能な駆動部40か否かについて、予め動作を定めておけばよい。
〔実施形態2〕
図5〜図8を参照して、本発明に係る実施形態2について以下に説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
(ロボット1aの外部構成)
本発明の他の実施形態に係るロボット1aの外観について、図6を用いて説明する。図6は、本実施形態に係るロボット1aの外観の一例を示す正面図である。図6に示すように、ロボット1aは、頭部2aに画像入力部24(検出部)、体幹部3aに明るさ検知部50(検出部)および障害検知部70(検出部)などを備えている点で、図1に示すロボット1と異なっている。ロボット1aは、周囲の情報および外界からの刺激を画像入力部24、明るさ検知部50、および障害検知部70などを介して取得することにより、自分がどのような状態であるかを認識し、その状態に応じたモードに自律的に切り替えて駆動部40を駆動させることができる。ロボット1aは、画像入力部24、明るさ検知部50、および障害検知部70などの検出結果が、所定の条件を満たす場合、すべての駆動部40のうちコミュニケーションモードに設定された一部の駆動部40から一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止する。すなわち、ロボット1aは、周囲の状況に応じて、自律的に、上記検出結果に対応するモードであるコミュニケーションモードに移行し、動作が許可された一部の可動部を駆動させつつ、それ以外の可動部を停止させることができる。なお、一部の駆動部40から一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止するような、所定の条件については、後に具体例を挙げて説明する。
画像入力部24は、画像を入力するためのものであり、カメラで構成されている。画像入力部24は、例えば、ロボット1aの頭部2aの前面に配置されていてもよい。なお、画像入力部24は、デジタルカメラであってもよいし、周囲の物体およびユーザの動きを撮像することが可能なデジタルビデオであってもよい。
明るさ検知部50は、明るさを検知するためのものであり、例えば、照度センサで構成されている。
障害検知部70は、ロボット1aの周囲に存在する物体を検知するためのものであり、近接センサ、接触センサ、および測距センサなどで構成されている。
なお、図6では、ロボット1が、明るさ検知部50および障害検知部70を体幹部3aにそれぞれ1つずつ備える構成を例示したが、これに限定されない。例えば、ロボット1aは、明るさ検知部50および障害検知部70のうち明るさ検知部50のみを複数備える構成であってもよい。この場合、頭部2a、体幹部3a、腕部4および5(可動部)、ならびに脚部6および7(可動部)のそれぞれに明るさ検知部50が設けられていてもよい。
また、ロボット1aは、図6に示すように、画像入力部24、明るさ検知部50、および障害検知部70のすべてを備える構成であってもよいが、これに限定されない。例えば、ロボット1aは、画像入力部24、明るさ検知部50、および障害検知部70のうち少なくとも1種類を備える構成であってもよい。
図6では、明るさ検知部50および障害検知部70の両方が体幹部3aの前面側に設けられている例を示したが、これに限定されない。ロボット1aの状態を判断するための情報を取得するために好適な位置であれば、明るさ検知部50および障害検知部70は、それぞれ任意の位置に配されていてもよい。すなわち、明るさ検知部50および障害検知部70のうち少なくともいずれか一方を体幹部3aの背面側に設けてもよい。
なお、頭部2aおよび体幹部3aなどに、モードの切り替えのやり直しを指示するための音声指示(外部からの所定の指示)、ボタン押下(外部からの所定の指示)、およびタッチパネルへの操作(外部からの所定の指示)などを受け付ける構成であってもよい。例えば、ロボット1aの状態に応じたモードに自律的に切り替わったときに、そのモードがロボット1aの状態に適していないモードであった場合、ユーザは、「モードやり直し」などの音声を発したり、ボタンおよびタッチパネルなどを操作したりすることにより、ロボット1aにモードの切り替えをやり直させる構成であってもよい。
(ロボット1aの構成)
続いて、ロボット1aの構成について、図5を用いて説明する。図5は、本実施形態に係るロボットの要部構成例を示すブロック図である。ロボット1aは、ロボット1aに対する外界からの刺激、およびロボット1aの状態を検出する画像入力部24、明るさ検知部50、および障害検知部70を備えている。ロボット1aは、検出された結果が所定の条件を満たす場合、ジェスチャを行うために駆動させてもよい一部の駆動部40の部位を判断し、当該一部の駆動部40から一部の可動部への力の伝達を許可すると共に、残りの駆動部40から残りの可動部への力の伝達を停止することができる(コミュニケーションモード)。
ロボット1aの制御部10aは、環境認識部205を備えている。環境認識部205は、前述の画像入力部24、明るさ検知部50、および障害検知部70を介して、ロボット1aの状態を示す情報、および外界からの刺激を取得する。なお、画像入力部24の代替として明るさ検知部50を用いてもよいし、反対に明るさ検知部50の代替として画像入力部24を用いてもよい。
なお、明るさ検知部50からの出力信号が、ロボット1aの体幹部3aの周囲が真っ暗であることを示す場合、環境認識部205は、ロボット1aはカバンおよびポケットなどに収容されていると判断してもよい。環境認識部205は、この判断に基づいて、モード制御部102に対して、すべての駆動部40を停止させるモード(動作停止モード)へと切り替えるよう指示してもよい。
例えば、明るさ検知部50からの出力信号が、ロボット1aの体幹部3aの周囲が真っ暗であることを示す場合であっても、画像入力部24が取得した画像が一定以上の明るさを示していたり、ユーザの顔が画像に含まれていたりする場合、環境認識部205は、ロボット1aはカバンの脇などに収容されていると判断してもよい。環境認識部205は、この判断に基づいて、モード制御部102に対して、通常モードからかばんモード(図4参照)へと変更するよう指示してもよい。
なお、環境認識部205は、上述のロボット1aの状態に限定されず、画像入力部24、明るさ検知部50、および障害検知部70を介して取得される各情報の組み合わせに基づいて多様な状態を認識することができる。
(ロボット1aによる処理の流れ)
次に、ロボット1aが、外界からの刺激および周囲の状態を示す情報を取得して、自律的に、適切なモード(通常モード、コミュニケーションモード、および動作停止モードを含む)へと切り替える処理について、図7および図8を用いて説明する。図7の(a)は、ロボット1aのモードを切り替える処理の流れの一例を示すフローチャートである。図7の(b)は、図7の(a)に示すS201の処理の流れの例を示すフローチャートである。図8の(a)は、図7の(a)に示すS204の処理の流れの例を示すフローチャートである。図8の(b)は、図7の(a)に示すS205の処理の流れの例を示すフローチャートである。なお、前記実施形態にて説明した工程と同様の工程については、同じ符号を付記し、その説明を省略する。
ロボット1aは、周囲の明るさを検知する明るさ検知部50、頭部前方の障害物の有無を検知可能な画像入力部24、および体幹部3a前方の障害物の有無を検知可能な障害検知部70を備えており、検出された結果に応じてモードを自律的に切り替えることができる。
図7の(a)において、他のモードに移行すべき状況を検知した場合(S201にてYESaまたはYESb)、モード制御部102はモードを動作停止モード(S202)またはコミュニケーションモード(S102)に移行する。
動作停止モードに移行した場合(S201にてYESa)、駆動制御部103は、ロボット1aの全身の駆動部40のサーボモータのトルクをオフにする(S203)。なお、動作停止モードに移行したロボット1aは、音声発話やLED22の点灯および点滅などの、駆動部40の動作を用いない、すなわちジェスチャに代わる手段を備えていてもよい。
次に、他のモード(例えば、通常モードおよびコミュニケーションモード)に移行すべき状況を検知した場合(S204にてYES)、モード制御部102は現在モード(動作停止モード)を終了する(S106)。
一方、コミュニケーションモードに移行した場合(S201にてYESb)、駆動制御部103は、例えば図4の(a)に示すようなコミュニケーションテーブル31を参照して、前述の首ロール、ピッチ、ヨー以外の駆動部40のサーボモータのトルクをオフにする(S103、制御工程)。これにより、ロボット1aは首の部分の駆動部40を駆動させることにより適切なジェスチャを行うことができる。
次に、機能実行部104は、モード制御部102が通常モードからコミュニケーションモードへとモードを変更したことに応じて、ロボット1の各種機能の動作を実行させる(S104、制御工程)。
他のモード(例えば、通常モードおよび動作停止モード)に移行すべき状況を検知した場合(S205にてYES)、モード制御部102は現在のモード(コミュニケーションモード)を終了する(S106)。一方、他のモードに移行すべき状況を検知しない場合(S205にてNO)、S104に戻り、コミュニケーションモードでの動作を継続する。
なお、図7には示されていないが、コミュニケーションモードに移行(S102)した後に、前述の動作停止モードに移行することも可能である。この場合、コミュニケーションモードにおいて駆動可能な駆動部40のサーボモータのトルクをオフにすればよい。同様に、動作停止モードに移行(S202)した後に、コミュニケーションモードに移行することも可能である。
(S201の処理の流れ)
ここでは、図7の(a)に示すS201の処理の流れの一具体例について、図7(b)を用いて説明する。
環境認識部205は、まず、明るさ検知部50から明るさを示す情報を取得し、ロボット1aの周囲が予め定められた明るさ(所定の明るさ)より明るいか否かを判定する(S210)。ロボット1aの周囲が所定の明るさより暗い(明るさが所定値以下である)場合(S210にてYES)、ロボット1aはかばんの中などに収納されている状態であり、コミュニケーションモードに移行すべき状況(状態)ではない、と認識し得る。すなわち、ロボット1aが駆動部40を駆動させても、周囲が暗いためユーザはその動きを視認できない、あるいは、ロボット1aはかばんなどの中に全身が収容されていて自在に動くことができない状況である可能性が高いため、駆動部40の駆動を停止させることが望ましい。
そこで、ロボット1aは、周囲の明るさが所定値以下である場合(S210にてYES)、駆動部40を駆動させることによるジェスチャを行うことが困難な状態と判断し、上述のS201のYESaに進む。なお、所定の明るさとしては、ロボット1aの全身がかばんの中に収納されている場合の明るさに設定すればよい。
一方、ロボット1aの周囲の明るさが所定値以下ではない(明るい)場合(S210にてNO)、環境認識部205は、次に、頭部2aの前方に障害物があるか否かの判定を行う(S211)。環境認識部205は、画像入力部24から取得した画像に基づいて(画像解析などを行うことにより)、頭部2aの前方に障害物が存在するか検知(判定)する。ロボット1aの前方に障害物があれば(S211にてYES)、上述のS201のYESaに進む。
一方、頭部2aの前方に障害物がない場合(S211にてNO)、次に、体幹部3aの前方に障害物があるか否かの判定を行う(S212)。環境認識部205は、障害検知部70から取得した情報に基づいて、体幹部3aの前方に障害物が存在するか検知(判定)する。ロボット1aの前方に障害物があれば(S212にてYES)、上述のS201のYESbに進む。ロボット1aの周囲が明るく、ロボット1aの頭部2aの前方に障害物はないものの、体幹部3aの前方には障害物が存在する場合、ロボット1aは、例えば、図4の(b)に示したような状態にあると考えられる。すなわち、頭部2aはポケットの外に出ているものの、体幹部3aの一部および脚部6および7はポケットなどに収納された状態である。そこで、ロボット1aは、コミュニケーションモードに移行する。
(S204の処理の流れ)
次に、図7の(a)に示すS204の処理の流れの具体例について、図8の(a)を用いて説明する。
ロボット1aの周囲の明るさが所定値以下である場合(S220にてYES)、または、ロボット1aの周囲の明るさが所定値より高い場合は、モード制御部102は、ロボット1aの現在のモード(動作停止モード)を終了すべき状況を検知していないと判定する(S204にてNO)。一方、ロボット1aの周囲の明るさが所定値より高く(明るく)(S220にてNO)、かつ、頭部2aの前方に障害物が存在していない場合(S221にてNO)には、モード制御部102は、ロボット1aの現在のモード(動作停止モード)を終了すべき状況を検知したと判定する(S204にてYES)。このように、S204にてYESとなるのは、S201にてYESaとならない条件が成立した場合であり、一方、S204にてNOとなるのは、S201にてYESaとなる条件が成立した場合である。
(S205の処理の流れ)
次に、図7の(a)に示すS205の処理の流れの具体例について、図8の(b)を用いて説明する。
ロボット1aの周囲の明るさが所定値以下である場合(S220にてYES)、モード制御部102は、ロボット1aの現在のモード(コミュニケーションモード)を終了すべき状況を検知したと判定する(S205にてYES)。または、ロボット1aの周囲の明るさが所定値より高く(明るく)(S220にてNO)、かつ、体幹部3aの前方に障害物が存在していない場合(S222にてNO)、モード制御部102は、ロボット1aの現在のモード(コミュニケーションモード)を終了すべき状況を検知したと判定する(S205にてYES)。一方、ロボット1aの周囲の明るさが所定値より高く(明るく)(S220にてNO)、かつ、頭部2aの前方に障害物が存在してなく(S221にてNO)、かつ、体幹部3aの前方に障害物が存在している場合(S222にてYES)には、モード制御部102は、ロボット1aの現在のモード(コミュニケーションモード)を終了すべき状況を検知していないと判定する(S205にてNO)。このように、S205にてYESとなるのは、S201にてYESbとならない条件が成立した場合であり、一方、S205にてNOとなるのは、S201にてYESbとなる条件が成立した場合である。
以上のように、ロボット1aは、外界からの刺激および周囲の環境に基づいて、現在の状況を正確に認識することによって、常に適切なモードを自律的に選択することが可能である。
〔実施形態3〕
ロボット1の制御ブロック(特に音声認識部101、モード制御部102、駆動制御部103、および機能実行部104)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、ロボット1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係るロボット(1、1a)は、複数の可動部(頭部2、2a、右腕部4、左腕部5、右脚部6、左脚部7)と、上記複数の可動部のそれぞれを個別に駆動する1または複数の駆動部(40)とを備え、上記複数の可動部のうち特定のコミュニケーション用の一部の上記可動部への力の伝達が許可された一部の駆動部が予め設定された、1または複数のモードを有し、特定のモードのとき、すべての上記駆動部のうち当該特定のモードに設定された一部の上記駆動部から一部の上記可動部への上記力の伝達を許可すると共に、残りの上記駆動部から残りの上記可動部への上記力の伝達を停止する制御部(10、10a)をさらに備えていることを特徴としている。
上記の構成によれば、ロボットは、特定のモードのとき、一部の可動部を駆動させつつ、それ以外の可動部を停止させることができる。これにより、例えば、ロボットの体幹部の肩の部分から足先までがポケットに収納された状況において、ポケット内に収納された可動部(脚部等)を停止させつつ、収納されない可動部(頭部等)を駆動させることが可能になる。この場合、ユーザには見えない脚部等の可動部は停止するが、頭部等のユーザに見える可動部は駆動する。したがってロボットは、動作するとロボット自体またはポケットを破損させる恐れがある脚部等を停止させつつ、首振り(肯き)等をすることによって、適切なジェスチャを行うことができる。
以上のように、態様1に係るロボットは、安全性を確保しつつ、コミュニケーション用の一部の可動部の動きによる適切なジェスチャを行うことができる。
本発明の態様2に係るロボットは、上記態様1において、外部からの所定の指示を取得する取得部(音声入力部20)をさらに備えており、上記制御部は、上記指示が取得された場合、当該指示に対応する上記モードに移行して、一部の上記駆動部から一部の上記可動部への上記力の伝達を許可すると共に、残りの上記駆動部から残りの上記可動部への上記力の伝達を停止することを特徴としている。
上記の構成によれば、ユーザ等からの指示に応じて、特定のモードに移行し、一部の可動部を駆動させつつ、それ以外の可動部を停止させるロボットを実現することができる。
本発明の態様3に係るロボットは、上記態様1において、ロボットに対する外界からの刺激を検出する検出部(画像入力部24、明るさ検知部50、障害検知部70)をさらに備えており、上記制御部は、上記検出部による検出結果に対応する上記モードに移行して、一部の上記駆動部から一部の上記可動部への上記力の伝達を許可すると共に、残りの上記駆動部から残りの上記可動部への上記力の伝達を停止することを特徴としている。
上記の構成によれば、周囲の状況に応じて、自律的に、特定のモードに移行し、一部の可動部を駆動させつつ、それ以外の可動部を停止させるロボットを実現することができる。
本発明の態様4に係るロボットは、上記態様1〜3のいずれかにおいて、上記制御部は、ロボットが収納場所に部分的に収納されているとき、上記複数の可動部のうち上記収納場所の外に露出している一部の上記可動部を駆動するための一部の上記駆動部から一部の上記可動部への上記力の伝達を許可すると共に、上記収納場所の中に収納されている残りの上記可動部を駆動するための残りの上記駆動部から残りの上記可動部への上記力の伝達を停止することを特徴としている。
上記の構成によれば、ロボットは、ポケット等の収納場所に部分的に収納されている状況において、収納場所内に収納された可動部(脚部等)を停止させつつ、収納場所から露出している一部の駆動部の動作のみを用いて、首振り(肯き)等のジェスチャを行うことができる。
本発明の態様5に係るロボットは、上記態様4において、すべての上記駆動部のそれぞれはサーボモータであり、上記制御部は、上記収納場所の外に露出している一部の上記可動部を駆動するための一部の上記駆動部のトルクをオンし、上記収納場所の中に収納されている残りの上記可動部を駆動するための残りの上記駆動部のトルクをオフにする。
上記の構成によれば、簡易な構成によってロボットを実現することができる。
本発明の態様6に係るロボット1、1aの制御方法は、複数の可動部(頭部2、2a、右腕部4、左腕部5、右脚部6、左脚部7)と、上記複数の可動部のそれぞれを個別に駆動する1または複数の駆動部(40)とを備えたロボットの制御方法であって、上記ロボットは、上記複数の可動部のうち、特定のコミュニケーション用の予め定められた一部の上記可動部を駆動させるための一部の駆動部から当該一部の駆動部への力の伝達の許可が予め設定された、1または複数のモードを有し、特定のモードのとき、すべての上記駆動部のうち、当該特定のモードに設定された上記一部の駆動部から上記一部の可動部への上記力の伝達を許可すると共に、残りの上記駆動部から残りの上記可動部への上記力の伝達を停止する制御工程(S103、S104)を有することを特徴としている。
上記の構成によれば、上記態様1に係るロボットと同様の効果を奏する。
上述したロボットは、コンピュータによって実現してもよく、この場合には、コンピュータを上記ロボットが備える各部として動作させることにより上記ロボットをコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。各実施形態にそれぞれ開示された技術的手段を組み合わせることによって、新しい技術的特徴を形成することもできる。