(57)【要約】【課題】人と手をつないで歩行するなど人との接触を可能にしてコミュニケーション機能を向上させると共に、そのときの姿勢を安定に保つようにした脚式移動ロボットの制御装置を提供する。【解決手段】ハンドを介して人に接触したとき、人から作用する外力を検出し（Ｓ２６，Ｓ３４，Ｓ３６）、検出された外力に基づいて人の進行方向を推定し、推定された進行方向に基づいて歩容を生成し（Ｓ４４）、生成された歩容に基づいて少なくとも脚部アクチュエータの動作を制御する（Ｓ５０，Ｓ５２）。また、人の手を引いて歩行する案内動作も実行する。【選択図】図６
2007185763.tif 000002
【特許請求の範囲】
【請求項１】
基体と、前記基体に連結される複数本の脚部と、前記基体に連結されると共に、その先端にそれぞれハンドが連結される複数本の腕部と、前記脚部を駆動する脚部アクチュエータと、前記腕部を駆動する腕部アクチュエータとを少なくとも備えた脚式移動ロボットの動作を制御する脚式移動ロボットの制御装置において、
ａ．前記ハンドを介して人に接触したとき、前記人から作用する外力を検出する外力検出手段、
ｂ．前記検出された外力に基づいて歩容を生成する歩容生成手段、
および
ｃ．前記生成された歩容に基づいて少なくとも前記脚部アクチュエータの動作を制御する脚部アクチュエータ制御手段、
を備えたことを特徴とする脚式移動ロボットの制御装置。
【請求項２】
前記歩容生成手段は、前記検出された外力に基づいて前記人の進行方向を推定し、前記推定された進行方向に基づいて歩容を生成することを特徴とする請求項１記載の脚式移動ロボットの制御装置。
【請求項３】
前記生成される歩容は、前記人の手を引いて歩行する歩容または前記人に手を引かれて歩行する歩容であることを特徴とする請求項１または２記載の脚式移動ロボットの制御装置。
【請求項４】
前記外力の外乱分を吸収するコンプライアンス制御を実行することを特徴とする請求項１から３のいずれかに記載の脚式移動ロボットの制御装置。
【請求項５】
前記生成される歩容において前記外力に応じて歩幅を変更することを特徴とする請求項１から４のいずれかに記載の脚式移動ロボットの制御装置。
【請求項６】
ｄ．前記人の身長を認識して前記ハンドの重力方向における位置を決定するハンド位置決定手段、
および
ｅ．前記決定されたハンドの位置で前記人に接触するように前記腕部アクチュエータの動作を制御する腕部アクチュエータ制御手段、
を備えることを特徴とする請求項１から５のいずれかに記載の脚式移動ロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は脚式移動ロボットの制御装置に関し、より詳しくは人と手をつないで歩行するようにした脚式移動ロボットの制御装置に関する。
【背景技術】
【０００２】
従来、人とのコミュニケーション機能を向上させるため、人と握手できるようにしたロボットが提案されている（例えば特許文献１参照）。特許文献１に記載されるロボットにあっては、ハンドに圧力センサシートを埋め込んで握手したときの人の把持力を検出し、検出した把持力に応じて発話内容を変更する（具体的には、把持力が適度であるときは「よろしく」と発声し、把持力が強いときは「痛い」と発声する）と共に、腕部を動作させる（具体的には、把持力が強いときは腕部を引っ込ませるように動作させる）ことで、コミュニケーション機能を向上させるようにしている。尚、特許文献１に記載されるロボットは、車輪を駆動して移動するロボットである。
【特許文献１】特開２００４−２８３９７５号公報（段落００６２から００６６、図８および図９）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
コミュニケーション機能の向上として、握手に止まらず、人と手をつないで、即ち、人に手を引かれて、あるいは人の手を引いて歩行することなども考えられるが、そのような形で人と接触する場合にも、握手と同様、ロボットの腕部には少なからず外力が作用する。上記した特許文献１に記載されるロボットにあっては、車輪で移動するように構成しているため、腕部に作用する外力は姿勢を安定に保つ上で特に問題とならないが、脚部を駆動して移動する脚式移動ロボット、特に２足の脚式移動ロボットにあっては、その姿勢を乱すのに十分な外乱となり得る。即ち、従来の脚式移動ロボットにあっては、人と接触することによって姿勢の不安定化を招くおそれがあった。
【０００４】
従ってこの発明の目的は上記した課題を解決し、人との接触を可能にしてコミュニケーション機能を向上させると共に、そのときの姿勢を安定に保つようにした脚式移動ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために、請求項１にあっては、基体と、前記基体に連結される複数本の脚部と、前記基体に連結されると共に、その先端にそれぞれハンドが連結される複数本の腕部と、前記脚部を駆動する脚部アクチュエータと、前記腕部を駆動する腕部アクチュエータとを少なくとも備えた脚式移動ロボットの動作を制御する脚式移動ロボットの制御装置において、前記ハンドを介して人に接触したとき、前記人から作用する外力を検出する外力検出手段、前記検出された外力に基づいて歩容を生成する歩容生成手段、および前記生成された歩容に基づいて少なくとも前記脚部アクチュエータの動作を制御する脚部アクチュエータ制御手段を備える如く構成した。
【０００６】
請求項２に係る脚式移動ロボットの制御装置にあっては、前記歩容生成手段は、前記検出された外力に基づいて前記人の進行方向を推定し、前記推定された進行方向に基づいて歩容を生成する如く構成した。
【０００７】
請求項３に係る脚式移動ロボットの制御装置にあっては、前記生成される歩容は、前記人の手を引いて歩行する歩容または前記人に手を引かれて歩行する歩容である如く構成した。
【０００８】
請求項４に係る脚式移動ロボットの制御装置にあっては、前記外力の外乱分を吸収するコンプライアンス制御を実行する如く構成した。
【０００９】
請求項５に係る脚式移動ロボットの制御装置にあっては、前記生成される歩容において前記外力に応じて歩幅を変更する如く構成した。
【００１０】
請求項６に係る脚式移動ロボットの制御装置にあっては、前記人の身長を認識して前記ハンドの重力方向における位置を算出するハンド位置算出手段、および前記決定されたハンドの位置で前記人に接触するように前記腕部アクチュエータの動作を制御する腕部アクチュエータ制御手段を備える如く構成した。
【発明の効果】
【００１１】
請求項１に係る脚式移動ロボットの制御装置においては、ハンドを介して人に接触したとき、人から作用する外力を検出し、検出された外力に基づいて歩容を生成すると共に、生成された歩容に基づいて少なくとも脚部アクチュエータの動作を制御する如く構成したので、姿勢の不安定化を招くことなく、人と接触することができてコミュニケーション機能を向上させることができる。
【００１２】
請求項２に係る脚式移動ロボットの制御装置においては、検出された外力に基づいて人の進行方向を推定して推定された進行方向に基づいて歩容を生成する如く構成したので、姿勢の不安定化を招くことなく、人と接触することができてコミュニケーション機能を向上させることができる。
【００１３】
請求項３に係る脚式移動ロボットの制御装置にあっては、生成される歩容は人の手を引いて歩行する歩容または人に手を引かれて歩行する歩容である如く構成したので、上記した効果に加え、単なる接触に止まらない点で、コミュニケーション機能を一層向上させることができる。
【００１４】
請求項４に係る脚式移動ロボットの制御装置にあっては、外力の外乱分を吸収するコンプライアンス制御を実行する如く構成したので、上記した効果に加え、姿勢の不安定化を一層良く回避することができる。
【００１５】
請求項５に係る脚式移動ロボットの制御装置にあっては、生成される歩容において外力に応じて歩幅を変更する如く構成したので、上記した効果に加え、歩幅を変更して外力を吸収することができて姿勢の不安定化を一層良く回避することができる。
【００１６】
請求項６に係る脚式移動ロボットの制御装置にあっては、人の身長を認識してハンドの重力方向における位置を算出し、算出されたハンドの位置で人に接触するように腕部アクチュエータの動作を制御する如く構成したので、上記した効果に加え、人の手を引くときまたは人に手（ハンド）を引かれるときの動作が一層円滑となり、コミュニケーション機能を一層向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面に即してこの発明に係る脚式移動ロボットの制御装置を実施するための最良の形態について説明する。
【実施例１】
【００１８】
図１は、第１実施例に係る脚式移動ロボットの制御装置が搭載されるロボットの正面図であり、図２は図１に示すロボットの側面図である。
【００１９】
図１に示すように、脚式移動ロボット（以下単に「ロボット」という）１０は、複数本、即ち、左右２本の脚部１２Ｌ，１２Ｒ（左側をＬ、右側をＲとする。以下同じ）を備える。脚部１２Ｌ，１２Ｒは、基体（上体）１４の下部に連結される。基体１４の上部には頭部１６が連結されると共に、側方には複数本、即ち、左右２本の腕部２０Ｌ，２０Ｒが連結される。左右の腕部２０Ｌ，２０Ｒの先端には、それぞれハンド（エンドエフェクタ）２２Ｌ，２２Ｒが連結される。尚、この実施例にあっては、脚式移動ロボットとして、２本の脚部と２本の腕部を備えた、１．３ｍ程度の身長を有するヒューマノイド型のロボットを例にとる。
【００２０】
図２に示すように、基体１４の背部には格納部２４が設けられ、その内部には電子制御ユニット（以下「ＥＣＵ」と呼ぶ）２６およびバッテリ（図示せず）などが収容される。
【００２１】
図３は、図１に示すロボット１０をスケルトンで表す説明図である。以下、図３を参照し、ロボット１０の内部構造について関節を中心に説明する。尚、図示のロボット１０は左右対称であるので、以降Ｌ，Ｒの付記を省略する。
【００２２】
左右の脚部１２は、それぞれ大腿リンク３０と下腿リンク３２と足部３４とを備える。大腿リンク３０は、股関節を介して基体１４に連結される。図３では、基体１４を基体リンク３６として簡略的に示すが、基体リンク３６（基体１４）は、関節３８を介して上半部３６ａと下半部３６ｂとが相対変位、より具体的には回転あるいは旋回自在に構成される。
【００２３】
大腿リンク３０と下腿リンク３２は膝関節を介して連結されると共に、下腿リンク３２と足部３４は足関節を介して連結される。股関節は、Ｚ軸（ヨー軸。具体的には、ロボット１０の高さ方向）回りの回転軸４０と、Ｙ軸（ピッチ軸。具体的には、ロボット１０の左右方向）回りの回転軸４２と、Ｘ軸（ロール軸。具体的には、ロボット１０の前後方向）回りの回転軸４４とから構成される。即ち、股関節は、３自由度を備える。
【００２４】
膝関節はＹ軸回りの回転軸４６から構成され、１自由度を備える。また、足関節はＹ軸回りの回転軸４８とＸ軸回りの回転軸５０とから構成され、２自由度を備える。このように、左右の脚部１２のそれぞれには３個の関節を構成する６個の回転軸（自由度）が与えられ、脚部全体としては合計１２個の回転軸が与えられる。
【００２５】
脚部１２は、アクチュエータ（図示せず）によって駆動される。以下、脚部１２を駆動するアクチュエータを「脚部アクチュエータ」という。脚部アクチュエータは具体的には基体１４と脚部１２の適宜位置に配置された１２個の電動モータからなり、上記した１２個の回転軸を個別に駆動する。脚部アクチュエータの動作を制御して各回転軸を適宜な角度で駆動することにより、脚部１２に所望の動きを与えることができる。
【００２６】
また、左右の腕部２０は、それぞれ上腕リンク５２と下腕リンク５４を備える。上腕リンク５２は、肩関節を介して基体１４に連結される。上腕リンク５２と下腕リンク５４は、肘関節を介して連結されると共に、下腕リンク５４とハンド２２は手首関節を介して連結される。
【００２７】
肩関節はＹ軸回りの回転軸５６とＸ軸回りの回転軸５８とＺ軸回りの回転軸６０とから構成され、３自由度を備える。肘関節はＹ軸回りの回転軸６２から構成され、１自由度を備える。手首関節はＺ軸回りの回転軸６４とＹ軸回りの回転軸６６とＸ軸回りの回転軸６８とから構成され、３自由度を備える。このように、左右の腕部２０のそれぞれには、３個の関節を構成する７個の回転軸（自由度）が与えられ、腕部全体として合計１４個の回転軸が与えられる。
【００２８】
腕部２０も、脚部１２と同様に図示しないアクチュエータによって駆動される。以下、腕部２０を駆動するアクチュエータを「腕部アクチュエータ」という。腕部アクチュエータは、具体的には基体１４と腕部２０の適宜位置に配置された１４個の電動モータからなり、上記した１４個の回転軸を個別に駆動する。腕部アクチュエータの動作を制御して各回転軸を適宜な角度で駆動することにより、腕部２０に所望の動きを与えることができる。
【００２９】
ハンド２２には、５本の指部７０が設けられる。指部７０は、図示しないアクチュエータ（以下「ハンドアクチュエータ」という）によって動作自在とされ、腕部２０の動きに連動して物を把持する、あるいは適宜な方向を指差すなどの動作が実行可能とされる。
【００３０】
頭部１６は、基体１４に首関節を介して連結される。首関節はＺ軸回りの回転軸７２とＹ軸回りの回転軸７４とから構成され、２自由度を備える。回転軸７２，７４も、図示しないアクチュエータ（以下「頭部アクチュエータ」という）によって個別に駆動される。頭部アクチュエータの動作を制御して回転軸７２，７４を適宜な角度で駆動することにより、頭部１６を所望の方向に向けることができる。基体リンク３６（基体１４）も関節３８に配置されたアクチュエータ（図示せず）を駆動することで、上半部３６ａと下半部３６ｂが相対回転させられる。
【００３１】
左右の脚部１２（具体的には、足部３４と足関節の間）には、それぞれ力センサ（６軸力センサ）７６が取り付けられる。力センサ７６は、床面から脚部１２に作用する床反力（より詳しくは、脚部１２を介してロボット１０に作用する床反力）の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３２】
左右の腕部２０にも、同種の力センサ７８がハンド２２と手首関節の間で取り付けられる。力センサ７８は、腕部２０に作用する、より詳しくは腕部２０を介してロボット１０に作用する外力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３３】
基体１４には傾斜センサ８０が設置され、鉛直軸に対する基体１４の傾き、即ち、傾斜角度とその角速度などの状態量を示す信号を出力する。頭部１６には、２個（左右）のＣＣＤカメラ８２が設置され、ロボット１０の周囲環境をステレオ視で撮影して得た画像を出力する。また、頭部１６には、マイクロフォン８４ａとスピーカ８４ｂからなる音声入出力装置８４が設けられる。
【００３４】
上記したセンサなどの出力は、ＥＣＵ２６（図２に示す）に入力される。ＥＣＵ２６はマイクロコンピュータからなり、図示しないＣＰＵや入出力回路、ＲＯＭ、ＲＡＭなどを備える。
【００３５】
図４は、ロボット１０の構成をＥＣＵ２６の入出力関係を中心に示すブロック図である。
【００３６】
図示の如く、ロボット１０は、上記したセンサなどに加え、回転軸４０などのそれぞれに配置されたロータリエンコーダ群８６と、ジャイロセンサ８８と、ＧＰＳ受信器９０と、人が携行するＩＣタグ９２に無線系で接続されてＩＣタグ９２から発信されるＩＣタグ情報を受信するＩＣタグ信号受信器（リーダ）９４を備える。
【００３７】
ロータリエンコーダ群８６はそれぞれ、回転軸４０などの回転角度、即ち、関節角度に応じた信号を出力する。ジャイロセンサ８８は、ロボット１０の移動方向と距離に応じた信号を出力する。ＧＰＳ受信器９０は衛星から発信された電波を受信し、ロボット１０の位置情報（緯度と経度）を取得してＥＣＵ２６に出力する。ＩＣタグ信号受信器９４は、ＩＣタグ９２に記憶されると共に、それから発信される識別情報（ＲＦＩＤ（Radio Frequency ID）、具体的にはＩＣタグ９２の携行者である人を識別する識別情報）を無線系で受信してＥＣＵ２６に出力する。
【００３８】
ＥＣＵ２６は、力センサ７６、傾斜センサ８０およびロータリエンコーダ群８６の出力に基づいて歩容を生成して歩行制御を行う。具体的には、前記した脚部アクチュエータ（符号１００で示す）の動作を制御して脚部１２を駆動してロボット１０を移動（歩行）させる。
【００３９】
また、ＥＣＵ２６は、歩行制御などに付随して腕部アクチュエータ（符号１０２で示す）とハンドアクチュエータ（符号１０４で示す）の動作を制御して腕部２０とハンド２２を駆動すると共に、頭部アクチュエータ（符号１０６で示す）の動作を制御して頭部１６の向きを調整する。尚、ロボット１０の歩行制御としては、例えば本出願人が先に提案した再公表特許ＷＯ２００２／０４０２２４号公報に記載されている技術などが用いられるが、本願の要旨とは直接の関係を有しないので、ここでの説明は省略する。
【００４０】
ＥＣＵ２６は、さらに、ＣＣＤカメラ８２およびＩＣタグ信号受信器９４などの出力に基づき、人に手を引かれて歩行する動作を実行する。
【００４１】
図５は、ＥＣＵ２６が実行するその動作の処理を示すブロック図である。
【００４２】
図５に示すように、ＥＣＵ２６は、音声認識部１０８、画像処理部１１０、自己位置推定部１１２、人特定部１１４、人情報Ｄ／Ｂ（データベース）１１６、地図Ｄ／Ｂ（データベース）１１８、音声・発話Ｄ／Ｂ（データベース）１２０、歩容Ｄ／Ｂ（データベース）１２１、行動決定部１２２、発話生成部１２４および動作制御部１２６を備える。
【００４３】
音声認識部１０８は、音声入出力装置８４のマイクロフォン８４ａから収集された音声を入力し、音声・発話Ｄ／Ｂ１２０に記憶された語彙に基づいて人の指示あるいは意図を認識する。
【００４４】
画像処理部１１０は、人位置認識部１１０ａを備える。人位置認識部１１０ａは、ＣＣＤカメラ８２で同時刻に撮影された画像を入力し、それらの視差から距離画像を生成する。また、一方のＣＣＤカメラから撮影時刻の異なる画像を入力し、それらの差分に基づいて動きのある領域を抽出した差分画像を生成する。そして、生成した距離画像と差分画像に基づき、人の位置とそこまでの距離を認識する。尚、画像に基づいて人を認識する手法は、例えば本出願人が先に提案した特開２００４−３０２９０５号公報などに詳しいので、詳細な説明は省略する。
【００４５】
自己位置推定部１１２は、ＧＰＳ受信器９０から入力された位置情報に基づき、ロボット１０の現在位置を推定する。尚、衛星から発信された電波をＧＰＳ受信器９０で受信できないときは、ジャイロセンサ８８によって検出された移動方向と距離に基づき、現在位置を推定する。
【００４６】
人特定部１１４は、ＩＣタグ信号受信器９４を介して入力されたＩＣタグ９２の識別情報に基づき、人、具体的には、人位置認識部１１０ａで認識された人を識別する。ＩＣタグ９２は、識別情報を記憶したＩＣ９２ａと、識別情報をＩＣタグ信号受信器９４に無線で送出するアンテナ９２ｂとからなり、人に携行される。尚、ＩＣタグ９２には、人によって異なる識別情報が記憶されているのは言うまでもない。
【００４７】
人情報Ｄ／Ｂ１１６には、ＩＣタグ９２を携行する人、即ち、人の固有情報が格納される。固有情報には、身長、性別、顔画像、所属先などの社会的な属性を含む情報が含まれる。地図Ｄ／Ｂ１１８にはロボット１０の移動環境、例えばロボット１０が配置される会社の社屋などの地図情報が格納されると共に、音声・発話Ｄ／Ｂ１２０には上記した語彙が格納される。
【００４８】
歩容Ｄ／Ｂ１２１には、ロボット１０が目標とすべき運動のパターンと床反力のパターン、より具体的には基体１４が目標とすべき位置姿勢の軌道、足部３４が目標とすべき位置姿勢の軌道からなる運動のパターンと、脚部１２Ｌ，１２Ｒに作用させるべき目標全床反力の軌道とその中心点の軌道からなる床反力のパターンからなる歩容データが格納される。全床反力の中心点は、ＺＭＰ（Zero Moment Point）と同義である。
【００４９】
行動決定部１２２は、後述するように、歩容Ｄ／Ｂ１２１に格納された歩容に基づき、人に手を引かれて、あるいは人の手を引いて歩行するときの歩容を生成すると共に、動作を決定し、動作制御部１２６を介して脚部アクチュエータ１００、腕部アクチュエータ１０２、ハンドアクチュエータ１０４および頭部アクチュエータ１０６の動作を制御する。また、行動決定部１２２は、発話生成部１２４を介して音声・発話Ｄ／Ｂ１２０に記憶された情報から発話すべき音声信号を合成し、音声入出力装置８４のスピーカ８４ｂを駆動する。
【００５０】
次いで、この装置の動作について行動決定部１２２で実行される処理に焦点をおいて説明する。図６はその処理を示すフロー・チャートである。図６は、人に手を引かれて歩行するときの動作を示す。
【００５１】
以下説明すると、Ｓ１０において人、即ち、手を引いて誘導してくれるはずの相手がいるか否か判断する。これは画像処理部１１０の出力から判断するが、前記したように人にはＩＣタグ９２を携行させていることから、ＩＣタグ信号受信器９４の出力から判断しても良く、さらには両者から判断しても良い。尚、Ｓ１０の処理では、外部からコマンドを入力して行っても良い。
【００５２】
Ｓ１０で否定されるときは処理を繰り返して待機する一方、肯定されるときはＳ１２に進み、移動してその相手に接近し、Ｓ１４に進み、所定距離以内に接近したか否か判断する。これも画像処理部１１０の出力あるいはＩＣタグ信号受信器９４の出力のいずれか（あるいは双方）から判断する。尚、所定距離は、数ｍとする。Ｓ１４で否定されるときは処理を繰り返すと共に、肯定されるときはＳ１６に進み、さらに移動して相手に接近、具体的には１ｍ程度まで接近する。
【００５３】
次いでＳ１８に進み、相手の身長を認識ずみか否か判断する。前記したように人情報Ｄ／Ｂ１１６にはＩＣタグ９２の携行者の身長などのデータが格納されると共に、画像処理部１１０の出力からもある程度は概算することができるので、Ｓ１８の判断は通例肯定されてＳ２０に進み、ハンド２２の位置、より具体的には引かれる方のハンド、例えば右側のハンド２２Ｒの重力方向における目標位置、換言すれば、相手の身長に応じた高さを計算（算出）する。尚、Ｓ１８で否定されるときはＳ２２に進み、初期値を採用する。
【００５４】
次いでＳ２４に進み、算出された位置（あるいは初期値）で相手に握らせるべく（相手に接触するように）腕部アクチュエータ１０２とハンドアクチュエータ１０４の動作を制御し、腕部２０とハンド２２を駆動する。
【００５５】
次いでＳ２６に進み、右側の腕部２０Ｒに配置された力センサ７８Ｒから出力される外力の力成分Ｆがしきい値Ｆgraspを絶対値において超えるか、あるいは力センサ７８Ｒから出力される外力のモーメント成分Ｍがしきい値Ｍgraspを絶対値において超えるか否か判断する。Ｓ２６の処理は、換言すれば、相手がある程度の力でハンド２２Ｒを握っているか否か判断することを意味する。尚、ここで外力の力成分およびモーメント成分は、前記した如く、Ｘ，Ｙ，Ｚ方向の３成分を意味する。
【００５６】
Ｓ２６で否定されるときは処理を繰り返して待機すると共に、肯定されるときはＳ２８に進み、力センサ７８で検出された外力の力成分Ｆとモーメント成分Ｍ、具体的にはＦｘ，Ｆｙ，Ｆｚ，Ｍｘ，Ｍｙ，Ｍｚに応じて相手の手を握る。即ち、検出された外力で相手の手を握るように、ハンドアクチュエータ１０４の動作を制御する。
【００５７】
次いでＳ３０に進み、荷重中心点を計算する。即ち、この実施例では右のハンド２２Ｒを相手に握らせることを予定しているが、相手が両方のハンド２２Ｒ，２２Ｌを握る可能性も否定できないため、荷重中心点を計算して相手が右ハンド２２Ｒのみを握っているのかどうか確認する。
【００５８】
次いでＳ３２に進み、力センサ７８Ｒの出力（外力Ｆ，Ｍ）のフィルタリング処理を行う。具体的には、高周波成分を除去することで、ノイズ成分を除去する。
【００５９】
次いでＳ３４に進み、力センサ７８Ｒから出力される外力の力成分Ｆがしきい値Ｆwalkを絶対値において超えるか、あるいは力センサ７８Ｒから出力される外力のモーメント成分Ｍがしきい値Ｍwalkを絶対値において超えるか否か判断する。ここでも外力の力成分およびモーメント成分は、Ｘ，Ｙ，Ｚ方向の３成分を意味する。
【００６０】
しきい値ＦwalkおよびＭwalkは、前記したしきい値ＦgraspおよびＭgraspよりも大きい値を意味する。Ｓ３４の処理は、換言すれば、相手が手を引いて歩行しようとする程度の力がロボット１０に作用しているか否か判断することを意味する。
【００６１】
Ｓ３４で肯定されるときはＳ３６に進み、力センサ７８Ｒから出力される外力の力成分Ｆがしきい値Ｆchestを絶対値において超えるか、あるいは力センサ７８Ｒから出力される外力のモーメント成分Ｍがしきい値Ｍchestを絶対値において超えるか否か判断する。ここでも外力の力成分およびモーメント成分は、Ｘ，Ｙ，Ｚ方向の３成分を意味する。
【００６２】
しきい値ＦchestおよびＭchestは、前記したしきい値ＦwalkおよびＭwalkよりも大きい値を意味する。Ｓ３６の処理は、換言すれば、相手が手を引いて歩行するのに必要な力を超えてそれ以上の力で引いており、過度の力がロボット１０に作用しているか否か判断することを意味する。
【００６３】
Ｓ３６で肯定されるときはＳ３８に進み、腰の回転量を計算する。即ち、過度な力で引かれていることから、その力と同一の方向（逃がす方向）に、基体リンク３６の関節３８を介して上半部３６ａを下半部３６ｂに対して相対回転させるべき回転量を計算し、該当するアクチュエータを駆動して関節３８を駆動する。尚、Ｓ３６で否定されるときは、Ｓ３８の処理をスキップする。
【００６４】
次いでＳ４０に進み、力センサ７８の出力から得られた外力の力成分Ｆとモーメント成分Ｍのベクトルの方向と大きさを計算する。
【００６５】
次いでＳ４４に進み、計算された外力Ｆ，Ｍのベクトルの方向と大きさに基づき、歩容（Ｘ，Ｙ，ＴＨＺ）を計算する。即ち、相手（人）から作用する外力を検出し、検出された外力に基づいて人（相手）の進行方向を推定し、推定された進行方向に基づいて歩容を計算（生成）する。ここで、ＴＨＺはＺ軸周りの角度、具体的にはＳ３８で触れた腰の回転量を意味する。また、歩容を、外力に応じ、必要があれば、歩幅を変更するように計算(生成)する。
【００６６】
図７は、図５に示す行動決定部１２２を詳細に示すブロック図である。図示の如く、行動決定部１２２は、腕姿勢決定手段２００と人反力平衡制御装置２０２などを備える。即ち、腕姿勢決定手段２００は手を引かれて歩行するときの腕姿勢、具体的には目標ハンド位置姿勢、目標基体位置姿勢などを算出する。人反力平衡制御装置２０２は、目標基体位置姿勢と力センサ７８の検出値などから、動力学的平衡条件を満足する人反力平衡制御用補償全床反力と修正目標基体位置姿勢を算出して脚動作制御部と腕動作制御部（図５に示す動作制御部１２６）に出力する（腕動作制御部には修正目標基体位置姿勢のみが出力される）。それらに基づき、図５などで述べた脚部アクチュエータ１００などで制御が実行される。このように、Ｓ４４においては、ベクトルの方向と大きさと図７に示す他のパラメータに基づき、歩容を計算あるいは生成する。ベクトルの方向、即ち、人から作用する外力は、人に手を引かれて歩行する場合、進行方向前向きの力となる。
【００６７】
次いでＳ４６に進み、算出された歩容についてリミット処理を行う。即ち、ロボット１０の特性上、Ｘ方向に比してＹ方向への動作が制約されることから、算出された歩容について主としてＹ方向についてリミット処理を行う。尚、Ｓ３４で否定されるときはＳ４８に進んで歩行終了処理を実行し、Ｓ４６の後にジャンプする。
【００６８】
次いでＳ５０に進み、生成された歩容に基づいて脚部アクチュエータ１００の指令値を算出し、Ｓ５２に進んで算出された指令値に基づいて脚部アクチュエータ１００の動作を制御（駆動）する。
【００６９】
また、Ｓ５０の処理と平行してＳ５４において生成された歩容に基づいて腕部アクチュエータ１０２の指令値を算出し、Ｓ５６に進んで腕部アクチュエータ１０２の動作を制御（駆動）する。
【００７０】
また、Ｓ５４の処理と平行してＳ５８において生成された歩容に基づいてハンドアクチュエータ１０４の指令値を算出し、Ｓ６０に進んでハンドアクチュエータ１０４の動作を制御（駆動）すると共に、Ｓ６２において頭部アクチュエータ１０６の指令値を算出し、Ｓ６４に進んで頭部アクチュエータ１０６の動作を制御（駆動）する。
【００７１】
図８は、Ｓ５４の腕部アクチュエータの指令値算出処理を示すサブ・ルーチン・フロー・チャートである。
【００７２】
以下説明すると、先ずＳ１００において力センサ７８Ｒから出力される力成分の中のＺ方向成分Ｆｚがしきい値Ｆz_limを絶対値において超えるか否か判断し、肯定されるときはＳ１０２に進んでＺ方向のハンドの位置の修正量を計算する。この処理は、換言すれば、相手（人）身長を認識してハンド２２Ｒの重力方向における位置を算出することに相当する。尚、Ｓ１００で否定されるときは、Ｓ１０２の処理をスキップする。
【００７３】
次いでＳ１０４に進み、歩行速度からＸ，Ｙ方向のハンド２２Ｒの位置を計算し、Ｓ１０６に進み、コンプライアンス制御計算を実行、即ち、コンプライアンス制御量を計算する。即ち、外力の小さな外乱分はコンプライアンス制御で吸収し、歩行には使用しないようにする。Ｓ５６では計算されたコンプライアンス制御量に基づき、コンプライアンス制御が実行される。
【００７４】
第１実施例は上記の如く、基体１４と、前記基体に連結される複数本の脚部１２と、前記基体に連結されると共に、その先端にそれぞれハンド２２が連結される複数本の腕部２０と、前記脚部を駆動する脚部アクチュエータ１００と、前記腕部を駆動する腕部アクチュエータ１０２とを少なくとも備えた脚式移動ロボット１０の動作を制御する脚式移動ロボットの制御装置において、前記ハンドを介して人に接触したとき、前記人から作用する外力を検出する外力検出手段（力センサ７８，ＥＣＵ２６，Ｓ２６，Ｓ３４，Ｓ３６）、前記検出された外力に基づいて前記人の進行方向を推定し、前記推定された進行方向に基づいて歩容を生成する歩容生成手段（ＥＣＵ２６，Ｓ３８からＳ４６）、および前記生成された歩容に基づいて少なくとも前記脚部アクチュエータの動作を制御する脚部アクチュエータ制御手段（ＥＣＵ２６，Ｓ５０，Ｓ５２，Ｓ５４からＳ６４）を備える如く構成したので、姿勢の不安定化を招くことなく、人と接触することができてコミュニケーション機能を向上させることができる。
【００７５】
また、前記生成される歩容は、前記人に手を引かれて歩行する歩容である如く構成したので、上記した効果に加え、単なる接触に止まらない点で、コミュニケーション機能を一層向上させることができる。
【００７６】
また、前記外力の外乱分を吸収するコンプライアンス制御を実行する如く構成したので（ＥＣＵ２６，Ｓ５４，Ｓ１０６，Ｓ５６）、上記した効果に加え、姿勢の不安定化を一層良く回避することができる。
【００７７】
また、前記生成される歩容において前記外力に応じて歩幅を変更する如く構成したので（ＥＣＵ２６，Ｓ４４）、上記した効果に加え、歩幅を変更して外力を吸収することができて姿勢の不安定化を一層良く回避することができる。
【００７８】
また、前記人の身長を認識して前記ハンドの重力方向における位置を算出するハンド位置算出手段（ＥＣＵ２６，Ｓ２０）、および前記決定されたハンドの位置で前記人に接触するように前記腕部アクチュエータの動作を制御する腕部アクチュエータ制御手段（ＥＣＵ２６，Ｓ２４，Ｓ５４，Ｓ１００からＳ１０６）を備える如く構成したので、上記した効果に加え、人に手（ハンド）を引かれるときの動作が一層円滑となり、コミュニケーション機能を一層向上させることができる。
【実施例２】
【００７９】
次いで、この発明の第２実施例を説明する。図９および図１０は、この発明の第２実施例に係る脚式移動ロボットの制御装置の動作を第１実施例と同様に行動決定部１２２で実行される処理に焦点をおいて説明するフロー・チャートである。
【００８０】
図９は第２実施例に係る脚式移動ロボットの制御装置の動作を示すフロー・チャートの前半部、図１０は図９フロー・チャートの後半部である。より具体的には、図９は人の手を引いて歩行（人を案内）するときの動作を示すフロー・チャート、図１０は人に手を引かれて歩行するときの動作を示す、第１実施例の図６フロー・チャートと同様のフロー・チャートである。
【００８１】
以下説明すると、Ｓ２００において人を案内すべきか否か判断する。これは、音声認識部１０８を介してオペレータから人（例えば来客）を案内するように指示がなされているのを認識したか否かで判断する。あるいは外部からコマンドを入力して行っても良く、あるいは初期状態として人を案内するように設定しても良い。
【００８２】
Ｓ２００で否定されるときは図１０フロー・チャートに進み、Ｓ３００から始まる処理を実行する。図１０フロー・チャートのＳ３００からＳ３５４までの処理は、第１実施例の図６フロー・チャートのＳ１０からＳ６４までの処理と同様であり、ロボット１０が人に手を引かれて歩行するときの処理である。
【００８３】
他方、Ｓ２００で肯定されるときはＳ２０２以降に進む。Ｓ２０２以降は、図１１に示す如く、ロボット１０が人の手を引いて歩行、即ち、人を案内する動作を行なうときの処理を示す。
【００８４】
以下説明すると、Ｓ２０２では目的を設定する。これは音声認識部１０８を介してなされた指示から例えば応接室までの案内動作と設定するような処理である。次いでＳ２０４に進み、案内すべき人（相手）を探索する。これは、人が携行するＩＣタグ９２から発信されるＩＣタグ情報をＩＣタグ信号受信器９４で受信することで、あるいは画像処理部１１０を介して認識することで行う。
【００８５】
次いでＳ２０６に進み、案内すべき人を発見したか否か判断し、肯定されるときはＳ２０８に進み、案内すべき人に対して所定距離以内に接近したか否か確認し、肯定されるときはＳ２１０に進み、移動して相手に接近する。これらの処理は、第１実施例の図６フロー・チャートのＳ１２からＳ１６までの処理と同様である。
【００８６】
次いでＳ２１２に進み、相手の身長を認識ずみか否か判断し、肯定されるときはＳ２１４に進み、相手の手を引くのに使用する方のハンド、例えば右側のハンド２２Ｒの重力方向における相手の身長に応じた高さを計算する。Ｓ２１２で否定されるときはＳ２１６に進み、初期値を採用する。次いでＳ２１８に進み、算出された位置で相手の手を握るべく腕部アクチュエータ１０２とハンドアクチュエータ１０４の動作を制御し、腕部２０とハンド２２を駆動する。
【００８７】
次いでＳ２２０に進み、右側の腕部２０Ｒに配置された力センサ７８Ｒから出力される力成分Ｆがしきい値Ｆgraspを絶対値において超えるか、あるいは力センサ７８Ｒから出力されるモーメント成分Ｍがしきい値Ｍgraspを絶対値において超えるか否か判断する。Ｓ２２０で否定されるときは処理を繰り返して待機すると共に、肯定されるときはＳ２２２に進み、力センサ７８で検出された外力Ｆ，Ｍ、具体的にはＦｘ，Ｆｙ，Ｆｚ，Ｍｘ，Ｍｙ，Ｍｚで相手の手を握るように、ハンドアクチュエータ１０４の動作を制御する。Ｓ２１２からＳ２２２までの処理も、第１実施例の図６フロー・チャートのＳ１８からＳ２８までの処理と異ならない。
【００８８】
次いでＳ２２４に進み、相手と手を繋いだことを力センサ７８の出力から確認してＳ２２６に進み、経路を生成する。即ち、Ｓ２０２の目的の設定で認識された目的地までの移動経路を、地図Ｄ／Ｂ１１８に格納されている地図情報に基づいてノードとして設定あるいは決定する。尚、移動経路をノードで設定する技術は、本出願人が先に提案した特開２００６−１９５９６９号公報に記載されているので、ここでの説明は省略する。
【００８９】
次いでＳ２２８に進み、歩行制御を実行する。これは前記した歩容Ｄ／Ｂ１２１に格納された歩容から歩容を生成して脚部アクチュエータ１００などを制御する処理を意味し、具体的には第１実施例の図６フロー・チャートのＳ３４からＳ６４までの処理（図１０フロー・チャートのＳ３２４からＳ３５４までの処理に同じ）を実行することを意味する。尚、この場合、人の手を引いて歩行することから、ベクトルの方向、即ち、人から作用する外力は、進行方向後向きの力となる。
【００９０】
次いで２３０に進み、発話により相手に注意を促す。例えば、「そこの角を曲がります」「段差があります」などと発話して相手の注意を促す。次いでＳ２３２に進み、相手の手が離れたか否か判断する。Ｓ２３２で否定され、次いでＳ２３４において目的地に到着したと判断されると、Ｓ２３６において相手に到着を説明し、手を離して相手から離れる。
【００９１】
ここで、Ｓ２０６で否定されて相手（人）を発見できなかった場合について説明すると、その場合はＳ２３８に進み、Ｓ２０４で相手の探索を開始してからの経過時間Ｔｍが所定値Ｔ１（例えば５秒）を超えるか否か判断する。これはＳ２３２で肯定され、目的地に到着する前に相手の手が離れたと判断される場合も同様である。
【００９２】
そしてＳ２３８で否定される限り、Ｓ２０４に戻って探索を継続すると共に、Ｓ２３８で肯定されるときはＳ２４０に進み、「何々さん、いませんか？」などと発話して相手を呼び、Ｓ２４２に進み、前記した経過時間Ｔｍが第２の所定値Ｔ２（例えば２０秒）を超えるか否か判断する。Ｓ２４２で否定されるときはＳ２０４に戻って探索を継続する。
【００９３】
他方、Ｓ２４２で肯定されるときはＳ２４４に進み、タイムアウト処理を行い、以降の処理をスキップする。このように、相手を直ぐに発見できないとき、あるいは相手の手が離れたと判断されるときは、例えば５秒から２０秒の間探索し続けると共に、それでも探索できないときは案内動作を中止する。
【００９４】
第２実施例は上記の如く、基体１４と、前記基体に連結される複数本の脚部１２と、前記基体に連結されると共に、その先端にそれぞれハンド２２が連結される複数本の腕部２０と、前記脚部を駆動する脚部アクチュエータ１００と、前記腕部を駆動する腕部アクチュエータ１０２とを少なくとも備えた脚式移動ロボット１０の動作を制御する脚式移動ロボットの制御装置において、前記ハンドを介して人に接触したとき、前記人から作用する外力を検出する外力検出手段（力センサ７８，ＥＣＵ２６，Ｓ２２０，Ｓ３２４，Ｓ３２６）、前記検出された外力に基づいて歩容を生成する歩容生成手段（ＥＣＵ２６，Ｓ２２８，Ｓ３２８からＳ３３６）、および前記生成された歩容に基づいて少なくとも前記脚部アクチュエータの動作を制御する脚部アクチュエータ制御手段（ＥＣＵ２６，Ｓ２２８、Ｓ３４０，Ｓ３４２，Ｓ３４４からＳ３５４）を備える如く構成したので、姿勢の不安定化を招くことなく、人と接触することができてコミュニケーション機能を向上させることができる。
【００９５】
また、前記生成される歩容は、前記人の手を引いて歩行する歩容（Ｓ２００，Ｓ２２８，Ｓ３２８からＳ３３６）または前記人に手を引かれて歩行する歩容（Ｓ２００，Ｓ３２８からＳ３３６）である如く構成したので、上記した効果に加え、単なる接触に止まらない点で、コミュニケーション機能を一層向上させることができる。
【００９６】
また、前記外力の外乱分を吸収するコンプライアンス制御を実行する如く構成したので（ＥＣＵ２６，Ｓ３４４，Ｓ１０６，Ｓ３４６）、上記した効果に加え、姿勢の不安定化を一層良く回避することができる。
【００９７】
また、前記生成される歩容において前記外力に応じて歩幅を変更する如く構成したので（ＥＣＵ２６，Ｓ３３４）、上記した効果に加え、歩幅を変更して外力を吸収することができて姿勢の不安定化を一層良く回避することができる。
【００９８】
また、前記人の身長を認識して前記ハンドの重力方向における位置を算出するハンド位置算出手段（ＥＣＵ２６，Ｓ２１４，Ｓ３１０）、および前記決定されたハンドの位置で前記人に接触するように前記腕部アクチュエータの動作を制御する腕部アクチュエータ制御手段（ＥＣＵ２６，Ｓ２１８，Ｓ３１４，Ｓ３４４，Ｓ１００からＳ１０６）を備える如く構成したので、上記した効果に加え、人に手（ハンド）を引かれるときの動作が一層円滑となり、コミュニケーション機能を一層向上させることができる。
【００９９】
尚、第１および第２実施例において人に手を引かれて歩行するときの動作において発話しなかったが、第２実施例の人の手を引いて歩行するときの動作と同様、発話生成部１２４などを介して発話しても良い。
【０１００】
また上記において、ＩＣタグ９２からＩＣタグ信号受信器９４に無線系を通じて識別情報を出力したが、特開２００５−２９１７１６号公報に開示されるような無線系と光通信を組み合わせた検知技術を利用しても良い。
【０１０１】
また上記において、脚式移動ロボットとして２足歩行ロボットを例示したが、それに限られるものではなく、３足以上のロボットであっても良い。
【図面の簡単な説明】
【０１０２】
【図１】この発明の第１実施例に係る脚式移動ロボットの制御装置が適用されるロボットの正面図である。
【図２】図１に示すロボットの側面図である。
【図３】図１に示すロボットをスケルトンで示す説明図である。
【図４】制御装置の構成を電子制御ユニット（ＥＣＵ）の入出力関係を中心に表すブロック図である。
【図５】図４に示すＥＣＵで行われる処理を示すブロック図である。
【図６】図５に示すＥＣＵで行われる処理を示すフロー・チャートである。
【図７】図５のＥＣＵの行動決定部の構成を示すブロック図である。
【図８】図６の腕部アクチュエータの指令値算出処理を示すサブ・ルーチン・フロー・チャートである。
【図９】この発明の第２実施例に係る脚式移動ロボットの制御装置の動作を示すフロー・チャートの前半部である。
【図１０】図９フロー・チャートの後半部である。
【図１１】図９フロー・チャートの動作である、人の手を引いての歩行を示すロボットの斜視図である。
【符号の説明】
【０１０３】
１０：脚式移動ロボット（ロボット）、１２：脚部、１４：基体、２０：腕部、２６：ＥＣＵ（電子制御ユニット）、８２：ＣＣＤカメラ、９２：ＩＣタグ、９４：ＩＣタグ信号受信器、１００：脚部アクチュエータ、１０２：腕部アクチュエータ、１０４：ハンドアクチュエータ、１０６：頭部アクチュエータ、１２０：行動決定部、１２６：動作制御部
【図１】
2007185763.tif 000003
【図２】
2007185763.tif 000004
【図３】
2007185763.tif 000005
【図４】
2007185763.tif 000006
【図５】
2007185763.tif 000007
【図６】
2007185763.tif 000008
【図７】
2007185763.tif 000009
【図８】
2007185763.tif 000010
【図９】
2007185763.tif 000011
【図１０】
2007185763.tif 000012
【図１１】
2007185763.tif 000013