(57)【要約】  【構成】  ロボットはたとえば２軸加速度センサを含み、当該ロボットの置かれる環境と当該ロボットの行動とセンサ出力の時系列データとを対応付けたマップを記憶している。ロボットは環境を認識するために行動を実行する(Ｓ５)とともに、行動中のセンサ出力を計測し(Ｓ７)、マップから作成された環境を判別対象とした決定木に基づいて環境を判定する(Ｓ９)。決定木に従って行動とセンサ出力計測と環境判定とを行い、環境を認識できたとき(Ｓ１１)、ロボットは認識した環境に適した行動を実行する(Ｓ１９)。また、環境に適した行動の実行中のセンサ出力を計測して(Ｓ２１)、環境の変化を把握すると(Ｓ２３)、決定木に基づいて変化後の環境の認識を行う。  【効果】  少量のセンサでも環境を認識でき、さらに環境に適した行動を実行できる。【選択図】  図７
2005288600.tif 000002
【特許請求の範囲】
【請求項１】
環境を認識するヒューマノイドロボットであって、
センサ、
前記ヒューマノイドロボットの置かれる環境と、前記ヒューマノイドロボットの行動と、前記センサの出力の時系列データとを対応付けたマップを記憶するマップ記憶手段、および
環境認識のための行動を実行する第１実行手段と、前記第１実行手段によって前記行動を実行しているときの前記センサの出力の時系列データを計測する第１計測手段とを含み、前記第１計測手段によって計測されたセンサの出力の時系列データと、前記マップに基づいて作成された環境を判別対象とした決定木とに基づいて、環境を認識する認識手段を備える、ヒューマノイドロボット。
【請求項２】
前記認識手段は、前記マップに基づいて環境を判別対象とした決定木を作成する決定木作成手段をさらに含む、請求項１記載のヒューマノイドロボット。
【請求項３】
前記センサは加速度センサを含み、
前記行動は、歩く、寝ころぶ、起き上がる動作の少なくとも１つを含み、
認識の対象となる環境は、少なくとも床の硬さまたは床の滑りによって分類されるものである、請求項１または２記載のヒューマノイドロボット。
【請求項４】
前記認識手段によって認識された環境に適した行動を実行する第２実行手段をさらに備える、請求項１ないし３のいずれかに記載のヒューマノイドロボット。
【請求項５】
前記第２実行手段によって前記行動を実行しているときの前記センサの出力の時系列データを計測する第２計測手段、および
前記第２計測手段によって計測されたセンサの出力の時系列データが、前記認識手段によって認識された環境と第２実行手段によって実行された行動とに対応するものであるか否かを前記マップに基づいて判断する環境変化判別手段をさらに備え、
前記環境変化判別手段によって前記センサの出力の時系列データが前記環境と前記行動とに対応するものではないと判断されたとき、前記認識手段によって環境を認識する、請求項４記載のヒューマノイドロボット。
【請求項６】
センサを備えて環境を認識するヒューマノイドロボットのための、前記ヒューマノイドロボットの置かれる環境と、前記ヒューマノイドロボットの行動と、前記センサの出力の時系列データとを対応付けたマップを作成するマップ作成方法であって、
(a) 前記ヒューマノイドロボットが認識すべき複数の環境において各環境に適した行動を実行するように複数の行動がそれぞれ調整されている前記ヒューマノイドロボットを準備し、
(b) 前記ヒューマノイドロボットを用いて、前記認識すべき複数の環境で前記複数の行動をそれぞれ実行することによって、各行動を実行しているときの前記センサの出力の時系列データを計測し、
(c) 環境と、当該環境で実行した行動と、当該行動を実行しているときに計測された前記センサの出力の時系列データとを対応付ける、マップ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はヒューマノイドロボットおよびマップ作成方法に関し、特にたとえば、環境を認識し、その環境に適した行動をするヒューマノイドロボット、およびそのようなヒューマノイドロボットのための、環境と行動とセンサ出力とを対応付けたマップを作成するマップ作成方法に関する。
【背景技術】
【０００２】
たとえば非特許文献１に紹介されるＡＳＩＭＯ（商品名）のような２足歩行型のヒューマノイドロボットは、環境を認識しきれないと転倒して潰れてしまうおそれがある。そのため、たとえば適当に行動を起こして、その後に環境を認識するようなことはできないので、行動の前にロボットの置かれている環境を認識してやる必要があった。従来のヒューマノイドロボットでは、環境のほかにも人間や障害物などを認識するために多くのセンサが設けられるので、あらゆるセンサの出力を活用して、環境を認識してから行動している。
【非特許文献１】“ASIMO SPECIAL SITE”、本田技研工業株式会社、インタネット＜ＵＲＬ：http://www.honda.co.jp/ASIMO/＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術では、環境の認識のために多くのセンサを必要とするので、コスト、配線および消費電力などの面で問題があった。
【０００４】
それゆえに、この発明の主たる目的は、センサの数や種類が少なくても、環境を認識することができる、ヒューマノイドロボット、およびそのようなヒューマノイドロボットのための環境と行動とセンサ出力とを対応付けたマップを作成するマップ作成方法を提供することである。
【課題を解決するための手段】
【０００５】
請求項１の発明は、環境を認識するヒューマノイドロボットであって、センサ、ヒューマノイドロボットの置かれる環境と、ヒューマノイドロボットの行動と、センサの出力の時系列データとを対応付けたマップを記憶するマップ記憶手段、および環境認識のための行動を実行する第１実行手段と、第１実行手段によって行動を実行しているときのセンサの出力の時系列データを計測する第１計測手段とを含み、第１計測手段によって計測されたセンサの出力の時系列データと、マップに基づいて作成された環境を判別対象とした決定木とに基づいて、環境を認識する認識手段を備える、ヒューマノイドロボットである。
【０００６】
請求項１の発明では、ヒューマノイドロボット（以下、単にロボットともいう。）は環境を認識するものであり、センサを含む。マップ記憶手段は、ロボットの置かれる環境と、ロボットの行動と、センサの出力の時系列データとを対応付けたマップを記憶していて、ロボットは、このマップを用いて、実際にロボットの存在している環境がいずれであるかを認識する。環境は認識手段によって認識される。つまり、認識手段の第１実行手段は環境認識のための行動を実行し、第１計測手段は、第１実行手段によって行動を実行しているときのセンサの出力の時系列データを計測する。そして、この認識手段は、第１計測手段によって計測されたセンサの出力の時系列データと、マップに基づいて作成された環境を判別対象とした決定木に基づいて、環境を認識する。決定木は、ロボットの実行した行動とそのときのセンサ出力とによってロボットの存在する環境を判定していく決定手順の適用順序を定めたものである。したがって、認識手段は、決定木において環境が決定されるまで、決定木に従って行動の実行とそのときのセンサ出力による判定とを繰り返していくことで、環境を認識することができる。したがって、請求項１の発明によれば、センサ出力の時系列データとロボットの行動と環境とを対応付けたマップを備えているので、センサが少なくても、マップに基づいて作成された環境を判別対象とした決定木に基づいて、環境を認識することができる。
【０００７】
請求項２の発明は、請求項１の発明に従属し、認識手段は、マップに基づいて環境を判別対象とした決定木を作成する決定木作成手段をさらに含む。
【０００８】
請求項２の発明では、決定木作成手段は、マップに基づいて環境を判別対象とした決定木を作成する。これにより、環境を認識しようとするたびごとにマップに基づいて決定木を作成することができる。したがって、請求項２の発明によれば、環境認識を行う際に、最初の行動を任意に選択することができる。
【０００９】
請求項３の発明は、請求項１または２の発明に従属し、センサは加速度センサを含み、行動は、歩く、寝ころぶ、起き上がる動作の少なくとも１つを含み、認識の対象となる環境は、少なくとも床の硬さまたは床の滑りによって分類されるものである。
【００１０】
請求項３の発明では、ロボットに設けられるセンサは加速度センサを含み、ロボットの実行する行動は、歩く、寝ころぶ、起き上がる動作の少なくとも１つを含み、そして、認識の対象となる環境は、少なくとも床の硬さまたは床の滑りによって分類されるものである。したがって、請求項３の発明によれば、歩く、寝ころぶ、起き上がる動作のような床との接触を伴う行動を実行しているときの、加速度センサの出力の時系列データを計測することによって、床の硬さまたは床の滑り（摩擦）などの違いのある環境を認識することができる。
【００１１】
請求項４の発明は、請求項１ないし３のいずれかに従属し、認識手段によって認識された環境に適した行動を実行する第２実行手段をさらに備える。
【００１２】
請求項４の発明では、第２実行手段は、認識手段によって認識された環境に適した行動を実行する。したがって、請求項４の発明によれば、環境を認識した後には、当該環境に適した行動を実行することができるので、環境に合わせて、望み通りの動作を行うことができる。
【００１３】
請求項５の発明は、請求項４の発明に従属し、第２実行手段によって行動を実行しているときのセンサの出力の時系列データを計測する第２計測手段、および第２計測手段によって計測されたセンサの出力の時系列データが、認識手段によって認識された環境と第２実行手段によって実行された行動とに対応するものであるか否かをマップに基づいて判断する環境変化判別手段をさらに備え、環境変化判別手段によってセンサの出力の時系列データが環境と行動とに対応するものではないと判断されたとき、認識手段によって環境を認識する。
【００１４】
請求項５の発明では、第２計測手段は、第２実行手段によって行動を実行しているときのセンサの出力の時系列データを計測する。環境変化判別手段は、第２計測手段によって計測されたセンサの出力の時系列データが、認識手段によって認識された環境と第２実行手段によって実行された行動とに対応するものであるか否かをマップに基づいて判断する。認識している環境に適した行動を実行したときのセンサ出力は、マップで対応付けられているセンサ出力となるはずであるので、この環境変化判別手段によって、センサ出力に基づいて環境の変化を判別している。そして、環境変化判別手段によってセンサの出力の時系列データが環境と行動とに対応するものではないと判断されたときには、環境が変化したことがわかるので、認識手段によって環境を認識する。したがって、請求項５の発明では、一旦環境を認識した後でも環境の変化を把握することができるので、変化後の環境を認識することができる。
【００１５】
請求項６の発明は、センサを備えて環境を認識するヒューマノイドロボットのための、ヒューマノイドロボットの置かれる環境と、ヒューマノイドロボットの行動と、センサの出力の時系列データとを対応付けたマップを作成するマップ作成方法であって、(a) ヒューマノイドロボットが認識すべき複数の環境において各環境に適した行動を実行するように複数の行動がそれぞれ調整されているヒューマノイドロボットを準備し、(b) ヒューマノイドロボットを用いて、認識すべき複数の環境で複数の行動をそれぞれ実行することによって、各行動を実行しているときのセンサの出力の時系列データを計測し、(c) 環境と、当該環境で実行した行動と、当該行動を実行しているときに計測されたセンサの出力の時系列データとを対応付ける、マップ作成方法である。
【００１６】
請求項６の発明によれば、環境と行動とセンサ出力とを対応付けたマップを作成することができるので、センサを備えたヒューマノイドロボットがこのマップを用いて環境を認識することが可能になる。
【発明の効果】
【００１７】
この発明によれば、センサ出力の時系列データとロボットの行動と環境とを対応付けたマップを備えているので、このマップに基づいて作成された環境を判別対象とした決定木と、行動中のセンサ出力とに基づいて、環境を判定することができる。したがって、センサが少なくても環境を認識することができる。さらに、認識した環境に適した行動を実行することができるので、環境内を円滑に動作することができる。
【００１８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１９】
図１はこの発明の一実施例のヒューマノイドロボット（以下、単に「ロボット」ともいう。）１０の外観を示し、図２はこのロボット１０をモデル表記した図解図である。図２を参照して、この実施例のロボット１０は、垂直方向または縦方向に間隔を隔てて設けられる２つの横杆１２および１４を含み、この上下横杆１２および１４の間には、胴体１６が形成される。
【００２０】
胴体１６の上部には、胸の自由度を形成する１つのヨー（Ｙａｗ）軸関節１８が設けられ、その下方には腰の自由度を形成する１つのピッチ（Ｐｉｔｃｈ）軸関節２０が設けられる。なお、よく知られているように、ヨー軸とは鉛直回転軸（Ｚ軸）であり、ピッチ軸とはこのヨー軸に直行する２つの軸の一方、たとえばＸ軸であり、そして、後述のロール（Ｒｏｌｌ）軸がヨー軸に直行する２つの軸の他方、たとえばＹ軸である。Ｘ軸（ピッチ軸）は図２の紙面に平行な方向に延びる回転軸であり、Ｙ軸（ロール軸）は図２の紙面に直行する方向に延びる回転軸である。
【００２１】
上横杆１２の両端には、腕２２Ｒおよび２２Ｌがそれぞれ取り付けられる。これら左右の腕２２Ｒおよび２２Ｌは同じ構成である。なお、右左を区別する必要があるときは、右を示す「Ｒ」または左を表す「Ｌ」を付し、また区別する必要がないときはこの「Ｒ」や「Ｌ」を付けないで示すようにして、重複する説明はできるだけ省く。このことは、後述の足についても同様である。
【００２２】
腕２２は、肩の自由度を形成するロール軸関節２４を含み、この肩関節２４によって上横杆１２に、ロール軸周りに回転可能に取り付けられる。この肩関節２４の先には、それぞれ１つずつのピッチ軸関節２６、ヨー軸関節２８、およびロール軸関節３０の直列接続が設けられる。したがって、この実施例のロボット１０の場合、腕２２は、４自由度であり、左右で８自由度である。
【００２３】
また、下横杆１４の両端には、足３２Ｒおよび３２Ｌがそれぞれ取り付けられる。足３２は、股関節の自由度を形成する１つのロール軸関節３４によって下横杆１４に取り付けられ、この股関節３２から先の下端方向には、連続する３つのピッチ軸関節３６、３８および４０、および１つのロール軸関節４２、さらには１つのヨー軸関節４４の直列接続が取り付けられる。したがって、この実施例のロボット１０の場合、足３２は、６自由度であり、左右で１２自由度である。
【００２４】
図１の実施例のロボット１０の電気的構成が図２のブロック図に示される。図２に示すように、このロボット１０は、全体の制御のためにマイクロコンピュータまたはＣＰＵ４６を含み、このＣＰＵ４６には、バス４８を通して、メモリ５０，モータ制御ボード５２，およびセンサ入力／出力ボード５４が接続される。
【００２５】
メモリ５０は、図示しないが、ＲＯＭやＲＡＭを含み、ＲＯＭにはこのロボット１０の制御プログラムおよびデータが予め書き込まれていて、ＲＡＭは、一時記憶メモリとして用いられるとともにワーキングメモリとして利用され得る。なお、このメモリ５０には、図４に示すような環境‐最適行動テーブルや、図５に示すようなセンサ出力時系列‐行動‐環境対応付けマップが予め記憶されているが、これらの説明は後述する。
【００２６】
センサ入力／出力ボード５４には、図２の胴体１６に設けられる１つの２軸加速度センサ５６と、関節角度センサ５８とが接続される。なお、関節角度センサ５８は１つのブロックで示すが、実際には、上で説明した２２個の関節にそれぞれ個別に設けられ、それぞれの関節角を検出する２２個の関節角度センサを含む。２軸加速度センサ５６は、ロボット１０の前後方向および左右方向の２軸で加速度を検出することができる。この２軸加速度センサ５６の出力を用いて、ＣＰＵ４６は、ロボット１０の２足歩行や反動起き上がり等を制御する。また、ＣＰＵ４６は、この２軸加速度センサ５６の出力時系列を計測して、メモリ５０に記憶された対応付けマップを用いて環境を認識する。
【００２７】
モータ制御ボード５２は、たとえばＤＳＰ(Digital Signal Processor) で構成され、各腕、各足、胸、腰の各関節軸モータ６０を制御する。図３では図の簡略化のために、関節軸モータ６０は１つのブロックで示すが、実際には、上で説明した２２個の関節のそれぞれに１つのモータ（サーボモータ）が設けられ、それぞれの関節角度を制御する２２個のモータを含む。
【００２８】
図４には、メモリ５０に予め記憶された、環境と最適行動とを対応付けたテーブルの一例が示される。この実施例のロボット１０では、当該ロボット１０が置かれることになるすなわちロボット１０が認識すべき多数の環境Ｅ１，Ｅ２，…Ｅｉ（ｉは所定の整数）が予め把握されている。環境は、たとえばその床（または地面）の反力および形状等によって分類される。具体的には、床の硬さ（硬＜＞柔）、および床の滑り（摩擦：小＜＞大）などの要素の違いで分類され、この実施例ではｉ個の環境が想定される。この図４の例では、たとえば、環境Ｅ１は、硬さが硬くかつ摩擦が小さいものであり、環境Ｅ２は、硬さが硬くかつ摩擦が中程度のものであり、また、環境Ｅｉは、硬さが柔らかくかつ摩擦が大きいものである。
【００２９】
また、このロボット１０では、たとえば「歩く」、「寝ころぶ」、「反動起き上がり」等の複数（ｊ個：ｊは所定の整数）の基本行動の全てについて、各環境で最適になるように予め調整された環境ごとの行動制御データが準備されている。そして、この環境‐最適行動テーブルでは、各環境に対応付けられて当該環境に最適な行動（識別子）が記憶されている。したがって、このテーブルを用いて各行動はどの環境に最適な行動であるのかを把握することが可能である。この図４の例では、たとえば、環境Ｅ１に最適な行動は、「歩く」行動に関しては行動Ａ１１であり、「寝ころぶ」行動に関しては行動Ａ１２であり、また、「反動起き上がり」行動に関しては行動Ａ１ｊであることが分かる。
【００３０】
図５には、メモリ５０に予め記憶された、センサ出力時系列‐行動‐環境対応付けマップの一例が示される。対応付けマップは、２軸加速度センサ５６の出力の時系列データと、ロボット１０の実行した行動と、ロボット１０の置かれた環境とを対応付けたものである。
【００３１】
ここで、この対応付けマップの作成方法について説明する。本発明者等は、外界の情報を検知するセンサの出力は、ロボットの行動と環境の特徴とに密接な関係があると考え、ロボットに環境を認識させ、また環境に適した行動を選択させるために、「ロボットの行動」と「センサ出力の時系列」と「環境」とを対応付けたマップを作成することとした。
【００３２】
対応付けマップを作成する際には、まず、ユーザが、ロボット１０の全て（ｊ個）の基本行動について、認識すべき多数（ｉ個）の環境Ｅ１−Ｅｉのそれぞれに最適なものになるようにチューニングをそれぞれ行って、各環境での最適行動Ａ１１−Ａｉｊとして各制御データを作成し、メモリ５０に格納しておく。たとえば、「歩く」行動については、滑り易い環境と滑り難い環境とでは足の下ろし方を変えたりするなど各環境で動作するのに適するようなチューニングが行われる。こうして、このロボット１０では、認識すべき多数の環境において各環境に適した行動を実行するように全ての行動がそれぞれ調整されている。
【００３３】
なお、図３では図示を省略してあるが、このロボット１０には外部インタフェース（たとえばＲＳ２３２Ｃ）が設けられ、図示しない外部のコンピュータとの間でデータを通信することが可能にされており、したがって、外部のコンピュータ上で作成した最適行動の制御データ等をロボット１０のメモリ５０に書き込むことができる。
【００３４】
そして、このチューニングされたロボット１０を用いて、認識すべき多数の環境Ｅ１−Ｅｉにおいて、全ての行動Ａ１１−Ａｉｊを実行することによって、各行動を実行しているときの２軸加速度センサ５６の出力の時系列データを計測してメモリ５０に蓄積する。具体的には、この実施例では、（ｊ×ｉ）個の行動をｉ個の環境で実行するので、（ｊ×ｉ×ｉ）個のセンサ出力時系列データが得られる。メモリ５０に蓄積したセンサ出力データは、たとえば、上述の外部インタフェースを介して外部コンピュータに転送する。
【００３５】
そして、たとえば外部コンピュータ上で、ロボット１０の置かれた環境と、当該環境でロボット１０の実行した行動と、当該行動を実行しているときのセンサ出力の時系列データとを対応付けることによって、図５に示すようなマップを作成する。作成されたマップデータは、外部コンピュータからロボット１０に転送されてメモリ５０に格納される。
【００３６】
なお、上述では、外部コンピュータ上でマップを作成する場合を説明したが、環境と行動とセンサ出力の対応付けは、ロボット１０上でそのまま行うようにしてもよい。
【００３７】
図５の例では、たとえば、センサ出力（時系列データ）Ｄ１と、行動Ａ１１と、環境Ｅ１，Ｅ２およびＥ５とが対応付けられていることが分かる。これは、行動Ａ１１を環境Ｅ１，Ｅ２およびＥ５で実行すると、同じセンサ出力Ｄ１が得られることを意味している。なお、行動Ａ１１は環境Ｅ１に最適になるようにチューニングされたものであるので、環境Ｅ１で行動Ａ１１を実行したときに得られたセンサ出力Ｄ１は、最適なセンサ出力と表現できる。
【００３８】
この実施例のロボット１０は、当該ロボット１０がどのような環境に置かれているのかを、最初に、あるいは環境の変化を検出したときなどに判定して、環境を認識する。環境を認識する際には、上述のようなセンサ出力時系列‐行動‐環境対応付けマップに基づいて、環境を認識するための決定木（decision tree）が作成される。つまり、ロボット１０のメモリ５０には、たとえばＩＤ３やＣ４．５等のような決定木自動生成アルゴリズムによる決定木作成プログラムが備えられていて、ＣＰＵ４６はその決定木作成プログラムを実行して、対応付けマップに基づいて環境を判別対象として決定木を作成する。この実施例では、ロボット１０の内部で決定木を自動作成することができるので、環境認識のために最初に実行する行動をランダムに選択することができる。
【００３９】
なお、決定木は、入力パターンのクラスを決定するための多段決定過程（multistage decision process）の一手法である。決定木では、各決定手順の適用順序が予め完全に定まっており、決定手順（分類器）の結果によって、次の段でどの分類器に行くかが定まる（参考文献：鳥脇純一郎、テレビジョン学会教科書シリーズ９「認識工学―パターン認識とその応用―」、コロナ社、１９９３）。
【００４０】
この実施例の決定木では、ロボット１０の実行した行動とそのときのセンサ出力とによってロボットの存在する環境を判定していく決定手順の適用順序が定められている。したがって、決定木において環境が決定されるまで、決定木に従って行動の実行とそのときのセンサ出力による判定とを繰り返していくことで、環境を認識することができる。
【００４１】
詳しくは、このロボット１０は、決定木に基づいて、その未認識の環境で行動するとともに、その行動中のセンサ出力の時系列を計測する。そして、センサ出力の計測結果に基づいて、環境の判定を試みる。環境が認識できなかった場合には、決定木に基づいて次の行動を選択し、再び行動、計測および判定を繰り返す。このようにして、このロボット１０は、決定木に基づいて、行動をしてじたばたするうちに、どの環境にいるのかを認識することができる。
【００４２】
図６には、作成される決定木の一例の一部の概略が示される。この図６の例では、最初の段に行動Ａ１１が設定されている。なお、この実施例では決定木の最初の段の行動はランダムで決定される。この図６の決定木による環境判定の流れの一例を説明すると、まず、行動Ａ１１の実行の結果、センサ出力Ｄ１が計測された場合には、次の段では、行動Ａ５５が選択されて実行される。そして、この行動Ａ５５の実行の結果、センサ出力Ｄ５が計測されなかった場合には、環境が決定され、つまり、このロボット１０の置かれている環境は環境Ｅ２であることが認識される。
【００４３】
そして、ロボット１０は、環境を認識すると、その認識した環境に適した行動を、たとえば環境‐最適行動テーブルに基づいて、実行することができる。したがって、ロボット１０は、認識した環境に合わせて、望みどおりに動作することができる。具体的には、床の硬さや滑り具合に合わせて、たとえば２足歩行することができるので、滑って転倒したりバランスを崩したりすることなく円滑に行動することができる。
【００４４】
さらに、このロボット１０では、環境に適した行動を実行しているときの、２軸加速度センサ５６の出力の時系列データを計測して、環境の変化を判別するようにしている。つまり、認識している環境に適した行動を実行したときのセンサ出力の時系列データは、マップで対応付けられている最適なセンサ出力となるはずである。そこで、センサ出力の時系列データが、認識している環境と実行した行動とに対応するものであるか否かを、対応付けマップに基づいて判断することによって、環境の変化を把握する。そして、センサ出力の時系列データがその環境と行動とに対応するものではなかった場合には、環境が変化してしまったことがわかるので、再び上述のような環境を認識するための処理を実行する。したがって、この実施例では、一旦環境を認識した後でも環境の変化を把握できるので、変化後の環境を認識でき、さらに変化後の環境に適した行動を実行できる。
【００４５】
具体的には、ロボット１０のＣＰＵ４６は、図７に示すようなフロー図に従って処理を実行する。図７の最初のステップＳ１では、メモリ５０に予め登録されている行動の中からランダムに１つの行動を選択する。次に、ステップＳ３で、決定木作成プログラムを実行して、選択した行動を初めの段とする決定木を、センサ出力時系列‐行動‐環境対応付けマップに基づいて生成する。
【００４６】
続いて、ステップＳ５で、選択した行動の制御データをメモリ５０から読み出して、その行動の実行を開始する。ステップＳ７では、行動中の２軸加速度センサ５６からの出力をセンサ入力／出力ボード５４を介して一定周期で計測して、行動中のセンサ出力時系列データをメモリ５０に記憶する。
【００４７】
そして、ステップＳ９では、決定木に基づく判定を行う。つまり、計測されたセンサ出力時系列データに基づいて、決定木の次の段でどの決定手順に進むかを判定する。たとえば図６の最初の行動Ａ１１を実行した場合で説明すると、計測されたセンサ出力データが、センサ出力Ｄ１であるか、またはその他の出力であるかを判断し、次にどちらの行動へ進むかを決定する。
【００４８】
続いて、ステップＳ１１で、環境を認識できたか否かを判断する。つまり、ステップＳ９の判定によって、決定木においてセンサ出力に基づいて進めた次の段が環境を決定するものであったか否かを判断する。
【００４９】
ステップＳ１１で“ＮＯ”であれば、つまり、環境を未だ認識するに至っていない場合には、続くステップＳ１３で、決定木に基づいて次の行動を選択する。つまり、決定木において進めた次の段の決定手順として設定されている行動を選択する。そして、ステップＳ５へ戻って、再び、選択した行動の実行（ステップＳ５）および行動中のセンサ出力計測（ステップＳ７）を処理し、センサ出力結果に基づいて決定木による判定（ステップＳ９）を行って、環境を認識できたか判断する（ステップＳ１１）。このように、ステップＳ５からステップＳ１３の処理を繰り返して、決定木に基づいて環境の認識を行う。
【００５０】
そして、ステップＳ１１で“ＹＥＳ”であれば、つまり、決定木において環境の決定に至った場合には、続くステップＳ１５で、認識した環境がいずれであるかをメモリ５０に記録する。ステップＳ１７では、ロボット１０の内部プログラムあるいは外部プログラムまたはユーザから下される行動指令に従い、その環境に適した行動をたとえば環境‐最適行動テーブルに基づいて選択する。たとえば、認識した環境が環境Ｅ１であった場合には、当該環境Ｅ１に最適な行動Ａ１１−行動Ａ１ｊの中から実行すべき行動を選択する。
【００５１】
続いて、ステップＳ１９で、選択した行動の実行を開始するとともに、ステップＳ２１で、行動中の２軸加速度センサ５６の出力時系列データを計測する。
【００５２】
そして、ステップＳ２３では、計測したセンサ出力データが、認識した環境と実行した行動に最適なものであったか否かを対応付けマップに基づいて判断する。つまり、このステップＳ２３では、環境が変化したかどうかを判定している。詳しくは、ステップＳ１９では、認識された環境において、当該環境に最適になるように調整された行動が実行されるので、ステップＳ２１では、マップにおいて当該環境と当該行動とに対応付けられた最適なセンサ出力が計測されるはずである。したがって、認識した環境において最適な行動を実行したときに計測されたセンサ出力が、対応付けマップに設定されたセンサ出力ではなかった場合には、認識していた環境が変化してしまったことが分かる。
【００５３】
そこで、ステップＳ２３で“ＮＯ”であれば、つまり、環境が変化してしまった場合には、その環境の認識を試みるべく、再びステップＳ１に戻って処理を繰り返す。これによって、変化した環境を認識することができるので、以後もその変化した環境に最適な行動を実行していくことができる。
【００５４】
一方、ステップＳ２３で“ＹＥＳ”であれば、つまり、環境が変化していない場合には、ステップＳ２５で、ロボット１０の内部プログラムあるいは外部プログラムまたはユーザから下される次の行動指令に従い、その環境において実行すべき次の行動の選択を処理する。そして、ステップＳ２７で、行動を終了するか否かを判断し、“ＮＯ”であれば、つまり、実行すべき行動がある場合には、ステップＳ１９に戻って、次の行動を実行する。他方、ステップ２７で“ＹＥＳ”であればこの処理を終了する。
【００５５】
この実施例によれば、行動中のセンサ出力を長い時系列で見ることによって、２軸加速度センサ５６の１種類１個という非常に少量のセンサであっても、通常の使い方では分からなかった情報を抽出でき、つまり、環境を認識することができる。したがって、このロボット１０では、認識した環境に適した行動を実行していくことができる。また、センサが非常に少量でも認識できるので、たとえば省配線および省電力を実現することができる。また、その他のセンサと組み合わせることによって、さらに多くの環境情報を抽出することができ、より複雑な行動選択を行うことも可能となる。
【００５６】
なお、上述の実施例では、図７のステップＳ２３で環境の変化を検出して、再び環境の認識処理を行なうとき、ステップＳ１に戻ってランダムに行動を選択することとなるが、他の実施例では、環境の変化を認識したときに実行していた行動を選択することによって、行動を継続しつつ環境の認識処理を行うようにしてもよい。
【００５７】
また、上述の各実施例では、メモリ５０に対応付けマップを記憶しておき、環境の認識のための最初の行動を任意に選択し、環境の認識処理を実行するたびに決定木を作成するようにしていたが、他の実施例では、外部コンピュータなどで対応付けマップから予め作成しておいた決定木を、メモリ５０に記憶しておくようにしてもよい。この場合には、決定木が固定されるので、環境の認識手法が固定される。つまり、ロボット１０は、環境を認識する際には、最初にいつも同じ行動を実行することとなる。
【００５８】
また、上述の各実施例では、ロボット１０には２軸加速度センサ５６を設けるようにしていた。そして、床（あるいは地面）の硬さや床の滑り等の要素の違いによって分類される環境において、歩く、寝ころぶ、反動起き上がりなどの床に接触する行動を実行し、行動中のセンサ出力時系列を計測することで、対応付けマップを作成していた。しかし、ロボット１０に設けるセンサの種類は適宜変更されてよい。ただし、認識ないし判別する環境の特徴と行動とが、センサ出力に反映されるものである必要がある。
【００５９】
また、上述の各実施例の自由度やそれらの具体的構成は単なる例示であり、必ずしも２２自由度なければならないというものではなく、関節軸モータは任意に変更可能である。なお、上述の実施例の２足歩行型のような自由度の多いロボットであれば、床の硬さや滑り（摩擦）の違いなど、判別可能な環境が多くなり、一方、たとえば車輪移動型のロボットの場合には、平滑か凹凸かといった程度で把握できるだけであり、判別可能な環境が少なくなる。
【図面の簡単な説明】
【００６０】
【図１】この発明の一実施例のロボットを示す外観図である。
【図２】図１実施例のロボットを示す図解図である。
【図３】図１実施例のロボットの電気的構成を示すブロック図である。
【図４】図３のメモリに記憶される環境ごとの最適行動に関するテーブルの一例を示す図解図である。
【図５】図３のメモリに記憶されるセンサ出力時系列と行動と環境とを対応付けたマップの一例を概略を示す図解図である。
【図６】マップから生成される決定木の一例の概略を示す図解図である。
【図７】図１実施例のロボットの動作の一例を示すフロー図である。
【符号の説明】
【００６１】
１０  …ロボット（ヒューマノイド）
２２Ｒ、２２Ｌ  …腕
３２Ｒ、３２Ｌ  …足
４６  …ＣＰＵ
５０  …メモリ
５２  …モータ制御ボード
５４  …センサ入力／出力ボード
５６  …２軸加速度センサ
６０  …関節軸モータ
【図１】
2005288600.tif 000003
【図２】
2005288600.tif 000004
【図３】
2005288600.tif 000005
【図４】
2005288600.tif 000006
【図５】
2005288600.tif 000007
【図６】
2005288600.tif 000008
【図７】
2005288600.tif 000009