(57)【要約】      （修正有）【課題】対象物と自身の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択するロボット装置及びその動作制御方法を提供する。【解決手段】ロボット装置の主制御部に、ボールを蹴る動作を行う際、支持脚（軸脚）及び蹴脚の決定、脚部の運び方（運脚）といった過程の動作を生成する構成としてインタラクション生成部２００を設ける。インタラクション生成部２００は、取得した画像を処理する画像処理部２０１と、この処理画像からボール等のインタラクション対象物を判別する対象物判別部２０２と、支持脚（軸脚）及び蹴脚、脚部の運び方（運脚）を生成する過程動作生成部２０３とを備える。【選択図】  図４
2004261913.tif 000002
【特許請求の範囲】
【請求項１】
外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づく自律的動作を実行するロボット装置において、
次に実行する動作である次動作と上記外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定手段を備えることを特徴とするロボット装置。
【請求項２】
上記動作対象はボールであり、上記次動作はボールを蹴る動作であって、上記移行動作決定手段は、上記外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚を決定することを特徴とする請求項１記載のロボット装置。
【請求項３】
外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置の動作制御方法において、
次に実行する動作である次動作と上記外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定工程を有することを特徴とするロボット装置の動作制御方法。
【請求項４】
上記動作対象はボールであり、上記次動作はボールを蹴る動作であって、上記移行動作決定工程では、上記外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚が決定されることを特徴とする請求項３記載のロボット装置の動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット装置及びロボット装置の動作制御方法に関し、特に、インタラクション対象物の状態を認識して合理的に動作するロボット装置及びインタラクション対象物の状態を認識して合理的な動作を決定するロボット装置の動作制御方法に関する。
【０００２】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等の脚式移動ロボットは、既に実用化されつつある。これらの脚式移動ロボットは、動物や人間により近い身体的形状を有する程、動物や人間に近い動作が実現でき、産業用ロボットと比較してエンターテインメント性を重視した様々な動作を行うことができる。そのため、エンターテインメントロボットと呼称されることがある。エンターテインメントロボットは、他のロボットや人間とコミュニケーションを交わしたり、身振り・手振りで内部状態を表現したり、ボールを探し出して蹴ったりできる。
【０００３】
具体的に、個々に取得した周辺環境情報を共有し合って、ロボット同士で協調して行進や、サッカー等の目的動作を実行する自律ロボットも提案されている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開平２００２−１７８２８３号公報
【０００５】
【発明が解決しようとする課題】
従来のロボット装置では、例えば、ボールを蹴る動作は、ボールを蹴る格好になるように関節の動きや各可動部の変動量が予め決められて「キックモーション」として用意されており、ボール位置とロボット装置との位置関係をつくったうえで、その決められたキックモーションを再生するといった方法で実現されている場合が多い。
【０００６】
ところが、上述の方法では、ある動作を再生モーションとして用意しておく必要があるため、単一若しくは多くとも数パターンの動作しか表現できない。「ボールを蹴る」動作を例にとると、まず、仮に「右脚（左脚）で正面に向かって蹴るときのモーション」が用意されているとする。この決められたキックモーションをもったロボット装置は、前段階として、例えばカメラから取得した画像やセンサ等を駆使してボールが自己に対して定位置になるように体制を整える作業が必要となる。そして、この体制からキックモーションを開始することになる。
【０００７】
しかし、実際には、カメラによる取得画像、ボールサイズ、ロボット装置の機体サイズ、床面状態から受ける歩幅変化等の影響などを考慮すると、ロボット装置とボールとの間に位置ズレが生じ、このキックモーションでは、蹴られたボールが間違った方向に移動したり、ボールが蹴られないことさえも生じる。
【０００８】
はじめにボールが自己に対して定位置になるように体制を整える動作をしない場合にしても、ボール位置によっては、ロボット装置がそこまで運脚する段階で、軸足になる脚の運脚軌跡がボール位置と重なり、ボールを蹴る動作に至る運脚の段階でボールに触れてしまうといった問題も起こる。例えば、右脚を軸足として左脚を蹴脚とするモーションが用意されているロボット装置において、このロボット装置から視て右方向にあるボールをロボット装置から視て左方向（図面矢印方向）に蹴る場合の運脚がこれに相当する。
【０００９】
図１３では、軸脚となる右脚の運脚軌跡上にボールが存在するため、蹴る動作に移行する段階で右脚がボールに触れてしまう。この場合には、脚をボールの高さ以上に持ち上げたり、脚がボールに触れないようにさらに回り込む動作を行わなくてはならない。
【００１０】
このように、従来のロボット装置にとって「ボールを蹴る」動作は、決められたモーションを単に再生しているのみであって、この「ボールを蹴る動作」に移行する過程の動作が用意されてるわけではない。そのため、従来のロボット装置は、確かにボールを蹴ることができても、実際に何か別の動作から「ボールを蹴る」動作に移行する、或いはボール近辺に障害物がある、という通常とは異なる状況になったときに十分に対応できない。
【００１１】
そこで本発明は、このような従来の実情に鑑みて提案されたものであり、ある対象物に対して動作を行う際に、対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択できるロボット装置、及び対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択する動作制御方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づく自律的動作を実行するロボット装置において、次に実行する動作である次動作と外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定手段を備えることを特徴とする。
【００１３】
ここで、動作対象はボールであり、次動作はボールを蹴る動作であって、移行動作決定手段は、外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚を決定する。
【００１４】
また、本発明に係るロボット装置の動作制御方法は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置の動作制御方法において、次に実行する動作である次動作と外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定工程を有することを特徴とする。
【００１５】
ここで、動作対象はボールであり、次動作はボールを蹴る動作であって、移行動作決定工程では、外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚が決定される。
【００１６】
【発明の実施の形態】
本発明に係るロボット装置は、対象物を認識してこの対象物に対して何らかの動作を実行する際、「次に実行する動作」と、外部情報として取得した動作対象の周辺環境とに基づいて、「次に実行する動作」に移行するための最適な「過程の動作」を決定することによって、次に実行する動作までの無駄な動作を可能な限り排除したロボット装置である。
【００１７】
以下、本発明の具体例として示す２足歩行タイプのロボット装置について、図面を参照して詳細に説明する。以下では、ロボット装置がある対象物に対して行う働きかけのことを必要に応じて「インタラクション」と記し、ある対象物に何らかの働きかけを行うことを「インタラクションする」のように記す。具体的に、対象物が「ボール」であるとし、実行するべきインタラクションが「ボールまで運脚」して「ボールを蹴る」動作であるとして説明する。
【００１８】
図１に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されるとともに、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（ただし、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００１９】
図２に、このロボット装置１の関節自由度構成を示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００２０】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００２１】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００２２】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００２３】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２４】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００２５】
図３には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００２６】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＲＡＭ、フラッシュＲＯＭ等の主要回路コンポーネント（図示しない）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示しない）などを含んだ周辺回路１２とで構成される。
【００２７】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図３では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。或いは、ロボット装置外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００２８】
図２に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００２９】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイクロフォン、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００３０】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００３１】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００３２】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００３３】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が着床したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００３４】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００３５】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【００３６】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【００３７】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ  Ｖｕｋｏｂｒａｔｏｖｉｃ著“ＬＥＧＧＥＤ  ＬＯＣＯＭＯＴＩＯＮ  ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００３８】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００３９】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクロフォンからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイクロフォン、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００４０】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００４１】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置１に、「身振り」、「手振り」といった行動をとらせる。
【００４２】
本具体例では、主制御部１１は、上述した役割のほかに、インタラクションすべき対象物とその周辺の観測情報に基づいて、次の動作に移行するときの動作を生成する処理を実行している。インタラクションとは上述したように、特にボールを蹴る動作である。そのため、主制御部１１は、ボールを蹴る動作を行う際、支持脚（軸脚）及び蹴脚の決定、脚部の運び方（運脚）といった過程の動作を生成する構成として、インタラクション生成部２００を備えている。
【００４３】
図４に示すように、インタラクション生成部２００は、取得した画像を処理する画像処理部２０１と、この処理画像からボール等のインタラクション対象物を判別する対象物判別部２０２と、支持脚（軸脚）及び蹴脚、脚部の運び方（運脚）を生成する過程動作生成部２０３とを有している。これらの各部は、ＣＰＵ２０４によって統括制御されている。
【００４４】
対象物判別部２０２は、ＣＣＤカメラ等により取得された観測画像からインタラクション対象物を抽出する。さらに、対象物周辺の障害物の有無についての情報を抽出する。対象物周辺に障害物がある場合、対象物と障害物の位置関係についての情報等を抽出する。対象物周辺に障害物がない場合、対象物と自己との相対的な位置関係についての情報を抽出する。
【００４５】
過程動作生成部２０３は、上記対象物判別部２０２において判別されたインタラクション対象物の周辺環境に基づいて過程の動作を生成する。本具体例では、ボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚の決定を行っている。
【００４６】
なお、ここで主制御部内に設けられると説明した各部は、周辺回路１２にあってもよい。また、主制御部１１の図示しないＤＲＡＭに格納され、主制御部１１において実行されるソフトウェアとして用意されていてもよい。
【００４７】
従来のロボット装置では、例えば、ボールを蹴る動作は、ボールを蹴る格好になるように関節の動きや各可動部の変動量が予め決められて「キックモーション」として用意されており、ボール位置とロボット装置との位置関係をつくったうえで、その決められたキックモーションを再生するといった方法で実現されていたが、インタラクション生成部２００を設けることによって軸足決定の自由度が増し、周辺情報を参照して、ボールを蹴る過程の動作として最適な動作が選択できる。また、キックモーションを複数用意した場合でも、この中から最適なモーションを選択する選択方法としても用いることができる。
【００４８】
続いて、支持脚（軸脚）及び蹴脚を決定する処理を図５を用いて説明する。ただし、図５の処理では、ボールを蹴る方向は予め決まっているものとし、ボール進行方向に障害物はないものとする。
【００４９】
主制御部１１において、ボールに対して脚を使ってインタラクションする、という処理が開始されると、インタラクション生成部２００は、対象物判別部２０２によりＣＣＤカメラ等にて取得された観測画像からボールの位置を抽出する（ステップＳ１）。
【００５０】
続いて、ボール周辺の障害物の有無を判別する（ステップＳ２）。ステップＳ２において、ボール近辺に障害物がない場合、さらにボール位置を判別し（ステップＳ３）、過程動作生成部２０３は、対象物判別部２０２において判別されたボールの周辺環境に基づいて過程の動作を生成する。すなわち、ボールの位置がロボット装置自身の正面中央から視て右方向にあるとき左脚を軸脚とし右脚を蹴脚とする（ステップＳ４）。また、ボールの位置がロボット装置自身の正面中央から視て左方向にあるとき右脚を軸脚とし左脚を蹴脚とする（ステップＳ５）。軸脚及び蹴脚を決定すると、ボールを蹴る動作を実行する（ステップＳ６）。
【００５１】
一方、ステップＳ２において、ボール近辺に障害物がある場合、さらにボール位置を判別し（ステップＳ７）、過程動作生成部２０３は、対象物判別部２０２において判別されたボールの周辺環境に基づいて過程の動作を生成する。すなわち、ボール近辺に障害物があって、ボール位置がロボット装置自身の正面中央から視て右方向にあるとき左脚を軸脚とし右脚を蹴脚とする（ステップＳ８）。また、ボール近辺に障害物があって、ボール位置がロボット装置自身の正面中央から視て左方向にあるとき右脚を軸足とし左脚を蹴脚とする（ステップＳ９）。軸脚及び蹴脚を決定すると、ボールを蹴る動作を実行する（ステップＳ６）。
【００５２】
最終的に、ボールに正しくインタラクションできたか否かを判別し（ステップＳ１０）、終了する。インタラクションできない場合は、ステップＳ１から繰り返す。
【００５３】
ロボット装置には利き足の概念が存在しないため、上述した処理によって軸脚及び蹴脚を自由に決定できるため、ボールを蹴るキックモーションを開始するまでの、自己機体とボールとの位置決め動作を厳密に行う必要がない。これにより位置修正に係る無駄な動きが排除できる。また、位置決め動作における移動誤差を吸収できる。
【００５４】
図５に示したフローチャートのステップＳ１，Ｓ２，Ｓ３，Ｓ４，Ｓ６のパスを通ったときのロボット装置１の脚の動きを図６に示す。図６には、ボールの周囲には障害物が存在せず、さらに自分から視て右方向に存在するボールをロボット装置から視て左方向に蹴るときの運脚軌跡を示す。図６では、蹴りたい方向Ｍｂにボールを蹴るまでの過程の動作として、より少ない移動量でボールを蹴るために、左脚５Ｌを軸足として右脚５Ｒを蹴脚とするような運脚が行われる。
【００５５】
このように、ロボット装置１は、インタラクション対象物と自己との位置関係に、またはインタラクション対象物の周辺環境に応じて合理的に動作することができる。
【００５６】
以上説明したロボット装置１による表現動作は、後段に例示するソフトウェア構成によって実現される。ロボット装置１における制御プログラムのソフトウェア構成例について図７乃至図１２を用いて説明する。
【００５７】
図７において、デバイス・ドライバ・レイヤ４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００５８】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータＡ２，Ａ３・・・等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【００５９】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００６０】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００６１】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図８に示す。
【００６２】
ミドル・ウェア・レイヤ５０は、図８に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール６０〜６８並びに入力セマンティクスコンバータモジュール６９などを有する認識系７０と、出力セマンティクスコンバータモジュール７８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７１〜７７などを有する出力系７９とから構成されている。
【００６３】
上述したインタラクション生成部２００をプログラムとして用意した場合、インタラクションを生成する処理は、このモーション再用の信号処理モジュール７３に含まれる。
【００６４】
認識系７０の各信号処理モジュール６０〜６８は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール６９に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００６５】
入力セマンティクスコンバータモジュール６９は、これら各信号処理モジュール６０〜６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ５１に出力する。
【００６６】
アプリケーション・レイヤ５１は、図９に示すように、行動モデルライブラリ８０、行動切換モジュール８１、学習モジュール８２、感情モデル８３及び本能モデル８４の５つのモジュールから構成されている。
【００６７】
行動モデルライブラリ８０には、図８に示すように、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【００６８】
そして、これら行動モデルは、図１０に示すように、それぞれ入力セマンティクスコンバータモジュール６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル８３に保持されている対応する情動のパラメータ値や、本能モデル８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール８１に出力する。
【００６９】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図１１に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎの間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００７０】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図１２に示すような状態遷移表９０を有している。
【００７１】
この状態遷移表９０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【００７２】
したがって、図１２の状態遷移表９０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【００７３】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル８３及び本能モデル８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル８３に保持された「喜び（Ｊｏｙ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」又は「悲しみ（Ｓａｄｎｅｓｓ）」の何れかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【００７４】
また、状態遷移表９０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できるほかの各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００７５】
したがって、図１２の状態遷移表９０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ  １２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００７６】
各行動モデルは、それぞれこのような状態遷移表９０として記述されたノードＮＯＤＥ０〜ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール８１に出力するようになされている。
【００７７】
図９に示す行動切換モジュール８１は、行動モデルライブラリ８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８に送出する。なお、この実施の形態においては、図９において下側に表記された行動モデルほど優先順位が高く設定されている。
【００７８】
また、行動切換モジュール８１は、行動完了後に出力セマンティクスコンバータモジュール７８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール８２、感情モデル８３及び本能モデル８４に通知する。
【００７９】
一方、学習モジュール８２は、入力セマンティクスコンバータモジュール６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【００８０】
そして、学習モジュール８２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【００８１】
他方、感情モデル８３は、「喜び（Ｊｏｙ）」、「悲しみ（Ｓａｄｎｅｓｓ）」、「怒り（Ａｎｇｅｒ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」、「嫌悪（Ｄｉｓｇｕｓｔ）」及び「恐れ（Ｆｅａｒ）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【００８２】
具体的には、感情モデル８３は、入力セマンティクスコンバータモジュール６９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量をΔＥ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル８３は、これと同様にして全ての情動のパラメータ値を更新する。
【００８３】
【数１】
2004261913.tif 000003
【００８４】
なお、各認識結果や出力セマンティクスコンバータモジュール７８からの通知が各情動のパラメータ値の変動量ΔＥ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量ΔＥ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量ΔＥ［ｔ］に大きな影響を与えるようになっている。
【００８５】
ここで、出力セマンティクスコンバータモジュール７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７８からの通知は、上述した学習モジュール８２にも入力されており、学習モジュール８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【００８６】
なお、行動結果のフィードバックは、行動切換モジュール８１の出力（感情が付加された行動）によりなされるものであってもよい。
【００８７】
一方、本能モデル８４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【００８８】
具体的には、本能モデル８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル８４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【００８９】
【数２】
2004261913.tif 000004
【００９０】
なお、認識結果及び出力セマンティクスコンバータモジュール７８からの通知などが各欲求のパラメータ値の変動量ΔＩ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７８からの通知は、「疲れ」のパラメータ値の変動量ΔＩ［ｋ］に大きな影響を与えるようになっている。
【００９１】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【００９２】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８は、図８に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール８１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系７９の対応する信号処理モジュール７１〜７７に与える。
【００９３】
そしてこれら信号処理モジュール７１〜７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はＬＥＤに順次送出する。
【００９４】
このようにしてロボット装置１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【００９５】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【００９６】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【００９７】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置は、次に実行する動作である次動作と外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定手段を備えることによって、ある対象物に対して動作を行う際に、対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択できるロボット装置、及び対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択できる。
【００９８】
また、動作対象をボールとし、次動作をボールを蹴る動作とし、移行動作決定手段は、外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚を決定することによって、ロボット装置には利き足の概念が存在しないため、軸脚及び蹴脚を自由に決定でき、ボールを蹴る動作に移るまでの自己機体とボールとの位置決め動作を厳密に行う必要がない。これにより位置修正に係る無駄な動きが排除できる。また、位置決め動作における移動誤差を吸収できる。
【００９９】
また、本発明に係るロボット装置の動作制御方法は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置の動作制御方法において、次に実行する動作である次動作と外部情報として取得した動作対象の周辺環境とに基づいて該次動作に移行する過程の動作を決定する移行動作決定工程を有することを特徴とすることにより、ある対象物に対して動作を行う際に、対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択できるロボット装置、及び対象物と自己の状況に応じて適応的且つ最適にその動作に至る過程の行動を選択できる。
【０１００】
また、動作対象をボールとし、次動作をボールを蹴る動作とし、移行動作決定工程で、外部情報として取得したボールの周辺環境に基づいてボールを蹴る動作に移行する過程の運脚動作、軸脚及び蹴脚を決定することによって、ロボット装置には利き足の概念が存在しないため、軸脚及び蹴脚を自由に決定でき、ボールを蹴る動作に移るまでの自己機体とボールとの位置決め動作を厳密に行う必要がない。これにより位置修正に係る無駄な動きが排除できる。また、位置決め動作における移動誤差を吸収できる。
【図面の簡単な説明】
【図１】本発明の具体例として示すロボット装置の外観を説明する斜視図である。
【図２】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図３】同ロボット装置の回路構成を示すブロック図である。
【図４】同ロボット装置のインタラクション生成部２００を説明するブロック図である。
【図５】同ロボット装置がボールに対してインタラクションする際、支持脚（軸脚）及び蹴脚を決定する処理を説明するフローチャートである。
【図６】同ロボット装置の図５に基づく運脚動作を説明する模式図である。
【図７】同ロボット装置のソフトウェア構成を示すブロック図である。
【図８】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図９】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図１０】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図１１】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図１２】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【図１３】従来のロボット装置における運脚動作を説明する模式図である。
【符号の説明】
１  ロボット装置、２００  インタラクション生成部、２０１  画像処理部、２０２  対象物判別部、２０３  過程動作生成部、２０４  ＣＰＵ
【図１】
2004261913.tif 000005
【図２】
2004261913.tif 000006
【図３】
2004261913.tif 000007
【図４】
2004261913.tif 000008
【図５】
2004261913.tif 000009
【図６】
2004261913.tif 000010
【図７】
2004261913.tif 000011
【図８】
2004261913.tif 000012
【図９】
2004261913.tif 000013
【図１０】
2004261913.tif 000014
【図１１】
2004261913.tif 000015
【図１２】
2004261913.tif 000016
【図１３】
2004261913.tif 000017