(57)【特許請求の範囲】
【請求項１】
胴体部と、
前記胴体部を所定の軸周りに回転させる胴体部用アクチュエータと、
前記胴体部に取り付けられ、前記胴体部用アクチュエータの動作により前記胴体部とともに回転する頭部と、
首関節用アクチュエータを有し、前記頭部の顔が所定の方向を向くように、前記頭部を前記胴体部に対して前記所定の軸と平行な軸回りに対して回転させる首関節と、
前記胴体部用アクチュエータ、及び前記首関節用アクチュエータを制御する制御部と、
前記頭部に対して前記所定の軸回りにかかる力を検出するためのセンサと、を備え、
前記頭部の顔が所定の方向を向くように前記首関節用アクチュエータを駆動する際に、前記制御部が、前記センサからの出力値としきい値とを比較して、
前記センサからの出力値が前記しきい値を越えていた場合に、前記頭部の回転方向と同じ回転方向で前記胴体部を回転させるように、前記胴体部用アクチュエータ及び前記首関節用アクチュエータを制御することで、前記センサからの出力値を低減させ、
前記センサからの出力値が前記しきい値を下回った場合に、前記胴体部用アクチュエータが胴体部の前記所定の軸周りの姿勢を維持するように制御するロボット。
【請求項２】
前記センサからの出力値に応じて、前記胴体部用アクチュエータの駆動速度を変化させていることを特徴とする請求項１に記載のロボット。
【請求項３】
前記制御部が、前記頭部を目標方向に追従させるよう、前記首関節用アクチュエータを駆動している請求項１、又は２に記載のロボット。
【請求項４】
前記制御部が、前記頭部に外力が加わった場合に、前記外力を軽減するように、前記胴体部用アクチュエータを駆動している請求項１乃至３のいずれか１項に記載のロボット。
【請求項５】
胴体部と、
前記胴体部を所定の軸周りに回転させる胴体部用アクチュエータと、
前記胴体部に取り付けられ、前記胴体部用アクチュエータの動作により前記胴体部とともに回転する頭部と、
首関節用アクチュエータを有し、前記頭部の顔が所定の方向を向くように、前記頭部を前記胴体部に対して前記所定の軸と平行な軸回りに対して回転させる首関節と、
前記胴体部用アクチュエータ、及び前記首関節用アクチュエータを制御する制御部と、
前記頭部に対して前記所定の軸回りにかかる力を検出するためのセンサと、を備えたロボットの制御方法であって、
前記頭部の顔が所定の方向を向くように前記首関節用アクチュエータを駆動する際に、前記制御部が、前記センサからの出力値としきい値とを比較して、
前記センサからの出力値が前記しきい値を越えていた場合に、前記頭部の回転方向と同じ回転方向で前記胴体部を回転させるように、前記胴体部用アクチュエータ及び前記首関節用アクチュエータを制御することで、前記センサからの出力値を低減させ、
前記センサからの出力値が前記しきい値を下回った場合に、前記胴体部用アクチュエータが胴体部の前記所定の軸周りの姿勢を維持するように制御する、ロボットの制御方法。
【請求項６】
前記センサからの出力値に応じて、前記胴体部用アクチュエータの駆動速度を変化させていることを特徴とする請求項５に記載のロボットの制御方法。
【請求項７】
前記頭部を目標方向に追従させるよう、前記首関節用アクチュエータを駆動している請求項５、又は６に記載のロボットの制御方法。
【請求項８】
前記頭部に外力が加わった場合に、前記外力を軽減するように、前記胴体部用アクチュエータを駆動している請求項５乃至７のいずれか１項に記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、及びロボットの制御方法に関し、特に詳しくは、胴体部を有するロボット、及びその制御方法に関する。
【背景技術】
【０００２】
近年、人間と共生するロボットが開発されている。たとえば、ヒューマノイド型のロボットが開発されている。このようなロボットでは、胴体部に頭部や腕部が取り付けられている。そして、首関節、肩関節等によって、首部や腕部を駆動する（特許文献１）。多関節を有するロボットでは、各関節は個別に制御されている。
【０００３】
【特許文献１】特開２０００−２９６４８４公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
また、人間とコミュニケーションを取るロボットが開発されている。例えば、ロボットの頭部には、コミュニケーション相手の方向を特定するためのカメラやマイクロフォンが設けられている。そして、カメラが目の代わりとなり、コミュニケーション相手となる人の顔を認識する。そして、認識した顔を目標方向とする。頭部を目標方向に向けるように制御する。すなわち、移動する顔に追従するように首関節が回転する。よって、コミュニケーション相手の方向を向くことができる。そして、スピーカなどによって発話して、人間とのコミュニケーションを図る。
【０００５】
しかしながら、従来のロボットでは、各関節が別個に制御されている。従って、顔をある方向に向ける際に、それに伴って胴体部をその方向に向けようとした場合、それぞれの制御が別個に行われてしまう。よって、人間の動作と比べて不自然な動作になってしまう。また、首関節だけでなく、他の関節でも同様に不自然な動作になってしまうことがある。このように、従来のロボットでは、動作が不自然になってしまうという問題点がある。
【０００６】
本発明は、このような問題を解決するためになされたものであり、自然な動作が可能となるロボット、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかるロボットは、胴体部と、前記胴体部を所定の軸周りに回転させるアクチュエータと、前記胴体部に取り付けられた先端部と、前記先端部を前記所定の軸と平行な軸回りに対して回転させる関節と、前記アクチュータ、及び関節を制御する制御部と、前記先端部に対して前記所定の軸回りにかかる力を検出するためのセンサと、を備え、前記制御部が、前記センサからの出力値としきい値とを比較して、前記センサからの出力値が前記しきい値を越えていた場合に、前記センサからの出力値が低減するように、前記アクチュエータを制御するものである。これにより、先端部と胴体部が連携して制御されるため、自然な動作で駆動することができる。
【０００８】
本発明の第２の態様にかかるロボットは、上記のロボットであって、前記センサからの出力値に応じて、前記アクチュエータの駆動速度を変化させていることを特徴とするものである。これにより、胴体部の動作速度を変化させることができ、動作がより自然になる。
【０００９】
本発明の第３の態様にかかるロボットは、上記のロボットであって、前記制御部が、前記先端部を目標方向に追従させるよう、前記関節を駆動しているものである。これにより、目標方向への追従動作を自然に行うことができる。
【００１０】
本発明の第４の態様にかかるロボットは、上記のロボットであって、前記制御部が、前記先端部に外力が加わった場合に、前記外力を軽減するように、前記アクチュエータを駆動しているものである。これにより、自然な動作で外力による衝撃を吸収することができる。
【００１１】
本発明の第５の態様にかかるロボットの制御方法は、胴体部と、前記胴体部を所定の軸周りに回転させるアクチュエータと、前記胴体部に取り付けられた先端部と、前記先端部を前記所定の軸と平行な軸回りに対して回転させる関節と、前記アクチュータ、及び関節を制御する制御部と、前記先端部に対して前記所定の軸回りにかかる力を検出するためのセンサと、を備えたロボットの制御方法であって、前記センサからの出力値としきい値とを比較して、前記センサからの出力値が前記しきい値を越えていた場合に、前記センサからの出力値が低減するように、前記アクチュエータを制御するものである。これにより、先端部と胴体部が連携して制御されるため、自然な動作で駆動することができる。
【００１２】
本発明の第６の態様にかかるロボットの制御方法は、上記の制御方法であって、前記センサからの出力値に応じて、前記アクチュエータの駆動速度を変化させていることを特徴とするものである。これにより、胴体部の動作速度を変化させることができ、動作がより自然になる。
【００１３】
本発明の第７の態様にかかるロボットの制御方法は、上記の制御方法であって、前記先端部を目標方向に追従させるよう、前記関節を駆動しているものである。これにより、目標方向への追従動作を自然に行うことができる。
【００１４】
本発明の第８の態様にかかるロボットの制御方法は、上記の制御方法であって、前記先端部に外力が加わった場合に、前記外力を軽減するように、前記アクチュエータを駆動しているものである。これにより、自然な動作で外力による衝撃を吸収することができる。
【発明の効果】
【００１５】
本発明によれば、自然な動作が可能となるロボット、及びその制御方法を提供することが可能になる。
【発明を実施するための最良の形態】
【００１６】
本実施の形態にかかるロボットは、胴体部と、胴体部を所定の軸周りに回転させるアクチュエータと、胴体部に取り付けられた先端部と、先端部を所定の軸と平行な軸回りに対して回転させる関節と、アクチュータ、及び関節を制御する制御部と、先端部に対して所定の軸回りにかかる力を検出するためのセンサと、を有している。そして、制御部が、センサからの出力値としきい値とを比較して、センサからの出力値がしきい値を越えていた場合に、センサからの出力値が低減するように、アクチュエータを制御している。
【００１７】
発明の実施の形態１．
本実施の形態にかかる電源供給装置を用いたロボットについて図１を用いて説明する。図１はロボット１００の構成を模式的に示す外観図である。本実施の形態では、ロボット１００が、自律移動する移動ロボットとして説明する。ロボット１００は、頭部１と、車輪２と、筐体３と、腕部４と、胴体部６を備えている。
【００１８】
胴体部６の上には、頭部１が設けられている。頭部１は、首関節を介して胴体部６に連結されている。首関節を駆動すると頭部１の向きが変化する。また、胴体部６の両側には、それぞれ腕部４が設けられている。腕部４は、肩関節を介して胴体部６に連結されている。胴体部６の下には、車輪２が設けられている。車輪２を駆動することにより、ロボット１００が移動する。胴体部６は、筐体３を有している。胴体部６には、ロボット１００の中心軸となる体軸が含まれている。
【００１９】
そして、筐体３の内部には、車輪２と接続されたモータ、及びモータを駆動するための電源部などが設けられている。このモータがロボット１００を駆動するためのアクチュエータとなる。モータを駆動することによって、車輪２が回転して、ロボット１００が移動する。また、腕部４には、腕関節４ａが設けられている。腕関節４ａは、モータと接続されている。モータ等によって腕関節４ａを駆動することによって、腕部４の位置、及び姿勢が制御される。さらに、腕部４が駆動することによって、物体の把持などが行なわれる。胴体部、及び頭部１には、人間とコミュニケーションを取るために、カメラ、ＬＥＤ、マイク、スピーカなどが設けられている。
【００２０】
ロボット１００は、画像処理によって顔認識を行う。そして、首関節を駆動して、頭部１をコミュニケーション相手の方向に向ける。すなわち、首関節を駆動することによって顔追従を行う。こうすることで、常時、頭部１が人間の顔の方向を向く。この顔追従動作については、後述する。そして、スピーカを用いて、コミュニケーション相手に対して発話する。
【００２１】
次に、ロボット１００の制御系について図２を用いて説明する。図２は、ロボット１００の制御系を示すブロック図である。ロボット１００は、制御部１０１、入出力部１０２、駆動部１０３、電源部１０４、及び外部記憶部１０５などを有している。
【００２２】
入出力部１０２は、周囲の映像を取得するためのＣＣＤ（Charge Coupled Device）などからなるカメラ１２１、周囲の音を集音するための１又は複数の内部マイク１２２、音声を出力してユーザと対話等を行なうためのスピーカ１２３、ユーザへの応答や感情等を表現するためのＬＥＤ１２４、タッチセンサなどを有するセンサ部１２５などを備える。また、センサ部１２５は、レーザレンジファインダ、トルクセンサ、エンコーダなどの各種センサを有している。
【００２３】
また、駆動部１０３は、モータ１３１及びモータを駆動するドライバ１３２などを有し、ユーザの指示などに従って、首関節、車輪２、腕部４の腕関節４ａを駆動させる。なお、モータ１３１の数は関節の数によって決まる。したがって、ロボット１００には、複数のモータ１３１が設けられている。電源部１０４は、バッテリ１４１及びその放充電を制御するバッテリ制御部１４２を有する電源ユニットであり、各部に電源を供給する。そして、バッテリ１４１からの電源は、制御部１０１、入出力部１０２、モータ１３１、外部記憶部１０５等に供給される。電源部１０４は、例えば、筐体３の内部に設けられている。ロボット１００に内蔵されたバッテリ１４１は二次電池であり、例えば、外部のＡＣ電源と接続することによって充電が行なわれる。
【００２４】
バッテリ１４１としては、例えば、リチウム電池パックを用いることができる。バッテリ制御部１４２は、バッテリ１４１からの電源供給を制御するパワーコントロールユニット（ＰＣＵ）を有している。
【００２５】
外部記憶部１０５は、着脱可能なＨＤＤ、光ディスク、光磁気ディスク等からなり、各種プログラムや制御パラメータなどを記憶し、そのプログラムやデータを必要に応じて制御部１０１内のメモリ（不図示）等に供給する。
【００２６】
制御部１０１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、無線通信用のインターフェースなどを有し、ロボット１の各種動作を制御する。そして、この制御部１０１は、例えばＲＯＭに格納された制御プログラムに従ってロボット１００の各部を制御する。制御部１０１は、ドライバ１３２に駆動信号を出力して、モータ１３１の動作を制御する。これにより、ロボット１００が所定の位置まで自律的に移動する。あるいは、腕関節４ａが駆動して、腕部４が移動する。具体的には、制御部１０１は、目標位置までの移動経路を生成して、その移動経路に追従するように、モータを制御する。さらに、首関節が駆動して、頭部１が所定の方向を向く。例えば、制御部１０１は、各軸に対する指令値を算出する。そして、ドライバ１３２に指令値に応じた駆動信号を出力する。これにより、各軸のモータが指令値に追従するようにフィードバック制御される。
【００２７】
モータ１３１、及びドライバ１３２は、２つの車輪２や各関節にそれぞれ設けられている。これにより、２つの車輪２や関節を独立して駆動することができる。例えば、ドライバ１３２は、モータ１３１の回転数を制御する。これにより、車輪２を所定の回転数で駆動することができる。よって、ロボット１００の目標位置までの移動が可能となる。モータ１３１はロボット１００の内部に取り付けられている。また、これらの各機器は筐体３に収納されている。
【００２８】
次に、顔追従を行うための構成について、図３を用いて説明する。図３は、筐体３内部の構成を模式的に示す斜視図である。図３（ａ）は、左前側からみた斜視図であり、図３（ｂ）は、左後ろ側から見た斜視図である。
【００２９】
頭部１には、カメラ１２１が設けられている。カメラ１２１は、例えば、頭部１の目の位置に設置されている。カメラ１２１は、例えば、ステレオカメラであり、対象物を異なる方向から同時に撮像する。これにより、ステレオ画像が取得される。カメラ１２１で取得された画像データは、制御部１０１に出力される。制御部１０１は、この画像データに基づいて顔認識を行う。
【００３０】
頭部１は、首関節７を介して胴体部６に接続されている。首関節７は、頭部１をヨー軸（首ヨー軸）回りに回転させる。従って、首関節７を駆動することで、カメラ１２１の向きが変化する。すなわち、カメラ１２１の視野の方向が変化する。さらに、首関節７には、センサ部１２５に含まれるトルクセンサ１２５ａが設けられている。トルクセンサ１２５ａは、例えば、力覚センサであり、首関節７にかかる駆動トルクを検出する。これにより、首関節７の駆動軸にかかるトルクの大きさ、及び方向が検出される。このように、トルクセンサ１２５ａは、頭部１に対してヨー軸回りにかかる力を検出するために設けられている。
【００３１】
胴体部６には、制御部１０１が設けられている。制御部１０１は、胴体部６の背面側に設置されている。制御部１０１は、顔認識モジュールを有しており、カメラ１２１で取得された画像データに対して顔認識を行う。例えば、外部記憶部１０５のメモリ等に顔テンプレート画像を予め登録しておく。そして、顔テンプレート画像を用いた画像処理を行って、人間の顔を抽出する。すなわち、カメラ１２１で取得した画像の中から顔テンプレート画像にマッチングするパターンを抽出する。これにより、取得した画像中の顔の位置を特定することができ、顔を認識することができる。よって、コミュニケーション相手の方向を特定することができる。
【００３２】
さらに、胴体部６の下側には、車輪２が設けられている。車輪２は、車輪ベースに回転可能に保持されている。すなわち、胴体部６の左右両側には、車輪２が取り付けられている。胴体部６には、モータ１３１を駆動するためのサーボアンプやドライバ等が設置されている。左右の車輪２を回転させることで、ロボット１００が移動する。すなわち、左右の車輪２を前方向に回転させることで、ロボット１００が前進し、後ろ方向に回転させることでロボット１００が後退する。また、左右の車輪２を反対方向に回転させることで、胴体部６がヨー軸回り（腰ヨー軸）に回転する。すなわち、右の車輪２を前方向、左の車輪２を後ろ方向に回転させることで、ロボット１００が左旋回する。このように、左右の車輪２を反対方向に同じ回転速度で回転させることで、その場旋回させることが可能になる。また、左右の車輪２を異なる回転速度で反対方向に回転させることで、移動しながら、ロボット１００の方向を変えることができる。
【００３３】
さらに、車輪２の前後には、転倒防止用の補助輪８が設けられている。補助輪８は、従動輪であり、車輪２の駆動にしたがって回転する。また、車輪２の駆動にしたがって、補助輪８の方向が変化する。
【００３４】
胴体部６には、腕部４が設けられている。図３に示すように、腕部４は右アーム、及び左アームを有している。腕部４は、肩関節９を介して胴体部に取り付けられている。さらに、腕部４の肘部分や手首部分には、腕関節４ａが設けられている。肩関節９及び腕関節４ａによって、腕部４が駆動する。例えば、腕部４を駆動することで、対象物体を把持することができる。
【００３５】
頭部１をコミュニケーション相手となる方向に向けるため、制御部１０１は、首関節７を制御する。すなわち、頭部１を首ヨー軸周りに回転させて、顔追従を行う。カメラ１２１で取得された画像に対して顔認識を行う。そして、カメラ１２１が常時、顔を撮像することができるように、首関節７を回転させる。例えば、カメラ１２１の視野の中心に、顔が存在するように、顔追従を行う。これにより、首関節７が回転して、コミュニケーション相手の方向を向くことができる。
【００３６】
さらに、本実施の形態では、トルクセンサ１２５ａの出力値に基づいて、顔追従を行っている。トルクセンサ１２５ａで、検出したトルクがしきい値を越える場合、車輪２を駆動して、首関節７の駆動トルクを低減する。具体的には、車輪２を駆動して、ロボット１００をその場旋回させる。これにより、胴体部６がヨー軸回りに回転する。
【００３７】
トルクセンサ１２５ａは、頭部１（首ヨー軸関節）と胴体部６（腰ヨー軸関節）との間の相互反力を検出する。そして、トルクセンサ１２５ａの出力値がしきい値を越えたら、車輪２を回転させる。これにより、胴体部６がヨー軸回りに回転して、トルクセンサ１２５ａの出力値が低減する。すなわち、首ヨー軸関節にかかる力を打ち消すように車輪２を駆動する。これにより、胴体部６が腰ヨー軸回りに回転して、首関節７にかかる負荷（反力）が軽減する。すなわち、首関節７が回転している方向に、胴体部６がその場で旋回する。よって、ロボット１００をスムーズに動作させることができる。自然な動作を実現することができ、ロボット１００全体の動きや仕草の見栄えが向上する。
【００３８】
次に、顔追従を行うための制御について図４〜図６を用いて説明する。すなわち、画像処理によって認識された顔の方向に頭部１を向けるための制御について以下に説明する。図４は、顔追従を行う際の頭部１と胴体部６の動作を模式的に示す上面図である。図５は、頭部１と首関節７とを含むロボットヘッドの制御ループを模式的に示すブロック図である。図６は、車輪２と胴体部６とを含むロボットボディの制御ループを模式的に示すブロック図である。なお、図４では、頭部１の向き（正面方向）が実線矢印で示され、顔追従の目標方向が点線矢印で示されている。すなわち、顔追従を行うと、実線矢印が点線矢印に近づくように、フィードバック制御が行われる。
【００３９】
動作開始前では、図４（ａ）に示すように、ロボット１００の顔が正面を向いている。そして、図５に示すように、顔追従のアクションを開始すると、カメラ１２１で取得した画像に対して画像処理を行う。すなわち、顔認識処理を行い、目標方向を特定する。対象２００となる人の顔を認識して、対象２００の方向を目標方向とする。これにより、目標方向が特定され、ロボット１００が対象２００を向くように顔追従制御が行われる。なお、ここでは説明の簡略化のため、ロボット１００に対する対象２００の位置が一定であるとして説明する。
【００４０】
顔追従アクションを開始すると、制御部１０１ａは、目標方向に頭部１を向けるために、首関節７のモータ１３１ａを駆動する。すなわち、首関節７をヨー軸回りに回転して、頭部１の向きを変える。これにより、図４（ｂ）に示すように、胴体部６に対する頭部１の向きが変化する。図４（ｂ）では、対象２００が左斜め前にあるため、首関節７が反時計回りに回転する。頭部１の向きが目標方向に近づく。なお、ここでは、フィードバック制御によって、首関節７を駆動している。すなわち、目標方向と頭部１の現在の方向（向き）との偏差に適当なフィードバックゲインを乗じて、目標トルク値（指令値）を算出する。そして、その目標トルク値になるように、首関節７のモータ１３１ａを駆動する。したがって、頭部１の向きが目標方向からずれているほど、モータ１３１ａの目標トルク値が大きくなる。
【００４１】
そして、モータ１３１ａを駆動した後、再度、カメラ１２１で画像を取得して、顔認識を行う。これにより、目標方向が修正される。首関節７が回転した分だけ、目標方向からのずれが小さくなっている。もちろん、対象２００が移動した場合も対象２００の絶対位置が変わるため、目標方向が変化する。そして、頭部１が目標方向を向くように、首関節７を駆動していく。首関節７については、上記のフィードバック制御を繰り返し行っている。すなわち、位置制御によってモータ１３１ａを駆動して、首関節７を回転させている。
【００４２】
次に、胴体部６の制御について、図６を用いて説明する。首関節７のモータ１３１ａが駆動すると、図６に示すように、トルクセンサ１２５ａでモータトルクが検出される。トルクセンサ１２５ａで検出されるトルクは、頭部１と胴体部６との間にかかる反力に相当する。制御部１０１ｂがしきい値とモータ１３１ａのトルクを比較する。すなわち、トルクセンサ１２５ａの出力値が、予め設定されているしきい値を越えているか否かを判定する。制御部１０１ｂは、トルク（回転負荷）に応じて、負荷（反力）軽減動作を行うか、姿勢維持動作を行うかを判断する。しきい値を越えている場合は、ドライバ１３２が負荷軽減動作を行う。すなわち、車輪２のモータ１３１ｂを駆動して、胴体部６をヨー軸周りに回転させる。これにより、図４（ｃ）に示すように、胴体部６が目標方向に向かって、反時計周りに回転する。すなわち、車輪２の駆動によって、首関節７の回転方向と同じ方向に、胴体部６が回転する。
【００４３】
このように、ロボット１００がその場旋回して、胴体部６の体軸アライメントが行われる。したがって、胴体部６に取り付けられた頭部１の向きが目標方向に近づく。すなわち、胴体部６が目標方向に向かってヨー軸回りに回転するため、それにしたがって頭部１も回転する。さらに、上記のように、胴体部６に対して首関節７がヨー軸回りに回転している。よって、しきい値を越えた場合、首関節７の駆動だけでなく、車輪２の駆動で頭部１の向きが変わる。このため、速やかに目標方向を向くことができる。ここでは、トルクセンサ１２５ａからの出力値がしきい値を越えた場合、一定の回転速度で車輪２のモータ１３１ｂを回転する。すなわち、予め設定されている回転角度で、車輪２を回転させる。これにより、胴体部６の体軸アライメント（姿勢調整）が行われる。
【００４４】
頭部１の向きが目標方向に近づいたら、首関節７のトルクが低くなる。すなわち、目標方向と頭部１の向きとの偏差が小さくなるため、フィードバック制御での目標トルク値（指令値）が小さくなる。よって、首関節７のトルクが低下して、トルクセンサ１２５ａで検出されたトルクがしきい値よりも小さくなる。したがって、ドライバ１３２が姿勢維持動作を行う。この場合、車輪２のモータ１３１ｂを駆動しないため、胴体部６のヨー軸回りの回転が止まる。したがって、ロボット１００は、出力値がしきい値よりも小さくなった時点での腰ヨー軸姿勢を維持する。この場合、首関節７の駆動のみによって、頭部１の向きが目標方向に近づく。そして、上記の処理を繰り返して、頭部１の向きを目標方向に一致させる。そして、頭部１が対象２００を向いたら、スピーカなどでコミュニケーションを取る。
【００４５】
このように、トルクセンサ１２５ａで検出されたトルクがしきい値を越えたか否かに応じて、車輪２の制御を切換えている。すなわち、トルクがしきい値を越えた場合は、負荷軽減動作により、車輪２を駆動して、首ヨー軸の駆動トルクを軽減する。首ヨー軸にかかるトルクを打ち消すように、胴体部６が腰ヨー軸回りに回転する。これにより、首関節７にかかる力が軽減される。そして、トルクがしきい値以下となるまで、車輪２を駆動して、胴体部６を腰ヨー軸回りに回転させる。すなわち、トルクがしきい値以下となると、姿勢維持動作によって、そのときの腰ヨー軸姿勢を維持する。なお、しきい値の値を可変としてもよい。例えば、実際の動作を確認して、しきい値を調整してもよい。
【００４６】
このようにすることで、頭部１の向きが変わり始めてから、胴体部６の向きが変化する。すなわち、最初に頭部１の向きが変わって、それに伴って胴体部６の向きが変化する。そして、ある程度胴体部６の向きが変わると、胴体部６の回転が停止する。したがって、人間のように自然な動作で顔追従を行うことができる。よって、ロボット１００全体の動きや仕草の見栄えが向上する。さらに、首関節７にかかる負荷を軽減することができる。首関節に過大なトルクがかかることがなくなるため、ロボット１００の駆動機構等を損傷するのを防ぐことができる。また、ロボット１００全体の動作ステップが削減され、動作の高速化、効率化を図ることができる。
【００４７】
次に、本実施の形態にかかるロボット１００の制御方法について図７を用いて説明する。図７は、本実施の形態にかかるロボット１００の制御フローを模式的に示す図である。
【００４８】
まず、ロボット１００の頭部１及び首関節７を含むロボットヘッドにおける制御について説明する。最初に、人の顔認識を行い、目標方向を特定する（ステップＳ１０１）。すなわち、カメラ１２１で取得した画像に基づいて、画像処理を行い。これにより、ロボット１００がコミュニケーションを取る相手の顔を認識することができる。そして、人の顔追従を行う（ステップＳ１０２）。すなわち、首関節７を駆動して、頭部１を首ヨー軸回りに回転させる。
【００４９】
そして、ヨー軸関節にかかる反力を検出する（ステップＳ１０３）。すなわち、トルクセンサ１２５ａによって、トルクを検出する。すると、ロボット１００の胴体部６と車輪２を含むロボットボディにおいて、負荷（反力）軽減制御を行う（ステップＳ１０４）。すなわち、トルクセンサ１２５ａからの出力値と、しきい値を比較する。そして、しきい値を越えていた場合は、体軸アライメントを行なう（ステップＳ１０５）。すなわち、車輪２を駆動して、胴体部６を腰ヨー軸回りに回転させる。ここでは、しきい値を越えている間、左右の車輪２を一定の回転速度で駆動する。これにより、ロボット１００が目標方向に向かって、旋回する。そして、以上の処理を繰り返して、顔追従動作を行う。
【００５０】
このように、ロボットヘッドとロボットボディを同期、連携して制御することによって、ロボット１００をスムーズに動作させることができる。すなわち、ヨー軸関節の反力（負荷）に基づいて、車輪２、及び首関節７が連携して動作するため、自然な動きを実現することができる。
【００５１】
なお、首ヨー軸にかかる力の検出は、トルクセンサ１２５ａに限られるものではない。例えば、首関節７のモータ１３１ａに流れる電流を測定することによって、力を検出してもよい。すなわち、首ヨー軸と腰ヨー軸（体軸）との間にかかる反力を直接的、又は間接的に検出できるセンサを用いればよい。
【００５２】
さらに、顔認識処理以外の方法で、目標方向を特定してもよい。例えば、マイクロフォンアレイなどで、音を検出して、その音の発生した方向を目標方向としてもよい。もちろん、これら以外の方法で目標方向を特定してもよい。例えば、外部からの信号によって、目標方向を特定してもよい。目標方向に追従している間に対象２００が移動した場合、その目標方向も更新される。そして、更新された目標方向に追従するように、位置制御が行われる。
【００５３】
次に、本実施の形態の変形例について説明する。上記の例では、トルクセンサ１２５ａからの出力値がしきい値を越えた場合、一定の回転速度で車輪２を回転させたが、本変形例では、トルクセンサ１２５ａの出力値に応じて車輪２の回転速度を変化させている。すなわち、トルクセンサ１２５ａからの出力値に基づいて、車輪２の回転速度が変わる。例えば、出力値が大きい場合、胴体部６の体軸アライメントの回転速度を速くして、素早く追従させる。一方、出力値が小さい場合、胴体部６の体軸アライメントの回転速度を遅くして、ゆっくり動かす。このように、反力の大きさに基づいて、腰ヨー軸の回転による反力軽減動作の速度を変化させる
【００５４】
あるいは、出力値の変化速度（一次微分）に応じて、体軸アライメントの回転速度を変えてもよい。例えば、出力値を時間で微分して、出力値の変化速度を求める。そして、出力値の変化速度に応じて、胴体部６の体軸アライメントの回転速度を変化させる。出力値の変化速度が大きい場合、胴体部６の体軸アライメントの回転速度を速くして、素早く追従させる。一方、出力値の変化速度が小さい場合、胴体部６の体軸アライメントの回転速度を遅くして、ゆっくり動かす。
【００５５】
例えば、しきい値を複数設定することによって、体軸アライメントの回転速度を段階的に変化させることができる。すなわち、反力の大きさ、又はその変化速度にしたがって、体軸アライメントの回転速度をステップ的に変化させる。あるいは、トルクセンサ１２５ａの出力値から体軸アライメントの回転速度を求める演算式を予め設定しておいてもよい。トルクセンサ１２５ａからの出力値に基づいて、モータ１３１ｂの駆動速度を決定することができる。反力の大きさ、又はその変化速度に応じて、体軸アライメントの速度を変化させる。すなわち、腰ヨー軸の回転による反力軽減動作の速度を、反力の大きさに基づいて変化させる。これにより、ロボット１００の姿勢がスムーズに変化するため、より自然な動作が可能になる。
【００５６】
実施の形態２．
本実施の形態にかかるロボット１００について図８を用いて説明する。図８は、実施の形態２にかかるロボット１００の構成を示す斜視図である。なお、本実施の形態２にかかるロボット１００の基本的構成及び制御は、実施の形態１と同様である。このため、重複する構成等については、説明を適宜省略する。以下に実施の形態１との違いについて説明する。
【００５７】
本実施の形態では、腕部４の付け根に肩関節９が設けられている。すなわち、腕部４が、肩関節９を介して胴体部６に連結されている。肩関節９は、ヨー軸（肩ヨー軸）回りに駆動する。すなわち、肩関節９の軸を中心軸として、胴体部６に対して腕部４がヨー軸周りに回転する。これにより、腕部４の方向を変えることができる。さらに、肩関節９には、腕部４にかかる力を検出するためのトルクセンサ１２５ａ（図８では図示せず）が設けられている。
【００５８】
本実施の形態では、腕部４に外力が加わった場合に、体軸アライメントによって、反力を軽減している。例えば、腕部４に外力が加わった場合、トルクセンサ１２５ａによって肩ヨー軸にかかる力を検出する。すなわち、トルクセンサ１２５ａによって、肩ヨー軸の腰ヨー軸に対する反力を検出する。そして、トルクセンサ１２５ａの出力値がしきい値を越えた場合、車輪２を動作させて、反力を軽減する。すなわち、反力を軽減する方向に、体軸アライメントを駆動する。
【００５９】
例えば、左アームに後方向の外力が加わった場合、胴体部６を左方向に旋回させる。そして、トルクセンサ１２５ａの出力値がしきい値以下になるまで、車輪２を駆動して、胴体部６を回転させる。すなわち、トルクセンサ１２５ａの出力値がしきい値以下になった時点で、そのときの腰ヨー軸姿勢を維持する。このようにすることで、腕部４に加わった外力を逃がすことができる。したがって、人間や障害物とロボット１００が衝突した場合、その衝撃を吸収することができる。すなわち、衝撃力を吸収する方向に、姿勢が変化するため、安全性を向上することができる。また、自然な動作で外力を吸収することができる。
【００６０】
もちろん、実施形態１の変形例と同様に、外力の大きさ、又はその変化速度に応じて、体軸アライメントの回転速度を変えてもよい。さらに、頭部１に対して外力が加わった場合でも、同様に外力を吸収するように制御してもよい。
【００６１】
その他の実施の形態．
なお、実施の形態１、２では、ヨー軸に関する動作について説明したが、ヨー軸以外の軸についても同様に制御することができる。例えば、頭部１や腕部４をピッチ軸回りやロール軸周りに回転させる場合も、同様に反力軽減動作を行うことができる。この場合、例えば、胴体部６にピッチ軸回りやロール軸回りに回転させる腰関節を設ける。そして、トルクセンサ１２５ａの出力値がしきい値を越えたら、腰関節を駆動する。これにより、先頭部１等を胴体部６に接続する首関節の駆動軸に作用する負荷を軽減することができる。
【００６２】
また、頭部１や腕部４以外の部分についても同様に制御することができる。すなわち、ロボット１００の基部である胴体部６に関節を介して接続されている先端部に対して同様の制御を適用することができる。
【００６３】
なお、ロボットの態様は上述の態様に限られるものではない。例えば、上記の説明では、車輪型のロボット１００について説明したが、これに限るものではない。例えは、関節が設けられた脚部を有する歩行型のロボットであってもよい。そして、ヒューマノイド型ロボットの胴体部に対して首関節を介して接続された頭部を駆動する。これにより、駆動軸に加わっている負荷が低減する。もちろん、実施の形態１、２を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態にかかるロボットの構成を模式的に示す図である。
【図２】本発明の実施形態にかかるロボットの制御系を概念的に表したブロック図である。
【図３】本発明の実施形態にかかるロボットの内部構成を示す斜視図である。
【図４】本実施の形態にかかる顔追従動作を模式的に示す上面図である。
【図５】顔追従を行う際のロボットヘッドの制御ループを模式的に示すブロック図である。
【図６】顔追従を行う際のロボットボディの制御ループを模式的に示すブロック図である。
【図７】本発明の実施形態にかかる
【図８】本発明の実施の形態２にかかるロボットの全体構成を模式的に示す斜視図である。
【符号の説明】
【００６５】
１  頭部、２  車輪、３  筐体、４  腕部、６  胴体部、７  首関節、８  補助輪、
９  肩関節、
１０１  制御部、
１０２  入出力部、
１２１  カメラ、１２２  内部マイク、１２３  スピーカ、
１２４  ＬＥＤ、１２５  センサ部、
１０３  駆動部
１３１  モータ、１３２  ドライバ
１０４  電源部
１４１  バッテリ、１４２  バッテリ制御部、
【図１】
0005088150.tif 000002
【図２】
0005088150.tif 000003
【図３】
0005088150.tif 000004
【図４】
0005088150.tif 000005
【図５】
0005088150.tif 000006
【図６】
0005088150.tif 000007
【図７】
0005088150.tif 000008
【図８】
0005088150.tif 000009