(57)【要約】【課題】ある動作を実行中であっても、供給された入力情報に応じて次の動作に遷移でき、さらに元の動作にも復帰可能とする。【解決手段】ロボット装置は、「ダンス」の動作（自己動作アークａ１）の実行中に「振り返る」動作（自己動作アークａ３）への遷移が指示されると、「ダンス」の動作を中断し、中断した時点での姿勢に最も近い姿勢（例えばノードＮＤ２）に遷移する。そして、再びノードＮＤ２からノードＮＤ１に遷移し、「振り返る」動作（自己動作アークａ３）を実行する。その後、ノードＮＤ１の姿勢から、記憶しておいたダンスの中断時の姿勢に遷移し、その姿勢から「ダンス」の動作の続きを実行する。【選択図】  図９
2005007501.tif 000002
【特許請求の範囲】
【請求項１】
行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置であって、
上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフを記憶するグラフ記憶手段と、
現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて上記グラフ上において検索し、その検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させる制御手段とを備え、
上記制御手段は、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させる
ことを特徴とするロボット装置。
【請求項２】
上記制御手段は、上記一の動作の中断時の姿勢を記憶しており、上記他の動作の終了後に、上記中断時の姿勢から上記一の動作を実行させることを特徴とする請求項１記載のロボット装置。
【請求項３】
行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置の動作制御方法であって、
現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて、上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフ上において検索し、
検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させ、
一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させる
ことを特徴とするロボット装置の動作制御方法。
【請求項４】
上記一の動作の中断時の姿勢を記憶しており、上記他の動作の終了後に、上記中断時の姿勢から上記一の動作を実行させることを特徴とする請求項３記載のロボット装置の動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の姿勢の間を遷移しながら自律的に動作するロボット装置及びその動作制御方法に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Ｉｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔ）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと称される場合もある。また、そのようなロボット装置には、外部からの情報や内部の状態に応じて自律的に動作するものがある。
【０００５】
この自律動作を行う自律型ロボット装置の一例として、下記特許文献１には、供給された入力情報に応じて、既知の姿勢を遷移しながら目標とされる動作を実行するロボット装置が記載されている。この特許文献１記載のロボット装置は、感情・本能モデルを有しており、感情・本能に基づいて次の動作（行動）を決定し、その動作（行動）を実行できる姿勢までの遷移計画を立てる。そして、その遷移計画に基づいて姿勢を遷移させてから、そのような感情・本能に基づいて決定した動作（行動）を実際に実行する。
【０００６】
【特許文献１】
国際公開第００／４３１６７号パンフレット
【０００７】
【発明が解決しようとする課題】
ところで、ユーザとの親密性を高める上でも、上述した生物を模した自律型ロボット装置の動作は、できるだけ本物の生物に近いことが望ましい。本物の生物に近い動作を行うロボット装置としては、例えばある動作を実行中であっても、供給された入力情報に応じて次の動作に遷移でき、場合によっては元の動作に復帰できるようなものが望ましいといえる。
【０００８】
しかしながら、上記特許文献１に記載の技術では、ある動作の実行中に動作を停止した場合には、予め設定された中立姿勢に遷移し、その中立姿勢から該中立姿勢に近い姿勢に遷移するため、自然な動作にならず、また、元の動作に復帰することが困難であった。このような問題を避けるためには、実行中の動作が終了し、既知の姿勢に戻ってから次の姿勢に遷移する必要があるが、この場合には、反射的な行動を即座にすることができず、自然で滑らかな自律動作を行うことが困難である。
【０００９】
本発明は、このような従来の実情に鑑みて提案されたものであり、ある動作を実行中であっても、供給された入力情報に応じて次の動作に遷移でき、さらに元の動作にも復帰可能なロボット装置及びその動作制御方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置であって、上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフを記憶するグラフ記憶手段と、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて上記グラフ上において検索し、その検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させる制御手段とを備え、上記制御手段は、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させるものである。
【００１１】
また、上述した目的を達成するために、本発明に係るロボット装置の動作制御方法は、行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置の動作制御方法であって、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて、上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフ上において検索し、検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させ、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させるものである。
【００１２】
このようなロボット装置及びその動作制御方法では、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断し、中断時の姿勢に近い姿勢に遷移した後、上記他の動作に遷移する。
【００１３】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１４】
本発明の一構成例として示す２足歩行タイプのロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００１５】
図１に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００１６】
このロボット装置１が具備する関節自由度構成を図２に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００１７】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００１８】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００１９】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００２０】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２１】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００２２】
図３には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００２３】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の主要回路コンポーネント（図示せず）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示せず）などを含んだ周辺回路１２とで構成される。
【００２４】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図３では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。あるいは、ロボット装置１外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００２５】
図２に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００２６】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００２７】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００２８】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００２９】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００３０】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が接地したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００３１】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００３２】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【００３３】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【００３４】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ  Ｖｕｋｏｂｒａｔｏｖｉｃ  著“ＬＥＧＧＥＤ  ＬＯＣＯＭＯＴＩＯＮ  ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００３５】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００３６】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００３７】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００３８】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００３９】
さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータＡ２，Ａ３・・・を駆動させることにより、ロボット装置１に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【００４０】
このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【００４１】
上述した主制御部１１のデータ処理の内容を機能的に分類した図を図４に示す。図４に示すように、主制御部１１は、行動決定機構部４０と、姿勢遷移機構部４１と、制御機構部４２とに分けられる。
【００４２】
行動決定機構部４０は、上述したセンサデータ、画像・音声データ等の入力情報Ｓ１に基づいて次の動作（行動）を決定し、当該決定された動作（行動）の内容を行動指令情報Ｓ２として姿勢遷移機構部４１に供給する。
【００４３】
姿勢遷移機構部４１は、ロボット装置１が遷移可能な姿勢及び遷移する際の動作を予め例えばグラフ（後述する有向グラフ）として保持しており、行動決定機構部４０から供給された行動指令情報Ｓ２を姿勢遷移情報Ｓ３として制御機構部４２に供給する。
【００４４】
制御機構部４２は、この姿勢遷移情報Ｓ３に基づいて、必要なアクチュエータＡ２，Ａ３・・・を駆動させるための制御信号Ｓ４を生成し、これをアクチュエータＡ２，Ａ３・・・に送出して当該アクチュエータＡ２，Ａ３・・・を駆動させることにより、ロボット装置１に所望の動作を行わせる。
【００４５】
以下、姿勢遷移機構部４１にて行う処理について詳細に説明する。
ロボット装置１は、指令（行動指令情報Ｓ２）の内容に従った姿勢に遷移し、遷移した姿勢に応じた動作を行うが、指令の内容に従った姿勢に直接遷移できない場合もある。すなわち、ロボット装置１の姿勢は、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できなく、ある動作や姿勢を経由して可能になる姿勢とに分類される。例えば、ロボット装置１は、両手足を伸ばして寝転んだ姿勢から伏せた姿勢に直接遷移することはできるが、立った姿勢に直接遷移することはできず、一旦手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという２段階の動作が必要である。
【００４６】
したがって、姿勢遷移機構部４１は、行動決定機構部４０から供給された行動指令情報Ｓ２が直接遷移可能な姿勢を示す場合には、当該行動指令情報Ｓ２をそのまま姿勢遷移情報Ｓ３として制御機構部４２に供給する一方、直接遷移不可能な姿勢を示す場合には、遷移可能な他の姿勢や動作を経由して目標とされる姿勢（行動指令情報Ｓ２により指示された姿勢）まで遷移させるような姿勢遷移情報Ｓ３を生成し、これを制御機構部４２に供給する。
【００４７】
実際上、姿勢遷移機構部４１は、ロボット装置１がとり得る姿勢及び動作が登録され、姿勢とこの姿勢を遷移させる動作とを結んで構成されたグラフを保持して、現在の姿勢から目標とされる姿勢又は目標とされる動作に遷移させる。すなわち、姿勢遷移機構部４１は、ロボット装置１がとり得る姿勢を予め登録すると共に、遷移可能な２つの姿勢の間を記録しておくようになされており、このグラフと行動決定機構部４０から供給された行動指令情報Ｓ２とに基づいて、目標とされる姿勢或いは動作まで遷移させる。
【００４８】
具体的には、姿勢遷移機構部４１は、図５に示すような有向グラフというアルゴリズムを用いている。有向グラフでは、ロボット装置１がとり得る姿勢を示すノードと、遷移可能な２つのノード間を結ぶ有向アーク（動作アーク）と、場合によっては１つのノードから当該１つのノードに戻る動作のアーク、すなわち１つのノード内で完結する動作を示す自己動作アークとが結合されて構成されている。すなわち、姿勢遷移機構部４１は、ロボット装置１の姿勢（静止姿勢）を示す情報とされるノードと、ロボット装置１の動作を示す情報とされる有向アーク及び自己動作アークとから構成される有向グラフを保持し、姿勢を点の情報として、さらに動作の情報を有向線の情報として把握している。
【００４９】
ここで、有向アークや自己動作アークは複数とされていてもよい。すなわち、遷移可能なノード（姿勢）の間に有向アークが複数結合されていてもよく、１つのノードにおいて複数の自己動作アークが結合されていてもよい。
【００５０】
姿勢遷移機構部４１は、行動決定機構部４０から行動指令情報Ｓ２が供給されると、現在の姿勢に対応したノードと、行動指令情報Ｓ２が示す次にとるべき姿勢に対応するノードとを結ぶように、有向アークの向きに従いながら現在のノードから次のノードに至る経路を順次検索することにより、現在の姿勢から目標とされるノード、或いは目標とされるアークに至る経路を探索する。ここで、目標とされるアークとは、有向アークであってもよく、自己動作アークであってもよい。例えば、自己動作アークが目標アークとなる場合とは、とるべき姿勢から開始される自己動作が目標とされた（指示された）場合であって、ダンスが指示された場合等が挙げられる。
【００５１】
なお、ロボット装置１は、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各構成ユニットを個別に動作させることが可能とされている。つまり、リソースが競合しない限り、例えば頭部ユニット３と腕部ユニット４Ｒ／Ｌとを別個に動作させることができるが、ロボット装置１の全体と頭部ユニット３とのようにリソースが競合する場合には、個別に動作させることができない。したがって、上述した行動指令情報Ｓ２は、リソース毎に生成することが可能である。
【００５２】
さて、図６に示すように、「立ち姿勢」を表すノードＮＤ１に、それぞれ「ダンス」、「歩く」といった自己動作を示す自己動作アークａ１，ａ２が結合されている場合を想定する。「ダンス」の動作は、ノードＮＤ１の姿勢を初期姿勢として実行され、元の姿勢に戻って終了する。また、「歩く」動作も、ノードＮＤ１の姿勢を初期姿勢として開始され、元の姿勢で停止する。
【００５３】
ここで、ロボット装置１の生物感、すなわち人間らしさを高めるためには、例えば「ダンス」の動作（自己動作アークａ１）の実行中であっても、周囲に何か好きな物があることが画像データとして得られた場合には、ダンスを中断してその物の方向に歩くという「歩く」動作（自己動作アークａ２）に遷移することが望ましいと考えられる。
【００５４】
しかしながら、前述した特許文献１に記載の技術では、「ダンス」の動作（自己動作アークａ１）の実行中に動作を停止した場合には現在の姿勢が分からなくなり、予め設定された中立姿勢に遷移してこの中立姿勢から該中立姿勢に近い姿勢に遷移するため、自然な動作にならないという問題があった。このような問題を避けるためには、「ダンス」の動作（自己動作アークａ１）が終了し、「立ち姿勢」（ノードＮＤ１）に戻ってから「歩く」姿勢（自己動作アークａ２）に遷移する必要があるが、この場合には、反射的な行動を即座にすることができず、自然で滑らかな自律動作を行うことが困難であるという問題がある。この問題は、「ダンス」の動作（自己動作アークａ１）の開始から終了までの時間が長い場合に特に顕著となる。
【００５５】
そこで、本実施の形態における姿勢遷移機構部４１は、「ダンス」の動作（自己動作アークａ１）の実行中に「歩く」動作（自己動作アークａ２）を目標アークとするように行動決定機構部４０から指示された場合には、「ダンス」の動作を中断し、図７に示すように、中断したときの姿勢に最も近い姿勢を示すノードＮＤ２に遷移させる。そして、再びノードＮＤ２からノードＮＤ１に遷移させ、「歩く」動作（自己動作アークａ２）を実行させる。
【００５６】
「ダンス」の動作（自己動作アークａ１）を中断して「歩く」動作（自己動作アークａ２）を実行する場合の動作の推移を、従来と比較して図８に示す。図８に示すように、従来では、「ダンス」の動作（自己動作アークａ１）の実行中に「歩く」動作（自己動作アークａ２）への遷移が指示された場合であっても、「ダンス」の動作が終了してノードＮＤ１の姿勢に戻るまで（例えば１分間）、「歩く」動作を実行しなかった。これに対して、本実施の形態では、「ダンス」の動作（自己動作アークａ１）の実行中に「歩く」動作（自己動作アークａ２）への遷移が指示されると、「ダンス」の動作を中断し、中断した時点での姿勢に最も近い姿勢（ここではノードＮＤ２）に遷移する。そして、再びノードＮＤ２からノードＮＤ１に遷移し、「歩く」動作（自己動作アークａ２）を実行する。これにより、より速やかで且つ無駄のない動きを実現することができ、さらにロボット装置１の生物感を高めることができる。
【００５７】
ここで、別の動作を実行した後に、再び「ダンス」の動作の続きから実行することも可能である。
【００５８】
例えば「立ち姿勢」を表すノードＮＤ１に、それぞれ「ダンス」、「振り返る」といった自己動作を示す自己動作アークａ１，ａ３が結合されている場合を想定する。
【００５９】
「ダンス」の動作（自己動作アークａ１）の実行中に「振り返る」動作（自己動作アークａ３）を目標アークとするように行動決定機構部４０から指示された場合には、「ダンス」の動作を中断し、図９に示すように、中断したときの姿勢に最も近い姿勢を示すノードＮＤ２に遷移させる。そして、再びノードＮＤ２からノードＮＤ１に遷移させ、「振り返る」動作（自己動作アークａ３）を実行させる。その後、ノードＮＤ１の姿勢から記憶しておいたダンスの中断時の姿勢に遷移させ、その姿勢から「ダンス」の動作の続きを実行させる。
【００６０】
「ダンス」の動作（自己動作アークａ１）を中断して「振り返る」動作（自己動作アークａ３）を実行し、再び「ダンス」の動作（自己動作アークａ１）を実行する場合の動作の推移を、従来と比較して図１０に示す。図１０に示すように、従来では、「ダンス」の動作（自己動作アークａ１）の実行中に「振り返る」動作（自己動作アークａ３）への遷移が指示された場合には、「ダンス」の動作の終了後に「振り返る」動作を実行するものの、再び「ダンス」の動作を続きを実行することはできなかった。これに対して、本実施の形態では、「ダンス」の動作（自己動作アークａ１）の実行中に「振り返る」動作（自己動作アークａ３）への遷移が指示されると、「ダンス」の動作を中断し、中断した時点での姿勢に最も近い姿勢（ここではノードＮＤ２）に遷移する。そして、再びノードＮＤ２からノードＮＤ１に遷移し、「振り返る」動作（自己動作アークａ３）を実行する。その後、ノードＮＤ１の姿勢から記憶しておいたダンスの中断時の姿勢に遷移し、その姿勢から「ダンス」の動作の続きを実行する。これにより、継続性のある、より自然な自律行動が可能となり、さらにロボット装置１の生物感を高めることができる。
【００６１】
なお、上述の例では、「ダンス」の動作を途中で中断した場合に、ノードＮＤ１とは異なるノードＮＤ２の姿勢に遷移するものとして説明したが、「ダンス」の動作を中断したときの姿勢がノードＮＤ１の姿勢に最も近い場合には、ノードＮＤ１の姿勢に遷移するようにしても構わない。すなわち、ある動作を中断したときの姿勢から最も近い姿勢を示すノードに遷移するようにすればよい。
【００６２】
ここで、ある動作を中断して中断時点での姿勢に最も近い姿勢を示すノードに遷移する際に、可動部同士が自己干渉し、緊急停止してしまう場合が考えられる。例えば、胴体の前で左前腕が右前腕の上にある状態で、左前腕を下に降ろそうとすると、右前腕と自己干渉してしまう。このような場合には、中断したときの姿勢から最も近い姿勢を示すノードに遷移する際に、例えば本件出願人が先に提案した特願２００３−７８８３４の明細書及び図面に記載された技術を用いて干渉問題を解き、自動復帰することが望ましい。
【００６３】
具体的には、
（Ａ）厳密な干渉問題を解くことなく、干渉が発生した場合でも動作を続行する方法
（Ｂ）厳密な干渉問題を解くことなく、干渉しない動作を生成する方法
（Ｃ）厳密な干渉問題を解きながら、干渉しない動作を生成する方法
の何れかの方法により、緊急停止状態から自動復帰する。
【００６４】
以下、ロボット装置１が緊急停止状態から自動復帰する方法について簡単に説明する。
【００６５】
例えば、「（Ａ）厳密な干渉問題を解くことなく、干渉が発生した場合でも動作を続行する方法」としては、アクチュエータを脱力する方法が挙げられる。すなわち、自己干渉が生じた場合にアクチュエータで発生させるトルク若しくは力を一時的に制限し、又は干渉が生じる場合に備えて予め制限する。これにより、例えば上述した自己干渉の例では、左前腕が右前腕表面に接触しながら復帰動作を継続し、左腕の復帰動作を無事に完了させることができる。
【００６６】
また、ＰＴＰ（Ｐｏｉｎｔ  Ｔｏ  Ｐｏｉｎｔ）制御を行う場合には、可動部の先端から順次動作させていくことも挙げられる。すなわち、上肢を復帰させるときには手先、下肢を復帰させるときには足先から順次動作させていく。このように、先端から緊急停止状態を解いていくことにより、肢体同士が絡まり難くなる。
【００６７】
また、同様にＰＴＰ制御を行う場合には、可動部の根元から順次動作させることも挙げられる。すなわち、ベースリンクに近い関節から順に動作させる。この場合、動作が始まっていないアクチュエータで発生させるトルク又は力を制限することによって、肢体同士が絡まるのを防止することができる。
【００６８】
次に、「（Ｂ）厳密な干渉問題を解くことなく、干渉しない動作を生成する方法」としては、小さなトルク又は力によって制御を継続することが挙げられる。すなわち、干渉発生後も、アクチュエータで発生させるトルク又は力を０にせず、小さなトルク又は力によって制御し続ける。これにより、規定外の姿勢になることを防ぐことができると共に、その後の復帰動作の生成が容易になる。
【００６９】
また、干渉発生時まで動作を遡ることも挙げられる。すなわち、干渉発生時の姿勢から復帰させるために、干渉が発生した時点までの動作と逆の動作を行う。
【００７０】
続いて、「（Ｃ）厳密な干渉問題を解きながら、干渉しない動作を生成する方法」としては、ロボット装置１において、厳密な干渉問題を解くことによって干渉の生じない動作を自律的に生成して復帰することが挙げられる。
【００７１】
以上説明したように、本実施の形態におけるロボット装置１及びその動作制御方法によれば、ある動作、例えば「ダンス」の動作の実行中であっても、供給された入力情報に応じて動作を中断し、次の動作に遷移することができ、さらに元の動作にも復帰可能とされているため、より速やかで且つ無駄のない動きを実現すると共に、一貫性のある動作を実現することができ、さらにロボット装置１の生物感を高めることができる。
【００７２】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００７３】
例えば、上述の実施の形態では、本発明を人間を模した２足歩行型のロボット装置１に適用した場合について説明したが、これに限らず、動物を模した４足歩行型のロボット装置や、例えばゲームや展示等のエンターテインメント分野で用いられるロボット装置など、他の種々のロボット装置に適用可能である。
【００７４】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置は、行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置であって、上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフを記憶するグラフ記憶手段と、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて上記グラフ上において検索し、その検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させる制御手段とを備え、上記制御手段は、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させるものである。
【００７５】
また、本発明に係るロボット装置の動作制御方法は、行動指令情報に応じて複数の姿勢の間を遷移し、動作するロボット装置の動作制御方法であって、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、上記行動指令情報に基づいて、上記姿勢及び上記動作が登録され、上記姿勢と該姿勢を遷移させる上記動作とを結んで構成されたグラフ上において検索し、検索結果に基づいて動作させて、上記現在の姿勢から上記目標とされる姿勢又は目標とされる動作に遷移させ、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断させ、中断時の姿勢に近い姿勢に遷移させた後、上記他の動作に遷移させるものである。
【００７６】
このようなロボット装置及びその動作制御方法によれば、一の動作の実行中に他の動作を実行させる行動指令情報が与えられた場合、上記一の動作を中断し、中断時の姿勢に近い姿勢に遷移した後、上記他の動作に遷移することにより、より速やかで且つ無駄のない動きを実現することができ、さらにロボット装置の生物感を高めることができる。
【図面の簡単な説明】
【図１】本実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図２】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図３】同ロボット装置の制御システム構成を模式的に示す図である。
【図４】主制御部のデータ処理の内容を機能的に分類した図である。
【図５】同主制御部の姿勢遷移機構部における姿勢遷移のグラフを示す図である。
【図６】「立ち姿勢」を表すノードに「ダンス」及び「歩く」の自己動作アークが結合されている例を示す図である。
【図７】「ダンス」の動作を中断して「歩く」動作を実行する場合の姿勢遷移のグラフを示す図である。
【図８】「ダンス」の動作を中断して「歩く」動作を実行する場合の動作の推移を、従来と比較して説明する図である。
【図９】「立ち姿勢」を表すノードに「ダンス」及び「振り返る」の自己動作アークが結合されている例を示す図である。
【図１０】「ダンス」の動作を中断して「振り返る」動作を実行し、再び「ダンス」の動作を実行する場合の動作の推移を、従来と比較して説明する図である。
【符号の説明】
１  ロボット装置、２  体幹部ユニット、３  頭部ユニット、４Ｒ／Ｌ  腕部ユニット、５Ｒ／Ｌ  脚部ユニット、１０  制御ユニット、１１  主制御部、４０  行動決定機構部、４１  姿勢遷移機構部、４２  制御機構部
【図１】
2005007501.tif 000003
【図２】
2005007501.tif 000004
【図３】
2005007501.tif 000005
【図４】
2005007501.tif 000006
【図５】
2005007501.tif 000007
【図６】
2005007501.tif 000008
【図７】
2005007501.tif 000009
【図８】
2005007501.tif 000010
【図９】
2005007501.tif 000011
【図１０】
2005007501.tif 000012