[go: up one dir, main page]

JP6879238B2 - ワークピッキング装置及びワークピッキング方法 - Google Patents

ワークピッキング装置及びワークピッキング方法 Download PDF

Info

Publication number
JP6879238B2
JP6879238B2 JP2018045940A JP2018045940A JP6879238B2 JP 6879238 B2 JP6879238 B2 JP 6879238B2 JP 2018045940 A JP2018045940 A JP 2018045940A JP 2018045940 A JP2018045940 A JP 2018045940A JP 6879238 B2 JP6879238 B2 JP 6879238B2
Authority
JP
Japan
Prior art keywords
work
parameter
calculation
dimensional
hand
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.)
Active
Application number
JP2018045940A
Other languages
English (en)
Other versions
JP2019155535A (ja
Inventor
徳和 殿谷
徳和 殿谷
俊洋 森谷
俊洋 森谷
岳史 小島
岳史 小島
春香 藤井
春香 藤井
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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2018045940A priority Critical patent/JP6879238B2/ja
Priority to EP19767768.5A priority patent/EP3766644B1/en
Priority to US16/968,165 priority patent/US11667036B2/en
Priority to PCT/JP2019/009593 priority patent/WO2019176829A1/ja
Priority to CN201980011823.5A priority patent/CN111683798B/zh
Publication of JP2019155535A publication Critical patent/JP2019155535A/ja
Application granted granted Critical
Publication of JP6879238B2 publication Critical patent/JP6879238B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/72Combination of two or more compensation controls
    • 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/40269Naturally compliant robot arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Description

本発明は、ワークピッキング装置及びワークピッキング方法に関する。
従来、乱雑に重なり合って置かれたばら積み部品から個々の部品(ワーク)の位置姿勢を認識し、ロボットによってワークを1つずつ取り出す装置(いわゆるばら積みピッキング装置)が知られている。かかるばら積みピッキング装置として、特許文献1には、ロボットハンドをワーク把持目標位置へ前進させ、把持状態を確認し、把持状態が良好でない場合には、ワーク把持目標位置を変更して、良好な把持状態となるまでロボットハンドを前進させるものが提案されている。
特開2010−69542号公報
上記従来のばら積みピッキング装置では、ばら積みされたワークを距離センサで3次元計測し、得られた計測結果とワークの3次元CADモデルとを照合することによって、個別のワークの位置姿勢を認識する。その際、距離センサで3次元計測するための計測パラメータは、ユーザが計測に先立って事前に所定値を設定しておくことが一般的である。
しかし、そのような計測パラメータの設定をユーザが適切に行っていたとしても、ワーク周辺の環境変化やワークの表面状態の変化等により計測値の一部が欠けたり抜けたりするので、ばら積みされた全てのワークに対して3次元計測を行うことはできなかった。特に、ワークのピッキング回数が増えていき、残存するワークの数が少なくなってくると、計測値に欠けや抜けがあるワークの割合が次第に多くなってしまう、すなわち、ワークを検出すること自体困難になってしまうといった問題があった。換言すれば、一般に、位置姿勢の計測値が安定しているワークほど、他のワークよりも優先的に先にピッキングされていくので、ピッキング作業が進んで終盤になってくるほど、検出され難いが故にピッキングできないワークの数が増大してしまう傾向にあった。
そこで、本発明は、一側面では、かかる事情を鑑みてなされたものであり、ばら積みされたワークに対し、把持の成功率を向上させることができ、良好なピッキング操作を実現することが可能なワークピッキング技術を提供することを目的とする。
本発明は、上述した課題を解決するために、以下の構成を採用する。
〔1〕本開示に係るワークピッキング装置の一例は、積まれたワークを取り出すためのものであって、前記ワークの3次元位置を計測するセンサと、前記ワークを把持するハンドと、前記ハンドを把持位置に移動し且つ該把持位置から移動するロボットと、前記センサ、前記ハンド、及び前記ロボットを制御する制御装置とを備える。そして、前記制御装置は、前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワークの位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出部と、前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンドが前記ワークを把持する際の前記ハンドの把持姿勢を算出する把持姿勢算出部と、所定の算出パラメータを用いて前記ハンドを前記把持姿勢に移動する経路を算出する経路算出部と、前記3次元位置を計測する際の計測パラメータに基づいて、前記センサの動作を制御するセンサ制御部と、前記把持姿勢に基づいて、前記ハンドの動作を制御するハンド制御部と、前記経路に基づいて、前記ロボットの動作を制御するロボット制御部と、前記3次元位置の計測結果及び前記ワーク数の算出結果に基づいて、前記ワークの状況を判定する状況判定部と、前記ワークの状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更部とを有する。
当該構成では、積まれたワークの個々の3次元位置を所定の計測パラメータを用いて計測し、その計測結果に基づいてワークの位置姿勢と検出されたワーク数を算出し、さらに、それらの結果に基づいて、ワークの状況を判定する。そして、その状況に応じて、計測パラメータ、位置姿勢の算出パラメータ、把持姿勢の算出パラメータ、及び、経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更し、再計測又は再算出を行った上で、ワークのピッキングを行う。従って、当初の3次元計測においてワークの計測値に欠けや抜けが生じたとしても、ワークに対する把持の成功率を向上(不成功率を低減)させることができる。
なお、ここでの「成功率」とは、ハンドがワークの把持を試行したときに、そのワークを把持することができた率を意味するのではなく、未だ残存しているワークの3次元位置を計測することができ(残存しているワークをワークピッキング装置が検知することができ)、その結果、ワークのピッキングに成功した率を示す。換言すれば、ここでの「不成功率」とは、ハンドがワークの把持を試行したものの、そのワークを把持し損なった率を意味するのではなく、未だワークが残存しているにも拘わらず、そのワークの3次元位置を計測することができない(残存しているワークをワークピッキング装置が検知することができない)が故に、ワークのピッキングに成功しなかった率を示す。また、センサは、固定されていてもよいし、移動可能に設置されていてもよく、後者の場合、センサ自体が駆動機構を有していてもよいし、センサが例えばロボットに取り付けられていてもよい。
〔2〕上記構成において、前記制御装置は、前記3次元位置の計測結果から欠損領域を抽出する欠損領域抽出部を備え、前記状況判定部は、前記ワーク数、及び、前記欠損領域の位置、面積、又は体積に基づいて、前記ワークの状況を判定するようにしてもよい。ここで、「欠損領域」とは、センサの計測範囲内において、ワークの3次元位置の計測値が本来得られるはずの領域であるにも拘わらず、ワークの3次元位置の計測値が得られず、計測値に欠けや抜けが生じてしまった領域を示す。
かかる構成では、検知されたワーク数と欠損領域に関する特徴量(位置、面積、又は体積)の双方に基づいてワークの状況を判定するので、未だ残存しているワークの状態をより確実に把握することができ、その結果、計測パラメータや種々の算出パラメータの変更の要否を正確に判断することができる。
〔3〕上記構成において、前記制御装置は、前記3次元位置の計測結果から平面領域を抽出する平面領域抽出部を備え、前記状況判定部は、前記ワーク数、及び、前記平面領域の位置、距離又は面積に基づいて、前記ワークの状況を判定するようにしてもよい。ここで、「平面領域」とは、ワークの3次元位置の計測値において「平面」と認められる領域であり、より具体的には、例えば、ワークが収納された容器の底面やワークが積まれた支持台の面等に相当する。
かかる構成では、検知されたワーク数と平面領域に関する特徴量(位置、距離又は面積)の双方に基づいてワークの状況を判定するので、未だ残存するワークの状態をより確実に把握することができ、その結果、計測パラメータや種々の算出パラメータの変更の要否を正確に判断することができる。
〔4〕上記構成において、前記パラメータ変更部は、前記ワーク数が所定値以下である場合に、前記パラメータを変更するものであってもよい。
かかる構成では、パラメータの変更の要否を判定するためのワーク数について言わば閾値を設定するので、特に、残存すると想定されるワーク数に対して検出されたワーク数が少ないような場合に、パラメータの変更の要否をより的確に判断することができる。
〔5〕上記構成において、前記パラメータ変更部は、前記欠損領域の面積若しくは体積が所定値以上である場合に、又は、前記欠損領域の位置が前記ワークの載置領域内の所定の範囲に存在する場合に、前記パラメータを変更するようにしてもよい。ここで、「載置領域」とは、ワークが載置された有限の領域を示し、より具体的には、例えば、ワークが収納された容器やワークが積まれた支持台等に相当する。
かかる構成では、パラメータの変更の要否を判定するための欠損領域の面積、体積又は位置に言わば閾値を設定するので、特に、残存すると想定されるワーク数に対してワークの計測値の欠けや抜けが多いような場合に、パラメータの変更の要否をより的確に判断することができる。
〔6〕上記構成において、前記パラメータ変更部は、前記平面領域の距離若しくは面積が所定値以下である場合に、又は、前記平面領域の位置が前記ワークの載置面に対して所定の範囲に存在する場合に、前記パラメータを変更するようにしてもよい。ここで、「平面領域の距離」とは、適宜の基準位置と検出された平面領域の位置との間の距離を示す。また、「載置面」とは、ワークが載置された有限の領域の面を示し、より具体的には、例えば、ワークが収納された容器の底面やワークが積まれた支持台の面に相当する。
かかる構成では、パラメータの変更の要否を判定するための平面領域の距離、面積又は位置に言わば閾値を設定するので、パラメータの変更の要否をより的確に判断することができる。
〔7〕上記構成において、前記パラメータ変更部は、前記パラメータの変更を所定回数以内に制限するようにしてもよい。
かかる構成では、所定回数を超えた場合にはパラメータの変更処理を行わないので、ワークに対する把持の成功率をそれ以上有意に高めることができなくなっても処理を繰り返してしまうことに起因して処理時間が増大してしまうことを抑止することができる。
〔8〕上記構成において、前記パラメータ変更部は、前記3次元位置を計測する際の計測パラメータとして、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更するように構成することができる。
かかる構成では、ワークの3次元位置の計測パラメータのうち、特に主要な露光時間、照明照度、及び計測位置といったパラメータを変更するので、再計測時に、ワークの3次元位置のより正確な検出が可能となり、その結果、計測値の欠けや抜けの発生を軽減することができる。
〔9〕上記構成において、前記パラメータ変更部は、前記欠損領域の輝度に基づいて、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更するようにしてもよい。
かかる構成では、欠損領域の輝度に着目するので、欠損領域が生じた要因を特定し易くなり、その結果、露光時間、照明照度、及び計測位置といった主要な計測パラメータをより適切に再設定することができる。
〔10〕上記構成において、前記パラメータ変更部は、前記位置姿勢の算出パラメータとして、位置姿勢算出の閾値を変更するようにしてもよい。
かかる構成では、位置姿勢算出の閾値を変更することにより、ワークの計測値に欠けや抜けがある場合や、ワークが重なり合っている場合でも、個々のワークを検出し易くなるので、把持候補となるワーク数を増大させることができ、その結果、把持の成功率を更に高めることができる。
〔11〕上記構成において、前記パラメータ変更部は、前記把持姿勢の算出パラメータとして、把持姿勢算出の閾値を変更するようにしてもよい。
かかる構成では、把持姿勢算出の閾値を変更することにより、ワーク間の隙間が小さい場合(ワークが近接している場合)や、例えば容器に収納されているワークが容器の壁際に存在する場合でも、ハンドによるワークの把持を容易ならしめ、その結果、ワークに対する把持の成功率を更に高めることができる。
〔12〕上記構成において、前記パラメータ変更部は、前記経路の算出パラメータとして、干渉判定の閾値を変更するようにしてもよい。
かかる構成では、干渉判定の閾値を変更することにより、ハンドをより能動的にワークの把持位置へ移動させることがでるので、ワークに対する把持の成功率を更に高めることができる。
〔13〕上記構成において、前記パラメータ変更部は、前記パラメータの変更回数に応じて前記パラメータを変更するようにしてもよい。
かかる構成では、パラメータの変更回数に応じて各パラメータを変更するので、ワークのピッキングが進捗して残存するワーク数が少なくなっていく状況に応じた適切なパラメータを設定することができ、その結果、ワークに対する把持の成功率を更に一層高めることができる。
〔14〕本開示に係るワークピッキング方法の一例は、上記構成のワークピッキング装置の一例を用いて有効に実施し得る方法であり、以下の各ステップを含む。すなわち、当該方法は、センサ、ハンド、ロボット、及び、制御装置を備えるワークピッキング装置を用い、積まれたワークを取り出すための方法であって、前記センサが、前記ワークの3次元位置を計測する計測ステップと、前記ハンドが、前記ワークを把持する把持ステップと、前記ロボットが、前記ハンドを把持位置に移動し且つ該把持位置から移動する移動ステップと、前記制御装置が、前記センサ、前記ハンド、及び前記ロボットを制御する制御ステップとを含む。そして、前記制御ステップは、前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワークの位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出ステップと、前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンドが前記ワークを把持する際の前記ハンドの把持姿勢を算出する把持姿勢算出ステップと、所定の算出パラメータを用いて前記ハンドを前記把持姿勢に移動する経路を算出する経路算出ステップと、前記3次元位置を計測する際の計測パラメータに基づいて、前記センサの動作を制御するセンサ制御ステップと、前記把持姿勢に基づいて、前記ハンドの動作を制御するハンド制御ステップと、前記経路に基づいて、前記ロボットの動作を制御するロボット制御ステップと、前記3次元位置の計測結果及び前記ワーク数の算出結果に基づいて、前記ワークの状況を判定する状況判定ステップと、前記ワークの状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更ステップとを有する。
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
本発明によれば、単一の計測パラメータを設定したワークの3次元計測に基づく従来のピッキングに比して、ばら積みされたワークに対する把持の成功率を向上させることができ、その結果、良好なピッキング操作を実現することが可能となる。
実施形態に係るワークピッキング装置の適用場面の一例の概略を模式的に示す平面図である。 実施形態に係るワークピッキング装置のハードウェアの構成の一例を模式的に示す平面図である。 実施形態に係るワークピッキング装置の機能構成の一例を模式的に示す平面図である。 実施形態に係るワークピッキング装置における処理手順の一例を示すフローチャートである。 他の実施形態としての第1構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。 他の実施形態としての第2構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。 他の実施形態としての第3構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。
以下、本開示の一例に係る実施の形態(以下「実施形態」とも表記する)について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
§1 適用例
まず、図1を用いて、本開示の一例が適用される場面の一例について説明する。図1は、本実施形態に係るワークピッキング装置100の適用場面の一例の概略を模式的に示す平面図である。本実施形態に係るワークピッキング装置100は、例えば収納容器6等の供給装置内にばら積みされた複数のワーク5を、その収納容器6から取り出して適宜のトレー等(図示せず)へ移設し、整列させて配置するための装置である。
図1の例では、ワークピッキング装置100は、センサ1、ハンド2、ロボット3、及び、制御装置4を備える。
センサ1は、ワーク5の3次元位置を計測するための距離センサであり、例えば一般的な光学センサが搭載されたカメラ装置を含んで構成されており、ワーク5を所定の視野角で撮像する。ハンド2は、個々のワーク5を掴み且つ離す動作が可能な把持機構を有するものである。ロボット3は、そのアーム部の先端にハンド2が設けられており、ハンド2を収納容器6内のワーク5の把持位置に移動し、且つ、ワーク5を把持したハンド2をその把持位置から上述したトレー等に移動するための駆動機構を有するものである。制御装置4は、センサ1、ハンド2、及びロボット3のそれぞれに接続されており、センサ1によるワーク5の計測処理、ハンド2によるワーク5の把持処理、ロボット3の駆動処理の他、ワークピッキング装置100において必要となる種々の動作や演算に関する処理を制御するためのものである。
ここで、ワーク5の3次元位置の計測方式としては、特に制限されず、例えば、光の直進性を用いる種々のアクティブ計測方式(例えば、三角測距を基本原理とする空間コード化パターン投影方式、時間コード化パターン投影方式、モアレトポグラフィ方式等)、光の直進性を用いる種々のパッシブ計測方式(例えば、三角測距を基本原理とするステレオカメラ方式、視体積交差方式、因子分解方式等、同軸測距を基本原理とするDepth from focusing方式等)、及び、光の速度を用いる種々のアクティブ計測方式(例えば、同時測距を基本原理とする光時間差(TOF)測定方式、レーザースキャン方式等)を適宜選択して用いることができる。
また、センサ1は、必要に応じて、適宜の計測光(例えば、アクティブ方式で用いられるパターン光やスキャン光等)を含むいわゆる3D用照明や、通常の照明であるいわゆる2D用照明をワーク5へ投射するプロジェクタ(図示せず)を有していてもよい。かかるプロジェクタの構成も特に制限されず、例えば、パターン光を投射するものの場合、レーザ光源、パターンマスク、及びレンズを備える構成を例示することができる。レーザ光源から出射された光は、所定のパターンが形成されたパターンマスクによって所定のパターンを有する計測光(パターン光)に変換され、レンズを介してワーク5へ投射される。
より具体的には、制御装置4は、以下の(1)乃至(7)に示す各処理を行う。
(1)位置姿勢算出処理
センサ1によって得られたワーク5の3次元位置を表す3次元点群データ及びそれに対応する2次元画像に基づき、所定の算出パラメータを用い、ワーク5の位置姿勢(3次元座標及び3次元軸まわりの回転角度)、及び、位置姿勢が検出されたワーク5の数(ワーク数)を算出する。
(2)把持姿勢算出処理
ワーク5の位置姿勢の算出結果に基づき、所定の算出パラメータを用い、ハンド2がワーク5を把持する際のハンド2の把持姿勢を算出する。
(3)把持姿勢算出処理
ハンド2の初期姿勢(初期位置)と、ワーク5を把持する際のハンド2の把持姿勢の算出結果に基づき、所定の算出パラメータを用い、ハンド2を初期姿勢から把持姿勢まで移動する経路を算出する。
(4)領域抽出処理
センサ1によって得られたワーク5の3次元位置を表す3次元点群データにおいて、ワーク5の3次元位置の計測値が本来得られるはずの領域であるにも拘わらず、ワーク5の3次元位置の計測値が得られず、計測値に欠けや抜けが生じてしまった領域(欠損領域)を抽出する。
(5)状況判定処理
位置姿勢が検出されたワーク5の数(ワーク数)、及び、ワーク5の3次元位置の計測結果(例えば、3次元点群データから抽出された欠損領域)に基づいてワーク5の状況を判定する。ここで、ワーク数に関しては、例えば、それまでのピッキングの履歴等から推定され得る残存ワーク数に比して、センサ1によって検出されたワーク数が有意に少ない、又は、ワーク5が検出されない(ワーク数=0)といった状況の場合、後記(6)に示すパラメータ変更処理により、未だ残存しているワーク5の状態をより確実に把握し得る。また、計測結果として抽出された欠損領域に関しては、センサ1の計測範囲(視野)全体に対して欠損領域が占める比率が有意に大きいといった状況の場合、後記(6)に示すパラメータ変更処理により、未だ残存しているワーク5の状態を更に確実に把握し得る。
そこで、本実施形態では、位置姿勢が検出されたワーク数、及び、3次元点群データから抽出された欠損領域の特徴量が、それぞれ所定の条件を満たすか否かをワーク5の状況として判定する。より具体的には、例えば、位置姿勢が検出されたワーク数が所定値以下であるか否か、及び、3次元点群データから抽出された欠損領域の特徴量である「面積」若しくは「体積」が所定値以上であるか否か、又は、欠損領域の特徴量である「位置」がワーク5の載置領域内(収納容器6の内部)の所定の範囲に存在するか否かを、ワーク5の状況として判定する。
(6)パラメータ変更処理
ワーク5の状況の判定結果が所定の条件(上記(5)において例示した判定条件)を満たす場合に、ワーク5の3次元位置を計測する際の計測パラメータを変更(計算)する。なお、本実施形態は、計測パラメータを変更する態様の一例であるが、後述する第1構成例乃至第3構成例においては、それぞれ、ワーク5の位置姿勢を算出する際の算出パラメータ、ハンド2によるワーク5の把持姿勢を算出する際の算出パラメータ、及び、ハンド2の初期姿勢から把持姿勢までの経路を算出する際の算出パラメータを変更(計算、又は、予め用意されたテーブルから選択)する態様について例示する。
(7)各種制御処理
ワーク5の3次元位置を計測する際の計測パラメータに基づいて、センサ1の動作を制御し、算出された把持姿勢に基づいて、ハンド2の動作を制御し、算出された経路に基づいて、ロボット3の動作を制御する。
このとおり、制御装置4は、本発明における「位置姿勢算出部」、「把持姿勢算出部」、「経路算出部」、「センサ制御部」、「ハンド制御部」、「ロボット制御部」「状況判定部、及び、「パラメータ変更部」のそれぞれの一例に相当する。
以上のことから、本実施形態のワークピッキング装置100によれば、従来の装置において課題であったワークの把持困難性を改善し、ワークを把持する際の成功率を向上させることが可能となる。すなわち、従来の装置では、単一の計測パラメータを設定してワークの3次元位置を計測することに起因して、ワークのピッキング回数が増えるにつれて、その計測値に欠けや抜けが生じる割合が多くなり、その結果、良好なピッキングが困難になってしまう傾向にあった。これに対し、本実施形態のワークピッキング装置100によれば、ワークの実際の状況に応じて、計測パラメータを適宜変更した上で、センサ1によるワーク5の3次元位置を再計測するので、ワークのピッキング回数が増えた場合であっても、ワークを確実に検出して的確なピッキング操作を実現することができる。
§2 構成例
[ハードウェア構成]
次に、図2を用いて、本実施形態に係るワークピッキング装置100のハードウェア構成の一例について説明する。図2は、本実施形態に係るワークピッキング装置100のハードウェアの構成の一例を模式的に示す平面図である。
図2の例でも、ワークピッキング装置100は、図1に例示したセンサ1、ハンド2、ロボット3、及び制御装置4を備える。ここで、制御装置4は、制御演算部41、通信インタフェース(I/F)部42、記憶部43、入力部44、及び出力部45を含み、各部はバスライン46を介して相互に通信可能に接続され得る。
制御演算部41は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
通信I/F部42は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部42が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン46と同等の適宜の通信線を適用することもできる。センサ1、ハンド2、及びロボット3ともに、通信I/F部42を介して、制御演算部41等と通信可能に設けることが可能である。
記憶部43は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部41で実行される各種プログラム(前記(1)乃至(6)に示す各種処理を実行するための演算プログラム、並びに、前記(7)に示すセンサ1、ハンド2、及びロボット3のそれぞれの動作の制御処理を行うための制御プログラム等)、センサ1から出力される3次元点群データや2次元画像、計測パラメータや種々の算出パラメータを含むデータベース、各種演算結果のデータ、ワーク5のピッキング状況やピッキング記録に関するデータ等、さらに、ワーク5の3次元CADモデルデータ等を記憶する。このとおり、記憶部43に記憶された演算プログラム及び制御プログラムが制御演算部41で実行されることにより、後述する機能構成例における各種処理機能が実現される。
入力部44は、ワークピッキング装置100を利用するユーザからの各種入力操作を受け付けるためのインタフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部45は、ワークピッキング装置100を利用するユーザ等へ、各種情報を表示、音声、印刷等により報知するためのインタフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
[機能構成]
次に、図3を用いて、本実施形態に係るワークピッキング装置100の機能構成の一例を説明する。図3は、本実施形態に係るワークピッキング装置100の機能構成の一例を模式的に示す平面図である。
図2に示すワークピッキング装置100の制御演算部41は、記憶部43に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開する。そして、制御演算部41は、RAMに展開された各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、図3に例示の如く、本実施形態に係るワークピッキング装置100は、前記(1)乃至(6)に示す各処理をそれぞれ実行する位置姿勢算出部410、把持姿勢算出部420、経路算出部430、領域抽出部440、状況判定部450、及び、パラメータ変更部460、並びに、前記(7)に示す制御処理を実行するセンサ制御部470、ハンド制御部480、及びロボット制御部490を有する制御装置4を備える構成を実現し得る。
なお、本実施形態では、ワークピッキング装置100に備わる制御装置4で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1又は複数の専用のプロセッサによって実現されてもよい。また、ワークピッキング装置100に備わる制御装置4の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
§3 動作例
次いで、図4を用いて、ワークピッキング装置100の動作の一例について説明する。図4は、本実施形態に係るワークピッキング装置100における処理手順の一例を示すフローチャートであり、ワークピッキング装置100を用いたワークピッキング方法における処理手順の一例を示すフローチャートでもある。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(起動)
まず、ワークピッキング装置100のユーザは、ワークピッキング装置100を起動し、各種プログラム(演算プログラム、制御プログラム等)を実行させる。それから、制御装置4における制御部演算41は、以下の処理手順に従って、センサ1、ハンド2、及びロボット3のそれぞれの動作を制御し、且つ、制御装置4における各機能部による演算処理を行う。また、本実施形態では、以下の各ステップにおける処理に先立って、個々のステップで必要となる計測パラメータ及び種々の算出パラメータの初期値セットを、記憶部43から読み出し、センサ制御部470、位置姿勢算出部410、把持姿勢算出部420、及び経路算出部430に適宜保持しておく。但し、かかるパラメータの読み出しは、各ステップの処理前であれば適宜のタイミングで行ってももちろんよい。
なお、図4に示す如く、本実施形態では、一連の処理において分岐ステップ(ステップS60〜S80)を実行するが、理解を容易にするべく、ステップS10〜S50までの処理の流れについて先に説明した後、ステップS60〜S80の処理について説明する。
(ステップS10)
ステップS10では、センサ制御部470により、センサ1を作動させ、計測パラメータの初期値セットを用いて、ワーク5の3次元位置を計測する。計測パラメータとしては、例えば、露光時間、照明照度、及び計測位置(例えば、ワーク5に対するセンサ1の相対的な3次元位置や姿勢(光軸の向き))の他、適用される計測方式において設定される各種パラメータが挙げられる。そして、センサ1は、撮像されたワーク5の画像について、所定の画像処理を行い、計測結果として、例えば、ワーク5の3次元位置を表す3次元点群データ(ポイントクラウドデータ)及びそれに対応する2次元画像を制御装置4へ出力する。
(ステップS20)
ステップS20では、位置姿勢算出部410により、ワーク5の位置姿勢の算出パラメータの初期値セットを用いて、ワーク5の位置姿勢を算出し、さらに、位置姿勢が検出されたワーク5の数(ワーク数K)を算出する。ワーク5の位置姿勢の算出パラメータとしては、例えば、位置姿勢算出におけるワーク5の検出に関する閾値等が挙げられ、より具体的には、ワーク5の計測結果とワーク5の3次元CADモデルとを照合する際の3次元マッチングの閾値、セグメンテーション処理におけるセグメンテーションの面積等を例示することができる。そして、位置姿勢算出部410は、算出結果として、例えば、個々のワーク5について、3次元座標(x,y,z)及び3次元軸まわりの回転角度(rx,ry,rz)を出力し、さらに、ワーク数Kを出力する。
(ステップS30)
ステップS30では、把持姿勢算出部420により、ハンド2がワーク5を把持する際のハンド2の把持姿勢の算出パラメータの初期値セットを用いて、且つ、ステップS20で算出されたワーク5の位置姿勢に基づいて、そのワーク5によるハンド2の把持姿勢を算出する。ハンド2によるワーク5の把持姿勢の算出パラメータとしては、例えば、把持姿勢算出における閾値等が挙げられる。
(ステップS40)
ステップS40では、経路算出部430により、ハンド2の初期姿勢から把持姿勢へ移動する経路の算出パラメータの初期値セットを用いて、ハンド2を、その初期姿勢から、ステップS30で算出された把持姿勢まで移動する経路を算出する。ハンド2の初期姿勢から把持姿勢へ移動する経路の算出パラメータとしては、例えば、ワーク5や収納容器6に対するハンド2の干渉判定の閾値等が挙げられる。
(ステップS50)
そして、ステップS50では、把持対象のワーク5(例えば、把持できる確率が高いワーク5から順に選定する)を決定し、ロボット制御部490により、ステップS40で算出されたその対象のワーク5への経路に基づいて、ロボット3を作動させ、ハンド2を、そのワーク5についてステップS30で算出された把持姿勢まで移動する。それから、ハンド制御部480により、その把持姿勢に基づいて、ハンド2を作動させ、対象のワーク5を把持する。さらに、ロボット制御部490及びハンド制御部480により、把持したワーク5を収納容器6から取り出し、適宜のトレー等へ移設し、整列させて配置する。
(ステップS60)
前述のとおり、本実施形態では、ステップS20(ワークの位置姿勢算出)の後、ステップS30を実施する前に、処理をステップS60へと移行し、当該ステップS60において、ワーク5の状況判定を行う。
ここでは、まず、ワーク5の状況判定の前処理として、領域抽出部440により、センサ1から出力されたワーク5の3次元位置を表す3次元点群データを用いて、データの欠けや抜けが生じた領域(欠損領域)を抽出する。より具体的には、3次元点群データに欠けや抜けが発生した場合、一般に、計測値が「0」値や計測レンジ外の整数値(これらは異常値といえる。)となっている。よって、3次元点群データについて、このような異常値に着目したラベリング処理(同等の異常値を同一ラベルとする処理)を行い、異常値に対応するラベルの部位を欠損領域として抽出する。このとおり、本実施形態における領域抽出部440は、本発明における「欠損領域抽出部」に相当する。
次に、状況判定部450により、ワーク5の状況判定として、例えば、以下に示す条件1及び条件2を満たすか否かを判定する。
[条件1]:ワーク数Kが所定値以下であるか否か。
[条件2]:欠損領域の面積S又は体積Vが所定値以上であるか否か。
なお、「欠損領域の面積S」を算出する方法は、特に制限されず、例えば、単一の欠損領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、その欠損領域の周縁を示す2次元座標を特定し、その2次元座標から算出される面積を「欠損領域の面積S」とすることができる。また、例えば、複数の欠損領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、各欠損領域の周縁を示す2次元座標を特定し、その2次元座標から各欠損領域の面積を算出し、得られた全ての欠損領域の面積を合算した値を「欠損領域の面積S」とすることができる。
一方、「欠損領域の体積V」を算出する方法も、特に制限されず、例えば、単一の欠損領域が抽出された場合には、センサ1から出力された3次元点群データにおいて、その欠損領域の周縁を示す3次元座標を特定し、その3次元座標から算出される体積を「欠損領域の体積V」とすることができる。また、例えば、複数の欠損領域が抽出された場合には、センサ1から出力された3次元点群データにおいて、各欠損領域の周縁を示す3次元座標を特定し、その3次元座標から各欠損領域の体積を算出し、得られた全ての欠損領域の体積を合算した値を「欠損領域の面積V」とすることができる。
ここで、条件1に関し、ワーク数の所定値としては、ワーク5のピッキングがある程度進んで残存するワーク5の数が少なくなった状態を考慮し、例えば、0個〜数個を設定することができる。一定数のワーク5が残存していると想定されるにも拘わらず、検出されたワーク数Kが0個又は数個と極めて少ない場合には、計測異常が生じている可能性が高いものと推察される。
また、条件2に関し、欠損領域の面積S及び体積Vの所定値としては、ユーザにより予め入力された収納容器6の底面の面積及び収納容器6の体積に対して所定の割合を乗じた値を設定することができる。ワーク5の収納容器6の底面の面積及び収納容器6の体積に比して、欠損領域の面積S又は体積Vがある程度大きな割合を占める場合には、計測異常が生じている可能性が高いものと推察される。
従って、以上の条件1又は条件2を満たす場合には、計測パラメータを変更して再試行することにより、実際に残存しているワーク5を確実に検出し、その結果、ワーク5に対する把持の可能性(把持の成功率)を高めることができる。また、条件1及び条件2の双方を満たす場合に、計測パラメータを変更して再試行するようにすれば、ワーク5に対する把持の成功率を更に一層高めることができる。
そこで、本実施形態では、状況判定部450は、条件1を満たし、且つ、条件2を満たす場合(条件1及び条件2の何れも「真(True)」の場合)に、判定結果として「Yes(パラメータ変更要)」を出力し、また、欠損領域の位置情報を出力する。一方、状況判定部450は、条件1を満たさない、又は、条件2を満たさない場合(条件1又は条件2の何れかが「偽(False)」の場合)に、判定結果として「No(パラメータ変更不要)」を出力する。
(ステップS70)
ステップS60でワークの状況判定結果が条件1を満たし、且つ、条件2を満たした場合(ステップS60において「Yes」)、ステップS70に移行し、パラメータ変更部460により、これまでのパラメータの変更回数N(計測パラメータの変更回数、及び、後述する第1構成例乃至第3構成例における算出パラメータの変更回数の合計値)が所定値未満であるか否かを判定する。パラメータの変更回数の所定値としては、パラメータをある程度の回数変更することにより、残存するワーク5に対する把持の成功率は、その時点で既に相当程度高まっていることが予想されるため、例えば、5回〜10回程度の有限値を設定することができる。
(ステップS80)
ステップS70でパラメータの変更回数の判定結果が条件を満たした場合(ステップS70において「Yes」)、ステップS80に移行し、パラメータを変更する。本実施形態では、計測パラメータ及び種々の算出パラメータのうち、センサ1によるワーク5の計測における計測パラメータを変更する。
ここでは、まず、計測パラメータ変更の前処理として、パラメータ変更部460により、状況判定部450から出力された欠損領域の位置情報と、センサ1から出力された2次元画像に基づいて、撮像された画像における欠損領域に対応する部位に、「ハレーション」及び「黒潰れ」の何れが発生しているかを判定する。なお、「ハレーション」とは、画像において明る過ぎる部分の階調が失われて白一色になった状態を示し、「白飛び」又は「光暈(こううん))と呼ばれることもある。また、「黒潰れ」とは、画像において明るい部分の階調の情報が得られずに黒一色に塗りつぶされた状態を示す。
より具体的には、2次元画像における欠損領域に対応する画素の平均輝度値(通常、0〜255の範囲で表される。)が、例えば128以上であれば「ハレーション」が生じたと判断し、128未満であれば「黒潰れ」が生じたと判断する。そして、パラメータ変更部460は、「ハレーション」及び「黒潰れ」に応じて、それらの発生を抑制することができる程度に、計測パラメータ(例えば、露光時間、照明照度、及び計測位置の他、適用される計測方式において設定される種々のパラメータ)を変更して新たに設定する。より具体的には、パラメータ変更部460は、「ハレーション」の場合には、例えば露出時間を初期値よりも短くし、「黒潰れ」の場合には、例えば露出時間を初期値よりも長くするように、計測パラメータを変更することができる(但し、これに限定されない。)。
そして、ステップS80で計測パラメータを変更した後、処理をステップS10へ戻入し、センサ1により、変更後の計測パラメータを用いたワーク5の3次元位置の再計測を行い、それ以降の処理ステップを順次実行する。また、パラメータ変更部460は、パラメータを変更した都度、パラメータの変更回数Nを増分する。
一方、ステップS60でワークの状況判定結果が条件1を満たさず、若しくは、条件2を満たさなかった場合(ステップS60において「No」)、又は、ステップS70でパラメータの変更回数の判定結果が条件を満たさなかった場合(ステップS70において「No」)には、パラメータの変更を行うことなく、処理をステップS30以降の処理へ移行して終了する。また、パラメータ変更部460は、ステップS60でワークの状況判定結果が条件1を満たさず、又は、条件2を満たさなかった場合(ステップS60において「No」)に、パラメータの変更回数Nをリセットする(N=「0」にする。)。
§4 作用・効果
以上のとおり、本実施形態に係るワークピッキング装置100及びワークピッキング方法の一例によれば、センサ1により、計測パラメータの初期値セットを用いて、例えば収納容器6内にばら積みされたワーク5の個々の3次元位置を一旦計測し、その計測結果に基づいてワーク5の位置姿勢と検出されたワーク数Kを算出し、さらに、それらの結果に基づいて、状況判定部450により、ワーク5の状況判定を行う。そして、ワーク5の状況判定結果が、例えば、条件1を満たし、且つ、条件2を満たす場合に、計測パラメータを再設定し、それを用いて、センサ1によるワーク5の3次元位置の再計測を行った上で、ワーク5のピッキング処理を順次実行する。よって、ワーク5の3次元位置の当初の計測値に欠けや抜け(欠損領域)が生じていたとしても、その状況に応じた適切なワークのピッキング操作を行うことができ、その結果、ハンド2によってワーク5を把持する際の成功率を、従来に比して格段に向上(不成功率を格段に低減)させることができる。
また、所定の複数の計測パラメータによる複数の計測を実施した後に、多くの計測結果のなかから良好な計測結果を選定し、その結果に基づいてワークのピッキングを実施するといった処理を行うことなく、ワーク5の実際の状況を把握した上で、必要に応じて計測パラメータの変更の要否を判断するので、処理時間の過度の増大を抑止することができる。
§5 変形例
以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
<5.1>
図5は、他の実施形態としての第1構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。当該第1構成例は、図4に示すフローチャートに示すステップS80でのパラメータ変更処理に代えて、ステップS81によるパラメータ変更処理を行うこと、及び、そのパラメータ変更処理を行った後、処理をステップS20へ戻入し、位置姿勢算出部410により、変更後の算出パラメータを用いたワーク5の位置姿勢の算出を行うこと以外は、図4に示す実施形態におけるのと同等の処理を行う。
すなわち、当該第1構成例では、ステップS81において、パラメータ変更部460は、計測パラメータ及び種々の算出パラメータのうち、ワーク5の位置姿勢の算出パラメータとして、位置姿勢算出におけるワーク5の検出に関する閾値、より具体的には、ワーク5の計測結果とワーク5の3次元CADモデルとを照合する際の3次元マッチングの閾値、又は、セグメンテーション処理におけるセグメンテーションの面積を、所定の割合分変更する。
また、この場合、その「所定の割合」をパラメータの変更回数Nに応じて変化させてもよい。例えば、3次元マッチングのスコアが0〜100の範囲の数値で表され、当初の閾値が80であった場合、新たな閾値=80−(N×10)で表されるように変更してもよい(例えば、N=1の場合には新たな閾値=70となり、N=4の場合には新たな閾値=40となる。)。なお、新たな閾値は、上記式で計算する方式ではなく、パラメータの変更回数Nに応じた閾値のテーブルを予め記憶部43に保持しておき、パラメータの変更が必要になったときに、適宜読み出すようにしても構わない。
そして、ステップS81で算出パラメータを変更した後、処理をステップS20へ戻入し、位置姿勢算出部410により、変更後の算出パラメータを用いたワーク5の位置姿勢の再算出を行い、それ以降の処理ステップを順次実行する。
当該第1構成例でも、ワーク5の状況判定結果が、例えば条件1を満たし、且つ、条件2を満たす場合に、計測パラメータ及び種々の算出パラメータのうち、位置姿勢の算出パラメータを再設定し、それを用いて、ワーク5の位置姿勢の再算出を行った上で、ワーク5のピッキング処理を順次実行する。よって、ワーク5の3次元位置の当初の計測値に欠けや抜け(欠損領域)が生じていたとしても、その状況に応じた適切なワークのピッキング操作を行うことができ、その結果、ハンド2によってワーク5を把持する際の成功率を、従来に比して格段に向上(不成功率を低減)させることができるとともに、処理時間の増大を抑制することができる。
<5.2>
図6は、他の実施形態としての第2構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。当該第2構成例は、図4に示すフローチャートに示すステップS80でのパラメータ変更処理に代えて、ステップS82によるパラメータ変更処理を行うこと、及び、そのパラメータ変更処理を行った後、処理をステップS30へ戻入し、把持姿勢算出部420により、変更後の算出パラメータを用いたハンド2によるワーク5の把持姿勢の算出を行うこと以外は、図4に示す実施形態におけるのと同等の処理を行う。
すなわち、当該第2構成例では、ステップS82において、パラメータ変更部460は、計測パラメータ及び種々の算出パラメータのうち、ハンド2によるワーク5の把持置姿勢の算出パラメータとして、把持姿勢算出における閾値を、所定の割合分変更する。また、この場合、第1構成例と同様に、その「所定の割合」をパラメータの変更回数Nに応じて変化させてもよい。また、第1構成例と同様に、新たな閾値は、計算する方式ではなく、パラメータの変更回数Nに応じた閾値のテーブルを予め記憶部43に保持しておき、パラメータの変更が必要になったときに、適宜読み出すようにしても構わない。
そして、ステップS82で算出パラメータを変更した後、処理をステップS30へ戻入し、把持姿勢算出部420により、変更後の算出パラメータを用いたハンド2によるワーク5の把持姿勢の再算出を行い、それ以降の処理ステップを順次実行する。
当該第2構成例でも、ワーク5の状況判定結果が、例えば条件1を満たし、且つ、条件2を満たす場合に、計測パラメータ及び種々の算出パラメータのうち、把持姿勢の算出パラメータを再設定し、それを用いて、ハンド2によるワーク5の把持姿勢の再算出を行った上で、ワーク5のピッキング処理を順次実行する。よって、ワーク5の3次元位置の当初の計測値に欠けや抜け(欠損領域)が生じていたとしても、その状況に応じた適切なワークのピッキング操作を行うことができ、その結果、ハンド2によってワーク5を把持する際の成功率を、従来に比して格段に向上(不成功率を格段に低減)させることができるとともに、処理時間の増大を抑制することができる。
<5.3>
図7は、他の実施形態としての第3構成例に係るワークピッキング装置における処理手順の一例を示すフローチャートである。当該第3構成例は、図4に示すフローチャートに示すステップS80でのパラメータ変更処理に代えて、ステップS83によるパラメータ変更処理を行うこと、及び、そのパラメータ変更処理を行った後、処理をステップS40へ戻入し、経路算出部430により、変更後の算出パラメータを用いたハンド2の初期姿勢から把持姿勢へ移動する経路の算出を行うこと以外は、図4に示す実施形態におけるのと同等の処理を行う。
すなわち、当該第3構成例では、ステップS83において、パラメータ変更部460は、計測パラメータ及び種々の算出パラメータのうち、ハンド2の初期姿勢から把持姿勢へ移動する経路の算出パラメータとして、ワーク5や収納容器6に対するハンド2の干渉判定の閾値を、所定の割合分変更する。また、この場合、第1構成例と同様に、その「所定の割合」をパラメータの変更回数Nに応じて変化させてもよい。また、第1構成例と同様に、新たな閾値は、計算する方式ではなく、パラメータの変更回数Nに応じた閾値のテーブルを予め記憶部43に保持しておき、パラメータの変更が必要になったときに、適宜読み出すようにしても構わない。
そして、ステップS83で算出パラメータを変更した後、処理をステップS40へ戻入し、経路算出部430により、変更後の算出パラメータを用いたハンド2の初期姿勢から把持姿勢へ移動する経路の再算出を行い、それ以降の処理ステップを順次実行する。
当該第3構成例でも、ワーク5の状況判定結果が、例えば条件1を満たし、且つ、条件2を満たす場合に、計測パラメータ及び種々の算出パラメータのうち、ハンド2の初期姿勢から把持姿勢へ移動する経路の算出パラメータを再設定し、それを用いて、ハンド2の初期姿勢から把持姿勢へ移動する経路の再算出を行った上で、ワーク5のピッキング処理を順次実行する。よって、ワーク5の3次元位置の当初の計測値に欠けや抜け(欠損領域)が生じていたとしても、その状況に応じた適切なワークのピッキング操作を行うことができ、その結果、ハンド2によってワーク5を把持する際の成功率を、従来に比して格段に向上(不成功率を格段に低減)させることができるとともに、処理時間の増大を抑制することができる。
<5.4>
また、上記実施形態及び第1構成例乃至第3構成例における処理においては、一例として、ワーク5の状況判定として、条件1及び条件2を満たすか否かに基づく判定手法について説明したが、例えば、条件1+条件2(欠損領域の面積S又は体積Vが所定値以上であるか否か)に代えて、条件1+以下の条件3を判定条件として適用してもよい。
[条件3]:欠損領域の位置がワーク5の収納容器6内の所定の範囲に存在するか否か。
ここで、条件3に関し、所定の範囲としては、ユーザにより予め入力された収納容器6の形状データに基づいて、例えば、収納容器6の壁際近傍や、矩形容器であれば角隅近傍の領域を指定することができる。一般に、ワーク5が、収納容器6の壁際近傍や角隅近傍に存在する場合には、3次元位置の計測値に欠けや抜けが生じ易かったり、把持が比較的困難であったりといった傾向にあるので、欠損領域がかかる所定の範囲にある場合にも、パラメータの変更が有効であるといえる。
すなわち、ここでは、状況判定部450は、条件1を満たし、且つ、条件3を満たす場合(条件1及び条件3の何れも「真(True)」の場合)に、判定結果として「Yes(パラメータ変更要)」を出力し、また、欠損領域の位置情報を出力する。一方、状況判定部450は、条件1を満たさない、又は、条件3を満たさない場合(条件1又は条件3の何れかが「偽(False)」の場合)に、判定結果として「No(パラメータ変更不要)」を出力する。
<5.5>
また、上記実施形態及び第1構成例乃至第3構成例における処理においては、一例として、領域抽出部440によって3次元点群データから欠損領域を抽出し、その欠損領域の特徴量(面積S又は体積V)に基づく判定条件である条件2を適用した判定手法について説明したが、例えば、欠損領域に代えて、領域抽出部440によって3次元点群データから平面領域を抽出し、その平面領域の特徴量に基づく判定条件を適用してもよい。すなわち、ここでは、状況判定処理として、位置姿勢が検出されたワーク5の数(ワーク数)、及び、ワーク5の3次元位置の計測結果として3次元点群データから抽出された平面領域に基づいてワーク5の状況を判定する。なお、「平面領域」とは、ワーク5の3次元位置の計測値(例えば、ワーク5の3次元位置を表す3次元点群データ)において「平面」と認められる領域であり、より具体的には、例えば、ワーク5の収納容器6の底面やワーク5が積まれた支持台の面等に相当する領域である。
この場合、ステップS60において、まず、ワーク5の状況判定の前処理として、領域抽出部440により、センサ1から出力されたワーク5の3次元位置を表す3次元点群データを用いて、平面領域を抽出する。このとおり、本実施形態における領域抽出部440は、本発明における「平面領域抽出部」に相当する。
次に、状況判定部450により、ワーク5の状況判定として、例えば、以下に示す条件1及び条件4又は条件5を満たすか否かを判定する。
[条件1]:ワーク数Kが所定値以下であるか否か。
[条件4]:平面領域の距離D又は面積Sが所定値以下であるか否か。
[条件5]:平面領域の位置がワーク5の載置面(ここでは収納容器6の底面)に対して所定の範囲に存在するか否か。
なお、「平面領域の距離D」を算出する方法は、特に制限されず、例えば、単一の平面領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、その平面領域を含む面を特定し、任意の距離基準点とその特定された面との距離、すなわち、距離基準点からの特定された面への垂線の長さを「平面領域の距離D」とすることができる。また、例えば、複数の平面領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、各平面領域を含む面を特定し、任意の距離基準点とその特定された各面との距離、すなわち、距離基準点からの特定された各面への垂線の長さをそれぞれ「平面領域の距離D」とすることができる。
一方、「平面領域の面積S」を算出する方法も、特に制限されず、例えば、単一の平面領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、その平面領域の周縁を示す2次元座標を特定し、その2次元座標から算出される面積を「平面領域の面積S」とすることができる。また、例えば、複数の平面領域が抽出された場合には、センサ1から出力された3次元点群データ、又は、それに対応する2次元画像において、各平面領域の周縁を示す2次元座標を特定し、その2次元座標から各平面領域の面積を算出し、得られた全ての平面領域の面積を合算した値を「平面領域の面積S」とすることができる。
ここで、条件4に関し、平面領域の距離Dの所定値としては、例えば任意の距離基準点からユーザにより予め入力された収納容器6の底面までの距離(距離基準点からの底面への垂線の長さ)に対して所定の割合を乗じた値を設定することができる。また、平面領域の面積Sの所定値としては、ユーザにより予め入力された収納容器6の底面の面積に対して所定の割合を乗じた値を設定することができる。平面領域の距離Dが所定値より大きい場合、又は、平面領域の面積Sが所定値より大きい場合には、抽出された平面領域は収納容器の6の底面である可能性が高いが、そうではなく、平面領域の距離Dが所定値以下である場合、又は、平面領域の面積Sが所定値以下の場合には、その平面領域が収納容器6の底面である可能性は低いことから、その場合には、ワーク5が収納容器6内に残存している可能性は高いと推察される。
また、条件5に関し、所定の範囲としては、ユーザにより予め入力された収納容器6の形状データに基づいて、例えば、収納容器6の中央以外の壁際近傍や、矩形容器であれば角隅近傍の領域を指定することができる。一般に、収納容器6の中央領域に平面領域が存在する場合、抽出された平面領域は収納容器6の底面に相当する可能性が高いが、そうではなく、平面領域が中央以外の位置の場合には、その平面領域が収納容器6の底面である可能性は低いことから、その場合には、ワーク5が収納容器6内に残存している可能性は高いと推察される。
従って、この場合の判定条件としては、例えば、状況判定部450は、条件1を満たし、且つ、条件4又は条件5の何れかを満たす場合(条件1が「真(True)であり」且つ条件4又は条件5の何れかが「真(True)」である場合)に、判定結果として「Yes(パラメータ変更要)」を出力し、また、平面領域の位置情報を出力する。なお、複数の平面領域が抽出された場合、例えば、複数の「平面領域の距離D」の何れかが条件4を満たす(複数の平面領域の何れかが収納容器6の底面に相当しない)ときに、条件4を「真(True)」とすることができる。
一方、状況判定部450は、条件1を満たさない、又は、条件4及び条件5の何れも満たさない場合(条件1が「偽(False)」又は条件4及び条件5の何れも「偽(False)」の場合)に、判定結果として「No(パラメータ変更不要)」を出力する。なお、複数の平面領域が抽出された場合、例えば、複数の「平面領域の距離D」の何れも条件4を満たさない(複数の平面領域の何れも収納容器6の底面に相当する)ときに、条件4を「偽(False)」とすることができる。
さらに、ステップS60でパラメータが要変更となり(ステップS60において「Yes」)、ステップS70でパラメータの変更回数の判定結果が条件を満たした場合(ステップS70において「Yes」)、ステップS80では、パラメータ変更の前処理として、以下の処理を行う。すなわち、パラメータ変更部460により、状況判定部450から出力された平面領域以外の領域の位置情報と、センサ1から出力された2次元画像に基づいて、撮像された画像における平面領域以外の領域の部位の平均輝度値を求める。さらに、その結果に基づいて、図4に示す実施形態と同様にして、計測パラメータである露光時間を変更する。
§6 付記
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
(付記1)
積まれたワーク(5)を取り出すためのワークピッキング装置(100)であって、
前記ワーク(5)の3次元位置を計測するセンサ(1)と、
前記ワーク(5)を把持するハンド(2)と、
前記ハンド(2)を把持位置に移動し且つ該把持位置から移動するロボット(3)と、
前記センサ(1)、前記ハンド(2)、及び前記ロボット(3)を制御する制御装置(4)と、
を備え、
前記制御装置(4)は、
前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワーク(5)の位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出部(410)と、
前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンド(2)が前記ワーク(5)を把持する際の前記ハンド(2)の把持姿勢を算出する把持姿勢算出部(420)と、
所定の算出パラメータを用いて前記ハンド(2)を前記把持姿勢に移動する経路を算出する経路算出部(430)と、
前記3次元位置を計測する際の計測パラメータに基づいて、前記センサ(1)の動作を制御するセンサ制御部(470)と、
前記把持姿勢に基づいて、前記ハンド(2)の動作を制御するハンド制御部(480)と、
前記経路に基づいて、前記ロボット(3)の動作を制御するロボット制御部(490)と、
前記3次元位置の計測結果及び前記ワーク数の算出結果に基づいて、前記ワーク(5)の状況を判定する状況判定部(460)と、
前記ワーク(5)の状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更部(460)と、
を有する、
ワークピッキング装置(100)。
(付記2)
前記制御装置(4)は、前記3次元位置の計測結果から欠損領域を抽出する欠損領域抽出部(440)を備え、
前記状況判定部(450)は、前記ワーク数、及び、前記欠損領域の位置、面積、又は体積に基づいて、前記ワーク(5)の状況を判定する、
付記1記載のワークピッキング装置(100)。
(付記3)
前記制御装置(4)は、前記3次元位置の計測結果から平面領域を抽出する平面領域抽出部(440)を備え、
前記状況判定部(450)は、前記ワーク数、及び、前記平面領域の位置、距離又は面積に基づいて、前記ワーク(5)の状況を判定する、
付記1記載のワークピッキング装置(100)。
(付記4)
前記パラメータ変更部(460)は、前記ワーク数が所定値以下である場合に、前記パラメータを変更する、
付記1乃至3の何れか記載のワークピッキング装置(100)。
(付記5)
前記パラメータ変更部(460)は、前記欠損領域の面積若しくは体積が所定値以上である場合に、又は、前記欠損領域の位置が前記ワーク(5)の載置領域内の所定の範囲に存在する場合に、前記パラメータを変更する、
付記2又は4記載のワークピッキング装置(100)。
(付記6)
前記パラメータ変更部(460)は、前記平面領域の距離若しくは面積が所定値以下である場合に、又は、前記平面領域の位置が前記ワーク(5)の載置面に対して所定の範囲に存在する場合に、前記パラメータを変更する、
付記3又は4記載のワークピッキング装置(100)。
(付記7)
前記パラメータ変更部(460)は、前記パラメータの変更を所定回数以内に制限する、
付記1乃至6の何れか記載のワークピッキング装置(100)。
(付記8)
前記パラメータ変更部(460)は、前記3次元位置を計測する際の計測パラメータとして、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更する、
付記1乃至7の何れか記載のワークピッキング装置(100)。
(付記9)
前記パラメータ変更部(460)は、前記欠損領域の輝度に基づいて、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更する、
付記8記載のワークピッキング装置(100)。
(付記10)
前記パラメータ変更部(460)は、前記位置姿勢の算出パラメータとして、位置姿勢算出の閾値を変更する、
付記1乃至7の何れか記載のワークピッキング装置(100)。
(付記11)
前記パラメータ変更部(460)は、前記把持姿勢の算出パラメータとして、把持姿勢算出の閾値を変更する、
付記1乃至7の何れか記載のワークピッキング装置(100)。
(付記12)
前記パラメータ変更部(460)は、前記経路の算出パラメータとして、干渉判定の閾値を変更する、
付記1乃至7の何れか記載のワークピッキング装置(100)。
(付記13)
前記パラメータ変更部(460)は、前記パラメータの変更回数に応じて前記パラメータを変更する、
付記1乃至12の何れか記載のワークピッキング装置(100)。
(付記14)
センサ(1)、ハンド(2)、ロボット(3)、及び、制御装置(4)を備えるワークピッキング装置(100)を用い、積まれたワーク(5)を取り出すためのワークピッキング方法であって、
前記センサ(1)が、前記ワーク(5)の3次元位置を計測する計測ステップと、
前記ハンド(2)が、前記ワーク(5)を把持する把持ステップと、
前記ロボット(3)が、前記ハンド(5)を把持位置に移動し且つ該把持位置から移動する移動ステップと、
前記制御装置(4)が、前記センサ(1)、前記ハンド(2)、及び前記ロボット(3)を制御する制御ステップと、
を含み、
前記制御ステップは、
前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワーク(5)の位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出ステップと、
前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンド(2)が前記ワーク(5)を把持する際の前記ハンド(2)の把持姿勢を算出する把持姿勢算出ステップと、
所定の算出パラメータを用いて前記ハンド(2)を前記把持姿勢に移動する経路を算出する経路算出ステップと、
前記3次元位置を計測する際の計測パラメータに基づいて、前記センサ(1)の動作を制御するセンサ制御ステップと、
前記把持姿勢に基づいて、前記ハンド(2)の動作を制御するハンド制御ステップと、
前記経路に基づいて、前記ロボット(3)の動作を制御するロボット制御ステップと、
前記3次元位置の計測結果及び前記ワーク数の算出結果に基づいて、前記ワーク(5)の状況を判定する状況判定ステップと、
前記ワーク(5)の状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更ステップと、
を有する、
ワークピッキング方法。
1…センサ、2…ハンド、3…ロボット、4…制御装置、5…ワーク、6…収納容器、41…制御演算部、42…通信インタフェース(I/F)部、43…記憶部、44…入力部、45…出力部、46…バスライン、100…ワークピッキング装置、410…位置姿勢算出部、420…把持姿勢算出部、430…経路算出部、440…領域抽出部、450…状況判定部、460…パラメータ変更部、470…センサ制御部、480…ハンド制御部、490…ロボット制御部、S10〜S80,S81〜S83…ステップ。

Claims (13)

  1. 積まれたワークを取り出すためのワークピッキング装置であって、
    前記ワークの3次元位置を計測するセンサと、
    前記ワークを把持するハンドと、
    前記ハンドを把持位置に移動し且つ該把持位置から移動するロボットと、
    前記センサ、前記ハンド、及び前記ロボットを制御する制御装置と、
    を備え、
    前記制御装置は、
    前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワークの位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出部と、
    前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンドが前記ワークを把持する際の前記ハンドの把持姿勢を算出する把持姿勢算出部と、
    所定の算出パラメータを用いて前記ハンドを前記把持姿勢に移動する経路を算出する経路算出部と、
    前記3次元位置を計測する際の計測パラメータに基づいて、前記センサの動作を制御するセンサ制御部と、
    前記把持姿勢に基づいて、前記ハンドの動作を制御するハンド制御部と、
    前記経路に基づいて、前記ロボットの動作を制御するロボット制御部と、
    前記3次元位置の計測結果から欠損領域を抽出する欠損領域抽出部、及び/又は、前記3次元位置の計測結果から平面領域を抽出する平面領域抽出部と、
    前記ワーク数、及び、前記欠損領域の位置、面積若しくは体積に基づいて、又は、前記ワーク数、及び、前記平面領域の位置、距離若しくは面積に基づいて、前記ワークの状況を判定する状況判定部と、
    前記ワークの状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更部と、
    を有する、
    ワークピッキング装置。
  2. 前記パラメータ変更部は、前記状況判定部から出力された前記欠損領域の位置情報と、前記センサから出力された2次元画像に基づいて、前記センサによる撮像画像における前記欠損領域に対応する部位に、ハレーション及び黒潰れの何れが発生しているかを判定し、前記ハレーション及び前記黒潰れの発生状況に応じて、前記パラメータを変更する、
    請求項1記載のワークピッキング装置。
  3. 前記パラメータ変更部は、前記ワーク数が所定値以下である場合に、且つ、前記欠損領域の面積又は体積が所定値以上である場合に、前記パラメータを変更
    前記欠損領域の面積は、前記センサから出力された3次元点群データ、又は、該3次元点群データに対応する2次元画像において、少なくとも1つの前記欠損領域の周縁を示す2次元座標を特定し、該2次元座標から算出される各欠損領域の面積を合算した値であり、
    前記欠損領域の体積は、前記センサから出力された3次元点群データにおいて、少なくとも1つの前記欠損領域の周縁を示す3次元座標を特定し、該3次元座標から算出される各欠損領域の体積を合算した値である、
    請求項又は記載のワークピッキング装置。
  4. 前記パラメータ変更部は、前記ワーク数が所定値以下である場合に、且つ、前記平面領域の距離又は面積が所定値以下である場合に、前記パラメータを変更
    前記平面領域の距離は、前記センサから出力された3次元点群データ、又は、該3次元点群データに対応する2次元画像において特定される少なくとも1つの前記平面領域と、任意の距離基準点との距離であり、
    前記平面領域の面積は、前記センサから出力された3次元点群データ、又は、該3次元点群データに対応する2次元画像において、少なくとも1つの前記平面領域の周縁を示す2次元座標を特定し、該2次元座標から算出される各平面領域の面積を合算した値である、
    請求項又は記載のワークピッキング装置。
  5. 前記パラメータ変更部は、前記ワーク数が所定値以下である場合に、且つ、前記欠損領域の位置が前記ワークの載置領域内の所定の範囲に存在する場合に、又は、前記平面領域の位置が前記ワークの載置面に対して所定の範囲に存在する場合に、前記パラメータを変更する、
    請求項1又は2記載のワークピッキング装置。
  6. 前記パラメータ変更部は、前記パラメータの変更を所定回数以内に制限する、
    請求項1乃至の何れか1項記載のワークピッキング装置。
  7. 前記パラメータ変更部は、前記3次元位置を計測する際の計測パラメータとして、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更する、
    請求項1乃至の何れか1項記載のワークピッキング装置。
  8. 前記パラメータ変更部は、前記欠損領域の輝度に基づいて、露光時間、照明照度、及び計測位置のうち少なくも何れか1つを変更する、
    請求項記載のワークピッキング装置。
  9. 前記パラメータ変更部は、前記位置姿勢の算出パラメータとして、位置姿勢算出の閾値を変更する、
    請求項1乃至の何れか1項記載のワークピッキング装置。
  10. 前記パラメータ変更部は、前記把持姿勢の算出パラメータとして、把持姿勢算出の閾値を変更する、
    請求項1乃至の何れか1項記載のワークピッキング装置。
  11. 前記パラメータ変更部は、前記経路の算出パラメータとして、干渉判定の閾値を変更する、
    請求項1乃至の何れか1項記載のワークピッキング装置。
  12. 前記パラメータ変更部は、前記パラメータの変更回数に応じて前記パラメータを変更する、
    請求項1乃至11の何れか1項記載のワークピッキング装置。
  13. センサ、ハンド、ロボット、及び、制御装置を備えるワークピッキング装置を用い、積まれたワークを取り出すためのワークピッキング方法であって、
    前記センサが、前記ワークの3次元位置を計測する計測ステップと、
    前記ハンドが、前記ワークを把持する把持ステップと、
    前記ロボットが、前記ハンドを把持位置に移動し且つ該把持位置から移動する移動ステップと、
    前記制御装置が、前記センサ、前記ハンド、及び前記ロボットを制御する制御ステップと、
    を含み、
    前記制御ステップは、
    前記3次元位置の計測結果に基づいて、所定の算出パラメータを用いて前記ワークの位置姿勢を算出し、且つ、位置姿勢を検出したワーク数を算出する位置姿勢算出ステップと、
    前記位置姿勢の算出結果に基づいて、所定の算出パラメータを用いて前記ハンドが前記ワークを把持する際の前記ハンドの把持姿勢を算出する把持姿勢算出ステップと、
    所定の算出パラメータを用いて前記ハンドを前記把持姿勢に移動する経路を算出する経路算出ステップと、
    前記3次元位置を計測する際の計測パラメータに基づいて、前記センサの動作を制御するセンサ制御ステップと、
    前記把持姿勢に基づいて、前記ハンドの動作を制御するハンド制御ステップと、
    前記経路に基づいて、前記ロボットの動作を制御するロボット制御ステップと、
    前記3次元位置の計測結果から欠損領域を抽出する欠損領域抽出ステップ、及び/又は、前記3次元位置の計測結果から平面領域を抽出する平面領域抽出ステップと、
    前記ワーク数、及び、前記欠損領域の位置、面積若しくは体積に基づいて、又は、前記ワーク数、及び、前記平面領域の位置、距離若しくは面積に基づいて、前記ワークの状況を判定する状況判定ステップと、
    前記ワークの状況の判定結果が所定の条件を満たす場合に、前記3次元位置を計測する際の計測パラメータ、前記位置姿勢の算出パラメータ、前記把持姿勢の算出パラメータ、及び、前記経路の算出パラメータのうち少なくとも何れか1つを含むパラメータを変更するパラメータ変更ステップと、
    を有する、
    ワークピッキング方法。
JP2018045940A 2018-03-13 2018-03-13 ワークピッキング装置及びワークピッキング方法 Active JP6879238B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018045940A JP6879238B2 (ja) 2018-03-13 2018-03-13 ワークピッキング装置及びワークピッキング方法
EP19767768.5A EP3766644B1 (en) 2018-03-13 2019-03-11 Workpiece picking device and workpiece picking method
US16/968,165 US11667036B2 (en) 2018-03-13 2019-03-11 Workpiece picking device and workpiece picking method
PCT/JP2019/009593 WO2019176829A1 (ja) 2018-03-13 2019-03-11 ワークピッキング装置及びワークピッキング方法
CN201980011823.5A CN111683798B (zh) 2018-03-13 2019-03-11 工件拾取装置以及工件拾取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018045940A JP6879238B2 (ja) 2018-03-13 2018-03-13 ワークピッキング装置及びワークピッキング方法

Publications (2)

Publication Number Publication Date
JP2019155535A JP2019155535A (ja) 2019-09-19
JP6879238B2 true JP6879238B2 (ja) 2021-06-02

Family

ID=67907128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018045940A Active JP6879238B2 (ja) 2018-03-13 2018-03-13 ワークピッキング装置及びワークピッキング方法

Country Status (5)

Country Link
US (1) US11667036B2 (ja)
EP (1) EP3766644B1 (ja)
JP (1) JP6879238B2 (ja)
CN (1) CN111683798B (ja)
WO (1) WO2019176829A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
JP6908908B2 (ja) * 2019-10-10 2021-07-28 株式会社トキワシステムテクノロジーズ ロボットアームの経路生成装置および経路生成プログラム
EP4094904B1 (en) * 2020-01-23 2024-05-15 OMRON Corporation Robot system control device, robot system control method, computer control program, and robot system
JP6708917B1 (ja) * 2020-02-05 2020-06-10 リンクウィズ株式会社 形状検出方法、形状検出システム、プログラム
JP2021146452A (ja) 2020-03-19 2021-09-27 株式会社東芝 ハンドリング装置、制御装置、および制御プログラム
JP7468289B2 (ja) * 2020-10-16 2024-04-16 オムロン株式会社 制御装置、ロボット、制御方法、プログラム
JP7533265B2 (ja) 2021-02-12 2024-08-14 オムロン株式会社 支援システム、画像処理装置、支援方法およびプログラム
TW202233370A (zh) 2021-02-18 2022-09-01 日商發那科股份有限公司 機器人系統及控制裝置
JP7620882B2 (ja) 2021-07-12 2025-01-24 Johnan株式会社 ピッキングシステム
CN116175541B (zh) * 2021-11-28 2023-11-10 梅卡曼德(北京)机器人科技有限公司 抓取控制方法、装置、电子设备和存储介质
CN114347008B (zh) * 2022-01-18 2024-06-25 广东原点智能技术有限公司 基于工业机器人的无序抓取工件方法、装置及智能终端
WO2024204418A1 (ja) * 2023-03-31 2024-10-03 京セラ株式会社 処理装置及びプログラム

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
GB2261069B (en) * 1991-10-30 1995-11-01 Nippon Denso Co High speed picking system for stacked parts
WO2000057129A1 (fr) * 1999-03-19 2000-09-28 Matsushita Electric Works, Ltd. Procede de reconnaissance d'objet tridimensionnel et systeme de collecte de broches a l'aide de ce procede
JP2001300878A (ja) * 2000-04-19 2001-10-30 Daihatsu Motor Co Ltd パレット内バラ積みワークの取出方法
JP3782679B2 (ja) * 2001-05-09 2006-06-07 ファナック株式会社 干渉回避装置
JP3842233B2 (ja) * 2003-03-25 2006-11-08 ファナック株式会社 画像処理装置及びロボットシステム
JP3930490B2 (ja) * 2004-04-23 2007-06-13 ファナック株式会社 物品取出し装置
JP3920317B2 (ja) * 2004-08-02 2007-05-30 松下電器産業株式会社 物品運搬用ロボット
SE529377C2 (sv) * 2005-10-18 2007-07-24 Morphic Technologies Ab Publ Metod och arrangemang för att lokalisera och plocka upp föremål från en bärare
JP4153528B2 (ja) * 2006-03-10 2008-09-24 ファナック株式会社 ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP4199264B2 (ja) * 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
US7313464B1 (en) * 2006-09-05 2007-12-25 Adept Technology Inc. Bin-picking system for randomly positioned objects
US20080181485A1 (en) * 2006-12-15 2008-07-31 Beis Jeffrey S System and method of identifying objects
JP4309439B2 (ja) * 2007-03-30 2009-08-05 ファナック株式会社 対象物取出装置
JP4508252B2 (ja) * 2008-03-12 2010-07-21 株式会社デンソーウェーブ ロボット教示装置
JP4565023B2 (ja) * 2008-07-04 2010-10-20 ファナック株式会社 物品取り出し装置
JP5196156B2 (ja) 2008-09-16 2013-05-15 株式会社Ihi バラ積みピッキング装置におけるワークピッキング方法
JP4866890B2 (ja) * 2008-10-08 2012-02-01 本田技研工業株式会社 ワーク形状推定装置
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
JP5201411B2 (ja) 2008-11-21 2013-06-05 株式会社Ihi バラ積みピッキング装置とその制御方法
FR2940449A1 (fr) * 2008-12-24 2010-06-25 Snecma Procede de controle non destructif d'une piece mecanique
JP5333344B2 (ja) * 2009-06-19 2013-11-06 株式会社安川電機 形状検出装置及びロボットシステム
JP5402697B2 (ja) * 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
US8306314B2 (en) * 2009-12-28 2012-11-06 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining poses of objects
DE112011103794B4 (de) * 2010-11-17 2019-01-24 Mitsubishi Electric Corporation Aufnehmervorrichtung für Werkstücke
JP5767464B2 (ja) * 2010-12-15 2015-08-19 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5316563B2 (ja) * 2011-02-15 2013-10-16 オムロン株式会社 画像処理装置および画像処理システム
JP5144785B2 (ja) * 2011-04-18 2013-02-13 ファナック株式会社 ロボットの着目部位と周辺物との干渉を予測する方法及び装置
JP5787642B2 (ja) * 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
JP5975685B2 (ja) * 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP5642738B2 (ja) * 2012-07-26 2014-12-17 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP6323993B2 (ja) * 2012-08-28 2018-05-16 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
JP5670397B2 (ja) * 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
US9393686B1 (en) * 2013-03-15 2016-07-19 Industrial Perception, Inc. Moveable apparatuses having robotic manipulators and conveyors to facilitate object movement
JP5786896B2 (ja) * 2013-06-07 2015-09-30 株式会社安川電機 ワーク検出装置、ロボットシステム、被加工物の製造方法及びワーク検出方法
JP6415026B2 (ja) * 2013-06-28 2018-10-31 キヤノン株式会社 干渉判定装置、干渉判定方法、コンピュータプログラム
JP2015147256A (ja) * 2014-02-04 2015-08-20 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
US9259844B2 (en) * 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
JP6338421B2 (ja) * 2014-03-31 2018-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、把持システムおよびプログラム
JP2015202544A (ja) * 2014-04-15 2015-11-16 株式会社安川電機 ロボット制御システム、情報通信モジュール、ロボットコントローラ、コンピュータプログラム及びロボット制御方法
JP5908544B2 (ja) * 2014-08-11 2016-04-26 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
JP6415190B2 (ja) * 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
JP5905549B1 (ja) * 2014-09-16 2016-04-20 ファナック株式会社 バラ積みされた物品を取出す物品取出装置
JP6424560B2 (ja) * 2014-10-17 2018-11-21 株式会社リコー 異常原因推定装置、ピッキング装置及びピッキング装置における異常原因推定方法
JP6562619B2 (ja) * 2014-11-21 2019-08-21 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6335806B2 (ja) * 2015-01-22 2018-05-30 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法
US10335951B2 (en) * 2015-07-29 2019-07-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, robot control apparatus, and robot system
DE102016015936B8 (de) * 2015-07-31 2024-10-24 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
US10290118B2 (en) * 2015-08-06 2019-05-14 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment
JP2018144155A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP6846949B2 (ja) * 2017-03-03 2021-03-24 株式会社キーエンス ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP7116901B2 (ja) * 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6693981B2 (ja) * 2018-02-19 2020-05-13 ファナック株式会社 ロボットの動作をシミュレーションするシミュレーション装置
JP6937995B2 (ja) * 2018-04-05 2021-09-22 オムロン株式会社 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法

Also Published As

Publication number Publication date
EP3766644B1 (en) 2022-05-11
CN111683798B (zh) 2023-04-14
WO2019176829A1 (ja) 2019-09-19
JP2019155535A (ja) 2019-09-19
US11667036B2 (en) 2023-06-06
EP3766644A4 (en) 2022-01-12
EP3766644A1 (en) 2021-01-20
US20210039257A1 (en) 2021-02-11
CN111683798A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
JP6879238B2 (ja) ワークピッキング装置及びワークピッキング方法
JP6937995B2 (ja) 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法
US11724400B2 (en) Information processing apparatus for determining interference between object and grasping unit, information processing method, and storage medium
JP5788460B2 (ja) バラ積みされた物品をロボットで取出す装置及び方法
JP6348097B2 (ja) ワーク位置姿勢算出装置およびハンドリングシステム
US20150125035A1 (en) Image processing apparatus, image processing method, and storage medium for position and orientation measurement of a measurement target object
JP6703812B2 (ja) 3次元物体検査装置
KR20130102080A (ko) 워크 취출 장치
JP2012125886A (ja) 物体把持装置、物体把持装置の制御方法、およびプログラム
JP2018136896A (ja) 情報処理装置、システム、情報処理方法、および物品の製造方法
JP2014161965A (ja) 物品取り出し装置
JP6632656B2 (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
JP2010071743A (ja) 物体検出方法と物体検出装置およびロボットシステム
JP2017201276A (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
JP5544464B2 (ja) 対象物の3次元位置・姿勢認識装置及びその方法
JP7454132B2 (ja) ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
JP7264247B2 (ja) 情報処理装置及び情報処理方法
JPH06243236A (ja) 視覚認識装置の座標系校正パラメータ設定装置
JP2020049651A (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
JP6512852B2 (ja) 情報処理装置、情報処理方法
EP4094904B1 (en) Robot system control device, robot system control method, computer control program, and robot system
JP2020125916A (ja) 移載対象ワーク記憶システム
WO2023188407A1 (ja) ロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

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: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6879238

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250