説明

制御装置

【課題】撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができるロボットの制御装置を提供する。
【解決手段】追跡処理手段151は、撮像画像において第1対象物T1またはロボットRの動作部位を検出する第1注視点A1を設定し、第1注視点A1により第1対象物T1またはロボットRの動作部位を追跡する。このとき、追跡処理手段151は、第1注視点A1を喪失した場合に、喪失した第1注視点A1と異なる第2注視点A2に変更するなど、第1対象物T1またはロボットRの動作部位の検出方法を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物との相互作用を伴うタスクをロボットに実行させるロボットの制御装置に関する。
【背景技術】
【0002】
近年、ロボットに対象物を把持して該対象物を移動させるなど、対象物との相互作用を伴うタスクをロボットに実行させるための様々な技術が提案されている(例えば、下記特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−125462号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ロボットが備える撮像手段の撮像画像では、処理負荷の低減のためにタスクの実行段階に合わせて画像処理領域を対象物の一部またはロボットの動作部位に制限している。そのため、タスクの実行段階において想定される対象物またはロボットの標準的な位置や姿勢から逸脱すると、対象物またはロボットの動作部位を認識することが困難となる場合がある。このような場合には、ロボットの動作を制御することが困難となり、タスクが中断してしまうことがある。
【0005】
そこで、本発明は、上記事情に鑑み、撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができるロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1発明の制御装置は、基体と、前記基体に連結された肢体とを備えるロボットに、1または複数の対象物との相互作用を伴うタスクを実行させるロボットの制御装置であって、
前記タスクを前記ロボットに実行させるための、該ロボットの時系列的な目標位置軌道および目標姿勢軌道を生成する行動計画手段と、
前記行動計画手段により生成された前記目標位置軌道および前記目標姿勢軌道に従って前記ロボットの動作を制御し、前記タスクを実行させる制御手段と、
前記対象物または前記ロボットの動作部位を撮像した撮像画像において、検出条件を満たす該対象物または該ロボットの動作部位を検出して追跡する追跡処理手段と
を備え、
前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位が検出条件を満たさない場合に、検出条件が満たされるように該対象物または該ロボットの動作部位の検出方法を変更することを特徴とする。
【0007】
第1発明の制御装置によれば、撮像画像において対象物またはロボットの動作部位が検出条件を満たさない場合に、対象物またはロボットの動作部位を検出する検出方法を変更する。これにより、変更された検出方法で対象物またはロボットの動作部位を検出してロボットの動作を制御することができ、撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができる。
【0008】
第2発明の制御装置は、第1発明において、
前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位が検出条件を満たさない場合に、前記撮像画像の撮像範囲と前記撮像画像における前記対象物または前記ロボットの動作部位の検出範囲とのいずれか一方または両方を変更することを特徴とする。
【0009】
第2発明の制御装置によれば、対象物またはロボットの動作部位が検出条件を満たさない場合に、撮像範囲を変更することにより対象物またはロボットの動作部位を検出することが可能となる場合がある。また、撮像範囲における対象物またはロボットの動作部位の検出範囲を変更することで、これらを検出することが可能となる場合がある。これにより、変更された検出方法で対象物またはロボットの動作部位を検出してロボットの動作を制御することができ、撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができる。
【0010】
第3発明の制御装置は、第1または第2発明において、前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位を検出する第1注視点を設定し、該第1注視点が検出されることを前記検出条件として、該第1注視点が検出されない場合に該第1注視点を検出条件を満たす第2注視点に変更することを特徴とする。
【0011】
第3発明の制御装置によれば、対象物またはロボットの動作部位に設定された第1注視点が検出されることを検出条件として、該検出条件を満たさない場合に、第1注視点をこれと異なる第2注視点に変更することで、対象物またはロボットの動作部位を検出することが可能となる。これにより、変更された検出方法で対象物またはロボットの動作部位を検出してロボットの動作を制御することができ、撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができる。
【0012】
第4発明の制御装置は、第1〜第3発明のいずれかの発明において、
前記追跡処理手段は、前記検出条件を満たさない場合に、前記タスクに鑑みた前記ロボットの内部状態および外部状態から、前記対象物または前記ロボットの動作部位の検出方法を変更することを特徴とする。
【0013】
第4発明の制御装置によれば、ロボットの内部状態および外部状態から認識される検出条件を満たない場合の状況に応じて、対象物またはロボットの動作部位の検出方法が変更される。そのため、検出条件を満たない場合の状況に応じて、検出条件を満たす適切な検出方法に変更することができる。これにより、変更された検出方法で対象物またはロボットの動作部位を検出してロボットの動作を制御することができ、撮像画像により対象物またはロボットの動作部位を認識することが困難な状況となった場合にも、タスクを継続して実行することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態のロボットの構成説明図。
【図2】ロボットの制御装置の構成説明図。
【図3】ロボットの制御装置における処理を示すフローチャート。
【図4】ロボットの制御装置における処理内容を示す説明図。
【図5】ロボットの制御装置における処理内容を示す説明図。
【図6】ロボットの制御装置における処理内容を示す説明図。
【発明を実施するための最良の形態】
【0015】
次に、本発明のロボットの制御装置の実施形態について、図1〜図6を参照して説明する。
【0016】
まず、図1に示すように、ロボットの制御装置は、自律移動ロボットR(以下、ロボットRという)のコントローラ100およびサポートサーバ200により構成されている。
【0017】
ロボットRは、基体10と、基体10の上部に設けられた頭部11と、基体10の上部左右両側から延設された左右の腕部12と、腕部12の先端部に設けられた手部14と、基体10の下部から下方に延設された左右の脚部13と、脚部13の先端部に取り付けられている足部15とを備えている。ロボットRは、再表03/090978号公報や、再表03/090979号公報に開示されているように、アクチュエータ1000(図3参照)から伝達される力によって、人間の肩関節、肘関節、手根関節、股関節、膝関節、足関節等の複数の関節に相当する複数の関節部分において腕部12や脚部13を屈伸運動させることができる。ロボットRは、左右の脚部13(または足部15)のそれぞれの離床および着床の繰り返しを伴う動きによって自律的に移動することができる。基体10の鉛直方向に対する傾斜角度が調節されることによって、頭部11の高さが調節されうる。なお、移動装置は複数の脚部13の動作によって自律的に移動するロボットRのほか、車輪式移動ロボット(自動車)等、移動機能を有するあらゆる装置であってもよい。
【0018】
頭部11には、左右に並んでロボットRの前方に向けられた一対の頭カメラ(CCDカメラ)C1が搭載されている。基体10には、ロボットRの前側下部の検知領域A(C2)に赤外レーザ光線(電磁波)を出力し、その反射光の入力に応じた信号を出力する腰カメラC2が搭載されている。腰カメラC2はロボットRの前方下方にある物体の位置の測定、床面に付されているマークの形状および姿勢の認識に基づくロボットRの方位または姿勢の測定、および、台車等の運搬対象物に付されているマークの形状または姿勢の認識結果に基づくこの運搬対象物の位置または姿勢の測定等に用いられる。
【0019】
ロボットRはハードウェアとしてのECUまたはコンピュータ(CPU,ROM,RAM,I/O等により構成されている。)により構成されているコントローラ100と、通信機器140(図2参照)とを備えている。コンピュータのメモリには制御プログラム(ソフトウェア)が格納されている。制御プログラムはCDやDVD等のソフトウェア記録媒体を通じてコンピュータにインストールされてもよいが、ロボットRからサーバに要求信号が送信されたことに応じて当該サーバによってネットワークや人工衛星を介して当該コンピュータにダウンロードされてもよい。
【0020】
図2に示すように、コントローラ100は、入力装置101のほか、ロボットRに搭載された頭カメラC、腰カメラC、肩カメラC、ロータリエンコーダ102、ジャイロセンサ103、GPS受信器104等の出力信号に基づき、アクチュエータ1000の動作を制御することにより、腕部12や脚部13の動作を制御する。コントローラ100は、サポートサーバ200からロボットRに対して送信されたロボットRの目標軌道(目標位置軌道および目標姿勢軌道)にしたがって、このロボットRの行動を制御する。
【0021】
入力装置(ユーザ端末)101は、例えば、キーボードやタッチパネルなどの入力デバイスと、液晶ディスプレーなどのモニタを備えたパーソナルコンピュータからなる端末であって、コントローラ100との間で通信可能に構成されている。入力装置101は、ユーザがこれを操作することにより、ロボットRで実行可能なタスクを指定することができる。このように、入力装置101は、ロボットRの起動・停止・タスク実行などをユーザが指示してロボットRを遠隔操作するためのユーザインターフェースとして用いられると共に、頭カメラC1等の映像の表示などロボット自体の作動状況の監視に用いることもできる。
【0022】
頭カメラC1、腰カメラC2等は、対象物や外界干渉物の挙動状態等、ロボットRの外部状態または環境を測定するためのセンサに相当する。
【0023】
ロータリエンコーダ102、ジャイロセンサ103、GPS受信器104は、ロボットRの内部状態または挙動状態を測定するためのセンサ等に相当し、これには、図示しないロボットRに搭載されたバッテリの端子電圧を検出する電圧センサ、脚部13に作用する床反力に応じた信号を出力する力センサ等、ロボットRに搭載されている種々のセンサが内部状態センサ等が該当する。これらのセンサの検出値に基づいて、コントローラ100は、ロボットRの内部状態または挙動状態を認識する。
【0024】
アクチュエータ1000は電動モータ等の駆動源のほか、駆動源の出力軸と腕部12や脚部13を構成するリンクとの間に設けられた減速機や、弾性部材等の柔軟要素により構成されている。
【0025】
さらに、コントローラ100は、要求タスク生成部110と、画像処理部120と、将来外界予測部130と、通信機器140と、主制御部150とを備える。
【0026】
要求タスク生成部110は、入力装置101によるユーザの操作を認識する機能を有し、入力装置101を介してユーザによって指定された要求タスクを認識し、要求タスクを実行するために要求される要求軌道群を作成する。ここで、要求軌道群は、タスクをその実行段階に応じておおまかに分割した場合の各段階で要求される軌道の集合体を指す。そして、要求タスク生成部110は、生成した要求軌道群を将来外界予測部130およびサポートサーバ200へ出力する。
【0027】
画像処理部120は、ステレオ処理部121と、障害物検出部122と、対象物認識部123とを備え、カメラC1〜C3で撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や対象物の認識を行う。なお、障害物は、後述するようにロボットRとの干渉を回避する必要性がある点で、本発明の対象物に含まれる概念である。
【0028】
ステレオ処理部121は、左右の頭カメラC1,C1が撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を障害物検出部122へ出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
【0029】
障害物検出部122は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の障害物を検出する。さらに、障害物検出部122は、検出した障害物の所定距離範囲のみの視差画像として、障害物を抽出し、対象物認識部123へ障害物の画像を出力する。
【0030】
対象物認識部123は、検出した障害物からタスクの実行の際に相互作用を伴う対象物の形状等を抽出して、その大きさ、形状等から対象物を認識する。
【0031】
なお、障害物検出部122で検出された障害物の領域、大きさ、形状と、対象物認識部123で認識された対象物の領域、大きさ、形状とは、将来外界予測部130へ出力される。
【0032】
将来外界予測部130は、要求タスク生成部110により生成された要求軌道群と、障害物検出部122および対象物認識部123で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定する。
【0033】
すなわち、将来外界予測部130は、現時点から、タスクをその実行段階に応じておおまかに分割した場合の第1段階で要求される軌道に従ってロボットRを動作させた後の障害物および対象物の位置等を推定する。次に、この状態(第1段階の実行後)から、第2段階で要求される軌道に従ってロボットRを動作さえた後の障害物および対象物の位置等を推定する。以下、この推定を繰り返すことで、要求タスク生成部110により生成された要求軌道群に従ってロボットを動作させた各段階での障害物および対象物の位置等を予め推定する。
【0034】
主制御部150は、サポートサーバ200からロボットRに対して送信された目標軌道にしたがって、複数のアクチュエータ1000を制御し、目標軌道にこのロボットRの行動を追従させる。
【0035】
また、主制御部150は、追跡処理部151を備え、追跡処理部151は、ロボットRを目標軌道に追従させる際に、画像処理部120により取得された撮像画像において対象物またはロボットRの動作部位を検出してこれを追跡する。
【0036】
ここで、撮像画像における対象物またはロボットRの動作部位は、撮像画像から対象物またはロボットの動作部位に対して予め設定された注視点(第1注視点)を抽出することにより検出される。
【0037】
サポートサーバ(CPU,ROM,RAM,I/O等により構成されている。)200は基地局(図示略)および通信網を介してロボットRとの通信機能を有している。
【0038】
サポートサーバ200は、動作区分処理部210と、軌道探索管理部220と、干渉判定部230とを備える。
【0039】
動作区分処理部210は、要求タスク生成部110により生成された要求軌道群の各実行段階における一連の動作をさらに次のように区分する。
【0040】
各段階の一連の動作を、(1)ロボットRまたはロボットRと一体となった第2対象物T2が第1対象物T1に対して非接触状態から接触状態へ遷移する(例えば対象物を把持する)動作区分である第1動作区分D1と、(2)ロボットRまたはロボットRと一体となった第2対象物T2が第1対象物T1に対して接触状態から非接触状態へ遷移する(対象物を放す)動作区分である第2動作区分D2と、(3)第1動作区分D1と第2動作区分D2とのいずれか一方または両方に連続する動作区分である第3動作区間D3とに区分する。
【0041】
軌道探索管理部220は、要求タスク生成部110により生成された要求軌道群の各実行段階における一連の動作の軌道探索を行い、初期姿勢探索部221と、終端姿勢探索部222と、中間姿勢探索部223とを備える。
【0042】
初期姿勢探索部221は、動作区分処理部210により区分された第2動作区分D2についての軌道探索を行う。
【0043】
終端姿勢探索部222は、動作区分処理部210により区分された第1動作区分D1についての軌道探索を行う。
【0044】
中間姿勢探索部223は、動作区分処理部210により区分された第3動作区分D3についての軌道探索を行う。
【0045】
なお、軌道探索管理部220による軌道探索については、後述する。
【0046】
干渉判定部230は、(A)画像処理部120の障害物検出部122で検出された障害物および対象物認識部123で認識された対象物と、(B)ロボットRまたはロボットと一体となった対象物との干渉可能性の有無をチェックする。
【0047】
次に、図3を参照して本実施形態のロボットRの制御装置における処理内容を示す説明する。
【0048】
まず、コントローラ100は、ユーザからのタスク実行の要求があるか否か判定する(図3/STEP10)。そして、ユーザが、入力装置101を介してロボットRの実行タスクを指定すると(図3/STEP10でYES)、コントローラ100の要求タスク生成部110が、要求軌道群を作成する(図3/STEP20)。なお、これと並行して主制御部150による処理(図3/STEP30〜)が実行されるが、主制御手段による処理内容については後述する。
【0049】
ここで、ロボットRの実行タスクとしては、例えば、図4に示すようにテーブルW1上のカップW2をトレイW3に移動するタスクが指定される。かかるタスクに対して、要求タスク生成部110が、タスクの実行段階を第1〜第3階段階に分割し、各段階で要求される要求軌道群を生成する(図3/STEP20)。なお、図4において、破線で示す矢印は、ロボットRの手部14の位置軌道の一部を示している。
【0050】
ここで、第1〜第3段階は、軌道探索管理部220による処理単位を考慮した決定されるものである。すなわち、軌道探索管理部220では、第2動作区分D2(初期姿勢)から第3動作区分D3(中間姿勢)を経て第1動作区分D1(終端姿勢)へ至る一連の動作を処理単位としているため、要求タスク生成部110は、これを1つの段階として分割する。
【0051】
また、要求軌道群は、後述する姿勢探索(図3/STEP24〜26)を行う際の条件を各段階について規定したものである。すなわち、各段階について、ロボットRの目標軌道(目標姿勢軌道および目標姿勢軌道)として要求される軌道探索条件を規定したものである。
【0052】
次いで、将来外界予測部130が、要求タスク生成部110により生成された要求軌道群と、障害物検出部122および対象物認識部123で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定した将来外界状況群を作成する(図3/STEP21)。
【0053】
具体的に、将来外界予測部130は、図4に示す第1段階〜第3の各段階後のテーブルW1、カップW2、トレイW3の位置等の状況を推定した将来外界状況群を作成する。例えば、将来外界予測部130は、現在の状況からタスクを第2段階まで実行した後の状況(カップW2がトレイに移動された図4(f)の状況)を推定等することができる。
【0054】
次に、サポートサーバ200は、コントローラ100から、軌道生成要求があるか否かを判定する(図3/STEP22)。
【0055】
軌道生成要求の有無は、要求タスク生成部110で作成された要求軌道群および将来外界予測部130で作成された将来外界状況群がサポートサーバ200へ送信の有無によりは判定される。
【0056】
そして、軌道生成要求がある場合には(図3/STEP22でYES)、動作区分処理部210が、要求軌道群の各実行段階における一連の動作をその動作区分に応じて分割する(図3/STEP23)。一方、軌道生成要求がない場合には(図3/STEP22でNO)、この処理を終了する。
【0057】
具体的に、動作区分処理部210は、図4(a)および(b)に示す第1段階では、まず、カップW2を第1対象物T1として、ロボットRが第1対象物に対して非接触状態から接触状態に遷移する動作区分である第1動作区分D1を分割する(図4(b)参照)。そして、動作区分処理部210は、第1段階で第1動作区分D1に連続する動作区分を第3動作区分D3とする(図4(a)参照)。
【0058】
ここで、図4(b)に示す第1動作区分D1の始点は、第1対象物であるカップを把持する動作の初期姿勢および初期位置により規定される。例えば、基体10を固定した状態で腕部12および手部14を動作させることにより第1対象物であるカップを把持することができる、ロボットRの初期姿勢および初期位置が第1動作区分D1の始点となる。これは、第2動作区分D2の始点についても同様である。
【0059】
次いで、動作区分処理部210は、図4(c)〜(e)に示す第2段階では、まず、カップW2をロボットRと一体となったカップW2を第2対象物T2、テーブルW1を第1対象物T1として、ロボットRおよびこれと一体となったカップW2(T2)が、テーブルW1(T1)に対して接触状態から非接触状態に遷移する動作区分である第2動作区分D2を分割する(図4(c)参照)。さらに、カップW2をロボットRと一体となったカップW2を第2対象物T2、トレイW3を第1対象物T1として、ロボットRおよびこれと一体となったカップW2(T2)が、トレイW3(T1)に対して非接触状態から接触状態に遷移する動作区分である第1動作区分D1を分割する(図4(e)参照)。そして、第2段階で第2動作区分D2および第1動作区分D1に連続する動作区分を第3動作区分D3とする(図4(d)参照)。
【0060】
同様に、動作区分処理部210は、図4(f)に示す第3段階では、まず、カップW2を第1対象物T1として、ロボットRが、カップW2(T1)に対して接触状態から非接触状態に遷移する動作区分である第2動作区分D2を分割する(図4(d)参照)。そして、動作区分処理部210は、第3段階で第2動作区分D2に連続する動作区分(基本姿勢への復帰)を第3動作区分D3とする(図示省略)。
【0061】
次に、軌道探索管理部220が、第1〜第3段階の各段階におけるロボットRの軌道を探索して、タスクの各段階におけるロボットRの時系列的な位置および姿勢を生成する(図3/STEP24〜27)。
【0062】
具体的には、第1〜第3段階の各段階について、初期姿勢探索部221が、第2動作区分D2についての軌道探索を行い(図3/STEP24)、終端姿勢探索部222が、第1動作区分D1についての軌道探索を行い(図3/STEP25)、中間姿勢探索部223が、第3動作区分D3についての軌道探索を行う(図3/STEP26)。
【0063】
ここで、軌道探索管理部220による軌道探索は、要求タスク生成部110により生成された、タスクの各実行段階で要求される要求軌道を満たす軌道を探索する。具体的には、ロボットRの各部位について、空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを探索する。さらに、ロボットRと第2対象物T2が一体となっている場合には、第2対象物の空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを併せて探索する。
【0064】
このとき、軌道探索管理部220は、図5に示すように、タスクにおいて相互作用を伴う第1対象物T1については、第1対象物T1の形状に応じた回転自由度と並進自由度とのいずれか一方または両方を与えて目標位置軌道および目標姿勢軌道を探索する。
【0065】
具体的には、図5(a)に示すように、第1対象物T1の形状が円形である場合には、中心軸に対する回転自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【0066】
一方、図5(b)に示すように、第1対象物T1の形状が筒型である場合のように軸方向の位置依存がない場合には、その軸方向に並進自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【0067】
以上説明した軌道探索管理部220による軌道探索において、初期姿勢探索部221が行う第2動作区分D2についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1との干渉判定が省略される。
【0068】
例えば、図4(c)に示す第2動作区分D2では、ロボットRとロボットRと一体となった第2対象物T2であるカップW2と、第1対象物T1であるテーブルW1との干渉判定部230による干渉判定が省略される。また、図4(f)に示す第2動作区分D2では、ロボットRと、第1対象物T1であるカップW2との干渉判定部230による干渉判定が省略される。
【0069】
さらに、終端姿勢探索部222が行う第1動作区分D1についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1との干渉判定が省略される。
【0070】
例えば、図4(a)に示す第1動作区分D1では、ロボットRと、第1対象物T1であるカップW2との干渉判定部230による干渉判定が省略される。また、図4(e)に示す第1動作区分D1では、ロボットRと一体となった第2対象物であるカップW2と、第1対象物T1であるトレイW3との干渉判定部230による干渉判定が省略される。
【0071】
これにより、第1動作区分D1および第2動作区分D2では、タスクにおける相互作用を伴う第1対象物T1との間の干渉判定による演算処理負荷が増大することを抑制することができる。
【0072】
また、第1動作区分D1および第2動作区分D2では、第1対象物T1は、ロボットRまたはロボットRと一体となった第2対象物T2と既に接触しているか、これから接触するものであるため、第1対象物T1との間の干渉判定を省略しても、第1対象物T1以外の他の物体との干渉を回避できれば、ロボットRにタスクを実行させることができる。
【0073】
一方、中間姿勢探索部223が行う第3動作区分D3についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1を含めたすべての障害物との干渉判定が行われる。
【0074】
これにより、第1および第2動作区分以外の第3動作区分D3では、第1対象物T1との間の干渉判定を実行することで、第1対象物T1を含めて他の障害物との干渉を回避しながら、タスクを実行する一連の動作を実現することができる。
【0075】
次に、軌道探索管理部220は、初期姿勢探索部221による第2動作区分D2の目標軌道(目標位置軌道および目標姿勢軌道、以下同じ)と、終端姿勢探索部222による第1動作区分D1の目標軌道と、中間姿勢探索部223によるこれらの区分の間を繋ぐ第2動作区分D3の目標軌道との全て目標軌道が生成されたか否かを判定する(図3/STEP27)。
【0076】
そして、全ての目標軌道が生成されている場合には(図3/STEP27でYES)、軌道探索管理部220が生成された目標軌道を図示しないメモリ等に記録し(図3/STEP28)、STEP23へリターンする。これにより、次のタスクの実行段階について、STEP23以降の処理を繰り返し実行する。
【0077】
一方、全ての目標軌道が生成されていない場合には(図3/STEP27でNO)、STEP24へリターンして、再度、STEP24以降の処理を実行する。
【0078】
以上が、要求タスクに応じて目標軌道を生成する一連の処理である。
【0079】
次に、説明を後回しにした主制御部150による処理(図3/STEP30〜STEP33)を説明する。
【0080】
なお、主制御部150によるSTEP30〜の処理が、STEP20〜の処理と同時並行的に実行されるのは、主制御部150は、目標軌道の生成タイミングに拠らず、ロボットRにタスクを実行させるためである。すなわち、主制御部150は、STEP24〜26により目標軌道が生成されたタイミングで目標軌道に追従するように、アクチュエータ1000を制御するのではなく、STEP28でメモリ等に記録された目標軌道が蓄積されていれば、それを逐次処理する。これにより、目標軌道の生成タイミングに拠らず、ロボットRにタスク実行を行わせることができ、ロボットRの実行動作に連続性を持たせることができる。
【0081】
まず、主制御部150は、要求タスク生成部110が作成した要求軌道群を取得する(図3/STEP30)。
【0082】
次いで、主制御部150は、軌道追従要求があるか否かを判定する(図3/STEP31)。
【0083】
そして、主制御部150は、軌道追従要求がない場合には(図3/STEP31でNO)、この処理を終了し、軌道追従要求がある場合には(図3/STEP31でYES)、軌道探索管理部220により軌道が生成されているか否かを判定する(図3/STEP32)。
【0084】
そして、軌道探索管理部220により生成された目標軌道が図示しないメモリ等に記録されている場合には(図3/STEP32でYES)、主制御部150は、ロボットRのアクチュエータ1000を制御することにより、生成された目標軌道にロボットRを追従させる(図3/STEP33)。
【0085】
なお、この場合に、目標軌道に第1対象物T1への押し付け動作がある場合には、ロボットRの対象部位のアクチュエータ1000を制御してロボットRに押し付け動作を行わせる。
【0086】
次いで、主制御部150は、目標軌道にロボットRが追従しているか否かを判定する(図3/STEP34)。
【0087】
そして、主制御部150は、ロボットRが目標軌道に追従している場合には(図3/STEP34でYES)、STEP31へリターンして、次の軌道追従要求があるか否かを判定する。
【0088】
一方、ロボットRが目標軌道に追従していない場合には(図3/STEP34でNO)、主制御部150の追跡処理部151は、第1対象物T1またはロボットRの動作部位に予め設定された注視点(第1注視点)が検出可能か否か判定する(図3/STEP35)。
【0089】
ここで、追跡処理部151が、第1対象物T1またはロボットRの動作部位の注視点を検出するのは、画像処理部120により取得された撮像画像に基づいて既に生成された目標軌道を現在の画像(正確には、ここでの画像処理結果)に応じて修正して、ロボットRを外界の状態に合わせて動作させるためである。すなわち、主制御部150は、注視点を頼りに第1対象物T1またはロボットRの動作部位の位置および姿勢を認識し、ロボットRを目標軌道に追従させるようにアクチュエータ1000を制御する。
【0090】
第1対象物T1に予め設定された注視点A(第1注視点A1)としては、図6(a)に示すように、カップW2の下端部が該当する。追跡処理部151は、注視点Aを含む一定範囲を注視点検出範囲Bを設け、注視点検出範囲Bでの探索を行うことにより画像処理部120により取得された複数フレームの撮像画像において注視点Aを検出して追跡する。
【0091】
このように、注視点検出範囲Bを設定することにより、対象物またはロボットRの動作部位の追跡処理を行う画像処理範囲を撮像画像Cの中で限定することができ、処理負荷の低減を図ることで、処理速度を向上させることができ、結果として、外界の変化に対してロボットRを高速に追従させることが可能となる。
【0092】
そして、追跡処理部151は、第1対象物T1またはロボットRの動作部位に予め設定された注視点A(第1注視点A1)が検出できる場合には(図3/STEP35でYES)、検出した注視点Aに基づいて、ロボットRの動作を目標軌道に追従するように制御する。
【0093】
一方、追跡処理部151は、第1対象物T1またはロボットRの動作部位に予め設定された注視点A(第1注視点A1)が検出できない場合には(図3/STEP35でNO)、注視点変更処理を実行し(図3/STEP36)、STEP34へリターンして、変更した注視点(例えば、第2注視点A2)に基づいて、ロボットRの動作を目標軌道に追従するように制御する。
【0094】
ここで、第1対象物T1またはロボットRの動作部位に予め設定された注視点A(第1注視点A1)が検出できない場合としては、図6(b)に示すように、第1対象物T1であるカップW2の下端部がロボットRの手部14や他の対象物により隠れてしまう場合が該当する。
【0095】
このように第1対象物T1またはロボットRの動作部位に予め設定された注視点A(第1注視点A1)が検出できない場合に、追跡処理部151は、注視点変更処理を実行する。
【0096】
注視点変更処理において、追跡処理部151は、注視点Aを喪失した状況に鑑みて、第1対象物T1またはロボットRの動作部位を検出する検出方法を変更する。
【0097】
具体的には、下表に示すように、第1対象物T1またはロボットRの動作部位を検出する検出方法を変更する。
【0098】
【表1】

【0099】
表1において、追跡処理部151は、注視点Aを喪失した状況として、注視点Aがずれたと判断された場合には、注視点検出範囲Bを拡大し、その範囲Bで第1対象物T1であるカップW2の下端部に相当する円を抽出する。
【0100】
追跡処理部151は、注視点Aを喪失した状況として、図6(b)に示すように、注視点A(第1注視点A1)がかくれたと判断された場合には、注視点検出範囲Bを第1対象物T1であるカップW2の上端部側に変更し、その範囲Bで第1対象物T1であるカップW2の上端部(第2注視点A2)に相当する円を抽出する。
【0101】
追跡処理部151は、注視点Aを喪失した状況として、第1対象物T1であるカップW2を落とした判断された場合には、注視点検出範囲Bを撮像画像C全体に拡大し、撮像画像C全体においてカップW2に相当する立体物を抽出する。
【0102】
追跡処理部151は、注視点Aを喪失した状況として、第1対象物T1であるカップW2を把持できていないと判断された場合には、注視点検出範囲Bを第1対象物T1であるカップW2の周辺に拡大し、この注視点検出範囲BにおいてカップW2に相当する立体物を抽出する。
【0103】
なお、注視点Aを喪失した状況については、下表に示すように、ロボットRが備える各種センサ等の出力値に基づいて判断される。
【0104】
【表2】

【0105】
すなわち、表2に示す、追跡処理部151は、手部14に設けられたハンドエンコーダの出力値と、ハンド表皮センサの出力値と、6軸力センサの出力値と、マイクの出力値との組み合わせから、注視点Aを喪失した状況が一義的に決定される。なお、ハンドエンコーダ、ハンド表皮センサ、6軸力センサおよびマイクは、いずれも図示を省略する。
【0106】
以上の注視点変更処理を実行することにより、主制御部150は、変更された注視点A(例えば、第2注視点A2)に基づいて、ロボットRを目標軌道に追従するように制御することできる。
【0107】
以上の処理に対して、(STEP32で)軌道探索管理部220により生成された目標軌道が図示しないメモリ等に記録されていない場合には(図3/STEP32でNO)、一定時間待機し、軌道探索管理部220により軌道が生成されたタイミングで(図3/STEP37でNO)、STEP33以降の処理を実行する。一方で、待機時間が経過してタイムアップした場合には(図3/STEP37でYES)、目標軌道が存在しないか、すでに生成されたすべての目標軌道についてロボットRの追従が完了したものとして、一連の処理を終了する。
【0108】
以上が、本実施形態のロボットRの制御装置における処理内容であり、上述したように、かかる制御装置によれば、予め設定した注視点Aにより第1対象物T1またはロボットRの動作部位を認識することが困難な状況となった場合にも、第1対象物T1またはロボットRの動作部位の検出方法を変更することで、タスクを継続して実行することができる。
【0109】
なお、上記実施形態では、ロボットRのコントローラ100による処理負荷を軽減すべく、動作区分処理部210、軌道探索管理部220および干渉判定部230をサポートサーバ200に設け、分散処理を行う構成について説明したが、これに限定されるものではない。すなわち、コントローラ100の各処理部110〜130,150と、サポートサーバの各処理部210〜230の一部または全部をコントローラ100に備え、残りの処理部をサポートサーバに備えるように構成してもよい。例えば、コントローラ100にすべての処理部を設けて、サポートサーバ200を備えない構成としてもよい。
【0110】
さらに、上記実施形態では、情報端末である入力装置101によりタスクが指定される構成について説明したが、これに限定されるものではない。例えば、ロボットRが備えマイクロフォン等によりユーザの指示を音声認識するように構成してもよい。
【符号の説明】
【0111】
R…ロボット、100…コントローラ、101…入力装置、110…要求タスク生成部、120…画像処理部、130…将来外界予測部(外界予測手段)、150…主制御部(制御手段)、151…追跡処理部(追跡処理手段)、200…サポートサーバ、210…動作区分処理部、220…軌道探索管理部(行動計画手段)、221…初期姿勢探索部、222…終端姿勢探索部、223…中間姿勢探索部、230…干渉判定部、D1…第1動作区分、D2…第2動作区分、D3…第3動作区分、T1…第1対象物、T2…第2対象物、W1…テーブル、W2…カップ、W3…トレイ。

【特許請求の範囲】
【請求項1】
基体と、前記基体に連結された肢体とを備えるロボットに、1または複数の対象物との相互作用を伴うタスクを実行させるロボットの制御装置であって、
前記タスクを前記ロボットに実行させるための、該ロボットの時系列的な目標位置軌道および目標姿勢軌道を生成する行動計画手段と、
前記行動計画手段により生成された前記目標位置軌道および前記目標姿勢軌道に従って前記ロボットの動作を制御し、前記タスクを実行させる制御手段と、
前記制御手段により制御された前記ロボットの動作が前記行動計画手段により生成された前記目標位置軌道および前記目標姿勢軌道に追従するように、前記対象物または前記ロボットの動作部位を撮像した撮像画像において該対象物または該ロボットの動作部位を検出して追跡する追跡処理手段と
を備え、
前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位を喪失した場合に、前記タスクにおける喪失時の状況から、該対象物または該ロボットの動作部位の検出方法をこれらが検出可能な検出方法に変更することを特徴とするロボットの制御装置。
【請求項2】
請求項1記載のロボットの制御装置において、
前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位を喪失した場合に、前記撮像画像の撮像範囲と前記撮像画像における前記対象物または前記ロボットの動作部位の検出範囲とのいずれか一方または両方を変更することを特徴とするロボットの制御装置。
【請求項3】
請求項1または2記載のロボットの制御装置において、
前記追跡処理手段は、前記撮像画像において前記対象物または前記ロボットの動作部位を検出する第1注視点を設定し、該注視点により該対象物または該動作部位を追跡すると共に、該第1注視点を喪失した場合に、該第1注視点を該第1注視点と異なる第2注視点に変更することを特徴とするロボットの制御装置。
【請求項4】
請求項1乃至3のうちいずれか1項記載のロボットの制御装置において、
前記追跡処理手段は、前記検出条件を満たさない場合に、前記タスクに鑑みた前記ロボットの内部状態および外部状態から、前記対象物または前記ロボットの動作部位の検出方法を変更することを特徴とするロボットの制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−235380(P2011−235380A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2010−107735(P2010−107735)
【出願日】平成22年5月7日(2010.5.7)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】