JP2015112654A - 制御装置、ロボット、教示データ生成方法及びロボットシステム - Google Patents
制御装置、ロボット、教示データ生成方法及びロボットシステム Download PDFInfo
- Publication number
- JP2015112654A JP2015112654A JP2013254757A JP2013254757A JP2015112654A JP 2015112654 A JP2015112654 A JP 2015112654A JP 2013254757 A JP2013254757 A JP 2013254757A JP 2013254757 A JP2013254757 A JP 2013254757A JP 2015112654 A JP2015112654 A JP 2015112654A
- Authority
- JP
- Japan
- Prior art keywords
- gripping
- workpiece
- robot
- teaching data
- marker
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】ユーザーにとってわかりやすい形態で、安定した把持動作を実行する教示データを生成する制御装置、ロボット、教示データ生成方法及びロボットシステム等を提供すること。【解決手段】制御装置100は、ワークとマーカーとを撮像した撮像画像を受け付ける画像認識部110と、ロボットの教示データを生成する処理部120を含み、処理部120は、画像認識部110が受け付けた撮像画像によってロボットの第1の教示データを生成し、ロボットの把持部319にワークを把持させてロボットの第2の教示データを生成する。【選択図】 図1
Description
本発明は、制御装置、ロボット、教示データ生成方法及びロボットシステム等に関する。
ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には、ユーザー(教示者)がロボットのアーム等を手で動かすことでロボット動作を教示するダイレクトティーチングや、ティーチングペンダント等の操作部を操作することでロボット動作を教示するティーチングプレイバック、或いはロボットの実機は使用せずにコンピューター上でシミュレーションを用いて教示を行うオフラインティーチング等が知られている。
例えば特許文献1には、ロボットの把持部(ハンド)とワークが当接した場合にロボットが受ける力に基づいてワークの位置を検出し、検出したワークの位置を用いたロボット制御を行う手法が開示されている。
また特許文献2には、画像に基づきワークの把持部位に対応する素形状モデルの指定を受け付け、指定された素形状モデルに基づいて当該ワークの把持を適切に行う把持パターンを選択する手法が開示されている。
また特許文献3には、画像に基づきワークの複数の把持点を指定した上で、当該把持点を表すベクトル等を用いたベクトル演算により、把持位置姿勢を教示する手法が開示されている。
特許文献1では、画像に基づいてハンドを制御し、その都度力を検出してワーク位置の検出、及びその後のワークの把持動作等を行う。そのため、動作の度に把持の仕方が変化することになり、安定した把持動作をロボットに実行させることが難しい。
特許文献2では、ロボットの実機を用いずに素形状モデルにより把持動作を教示し、また特許文献3では、同様にロボットの実機を用いずに画像に基づき決定された把持点を用いたベクトル演算により、把持動作を教示する。よっていずれの手法も、教示時には実際の把持部を用いてワークを把持させないため、安定した把持動作をロボットに実行させることが難しい。
本発明の一態様は、ワークとマーカーとを撮像した撮像画像を受け付ける画像認識部と、ロボットの教示データを生成する処理部と、を含み、前記処理部は、前記画像認識部が受け付けた前記撮像画像によって前記ロボットの第1の教示データを生成し、前記ロボットの把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成する制御装置に関係する。
本発明の一態様では、撮像画像を用いて第1の教示データを生成し、把持部に実際にワークを把持させて第2の教示データを生成する。よって、オフラインティーチングとダイレクトティーチングを適切に組み合わせて利用することが可能になるため、ユーザーによる教示を容易にすることや、教示に基づくロボット動作を安定したものとすること等が可能になる。
また、本発明の一態様では、前記処理部は、前記第1の教示データに基づいて前記把持部に前記ワークを把持させて、前記ロボットの前記第2の教示データを生成してもよい。
これにより、把持部によるワークの把持動作に第1の教示データを利用できるため、第2の教示データを容易に生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記把持部に前記ワークを把持させることで、前記ロボットに設けられた力覚センサーにより出力された力覚センサー情報を取得し、前記力覚センサー情報に基づいて、作業台に対する垂直方向での把持位置を決定し、決定した前記把持位置を含む前記第2の教示データを生成してもよい。
これにより、力覚センサー情報を用いて、作業台垂直方向での把持位置を決定すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記把持部に前記ワークを把持させることで、前記ロボットを駆動するモーターのトルクリミット情報を取得し、前記トルクリミット情報に基づいて、前記ワークを把持した状態での前記把持部の開き量情報を決定し、決定した開き量情報を含む前記第2の教示データを生成してもよい。
これにより、トルクリミット情報を用いて、把持部の開き量情報を決定すること等が可能になる。
また、本発明の一態様では、前記画像認識部は、前記マーカーを認識する画像認識処理を行い、前記処理部は、前記マーカーについての前記画像認識処理の結果に基づいて、前記第1の教示データを生成してもよい。
これにより、マーカーを認識する画像認識処理の結果に基づいて第1の教示データを生成すること等が可能になる。
また、本発明の一態様では、前記画像認識部は、把持対象である前記ワークの周囲に配置された複数の前記マーカーを認識する前記画像認識処理を行い、前記処理部は、複数の前記マーカーについての前記画像認識処理の結果に基づいて、前記第1の教示データを生成してもよい。
これにより、画像認識処理の対象として複数のマーカーを用いること等が可能になる。
また、本発明の一態様では、前記画像認識部は、第1の方向を示す前記マーカーである第1のマーカーと、前記第1の方向と交差する第2の方向を示す前記マーカーである第2のマーカーとを認識する前記画像認識処理を行い、前記処理部は、前記第1の方向と前記第2の方向が交差する位置に基づいて、仮把持位置を決定し、前記第1の方向及び前記第2の方向の少なくとも一方に基づいて、仮把持姿勢を決定し、前記仮把持位置及び前記仮把持姿勢を含む前記第1の教示データを生成してもよい。
これにより、画像認識処理の対象として、それぞれ方向を規定する第1,第2のマーカーを用いること等が可能になる。
また、本発明の一態様では、第1〜第N(Nは2以上の整数)の面を有する前記ワークを把持対象とした場合に、前記処理部は、前記ワークの第i(iは1≦i≦Nを満たす整数)の面を処理対象面として、前記把持部に前記ワークを把持させて、前記第iの面を前記処理対象面とした前記第2の教示データである第2iの教示データを生成し、前記ワークの第j(jは1≦j≦N、j≠iを満たす整数)の面を前記処理対象面として、前記把持部に前記ワークを把持させて、前記第jの面を前記処理対象面とした前記第2の教示データである第2jの教示データを生成してもよい。
これにより、所与のワークの異なる面に対して、それぞれ処理を行って複数の第2の教示データを生成すること等が可能になる。
また、本発明の一態様では、前記ワークの前記第iの面が作業台の鉛直上方向を向く位置姿勢で、前記ワークが配置された場合に、前記処理部は、前記ワークの前記第iの面を前記処理対象面として、前記把持部に前記ワークを把持させて、前記第2iの教示データを生成してもよい。
これにより、配置されたワークの位置姿勢に応じて、適切な面を対象とした第2の教示データを生成すること等が可能になる。
また、本発明の一態様では、前記画像認識部は、前記ワークの位置姿勢を認識する物体認識処理を行い、前記処理部は、前記物体認識処理により取得された前記ワークの位置姿勢と、最終的な把持位置と、最終的な把持姿勢とを含む前記第2の教示データを生成してもよい。
これにより、物体認識処理の結果に基づいて第2の教示データを生成すること等が可能になる。
また、本発明の一態様では、前記画像認識部は、前記第1の教示データに基づいて、前記把持部に前記ワークを把持させた後に、前記物体認識処理を行ってもよい。
これにより、より望ましいタイミングで物体認識処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記撮像画像に基づいて、仮把持位置及び仮把持姿勢を含む前記第1の教示データを生成し、前記仮把持位置及び前記仮把持姿勢を目標として、前記把持部に前記ワークを把持させて、最終的な把持位置及び最終的な把持姿勢を含む前記第2の教示データを生成してもよい。
これにより、仮把持位置、仮把持姿勢を用いて把持部にワークを把持させることで、最終的な把持位置、把持姿勢を第2の教示データとして生成すること等が可能になる。
また、本発明の他の態様は、ワークを把持する把持部と、前記把持部を動作させる制御装置と、を含み、前記制御装置は、前記ワークとマーカーとを撮像して第1の教示データを生成し、前記把持部に前記ワークを把持させて第2の教示データを生成するロボットに関係する。
本発明の他の態様では、撮像画像を用いて第1の教示データを生成し、把持部に実際にワークを把持させて第2の教示データを生成する。よって、オフラインティーチングとダイレクトティーチングを適切に組み合わせて利用することが可能になるため、ユーザーによる教示を容易にすることや、教示に基づくロボット動作を安定したものとすること等が可能になる。
また、本発明の他の態様は、ワークとマーカーとを撮像してロボットの第1の教示データを生成することと、前記ロボットの把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成することと、を含む教示データ生成方法に関係する。
本発明の他の態様では、ワークとマーカーの撮像により第1の教示データを生成し、把持部に実際にワークを把持させて第2の教示データを生成する。よって、オフラインティーチングとダイレクトティーチングを適切に組み合わせて利用することが可能になるため、ユーザーによる教示を容易にすることや、教示に基づくロボット動作を安定したものとすること等が可能になる。
また、本発明の他の態様は、ワークを把持する把持部を備えるロボットと、前記ロボットを動作させる制御装置と、マーカーと、を含み、前記制御装置は、前記ワークと前記マーカーとを撮像して前記ロボットの第1の教示データを生成し、前記把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成するロボットシステムに関係する。
本発明の他の態様では、撮像画像を用いて第1の教示データを生成し、把持部に実際にワークを把持させて第2の教示データを生成する。よって、オフラインティーチングとダイレクトティーチングを適切に組み合わせて利用することが可能になるため、ユーザーによる教示を容易にすることや、教示に基づくロボット動作を安定したものとすること等が可能になる。
以上より、本発明の幾つかの態様によれば、ユーザーにとってわかりやすい形態で、安定した把持動作を実行する教示データを生成する制御装置、ロボット、教示データ生成方法及びロボットシステム等を提供することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。従来、ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には上述したように、ダイレクトティーチング、ティーチングプレイバック、オフラインティーチング等が知られている。
まず本実施形態の手法について説明する。従来、ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には上述したように、ダイレクトティーチング、ティーチングプレイバック、オフラインティーチング等が知られている。
しかし近年、非常に広汎な領域でロボットが利用されるようになってきている。そのため、ロボットに対して教示を行うユーザーが、当該ロボットについての専門知識を充分有していないというケースも多くなると想定される。つまり、ロボットに対する教示は専門知識が充分でないユーザーであっても実行可能な程度に、わかりやすい形態で行われることが望ましい。その点、ティーチングペンダント等を用いたティーチングプレイバックでは、教示を行うユーザーはロボットについての知識が必要となり、且つティーチングペンダントの使用方法等を習熟しておく必要がある点で好ましくない。
またオフラインティーチングでは、ユーザーに対してわかりやすい入力インターフェースを提示し、ユーザーから入力された情報に基づいて、システム側でロボット動作を自動生成することで、教示を容易にすることも可能である。ユーザーからどのような入力を受け付け、それをシステム側でどのように処理するかは種々の手法が考えられ、例えば上述した特許文献2や特許文献3の手法等が開示されている。
しかし、オフラインティーチングではロボットや把持対象となるワーク等は実物が用いられるわけではない。そのため、オフラインティーチングにより教示されたロボット動作が、実際には安定した把持動作を実現するものでない可能性があり得る。例えば、ロボットの把持部(狭義にはハンド)の形状やワークの形状を3Dモデルで再現することは容易としても、ワークの重量バランスや表面の摩擦等に関する情報まで再現することは、オフラインティーチングの処理負荷を考えると現実的とは言えない。そのため、オフラインティーチングで把持動作を作成できたとしても、当該把持動作を実際に行ったところ、ワークをバランスよく把持できず落下させてしまうというおそれもある。その他、ユーザーフレンドリーの観点からユーザーによる入力をシンプルにしたり、システム側の処理負荷軽減の観点からユーザー入力に基づく処理をシンプルなものとしたりすれば、それだけ実際のロボットやワークに比べて必要な情報が欠落する。そのため、オフラインティーチングの結果として得られるロボット動作が、実機では安定的な動作とならない可能性を考慮することが重要となる場面も大いに考えられる。
そこで本出願人は、ユーザーにとってわかりやすい形態で、且つ実際のロボットやワークを用いて、ロボットに対して把持動作を教示する手法を提案する。その際、把持動作におけるアプローチは、例えば図6(A)に示すように作業台の上方から鉛直方向下向きに行うといったように、自動生成が容易なものとする。なお、ここでのアプローチとはロボットの把持部を把持対象であるワークの位置まで移動させる動作を表す。本実施形態では、ワークを把持した状態の把持部の位置や姿勢を表す把持位置及び把持姿勢(これらを合わせて把持位置姿勢とも表記する)を暫定的に定めて、上記アプローチにより把持動作を実際に行う。そしてその把持動作の際に得られたセンシング情報を利用して、最終的な把持位置姿勢を求め、当該把持位置姿勢を含む教示データを生成する。
具体的には、本実施形態の制御装置100は図1に示すように、ワークとマーカーとを撮像した撮像画像を受け付ける画像認識部110と、ロボット(後述する図3等のロボット本体300に対応)の教示データを生成する処理部120を含む。そして、処理部120は、画像認識部110が受け付けた撮像画像によってロボットの第1の教示データを生成し、ロボット319の把持部(後述する図3のハンド等に対応)にワークを把持させてロボットの第2の教示データを生成する。
この際、処理部120は、第1の教示データに基づいて把持部319にワークを把持させて、ロボットの第2の教示データを生成してもよい。具体的には、処理部120は、撮像画像に基づいて、仮把持位置及び仮把持姿勢を含む第1の教示データを生成し、仮把持位置及び仮把持姿勢を目標として、把持部319にワークを把持させて、最終的な把持位置及び最終的な把持姿勢を含む第2の教示データを生成してもよい。
ここで、把持位置とはワークを把持している状態の把持部の位置を表すものであり、把持姿勢とはワークを把持している状態の把持部の姿勢を表すものである。なお、把持部は大きさを有する物体であり、且つ可変構造を有する場合も多いことから、把持部の位置をどのように定義するかは種々考えられる。本実施形態では、把持部が設けられるアームのエンドポイントEPを把持部の位置として用いてもよい。例えば、図5(A)に示したように、アームの先端のエンドポイントEPに把持部が設けられる場合、当該エンドポイントEPの位置により把持部の位置を表現すればよい。例えば、ロボットを基準としてxyz3軸の座標系が設定される場合には、把持位置はEPの座標値(x,y,z)により表現できる。また、把持部の姿勢は所与の基準姿勢に対する回転等で表現すればよい。例えば、図5(B)に示すようにxyzの各軸まわりの回転をu,v,wとした場合には、所与の把持部の姿勢は(u,v,w)により表現できる。教示データに含まれる最終的な(出力結果である)把持位置及び把持姿勢は(x,y,z,u,v,w)で表現される情報となる。
また、仮把持位置及び仮把持姿勢とは、画像認識処理により取得される暫定的な把持位置姿勢である。本実施形態では、この仮把持位置及び仮把持姿勢を目標として、上述した自動決定されるアプローチによる把持動作を行う。この把持動作は、あくまで最終的な教示データを生成するためのものであるため、当該把持動作に用いられる仮把持位置は詳細なものである必要はない。
例えば、図6(B)に示したように、マーカーM1により決定される第1の方向のラインL1と、マーカーM2により決定される第2の方向のラインL2が作業台上に規定され、M1,M2の画像認識処理によりこれらを処理部120が把握していたとする。この場合、仮把持位置を例えばL1とL2の交点である(x0,y0)とし、仮把持姿勢を図6(B)に示したようにL2上に把持部の2本の指(ツメ)が並ぶ姿勢(実際には例えば上述したようにuvwにより表現される)とすればよい。仮把持位置姿勢を用いた把持動作が、図6(A)に示したようにxy平面での位置及び把持部の姿勢を変化させず、z軸方向の移動のみで実現されるものとすれば、仮把持位置のz座標値が不定でも一応の把持動作が可能である。具体的には、把持部を(x0,y0,z0)となる所与の位置に、仮把持姿勢と一致する姿勢でセットし、そこから姿勢を変化させずに、把持部をz軸正方向(鉛直下方向)に移動させる。仮把持位置のz座標値が不定であるため、移動の終点が不明ではあるが、ここでは把持部とワークが接触する位置まで移動させ、接触を検知したところで止まればよい。
仮把持位置姿勢は画像認識処理に基づいて容易に取得可能であるし、図6(A)に示したアプローチに必要な情報も、アプローチ動作がシンプルなため容易に取得可能である。つまり取得が容易な情報を用いて、一応の把持動作を実現することができる。実機を用いて把持動作を実現できたのであるから、後はこの動作時に得られた情報から、最終的な教示データ(第2の教示データ)に必要な情報を取得、出力すればよい。本実施形態では把持動作時のセンシング情報に基づいて第2の教示データを生成する。例えば、把持部に力覚センサーを持たせることで、上述した把持部とワークの接触を検知し、それに基づいてz方向での把持位置を決定すればよい。或いは、単純な接触ではなく、所与の力Fを加えたときの把持部の位置から把持位置を決定してもよい。また、把持動作では指を閉じる動作のように、把持部の開き量(閉じ量)を決定する動作も行われる。よって、センシング情報として指を駆動させるモーターのトルクリミット情報を取得して、指をどの程度閉じたらよいかという開き量情報を第2の教示データに含めることも考えられる。
以上に示したように、本実施形態の手法によれば、マーカーの認識処理に基づく第1の教示データと、ロボットの実機を動作させることによる第2の教示データを生成することができる。マーカーを用いて第1の教示データを生成するため、ユーザーにとってわかりやすい形態で、ロボットに対して把持動作を教示することが可能になる。図6(B)のようにマーカーM1及びM2を用いる例であれば、ユーザーにわかるように作業台上にラインL1,L2を表示しておく。そしてユーザーに対しては、「L1とL2の交点を目標として、L2方向に並んだ指を用いてロボットは把持動作を行う」ということを事前に通知する。そうすれば、ユーザーはロボットに把持させたいワークを、把持させたい位置姿勢で作業台上に配置するだけで、所望の把持動作を教示可能となる。
例えば、直方体のワークを図7(A)に示したように、面A1側から面A2と面A3を指で挟むように把持したいのであれば、ユーザーは図7(B)に示したように面A1を作業台上方に向けて、A2とA3がL2と交差する位置姿勢でワークを配置すればよい。
同様に、図7(C)に示したように、A1の裏面であるA4側からA5,A6を指で挟むように把持したいのであれば、ユーザーは図7(D)に示したように面A4を作業台上方に向けて、A5とA6がL2と交差する位置姿勢でワークを配置すればよい。また、把持位置をワークの端の方にすることも可能である。例えば図7(E)に示したように、A1側から、A2とA3のそれぞれA5寄りの位置を指で挟むように把持したいのであれば、図7(F)に示したように、図7(B)に比べて重心をずらした状態でワークを作業台上に配置すればよい。
その他、種々のワークを種々の把持方法で把持する場合であっても、ユーザーによる作業はワークの位置姿勢を考慮して作業台上に配置するだけであるため容易なものとなる。なお、ユーザーによるワークの配置は必ずしも厳密なものとする必要はなく、大まかな位置姿勢でワークを配置すれば充分である。もちろん、非常に高い精度で把持位置姿勢を決定する必要があれば、ユーザーによるワークの配置も高精度で行う必要がある。しかし本実施形態は、ユーザーによる教示が容易であることを重要視しているものであり、ユーザーの意図に沿った把持動作が教示データとして生成されればよく、極端に精度の高い教示データを求めることは想定していない。
さらに、ロボットの実機を動作させることで第2の教示データを生成するため、オフラインティーチングとは異なり、生成された教示データを用いて把持動作を実行した場合に、ワークを安定的に把持することができないといった可能性を抑止することが可能である。特に、第2の教示データ生成用の把持動作に第1の教示データを用いる例であれば、最終的な教示データ(第2の教示データ)は実際に行った把持動作時の情報を用いて生成されるものであるため、ロボットを安定的に動作させるものであり、且つ把持動作には第1の教示データが用いられるため、当該把持動作の実行が容易である。つまり、オフラインティーチングとダイレクトティーチングの利点を組み合わせることができ、ユーザーにとって容易な形態での教示を可能にしつつ、生成される教示データに基づく動作を安定したものとすることが可能である。
以下、本実施形態に係る制御装置100やロボット(ロボットシステム)の詳細な構成例について説明し、その後本実施形態の処理を具体的に説明する。最後に、フローチャートを用いて本実施形態の処理の流れを説明する。
2.システム構成例
図2に本実施形態に係る制御装置100の詳細なシステム構成例を示す。ただし、制御装置100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図2に本実施形態に係る制御装置100の詳細なシステム構成例を示す。ただし、制御装置100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図2に示したように、制御装置100は、画像認識部110と、処理部120と、ロボット制御部130を含み、処理部120は、仮把持位置姿勢検出部121と、センシング情報取得部123と、教示データ生成部125を含む。
画像認識部110は画像認識処理を行う。ここでの画像認識処理とは、例えばマーカー認識処理であってもよい。また、教示データの生成においては、ワークの位置姿勢をロボットに設定された座標系で認識する処理も必要となる。よって画像認識部110ではワークの位置姿勢を認識する物体認識処理を、画像認識処理として行ってもよい。マーカー認識処理、及び物体認識処理の詳細については後述する。
処理部120は、画像認識処理の結果や、取得したセンシング情報に基づいて、種々の処理を行う。この処理部120の機能は、各種プロセッサ(CPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。
ロボット制御部130は、処理部120の処理により生成された情報に基づいて、ロボット本体300の制御を行う。具体的には、ロボット本体300のアーム310や把持部319(ハンド)を駆動するモーターの制御を行う。なお、モーターの制御を行うとともに、モーターの駆動結果に基づいてトルクリミット情報を取得する処理を合わせて行ってもよい。
仮把持位置姿勢検出部121は、画像認識処理(狭義にはマーカー認識処理)の結果に基づいて、仮把持位置姿勢(仮把持位置及び仮把持姿勢)を検出する。検出された仮把持位置姿勢は、ロボット制御部130に出力され、当該仮位置姿勢を目標とする把持動作を行うロボット制御が実行される。
センシング情報取得部123は、仮把持位置姿勢を目標とする把持動作において検出されたセンシング情報の取得処理を行う。センシング情報とは上述したように、力覚センサー350からのセンサー情報でもよいし、トルクリミット情報であってもよい。
教示データ生成部125は、センシング情報取得部123が取得したセンシング情報に基づいて、最終的な把持位置姿勢を含む第2の教示データを生成する。教示データ生成部125での詳細な処理の例は後述する。
また本実施形態の手法は、図3に示したように、ワークを把持する把持部319と、把持部319を動作させる制御装置100とを含み、制御装置100は、ワークとマーカーとを撮像して第1の教示データを生成し、把持部319にワークを把持させて第2の教示データを生成するロボットに適用できる。図3の構成であれば、本実施形態に係るロボットは制御装置100と、ロボット本体300を含む。
ロボット本体300は、アーム310と、当該アーム310の先端等に設けられる把持部319(広義にはエンドエフェクター)を含む。
これにより、容易なユーザー入力により、実機を用いて把持動作に関する教示データを生成するとともに、生成した教示データに基づく把持動作を実際にロボット本体300に実行させる制御を行うロボット(ロボットシステム)を実現することが可能になる。ここでのロボットシステムは、図3に示したようにロボット本体300と制御装置100が別体として設けられるものであってもよい。
なお、本実施形態に係るロボットシステムの構成例は図3に限定されない。例えば、図4に示したように、ロボットシステムは、ロボット本体300と、ベースユニット部400を含んでもよい。
ロボット本体300は双腕ロボットであってもよく、頭部や胴体に相当する部分に加え、第1のアーム310と第2のアーム320を含む。図4では第1のアーム310は、関節311,313と、関節の間に設けられるフレーム315,317から構成され、第2のアーム320についても同様のものとしたがこれに限定されない。また、第1のアーム310及び第2のアーム320の先端にはエンドエフェクター319が設けられる。なお、図4では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。
ベースユニット部400は、ロボット本体300の下部に設けられ、ロボット本体300を支持する。図4の例では、ベースユニット部400には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部400が車輪等を持たず、床面等に固定される構成であってもよい。図4のロボットシステムでは、ベースユニット部400に制御装置100が格納されることで、ロボット本体300と制御装置100とが一体として構成される。
また、本実施形態の手法は、ワークを把持する把持部319を備えるロボットと、ロボットを動作させる制御装置100と、マーカーを含み、制御装置100は、ワークとマーカーとを撮像してロボットの第1の教示データを生成し、把持部319にワークを把持させてロボットの第2の教示データを生成するロボットシステムに適用できる。なお、ここではロボットシステムに含まれる構成としてロボットと制御装置100とマーカーを示したが、他の構成を追加してもよい。例えば、本実施形態のロボットシステムは、撮像画像を撮像する撮像部を含むものであってもよい。
3.具体的な処理の例
次に本実施形態の処理の具体例について説明する。以下、画像認識処理の具体例としてマーカー認識処理を説明し、マーカー認識処理の結果から仮把持位置姿勢を決定するとともに当該仮把持位置姿勢を目標とした把持動作について説明する。さらに把持動作時に得られたセンシング情報を用いた第2の教示データの生成処理を説明し、最後に変形例について説明する。
次に本実施形態の処理の具体例について説明する。以下、画像認識処理の具体例としてマーカー認識処理を説明し、マーカー認識処理の結果から仮把持位置姿勢を決定するとともに当該仮把持位置姿勢を目標とした把持動作について説明する。さらに把持動作時に得られたセンシング情報を用いた第2の教示データの生成処理を説明し、最後に変形例について説明する。
3.1 マーカーの配置とマーカー認識処理
まず作業空間におけるマーカーの配置例と、画像認識部110での画像認識処理(マーカー認識処理)の例について説明する。本実施形態での画像認識処理は、把持動作の目標となる仮把持位置姿勢を決定するために行われる。つまり、画像認識処理の対象となる画像に撮像されるべきは、仮把持位置姿勢を決定可能なものであればよい。本実施形態では例えばマーカーを用いるものとする。
まず作業空間におけるマーカーの配置例と、画像認識部110での画像認識処理(マーカー認識処理)の例について説明する。本実施形態での画像認識処理は、把持動作の目標となる仮把持位置姿勢を決定するために行われる。つまり、画像認識処理の対象となる画像に撮像されるべきは、仮把持位置姿勢を決定可能なものであればよい。本実施形態では例えばマーカーを用いるものとする。
つまり本実施形態では、画像認識部110は、マーカーを認識する画像認識処理を行い、処理部120は、マーカーについての画像認識処理(マーカー認識処理)の結果に基づいて、仮把持位置及び仮把持姿勢を決定する。
これにより、画像認識処理により認識が容易なマーカーを用いて、仮把持位置姿勢を決定することが可能になる。本実施形態では、仮把持位置に対応する位置にユーザーの手でワークを配置することを想定しているため、ロボットによる仮把持位置姿勢の把握が適切でないと、ユーザーが望んだ把持動作を教示することができない。つまり、ロボットによる仮把持位置姿勢の把握(例えばロボット座標系を用いて仮把持位置姿勢を表現する処理)は充分な精度で行う必要があり、その点で画像認識処理が容易なマーカーを利用することは有用である。
マーカーを用いる場合、上述したように当該マーカーを認識することで、仮把持位置姿勢を決定する必要がある。仮把持位置だけの特定であれば点を規定するマーカーであれば足りるが、仮把持姿勢を特定するにはさらに方向を規定するマーカーを用いる必要がある。
例えば、任意の角度回転させても形状模様の変化しない対称性を有するマーカーを用いた場合、当該マーカーを1つ用いることで作業空間上の1点(狭義には作業台平面上の1点)を特定できる。しかしその場合、仮把持位置は当該マーカーの位置、或いは当該マーカーからロボット座標系で(x,y)だけずれた位置等として決定可能であるが、仮把持姿勢を特定することができない。
よって画像認識部110は、把持対象であるワークの周囲に配置された複数のマーカーを認識する画像認識処理を行い、処理部120は、複数のマーカーについての画像認識処理の結果に基づいて、仮把持位置及び仮把持姿勢を決定してもよい。
例えば、図8(A)に示したように2つのマーカーM3,M4を配置するものとしてもよい。この場合、M3とM4を結ぶラインL3により方向を規定できるため、例えば仮把持位置をM3の位置、仮把持姿勢をL3上に指が並ぶ姿勢として特定することが可能になる。
或いは、同様のマーカーを3つ以上配置してもよい。例えば図8(B)に示したように4つのマーカーM5〜M8を配置すれば、M5及びM6からラインL4が規定でき、M7及びM8からラインL5が規定できる。よって、L4とL5の交点を仮把持位置とし、L4及びL5の少なくとも一方から仮把持姿勢を決定すること等が可能である。
また、画像認識部110は、第1の方向を示すマーカーである第1のマーカーと、第1の方向と交差する第2の方向を示すマーカーである第2のマーカーとを認識する画像認識処理を行い、処理部120は、第1の方向と第2の方向が交差する位置に基づいて、仮把持位置を決定するとともに、第1の方向及び第2の方向の少なくとも一方に基づいて、仮把持姿勢を決定してもよい。
例えば、第1,第2のマーカーとして180度回転したときに形状模様が同じとなる対称性を有するマーカーを用いてもよい。図8(C)に示したように、マーカーM9やM10は当該マーカーの模様の検出を行うことで、マーカーが存在する位置だけでなくマーカーが配置された方向を知ることができる。よって、マーカーM9を認識することでM9の位置とともに所与の方向のラインL6を特定でき、同様にマーカーM10を認識することでM10の位置とともに所与の方向のラインL7を特定できる。この場合には、2枚のマーカーを用いて、図8(B)と同様に2つの方向を規定し、仮把持位置姿勢を特定可能である。この場合、1つのマーカーで1つの方向を特定することができるため、図8(B)に比べて用いるマーカーの数を少なくすることが可能である。
また、回転対称性を有しないマーカーであれば、マーカーの形状模様を認識することで、マーカーの位置及び方向を一意に特定可能である。よって、例えばマーカーの基準方向と当該基準方向に直交する方向の2方向を考えれば、当該2つの方向が1つのマーカーを認識することで特定可能となる。つまり図8(D)に示したように1つのマーカーを用いて図8(B)や図8(C)と同様に仮把持位置姿勢を決定することも可能である。
ただし、1つのマーカーから認識できる情報が増えるほど、マーカーの形状や模様は複雑になる傾向がある。例えば、M3〜M8のように位置さえわかればよいマーカーは非常にシンプルにできるが、M11のように細かな方向まで認識するマーカーは対称性を有さない形状模様となる必要がある。そのため、複雑なマーカーを用いることで、マーカーの認識精度が低下する、或いはマーカー自体のサイズを大きくする必要が生じる場合が考えられる。つまりあえて多くのマーカーを用いることで、1つ当たりのマーカーサイズを小さくしたり、検出精度を向上させてもよいと言える。以上のことより、本実施形態では種々のマーカーを種々の配置により用いることが可能であるが、配置可能なマーカー数や、画像認識処理の精度等を考慮して、適切なマーカー種類、マーカー数を決定することが望ましい。
画像認識部110では、作業空間を撮像した撮像画像に対して画像認識処理(マーカー認識処理)を行う。例えば、撮像画像IMが図9に示した画像であり、IMの一部にマーカーの配置された作業台が撮像されていたとする。その場合、画像認識部110では、IMを対象としてマーカー認識処理を行い、マーカーの画像上での位置を認識する。
画像認識処理の結果は、マーカーの画像上位置を表すものである。例えば、図9の例であれば、画像の左上の点(画素)を基準とした場合に、マーカーは右にm0画素、下にn0画素の位置に1つ、及び右にm1画素、下にn1画素の位置に1つ検出された、という情報が取得される。このマーカー位置を表す情報は、このままではロボット制御に利用できないため、処理部120の仮把持位置姿勢検出部121では、マーカー位置をロボット座標系に変換するとともに、仮把持位置姿勢を特定する処理を行う。
例えば、撮像画像を撮像する撮像部の位置、及び撮像方向がロボット座標系において既知の場合には、撮像画像の画像上位置とロボット座標系での座標値を直接変換可能である。つまり画像上位置を表す座標系(図9の例であればmn軸により規定される座標系)とロボット座標系との座標変換行列等が既知であるため、画像認識処理の結果に対して当該座標変換処理を行うことで、マーカー位置をロボット座標系で取得することができる。マーカー位置や、当該マーカーにより定められる方向(ライン)がロボット座標系で取得できれば、仮把持位置姿勢はそれぞれ2本のラインの交点や、1つのラインに沿った方向等から、容易にロボット座標系で決定可能である。
また、撮像部の位置、及び撮像方向がロボット座標系において未知の場合には、何らかの既知の情報を用いて座標変換行列等を求める必要がある。例えば、ロボットを作業空間に配置した際に、当該ロボットと作業台の位置関係が固定されたとする。その場合、作業台の位置はロボット座標系で表現可能な情報として取得される。よって、撮像画像IMから作業台を認識する処理を合わせて行い、IMにおける作業台の位置と、ロボット座標系での作業台の位置から、座標変換処理に用いる変換行列等を求めることができる。その後の処理は座標変換処理が既知の場合と同様である。
3.2 仮把持位置姿勢を目標とした把持動作と第2の教示データの生成
次に、処理部120では仮把持位置姿勢を目標とした把持動作を実行する。具体的には、仮把持位置姿勢を目標とし、仮把持位置の鉛直上側から鉛直下方向に向かって、仮把持姿勢と同様の姿勢で把持部を降下させるロボット制御を、ロボット制御部130に指示すればよい。この際、鉛直上方からのアプローチでは、把持部の指構造等が障害物(作業台やロボット、作業対象でない他のワーク)等に衝突する可能性は低いことから、把持部の指は最大限開いておけばよい。このようにすれば、指が把持対象であるワークの上面と衝突してしまう可能性を抑止できる。
次に、処理部120では仮把持位置姿勢を目標とした把持動作を実行する。具体的には、仮把持位置姿勢を目標とし、仮把持位置の鉛直上側から鉛直下方向に向かって、仮把持姿勢と同様の姿勢で把持部を降下させるロボット制御を、ロボット制御部130に指示すればよい。この際、鉛直上方からのアプローチでは、把持部の指構造等が障害物(作業台やロボット、作業対象でない他のワーク)等に衝突する可能性は低いことから、把持部の指は最大限開いておけばよい。このようにすれば、指が把持対象であるワークの上面と衝突してしまう可能性を抑止できる。
図9に示したように撮像画像IMが作業台の鉛直上方から撮像された場合には、当該撮像画像に対する画像認識処理により取得される仮把持位置はxy平面内の位置となりz軸方向での位置が不定である。しかし本実施形態では、上述したように把持動作のアプローチがz軸方向の移動のみで行われるため、実際にアプローチを行ってワークに接触する位置で把持部を停止させれば把持動作を実現できる。つまり、把持動作前に仮把持位置を厳密に確定させる必要はない。
逆に言えば、アプローチの停止位置を決定するためには、何らかの手法により把持部とワークの接触を検出する必要がある。そこで本実施形態では、図10(A)に示したように、ロボット本体300の把持部319に力覚センサー350を設けてもよい。
この場合、把持動作において取得されるセンシング情報は、ロボットに設けられた力覚センサー350により出力された力覚センサー情報である。図10(B)に示したように、把持部319がワークと接触した場合には、力覚センサー350にワークが押しつけられることになるため、何らかの力が検出される。本実施形態では力覚センサー350で力が検出された場合に、把持動作のアプローチを停止する。
アプローチが停止した後に、把持部の構造を用いてワークを固定(把持)する動作を行う。例えば、把持部が図5等に示してきたように指状の可変部を有する場合には、指を閉じることでワークを把持する。その他、把持部が開閉可能な可変部を有するのであれば、開いた状態にある可変部を閉じる動作を行えばよい。
この把持部の可変部の閉じ量(開き量)は、事前に決定されているものではない。よって本実施形態では、アプローチの停止位置と同様に、把持動作を試行してその結果から閉じ量を決定する。具体的には、可変部を駆動するモーターに、トルクリミッター或いはそれに類する構造物を設けておき、所定以上の過負荷が生じた場合にその旨を表す情報を取得すればよい。
この場合、把持動作において取得されるセンシング情報は、ロボットを駆動するモーターのトルクリミット情報である。図10(A)に示したように把持部が開かれている状態から、図10(B)に示したように把持部が閉じられた状態に移行する際には、モーターを駆動させ可変部を閉じる方向のトルクを発生させる。しかし、可変部とワークが接触し、充分な強さでワークの把持が行われた状態では、さらに可変部を閉じる方向のトルクを発生させようとすると高い負荷が生じることになる。この状態は可変部を過剰に閉じようとしているものと判定できるため、可変部の閉じ量としてその際の値を用いれば、教示対象であるワークを安定して(充分な力で)把持することが可能である。
つまり、本実施形態では、把持動作開始前には決定できていなかった情報を、把持動作中に取得されたセンシング情報を用いて決定していく。そして、仮把持位置姿勢の情報、及びアプローチに関する情報(ここではz軸方向に降下させる動作)に対して、センシング情報で決定される情報を加えることで、把持動作が実機を用いて実現されたことになる。実機を用いた把持動作が実現されたのであれば、その際の情報を第2の教示データとすれば、ここでの把持動作を再現可能にできる。
よって処理部120は、力覚センサー情報に基づいて、作業台に対する垂直方向での把持位置を決定し、決定した把持位置を含む第2の教示データを生成する。ここで、作業台に対する垂直方向での把持位置とは、図6等におけるz軸方向での位置のことであり、把持動作におけるアプローチの距離を特定する情報である。
また処理部120は、トルクリミット情報に基づいて、ワークを把持した状態での把持部の開き量情報を決定し、決定した開き量情報を含む第2の教示データを生成する。ここで把持部の開き量情報とは、把持部が開閉する可変部を有する場合に、当該可変部がどの程度開いているか(閉じているか)を表す情報である。可変部が1又は複数の関節により構成される場合、開き量情報は各関節の関節角で表現されてもよい。
これにより、センシング情報を用いて、アプローチの停止位置や、指構造の閉じ具合等の、把持動作に必要な情報を決定することが可能になり、仮把持位置姿勢を用いた把持動作を実現することが可能になる。また、センシング情報に基づき取得された情報は、そのまま第2の教示データとして流用することで、仮把持位置姿勢を用いた把持動作を再現することが可能である。
例えば、仮把持位置姿勢を用いた把持動作におけるロボットパラメーター(例えばロボットに含まれる各関節の関節角の値)を逐一記憶しておき、当該ロボットパラメーターに従ったロボット制御を行うことで、把持動作を再現してもよい。
或いは、把持動作の柔軟性を向上させるために上記関節角等に比べて抽象化されたパラメーターを第2の教示データとして生成してもよい。ここでの第2の教示データは、例えば最終的な把持位置、把持姿勢、把持部の開き量情報を含む情報である。最終的な把持位置姿勢については、仮把持位置姿勢を用いた把持動作でのアプローチ終了時の把持部の位置姿勢を用いればよく、開き量情報はトルクリミット情報により決定される情報を用いればよい。
第2の教示データを用いた実際のロボット制御においては、把持部を最終的な把持位置の鉛直上方に、最終的な把持姿勢となる状態でセットし、その状態から最終的な把持位置姿勢となるまでz軸方向に把持部を降下(アプローチ)させる。そしてアプローチ終了後に、開き量情報で指定される量だけ把持部の可動部を閉じれば把持動作が完了することになる。
なお本実施形態の手法は、ロボット実機を用いて実際にワークを把持し、その結果を用いることで安定した把持動作を可能にする教示データを作成するものである。つまり、本実施形態の手法により生成される教示データは、ワークとの関係を規定する情報となるべきである。それに対して、上述の説明では、仮把持位置姿勢も最終的な把持位置姿勢も、ロボットの把持部制御における目標を表す情報であって、ワークの位置を示すものではない。つまりこのままでは「所与の位置を目標として把持動作を行う」という教示データを作成したにすぎず、当該「所与の位置」に教示時と同様の位置姿勢でワークが配置されていなければ意味はないことになる。
よって本実施形態では、画像認識部110は、ワークの位置姿勢を認識する物体認識処理を、画像認識処理として行い、処理部120は、物体認識処理により取得されたワークの位置姿勢と、最終的な把持位置と、最終的な把持姿勢とを含む教示データ(狭義には第2の教示データ)を生成する。
ここで物体認識処理自体は、ワークのモデルデータをテンプレートとしたテンプレートマッチング等、広く知られた手法により実現できるため、詳細な説明は省略する。
これにより、ワークの画像上での位置姿勢を認識することが可能になる。また、マーカー認識処理と同様に座標変換処理を行うことで、ワークの位置姿勢をロボット座標系で取得することも可能になる。よって、所与の把持位置姿勢を目標とする教示データが得られた場合にも、当該把持位置姿勢をワークとの相対的な関係として理解することが可能になる。例えば、「ロボット座標系で(x,y,z,u,v,w)を目標として把持動作を行う」という教示データを、「ワーク上の所与の点を目標として把持動作を行う」という教示データに変形できる。よって、ワークの位置が変化した場合であっても、当該ワーク位置の変化に応じて把持動作も適切に変更することができ、多くの状況に柔軟に対応可能な教示データを生成することができる。
また、画像認識部110は、仮把持位置及び仮把持姿勢を目標として、ロボットの把持部319でワークを把持する把持動作をロボットに行わせた後に、物体認識処理を行ってもよい。
本実施形態では、仮把持位置姿勢を目標とする把持動作の前に、物体認識処理を行うことは妨げられない。しかし、ユーザーによるワークの配置や、ワーク自体の重量バランス、或いはロボットの把持部319の構成等によっては、把持動作の最中にワークの位置姿勢が変化してしまうことも考えられる。例えば、2本の指でワークを把持する場合、左指による力の方向と、右指による力の方向が同一直線上で反対方向となればワークの運動は考えにくい。しかし、ワークが斜めに配置されたり、把持部自体の剛性がそこまで高くない場合には、各指による力が同一直線上にならず、ワークを回転させるモーメントが発生する可能性もある。本実施形態での安定的な把持動作とは、把持動作が終了した最終的な状態を再現することで実現される。すなわち、ワークはユーザーにより配置された状態ではなく、把持動作により把持部319に把持された後の状態を教示データに利用することが好ましいと言える。つまり、物体認識処理を仮把持位置姿勢を目標とする把持動作の後に行うことで、把持動作によりワークが移動した場合等であっても、安定した把持動作を実現する教示データを生成することが可能になる。
3.3 変形例
上述してきたように、本実施形態では仮把持位置姿勢を用いた把持動作を容易に実現するために、当該把持動作におけるアプローチは図6(A)に示したようなシンプル且つ自動生成容易なものとしている。そのため、所与のワークに対して複数のアプローチ方向から把持動作を行うことが難しくなる。
上述してきたように、本実施形態では仮把持位置姿勢を用いた把持動作を容易に実現するために、当該把持動作におけるアプローチは図6(A)に示したようなシンプル且つ自動生成容易なものとしている。そのため、所与のワークに対して複数のアプローチ方向から把持動作を行うことが難しくなる。
例えば、図7(A)〜図7(F)を用いて上述したように、1つのワークに対しても、面A1の方向から把持したい場面もあれば、面A4の方向から把持したい場面もある。或いは、A1の方向から把持する場合にも、面A2,A3における接触点を変更したい場面もある。本実施形態では、教示時におけるアプローチ方向が一定であることから、ワーク側の位置姿勢を変更することで、種々の方向からの把持動作を教示する。
具体的には、第1〜第N(Nは2以上の整数)の面を有するワークを把持対象とした場合に、処理部120は、ワークの第i(iは1≦i≦Nを満たす整数)の面を処理対象面として、仮把持位置及び仮把持姿勢を目標とする把持動作をロボットに行わせ、把持動作において検出されたセンシング情報に基づいて、第iの面を処理対象面とした第2の教示データである第2iの教示データを生成する。同様に、処理部120は、ワークの第2j(jは1≦j≦N、j≠iを満たす整数)の面を処理対象面として、仮把持位置及び仮把持姿勢を目標とする把持動作を前記ロボットに行わせ、把持動作において検出されたセンシング情報に基づいて、第jの面を処理対象面とした第2の教示データである第2jの教示データを生成する。
これにより、所与のワークの異なる面の方向からの把持動作を教示することが可能になる。ここでの処理対象面とは、ワークの複数の面のうち、把持部319のアプローチポイント(アプローチを開始する把持部319の位置であり図6(A)の上側の位置に対応)の方向を向く面を表す。図7(A)であれば面A1が処理対象面であるし、図7(C)であれば面A4が処理対象面である。図7(A)、図7(C)に示したように、複数の方向からの把持動作を教示したい場合にも、各面を対象として上述の処理を繰り返すことで、適切に教示データを生成することが可能になる。
この際、ワークの第iの面が作業台の鉛直上方向を向く位置姿勢で、ワークが配置された場合に、処理部120は、ワークの第iの面を処理対象面として、仮把持位置及び仮把持姿勢を目標とする把持動作をロボットに行わせ、把持動作において検出されたセンシング情報に基づいて、第2iの教示データを生成すればよい。
これにより、配置されたワークの位置姿勢に応じて、適切な教示データを生成することが可能になる。本実施形態では、仮把持位置姿勢を目標とした把持動作を実現する際に、システム側でのアプローチ動作生成についての処理負荷をできるだけ軽減することを考えている。つまりアプローチ動作についての多様性は高くないことになるが、ワークの位置姿勢を変更すれば、多様な把持動作を実現する教示データの生成が可能である。ワークの配置はユーザーに委ねられるため、制御装置100側の処理負荷は高くならない。また、ユーザーにとっても処理対象面を上にして所定の位置にワークを置くだけであるため、ワーク配置は大きな負担となるものではない。なお、本実施形態では図6(A)に示したように鉛直上方からアプローチするものとしたため、ワークの第iの面を鉛直上方に向けるものとした。つまり広義には、ワークの第iの面が把持部のアプローチポイントの方向を向く位置姿勢で、ワークが配置された場合に、処理部120は、ワークの第iの面を処理対象面として、仮把持位置及び仮把持姿勢を目標とする把持動作をロボットに行わせ、把持動作において検出されたセンシング情報に基づいて、第2iの教示データを生成すればよい。
また、教示する把持動作に関して、ユーザーが何らかの把持パラメーターを入力してもよい。例えば、把持の深さをユーザーが指定してもよい。ここで把持の深さとは、把持部の可動部分とワークの接触位置を表す情報である。例えば、図7(A)に示したように、面A2と面A3に把持部の指を押しつけてワークを把持する場合に、A2,A3と指の接触位置を作業台に近い位置にして把持してもよいし、或いは接触位置を面A1に近い位置にして把持してもよい。本実施形態では、処理対象面から遠い位置(作業台に近い位置)での把持状態を「把持が深い」と表現し、処理対象面に近い位置での把持状態を「把持が浅い」と表現する。
上述したように、本実施形態では、把持部とワークが接触する位置を把持位置とする。よって図5(A)に示した把持部のようにワークに接触するパーツと、指との相対位置が変化しない場合には、把持の深さを調節することは難しい。しかし図11(A)に示したように、パーツ3193が移動可能な構成であれば、パーツ3193と指3191,3192との相対位置を変化させられる。よって、図11(B)に示したようにパーツ3193を押し出した状態とすれば、指3191,3192によるワークの把持は浅いものとできる。一方、図11(C)に示したようにパーツ3193を引いた状態とすれば、指3191,3192によるワークの把持は深いものとできる。
つまり図11(A)に示したような把持部の構成であれば、ユーザーからの把持の深さに関する情報を受け付け、当該情報に対応した把持動作を実現する教示データを生成することが可能になる。図11(A)の構成であれば、把持を深くする指示があった場合にはパーツ3193を引き、逆に把持を浅くする指示があった場合にはパーツ3193を押し出す制御を行えばよい。パーツ3193の制御後に、仮把持位置姿勢を目標とする把持動作を行って教示データを生成すれば、当該教示データは把持の深さに関してユーザーの意図を反映したものとなる。
また、把持の強さをユーザーが指定してもよい。把持の強さは上述したように把持部の可変部(例えば指3191,3192)を駆動するモーターのトルクリミット情報により決定される。その際、リミットとする負荷の程度は設定により変更可能である。例えば、比較的小さな負荷でもリミットであると判定すれば、可変部によりワークに加えられる力は比較的小さくなるし、比較的大きな負荷にならなければリミットと判定しないものとすれば、可変部によりワークに加えられる力は比較的大きくなる。つまり、ユーザーから把持の強さに関する情報を受け付け、当該情報に基づいてトルクのリミットを設定することで、ユーザーの指示に対応した把持動作を実現する教示データを生成することが可能になる。
また、上述してきた本実施形態の教示や、把持パラメーターの設定のユーザーインターフェースとしては、図12に示した画面等を用いてもよい。図12の例では、B1に示したように、スライダーを表示することで、把持パラメーターのうち把持の深さ(握り深さ)の入力を可能にしている。また、B2に示したように、ラジオボタンを表示することで、把持パラメーターのうち把持の強さ(握り強さ)の入力を可能にしている。
また、B3には必要な動作をロボットに指示するための複数のボタンを表示している。ホームボタンは、ロボットをホームポジションに戻す指示を行うためのボタンである。ロボットのアーム310等が駆動していると、撮像画像IMにアーム310等が写り込んでしまい、マーカー認識処理や物体認識処理の精度が低下するおそれがある。ホームポジションとは、少なくとも撮像画像内にロボットのパーツが写り込まないようなロボットの位置(及び姿勢)を表すものである。ホームボタンは、マーカー認識処理や物体認識処理の前に押下されることが想定される。戻すボタンは、ロボット或いは制御装置100の動作を前の状態に戻すボタンである。
また、マーカー認識ボタンはマーカー認識処理を指示するボタンであり、物体認識ボタンは物体認識処理を指示するボタンである。また、把持ボタンは、仮把持位置姿勢を目標とした把持動作の開始を指示するボタンである。把持ボタンが押下された際には、B1のインターフェースで指示された把持の深さ、強さに対応する把持動作が実行される。
登録ボタンは、把持ボタンの押下による把持動作に基づいて生成された教示データをデータベースに登録するボタンである。このようなインターフェースでは、把持ボタンの押下により実行された把持動作が所望の動作でない場合に、ユーザーは登録ボタンを押下しなければよい。そのようにすれば、ユーザーの意図と合わない教示データが記憶されることを抑止できる。
なお、インターフェースにはB4に示したように、指方向に関する入力を行うものを設けてもよい。例えば図11(A)等では把持部の指は2つとしていたが、4つ等であってもよい。その場合、各指は四角形の頂点の位置に配置され、指のうち2つを使って第1の方向で挟み込む動作を行い、残りの2つを使って第1の方向と交差する(狭義には直交する)第2の方向で挟み込む動作を行う。B4のインターフェースは指の使い方を指示するものであり、指方向把持なしのチェックボックスにチェックを入れた場合、4つの指のうち2つの指を使わずに、一方向のみから挟み込む把持動作を実行させる。また指方向後のチェックボックスにチェックを入れた場合、2つの指による挟み込みと、残り2つの指による挟み込みに時間差を設ける把持動作を実行させる。
なお、本実施形態の手法における入力インターフェースは図12に限定されず、種々の変形実施が可能である。
4.処理の流れ
図13に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まずマーカー認識処理を行う(S101)。マーカー認識処理の詳細は上述したとおりであり、S101の処理は例えば、図12のマーカー認識ボタンの押下をトリガーとして行われてもよい。
図13に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まずマーカー認識処理を行う(S101)。マーカー認識処理の詳細は上述したとおりであり、S101の処理は例えば、図12のマーカー認識ボタンの押下をトリガーとして行われてもよい。
次にマーカー認識処理の結果に基づいて把持位置姿勢を特定し(S102)、特定した把持位置姿勢を目標として把持動作を行う(S103)。S103の処理では、上述したようにセンシング情報を取得し、アプローチの停止位置や指の開き量を決定する。
そしてS103の把持動作終了時のワークの位置姿勢を物体認識処理により認識し(S104)、S103及びS104での処理結果に基づいて教示データを生成する(S105)。生成した教示データが適切な場合には、当該教示データをデータベースに登録する(S106)。
その後、教示が終了したかの判定を行い(S107)、終了しない場合にはS101に戻って処理を継続する。なお、ロボットと作業台の相対位置が変わらない場合等には、S101及びS102の処理を再度行う必要はないため、S107でNoの場合にはS103に戻るものとしてもよい。S107でYesの場合には処理を終了する。
なお、本実施形態の制御装置100等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置100等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また制御装置100等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
EP エンドポイント、IM 撮像画像、L1〜L7 ライン、
M1〜M11 マーカー、100 制御装置、110 画像認識部、120 処理部、
121 仮把持位置姿勢検出部、123 センシング情報取得部、
125 教示データ生成部、130 ロボット制御部、300 ロボット本体、
310 アーム、311,313 関節、315,317 フレーム、319 把持部、320 第2のアーム、350 力覚センサー、400 ベースユニット部、
3191,3192 指、3193 パーツ、
M1〜M11 マーカー、100 制御装置、110 画像認識部、120 処理部、
121 仮把持位置姿勢検出部、123 センシング情報取得部、
125 教示データ生成部、130 ロボット制御部、300 ロボット本体、
310 アーム、311,313 関節、315,317 フレーム、319 把持部、320 第2のアーム、350 力覚センサー、400 ベースユニット部、
3191,3192 指、3193 パーツ、
Claims (15)
- ワークとマーカーとを撮像した撮像画像を受け付ける画像認識部と、
ロボットの教示データを生成する処理部と、
を含み、
前記処理部は、
前記画像認識部が受け付けた前記撮像画像によって前記ロボットの第1の教示データを生成し、
前記ロボットの把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成することを特徴とする制御装置。 - 請求項1において、
前記処理部は、
前記第1の教示データに基づいて前記把持部に前記ワークを把持させて、前記ロボットの前記第2の教示データを生成することを特徴とする制御装置。 - 請求項1又は2において、
前記処理部は、
前記把持部に前記ワークを把持させることで、前記ロボットに設けられた力覚センサーにより出力された力覚センサー情報を取得し、
前記力覚センサー情報に基づいて、作業台に対する垂直方向での把持位置を決定し、決定した前記把持位置を含む前記第2の教示データを生成することを特徴とする制御装置。 - 請求項1乃至3のいずれかにおいて、
前記処理部は、
前記把持部に前記ワークを把持させることで、前記ロボットを駆動するモーターのトルクリミット情報を取得し、
前記トルクリミット情報に基づいて、前記ワークを把持した状態での前記把持部の開き量情報を決定し、決定した開き量情報を含む前記第2の教示データを生成することを特徴とする制御装置。 - 請求項1乃至4のいずれかにおいて、
前記画像認識部は、
前記マーカーを認識する画像認識処理を行い、
前記処理部は、
前記マーカーについての前記画像認識処理の結果に基づいて、前記第1の教示データを生成することを特徴とする制御装置。 - 請求項5において、
前記画像認識部は、
把持対象である前記ワークの周囲に配置された複数の前記マーカーを認識する前記画像認識処理を行い、
前記処理部は、
複数の前記マーカーについての前記画像認識処理の結果に基づいて、前記第1の教示データを生成することを特徴とする制御装置。 - 請求項6において、
前記画像認識部は、
第1の方向を示す前記マーカーである第1のマーカーと、前記第1の方向と交差する第2の方向を示す前記マーカーである第2のマーカーとを認識する前記画像認識処理を行い、
前記処理部は、
前記第1の方向と前記第2の方向が交差する位置に基づいて、仮把持位置を決定し、前記第1の方向及び前記第2の方向の少なくとも一方に基づいて、仮把持姿勢を決定し、
前記仮把持位置及び前記仮把持姿勢を含む前記第1の教示データを生成することを特徴とする制御装置。 - 請求項1乃至7のいずれかにおいて、
第1〜第N(Nは2以上の整数)の面を有する前記ワークを把持対象とした場合に、
前記処理部は、
前記ワークの第i(iは1≦i≦Nを満たす整数)の面を処理対象面として、前記把持部に前記ワークを把持させて、前記第iの面を前記処理対象面とした前記第2の教示データである第2iの教示データを生成し、
前記ワークの第j(jは1≦j≦N、j≠iを満たす整数)の面を前記処理対象面として、前記把持部に前記ワークを把持させて、前記第jの面を前記処理対象面とした前記第2の教示データである第2jの教示データを生成することを特徴とする制御装置。 - 請求項8において、
前記ワークの前記第iの面が作業台の鉛直上方向を向く位置姿勢で、前記ワークが配置された場合に、
前記処理部は、
前記ワークの前記第iの面を前記処理対象面として、前記把持部に前記ワークを把持させて、前記第2iの教示データを生成することを特徴とする制御装置。 - 請求項1乃至9のいずれかにおいて、
前記画像認識部は、
前記ワークの位置姿勢を認識する物体認識処理を行い、
前記処理部は、
前記物体認識処理により取得された前記ワークの位置姿勢と、最終的な把持位置と、最終的な把持姿勢とを含む前記第2の教示データを生成することを特徴とする制御装置。 - 請求項10において、
前記画像認識部は、
前記第1の教示データに基づいて、前記把持部に前記ワークを把持させた後に、前記物体認識処理を行うことを特徴とする制御装置。 - 請求項1乃至11のいずれかにおいて、
前記処理部は、
前記撮像画像に基づいて、仮把持位置及び仮把持姿勢を含む前記第1の教示データを生成し、
前記仮把持位置及び前記仮把持姿勢を目標として、前記把持部に前記ワークを把持させて、最終的な把持位置及び最終的な把持姿勢を含む前記第2の教示データを生成することを特徴とする制御装置。 - ワークを把持する把持部と、
前記把持部を動作させる制御装置と、
を含み、
前記制御装置は、
前記ワークとマーカーとを撮像して第1の教示データを生成し、
前記把持部に前記ワークを把持させて第2の教示データを生成することを特徴とするロボット。 - ワークとマーカーとを撮像してロボットの第1の教示データを生成することと、
前記ロボットの把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成することと、を含むことを特徴とする教示データ生成方法。 - ワークを把持する把持部を備えるロボットと、
前記ロボットを動作させる制御装置と、
マーカーと、を含み、
前記制御装置は、
前記ワークと前記マーカーとを撮像して前記ロボットの第1の教示データを生成し、
前記把持部に前記ワークを把持させて前記ロボットの第2の教示データを生成することを特徴とするロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013254757A JP2015112654A (ja) | 2013-12-10 | 2013-12-10 | 制御装置、ロボット、教示データ生成方法及びロボットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013254757A JP2015112654A (ja) | 2013-12-10 | 2013-12-10 | 制御装置、ロボット、教示データ生成方法及びロボットシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015112654A true JP2015112654A (ja) | 2015-06-22 |
Family
ID=53526950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013254757A Pending JP2015112654A (ja) | 2013-12-10 | 2013-12-10 | 制御装置、ロボット、教示データ生成方法及びロボットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015112654A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108290286A (zh) * | 2015-12-03 | 2018-07-17 | Abb瑞士股份有限公司 | 用于教导工业机器人拾取零件的方法 |
CN109275046A (zh) * | 2018-08-21 | 2019-01-25 | 华中师范大学 | 一种基于双视频采集的教学数据标注方法 |
WO2019130429A1 (ja) * | 2017-12-26 | 2019-07-04 | Kyoto Robotics株式会社 | ピッキング対象物把持情報登録システム |
JP2020028970A (ja) * | 2018-08-24 | 2020-02-27 | ジック アーゲー | グリッパ位置を自動的に検出するための方法及び器具 |
JP2020151837A (ja) * | 2019-03-22 | 2020-09-24 | 株式会社デンソーウェーブ | ロボット及びハンドの制御装置 |
US11254008B2 (en) | 2018-07-18 | 2022-02-22 | Canon Kabushiki Kaisha | Method and device of controlling robot system |
US11376732B2 (en) | 2018-03-27 | 2022-07-05 | Fanuc Corporation | Robot system for correcting teaching of robot using image processing |
CN114869470A (zh) * | 2022-04-13 | 2022-08-09 | 北京理工大学 | 一种基于图像识别的血管介入手术机器人柔性夹持与测力装置及方法 |
US11590665B2 (en) | 2019-03-27 | 2023-02-28 | Seiko Epson Corporation | Robot |
JP7237249B1 (ja) * | 2022-02-25 | 2023-03-10 | 三菱電機株式会社 | ロボット制御装置、ロボット制御方法およびロボット制御プログラム |
JP7491374B2 (ja) | 2020-06-05 | 2024-05-28 | 株式会社島津製作所 | 自動試料注入装置 |
-
2013
- 2013-12-10 JP JP2013254757A patent/JP2015112654A/ja active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108290286A (zh) * | 2015-12-03 | 2018-07-17 | Abb瑞士股份有限公司 | 用于教导工业机器人拾取零件的方法 |
WO2019130429A1 (ja) * | 2017-12-26 | 2019-07-04 | Kyoto Robotics株式会社 | ピッキング対象物把持情報登録システム |
JPWO2019130429A1 (ja) * | 2017-12-26 | 2021-04-01 | Kyoto Robotics株式会社 | ピッキング対象物把持情報登録システム |
DE102019001969B4 (de) | 2018-03-27 | 2022-07-28 | Fanuc Corporation | Robotersystem zum Korrigieren des Anlernens eines Roboters durch Bildverarbeitung |
US11376732B2 (en) | 2018-03-27 | 2022-07-05 | Fanuc Corporation | Robot system for correcting teaching of robot using image processing |
US11254008B2 (en) | 2018-07-18 | 2022-02-22 | Canon Kabushiki Kaisha | Method and device of controlling robot system |
CN109275046B (zh) * | 2018-08-21 | 2021-06-18 | 华中师范大学 | 一种基于双视频采集的教学数据标注方法 |
CN109275046A (zh) * | 2018-08-21 | 2019-01-25 | 华中师范大学 | 一种基于双视频采集的教学数据标注方法 |
JP2020028970A (ja) * | 2018-08-24 | 2020-02-27 | ジック アーゲー | グリッパ位置を自動的に検出するための方法及び器具 |
JP2020151837A (ja) * | 2019-03-22 | 2020-09-24 | 株式会社デンソーウェーブ | ロボット及びハンドの制御装置 |
JP7238523B2 (ja) | 2019-03-22 | 2023-03-14 | 株式会社デンソーウェーブ | ロボット及びハンドの制御装置 |
US11590665B2 (en) | 2019-03-27 | 2023-02-28 | Seiko Epson Corporation | Robot |
JP7491374B2 (ja) | 2020-06-05 | 2024-05-28 | 株式会社島津製作所 | 自動試料注入装置 |
JP7237249B1 (ja) * | 2022-02-25 | 2023-03-10 | 三菱電機株式会社 | ロボット制御装置、ロボット制御方法およびロボット制御プログラム |
CN114869470A (zh) * | 2022-04-13 | 2022-08-09 | 北京理工大学 | 一种基于图像识别的血管介入手术机器人柔性夹持与测力装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015112654A (ja) | 制御装置、ロボット、教示データ生成方法及びロボットシステム | |
US11090814B2 (en) | Robot control method | |
CN108139747B (zh) | 确定用于机器人的、由手动施加于机器人的力来输入的输入指令 | |
JP6361213B2 (ja) | ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム | |
JP2015071206A (ja) | 制御装置、ロボット、教示データ生成方法及びプログラム | |
US20130054030A1 (en) | Object gripping apparatus, object gripping method, and object gripping program | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
Suzuki et al. | Grasping of unknown objects on a planar surface using a single depth image | |
JP2018167334A (ja) | 教示装置および教示方法 | |
JP6326765B2 (ja) | 教示装置、ロボット、ロボットシステム、方法、及びプログラム | |
Gorjup et al. | An intuitive, affordances oriented telemanipulation framework for a dual robot arm hand system: On the execution of bimanual tasks | |
JP2015074061A (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
JP2015054378A (ja) | 情報処理装置、ロボット、シナリオ情報生成方法及びプログラム | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
JP6706777B2 (ja) | 制御装置、ロボット、及びロボットシステム | |
JP2006130580A (ja) | ロボットによる任意形状物体の把持方法 | |
JP6456557B1 (ja) | 把持位置姿勢教示装置、把持位置姿勢教示方法及びロボットシステム | |
JP6322948B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法、及びプログラム | |
JP2019077026A (ja) | 制御装置、ロボットシステム、制御装置の動作方法及びプログラム | |
US11897142B2 (en) | Method and device for creating a robot control program | |
JP2015112655A (ja) | 制御装置、ロボット、教示データ生成方法及びロボットシステム | |
JP2021045810A (ja) | モーション情報生成装置、エンドエフェクタ、ロボット及びロボットシステム | |
US20230321823A1 (en) | Robot control device, and robot system | |
CN115972188A (zh) | 根据人类演示的机器人程序生成方法 | |
Sopon et al. | Mixed Reality Framework for Eye-in-Hand Collaborative Robot-Human Interaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160616 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160624 |