JP2015085475A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2015085475A
JP2015085475A JP2013227537A JP2013227537A JP2015085475A JP 2015085475 A JP2015085475 A JP 2015085475A JP 2013227537 A JP2013227537 A JP 2013227537A JP 2013227537 A JP2013227537 A JP 2013227537A JP 2015085475 A JP2015085475 A JP 2015085475A
Authority
JP
Japan
Prior art keywords
posture
gripping
axis
orientation
workpiece
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.)
Granted
Application number
JP2013227537A
Other languages
English (en)
Other versions
JP2015085475A5 (ja
JP6429450B2 (ja
Inventor
大輔 渡邊
Daisuke Watanabe
大輔 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013227537A priority Critical patent/JP6429450B2/ja
Priority to US14/519,410 priority patent/US9862091B2/en
Priority to CN201410592050.3A priority patent/CN104597891B/zh
Priority to EP20140191124 priority patent/EP2868444A1/en
Publication of JP2015085475A publication Critical patent/JP2015085475A/ja
Publication of JP2015085475A5 publication Critical patent/JP2015085475A5/ja
Application granted granted Critical
Publication of JP6429450B2 publication Critical patent/JP6429450B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37555Camera detects orientation, position workpiece, points of workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39476Orient hand relative to object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39487Parallel jaws, two fingered hand
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Abstract

【課題】 山積みされたワークの中から三次元位置姿勢を認識した回転対称形状のワークに対して、ユーザが教示した把持位置姿勢に基づいてハンドが把持を行う適切な位置姿勢を算出するための技術を提供すること。【解決手段】 少なくとも1つの軸に対して回転対称となる形状を有する物体を把持するために把持部がとる姿勢として予め指定された姿勢を基準姿勢として取得する。把持部が物体を把持するときの把持部と物体との相対的な位置姿勢を教示位置姿勢として取得する。画像から物体の位置姿勢を認識し、該認識された位置姿勢と教示位置姿勢とに基づいて、把持部が認識した物体を把持するための初期位置と初期姿勢とを導出する。導出された初期姿勢と基準姿勢とに基づいて、物体を把持する把持姿勢を決定し、該把持姿勢と初期位置とに基づいて、把持部が物体を把持する把持位置姿勢を決定する。【選択図】 図1

Description

本発明は、特に、3次元の位置姿勢を認識した回転対称形状のワークに対してロボットが把持を行うためのハンドの位置姿勢を算出するための技術に関するものである。
工場などの生産ラインにおいて、山積みされたワークの中から一個体をビジョンシステムを用いて特定し、その三次元位置姿勢を認識することで、ロボットに取り付けたハンドにより該一個体の把持を行う、山積みピッキング技術が近年開発されている。山積みされたワークは多様な姿勢をとることとなるため、このビジョンシステムにおいては、ワークの三次元空間内での位置とともに3軸姿勢も求めることが行われている。これに加えて、認識したワークに対してハンドをどのような位置、姿勢にアプローチして把持を行うか、ということを教示しておき、これら2つの位置姿勢に基づいてハンドを動作させることで、山積み中の任意の位置姿勢のワークのピッキングを行う。
上記技術に関連して特許文献1では、ビジョンシステムにより、直方体、円柱、球といった単純形状のワークを認識してロボットハンドで把持を行う方法が記載されている。この方法ではまず、撮影した画像と単純形状(直方体、円柱、球)とをあてはめ、あてはまった形状の主軸の向き、大きさ、位置を算出する。さらに、これらの情報からロボットハンドで把持を行う位置姿勢の算出方法を事前にルール化しておき、ルールに基づいて把持位置姿勢を算出することで任意位置姿勢のワークの把持を行う。
特開2006-130580号公報
上述の山積みピッキング技術において、ワーク形状が回転対称性をもつ場合には、ビジョンシステムから観測できる情報が同一となる姿勢が複数存在する。この場合、ビジョンシステムはそれらの姿勢を区別することができないため、ある姿勢のワークに対して複数の解を出力してしまう。これら複数の解のいずれかに対して、教示しておいた把持位置姿勢に基づいて把持を行う場合、アプローチするハンドの位置姿勢はビジョンシステムで認識した三次元位置姿勢に依存する。そのため、教示情報に基づいて算出したハンドのアプローチ方向が教示時とは反転してしまい、実際には把持可能なワークを把持不可と判定してしまうケースが発生する問題がある。
これに対して、特許文献1の方法では、ワークの姿勢情報に関して3軸姿勢の算出は行わず、単純形状の主軸の向きのみを算出し、算出した主軸の向きから事前ルール化された算出方法によりハンドのアプローチする姿勢を決定している。そのため、回転対称物体を対象とした場合においても、3軸姿勢を求めることにより複数の解を出力してしまう問題は回避される。しかしながら、この方法は、ワークが単純形状であることを前提に、ハンド形状やハンド座標系の設定、ワーク形状に応じて、ワークを把持するハンドの位置姿勢の算出方法があらかじめ個別にプログラムされているため、その方法でしか把持できない。そのため、ワークの重心位置に対して形状が非対称であるような場合に、その形状特性に応じて把持位置をずらすなど、ユーザが把持位置姿勢を個別に設定できないという問題がある。
本発明はこのような課題を鑑みてなされたものであり、山積みされたワークの中から三次元位置姿勢を認識した回転対称形状のワークに対して、ユーザが教示した把持位置姿勢に基づいてハンドが把持を行う適切な位置姿勢を算出するための技術を提供する。
本発明の一様態は、少なくとも1つの軸に対して回転対称となる形状を有する物体を把持するために把持部がとる姿勢として予め指定された姿勢を基準姿勢として取得する手段と、前記把持部が前記物体を把持するときの前記把持部と前記物体との相対的な位置姿勢を教示位置姿勢として取得する取得手段と、前記物体が含まれる画像から前記物体の位置姿勢を認識し、該認識された位置姿勢と前記教示位置姿勢とに基づいて、前記把持部が前記認識した物体を把持するための初期位置と初期姿勢とを導出する導出手段と、前記導出された初期姿勢と前記基準姿勢とに基づいて、前記物体を把持する把持姿勢を決定し、該決定された把持姿勢と前記初期位置とに基づいて、前記把持部が前記物体を把持する把持位置姿勢を決定する決定手段とを備えることを特徴とする。
本発明の構成によれば、山積みされたワークの中から三次元位置姿勢を認識した回転対称形状のワークに対して、ユーザが教示した把持位置姿勢に基づいてハンドが把持を行う適切な位置姿勢を算出することができる。
把持位置姿勢算出装置1の機能構成例を示すブロック図。 回転情報を入力するためのGUIの表示例を示す図。 把持位置姿勢算出装置1が行う処理のフローチャート。 ハンドでワークを把持する際の位置姿勢の教示の例を示す図。 ハンドの初期位置姿勢を説明する図。 把持位置姿勢算出装置1が行う処理のフローチャート。 ステップS608における処理を説明する図。 把持位置姿勢算出装置1が行う処理のフローチャート。 把持位置姿勢算出装置1に適用可能な装置のハードウェア構成例を示すブロック図。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、回転対称となる形状(回転対称形状)を有する物体(ワーク)を把持部に把持させるべく、該把持部の位置姿勢を算出することを目的とする。ここで、回転対称形状には、ある軸回りに回転させたときに見えが全く変化しない「回転体」と、360/N度(Nは2以上の整数)回転させると自らと重なる「N回対称」とがある。このことを踏まえ、まず回転対称形状を以下の5つに分類する。
(a) 1軸に対するN回対称:角錐など
(b) 1軸に対する回転体 :円錐など
(c) 直交する2軸のうち1軸(一方の軸)に対して2回対称、かつもう1軸(他方の軸)に対して回転体:円柱など
(d) 直交する2軸のうち1軸に対して2回対称、かつもう1軸に対してN回対称:角柱など
(e) 直交する2軸に対する回転体:球
本実施形態では、上記の(a)〜(e)のうち(a)、すなわち、1軸に対するN回対称性を有するワークを把持部で把持するために適切な把持位置姿勢を算出する方法について説明する。具体的には、ワークの3次元位置姿勢を認識後、ワークのN回対称性に基づいてワークを軸回りに回転させた対称姿勢の各ワークに対し、教示された位置姿勢に基づいて把持部の位置姿勢をそれぞれ算出する。そして、算出したそれぞれの位置姿勢のうち、あらかじめ設定(指定)しておいた基準姿勢にもっとも近いものを、最終的な把持部の位置姿勢として選択する。
先ず、ワークを把持するための把持部の把持位置姿勢を算出する情報処理装置として機能する把持位置姿勢算出装置1の機能構成例について、図1のブロック図を用いて説明する。
回転情報入力部11は、ワークの回転対称形状を表現するための情報である回転情報を入力し、該入力した回転情報を、後段の把持位置姿勢決定部15に対して送出する。具体的には、ワークの回転対称性を規定する軸の方向と、ワークがその軸に対して回転体もしくはN回対称のいずれであるかを示す情報と、N回対称の場合には対称数を特定する数Nと、を一組にして、必要組数だけ保持した情報を回転情報として入力する。
回転情報の入力方法については特定の方法に限るものではなく、外部装置に保持されている回転情報を取得するようにしても構わないし、ユーザが不図示の操作部を操作して入力したものを取得するようにしても構わない。ここでは一例として、ユーザが把持位置姿勢算出装置1が有する不図示の表示部に表示されたGUI(グラフィカルユーザインターフェース)を見ながら不図示の操作部を操作して回転情報を入力する入力方法について説明する。この場合、回転情報入力部11は、このようにしてユーザ操作により入力された回転情報を取得することになる。
回転情報を入力するためのGUIの表示例を図2に示す。より詳しくは、上記の(a)〜(e)のそれぞれに該当するワークに対する回転情報を入力するためのGUIの表示例を図2(a)〜(e)に示す。説明簡略化のため、ワーク形状の回転対称性を規定する各軸はワーク形状を基準とした座標系(ワーク中の1点を原点とし、該原点で互いに直交する3軸をそれぞれx、y、y軸とする座標系:ワーク座標系)におけるx、y、z軸の何れかに一致するものとする。ただし、ワーク座標系において回転軸の向きを特定できるのであれば、回転軸は任意の軸であって構わない。
GUIにはワークの形状とワーク形状を基準としたワーク座標系とを表示する。合わせて、ワーク形状の回転対称性を規定する回転軸を選択するためのチェックボックスを表示する。ここで、ワーク形状に基づき、ワーク座標系のx、y、z軸の中からワークの回転軸を選択する。なお、軸は最大2つまで選択可能とする。さらに、選択した軸に関連づいたラジオボタンにより回転体もしくはN回対称のいずれかを選択する。ラジオボタンは軸が選択された場合にのみ有効化するのが望ましい。さらに、N回対称を選択した場合には、選択した軸に関連づいたウィンドウにNの値を入力する。このウィンドウに関してもN回対称が選択された場合にのみ有効化するのが望ましい。例えば図2(a)の場合、このワークはZ軸周りにN(N=6)回対称となる形状を有しているので、Z軸に対応するチェックボックスを選択し(チェックを入れ)、N回対称に対応するラジオボタンを選択し、ウィンドウには「6」を入力している。
そして回転情報入力部11は、このGUIで入力された情報から、ワークのx、y、z軸のそれぞれに対する回転対称性をそれぞれxRot、yRot、zRotという3パラメータで表現し、ワークの回転情報として入力する。具体的には、その軸のチェックボックスが無効な場合には、ワークはその軸回りに回転対称性を有していないものとして、該軸に対応するパラメータに1を設定する。一方、チェックボックスが有効な場合において、回転体が選択されている場合には、該軸に対応するパラメータに0を設定し、N回対称が選択されている場合には、ウィンドウに入力されたNの値を、該軸に対応するパラメータに設定する。例えば図2(a)の場合、x軸及びy軸についてはチェックボックスが無効となっているため、xRot=yRot=1とする。また、Z軸についてはチェックボックスが有効となっており且つN回対称のラジオボタンが選択され且つウィンドウには6が入力されているので、zRot=6とする。然るにこの場合、回転情報入力部11は、{xRot、yRot、zRot}={1,1,6}を回転情報として入力することになる。
なお、ワークが2軸に対する回転対称性を持つ場合、軸の選択方法は複数考えられる。たとえば図2(c)に示すワークは、x軸に対して2回対称であると同時に、Y軸に対して2回対称ともいえる。したがって、このようなケースにおいてはどちらにチェックを入れてもよい。あらゆる形状のワークに対して回転対称性は最大2軸あれば表現可能なため、本実施形態では最大2軸まで選択可能としたが、3軸を選択可能としてもかまわない。また、回転体もしくはN回対称を選択するために、本実施形態ではラジオボタンを利用しているが、チェックボックスを利用してもよいし、その他のGUIを用いてもよい。またN回対称のNの値ではなく、N回対称となる回転角度(360/N)を入力させてもよい。その他、回転対称性を表現する軸の数と各軸の向き、各軸に対する回転体か否か、回転体でない軸に対しては回転対称数を特定可能な数値、を入力可能であれば、回転情報の入力方法はいかなる方法であってもかまわない。
教示位置姿勢入力部12は、ロボットアームの先端に取り付けた把持部(ハンド)でワークを把持する際の、ワークとハンドとの相対的な位置姿勢(相対位置姿勢)を表すパラメータを教示位置姿勢として入力する。教示位置姿勢には、たとえば、ハンドおよびワークの形状モデルを仮想環境上で操作して把持の際の幾何関係と同様に配置し、このときの相対位置姿勢を取得するなどして、事前に設定しておいたものを利用する。あるいは実環境に配置したワークの3次元位置姿勢をビジョンシステムで認識後、ハンドがそのワークを把持できる位置姿勢にロボットアームを移動させ、そのときのハンドの位置姿勢を取得することで両者の相対位置姿勢を算出しておき、利用してもよい。その他、把持時のハンドとワークとの相対位置姿勢を決定できる方法であれば、教示位置姿勢の設定はいかなる方法で実施してもよい。
基準姿勢入力部13は、山積みのワークの中から認識した任意の位置姿勢のワークに対し、教示位置姿勢入力部12が入力する教示位置姿勢に基づき、把持を行うハンドの位置姿勢を決定する際に、ハンドの姿勢を比較するための基準姿勢を入力する。基準姿勢には、ロボットアームが関節に無理なくワークを把持できるような理想的な姿勢を設定するのが望ましい。これに対して、把持位置姿勢の教示をロボットハンドとワークの実物を用いて実施した場合、教示時のハンドの姿勢を利用することができる。
ワーク認識部14は、山積みされた多数のワークの中から1つのワーク(一個体)を検出する。そしてワーク認識部14は、該検出したワークのロボット座標系(上記のロボットアームを有するロボット中の1点を原点とし、該原点で直交する3軸をそれぞれx、y、z軸とする座標系)における3次元位置姿勢を算出する。
まず、センサ座標系におけるワークの位置姿勢を算出する。本実施形態では距離センサを用いてワークに対する測定を行うことで、該ワークに対する距離画像及び濃淡画像を取得するものとする。然るに、この場合のセンサ座標系とは、距離センサ中の1点を原点とし、該原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系となる。
まず、例えば、パターンマッチング等の公知技術によって、山積み中から一個体の検出及び大まかな位置姿勢を算出する。その後、算出したおおまかな位置姿勢から、ワークの三次元形状モデルと取得した画像とがフィットするように該三次元形状モデルの位置姿勢を補正することでワークの高精度な位置姿勢を算出する。ただし、センサ座標系におけるワークの位置姿勢の算出方法は他の方法であってもかまわない。
次に、算出したセンサ座標系におけるワークの位置姿勢を、事前にキャリブレーションにより求めておいた「距離センサ−ロボット間の位置姿勢」を用いて、ロボット座標系におけるワークの位置姿勢へと変換する。ここで、距離センサとロボットとの幾何関係は固定されているものとする。また、本実施形態では、距離センサは山積みワークの鉛直上方に固定するものとして説明を行ったが、距離センサはロボットアームに固定してもかまわない。
把持位置姿勢決定部15は、回転情報入力部11からの回転情報と、基準姿勢入力部13からの基準姿勢と、ワーク認識部14からの「ロボット座標系におけるワークの位置姿勢」と、教示位置姿勢入力部12からの教示位置姿勢と、を受ける。そして把持位置姿勢決定部15は、受けたこれらの情報を用いて、ハンドが基準姿勢に最も近い姿勢でワークを把持するような該ハンドの位置姿勢を、把持位置姿勢として決定する。具体的には、認識したワークに対して、形状の回転対称性を考慮し、教示時のハンド−ワーク間と同じ幾何関係となるハンドの姿勢の中で、基準姿勢に最も一致するように把持位置姿勢を決定する。
次に、把持位置姿勢算出装置1が、3次元位置姿勢を認識したワークに対してハンドが把持を行うための位置姿勢を算出するために行う処理について、同処理のフローチャートを示す図3を用いて説明する。
(ステップS201における処理について)
回転情報入力部11は、上記のような回転情報を取得する。以下では具体例を挙げて説明するために、回転情報入力部11は、図2(a)に示したワークについて図2(a)に示したGUIを用いて設定した回転情報を取得したものとする。この場合、回転情報は上記の如く、{xRot、yRot、zRot}={1,1,6}となる。また、回転情報入力部11は、回転情報中の各軸に対するパラメータ値のうち1以外の値を回転対称数として、変数Nに設定する。ここでは、回転情報中の各軸に対するパラメータ値のうち1以外の値は「6」であるので、変数Nに値「6」を設定する。
(ステップS202における処理について)
教示位置姿勢入力部12は、ワークとハンドとの間の相対位置姿勢を表す6自由度パラメータを教示位置姿勢として入力する。図4に、ハンドでワークを把持する際の位置姿勢の教示の例を示す。図4は、ビジョンシステムにより、ロボット座標系におけるワークの三次元位置姿勢を算出後、ロボットアーム先端に取り付けられたハンドによりワークを把持できる位置姿勢までロボットを移動させて停止した状態である。このときのロボット座標系におけるハンドの位置姿勢およびワークの位置姿勢から、両者の相対位置姿勢を教示位置姿勢として予め算出し、本装置内のメモリ若しくは本装置外のメモリに格納しておく。そしてステップS202では、教示位置姿勢入力部12は、このメモリから教示位置姿勢を取得する。
ここで、ワーク座標系からハンド座標系(ハンド中の1点を原点とし、該原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系)への姿勢変換を行う3×3の回転行列、位置変換を行う3列の並進ベクトルをそれぞれ、RWH、tWHとする。このとき、ワーク座標系XW=[XW, YW, ZW]Tからハンド座標系XH=[XH, YH, ZH]Tへの変換は、4×4行列TWHを用いて以下のように表すことができる。
XH'=TWH XW'
ここで、XW'、XH'、TWHは以下のとおりである。
XW'=[XW, YW, ZW,1]T 、XH'=[XH, YH, ZH,1]T
以降では、TWHを教示位置姿勢、RWHを教示姿勢、tWHを教示位置、とそれぞれ呼称する場合がある。
(ステップS203における処理について)
基準姿勢入力部13は、上記の基準姿勢を取得する。一般的に、ワークを把持するハンドの位置姿勢を教示する際には、ロボットアームが無理なく動作可能な位置姿勢にワークを設置して把持位置姿勢の教示を実施することが多い。そのため、本実施形態では、ステップS202の図4の状態でのロボット座標系におけるハンドの姿勢を基準姿勢として予め上記メモリ内に格納しておき、基準姿勢入力部13はこのメモリに格納されている基準姿勢を取得する。ここで、ロボット座標系からハンド座標系への姿勢変換を表す3×3の回転行列をRRH’とし、このRRH’を基準姿勢として取得する。
(ステップS204における処理について)
ワーク認識部14により、山積みされた多数のワークの中から把持対象となる一個体のワーク(把持対象ワーク)の検出を行い、ロボット座標系における把持対象ワークの位置姿勢を表す6つのパラメータを算出する。ここで算出した6つのパラメータに基づくロボット座標系からワーク座標系への座標変換において、姿勢を表す3つのパラメータで表現される3×3の回転行列をRRW、位置を表す3つのパラメータで表現される3列の並進ベクトルをtRWとする。このとき、ロボット座標系XR=[XR, YR, ZR]Tからワーク座標系XW=[XW, YW, ZW]Tへの変換は、4×4行列TRWを用いて以下のように表すことができる。
XW'=TRW XR'
ここで、XW'、XR'は以下の通りである。
XW'=[XW, YW, ZW,1]T、XR'= [XR, YR, ZR,1]T
以降では、TRWを認識位置姿勢、RRWを認識姿勢、tRWを認識位置、とそれぞれ呼称する場合がある。
(ステップS205における処理について)
把持位置姿勢決定部15は、把持対象ワークを把持するためのハンドの位置姿勢を決定するための初期位置姿勢を算出(導出)する。ここで求める初期位置姿勢を表す4×4行列をTRHとすると、TRHは以下により算出することができる。
TRH=TRW TWH
ここで、3×3の回転行列をRRH、3列の並進ベクトルをtRHとしてTRHは以下のように表現される。
以降では、tRHをハンドの初期位置、RRHをハンドの初期姿勢、とそれぞれ呼称する場合がある。図5(a)において、山積みの中から三次元位置姿勢を認識したワークに対して、ステップS202で入力された教示位置姿勢に基づいて算出したハンドの初期位置姿勢を図5(b)に示す。
(ステップS206における処理について)
基準姿勢入力部13が取得した基準姿勢と、ステップS205で求めたハンドの初期姿勢と、で姿勢の差分量(差分値)が大きい場合、ステップS211以降で基準姿勢と、後述する参照姿勢と、の比較を行う際の一致度の大小関係が反転する。このような場合、基準姿勢の再設定を行う必要がある。本ステップでは、把持位置姿勢決定部15は、基準姿勢と初期姿勢との姿勢の差分量を求め、この差分量に基づいて、基準姿勢の再設定が必要か否かを判定する。具体的には、基準姿勢から初期姿勢へと変換を行うための3×3の回転行列Dを求める。さらに、両者の姿勢変換を回転軸と回転角とで表現したときの角度θを、回転行列Dから算出する。回転行列Dおよび回転角θは以下の式を計算することで算出することができる。
D=(RRH)-1 RRH
θ=arccos((Trace(D)‐1) / 2 )
そして把持位置姿勢決定部15は、θ<90度であるか否かの判定を行う。この判定の結果、θ<90度であれば、基準姿勢の再設定は必要無しと判断し、処理はステップS208に進む。一方、θ≧90度(規定値以上)であれば、基準姿勢の再設定は必要と判断し、処理はステップS207に進む。
(ステップS207における処理について)
把持位置姿勢決定部15は、基準姿勢の再設定を行う。具体的には、基準姿勢のハンドが、そのハンドに対する教示位置姿勢にあるワークの回転軸に対して対称となるような姿勢を求め、該求めた姿勢をハンドの基準姿勢として更新する。この処理を行うため、まず、教示位置姿勢の関係にあるハンドとワークとにおいて、ハンドの中心軸およびワークの回転軸(本実施形態ではz軸)に互いに直交する軸を変換軸として求める。ここでは、ハンドの中心軸はz軸とする。また、ワークの回転軸には、回転情報{xRot、yRot、zRot}={1,1,6}中の各軸に対するパラメータ値のうち1以外の値に対応する軸、すなわちz軸を利用する。そして、基準姿勢におけるハンドを、求めた変換軸回りに180度回転させた姿勢を算出し、該算出した姿勢により基準姿勢RRH'を更新する。
RRH' = Rrev RRH'
ここで、Rrevは変換軸回りに180度の回転を行う3×3の回転行列である。
(ステップS208における処理について)
把持位置姿勢決定部15は、ハンドの基準姿勢との一致度が高い把持姿勢を決定するための初期化を行う。まず、姿勢の最大一致度を表す値をVmaxとし、小さな値で初期化する(たとえばVmax=−100000)。次に、一致度が最大となる姿勢を最大一致姿勢とし、この姿勢を表す3×3の回転行列をRmaxとして、ハンドの初期姿勢で初期化する(Rmax=RRH)。また、このときのワークの姿勢を表す3×3の回転行列をRmax_wとし、ワークの認識姿勢で初期化する(Rmax_w=RRW)。さらに、回転軸回りにワークを回転させた回数をカウントするためのカウンタをiとし、i=0として初期化する。
(ステップS209における処理について)
把持位置姿勢決定部15は先ず、回転情報{xRot、yRot、zRot}={1,1,6}中の各軸に対するパラメータ値のうち1以外の値に対応する軸、即ちz軸を回転軸とする。そして、認識姿勢RRWを回転軸周りに(360/N×i)度だけ回転させた姿勢(回転姿勢)を求め、該求めた姿勢に対して教示姿勢の関係にあるハンドの姿勢(参照姿勢)RRH_iを、該求めた姿勢を有する把持対象ワークを把持するための把持姿勢として求める。参照姿勢RRH_iは以下の式を計算することで算出することができる。
RRH_i = RRW Ri RWH
ここで、Riは、ワークの回転軸回りに(360/N×i)度回転を行う3×3の回転行列である。
(ステップS210における処理について)
把持位置姿勢決定部15は、ステップS209で算出した参照姿勢RRH_iと基準姿勢RRH'との姿勢の一致度をViとして算出する。具体的には、両者の姿勢変換を行う回転行列Eから、姿勢変換を回転軸と回転角とで表現したときの角度φを求め、Vi=cosθとして一致度を算出する。なお、回転行列Eおよび回転角φは以下の式を計算することで算出することができる。
E=(RRH )-1 RRH'
φ=arccos((Trace(E)‐1) / 2 )
(ステップS211における処理について)
把持位置姿勢決定部15は、ステップS210で算出した一致度ViとVmaxとの大小比較を行う。この大小比較の結果、Vmax<Viであれば、処理はステップS212に進み、Vmax≧Viであれば、処理はステップS213に進む。
(ステップS212における処理について)
把持位置姿勢決定部15は、姿勢の最大一致度Vmaxの値をViで更新する。また、最大一致姿勢Rmaxを参照姿勢RRH_iで更新する。さらに、Rmax_wをRRW Riで更新する。
(ステップS213における処理について)
把持位置姿勢決定部15は、i<Nであるか否かを判断する。この判断結果、i<Nであれば、カウンタiの値に1を加算してカウンタiの値を更新し(i←i+1)、処理はステップS209に戻る。一方、i≧Nであれば、N回対称の全対称姿勢の中でもっとも一致度の高かった姿勢Rmax、初期位置tRHを用いて、把持対象ワークを把持するためのハンドの最終的な把持位置姿勢TRH_maxを、以下の式から算出する。
把持位置姿勢決定部15は、このようにして算出したハンドの最終的な把持位置姿勢TRH_maxを、適当な出力先に出力する。出力先については特定の出力先に限るものではない。すなわち、本装置内のメモリや外部のメモリに対して出力しても良いし、上記ハンドを有するロボットアームを制御する制御装置に対して出力しても良い。何れにせよ、ロボットアームを制御してハンドをこの最終的な把持位置姿勢TRH_maxに移動させることで、山積み中で認識した把持対象ワークを、教示位置姿勢と類似した姿勢で把持することが可能となる。なお、図5(a)で示した認識ワークに対して、本実施形態の一連の処理を行い、最終的に算出したハンドの把持位置姿勢を図5(c)に示す。
このように、本実施形態では、山積み中で認識した「1軸に対するN回対称性を持つようなワーク」に対して、ハンドの適切な把持位置姿勢を算出する方法について述べた。具体的には、認識したワークの姿勢からワークを回転軸回りに360/N度ずつ回転させた場合のハンドの把持姿勢を参照姿勢としてそれぞれ算出し、その中から基準姿勢ともっとも一致するものを選択することで把持位置姿勢を決定した。
なお、本実施形態では、一致度として基準姿勢と参照姿勢との姿勢変換を表す回転角度のコサイン値を利用したが、角度の差分量をそのまま一致度としてもよい。あるいは、回転行列をオイラー角表現にしたときの各軸回りの回転量の合計値を一致度としてもよい。その他、姿勢の一致度を評価できるものであればこれら以外の指標を用いても構わない。
また、ここでは基準姿勢としてロボット座標系におけるハンドの姿勢を用いたが、センサ座標系におけるハンドの姿勢を利用してもよいし、別途設定した座標系における姿勢を利用してもよい。
また、ここでは、最大一致姿勢として、認識したワークを回転軸回りに回転させた各姿勢に対するハンドの把持姿勢を更新した。これに対して認識したワークを回転軸回りに回転させた姿勢を最大一致姿勢として更新し、最後に、教示姿勢に基づいてハンドの姿勢を算出してもよい。
[第2の実施形態]
本実施形態では、上記の5種類の回転対称形状(a)〜(e)のうち、(b)、すなわち、1軸に対する回転体であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する方法について述べる。具体的には、ワークの三次元位置姿勢を認識後、ワーク形状の回転体を規定する回転軸と教示された位置姿勢とに基づき、あらかじめ設定しておいた基準姿勢にもっとも近くなるような把持位置姿勢を直接算出する。
以下では、第1の実施形態との相違点について重点的に説明し、第1の実施形態と同様の部分については説明を省略する。本実施形態でも、図1に示した構成を有する把持位置姿勢算出装置1を用いて、ハンドの適切な把持位置姿勢を算出する。
把持位置姿勢算出装置1が、1軸に対する回転体であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する為に行う処理について、同処理のフローチャートを示す図6を用いて説明する。
(ステップS601における処理について)
回転情報入力部11は、上記のような回転情報を取得する。本実施形態では、回転情報入力部11は、図2(b)に示したワークについて図2(b)に示したGUIを用いて設定した回転情報を取得したものとする。この場合、回転情報は、{xRot、yRot、zRot}={1,1,0}となる。
(ステップS602〜ステップS607における処理について)
ステップS602〜ステップS607の各ステップにおける処理は、それぞれ、ステップS202〜ステップS207における処理と同様であるので、ステップS602〜ステップS607の各ステップにおける処理の説明は省略する。
(ステップS608における処理について)
把持位置姿勢決定部15は、基準姿勢に最も近いハンドの位置姿勢を把持位置姿勢として算出する。本処理を、図7を用いて説明する。まず、基準姿勢RRH'と教示姿勢RWHとを用いて、基準姿勢におけるハンドにより把持可能な仮想のワーク(図7(a)の破線で示したワーク)の姿勢を基準ワーク姿勢RRW'として、以下の式を計算することで算出する。
RRW' =RRH'(RWH-1
次に、基準ワーク姿勢RRW' とワークの認識姿勢RRWとの間の姿勢変換を回転軸と回転角とで表現したときの角度Ψを、回転行列Fから算出する。回転行列Fおよび回転角Ψは、以下の式を計算することで算出することができる。
F=(RRW ')-1RRW
Ψ=arccos((Trace(F)‐1) / 2 )
ここで、ステップS601で入力した回転情報{xRot、yRot、zRot}={1,1,0}中の各軸に対するパラメータ値のうち値「0」に対応する軸、すなわちz軸を回転軸とする。このとき、基準ワーク姿勢におけるワークの回転軸を表すベクトルをVa,、ワークの認識姿勢におけるワークの回転軸を表すベクトルをVbとし、これらの外積ベクトルV=Va×Vbを算出する。ベクトルVで表現される軸回りにΨだけ回転を行う3×3の回転行列をRrotとすると、認識したワークを把持するハンドの姿勢Rmaxは、以下の式を計算することで算出される。
Rmax =Rrot RRW' RWH
そして把持位置姿勢決定部15は、把持対象ワークを把持するためのハンドの最終的な把持位置姿勢TRH_maxを、以下の式から算出する。
把持位置姿勢決定部15は、このようにして算出したハンドの最終的な把持位置姿勢TRH_maxを、第1の実施形態と同様に、適当な出力先に出力する。何れにせよ、ロボットアームを制御してハンドをこの最終的な把持位置姿勢TRH_maxに移動させることで、山積み中で認識した把持対象ワークを、教示位置姿勢と類似した姿勢で把持することが可能となる。なお、図7(a)で示した認識ワークに対して、本実施形態の一連の処理を行い、最終的に算出したハンドの把持位置姿勢を図7(b)に示す。
このように、本実施形態では、1軸に対する回転体であるような形状のワークに対して、ハンドの適切な把持位置姿勢を算出する方法について述べた。具体的には、ハンドの基準姿勢において把持可能なワークと、山積み中から認識したワークとの姿勢の差分量を求め、その差分量だけハンドを傾けた姿勢を把持姿勢として直接算出した。
[第3の実施形態]
本実施形態では、上記の5種類の回転対称形状(a)〜(e)のうち、(c)、すなわち、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対して回転体であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する方法について述べる。具体的には、ワークを認識後、まず2回対称を規定する回転軸に対して第1の実施形態と同様に基準姿勢に最も近い把持姿勢を選択する。そして、選択された姿勢を初期姿勢として、回転体を規定する回転軸に対して第2の実施形態と同様に基準姿勢に最も近い把持位置姿勢を直接算出する。
以下では、第1の実施形態との相違点について重点的に説明し、第1の実施形態と同様の部分については説明を省略する。本実施形態でも、図1に示した構成を有する把持位置姿勢算出装置1を用いて、ハンドの適切な把持位置姿勢を算出する。
把持位置姿勢算出装置1が、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対して回転体であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する為に行う処理について、同処理のフローチャートを示す図8を用いて説明する。
(ステップS801における処理について)
回転情報入力部11は、上記のような回転情報を取得する。本実施形態では、回転情報入力部11は、図2(c)に示したワークについて図2(c)に示したGUIを用いて設定した回転情報を取得したものとする。この場合、回転情報は、{xRot、yRot、zRot}={2,1,0}となる。また回転情報入力部11は、回転情報中の各軸に対するパラメータ値のうち1以外の正の整数値に対応する軸、即ちこの場合はx軸を回転軸αとし、回転情報中の各軸に対するパラメータ値のうち値「0」に対応する軸、即ちこの場合はz軸を回転軸βとする。
(ステップS802〜ステップS805における処理について)
ステップS802〜ステップS805の各ステップにおける処理は、それぞれ、ステップS202〜ステップS205における処理と同様であるので、ステップS802〜ステップS805の各ステップにおける処理の説明は省略する。
(ステップS806における処理について)
ステップS806では、回転軸αについて、上記のステップS206〜S213と同様の処理を行う。
(ステップS807における処理について)
ハンドが最大一致姿勢TRH_maxをとるときのワークの姿勢Rmax_wを新たに認識姿勢RRWとし、回転軸βに関して、上記のステップS608と同様の処理を行うことで、最終的な把持位置姿勢を算出する。
このように、本実施形態では、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対して回転体、であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する方法について述べた。具体的には、ワークを認識後、まず2回対称を規定する回転軸に対して第1の実施形態と同様に基準姿勢に最も近い把持姿勢を選択し、選択された姿勢を初期姿勢として、回転体を規定する回転軸に対して第2の実施形態と同様に基準姿勢に最も近い把持位置姿勢を直接算出した。
[第4の実施形態]
本実施形態では上記の5種類の回転対称形状(a)〜(e)のうち、(d)、すなわち、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対してN回対称であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する方法について述べる。具体的には、ワークを認識後、直交する2つのN回対称軸に対してワークをそれぞれ回転させた全対称姿勢の各ワークに対して教示された位置姿勢に基づいてハンドの位置姿勢をそれぞれ算出し、あらかじめ設定しておいた基準姿勢にもっとも近いものを、最終的なハンドの位置姿勢として選択する。
以下では、第1の実施形態との相違点について重点的に説明し、第1の実施形態と同様の部分については説明を省略する。本実施形態でも、図1に示した構成を有する把持位置姿勢算出装置1を用いて、ハンドの適切な把持位置姿勢を算出する。
把持位置姿勢算出装置1が、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対してN回対称であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する為に行う処理は、以下に説明する点を除けば、図3に示した処理と同様である。以下では、第1の実施形態と相違する、ステップS201,S208,S209,S213の各ステップにおける処理について説明する。
(ステップS201における処理について)
回転情報入力部11は、上記のような回転情報を取得する。本実施形態では、回転情報入力部11は、図2(d)に示したワークについて図2(d)に示したGUIを用いて設定した回転情報を取得したものとする。この場合、回転情報は、{xRot、yRot、zRot}={2,1,6}となる。また回転情報入力部11は、回転情報中の各軸に対するパラメータ値のうち1以外の正の整数値に対応する軸、即ちこの場合はx軸及びz軸を、それぞれ回転軸α、回転軸βとする。また、回転情報入力部11は、x軸に対応するパラメータ値「2」を回転対称数として変数Nに設定すると共に、z軸に対応するパラメータ値「6」を回転対称数として変数Mに設定する。
(ステップS208における処理について)
把持位置姿勢決定部15は、ハンドの基準姿勢との一致度が高い把持姿勢を決定するための初期化を行う。まず、姿勢の最大一致度を表す値をVmaxとし、小さな値で初期化する(たとえばVmax=−100000)。次に、一致度が最大となる姿勢を最大一致姿勢とし、この姿勢を表す3×3の回転行列をRmaxとして、ハンドの初期姿勢で初期化する(Rmax=RRH)。また、このときのワークの姿勢を表す3×3の回転行列をRmax_wとし、ワークの認識姿勢で初期化する(Rmax_w=RRW)。さらに、回転軸回りにワークを回転させた回数をカウントするためのカウンタをiとし、i=0として初期化する。更に、回転軸α回りにワークを回転させた回数をカウントするためのカウンタ、回転軸β回りにワークを回転させた回数をカウントするためのカウンタ、のそれぞれをj、kとし、j=k=0と初期化する。
(ステップS209における処理について)
把持位置姿勢決定部15は、認識姿勢RRWを回転軸α周りに(360/N×j)度だけ回転させ且つ回転軸β周りに(360/M×k)度だけ回転させた姿勢を求める。そして把持位置姿勢決定部15は、該求めた姿勢に対して教示姿勢の関係にある姿勢(参照姿勢)RRH_iを、該求めた姿勢を有する把持対象ワークを把持するための把持姿勢として求める。参照姿勢RRH_iは以下の式を計算することで算出することができる。
RRH_i = RRW Rk Rj RWH
ここで、Rjは、ワークの回転軸α回りに(360/N×j)度回転を行う3×3の回転行列であり、Rkは、ワークの回転軸β回りに(360/M×k)度回転を行う3×3の回転行列である。
(ステップS213における処理について)
把持位置姿勢決定部15は、i<N×Mであるか否かを判断する。この判断結果、i<N×Mであれば、カウンタiの値に1を加算してカウンタiの値を更新する(i←i+1)。さらに、k<Mであれば、カウンタjの値については更新せずに、カウンタkの値に1を加算してカウンタkの値を更新し(k←k+1)、処理はステップS209に戻る。一方、k≧Mであれば、カウンタjの値に1を加算してカウンタjの値を更新する(j←j+1)と共に、カウンタkの値を0に初期化し、処理はステップS209に戻る。
一方、i≧N×Mであれば、全対称姿勢の中でもっとも一致度の高かった姿勢Rmax、初期位置tRHを用いて、把持対象ワークを把持するためのハンドの最終的な把持位置姿勢TRH_maxを、以下の式から算出する。
把持位置姿勢決定部15は、このようにして算出したハンドの最終的な把持位置姿勢TRH_maxを、第1の実施形態と同様に、適当な出力先に出力する。何れにせよ、ロボットアームを制御してハンドをこの最終的な把持位置姿勢TRH_maxに移動させることで、山積み中で認識した把持対象ワークを、教示位置姿勢と類似した姿勢で把持することが可能となる。
このように、本実施形態では、直交する2軸のうち1軸に対して2回対称、かつもう1軸に対してN回対称であるような形状のワークに対してハンドの適切な把持位置姿勢を算出する方法について述べた。具体的には、ワークを認識後、直交する2つのN回対称軸に対してワークをそれぞれ回転させた全対称姿勢の各ワークに対して教示された位置姿勢に基づいてハンドの位置姿勢をそれぞれ算出し、あらかじめ設定しておいた基準姿勢にもっとも近いものを、最終的なハンドの位置姿勢として選択した。
なお、上記の5種類の回転対称形状(a)〜(e)のうち、(e)、すなわち、直交する2軸に対する回転体、すなわち球体の場合には、姿勢による把持の差がない。そのため、単純に、認識したワークの位置と事前に決めておいた姿勢とに基づき、把持位置姿勢を決定すればよい。
[第5の実施形態]
図1に示した把持位置姿勢算出装置1を構成する各機能部は何れもハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)で構成しても良い。この場合、このコンピュータプログラムを実行可能な装置は、図1の把持位置姿勢算出装置1に適用することができる。このようなコンピュータプログラムを実行可能な、把持位置姿勢算出装置1に適用可能な装置のハードウェア構成例について、図9のブロック図を用いて説明する。
CPU901は、RAM902やROM903に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、本装置全体の動作制御を行うと共に、把持位置姿勢算出装置1が行うものとして上述した各処理を実行する。
RAM902は、外部記憶装置906からロードされたコンピュータプログラムやデータ、I/F(インターフェース)907を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更に、RAM902は、CPU901が各種の処理を実行する際に用いるワークエリアも有する。すなわち、RAM902は、各種のエリアを適宜提供することができる。ROM903には、本装置の設定データやブートプログラムなどが格納されている。
操作部904は、マウスやキーボードなどにより構成されており、本装置のユーザが操作することで、各種の指示をCPU901に対して入力することができる。例えば、図2に示したようなGUIに対する操作入力は、この操作部904を介して行われる。
表示部905は、CRTや液晶画面などにより構成されており、CPU901による処理結果を、画像や文字などでもって表示することができる。例えば、図2に示したようなGUIはこの表示部905に表示される。
外部記憶装置906は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置906には、OS(オペレーティングシステム)や、図1に示した各機能部が行うものとして上述した各処理をCPU901に実行させるためのコンピュータプログラムやデータが保存されている。このデータには、既知の情報として説明した情報も含まれている。外部記憶装置906に保存されているコンピュータプログラムやデータは、CPU901による制御に従って適宜RAM902にロードされ、CPU901による処理対象となる。
I/F907は、外部機器を本装置に接続するためのもので、例えば、上記距離センサをこのI/F907に接続することができる。この場合、距離センサによる測定結果を、このI/F907を介してRAM902に取得し、この測定結果を用いてワークの位置姿勢を認識することができる。
上記の各部は何れも、バス908に接続されている。なお、把持位置姿勢算出装置1に適用可能な装置の構成は、図9に示した構成に限るものではない。すなわち、図1に示した各機能部が行うものとして上述した各処理をCPU901に実行させるためのコンピュータプログラムを実行可能な構成であれば、如何なる構成を採用しても構わない。また、図1に示した各機能部による機能のうち一部の機能をハードウェア若しくはソフトウェアで構成しても構わない。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (13)

  1. 少なくとも1つの軸に対して回転対称となる形状を有する物体を把持するために把持部がとる姿勢として予め指定された姿勢を基準姿勢として取得する手段と、
    前記把持部が前記物体を把持するときの前記把持部と前記物体との相対的な位置姿勢を教示位置姿勢として取得する取得手段と、
    前記物体が含まれる画像から前記物体の位置姿勢を認識し、該認識された位置姿勢と前記教示位置姿勢とに基づいて、前記把持部が前記認識した物体を把持するための初期位置と初期姿勢とを導出する導出手段と、
    前記導出された初期姿勢と前記基準姿勢とに基づいて、前記物体を把持する把持姿勢を決定し、該決定された把持姿勢と前記初期位置とに基づいて、前記把持部が前記物体を把持する把持位置姿勢を決定する決定手段と
    を備えることを特徴とする情報処理装置。
  2. 前記決定手段は、前記認識された物体を前記軸周りに回転させて得られる回転姿勢を有する該物体を前記把持部が把持する際の姿勢を第2の把持姿勢として導出する第2の導出手段を備え、
    前記初期姿勢及び前記第2の把持姿勢のそれぞれと、前記基準姿勢と、の差分値に基づいて、前記把持姿勢を決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定手段は、前記初期姿勢及び前記第2の把持姿勢のうち、最も小さい差分値に対応する姿勢を前記把持姿勢として決定することを特徴とする請求項2に記載の情報処理装置。
  4. 前記物体が、1軸に対してのみ回転対称となる回転体である場合、
    前記決定手段は、前記初期姿勢と前記基準姿勢との差分値が規定の値よりも大きい場合に、前記基準姿勢において把持可能な物体の姿勢を把持可能な姿勢として取得し、該把持可能な姿勢と前記認識した物体の姿勢とに基づいて、前記物体を把持する把持姿勢を決定することを特徴とする請求項2に記載の情報処理装置。
  5. 前記物体が、前記軸回りに360/N度(Nは2以上の整数)回転させると自らと重なる物体である場合、
    前記決定手段は、
    前記物体の認識された姿勢を前記軸周りに360/N度ごとに回転させた回転姿勢を求め、該求めたそれぞれの回転姿勢について、該回転姿勢を有する前記物体を把持するための前記把持部の姿勢を前記教示位置姿勢を用いて求め、該求めた前記把持部のそれぞれの姿勢のうち前記基準姿勢に最も近い姿勢を、前記把持姿勢として決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 前記軸が、一方の軸と、該一方の軸と直交する他方の軸と、から成る場合、
    前記決定手段は、前記一方の軸及び前記他方の軸のそれぞれについて前記回転姿勢を求め、該求めたそれぞれの回転姿勢について、該回転姿勢を有する前記物体を把持するための前記把持部の姿勢を前記教示位置姿勢を用いて求め、該求めた前記把持部のそれぞれの姿勢のうち前記基準姿勢に最も近い姿勢を、前記把持姿勢として決定する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記物体が、前記軸回りに360/N度(Nは2以上の整数)回転させると自らと重り且つ前記軸に直交する他方の軸回りに回転させたときに見えが変化しない物体である場合、
    前記決定手段は、
    前記物体の認識された姿勢を前記形状に応じて決まる回転角ごとに回転させた回転姿勢を求め、前記把持姿勢の前記把持部が把持可能な物体の姿勢を、該姿勢と該把持姿勢に対応する前記回転姿勢との差分量を用いて変換し、該変換した姿勢の前記物体を把持可能な前記把持部の姿勢を、前記把持姿勢とする
    ことを特徴とする請求項1に記載の情報処理装置。
  8. 前記決定手段は、前記初期姿勢と前記基準姿勢との差分値を導出し、該差分値が規定値よりも大きい場合に、前記基準姿勢を更新することを特徴とする請求項1に記載の情報処理装置。
  9. 前記物体の回転対称に関する情報が操作部を介してユーザにより入力されることを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 更に、
    前記決定手段によって決定された把持位置姿勢を出力する出力手段を備えることを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11. 更に、
    前記出力手段が出力した把持位置姿勢に前記把持部を移動させる手段を備えることを特徴とする請求項10に記載の情報処理装置。
  12. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の基準姿勢を取得する手段が、少なくとも1つの軸に対して回転対称となる形状を有する物体を把持するために把持部がとる姿勢として予め指定された姿勢を基準姿勢として取得する工程と、
    前記情報処理装置の取得手段が、前記把持部が前記物体を把持するときの前記把持部と前記物体との相対的な位置姿勢を教示位置姿勢として取得する取得工程と、
    前記情報処理装置の導出手段が、前記物体が含まれる画像から前記物体の位置姿勢を認識し、該認識された位置姿勢と前記教示位置姿勢とに基づいて、前記把持部が前記認識した物体を把持するための初期位置と初期姿勢とを導出する導出工程と、
    前記情報処理装置の決定手段が、前記導出された初期姿勢と前記基準姿勢とに基づいて、前記物体を把持する把持姿勢を決定し、該決定された把持姿勢と前記初期位置とに基づいて、前記把持部が前記物体を把持する把持位置姿勢を決定する決定工程と
    を備えることを特徴とする情報処理方法。
  13. コンピュータを、請求項1乃至11の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2013227537A 2013-10-31 2013-10-31 情報処理装置、情報処理方法 Active JP6429450B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013227537A JP6429450B2 (ja) 2013-10-31 2013-10-31 情報処理装置、情報処理方法
US14/519,410 US9862091B2 (en) 2013-10-31 2014-10-21 Information processing apparatus and information processing method
CN201410592050.3A CN104597891B (zh) 2013-10-31 2014-10-29 信息处理装置及信息处理方法
EP20140191124 EP2868444A1 (en) 2013-10-31 2014-10-30 Singulation processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013227537A JP6429450B2 (ja) 2013-10-31 2013-10-31 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2015085475A true JP2015085475A (ja) 2015-05-07
JP2015085475A5 JP2015085475A5 (ja) 2016-12-08
JP6429450B2 JP6429450B2 (ja) 2018-11-28

Family

ID=51897078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013227537A Active JP6429450B2 (ja) 2013-10-31 2013-10-31 情報処理装置、情報処理方法

Country Status (4)

Country Link
US (1) US9862091B2 (ja)
EP (1) EP2868444A1 (ja)
JP (1) JP6429450B2 (ja)
CN (1) CN104597891B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160052135A1 (en) * 2014-08-25 2016-02-25 Seiko Epson Corporation Robot and robot system
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
JP2018144159A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボットシステム、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018144160A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018144161A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018176311A (ja) * 2017-04-05 2018-11-15 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
WO2020188660A1 (ja) * 2019-03-15 2020-09-24 オムロン株式会社 把持位置姿勢登録装置、把持位置姿勢登録方法及びプログラム
WO2021095521A1 (ja) * 2019-11-15 2021-05-20 オムロン株式会社 設定装置、設定方法およびプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6117853B2 (ja) * 2015-05-13 2017-04-19 ファナック株式会社 バラ積みされた物品を取り出すための物品取出システム、および方法
US10108882B1 (en) * 2015-05-16 2018-10-23 Sturfee, Inc. Method to post and access information onto a map through pictures
US10335951B2 (en) * 2015-07-29 2019-07-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, robot control apparatus, and robot system
DE112017007311B4 (de) 2017-03-24 2021-09-16 Mitsubishi Electric Corporation Vorrichtung und Verfahren zum Erzeugen eines Roboterprogramms
JP6676030B2 (ja) * 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法
JP6937995B2 (ja) 2018-04-05 2021-09-22 オムロン株式会社 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法
WO2020066823A1 (ja) * 2018-09-28 2020-04-02 川崎重工業株式会社 教示位置設定方法および教示位置設定装置
US20210042665A1 (en) * 2018-10-26 2021-02-11 George K. Ghanem Learning software assisted fixtureless object pickup and placement system and method
DE102019121889B3 (de) * 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten
DE102021212860B4 (de) 2021-11-16 2024-05-08 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Aufnehmen eines Objekts mittels eines Roboters

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05104465A (ja) * 1991-10-09 1993-04-27 Sanyo Electric Co Ltd ロボツトの作業計画装置
JP2000288974A (ja) * 1999-04-08 2000-10-17 Fanuc Ltd 画像処理機能を持つロボット装置
JP2005169564A (ja) * 2003-12-11 2005-06-30 Toyota Motor Corp ロボットによる任意形状物体の把持方法
JP2006130580A (ja) * 2004-11-02 2006-05-25 Toyota Motor Corp ロボットによる任意形状物体の把持方法
JP2009056513A (ja) * 2007-08-29 2009-03-19 Toshiba Corp 把持位置姿勢決定システムおよび把持位置姿勢決定方法
US20100272547A1 (en) * 2007-06-12 2010-10-28 Norbert Cottone Method And System For Depalletizing Tires Using a Robot
JP2012055999A (ja) * 2010-09-07 2012-03-22 Canon Inc 物体把持システム、物体把持方法、プログラム、およびロボットシステム
WO2012066819A1 (ja) * 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2012183593A (ja) * 2011-03-03 2012-09-27 Kawasaki Heavy Ind Ltd 電磁石ハンドおよびそれを用いたロボットシステム
JP2012187666A (ja) * 2011-03-10 2012-10-04 Fuji Electric Co Ltd ロボット制御装置、物品取り出しシステム、プログラムおよびロボットの制御方法
JP2013043271A (ja) * 2011-08-26 2013-03-04 Canon Inc 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2013126706A (ja) * 2011-12-19 2013-06-27 Fanuc Ltd 物品の姿勢を修正する機能を備えた取出し装置
JP2013186088A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2014054715A (ja) * 2012-09-13 2014-03-27 Fanuc Ltd 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4909376A (en) * 1987-10-06 1990-03-20 Western Technologies Automation, Inc. Robotically controlled component feed mechanism visually monitoring part orientation
JP3805310B2 (ja) * 2003-01-30 2006-08-02 ファナック株式会社 ワーク取出し装置
JP5746477B2 (ja) 2010-02-26 2015-07-08 キヤノン株式会社 モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP5430456B2 (ja) 2010-03-16 2014-02-26 キヤノン株式会社 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
JP5403021B2 (ja) 2011-09-08 2014-01-29 株式会社安川電機 ロボット、ロボットの設置方法および製造装置
JP5756032B2 (ja) 2012-01-24 2015-07-29 株式会社安川電機 ロボットシステム
JP5522181B2 (ja) 2012-01-26 2014-06-18 株式会社安川電機 搬送ロボット
JP2013158874A (ja) 2012-02-03 2013-08-19 Yaskawa Electric Corp パラレルリンクロボットシステム
JP6323993B2 (ja) 2012-08-28 2018-05-16 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05104465A (ja) * 1991-10-09 1993-04-27 Sanyo Electric Co Ltd ロボツトの作業計画装置
JP2000288974A (ja) * 1999-04-08 2000-10-17 Fanuc Ltd 画像処理機能を持つロボット装置
JP2005169564A (ja) * 2003-12-11 2005-06-30 Toyota Motor Corp ロボットによる任意形状物体の把持方法
JP2006130580A (ja) * 2004-11-02 2006-05-25 Toyota Motor Corp ロボットによる任意形状物体の把持方法
US20100272547A1 (en) * 2007-06-12 2010-10-28 Norbert Cottone Method And System For Depalletizing Tires Using a Robot
JP2009056513A (ja) * 2007-08-29 2009-03-19 Toshiba Corp 把持位置姿勢決定システムおよび把持位置姿勢決定方法
JP2012055999A (ja) * 2010-09-07 2012-03-22 Canon Inc 物体把持システム、物体把持方法、プログラム、およびロボットシステム
WO2012066819A1 (ja) * 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2012183593A (ja) * 2011-03-03 2012-09-27 Kawasaki Heavy Ind Ltd 電磁石ハンドおよびそれを用いたロボットシステム
JP2012187666A (ja) * 2011-03-10 2012-10-04 Fuji Electric Co Ltd ロボット制御装置、物品取り出しシステム、プログラムおよびロボットの制御方法
JP2013043271A (ja) * 2011-08-26 2013-03-04 Canon Inc 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2013126706A (ja) * 2011-12-19 2013-06-27 Fanuc Ltd 物品の姿勢を修正する機能を備えた取出し装置
JP2013186088A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2014054715A (ja) * 2012-09-13 2014-03-27 Fanuc Ltd 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160052135A1 (en) * 2014-08-25 2016-02-25 Seiko Epson Corporation Robot and robot system
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
US10317854B2 (en) 2016-04-04 2019-06-11 Fanuc Corporation Machine learning device that performs learning using simulation result, machine system, manufacturing system, and machine learning method
JP2018144160A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018144161A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018144159A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボット設定装置、ロボットシステム、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP2018176311A (ja) * 2017-04-05 2018-11-15 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
WO2020188660A1 (ja) * 2019-03-15 2020-09-24 オムロン株式会社 把持位置姿勢登録装置、把持位置姿勢登録方法及びプログラム
JPWO2020188660A1 (ja) * 2019-03-15 2021-10-14 オムロン株式会社 把持位置姿勢登録装置、把持位置姿勢登録方法及びプログラム
JP7164011B2 (ja) 2019-03-15 2022-11-01 オムロン株式会社 把持位置姿勢登録装置、把持位置姿勢登録方法及びプログラム
WO2021095521A1 (ja) * 2019-11-15 2021-05-20 オムロン株式会社 設定装置、設定方法およびプログラム
JP2021079464A (ja) * 2019-11-15 2021-05-27 オムロン株式会社 設定装置、設定方法およびプログラム
JP7392409B2 (ja) 2019-11-15 2023-12-06 オムロン株式会社 設定装置、設定方法およびプログラム

Also Published As

Publication number Publication date
CN104597891B (zh) 2018-11-23
US9862091B2 (en) 2018-01-09
EP2868444A1 (en) 2015-05-06
JP6429450B2 (ja) 2018-11-28
CN104597891A (zh) 2015-05-06
US20150120054A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
JP6429450B2 (ja) 情報処理装置、情報処理方法
US9089971B2 (en) Information processing apparatus, control method thereof and storage medium
US9878446B2 (en) Determination of object-related gripping regions using a robot
JP6007636B2 (ja) ロボット制御システム及びロボット制御装置
RU2700246C1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
WO2009113339A1 (ja) 動作教示システム及び動作教示方法
JP2015199155A (ja) 情報処理装置および情報処理方法、プログラム
US20110122228A1 (en) Three-dimensional visual sensor
JP2018051704A (ja) ロボット制御装置、ロボット、及びロボットシステム
JP6598814B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
JP4001105B2 (ja) ロボットによる任意形状物体の把持方法
EP1795315A1 (en) Hand-held control device for an industrial robot
US20180085920A1 (en) Robot control device, robot, and robot system
JP2020097073A (ja) 制御装置
US11577391B2 (en) Trajectory generation device, trajectory generation method, and robot system
CN111163907B (zh) 抓持位置姿态示教装置、抓持位置姿态示教方法及机器人系统
JP2014238687A (ja) 画像処理装置、ロボット制御システム、ロボット、画像処理方法及び画像処理プログラム
CN116802020A (zh) 用于监督式自主抓取的用户界面
CN111801630B (zh) 变位机轴坐标系标定方法、机器人系统及存储装置
WO2023021703A1 (ja) ロボットがワークを把持する位置及び姿勢を教示する装置、ロボットシステム、及び方法
RU2756437C1 (ru) Способ и система планирования движения робота-манипулятора путем коррекции опорных траекторий
Peng et al. Teleoperation control of baxter robot based on human motion capture
JP6299639B2 (ja) ジャイロセンサの配置方法
JP5938201B2 (ja) 位置姿勢計測装置、その処理方法及びプログラム
JP2023152472A (ja) 3次元モデルの生成システム、生成方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181030

R151 Written notification of patent or utility model registration

Ref document number: 6429450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151