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