JP2024001876A - 物体を操作するロボット、特に物体を受容するロボットを制御するための方法 - Google Patents

物体を操作するロボット、特に物体を受容するロボットを制御するための方法 Download PDF

Info

Publication number
JP2024001876A
JP2024001876A JP2023101477A JP2023101477A JP2024001876A JP 2024001876 A JP2024001876 A JP 2024001876A JP 2023101477 A JP2023101477 A JP 2023101477A JP 2023101477 A JP2023101477 A JP 2023101477A JP 2024001876 A JP2024001876 A JP 2024001876A
Authority
JP
Japan
Prior art keywords
image
pixel
descriptor
location
robot
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
Application number
JP2023101477A
Other languages
English (en)
Inventor
ガボール クプツィック アンドラス
Gabor Kupcsik Andras
グラーフ クリスティアン
Graf Christian
ガブリエル ミロスラフ
Gabriel Miroslav
クリスティアン シリンガー フィリップ
Christian Schillinger Philipp
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2024001876A publication Critical patent/JP2024001876A/ja
Pending legal-status Critical Current

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/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
    • 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
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • 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/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/39536Planning of hand motion, grasping
    • 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/40564Recognize shape, contour of object, extract position and orientation
    • 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/40584Camera, non-contact sensor mounted on wrist, indep from gripper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

【課題】物体を操作するロボット、特に物体を受容するロボットを制御するための方法を開示する。【解決手段】本方法は、物体を示す画像を取得することと、画像から、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で物体がどの程度良好に操作可能であるかの推定を示す操作品質画像を生成することと、物体の、ユーザ入力に従って操作時に利用される箇所、及び/又は、ユーザ入力に従って操作時に回避されるべき箇所の記述子を登録することと、画像を記述子画像へマッピングすることと、複数の箇所の登録された記述子と記述子画像とを比較することにより、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で物体を操作すべきか否かの推定を示す操作優先画像を生成することと、操作品質画像のピクセル値及び操作優先画像のピクセル値を考慮して、物体を操作する箇所を選択することと、ロボットを制御して、選択された箇所で物体を操作することと、を含む。【選択図】図2

Description

背景技術
本開示は、物体を操作するロボット、特に物体を受容するロボットを制御するための方法に関する。
ロボットによって物体を受容する際、例えば、容器から物体を取り出す把持にとって有望な物体箇所を識別するための複数のアプローチが存在する。こうしたアプローチは、典型的にはシーンのRGBD画像(即ち、色情報及び深度情報を有する画像)によって動作するが、いくつかの場合にはRGB画像又は深度画像のいずれかで十分である。さらに、これらのアプローチの多くは、AI法、例えば入力データと有望な把持ポイントとの間の対応付けを学習するニューラルネットワークの使用を基礎としている。したがって、これらのAI法が物体の表面の把持可能領域を高い信頼性で識別できることが決定的な意義を有する。しかしながら、AI法にとっての大きな課題は、物体を特定の方式によって扱うべき場合又は損傷を受け易い特定の領域を回避すべき場合に、物体をどのように把持すればよいかを学習することにある。この課題は、人間の視点からは多くの場合に些細なことであるが、機械学習モデルによって考慮可能な全般的な基準を事前に設定することは困難である。
したがって、ロボットが受容の際に物体のどの箇所を回避すべきか又はどの箇所を優先すべきかを考慮して、ロボットによる物体の自動的な受容を可能とする、アプローチが望まれている。
発明の開示
種々の実施形態により、物体を操作するロボット、特に物体を受容するロボットを制御するための方法であって、物体を示す画像を取得することと、画像から、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で物体がどの程度良好に操作可能であるかの推定を示す操作品質画像を生成することと、物体の、ユーザ入力に従って操作時に利用される箇所、及び/又は、ユーザ入力に従って操作時に回避されるべき箇所の記述子を登録することと、画像を記述子画像へマッピングすることと、複数の箇所の登録された記述子と記述子画像とを比較することにより、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で物体を操作すべきか否かの推定を示す操作優先画像を生成することと、操作品質画像のピクセル値及び操作優先画像のピクセル値を考慮して、物体を操作する箇所を選択することと、ロボットを制御して、選択された箇所で物体を操作することと、を含む方法が提供される。
上述した方法により、(その幾何学的特性又は物理的特性に関して、例えば、エッジがない、過度に粗面でない、など)良好に操作可能な箇所だけでなく、(ユーザ入力ひいてはユーザの優先事項に従って)操作されるべき箇所での操作、又は、ユーザの視点から回避されるべき箇所での操作の回避も可能となる。
操作とは、特に受容(例えば、サクショングリッパの場合の把持又は吸着)を意味し得る。以下に説明する受容時の課題及び種々の実施形態において専用に設けられている措置は、受容の場合と全く同様に、鍵回し、ボタン押し若しくはレバー引きのような他のアクションにおいても講じることができ、又は、有効に適用することができる。
操作箇所の検出は、この場合、ピクセルごとに行われる(例えば、入力画像のピクセルにつき行われるが、操作品質画像及び操作優先画像の作成時に解像度変更を行うこともでき、例えば、これら2種類の画像共に低減された解像度を有し得る)。
以下に、種々の実施例を示す。
実施例1は、上述した、物体を操作するロボット、特に物体を受容するロボットを制御するための方法である。
実施例2は、実施例1に記載の方法であり、ここでは、操作品質画像が、物体の画像及び/又は物体の画像から導出された情報を操作品質画像へマッピングするようにトレーニングされた第1のニューラルネットワークを用いてマッピングされ、及び/又は、画像が、物体の画像を記述子画像へマッピングするようにトレーニングされた第2のニューラルネットワークを用いて記述子画像へマッピングされる。
ニューラルネットワークを使用することにより、操作品質画像又は操作優先画像を生成するそれぞれのタスクを効率的に実行することが可能となる。(入力)画像は、このために、色情報(又はさらにグレー値)及び/又は深度情報を含み得る。
実施例3は、実施例1又は2に記載の方法であり、ここでは、方法が、操作品質画像と操作優先画像とを組み合わせることと、当該組み合わせを使用して物体を操作する箇所を選択することと、を含む。
このようにして、(例えばピクセルごとの組み合わせによって)組み合わせられた画像が生成され、組み合わせられた画像内の1つの箇所を探索することにより(例えば、操作品質又は操作優先性又はこれらの組み合わせの符号化に従って、最大ピクセル値又は最小ピクセル値を探索することにより)、物体の操作、特に受容(把持又は吸着)に良好に適した箇所を見出すことができるようになる。
実施例4は、実施例1から3までのいずれか1つに記載の方法であり、ここでは、物体が当該箇所において操作されるべきか否かの推定は、記述子画像内の当該箇所に対応付けられている記述子と登録された記述子のうちの1つとの一致の程度である。物体の各箇所には(入力)画像内のピクセルが1つずつ対応付けられており、これが記述子画像へとマッピングされるので、物体の各箇所に対応して、記述子画像内の1つのピクセルひいては(このピクセルのピクセル値である)記述子も対応付けられる。同様に、物体の箇所は、ここで使用され生成される種々の画像内のピクセルによって表現され、又は、当該箇所の(ピクセル)値に対応付けられる。
このようにして、推定において、ある箇所を回避すべきか又は利用すべきかについての不確実性も表現される。当該不確実性は、操作箇所を選択する際に、操作品質値のピクセル値を相応に考慮することによって、考慮することができる。
実施例5は、実施例1から4までのいずれか1つに記載の方法であり、ここでは、方法が、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により記述子画像内の当該箇所に対応付けられている記述子と登録された記述子とがどの程度良好に一致するかを示す記述子一致画像を登録された各記述子につき形成することにより、操作品質画像を生成することと、記述子一致画像を操作品質画像に組み合わせることとを含む。
例えば、記述子一致画像(例えば「ヒートマップ」)を、ピクセルごとに記述子一致画像全体にわたる最大値を取得する(又はピクセル値における一致度の符号化に応じて最小値も取得する)ことにより組み合わせることができる。これにより、操作品質画像の効率的な生成が可能となる。
実施例6は、実施例5に記載の方法であって、ここでは、方法が、ピクセルごとの乗算、ピクセルごとの最大値形成、ピクセルごとの最小値形成によって操作品質画像と操作優先画像とを組み合わせることと、操作品質画像が設定された最小品質を下回る操作品質を示す箇所を除外することと、操作優先画像が、ユーザ入力に従って操作時に利用されるべき箇所につき、設定された最小一致度を下回る登録された記述子との一致を示す箇所を除外すること、及び/又は、操作優先画像が、ユーザ入力に従って操作時に回避されるべき箇所につき、設定された最大一致度を上回る登録された記述子との一致を示す箇所を除外することとを含む。
このようにして、物体を操作できる箇所と物体を操作すべき箇所との双方を示す組み合わせ画像を効率的に生成することができる。
実施例7は、実施例1から6までのいずれか1つに記載の方法を実行するように構成されたロボット制御装置である。
実施例8は、プロセッサによって実行されるときに、実施例1から6までのいずれか1つに記載の方法をプロセッサに実施させるための命令を含むコンピュータプログラムである。
実施例9は、プロセッサによって実行されるときに、実施例1から6までのいずれか1つに記載の方法をプロセッサに実施させるための命令を記憶したコンピュータ可読媒体である。
図面においては、同様の参照符号は、全般的に種々の図面の全体における同様の部分に関する。図面は、必ずしも縮尺通りに描かれておらず、これに代えて、本発明の基本方式を全体として図示することに重点が置かれている。以下の説明においては、次の図面を参照して種々の態様を説明する。
ロボットを示す図である。 一実施形態による、物体を受容する箇所の算定を示す図である。 物体を操作するロボット、特に物体を受容するロボットを制御するための方法を示すフローチャートである。
以下の詳細な説明は、本発明を実施することができる本開示の特別な詳細及び態様の説明のために示す添付の図面を参照して行う。他の態様を使用することができ、本発明の権利保護範囲から逸脱することなく、構造的、論理的及び電気的な変更を実行することができる。本開示の種々の態様は、必ずしも相互に排他的ではない。なぜなら、本開示のいくつかの態様と本開示の他の1つ又は複数の態様とを組み合わせて新たな態様を形成することができるからである。
以下に、種々の実施例を詳細に説明する。
図1には、ロボット100が示されている。
ロボット100は、ロボットアーム101、例えば、ワークピース(又は、1つ又は複数の他の物体)を取り扱う又は組み付けるための産業用ロボットアームを含む。ロボットアーム101は、マニピュレータ102,103,104及びベース(又は支持部)105を含み、このベース105によりマニピュレータ102,103,104が支持されている。「マニピュレータ」なる表現は、ロボットアーム101の可動構成部材に関しており、この可動構成部材を操作することにより、例えばタスクを実行するための周囲との物理的な相互作用が可能となる。制御のために、ロボット100は、制御プログラムに従って環境との相互作用を実現するように構成された(ロボット)制御装置106を備えている。マニピュレータ102,103,104の(支持部105から最も遠くに離れている)最後の構成部材104は、エンドエフェクタ104とも称され、溶接バーナ、グリッパ器具、ラッカ塗装装置などの1つ又は複数の工具を含み得る。
(支持部105のより近くに位置する)他のマニピュレータ102,103は、位置決め装置を形成するものであってよく、これにより、エンドエフェクタ104と併せて、終端部にエンドエフェクタ104を備えたロボットアーム101が提供される。ロボットアーム101は、(場合により終端部に工具を備えた状態で)人間の腕と同様の機能を提供することができる機械アームである。
ロボットアーム101は、ジョイント部材107,108,109を含み得るものであり、これらのジョイント部材107,108,109は、マニピュレータ102,103,104を相互に及び支持部105へと結合している。ジョイント部材107,108,109は、1つ又は複数のジョイントを有し得るものであり、これらのジョイントはそれぞれ、関連するマニピュレータの相互に相対的に回転可能な運動(即ち、回転運動)及び/又は並進運動(即ち、移動)を提供することができる。マニピュレータ102,103,104の運動は、制御装置106により制御されるアクチュエータにより開始可能である。
「アクチュエータ」なる表現は、機構又はプロセスを生じさせる駆動装置に対する応働部として構成された部品として理解することができる。アクチュエータは、制御装置106によって形成された指示(いわゆる作動)を機械的な運動として実現することができる。アクチュエータ、例えば電気機械的なコンバータは、その作動に対する応働として電気エネルギを機械エネルギに変換するように構成されるものとしてよい。
「制御部」なる表現は、例えば、記憶媒体に記憶されているソフトウェア、ファームウェア又はこれらの組み合わせを実行することができる回路及び/又はプロセッサを含み得るものであり、及び/又は、本実施例におけるアクチュエータへの指示を出力し得る、論理実装を行う任意の種類のエンティティであるものとして理解することができる。制御部は、例えば、システム即ちロボットの動作を制御するために、例えばプログラムコード(例えばソフトウェア)によって構成可能である。
この実施例においては、制御装置106は、1つ又は複数のプロセッサ110と、プロセッサ110がロボットアーム101を制御するためのコード及びデータを記憶したメモリ111とを含む。種々の実施形態によれば、制御装置106は、ロボットアーム101を、メモリ111内に記憶されている機械学習モデル112に基づいて制御する。
種々の実施形態によれば、機械学習モデル112は、ロボット100が物体113を受容し得る(又は、他の方式により物体と相互作用し得る、例えば、ラッカ塗装し得る)物体113の箇所の識別がロボット100に可能となるように設計及びトレーニングされている。
ロボット100には、例えば、自身の作業空間の画像を撮影することができる1つ又は複数のカメラ114を設けることができる。カメラ114は、例えばロボットアーム101に取り付けられており、したがって、当該ロボットは、自身のロボットアーム101を運動させることにより、物体113の画像を種々の視点から生成することができる。
種々の実施形態によれば、機械学習モデル112はニューラルネットワーク112であり、制御装置106は、ニューラルネットワーク112に、物体113の1つ又は複数のデジタル画像(カラー画像、深度画像、又は、これら双方)に基づく入力データを供給し、ニューラルネットワーク112は、物体113の受容に適した物体113の箇所(又は領域)を示すように構成されている。例えば、ニューラルネットワークは、物体113を示す入力画像を相応にセグメンテーションすることができ、例えば、各ピクセルにつき、当該ピクセルが受容にどの程度良好に適しているかを示す値(「操作品質値」、又は、ここでの用途においては「受容品質値」)を対応付けることができる。この場合、制御装置106は、受容箇所として、これらの値が十分に高い(例えば、閾値を上回っている、平均して最大となっている、などの)十分な大きさを有する領域を選択することができる。
種々の実施形態によれば、カメラから送出されたロー画像データは、ニューラルネットワーク112に直接に入力として供給されるのでなく、制御装置106によって前処理される。当該前処理の結果は、(場合により、ロー画像データの少なくとも一部と共に)ニューラルネットワーク112の入力として使用される。
このことについての1つの手段は、例えば、前処理の際に、デジタル画像に示されている物体の表面の法線ベクトルの標準偏差(又は、散乱についての別の尺度、例えば分散)である。法線ベクトルの標準偏差は、表面の局所的な平坦性を表すことに適しており、したがって、把持品質(又は、物体領域を吸着するための品質)に特に関連する情報である。
例えば、1つ又は複数のカメラは、例えばカメラ114に対応して、特に物体に関する深度情報を含むロー画像データ(即ち、1つ又は複数の画像)を供給する。当該深度情報から、前処理において、物体の表面の法線ベクトルと(表面の種々の領域における)その標準偏差とが算定される。これらがニューラルネットワーク112に入力として供給される。ニューラルネットワーク112の入力は、ロー画像データ又は先行の画像補正前処理(例えば、ノイズリダクション)に従ってロー画像データから生成された画像データの一部(又は全部)を含み得るものである。このような先行の画像補正前処理は、標準偏差を決定する基礎として使用される画像データを生成するためにも使用可能である。ニューラルネットワークは(例えば、(法線ベクトル標準偏差を含む)対応するトレーニング入力及び対応する目標出力、即ち、教師あり学習のためのグラウンドトゥルース情報を用いて)、入力を、物体の受容に(例えば、特に良好に)適した物体の箇所又は領域を識別する出力へマッピングするようにトレーニングされる。
種々のアーキテクチャをニューラルネットワーク112のために使用することができる。ニューラルネットワーク112は、法線ベクトルの標準偏差についての個々の入力チャネルのみを有するものとしてもよいし、又は、1つのチャネルのデータとして、別のチャネルのデータ(例えば、カラー画像データ及び/又は深度画像データ)に加えて、法線ベクトルの標準偏差を含むマルチチャネル入力を有するものとしてもよい。例として、入力画像と同等の大きさの出力画像を生成するために、入力画像の各ピクセルに1つずつの値(この値は、図示の物体を受容するそれぞれの箇所の適性を示す)を対応付ける完全畳み込みネットワーク(英語:fully convolutional network、例えば、UNet、ResNet)が挙げられる。
上記のアプローチにより、例えば、上述したように法線ベクトルを考慮する場合、カメラ114によって撮影された入力画像から、(例えば、インターバル[0,1]の)ピクセル値により当該ピクセルに対応する箇所で(即ち、入力画像におけるピクセルの位置が操作品質画像におけるピクセルの位置に相当する、入力画像内のピクセルによって表示される箇所で)物体をどの程度良好に受容できるかを示す操作品質画像を生成することができる。
しかしながら、操作品質画像に基づく物体の箇所の選択(例えば、操作品質画像において最も高いピクセル値を有するピクセルに対応する箇所での把持)は、最適ではない結果をもたらす可能性がある。なぜなら、物体は確かにこの箇所で良好に受容可能であるが(又は、全般的な操作は可能であるが)、この箇所で受容されると、例えば、処理すべき箇所又はバーコードがグリッパにより隠されることによって、又は、この箇所が損傷を受け易いことによって、さらなる処理を良好に行うことができないおそれがあるからである。
したがって、種々の実施形態によれば、操作品質画像が送出した、当該箇所でどの程度良好に把持が可能であるかに関する操作品質値と、当該箇所で把持を行うべきか否かに関する値(本明細書において「操作優先値」と称している値又は本適用において「受容優先値」と称している値)との組み合わせに基づいて、物体を受容する箇所が組み合わせられる。
このような操作優先値を用いて操作優先画像を生成するために、種々の実施形態によれば、別のニューラルネットワークが、例えば、入力画像を記述子空間画像へとマッピングする、制御装置106における別の機械学習モデル115として使用される。
このような別のニューラルネットワーク115の一例として、デンスオブジェクトネットワークが挙げられる。デンスオブジェクトネットワーク(DON、英語:dense object net)は、画像を任意の次元(次元D)の記述子空間画像へとマッピングする。デンスオブジェクトネットワークは、自己監視学習を使用してトレーニングされるニューラルネットワークであり、画像の入力画像のための記述子空間画像を出力するように構成されている。このようにすれば、既知の物体の画像を、画像の視点に依存することなく物体上の箇所を識別する記述子を含む、記述子画像へとマッピングすることができる。物体タイプに応じてそれぞれのDONが設けられるものとしてよい。
このようなニューラルネットワーク115(以下においては、例としてDONとする)によって、入力画像に対して以下のような操作優先画像を生成することが可能となる。即ち、
(1)物体タイプごとに、それぞれのDON115により、所定の物体タイプの物体の(基準)画像が記述子画像へとマッピングされる。
(2)ユーザが、物体の画像上の、物体を把持すべき箇所のピクセルを(例えばクリックによって)選択し、選択されたピクセルの記述子(即ち、当該ピクセルがDON115によってマッピングされた記述子値)が登録される。例えば、ユーザは、例えば、多角形の頂点又は対応する凸包内のピクセルの頂点をクリックして領域を選択することによって、ピクセルを選択することもできる。このことは、表面上の、ユーザが所望した全ての領域又は箇所がマーキングされる(対応する記述子が登録される)まで繰り返される。同様に、ユーザは、受容時に回避すべき箇所を選択することもできる。
(3)(1)及び(2)を、物体の全ての側が検出されるように、複数の基準画像に対して繰り返すことができる。
このようにすることによって、受容にとって好ましい(又は回避されるべき)箇所に対応する記述子の集合が既知となる(さらに登録される)。DONにより、入力画像において登録された記述子を探索することによって、入力画像において識別される物体のこれらの箇所を識別することができる。対応して、さらに次のことが進行する。即ち、
(4)入力画像に対して、
a.DON115が入力画像から記述子画像を算定する;
b.入力画像に対する記述子画像において登録された記述子が探索され、ピクセルのピクセル値により、当該ピクセルの記述子が登録された複数の記述子のうちの1つにどの程度良好に一致しているかが、具体的には登録された記述子ひいてはユーザによって選択された箇所との一致に関する「(記述子一致)ヒートマップ」の形態で示されるように、(例えばインターバル[0,1]におけるピクセル値を有する)操作優先画像が生成される。このことは、例えば、登録された記述子ごとにそれぞれのヒートマップが生成され、操作優先画像がこれら全てのヒートマップにわたる(ピクセルごとの)最大値として生成されるように行うことができる。
図2には、例えば制御装置106によって実行される、一実施形態による、物体を受容する箇所の算定が示されている。
入力画像201は、(ニューラルネットワーク112に相当する)第1のニューラルネットワーク202に供給され、この第1のニューラルネットワーク202が、操作品質画像203(操作が受容であるここでのケースにおいては受容品質画像)を生成する。
入力画像201は、(ニューラルネットワーク115に相当する)第2のニューラルネットワーク204に供給され、この第2のニューラルネットワーク204が、入力画像201に対する記述子画像205を生成する。登録された記述子画像208との比較により、記述子画像205からヒートマップ206即ち操作優先画像(操作が受容であるここでのケースにおいては受容優先画像)が生成される。
操作品質画像203と操作優先画像206とは、ここでは例えば2つの画像のピクセル値をピクセルごとに乗算することによって、組み合わせられる。
次いで、制御装置106により、操作品質画像と操作優先画像との組み合わせ207に基づいて、ロボットアーム101が物体113を把持する箇所が選択される。
例えば、(例えば操作品質画像と操作優先画像とのピクセルごとの乗算によって)組み合わせ画像207が生成され、さらなる処理が行われて、例えば組み合わせ画像における大域的な極大値を選択することにより、受容箇所又は受容姿勢を決定することができる。
即ち、受容品質の算定は、記述子画像を生成するニューラルネットワーク(例えばDON)を使用して受容優先度を算定することによって補足される。ユーザは、少数の(初期又は基準)画像について手動で好ましい物体の領域を取り扱うことができ、制御装置106は、新たな入力画像のための記述子に基づいて当該領域を識別し、これにより当該領域を(受容品質も十分に高い限り)他の領域よりも優先させることができる。ユーザは少数の領域又は箇所をマーキングするだけでよいので、慣れていないユーザも上述したアプローチを容易に使用することができる。
受容品質を算定するニューラルネットワーク112は、アノテーションされ、したがって、物体の表面における、物体を受容することができる箇所を標識するためのラベルが付された既存の入力データ(例えばRGB-D画像)から、教師あり方式にてトレーニング可能である。
ここでも、相応のトレーニングデータを、DONを用いてニューラルネットワーク103の目標出力をDONによって自動的に生成することにより生成することができる。このために、既知の(トレーニング)物体の表面の受容に良好に適した領域が標識される(これは、あまり適さない領域をマーキングすることにより間接的に行うこともできる)。トレーニング入力画像内でこうした領域を検出することにより、トレーニング入力画像における領域を自動的に標識することができる。トレーニング入力画像における領域の検出は、同様に記述子によって行うこともできる。
物体と(記述子画像の形態の)シーン表現とを生成するためのDONのトレーニングは、自己監視方式によって行うことができる。例えばこの目的で、静的な(即ち、定置の、例えば固定に組み付けられた)カメラを画像撮影に使用することができる方法、即ち、個々のトレーニングシーンを単一の視点から示すトレーニング画像を撮影することができる方法が使用される。この場合、機械学習モデルのためのトレーニングデータは、撮影されたトレーニング画像をトレーニングシーンに対して拡張することによって生成される。これは、2回(又は複数回)形式で行われ、したがって、撮影された各トレーニング画像に対して、トレーニングデータは、撮影されたトレーニング画像で拡張された複数のバージョンを含む。次いで、使用された拡張によって、どのピクセルが対応するかを算定することができる。このような拡張(上記のことを可能とし、したがって、種々の実施形態により使用可能である拡張)には、例えば、ランダムな回転、視点変換及びアフィン変換が挙げられる。次いで、DONは、コントラスト損失を用いてトレーニング画像対を使用してトレーニングを行うことができ、ここで、各トレーニング画像対は、撮影されたトレーニング画像と、トレーニング画像の拡張又はトレーニング画像の2つの拡張されたバージョンとを有する。ここでは、DONが相互に対応するピクセルについて生成した記述子値が正の対として使用され、また、機械学習モデルが相互に対応しないピクセルについて生成した記述子値が負の対として使用される。
この場合、DONのトレーニングは、例えば、以下のようにして行われる。即ち、
(1)ロボットが作業可能な又は作業すべき物体タイプ(即ち、ロボットが自動的に受容することができる又は受容すべき物体タイプ)の集合が選択される。
(2)所定の物体タイプの物体がロボット100の作業領域の容器内にランダムに配置される。
(3)作業領域のRGB-D画像が撮影される。
(4)RGB-D画像が拡張され、DONが拡張(及び例えばコントラスト損失)を用いて自己監視方式によりトレーニングされる。
まとめると、図3に示されているような、種々の実施形態に従った方法が提供される。
図3には、物体を操作するロボット、特に物体を受容するロボットを制御するための方法を示すフローチャート300が示されている。
301において、物体を示す画像が取得される。
302においては、上記の画像から、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値によりこの箇所で物体をどの程度良好に操作できるかの推定を示す操作品質画像が生成される。
303においては、物体の、ユーザ入力に従って操作時に利用される箇所の記述子、及び/又は、物体の、ユーザ入力に従って操作時に回避されるべき箇所の記述子が登録される。
304においては、画像が記述子画像へとマッピングされる。
305においては、登録された複数の箇所の記述子と記述子画像とを比較することにより、物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で物体を操作すべきか否かの推定を示す操作優先画像が生成される。
306においては、操作品質画像のピクセル値及び操作優先画像のピクセル値を考慮して、物体を操作する箇所が選択される。
307においては、ロボットが、選択された箇所で物体を操作するように制御される。
換言すると、種々の実施形態によれば、(例えば、物体中心の自己監視方式によって)トレーニングされた物体表現モデル(記述子を生成するモデル、例えばDON)を用いて、ユーザの優先性に従ったアノテーションがAI主導の操作箇所の予測と組み合わせられる。物体表現モデルによって、人間のユーザは、(受容時に又はさらなる処理の際にも)より大きな成功をもたらすと予想される箇所を取り扱うことができ、当該箇所が新たに撮影された入力画像に対して自動的に識別される。
ここで留意すべき点は、図3の処理を必ずしも図示の順序で行わなくてよいことである。例えば、操作優先画像を操作品質画像の前に生成するものとしてもよい。
図3の方法は、1つ又は複数のデータ処理ユニットを備えた1つ又は複数のコンピュータによって実行することができる。「データ処理ユニット」なる用語は、データ又は信号を処理することができる任意のタイプのエンティティとして理解することができる。データ又は信号は、例えば、データ処理ユニットによって実行される少なくとも1つの(即ち、1つ又は2つ以上の)特別な機能に従って処理することができる。データ処理ユニットは、アナログ回路、デジタル回路、論理回路、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、デジタルシグナルプロセッサ(DSP)、プログラマブルゲートデバイス(FPGA)の集積回路又はこれらの任意の組み合わせを含み得るものであり、又は、これらから構成することができる。本明細書において詳細に説明している各機能を実装する他の任意の方式は、データ処理ユニット又は論理回路装置と理解することもできる。本明細書において説明している個々の方法ステップのうちの1つ又は複数を、データ処理ユニットにより、データ処理ユニットで実行される1つ又は複数の特別な機能によって実行する(例えば、実現する)ことができる。
機械学習モデルのための入力データとして、例えば、色画像及び深度画像が使用される。ただし、当該入力データは、例えばレーダ、LiDAR、超音波、運動、熱画像などのような他のセンサのセンサ信号によって補足することもできる。例えば、RGB画像及び深度画像がロボットセルに記録され、この画像(又は複数のこうした画像)が、1つ又は複数の物体を把持するための候補箇所の生成、及び、ユーザの優先性に従ったアノテーションに基づく記述子一致ヒートマップの生成のために使用される。この場合、尤度ヒートマップが、低い尤度値を有する候補箇所を破棄するために使用可能である。即ち、登録された記述子値の近傍にある記述子を有する候補箇所、即ち、ユーザが選択した箇所の記述子の近傍にある候補箇所が認容される一方、登録された記述子値と著しく異なる記述子を有する候補箇所は破棄される。例えば、ピクセル位置のヒートマップ値が閾値を下回っている場合、当該ピクセル位置にある候補箇所が破棄される。
次に、ロボットは、残余の候補箇所から(ランダムに)1つの箇所を選択し、選択された箇所で各物体を把持する(又は吸着する)ことができる。
各実施形態を、機械学習システムのトレーニングのために、及び、ロボット、例えばロボットマニピュレータの自律的な制御のために使用して、種々のシナリオにおいて種々の操作タスクを達成することができる。特に、各実施形態は、例えば組付けラインにおいて、操作タスクの実行の制御及び監視に適用可能である。
本明細書においては、特定の実施形態について図示及び説明したが、当業者であれば、本発明の権利保護範囲から逸脱することなく、図示及び説明した特定の実施形態を代替的な及び/又は等価の多様な実現形態で交換できることが認識されよう。本願は、本明細書において説明した特定の実施形態の任意の適応化形態又は変形形態を包含するものとする。したがって、本発明は、特許請求の範囲及びその等価物によってのみ限定されることを意図している。

Claims (9)

  1. 物体を操作するロボット、特に物体を受容するロボットを制御するための方法であって、
    前記物体を示す画像を取得することと、
    前記画像から、前記物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で前記物体がどの程度良好に操作可能であるかの推定を示す操作品質画像を生成することと、
    前記物体の、ユーザ入力に従って操作時に利用される箇所、及び/又は、ユーザ入力に従って操作時に回避されるべき箇所の記述子を登録することと、
    前記画像を記述子画像へマッピングすることと、
    複数の箇所の登録された記述子と前記記述子画像とを比較することにより、前記物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により当該箇所で前記物体を操作すべきか否かの推定を示す操作優先画像を生成することと、
    前記操作品質画像のピクセル値及び前記操作優先画像のピクセル値を考慮して、前記物体を操作する箇所を選択することと、
    前記ロボットを制御して、選択された箇所で前記物体を操作することと、
    を含む方法。
  2. 前記操作品質画像が、前記物体の画像及び/又は前記物体の画像から導出された情報を操作品質画像へマッピングするようにトレーニングされた第1のニューラルネットワークを用いてマッピングされ、及び/又は、
    前記画像が、前記物体の画像を記述子画像へマッピングするようにトレーニングされた第2のニューラルネットワークを用いて記述子画像へマッピングされる、
    請求項1に記載の方法。
  3. 前記操作品質画像と前記操作優先画像とを組み合わせることと、
    当該組み合わせを使用して前記物体を操作する箇所を選択することと、
    を含む、請求項1又は2に記載の方法。
  4. 前記物体が前記箇所において操作されるべきか否かの推定は、前記記述子画像内の前記箇所に対応付けられている記述子と登録された記述子のうちの1つとの一致の程度である、請求項1乃至3のいずれか一項に記載の方法。
  5. 前記物体の表面上の1つの箇所を表現する各ピクセルにつき、当該ピクセルのピクセル値により前記記述子画像内の当該箇所に対応付けられている記述子と登録された記述子とがどの程度良好に一致するかを示す記述子一致画像を登録された各記述子につき形成することにより、前記操作品質画像を生成することと、
    前記記述子一致画像を前記操作品質画像に組み合わせることと、
    を含む、請求項1乃至4のいずれか一項に記載の方法。
  6. ピクセルごとの乗算、ピクセルごとの最大値形成、ピクセルごとの最小値形成によって前記操作品質画像と前記操作優先画像とを組み合わせることと、
    前記操作品質画像が設定された最小品質を下回る操作品質を示す箇所を除外することと、
    前記操作優先画像が、ユーザ入力に従って操作時に利用されるべき箇所につき、設定された最小一致度を下回る登録された記述子との一致を示す箇所を除外すること、及び/又は、前記操作優先画像が、ユーザ入力に従って操作時に回避されるべき箇所につき、設定された最大一致度を上回る登録された記述子との一致を示す箇所を除外することと、
    を含む、請求項5に記載の方法。
  7. 請求項1乃至6のいずれか一項に記載の方法を実施するように構成されたロボット制御装置。
  8. プロセッサによって実行されるときに、請求項1乃至6のいずれか一項に記載の方法を前記プロセッサに実施させるための命令を含むコンピュータプログラム。
  9. プロセッサによって実行されるときに、請求項1乃至6のいずれか一項に記載の方法を前記プロセッサに実施させるための命令を記憶したコンピュータ可読媒体。
JP2023101477A 2022-06-22 2023-06-21 物体を操作するロボット、特に物体を受容するロボットを制御するための方法 Pending JP2024001876A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022206274.4A DE102022206274A1 (de) 2022-06-22 2022-06-22 Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102022206274.4 2022-06-22

Publications (1)

Publication Number Publication Date
JP2024001876A true JP2024001876A (ja) 2024-01-10

Family

ID=89075580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023101477A Pending JP2024001876A (ja) 2022-06-22 2023-06-21 物体を操作するロボット、特に物体を受容するロボットを制御するための方法

Country Status (5)

Country Link
US (1) US20230415349A1 (ja)
JP (1) JP2024001876A (ja)
KR (1) KR20230175122A (ja)
CN (1) CN117260702A (ja)
DE (1) DE102022206274A1 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4835616B2 (ja) 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
US9199376B2 (en) 2013-03-14 2015-12-01 GM Global Technology Operations LLC Intuitive grasp control of a multi-axis robotic gripper
DE102014223167A1 (de) 2014-11-13 2016-05-19 Kuka Roboter Gmbh Bestimmen von objektbezogenen Greifräumen mittels eines Roboters
DE102017108727B4 (de) 2017-04-24 2021-08-12 Roboception Gmbh Verfahren zur Erstellung einer Datenbank mit Greiferposen, Verfahren zum Steuern eines Roboters, computerlesbares Speichermedium und Handhabungssystem
US10766149B2 (en) 2018-03-23 2020-09-08 Amazon Technologies, Inc. Optimization-based spring lattice deformation model for soft materials
EP3702108A1 (de) 2019-02-27 2020-09-02 GILDEMEISTER Drehmaschinen GmbH Verfahren zum ermitteln einer greifposition zum ergreifen eines werkstücks
DE102019206444A1 (de) 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera
US11816754B2 (en) 2020-03-13 2023-11-14 Omron Corporation Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
DE102020214301A1 (de) 2020-11-13 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102021202570A1 (de) 2021-03-16 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte

Also Published As

Publication number Publication date
CN117260702A (zh) 2023-12-22
DE102022206274A1 (de) 2023-12-28
KR20230175122A (ko) 2023-12-29
US20230415349A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
WO2018221614A1 (ja) 学習装置、学習方法、学習モデル、推定装置及び把持システム
CN106945035B (zh) 机器人控制设备及其控制方法和机器人系统
JP4004899B2 (ja) 物品の位置姿勢検出装置及び物品取出し装置
JP2009083095A (ja) ロボット装置の制御方法及びロボット装置
JP2008014691A (ja) ステレオ画像計測方法とそれを実施する装置
KR20230119159A (ko) 파지 생성을 위한 픽셀단위 예측
JP7051751B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2022078979A (ja) 種々の姿勢状況の物体をピックアップするロボットを制御するための装置及び方法
WO2021117479A1 (ja) 情報処理装置、方法およびプログラム
US20230267724A1 (en) Device and method for training a machine learning model for generating descriptor images for images of objects
JP2006021300A (ja) 推定装置および把持装置
US20230150142A1 (en) Device and method for training a machine learning model for generating descriptor images for images of objects
JP2024001876A (ja) 物体を操作するロボット、特に物体を受容するロボットを制御するための方法
JP5218209B2 (ja) 複数の物体間の相対移動を検出する方法
CN116690554A (zh) 用于控制机器人执行任务的设备和方法
JP2015145050A (ja) ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム
JP2022133256A (ja) 対象物をピックアップするロボットの制御装置及び制御方法
CN115082550A (zh) 从对象的相机图像中定位对象的位置的设备和方法
JP2021061014A (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
CN117377558A (zh) 自动拾取和放置系统
CN114049318A (zh) 一种基于多模态融合特征的抓取位姿检测方法
KR20170101754A (ko) 그리퍼를 이용한 물체의 움직임 추정 장치 및 그 방법
WO2019093299A1 (ja) 位置情報取得装置およびそれを備えたロボット制御装置
US20230098284A1 (en) Method for generating training data for supervised learning for training a neural network
Park et al. Robot-based Object Pose Auto-annotation System for Dexterous Manipulation