説明

制御装置

【課題】タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができるロボットの制御装置を提供する。
【解決手段】将来外界予測部130によりタスクの各実行段階における対象物の予測位置および予測姿勢を予め予測しておき、少なくともロボットRにより次に実行される実行段階におけるロボットRの目標軌道を生成しておく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物との相互作用を伴うタスクをロボットに実行させるロボットの制御装置に関する。
【背景技術】
【0002】
近年、ロボットに対象物を把持して該対象物を移動させるなど、対象物との相互作用を伴うタスクをロボットに実行させるための様々な技術が提案されている(例えば、下記特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−125462号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、タスクの種類によっては、タスクを実行するための目標軌道を生成するのに比較的長い時間を要してしまい、タスク実行までに時間が掛かるという問題がある。
【0005】
一方で、タスクの実行開始を早めるために、タスクをその実行段階毎に分けて、各実行段階について目標軌道を生成させることも考えられるが、実行段階が切り替わる際に、次の実行段階における目標軌道が生成されるまで、タスクが中断していまい、ロボットの動作が不連続になるという問題がある。
【0006】
そこで、本発明は、以上の点に鑑み、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができるロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1発明の制御装置は、基体と、前記基体に連結された肢体とを備えるロボットに、1または複数の対象物との相互作用を伴うタスクを実行させるロボットの制御装置であって、
前記ロボットが前記タスクを実行する場合の該タスクの実行段階に応じた前記対象物の予測位置および予測姿勢を予測する外界予測手段と、
前記外界予測手段により予測された、前記タスクの実行段階に応じた前記対象物の予測位置および予測姿勢から、前記ロボットが少なくとも次に実行する実行段階を含む将来の実行段階における前記ロボットの時系列的な位置および姿勢を生成する行動計画手段と
を備えることを特徴とする。
【0008】
第1発明の制御装置によれば、タスクの各実行段階における対象物の位置および姿勢を予測しておき、その予測に基づいて、ロボットがこれから実行する実行段階における、ロボットの時系列的な位置および姿勢を生成する。これにより、タスクをその実行段階毎に分けてタスクの実行開始を早めた場合にも、実行段階が切り替わる際には、次の実行段階におけるロボットの行動計画の作成が為されているため、タスクの実行が中断していまい、ロボットの動作が時間的に不連続になることを防止することができる。
【0009】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、ロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【0010】
このように、第1発明の制御装置によれば、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができる。
【0011】
第2発明の制御装置は、第1発明において、
前記行動計画手段は、前記外界予測手段より予測された、前記タスクの1の実行段階の終了時の前記対象物の予測位置および予測姿勢から、該1の実行段階の次の実行段階における前記ロボットの時系列的な位置および姿勢を生成するための制約条件を決定することを特徴とする。
【0012】
第2発明の制御装置によれば、タスクの各実行段階の終了時の対象物の予測位置および予測姿勢、すなわち、予測を行った次の実行段階の対象物の初期位置および初期姿勢を予測することができる。そして、この対象物の初期位置および初期姿勢から、該次の実行段階のロボットの時系列的な位置および姿勢を生成するための制約条件を決定する。かかる制約条件に基づいて、予め次の実行段階におけるロボットの時系列的な位置および姿勢を生成しておくことができ、タスクをその実行段階毎に分けた場合にも、実行段階が切り替わる際に、次の実行段階におけるロボットの行動計画の作成が為されているため、タスクの実行が中断していまい、ロボットの動作が時間的に不連続になることを防止することができる。
【0013】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階の終了時の対象物の予測位置および予測姿勢に基づくため、タスクの各実行段階が切り替わる際にロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【0014】
このように、第2発明の制御装置によれば、タスクの実行開始を早めることができ、かつ、ロボットの動作が不連続性となることを防止することができる。
【0015】
第3発明の制御装置は、第1または第2発明において、
外界予測手段は、前記外界予測手段より予測された、前記タスクの1の実行段階における前記対象物の予測位置および予測姿勢が、該1の実行段階における現実の前記対象物の位置および姿勢と相違する場合に、現実の前記対象物の位置および姿勢から、該1の実行段階以降の各実行段階における前記対象物の予測位置および予測姿勢を予測することを特徴とする。
【0016】
第3発明の制御装置によれば、タスクの各実行段階の対象物の予測位置および予測姿勢が、各実行段階における現実の対象物の位置および姿勢と相違する場合に、実際の対象物の位置および姿勢に基づいて、これ以降の各実行段階における前記対象物の予測位置および予測姿勢が予測される。そのため、タスクの実行段階で、予測した状況に変化が生じた場合にも、その変化に応じて、これ以降の各実行段階の対象物の予測位置および予測姿勢に基づいて、次にロボットが実行する実行段階における、ロボットの時系列的な位置および姿勢が生成される。
【0017】
これにより、予測した状況に変化が生じた場合にも、状況の変化に応じたロボットの時系列的な位置および姿勢を生成するのに時間を要して、ロボットのタスク実行が中断することを防止することができ、ロボットの動作が不連続になることを防止することができる。
【0018】
さらに、生成されたロボットの時系列的な位置および姿勢は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、ロボットの位置および姿勢が空間的に不連続になることも防止することができる。
【0019】
このように第3発明の制御装置によれば、予測した状況に変化が生じた場合にも、タスクの実行が中断してロボットの動作が不連続性となることを防止することができる。
【図面の簡単な説明】
【0020】
【図1】本実施形態のロボットの構成説明図。
【図2】ロボットの制御装置の構成説明図。
【図3】ロボットの制御装置における処理を示すフローチャート。
【図4】ロボットの制御装置における処理の概要を示す説明図。
【図5】ロボットの制御装置における処理内容を示す説明図。
【図6】ロボットの制御装置における処理内容を示す説明図。
【発明を実施するための最良の形態】
【0021】
次に、本発明のロボットの制御装置の実施形態について、図1〜図6を参照して説明する。
【0022】
まず、図1に示すように、ロボットの制御装置は、自律移動ロボットR(以下、ロボットRという)のコントローラ100およびサポートサーバ200により構成されている。
【0023】
ロボット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のほか、車輪式移動ロボット(自動車)等、移動機能を有するあらゆる装置であってもよい。
【0024】
頭部11には、左右に並んでロボットRの前方に向けられた一対の頭カメラ(CCDカメラ)C1が搭載されている。基体10には、ロボットRの前側下部の検知領域A(C2)に赤外レーザ光線(電磁波)を出力し、その反射光の入力に応じた信号を出力する腰カメラC2が搭載されている。腰カメラC2はロボットRの前方下方にある物体の位置の測定、床面に付されているマークの形状および姿勢の認識に基づくロボットRの方位または姿勢の測定、および、台車等の運搬対象物に付されているマークの形状または姿勢の認識結果に基づくこの運搬対象物の位置または姿勢の測定等に用いられる。
【0025】
ロボットRはハードウェアとしてのECUまたはコンピュータ(CPU,ROM,RAM,I/O等により構成されている。)により構成されているコントローラ100と、通信機器140(図2参照)とを備えている。コンピュータのメモリには制御プログラム(ソフトウェア)が格納されている。制御プログラムはCDやDVD等のソフトウェア記録媒体を通じてコンピュータにインストールされてもよいが、ロボットRからサーバに要求信号が送信されたことに応じて当該サーバによってネットワークや人工衛星を介して当該コンピュータにダウンロードされてもよい。
【0026】

図2に示すように、コントローラ100は、入力装置101のほか、ロボットRに搭載された頭カメラC、腰カメラC、肩カメラC、ロータリエンコーダ102、ジャイロセンサ103、GPS受信器104等の出力信号に基づき、アクチュエータ1000の動作を制御することにより、腕部12や脚部13の動作を制御する。コントローラ100は、サポートサーバ200からロボットRに対して送信された生成軌道にしたがって、このロボットRの行動を制御する。
【0027】
入力装置(ユーザ端末)101は、例えば、キーボードやタッチパネルなどの入力デバイスと、液晶ディスプレーなどのモニタを備えたパーソナルコンピュータからなる端末であって、コントローラ100との間で通信可能に構成されている。入力装置101は、ユーザがこれを操作することにより、ロボットRで実行可能なタスクを指定することができる。このように、入力装置101は、ロボットRの起動・停止・タスク実行などをユーザが指示してロボットRを遠隔操作するためのユーザインターフェースとして用いられると共に、頭カメラC1等の映像の表示などロボット自体の作動状況の監視に用いることもできる。
【0028】
頭カメラC1、腰カメラC2等は、対象物や外界干渉物の挙動状態等、ロボットRの外部状態または環境を測定するためのセンサに相当する。
【0029】
ロータリエンコーダ102、ジャイロセンサ103、GPS受信器104は、ロボットRの内部状態または挙動状態を測定するためのセンサ等に相当し、これには、図示しないロボットRに搭載されたバッテリの端子電圧を検出する電圧センサ、脚部13に作用する床反力に応じた信号を出力する力センサ等、ロボットRに搭載されている種々のセンサが内部状態センサ等が該当する。これらのセンサの検出値に基づいて、コントローラ100は、ロボットRの内部状態または挙動状態を認識する。
【0030】
アクチュエータ1000は電動モータ等の駆動源のほか、駆動源の出力軸と腕部12や脚部13を構成するリンクとの間に設けられた減速機や、弾性部材等の柔軟要素により構成されている。
【0031】
さらに、コントローラ100は、要求タスク生成部110と、画像処理部120と、将来外界予測部130と、通信機器140と、主制御部150とを備える。
【0032】
要求タスク生成部110は、入力装置101によるユーザの操作を認識する機能を有し、入力装置101を介してユーザによって指定された要求タスクを認識し、要求タスクを実行するために要求される要求軌道群を作成する。ここで、要求軌道群は、タスクをその実行段階に応じておおまかに分割した場合の各段階で要求される軌道の集合体を指す。そして、要求タスク生成部110は、生成した要求軌道群を将来外界予測部130およびサポートサーバ200へ出力する。
【0033】
画像処理部120は、ステレオ処理部121と、障害物検出部122と、対象物認識部123とを備え、カメラC1〜C3で撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や対象物の認識を行う。なお、障害物は、後述するようにロボットRとの干渉を回避する必要性がある点で、本発明の対象物に含まれる概念である。
【0034】
ステレオ処理部121は、左右の頭カメラC1,C1が撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を障害物検出部122へ出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
【0035】
障害物検出部122は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の障害物を検出する。さらに、障害物検出部122は、検出した障害物の所定距離範囲のみの視差画像として、障害物を抽出し、対象物認識部123へ障害物の画像を出力する。
【0036】
対象物認識部123は、検出した障害物からタスクの実行の際に相互作用を伴う対象物の形状等を抽出して、その大きさ、形状等から対象物を認識する。
【0037】
なお、障害物検出部122で検出された障害物の領域、大きさ、形状と、対象物認識部123で認識された対象物の領域、大きさ、形状とは、将来外界予測部130へ出力される。
【0038】
将来外界予測部130は、要求タスク生成部110により生成された要求軌道群と、障害物検出部122および対象物認識部123で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定する。
【0039】
すなわち、将来外界予測部130は、現時点から、タスクをその実行段階に応じておおまかに分割した場合の第1段階で要求される軌道に従ってロボットRを動作させた後の障害物および対象物の位置等を推定する。次に、この状態(第1段階の実行後)から、第2段階で要求される軌道に従ってロボットRを動作さえた後の障害物および対象物の位置等を推定する。以下、この推定を繰り返すことで、要求タスク生成部110により生成された要求軌道群に従ってロボットを動作させた各段階での障害物および対象物の位置等を予め推定する。
【0040】
主制御部150は、サポートサーバ200からロボットRに対して送信された生成軌道にしたがって、複数のアクチュエータ1000を制御し、生成軌道にこのロボットRの行動を追従させる。
【0041】
サポートサーバ(CPU,ROM,RAM,I/O等により構成されている。)200は基地局(図示略)および通信網を介してロボットRとの通信機能を有している。
【0042】
サポートサーバ200は、動作区分処理部210と、軌道探索管理部220と、干渉判定部230とを備える。
【0043】
動作区分処理部210は、要求タスク生成部110により生成された要求軌道群の各実行段階における一連の動作をさらに次のように区分する。
【0044】
各段階の一連の動作を、(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とに区分する。
【0045】
軌道探索管理部220は、要求タスク生成部110により生成された要求軌道群の各実行段階における一連の動作の軌道探索を行い、初期姿勢探索部221と、終端姿勢探索部222と、中間姿勢探索部223とを備える。
【0046】
初期姿勢探索部221は、動作区分処理部210により区分された第2動作区分D2についての軌道探索を行う。
【0047】
終端姿勢探索部222は、動作区分処理部210により区分された第1動作区分D1についての軌道探索を行う。
【0048】
中間姿勢探索部223は、動作区分処理部210により区分された第3動作区分D3についての軌道探索を行う。
【0049】
なお、軌道探索管理部220による軌道探索については、後述する。
【0050】
干渉判定部230は、(A)画像処理部120の障害物検出部122で検出された障害物および対象物認識部123で認識された対象物と、(B)ロボットRまたはロボットと一体となった対象物との干渉可能性の有無をチェックする。
【0051】
次に、図3を参照して本実施形態のロボットRの制御装置における処理内容を示す説明する。
【0052】
まず、コントローラ100は、ユーザからのタスク実行の要求があるか否か判定する(図3/STEP10)。そして、ユーザが、入力装置101を介してロボットRの実行タスクを指定すると(図3/STEP10でYES)、コントローラ100の要求タスク生成部110が、要求軌道群を作成する(図3/STEP20)。
【0053】
なお、これと並行して主制御部150による処理(図3/STEP30〜)が実行されるが、主制御手段による処理内容については後述する。
【0054】
ここで、主制御部150によるSTEP30〜の処理が、STEP20〜の処理と同時並行的に実行されるのは、主制御部150は、STEP20〜の処理による目標軌道の生成タイミングに拠らず、ロボットRにタスクを連続的に実行させるためである。
【0055】
具体的には、図4に示すように、ロボットRの実行タスクとしては、テーブルW1上の2つのカップW21およびW22を順番にトレイW3に移動するタスクが指定される。この場合、図4に模式的に示すように、タスクの実際の実行段階が第i段階である場合には、コントローラ100およびサポートサーバ200によるSTEP20〜の処理により、第(i+1)段階の外界の予測状況に基づいて、少なくとも第(i+1)段階のロボットRの目標軌道が予め生成される。
【0056】
すなわち、タスクの実際の実行段階である第i段階では、ロボットRは、1つ目のカップW21を把持してトレイW3へ移動しているが、コントローラ100およびサポートサーバ200によるSTEP20〜の処理では、予め第i段階が終了した状況での対象物および障害物の予測位置および予測姿勢、すなわち、第(i+1)段階の対象物および障害物の初期位置および初期姿勢を予測する。第(i+1)段階の対象物および障害物の初期位置および初期姿勢では、1つ目のカップW21は既にトレイW3に収容されているため、この予測された初期状態から、第(i+1)段階におけるロボットRの目標軌道が予め生成される。
【0057】
以下、STEP20以下の処理の詳細について、図5を参照して詳細に説明する。
【0058】
まず、要求タスク生成部110は、ユーザにより指定されたタスクに対して、図5に示すように、タスクの実行段階を第1段階、第2段階、・・第n段階に分割し各段階で要求される要求軌道群を生成する(図3/STEP20)。
【0059】
ここで、第1段階、第2段階、・・第n段階は、軌道探索管理部220による処理単位を考慮した決定されるものである。すなわち、軌道探索管理部220では、第2動作区分D2(初期姿勢)から第3動作区分D3(中間姿勢)を経て第1動作区分D1(終端姿勢)へ至る一連の動作を処理単位としているため、要求タスク生成部110は、これを1つの段階として分割する。
【0060】
また、要求軌道群は、後述する姿勢探索(図3/STEP24〜26)を行う際の条件を各段階について規定したものである。すなわち、各段階について、ロボットRの目標軌道(目標姿勢軌道および目標姿勢軌道)として要求される軌道探索条件を規定したものである。
【0061】
次いで、将来外界予測部130が、要求タスク生成部110により生成された要求軌道群と、障害物検出部122および対象物認識部123で認識された現時点での障害物および対象物から、タスクの実行段階に応じた将来の障害物および対象物の位置等を推定した将来外界状況群を作成する(図3/STEP21)。
【0062】
具体的に、将来外界予測部130は、図5に示す第1段階〜第3の各段階後のテーブルW1、カップW2、トレイW3の位置等の状況を推定した将来外界状況群を作成する。例えば、将来外界予測部130は、現在の状況からタスクを第2段階まで実行した後の状況(カップW2がトレイに移動された図5(f)の状況)を予測し、次に、第2段階の終了時の予測した状況から、第3段階までタスクを実行した後の状況を予測する。以下、第n段階までの状況を順番に予測する。
【0063】
より正確には、将来外界予測部130は、第i段階の終了時の障害物および対象物の位置X(t)および姿勢θ(t)から、第(i+1)段階終了時の障害物および対象物の位置X(ti+1)および姿勢θ(ti+1)を、第(i+1)段階の要求軌道(STEP20参照)に基づいて算出する。このとき、iは、0≦i≦n−1の整数であり、i=0は、ロボットRの初期状態(初期位置X(t)および初期姿勢θ(t))を示す。
【0064】
次に、サポートサーバ200は、コントローラ100から、軌道生成要求があるか否かを判定する(図3/STEP22)。
【0065】
軌道生成要求の有無は、要求タスク生成部110で作成された要求軌道群および将来外界予測部130で作成された将来外界状況群がサポートサーバ200へ送信の有無によりは判定される。
【0066】
そして、軌道生成要求がある場合には(図3/STEP22でYES)、動作区分処理部210が、要求軌道群の各実行段階における一連の動作をその動作区分に応じて分割する(図3/STEP23)。一方、軌道生成要求がない場合には(図3/STEP22でNO)、この処理を終了する。
【0067】
具体的に、動作区分処理部210は、図5(a)および(b)に示す第1段階では、まず、カップW2を第1対象物T1として、ロボットRが第1対象物に対して非接触状態から接触状態に遷移する動作区分である第1動作区分D1を分割する(図5(b)参照)。そして、動作区分処理部210は、第1段階で第1動作区分D1に連続する動作区分を第3動作区分D3とする(図5(a)参照)。
【0068】
ここで、図5(b)に示す第1動作区分D1の始点は、第1対象物であるカップを把持する動作の初期姿勢および初期位置により規定される。例えば、腕部12および手部14を動作させることにより第1対象物であるカップを把持することができる、ロボットRの初期姿勢および初期位置が第1動作区分D1の始点となる。これは、第2動作区分D2の始点についても同様である。
【0069】
次いで、動作区分処理部210は、図5(c)〜(e)に示す第2段階では、まず、カップW2をロボットRと一体となったカップW2を第2対象物T2、テーブルW1を第1対象物T1として、ロボットRおよびこれと一体となったカップW2(T2)が、テーブルW1(T1)に対して接触状態から非接触状態に遷移する動作区分である第2動作区分D2を分割する(図5(c)参照)。さらに、カップW2をロボットRと一体となったカップW2を第2対象物T2、トレイW3を第1対象物T1として、ロボットRおよびこれと一体となったカップW2(T2)が、トレイW3(T1)に対して非接触状態から接触状態に遷移する動作区分である第1動作区分D1を分割する(図5(e)参照)。そして、第2段階で第2動作区分D2および第1動作区分D1に連続する動作区分を第3動作区分D3とする(図5(d)参照)。
【0070】
同様に、動作区分処理部210は、図5(f)に示す第3段階では、まず、カップW2を第1対象物T1として、ロボットRが、カップW2(T1)に対して接触状態から非接触状態に遷移する動作区分である第2動作区分D2を分割する(図5(d)参照)。そして、動作区分処理部210は、第3段階で第2動作区分D2に連続する動作区分(基本姿勢への復帰)を第3動作区分D3とする(図示省略)。
【0071】
次に、軌道探索管理部220が、第1〜第3段階の各段階におけるロボットRの軌道を探索して、タスクの各段階におけるロボットRの時系列的な位置および姿勢を生成する(図3/STEP24〜27)。
【0072】
具体的には、第1〜第3段階の各段階について、初期姿勢探索部221が、第2動作区分D2についての軌道探索を行い(図3/STEP24)、終端姿勢探索部222が、第1動作区分D1についての軌道探索を行い(図3/STEP25)、中間姿勢探索部223が、第3動作区分D3についての軌道探索を行う(図3/STEP26)。
【0073】
ここで、軌道探索管理部220による軌道探索は、要求タスク生成部110により生成された、タスクの各実行段階で要求される要求軌道を満たす軌道を探索する。具体的には、ロボットRの各部位について、空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを探索する。さらに、ロボットRと第2対象物T2が一体となっている場合には、第2対象物の空間的な位置を代表する代表点の目標位置の時系列としての目標位置軌道と、目標姿勢の時系列としての目標姿勢軌道とを併せて探索する。
【0074】
このとき、軌道探索管理部220は、図6に示すように、タスクにおいて相互作用を伴う第1対象物T1については、第1対象物T1の形状に応じた回転自由度と並進自由度とのいずれか一方または両方を与えて目標位置軌道および目標姿勢軌道を探索する。
【0075】
具体的には、図6(a)に示すように、第1対象物T1の形状が円形である場合には、中心軸に対する回転自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【0076】
一方、図6(b)に示すように、第1対象物T1の形状が筒型である場合のように軸方向の位置依存がない場合には、その軸方向に並進自由度を与えて、目標位置軌道および目標姿勢軌道を探索する。
【0077】
以上説明した軌道探索管理部220による軌道探索において、初期姿勢探索部221が行う第2動作区分D2についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1との干渉判定が省略される。
【0078】
例えば、図5(c)に示す第2動作区分D2では、ロボットRとロボットRと一体となった第2対象物T2であるカップW2と、第1対象物T1であるテーブルW1との干渉判定部230による干渉判定が省略される。また、図5(f)に示す第2動作区分D2では、ロボットRと、第1対象物T1であるカップW2との干渉判定部230による干渉判定が省略される。
【0079】
さらに、終端姿勢探索部222が行う第1動作区分D1についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1との干渉判定が省略される。
【0080】
例えば、図5(a)に示す第1動作区分D1では、ロボットRと、第1対象物T1であるカップW2との干渉判定部230による干渉判定が省略される。また、図5(e)に示す第1動作区分D1では、ロボットRと一体となった第2対象物であるカップW2と、第1対象物T1であるトレイW3との干渉判定部230による干渉判定が省略される。
【0081】
これにより、第1動作区分D1および第2動作区分D2では、タスクにおける相互作用を伴う第1対象物T1との間の干渉判定による演算処理負荷が増大することを抑制することができる。
【0082】
また、第1動作区分D1および第2動作区分D2では、第1対象物T1は、ロボットRまたはロボットRと一体となった第2対象物T2と既に接触しているか、これから接触するものであるため、第1対象物T1との間の干渉判定を省略しても、第1対象物T1以外の他の物体との干渉を回避できれば、ロボットRにタスクを実行させることができる。
【0083】
一方、中間姿勢探索部223が行う第3動作区分D3についての軌道探索では、ロボットRとロボットRと一体となった第2対象物T2と、第1対象物T1を含めたすべての障害物との干渉判定が行われる。
【0084】
これにより、第1および第2動作区分以外の第3動作区分D3では、第1対象物T1との間の干渉判定を実行することで、第1対象物T1を含めて他の障害物との干渉を回避しながら、タスクを実行する一連の動作を実現することができる。
【0085】
次に、軌道探索管理部220は、初期姿勢探索部221による第2動作区分D2の目標軌道(目標位置軌道および目標姿勢軌道、以下同じ)と、終端姿勢探索部222による第1動作区分D1の目標軌道と、中間姿勢探索部223によるこれらの区分の間を繋ぐ第2動作区分D3の目標軌道との全て目標軌道が生成されたか否かを判定する(図3/STEP27)。
【0086】
そして、全ての目標軌道が生成されている場合には(図3/STEP27でYES)、軌道探索管理部220が生成された目標軌道を図示しないメモリ等に記録し(図3/STEP28)、STEP23へリターンする。これにより、次のタスクの実行段階について、STEP23以降の処理を繰り返し実行する。
【0087】
一方、全ての目標軌道が生成されていない場合には(図3/STEP27でNO)、STEP24へリターンして、再度、STEP24以降の処理を実行する。
【0088】
以上が、要求タスクに応じて目標軌道を生成する一連の処理である。
【0089】
次に、説明を後回しにした主制御部150による処理(図3/STEP30〜STEP34)を説明する。
【0090】
なお、主制御部150は、前述のように、STEP24〜26により目標軌道が生成されたタイミングで目標軌道に追従するように、アクチュエータ1000を制御するのではなく、STEP28でメモリ等に記録された目標軌道が蓄積されていれば、それを逐次処理する。
【0091】
これにより、目標軌道の生成タイミングに拠らず、ロボットRにタスク実行を行わせることができ、ロボットRの実行動作に時間的な連続性を持たせることができる。さらに、生成された目標軌道は、タスクの各実行段階における対象物の予測位置および予測姿勢に即したものであるため、目標軌道に基づいて制御されるロボットRの動作が空間的に不連続になることも防止することができる。
【0092】
まず、主制御部150は、要求タスク生成部110が作成した要求軌道群を取得する(図3/STEP30)。
【0093】
次いで、主制御部150は、軌道追従要求があるか否かを判定する(図3/STEP31)。
【0094】
そして、主制御部150は、軌道追従要求がない場合には(図3/STEP31でNO)、この処理を終了し、軌道追従要求がある場合には(図3/STEP31でYES)、軌道探索管理部220により軌道が生成されているか否かを判定する(図3/STEP32)。
【0095】
そして、軌道探索管理部220により生成された目標軌道が図示しないメモリ等に記録されている場合には(図3/STEP32でYES)、主制御部150は、ロボットRのアクチュエータ1000を制御することにより、生成された目標軌道にロボットRを追従させる(図3/STEP33)。
【0096】
なお、この場合に、目標軌道に第1対象物T1への押し付け動作がある場合には、ロボットRの対象部位のアクチュエータ1000を制御してロボットRに押し付け動作を行わせる。
【0097】
次いで、主制御部150は、目標軌道にロボットRが追従しているか否かを判定する(図3/STEP34)。
【0098】
そして、主制御部150は、ロボットRが目標軌道に追従している場合には(図3/STEP34でYES)、STEP31へリターンして、次の軌道追従要求があるか否かを判定する。一方、ロボットRが目標軌道に追従していない場合には(図3/STEP34でNO)、アクチュエータ1000による目標軌道の追従が不可能か否かを判定する(図3/STEP35)。
【0099】
そして、主制御部150は、目標軌道の追従が可能な場合には(図3/STEP35でNO)、STEP34へリターンして、ロボットRが目標軌道に追従するまでこの処理を繰り返す。一方、目標軌道の追従が不可能な場合には(図3/STEP35でYES)、現在のタスクの実行状況が目標軌道と相違しているものとして、STEP21へリターンして、現在の実際の状況(画像処理部120により認識される現在の障害物や対象物)に基づいて将来の外界状況群を作成し、現在の実際の状況および将来の外界状況群から目標軌道を再生成する(図3/STEP21〜)。
【0100】
これにより、予測した状況に変化が生じた場合にも、これ以降の各実行段階の対象物の予測位置および予測姿勢が更新されて、これからロボットRが実行する各実行段階における、ロボットRの時系列的な目標位置軌道よび目標姿勢軌道が再生成される。そのため、状況の変化により目標軌道を生成するのに時間を要して、ロボットのタスク実行が中断することを防止することができ、ロボットの動作が不連続になることを防止することができる。
【0101】
一方、(STEP31で)軌道探索管理部220により生成された目標軌道が図示しないメモリ等に記録されていない場合には(図3/STEP31でNO)、一定時間待機し、軌道探索管理部220により軌道が生成されたタイミングで(図3/STEP34でNO)、STEP32以降の処理を実行する。一方で、待機時間が経過してタイムアップした場合には(図3/STEP34でYES)、目標軌道が存在しないか、すでに生成されたすべての目標軌道についてロボットRの追従が完了したものとして、一連の処理を終了する。
【0102】
以上が、本実施形態のロボットRの制御装置における処理内容であり、上述したように、かかる制御装置によれば、予めタスクの各実行段階における将来の状況を予測して、予め目標軌道を生成しておくことで、実行段階が切り替わる際には、次の実行段階におけるロボットRの目標軌道の生成が為されているため、タスクの実行が中断していまい、ロボットの動作が不連続になることを防止することができる。
【0103】
なお、上記実施形態では、ロボットRのコントローラ100による処理負荷を軽減すべく、動作区分処理部210、軌道探索管理部220および干渉判定部230をサポートサーバ200に設け、分散処理を行う構成について説明したが、これに限定されるものではない。すなわち、コントローラ100の各処理部110〜130,150と、サポートサーバの各処理部210〜230の一部または全部をコントローラ100に備え、残りの処理部をサポートサーバに備えるように構成してもよい。例えば、コントローラ100にすべての処理部を設けて、サポートサーバ200を備えない構成としてもよい。
【0104】
また、上記実施形態では、情報端末である入力装置101によりタスクが指定される構成について説明したが、これに限定されるものではない。例えば、ロボットRが備えマイクロフォン等によりユーザの指示を音声認識するように構成してもよい。
【0105】
さらに、上記実施形態では、要求タスク生成部110により、タスクを実行する一連の動作を、該タスクの実行段階(第1段階、第2段階、・・・、第n段階)に毎に区分しているが、これに限定されるものではない。
【0106】
すなわち、本実施形態では、タスクを各実行段階に区分して、各実行段階におけるロボットRの動作により実現される将来の状況(STEP20の要求軌道群から予測される各実行段階の終了時の対象物の位置および姿勢)から、予測された実行段階の次の実行段階におけるロボットRの目標姿勢軌道および目標位置軌道を生成しているが、タスクを各実行段階に区分しないように構成してもよい。
【0107】
この場合、将来外界予測部130が、タスクの進捗状況に応じた対象物の時系列的な予測位置および予測姿勢を逐次予測し、その予測位置および予測姿勢に基づいて、軌道探索管理部220が、ロボットRの目標姿勢軌道および目標位置軌道を逐次生成するように構成される。これにより、上記実施形態と同様に、ロボットの動作が時間的かつ空間的に不連続になることを防止することができる。
【符号の説明】
【0108】
R…ロボット、100…コントローラ、101…入力装置、110…要求タスク生成部、120…画像処理部、130…将来外界予測部(外界予測手段)、150…主制御部、200…サポートサーバ、210…動作区分処理部、220…軌道探索管理部(行動計画手段)、221…初期姿勢探索部、222…終端姿勢探索部、223…中間姿勢探索部、230…干渉判定部(干渉判定手段)、D1…第1動作区分、D2…第2動作区分、D3…第3動作区分、T1…第1対象物、T2…第2対象物、W1…テーブル、W2(W21,W22)…カップ、W3…トレイ。

【特許請求の範囲】
【請求項1】
基体と、前記基体に連結された肢体とを備えるロボットに、1または複数の対象物との相互作用を伴うタスクを実行させるロボットの制御装置であって、
前記ロボットが前記タスクを実行する場合の該タスクの実行段階に応じた前記対象物の予測位置および予測姿勢を予測する外界予測手段と、
前記外界予測手段により予測された、前記タスクの実行段階に応じた前記対象物の予測位置および予測姿勢から、前記ロボットが少なくとも次に実行する実行段階を含む将来の実行段階における前記ロボットの時系列的な位置および姿勢を生成する行動計画手段と
を備えることを特徴とする制御装置。
【請求項2】
請求項1記載の制御装置において、
前記行動計画手段は、前記外界予測手段より予測された、前記タスクの1の実行段階の終了時の前記対象物の予測位置および予測姿勢から、該1の実行段階の次の実行段階における前記ロボットの時系列的な位置および姿勢を生成するための制約条件を決定することを特徴とする制御装置。
【請求項3】
請求項1または2記載の制御装置において、
外界予測手段は、前記外界予測手段より予測された、前記タスクの1の実行段階における前記対象物の予測位置および予測姿勢が、該1の実行段階における現実の前記対象物の位置および姿勢と相違する場合に、現実の前記対象物の位置および姿勢から、該1の実行段階以降の各実行段階における前記対象物の予測位置および予測姿勢を予測することを特徴とする制御装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate