(57)【特許請求の範囲】
【請求項１】
基体と、前記基体に連結された肢体とを備えるロボットに、前記肢体と一または複数の対象物との接触を伴う、複数の実行段階に区分されるタスクを実行させるロボットの制御装置であって、
前記複数の実行段階のそれぞれにおいて前記ロボットの要求軌道を生成する要求タスク生成手段と、
前記要求タスク生成手段により生成された前記複数の実行段階のそれぞれにおける前記要求軌道に基づき、前記ロボットが少なくとも次に実行する将来の実行段階の初期における前記対象物の予測位置および予測姿勢を予測する外界予測手段と、
前記外界予測手段により予測された、前記将来の実行段階の初期における前記対象物の予測位置および予測姿勢から、前記将来の実行段階における前記ロボットの時系列的な位置および姿勢の目標軌道を生成する行動計画手段と、を備えることを特徴とする制御装置。
【請求項２】
請求項１記載の制御装置において、
前記行動計画手段は、前記外界予測手段より予測された、前記タスクの一の実行段階の終了時の前記対象物の予測位置および予測姿勢から、前記ロボットの目標位置軌道および目標姿勢軌道になるように、該一の実行段階の次の実行段階における前記ロボットの時系列的な位置および姿勢を生成するための制約条件を決定することを特徴とする制御装置。
【請求項３】
請求項１または２記載の制御装置において、
外界予測手段は、前記外界予測手段より予測された、前記タスクの一の実行段階における前記対象物の予測位置および予測姿勢が、該一の実行段階における現在の前記対象物の位置および姿勢と相違する場合に、現在の前記対象物の位置および姿勢から、該一の実行段階以降の各実行段階における前記対象物の予測位置および予測姿勢を予測することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物との相互作用を伴うタスクをロボットに実行させるロボットの制御装置に関する。
【背景技術】
【０００２】
近年、ロボットに対象物を把持して該対象物を移動させるなど、対象物との相互作用を伴うタスクをロボットに実行させるための様々な技術が提案されている（例えば、下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２５４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、タスクの種類によっては、タスクを実行するための目標軌道を生成するのに比較的長い時間を要してしまい、タスク実行までに時間が掛かるという問題がある。
【０００５】
一方で、タスクの実行開始を早めるために、タスクをその実行段階毎に分けて、各実行段階について目標軌道を生成させることも考えられるが、実行段階が切り替わる際に、次の実行段階における目標軌道が生成されるまで、タスクが中断していまい、ロボットの動作が不連続になるという問題がある。
【０００６】
そこで、本発明は、以上の点に鑑み、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができるロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１発明の制御装置は、基体と、前記基体に連結された肢体とを備えるロボットに、前記肢体と一または複数の対象物との接触を伴う、複数の実行段階に区分されるタスクを実行させるロボットの制御装置であって、前記複数の実行段階のそれぞれにおいて前記ロボットの要求軌道を生成する要求タスク生成手段と、前記要求タスク生成手段により生成された前記複数の実行段階のそれぞれにおける前記要求軌道に基づき、前記ロボットが少なくとも次に実行する将来の実行段階の初期における前記対象物の予測位置および予測姿勢を予測する外界予測手段と、前記外界予測手段により予測された、前記将来の実行段階の初期における前記対象物の予測位置および予測姿勢から、前記将来の実行段階における前記ロボットの時系列的な位置および姿勢の目標軌道を生成する行動計画手段と、を備えることを特徴とする。
【０００８】
第１発明の制御装置によれば、タスクの各実行段階における対象物の位置および姿勢を予測しておき、その予測に基づいて、ロボットがこれから実行する実行段階における、ロボットの時系列的な位置および姿勢を生成する。これにより、タスクをその実行段階毎に分けてタスクの実行開始を早めた場合にも、実行段階が切り替わる際には、次の実行段階におけるロボットの行動計画の作成が為されているため、タスクの実行が中断していまい、ロボットの動作が時間的に不連続になることを防止することができる。
【０００９】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、ロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【００１０】
このように、第１発明の制御装置によれば、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができる。
【００１１】
第２発明の制御装置は、第１発明において、
前記行動計画手段は、前記外界予測手段より予測された、前記タスクの１の実行段階の終了時の前記対象物の予測位置および予測姿勢から、前記ロボットの目標位置軌道および目標姿勢軌道になるように、該１の実行段階の次の実行段階における前記ロボットの時系列的な位置および姿勢を生成するための制約条件を決定することを特徴とする。
【００１２】
第２発明の制御装置によれば、タスクの各実行段階の終了時の対象物の予測位置および予測姿勢、すなわち、予測を行った次の実行段階の対象物の初期位置および初期姿勢を予測することができる。そして、この対象物の初期位置および初期姿勢から、該次の実行段階のロボットの時系列的な位置および姿勢を生成するための制約条件を決定する。かかる制約条件に基づいて、予め次の実行段階におけるロボットの時系列的な位置および姿勢を生成しておくことができ、タスクをその実行段階毎に分けた場合にも、実行段階が切り替わる際に、次の実行段階におけるロボットの行動計画の作成が為されているため、タスクの実行が中断していまい、ロボットの動作が時間的に不連続になることを防止することができる。
【００１３】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階の終了時の対象物の予測位置および予測姿勢に基づくため、タスクの各実行段階が切り替わる際にロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【００１４】
このように、第２発明の制御装置によれば、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができる。
【００１５】
第３発明の制御装置は、第１または第２発明において、
外界予測手段は、前記外界予測手段より予測された、前記タスクの１の実行段階における前記対象物の予測位置および予測姿勢が、該１の実行段階における現在の前記対象物の位置および姿勢と相違する場合に、現在の前記対象物の位置および姿勢から、該１の実行段階以降の各実行段階における前記対象物の予測位置および予測姿勢を予測することを特徴とする。
【００１６】
第３発明の制御装置によれば、タスクの各実行段階の対象物の予測位置および予測姿勢が、各実行段階における現実の対象物の位置および姿勢と相違する場合に、実際の対象物の位置および姿勢に基づいて、これ以降の各実行段階における前記対象物の予測位置および予測姿勢が予測される。そのため、タスクの実行段階で、予測した状況に変化が生じた場合にも、その変化に応じて、これ以降の各実行段階の対象物の予測位置および予測姿勢に基づいて、次にロボットが実行する実行段階における、ロボットの時系列的な位置および姿勢が生成される。
【００１７】
これにより、予測した状況に変化が生じた場合にも、状況の変化に応じたロボットの時系列的な位置および姿勢を生成するのに時間を要して、ロボットのタスク実行が中断することを防止することができ、ロボットの動作が不連続になることを防止することができる。
【００１８】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、ロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【００１９】
このように第３発明の制御装置によれば、予測した状況に変化が生じた場合にも、タスクの実行が中断してロボットの動作が不連続性となることを防止することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態のロボットの構成説明図。
【図２】ロボットの制御装置の構成説明図。
【図３】ロボットの制御装置における処理を示すフローチャート。
【図４】ロボットの制御装置における処理の概要を示す説明図。
【図５】ロボットの制御装置における処理内容を示す説明図。
【図６】ロボットの制御装置における処理内容を示す説明図。
【発明を実施するための最良の形態】
【００２１】
次に、本発明のロボットの制御装置の実施形態について、図１〜図６を参照して説明する。
【００２２】
まず、図１に示すように、ロボットの制御装置は、自律移動ロボットＲ（以下、ロボットＲという）のコントローラ１００およびサポートサーバ２００により構成されている。
【００２３】
ロボットＲは、基体１０と、基体１０の上部に設けられた頭部１１と、基体１０の上部左右両側から延設された左右の腕部１２と、腕部１２の先端部に設けられた手部１４と、基体１０の下部から下方に延設された左右の脚部１３と、脚部１３の先端部に取り付けられている足部１５とを備えている。ロボットＲは、再表０３／０９０９７８号公報や、再表０３／０９０９７９号公報に開示されているように、アクチュエータ１０００（図３参照）から伝達される力によって、人間の肩関節、肘関節、手根関節、股関節、膝関節、足関節等の複数の関節に相当する複数の関節部分において腕部１２や脚部１３を屈伸運動させることができる。ロボットＲは、左右の脚部１３（または足部１５）のそれぞれの離床および着床の繰り返しを伴う動きによって自律的に移動することができる。基体１０の鉛直方向に対する傾斜角度が調節されることによって、頭部１１の高さが調節されうる。なお、移動装置は複数の脚部１３の動作によって自律的に移動するロボットＲのほか、車輪式移動ロボット（自動車）等、移動機能を有するあらゆる装置であってもよい。
【００２４】
頭部１１には、左右に並んでロボットＲの前方に向けられた一対の頭カメラ（ＣＣＤカメラ）Ｃ1が搭載されている。基体１０には、ロボットＲの前側下部の検知領域Ａ（Ｃ2）に赤外レーザ光線（電磁波）を出力し、その反射光の入力に応じた信号を出力する腰カメラＣ2が搭載されている。腰カメラＣ2はロボットＲの前方下方にある物体の位置の測定、床面に付されているマークの形状および姿勢の認識に基づくロボットＲの方位または姿勢の測定、および、台車等の運搬対象物に付されているマークの形状または姿勢の認識結果に基づくこの運搬対象物の位置または姿勢の測定等に用いられる。
【００２５】
ロボットＲはハードウェアとしてのＥＣＵまたはコンピュータ（ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ等により構成されている。）により構成されているコントローラ１００と、通信機器１４０（図２参照）とを備えている。コンピュータのメモリには制御プログラム（ソフトウェア）が格納されている。制御プログラムはＣＤやＤＶＤ等のソフトウェア記録媒体を通じてコンピュータにインストールされてもよいが、ロボットＲからサーバに要求信号が送信されたことに応じて当該サーバによってネットワークや人工衛星を介して当該コンピュータにダウンロードされてもよい。
【００２６】
図２に示すように、コントローラ１００は、入力装置１０１のほか、ロボットＲに搭載された頭カメラＣ１、腰カメラＣ２、肩カメラＣ３、ロータリエンコーダ１０２、ジャイロセンサ１０３、ＧＰＳ受信器１０４等の出力信号に基づき、アクチュエータ１０００の動作を制御することにより、腕部１２や脚部１３の動作を制御する。コントローラ１００は、サポートサーバ２００からロボットＲに対して送信された生成軌道にしたがって、このロボットＲの行動を制御する。
【００２７】
入力装置（ユーザ端末）１０１は、例えば、キーボードやタッチパネルなどの入力デバイスと、液晶ディスプレーなどのモニタを備えたパーソナルコンピュータからなる端末であって、コントローラ１００との間で通信可能に構成されている。入力装置１０１は、ユーザがこれを操作することにより、ロボットＲで実行可能なタスクを指定することができる。このように、入力装置１０１は、ロボットＲの起動・停止・タスク実行などをユーザが指示してロボットＲを遠隔操作するためのユーザインターフェースとして用いられると共に、頭カメラＣ１等の映像の表示などロボット自体の作動状況の監視に用いることもできる。
【００２８】
頭カメラＣ1、腰カメラＣ2等は、対象物や外界干渉物の挙動状態等、ロボットＲの外部状態または環境を測定するためのセンサに相当する。
【００２９】
ロータリエンコーダ１０２、ジャイロセンサ１０３、ＧＰＳ受信器１０４は、ロボットＲの内部状態または挙動状態を測定するためのセンサ等に相当し、これには、図示しないロボットＲに搭載されたバッテリの端子電圧を検出する電圧センサ、脚部１３に作用する床反力に応じた信号を出力する力センサ等、ロボットＲに搭載されている種々のセンサが内部状態センサ等が該当する。これらのセンサの検出値に基づいて、コントローラ１００は、ロボットＲの内部状態または挙動状態を認識する。
【００３０】
アクチュエータ１０００は電動モータ等の駆動源のほか、駆動源の出力軸と腕部１２や脚部１３を構成するリンクとの間に設けられた減速機や、弾性部材等の柔軟要素により構成されている。
【００３１】
さらに、コントローラ１００は、要求タスク生成部１１０と、画像処理部１２０と、将来外界予測部１３０と、通信機器１４０と、主制御部１５０とを備える。
【００３２】
要求タスク生成部１１０は、入力装置１０１によるユーザの操作を認識する機能を有し、入力装置１０１を介してユーザによって指定された要求タスクを認識し、要求タスクを実行するために要求される要求軌道群を作成する。ここで、要求軌道群は、タスクをその実行段階に応じておおまかに分割した場合の各段階で要求される軌道の集合体を指す。そして、要求タスク生成部１１０は、生成した要求軌道群を将来外界予測部１３０およびサポートサーバ２００へ出力する。
【００３３】
画像処理部１２０は、ステレオ処理部１２１と、障害物検出部１２２と、対象物認識部１２３とを備え、カメラＣ１〜Ｃ３で撮影した画像を処理して、撮影された画像からロボットＲの周囲の状況を把握するため、周囲の障害物や対象物の認識を行う。なお、障害物は、後述するようにロボットＲとの干渉を回避する必要性がある点で、本発明の対象物に含まれる概念である。
【００３４】
ステレオ処理部１２１は、左右の頭カメラＣ１，Ｃ１が撮影した２枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を障害物検出部１２２へ出力する。なお、この視差は、ロボットＲから撮影された物体までの距離を表すものである。
【００３５】
障害物検出部１２２は、ステレオ処理部１０１から出力されたデータに基づき、撮影した画像中の障害物を検出する。さらに、障害物検出部１２２は、検出した障害物の所定距離範囲のみの視差画像として、障害物を抽出し、対象物認識部１２３へ障害物の画像を出力する。
【００３６】
対象物認識部１２３は、検出した障害物からタスクの実行の際に相互作用を伴う対象物の形状等を抽出して、その大きさ、形状等から対象物を認識する。
【００３７】
なお、障害物検出部１２２で検出された障害物の領域、大きさ、形状と、対象物認識部１２３で認識された対象物の領域、大きさ、形状とは、将来外界予測部１３０へ出力される。
【００３８】
将来外界予測部１３０は、要求タスク生成部１１０により生成された要求軌道群と、障害物検出部１２２および対象物認識部１２３で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定する。
【００３９】
すなわち、将来外界予測部１３０は、現時点から、タスクをその実行段階に応じておおまかに分割した場合の第１段階で要求される軌道に従ってロボットＲを動作させた後の障害物および対象物の位置等を推定する。次に、この状態（第１段階の実行後）から、第２段階で要求される軌道に従ってロボットＲを動作さえた後の障害物および対象物の位置等を推定する。以下、この推定を繰り返すことで、要求タスク生成部１１０により生成された要求軌道群に従ってロボットを動作させた各段階での障害物および対象物の位置等を予め推定する。
【００４０】
主制御部１５０は、サポートサーバ２００からロボットＲに対して送信された生成軌道にしたがって、複数のアクチュエータ１０００を制御し、生成軌道にこのロボットＲの行動を追従させる。
【００４１】
サポートサーバ（ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ等により構成されている。）２００は基地局（図示略）および通信網を介してロボットＲとの通信機能を有している。
【００４２】
サポートサーバ２００は、動作区分処理部２１０と、軌道探索管理部２２０と、干渉判定部２３０とを備える。
【００４３】
動作区分処理部２１０は、要求タスク生成部１１０により生成された要求軌道群の各実行段階における一連の動作をさらに次のように区分する。
【００４４】
各段階の一連の動作を、（１）ロボットＲまたはロボットＲと一体となった第２対象物Ｔ２が第１対象物Ｔ１に対して非接触状態から接触状態へ遷移する（例えば対象物を把持する）動作区分である第１動作区分Ｄ１と、（２）ロボットＲまたはロボットＲと一体となった第２対象物Ｔ２が第１対象物Ｔ１に対して接触状態から非接触状態へ遷移する（対象物を放す）動作区分である第２動作区分Ｄ２と、（３）第１動作区分Ｄ１と第２動作区分Ｄ２とのいずれか一方または両方に連続する動作区分である第３動作区間Ｄ３とに区分する。
【００４５】
軌道探索管理部２２０は、要求タスク生成部１１０により生成された要求軌道群の各実行段階における一連の動作の軌道探索を行い、初期姿勢探索部２２１と、終端姿勢探索部２２２と、中間姿勢探索部２２３とを備える。
【００４６】
初期姿勢探索部２２１は、動作区分処理部２１０により区分された第２動作区分Ｄ２についての軌道探索を行う。
【００４７】
終端姿勢探索部２２２は、動作区分処理部２１０により区分された第１動作区分Ｄ１についての軌道探索を行う。
【００４８】
中間姿勢探索部２２３は、動作区分処理部２１０により区分された第３動作区分Ｄ３についての軌道探索を行う。
【００４９】
なお、軌道探索管理部２２０による軌道探索については、後述する。
【００５０】
干渉判定部２３０は、（Ａ）画像処理部１２０の障害物検出部１２２で検出された障害物および対象物認識部１２３で認識された対象物と、（Ｂ）ロボットＲまたはロボットと一体となった対象物との干渉可能性の有無をチェックする。
【００５１】
次に、図３を参照して本実施形態のロボットＲの制御装置における処理内容を示す説明する。
【００５２】
まず、コントローラ１００は、ユーザからのタスク実行の要求があるか否か判定する（図３／ＳＴＥＰ１０）。そして、ユーザが、入力装置１０１を介してロボットＲの実行タスクを指定すると(図３／ＳＴＥＰ１０でＹＥＳ)、コントローラ１００の要求タスク生成部１１０が、要求軌道群を作成する（図３／ＳＴＥＰ２０）。
【００５３】
なお、これと並行して主制御部１５０による処理（図３／ＳＴＥＰ３０〜）が実行されるが、主制御手段による処理内容については後述する。
【００５４】
ここで、主制御部１５０によるＳＴＥＰ３０〜の処理が、ＳＴＥＰ２０〜の処理と同時並行的に実行されるのは、主制御部１５０は、ＳＴＥＰ２０〜の処理による目標軌道の生成タイミングに拠らず、ロボットＲにタスクを連続的に実行させるためである。
【００５５】
具体的には、図４に示すように、ロボットＲの実行タスクとしては、テーブルＷ１上の２つのカップＷ２１およびＷ２２を順番にトレイＷ３に移動するタスクが指定される。この場合、図４に模式的に示すように、タスクの実際の実行段階が第ｉ段階である場合には、コントローラ１００およびサポートサーバ２００によるＳＴＥＰ２０〜の処理により、第（ｉ＋１）段階の外界の予測状況に基づいて、少なくとも第（ｉ＋１）段階のロボットＲの目標軌道が予め生成される。
【００５６】
すなわち、タスクの実際の実行段階である第ｉ段階では、ロボットＲは、１つ目のカップＷ２１を把持してトレイＷ３へ移動しているが、コントローラ１００およびサポートサーバ２００によるＳＴＥＰ２０〜の処理では、予め第ｉ段階が終了した状況での対象物および障害物の予測位置および予測姿勢、すなわち、第（ｉ＋１）段階の対象物および障害物の初期位置および初期姿勢を予測する。第（ｉ＋１）段階の対象物および障害物の初期位置および初期姿勢では、１つ目のカップＷ２１は既にトレイＷ３に収容されているため、この予測された初期状態から、第（ｉ＋１）段階におけるロボットＲの目標軌道が予め生成される。
【００５７】
以下、ＳＴＥＰ２０以下の処理の詳細について、図５を参照して詳細に説明する。
【００５８】
まず、要求タスク生成部１１０は、ユーザにより指定されたタスクに対して、図５に示すように、タスクの実行段階を第１段階、第２段階、・・第ｎ段階に分割し各段階で要求される要求軌道群を生成する（図３／ＳＴＥＰ２０）。
【００５９】
ここで、第１段階、第２段階、・・第ｎ段階は、軌道探索管理部２２０による処理単位を考慮した決定されるものである。すなわち、軌道探索管理部２２０では、第２動作区分Ｄ２（初期姿勢）から第３動作区分Ｄ３（中間姿勢）を経て第１動作区分Ｄ１（終端姿勢）へ至る一連の動作を処理単位としているため、要求タスク生成部１１０は、これを１つの段階として分割する。
【００６０】
また、要求軌道群は、後述する姿勢探索（図３／ＳＴＥＰ２４〜２６）を行う際の条件を各段階について規定したものである。すなわち、各段階について、ロボットＲの目標軌道（目標姿勢軌道および目標姿勢軌道）として要求される軌道探索条件を規定したものである。
【００６１】
次いで、将来外界予測部１３０が、要求タスク生成部１１０により生成された要求軌道群と、障害物検出部１２２および対象物認識部１２３で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定した将来外界状況群を作成する（図３／ＳＴＥＰ２１）。
【００６２】
具体的に、将来外界予測部１３０は、図５に示す第１段階〜第３の各段階後のテーブルＷ１、カップＷ２、トレイＷ３の位置等の状況を推定した将来外界状況群を作成する。例えば、将来外界予測部１３０は、現在の状況からタスクを第２段階まで実行した後の状況（カップＷ２がトレイに移動された図５（ｆ）の状況）を予測し、次に、第２段階の終了時の予測した状況から、第３段階までタスクを実行した後の状況を予測する。以下、第ｎ段階までの状況を順番に予測する。
【００６３】
より正確には、将来外界予測部１３０は、第ｉ段階の終了時の障害物および対象物の位置Ｘ（ｔｉ）および姿勢θ（ｔｉ）から、第（ｉ＋１）段階終了時の障害物および対象物の位置Ｘ（ｔｉ＋１）および姿勢θ（ｔｉ＋１）を、第（ｉ＋１）段階の要求軌道（ＳＴＥＰ２０参照）に基づいて算出する。このとき、ｉは、０≦ｉ≦ｎ−１の整数であり、ｉ＝０は、ロボットＲの初期状態（初期位置Ｘ（ｔ０）および初期姿勢θ（ｔ０））を示す。
【００６４】
次に、サポートサーバ２００は、コントローラ１００から、軌道生成要求があるか否かを判定する（図３／ＳＴＥＰ２２）。
【００６５】
軌道生成要求の有無は、要求タスク生成部１１０で作成された要求軌道群および将来外界予測部１３０で作成された将来外界状況群がサポートサーバ２００へ送信の有無によりは判定される。
【００６６】
そして、軌道生成要求がある場合には（図３／ＳＴＥＰ２２でＹＥＳ）、動作区分処理部２１０が、要求軌道群の各実行段階における一連の動作をその動作区分に応じて分割する（図３／ＳＴＥＰ２３）。一方、軌道生成要求がない場合には（図３／ＳＴＥＰ２２でＮＯ）、この処理を終了する。
【００６７】
具体的に、動作区分処理部２１０は、図５（ａ）および（ｂ）に示す第１段階では、まず、カップＷ２を第１対象物Ｔ１として、ロボットＲが第１対象物に対して非接触状態から接触状態に遷移する動作区分である第１動作区分Ｄ１を分割する（図５（ｂ）参照）。そして、動作区分処理部２１０は、第１段階で第１動作区分Ｄ１に連続する動作区分を第３動作区分Ｄ３とする（図５（ａ）参照）。
【００６８】
ここで、図５（ｂ）に示す第１動作区分Ｄ１の始点は、第１対象物であるカップを把持する動作の初期姿勢および初期位置により規定される。例えば、腕部１２および手部１４を動作させることにより第１対象物であるカップを把持することができる、ロボットＲの初期姿勢および初期位置が第１動作区分Ｄ１の始点となる。これは、第２動作区分Ｄ２の始点についても同様である。
【００６９】
次いで、動作区分処理部２１０は、図５（ｃ）〜（ｅ）に示す第２段階では、まず、カップＷ２をロボットＲと一体となったカップＷ２を第２対象物Ｔ２、テーブルＷ１を第１対象物Ｔ１として、ロボットＲおよびこれと一体となったカップＷ２（Ｔ２）が、テーブルＷ１（Ｔ１）に対して接触状態から非接触状態に遷移する動作区分である第２動作区分Ｄ２を分割する（図５（ｃ）参照）。さらに、カップＷ２をロボットＲと一体となったカップＷ２を第２対象物Ｔ２、トレイＷ３を第１対象物Ｔ１として、ロボットＲおよびこれと一体となったカップＷ２（Ｔ２）が、トレイＷ３（Ｔ１）に対して非接触状態から接触状態に遷移する動作区分である第１動作区分Ｄ１を分割する（図５（ｅ）参照）。そして、第２段階で第２動作区分Ｄ２および第１動作区分Ｄ１に連続する動作区分を第３動作区分Ｄ３とする（図５（ｄ）参照）。
【００７０】
同様に、動作区分処理部２１０は、図５（ｆ）に示す第３段階では、まず、カップＷ２を第１対象物Ｔ１として、ロボットＲが、カップＷ２（Ｔ１）に対して接触状態から非接触状態に遷移する動作区分である第２動作区分Ｄ２を分割する（図５（ｄ）参照）。そして、動作区分処理部２１０は、第３段階で第２動作区分Ｄ２に連続する動作区分（基本姿勢への復帰）を第３動作区分Ｄ３とする（図示省略）。
【００７１】
次に、軌道探索管理部２２０が、第１〜第３段階の各段階におけるロボットＲの軌道を探索して、タスクの各段階におけるロボットＲの時系列的な位置および姿勢を生成する（図３／ＳＴＥＰ２４〜２７）。
【００７２】
具体的には、第１〜第３段階の各段階について、初期姿勢探索部２２１が、第２動作区分Ｄ２についての軌道探索を行い（図３／ＳＴＥＰ２４）、終端姿勢探索部２２２が、第１動作区分Ｄ１についての軌道探索を行い（図３／ＳＴＥＰ２５）、中間姿勢探索部２２３が、第３動作区分Ｄ３についての軌道探索を行う（図３／ＳＴＥＰ２６）。
【００７３】
ここで、軌道探索管理部２２０による軌道探索は、要求タスク生成部１１０により生成された、タスクの各実行段階で要求される要求軌道を満たす軌道を探索する。具体的には、ロボットＲの各部位について、空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを探索する。さらに、ロボットＲと第２対象物Ｔ２が一体となっている場合には、第２対象物の空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを併せて探索する。
【００７４】
このとき、軌道探索管理部２２０は、図６に示すように、タスクにおいて相互作用を伴う第１対象物Ｔ１については、第１対象物Ｔ１の形状に応じた回転自由度と並進自由度とのいずれか一方または両方を与えて目標位置軌道および目標姿勢軌道を探索する。
【００７５】
具体的には、図６（ａ）に示すように、第１対象物Ｔ１の形状が円形である場合には、中心軸に対する回転自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【００７６】
一方、図６（ｂ）に示すように、第１対象物Ｔ１の形状が筒型である場合のように軸方向の位置依存がない場合には、その軸方向に並進自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【００７７】
以上説明した軌道探索管理部２２０による軌道探索において、初期姿勢探索部２２１が行う第２動作区分Ｄ２についての軌道探索では、ロボットＲとロボットＲと一体となった第２対象物Ｔ２と、第１対象物Ｔ１との干渉判定が省略される。
【００７８】
例えば、図５（ｃ）に示す第２動作区分Ｄ２では、ロボットＲとロボットＲと一体となった第２対象物Ｔ２であるカップＷ２と、第１対象物Ｔ１であるテーブルＷ１との干渉判定部２３０による干渉判定が省略される。また、図５（ｆ）に示す第２動作区分Ｄ２では、ロボットＲと、第１対象物Ｔ１であるカップＷ２との干渉判定部２３０による干渉判定が省略される。
【００７９】
さらに、終端姿勢探索部２２２が行う第１動作区分Ｄ１についての軌道探索では、ロボットＲとロボットＲと一体となった第２対象物Ｔ２と、第１対象物Ｔ１との干渉判定が省略される。
【００８０】
例えば、図５（ａ）に示す第１動作区分Ｄ１では、ロボットＲと、第１対象物Ｔ１であるカップＷ２との干渉判定部２３０による干渉判定が省略される。また、図５（ｅ）に示す第１動作区分Ｄ１では、ロボットＲと一体となった第２対象物であるカップＷ２と、第１対象物Ｔ１であるトレイＷ３との干渉判定部２３０による干渉判定が省略される。
【００８１】
これにより、第１動作区分Ｄ１および第２動作区分Ｄ２では、タスクにおける相互作用を伴う第１対象物Ｔ１との間の干渉判定による演算処理負荷が増大することを抑制することができる。
【００８２】
また、第１動作区分Ｄ１および第２動作区分Ｄ２では、第１対象物Ｔ１は、ロボットＲまたはロボットＲと一体となった第２対象物Ｔ２と既に接触しているか、これから接触するものであるため、第１対象物Ｔ１との間の干渉判定を省略しても、第１対象物Ｔ１以外の他の物体との干渉を回避できれば、ロボットＲにタスクを実行させることができる。
【００８３】
一方、中間姿勢探索部２２３が行う第３動作区分Ｄ３についての軌道探索では、ロボットＲとロボットＲと一体となった第２対象物Ｔ２と、第１対象物Ｔ１を含めたすべての障害物との干渉判定が行われる。
【００８４】
これにより、第１および第２動作区分以外の第３動作区分Ｄ３では、第１対象物Ｔ１との間の干渉判定を実行することで、第１対象物Ｔ１を含めて他の障害物との干渉を回避しながら、タスクを実行する一連の動作を実現することができる。
【００８５】
次に、軌道探索管理部２２０は、初期姿勢探索部２２１による第２動作区分Ｄ２の目標軌道（目標位置軌道および目標姿勢軌道、以下同じ）と、終端姿勢探索部２２２による第１動作区分Ｄ１の目標軌道と、中間姿勢探索部２２３によるこれらの区分の間を繋ぐ第２動作区分Ｄ３の目標軌道との全て目標軌道が生成されたか否かを判定する（図３／ＳＴＥＰ２７）。
【００８６】
そして、全ての目標軌道が生成されている場合には（図３／ＳＴＥＰ２７でＹＥＳ）、軌道探索管理部２２０が生成された目標軌道を図示しないメモリ等に記録し（図３／ＳＴＥＰ２８）、ＳＴＥＰ２３へリターンする。これにより、次のタスクの実行段階について、ＳＴＥＰ２３以降の処理を繰り返し実行する。
【００８７】
一方、全ての目標軌道が生成されていない場合には（図３／ＳＴＥＰ２７でＮＯ）、ＳＴＥＰ２４へリターンして、再度、ＳＴＥＰ２４以降の処理を実行する。
【００８８】
以上が、要求タスクに応じて目標軌道を生成する一連の処理である。
【００８９】
次に、説明を後回しにした主制御部１５０による処理（図３／ＳＴＥＰ３０〜ＳＴＥＰ３４）を説明する。
【００９０】
なお、主制御部１５０は、前述のように、ＳＴＥＰ２４〜２６により目標軌道が生成されたタイミングで目標軌道に追従するように、アクチュエータ１０００を制御するのではなく、ＳＴＥＰ２８でメモリ等に記録された目標軌道が蓄積されていれば、それを逐次処理する。
【００９１】
これにより、目標軌道の生成タイミングに拠らず、ロボットＲにタスク実行を行わせることができ、ロボットＲの実行動作に時間的な連続性を持たせることができる。さらに、生成された目標軌道は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、目標軌道に基づいて制御されるロボットＲの動作が空間的に不連続になることも防止することができる。
【００９２】
まず、主制御部１５０は、要求タスク生成部１１０が作成した要求軌道群を取得する（図３／ＳＴＥＰ３０）。
【００９３】
次いで、主制御部１５０は、軌道追従要求があるか否かを判定する（図３／ＳＴＥＰ３１）。
【００９４】
そして、主制御部１５０は、軌道追従要求がない場合には（図３／ＳＴＥＰ３１でＮＯ）、この処理を終了し、軌道追従要求がある場合には（図３／ＳＴＥＰ３１でＹＥＳ）、軌道探索管理部２２０により軌道が生成されているか否かを判定する（図３／ＳＴＥＰ３２）。
【００９５】
そして、軌道探索管理部２２０により生成された目標軌道が図示しないメモリ等に記録されている場合には（図３／ＳＴＥＰ３２でＹＥＳ）、主制御部１５０は、ロボットＲのアクチュエータ１０００を制御することにより、生成された目標軌道にロボットＲを追従させる（図３／ＳＴＥＰ３３）。
【００９６】
なお、この場合に、目標軌道に第１対象物Ｔ１への押し付け動作がある場合には、ロボットＲの対象部位のアクチュエータ１０００を制御してロボットＲに押し付け動作を行わせる。
【００９７】
次いで、主制御部１５０は、目標軌道にロボットＲが追従しているか否かを判定する（図３／ＳＴＥＰ３４）。
【００９８】
そして、主制御部１５０は、ロボットＲが目標軌道に追従している場合には（図３／ＳＴＥＰ３４でＹＥＳ）、ＳＴＥＰ３１へリターンして、次の軌道追従要求があるか否かを判定する。一方、ロボットＲが目標軌道に追従していない場合には（図３／ＳＴＥＰ３４でＮＯ）、アクチュエータ１０００による目標軌道の追従が不可能か否かを判定する（図３／ＳＴＥＰ３５）。
【００９９】
そして、主制御部１５０は、目標軌道の追従が可能な場合には（図３／ＳＴＥＰ３５でＮＯ）、ＳＴＥＰ３４へリターンして、ロボットＲが目標軌道に追従するまでこの処理を繰り返す。一方、目標軌道の追従が不可能な場合には（図３／ＳＴＥＰ３５でＹＥＳ）、現在のタスクの実行状況が目標軌道と相違しているものとして、ＳＴＥＰ２１へリターンして、現在の実際の状況（画像処理部１２０により認識される現在の障害物や対象物）に基づいて将来の外界状況群を作成し、現在の実際の状況および将来の外界状況群から目標軌道を再生成する（図３／ＳＴＥＰ２１〜）。
【０１００】
これにより、予測した状況に変化が生じた場合にも、これ以降の各実行段階の対象物の予測位置および予測姿勢が更新されて、これからロボットＲが実行する各実行段階における、ロボットＲの時系列的な目標位置軌道よび目標姿勢軌道が再生成される。そのため、状況の変化により目標軌道を生成するのに時間を要して、ロボットのタスク実行が中断することを防止することができ、ロボットの動作が不連続になることを防止することができる。
【０１０１】
一方、（ＳＴＥＰ３１で）軌道探索管理部２２０により生成された目標軌道が図示しないメモリ等に記録されていない場合には（図３／ＳＴＥＰ３１でＮＯ）、一定時間待機し、軌道探索管理部２２０により軌道が生成されたタイミングで（図３／ＳＴＥＰ３４でＮＯ）、ＳＴＥＰ３２以降の処理を実行する。一方で、待機時間が経過してタイムアップした場合には（図３／ＳＴＥＰ３４でＹＥＳ）、目標軌道が存在しないか、すでに生成されたすべての目標軌道についてロボットＲの追従が完了したものとして、一連の処理を終了する。
【０１０２】
以上が、本実施形態のロボットＲの制御装置における処理内容であり、上述したように、かかる制御装置によれば、予めタスクの各実行段階における将来の状況を予測して、予め目標軌道を生成しておくことで、実行段階が切り替わる際には、次の実行段階におけるロボットＲの目標軌道の生成が為されているため、タスクの実行が中断していまい、ロボットの動作が不連続になることを防止することができる。
【０１０３】
なお、上記実施形態では、ロボットＲのコントローラ１００による処理負荷を軽減すべく、動作区分処理部２１０、軌道探索管理部２２０および干渉判定部２３０をサポートサーバ２００に設け、分散処理を行う構成について説明したが、これに限定されるものではない。すなわち、コントローラ１００の各処理部１１０〜１３０，１５０と、サポートサーバの各処理部２１０〜２３０の一部または全部をコントローラ１００に備え、残りの処理部をサポートサーバに備えるように構成してもよい。例えば、コントローラ１００にすべての処理部を設けて、サポートサーバ２００を備えない構成としてもよい。
【０１０４】
また、上記実施形態では、情報端末である入力装置１０１によりタスクが指定される構成について説明したが、これに限定されるものではない。例えば、ロボットＲが備えマイクロフォン等によりユーザの指示を音声認識するように構成してもよい。
【０１０５】
さらに、上記実施形態では、要求タスク生成部１１０により、タスクを実行する一連の動作を、該タスクの実行段階（第１段階、第２段階、・・・、第ｎ段階）に毎に区分しているが、これに限定されるものではない。
【０１０６】
すなわち、本実施形態では、タスクを各実行段階に区分して、各実行段階におけるロボットＲの動作により実現される将来の状況（ＳＴＥＰ２０の要求軌道群から予測される各実行段階の終了時の対象物の位置および姿勢）から、予測された実行段階の次の実行段階におけるロボットＲの目標姿勢軌道および目標位置軌道を生成しているが、タスクを各実行段階に区分しないように構成してもよい。
【０１０７】
この場合、将来外界予測部１３０が、タスクの進捗状況に応じた対象物の時系列的な予測位置および予測姿勢を逐次予測し、その予測位置および予測姿勢に基づいて、軌道探索管理部２２０が、ロボットＲの目標姿勢軌道および目標位置軌道を逐次生成するように構成される。これにより、上記実施形態と同様に、ロボットの動作が時間的かつ空間的に不連続になることを防止することができる。
【符号の説明】
【０１０８】
Ｒ…ロボット、１００…コントローラ、１０１…入力装置、１１０…要求タスク生成部、１２０…画像処理部、１３０…将来外界予測部（外界予測手段）、１５０…主制御部、２００…サポートサーバ、２１０…動作区分処理部、２２０…軌道探索管理部（行動計画手段）、２２１…初期姿勢探索部、２２２…終端姿勢探索部、２２３…中間姿勢探索部、２３０…干渉判定部（干渉判定手段）、Ｄ１…第１動作区分、Ｄ２…第２動作区分、Ｄ３…第３動作区分、Ｔ１…第１対象物、Ｔ２…第２対象物、Ｗ１…テーブル、Ｗ２（Ｗ２１，Ｗ２２）…カップ、Ｗ３…トレイ。
【図１】
0005638283.tif 000002
【図２】
0005638283.tif 000003
【図３】
0005638283.tif 000004
【図４】
0005638283.tif 000005
【図５】
0005638283.tif 000006
【図６】
0005638283.tif 000007