JP2020172017A - ロボット光センサのオートキャリブレーション - Google Patents

ロボット光センサのオートキャリブレーション Download PDF

Info

Publication number
JP2020172017A
JP2020172017A JP2020025162A JP2020025162A JP2020172017A JP 2020172017 A JP2020172017 A JP 2020172017A JP 2020025162 A JP2020025162 A JP 2020025162A JP 2020025162 A JP2020025162 A JP 2020025162A JP 2020172017 A JP2020172017 A JP 2020172017A
Authority
JP
Japan
Prior art keywords
optical sensor
calibration
robot
determining
robot arm
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
JP2020025162A
Other languages
English (en)
Inventor
ハウスラー フィリップ
Haeusler Phillip
ハウスラー フィリップ
ジョン コクレーン ジェイソン
John Cochrane Jason
ジョン コクレーン ジェイソン
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of JP2020172017A publication Critical patent/JP2020172017A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/02Positioning or observing the workpiece, e.g. with respect to the point of impact; Aligning, aiming or focusing the laser beam
    • B23K26/04Automatically aligning, aiming or focusing the laser beam, e.g. using the back-scattered light
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • 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
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67259Position monitoring, e.g. misposition detection or presence detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Optics & Photonics (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Plasma & Fusion (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ロボット光センサの自動的な内部キャリブレーション及び外部キャリブレーションのためのシステム及び方法を提供する。【解決手段】光センサ(502a)とロボットアーム(102)とキャリブレーションチャート(114)と、光センサをキャリブレーションするための一組の姿勢を決定することと、少なくともこの一組の姿勢に基づいて3次元位置データ及び配向データを含む姿勢データを生成することと、少なくともこの姿勢データに基づいてロボットアームを複数の姿勢に動かすことと、前記複数の姿勢の各々において、光センサでキャリブレーションチャートの一組の画像を撮影し姿勢を記録することと、少なくともこの一組の撮影画像に基づいて内部キャリブレーションパラメータを算出することと、少なくともこの一組の撮影画像に基づいて外部キャリブレーションパラメータを算出することを含む工程を1つ以上のプロセッサに行わせるものである。【選択図】図1A

Description

カメラなどの光センサは、例えばコンピュータビジョン(CV)アプリケーションなどの、いくつかのロボットアプリケーションに用いられており、製造作業や倉庫での材料の取り扱い中に一般的に行われるようなナビゲーション、品質管理(QC)、ならびに、検出対象に対するその他の機能を行うためのロボットアプリケーションに用いられている。CVアプリケーションによって収集された画像を適切に判定するには、光センサがキャリブレーションされている必要がある。このことは、エンドエフェクタに対するオブジェクトの正確な位置判定を実現するために必要である。
キャリブレーションには、主として、二種類ある。内部(intrinsic)キャリブレーションと、外部(extrinsic)キャリブレーションである。一般的に、内部キャリブレーションは、例えば、そのシステムに固有の光学収差や不整(inconsistencies)を考慮するために、光センサレンズのパラメータを推定するものであり、理想的な条件下で第1データセットの画像を手作業で取得することによって、ラボ環境で算出される。光センサ装着位置の外部キャリブレーションパラメータ値も、一般的に、理想的な条件下で第2データセットの画像を手作業で取得することによって、ラボ環境で算出され、内部キャリブレーションプロセスが完了した後に行われる。ロボットの使用中には、振動、レンズの汚れ、センサの衝突などの様々な外的要因により、しばしば、光センサを再キャリブレーションする必要性が生じる。上述したキャリブレーションプロセスは、手作業によるものであり、二段階での別々の画像収集を必要とする。また、このようなキャリブレーションは、手作業のプロセスであるため、安定しない可能性があり、オペレータのスキルに依存している。
開示の実施例について、下記の添付図面を参照して、以下に詳述する。また、本明細書で開示される実施態様を例示するため、以下に概要を提示する。ただし、この概要は、特定の構成や工程の順序にすべての実施例を限定することを意図したものではない。
本明細書に開示のいくつかの側面及び実施形態は、ロボット装着光センサの自動的な内部キャリブレーション及び外部キャリブレーションに関する。一実施態様は、光センサと、ロボットアームと、キャリブレーションチャートと、1つ以上のプロセッサと、命令を格納するメモリとを含み、前記命令は、前記光センサをキャリブレーションするための一組の姿勢を決定することと、少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、少なくとも前記姿勢データに基づいて、前記ロボットアームを複数の姿勢に動かすことと、前記複数の姿勢の各々において、前記光センサで、前記キャリブレーションチャートの一組の画像を撮影することと、少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む工程を、前記1つ以上のプロセッサに行わせるものである。
記載された特徴、機能、利点は、様々な実施形態において個別に達成することができ、あるいは、さらに他の実施態様と組み合わせてもよく、そのさらなる詳細は、以下の記載及び図面を参照することによって明らかになるものである。
開示の実施例について、下記の添付図面を参照して、以下に詳述する。なお、図全体にわたって、共通する参照符号は、共通する部品を示している。
一実施例によるロボット100の正面図である。 一実施例によるロボット100の側面図である。 一実施例によるロボットベース装着光センサ502aからのビューを示す図である。 一実施例によるキャリブレーションチャート300を示す図である。 一実施例による様々な座標間の関係を示す図である。 一実施例による、一般的な光センサ502の出力をキャリブレーションされた画像508に変換(画像修正)するためのプロセス500を示す図である。 一実施例による、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのプロセス600を示すブロック図である。 一実施例による、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのためのコントローラ700を示すブロック図である。 一実施例による、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションの実施態様を示すフローチャートである。 一実施例による、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのプロセス900を示すブロック図である。 一実施例による、本開示の様々な側面を実施するのに適した演算装置1000のブロック図である。 一実施例によるロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションを有利に採用する装置の製造及び保守方法1100のブロック図である。 一実施例によるロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションを有利に採用する装置1200のブロック図である。 一実施例による、特定の飛行モジュール1201の概略斜視図である。
様々な実施態様を、添付図面を参照して詳述する。可能な限り、同じ部材又は類似の部材については、図面全体を通して同じ参照数字を用いる。本開示にわたる特定の実施形態に対する言及は、例示のみを目的として提示するものであり、これに反する示唆が無い限り、すべての実施態様を限定することを意図したものではない。
上記の概要、ならびに、下記のいくつかの実施形態の詳細な説明は、添付図面を参照することによって、より明確に理解されよう。本明細書において、単数形で記載されるとともに「1つの」という言葉が前に付された要素あるいは工程は、複数の要素あるいは工程を必ずしも排除するものではない。また、「一実施態様」に言及することは、記載されている特徴を同様に含む別の実施態様の存在を排除するものではない。さらに、特に明記されていない限り、特定の特性を有する1つの要素あるいは複数の要素を「備える」あるいは「有する」実施形態は、その性質を有しない別の要素を追加的に含んでいてもよい。
カメラなどの光センサは、例えばコンピュータビジョン(CV)アプリケーションなどの、いくつかのロボットアプリケーションに用いられており、製造作業や倉庫での材料の取り扱い中に一般的に行われるようなナビゲーション、品質管理(QC)、ならびに、検出対象に対するその他の機能を行うためのロボットアプリケーションに用いられている。しかしながら、CVアプリケーションによって収集された画像を適切に判定するには、画像内におけるオブジェクトの実際の位置が推定位置にできるだけ近くなるように、光センサがキャリブレーションされている必要がある。これは、エンドエフェクタに対するオブジェクトの正確な位置判定を達成するために必要である。本明細書に記載の実施形態は、これら及びその他の要素を考慮している。本明細書に記載の実施形態の技術的効果の一つとして、ロボットアプリケーションのキャリブレーションの時間が短縮される。また、本明細書に記載の実施形態の技術的効果の1つとして、CVアプリケーションの精度が向上する。また、本明細書に記載の実施形態の技術的効果の1つとして、手作業によるキャリブレーションへの依存度が低減される。
キャリブレーションには、主として、二種類ある。内部キャリブレーションと、外部キャリブレーションである。外部キャリブレーションパラメータは、「外部キャリブレーション値」及び/又は「外部キャリブレーションパラメータ値」とも称される。内部キャリブレーションパラメータも、「内部キャリブレーション値」及び/又は「内部キャリブレーションパラメータ値」とも称される。本明細書で用いられる内部キャリブレーションとは、概して、例えば光学収差などのレンズ固有の不整などの、カメラシステムに固有のアーチファクト(artifacts)を補償することに関する。内部キャリブレーションパラメータは、このような不整の影響を排除又は考慮するためのものである。一般に、光センサレンズの内部キャリブレーションパラメータは、理想的な条件下で第1データセットの画像を手作業で取得することによって、ラボ環境で算出される。各画像は、チェスボードやChArUcoボードなどの、検知可能な既知のサイズの基準を含んでいる。データが取得されると、各画像が個別に処理されて、基準となるキーポイントの位置が求められる。次に、この測定された一組の基準キーポイントが、一組の定格の基準ボード点と対応付けられる。そして、レーベンバーグ・マーカート最適化(Levenberg-Marquardt optimization)などの最適化法を用いて、レンズの光学パラメータを求める。
本明細書で用いられる外部キャリブレーションとは、概して、センサ座標からロボット座標系への変換を規定する一組の値を求めることに関する。一般に、これは、センサに対するロボットのエンドエフェクタの運動(kinetic movement)をマッピングすること(例えば、ハンド・アイキャリブレーション(hand/eye coordination calibration)を含む。例えば、このマッピングは、AX=XBとしてモデル化され、ここで、A及びBは、異なる位置からのセンサ測定値であり、Xは、センサ測定値を空間内の異なる位置と相関させる未知の変換データである。当技術分野において知られているように、任意の手法を用いて、この変換データを導くことができる。光センサ装着位置の外部キャリブレーションパラメータも、一般的に、理想的な条件下で第2データセットの画像を手作業で取得することによって、ラボ環境で算出され、内部キャリブレーションプロセスが完了した後に行われる。内部キャリブレーションが既に完了しているので、各画像からは歪みが除去されており、各基準の位置は、例えば、PnP(Perspective-n-Point)最適化を用いて求められる。PnPは、ワールド座標系内のn個の3次元点と、これに対応する画像内の二次元投影点との組から、内部キャリブレーションされた光センサの姿勢を推定することを含む。外部キャリブレーションとしても知られる光センサの姿勢は、6自由度(DOF)によって構成され、当該自由度は、ワールド座標系に対する光センサの回転(ロール、ピッチ、及び、ヨー)と、3D並進(例えばX、Y、及びZ)とによって構成されている。
ロボットの使用中には、様々な外的要因(例えば振動)、レンズの汚れ、センサの不正確さ、ずれ(drift)、非同時性、オクルージョン(occlusions)、及び、光センサの衝突によって、しばしば、再キャリブレーションの必要性が生じる。残念ながら、これらのプロセスは、手作業によるものであり、二段階での別々の画像収集を必要とする。
本明細書に開示の側面及び実施形態は、ロボット光センサの自動的な内部キャリブレーション及び外部キャリブレーションに関する。一実施態様は、光センサと、ロボットアームと、キャリブレーションチャートと、1つ以上のプロセッサと、命令を格納するメモリとを含み、当該命令は、光センサをキャリブレーションするための一組の姿勢を決定することと、少なくとも当該一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、少なくとも当該姿勢データに基づいて、ロボットアームを複数の姿勢に動かすことと、複数の姿勢の各々において、光センサで、キャリブレーションチャートの一組の画像を撮影することと、少なくとも当該一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、少なくとも当該一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む工程を、前記1つ以上のプロセッサに行わせるものである。
一実施態様は、キャリブレーションエンドエフェクタ(キャリブレーションチャート上の既知のパターンを有するエンドエフェクタ)をロボットアームに取り付けることを含む。一様な広がりを有するキャリブレーションボードのパースペクティブをカメラに提供する、1組の適切な姿勢が決定される。次に、ロボットアームが自動的に各姿勢に動かされて、画像が撮影され、キャリブレーションチャートの位置及び配向と共に記録される。得られた一組の画像を用いて、内部レンズキャリブレーションが算出される。この後、当該レンズキャリブレーションを用いて、各画像の歪みが取り除かれ、各画像について、キャリブレーションチャートの正確な姿勢が求められる。測定されたキャリブレーションチャートの姿勢と、各画像について記録されたロボットアームの姿勢とを用いて、2組の変換データが構築される。次に、これらの変換データを用いて、AX=XBの最適化式の解が求められ、これにより、一組の画像を用いて、光センサの外部キャリブレーションが求められる。これは、キャリブレーションプロセスを高速化し、結果としてロボットのダウンタイムを減らして使用率を向上させるものであり、モバイルマニピュレータロボット、その製造や保守、ならびに倉庫作業を含む様々な場面に、適用可能である。
より具体的に図を参照すると、図1Aは、ロボット100の正面図であり、図1Bは、ロボット100の側面図である。ロボット100は、ロボットアーム102を有しており、当該ロボットアームは、複数の部分104a〜104e、及び、これらの部分104a〜104eの間の複数のジョイント部106b〜106eを有する。ジョイント部106aは、ロボットアーム102の部分104aをロボット本体108に接続している。図示のように、ロボット本体108は、ベース108b上で回転する上部セグメント108aを有する。(例えばジョイント部106a〜106eを旋回させることによって)位置を操作することによって、ロボットアーム102は、様々な配向の様々な位置に移動可能である。ロボットアーム102のいくつかの実施形態は、3D位置(例えば、デカルト軸に沿ったX並進、Y並進、及び、Z並進)の制御、及び、3D配向(例えば、ロール、ピッチ、及び、ヨー)の制御による、6自由度(6DoF)を有する。コントローラ700が、ロボット100の動作を制御する。コントローラについては、図7を参照して後述する。
光センサハウジング110が、ロボット本体108の上部セグメント108aの前面に取り付けられた状態を示しているが、他の実施態様では、光センサハウジング110は、ロボットアーム102に取り付けられる。光センサハウジング110は、3つの開口112a〜112cを有するものとして示されているが、代替の実施態様では、他の数の開口が用いられる。中央開口112bの後方には、第1ロボット光センサ502aがある。開口112aの後方には、第2ロボット光センサ502bがある。開口112cの後方には、別の光センサ又は発光体(例えばLED)がある。一実施態様において、ロボット光センサ502a及び502bは、可視光の波長で動作するカメラである。いくつかの実施態様において、ロボット光センサ502a及び502bは、例えば赤外線(IR)などの可視光外の波長で動作する。いくつかの実施態様において、ロボット光センサ502aと502bとは、異なる波長で動作する。デュアルセンサを用いることにより、ステレオ撮像に加えて比較も可能になり、例えば、ロボット光センサ502aの出力とロボット光センサ502bの出力とを比較することによって、再キャリブレーションの必要性を判断することができる。エンドエフェクタ114は、キャリブレーションチャート300を保持するための所定位置にあり、これについては、図3に関連させて詳述する。
図2は、ロボットアーム102が図1に示したのと同様の位置にある際の、ロボット光センサ502aからのビュー200を示している。ビュー200は、ロボットアーム102、ロボットアームの影202、及び、エンドエフェクタ114を含んでいる。図1B及び図2に示したエンドエフェクタ114は、チェックボードのパターンを有しているが、実施態様によっては、図3にキャリブレーションチャート300として示した、7×8のChArUcoキャリブレーションボードパターンが用いられる。ChArUcoボードは、ArUcoパターンをチェックボード(別名チェスボード)と組み合わせたものであり、より多くの数のエッジ及び形状を提供することにより、アラインメントの精度を向上させる。例えば、図3のChArUcoボードは、回転対称ではない。
図4は、様々な座標間の1組の関係を示している。ワールド座標402は、グローバル参照フレーム内の、あるオブジェクトの位置を表し、カメラ座標404は、カメラ又はその他のセンサ(例えばロボット光センサ502a)の焦点に対する当該オブジェクトの位置を表す。ワールド座標402とカメラ座標404とは、3Dから3Dへの変換によって、関連付けられる。カメラ座標404は、3Dから2次元(2D)へのマッピングによって、2Dピクセル座標406を特定し、これが、画像内におけるオブジェクトの位置を示す。外部キャリブレーションパラメータ408は、ワールド座標402をカメラ座標404と関連付け、内部キャリブレーションパラメータ410は、カメラ座標404をピクセル座標406と関連付ける。
図5は、一般的な光センサ502の出力を、キャリブレーションされた画像508に変換するためのプロセス500を示している。光センサ502の様々な具体的な実施形態は、ロボット光センサ502a及びロボット光センサ502bを含む。光センサ502は、未加工画像504を出力する。未加工画像504に対して行われるキャリブレーション工程506によって、(例えばCVアプリケーションにおける)データ抽出に適した、キャリブレーションされた画像508が生成される。一般に、内部キャリブレーションは、レンズ歪みを取り除いて、正しい見た目の画像を生成することに関連している。内部キャリブレーションパラメータは、2D座標から3D座標に投影する(例えば、オブジェクトが画像内のどこにあるかに基づいて、当該オブジェクトが部屋のどこにあるかを判定する)ためにも用いられる。外部キャリブレーションは、外部フレーム(例えば、ロボットフレームや装着ポイント)に対して、センサ光学面を位置特定することに関する。
図6は、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのプロセス600を示すブロック図である。工程602において、所望の利用パラメータ(coverage parameters)が決定される。一実施態様において、これは、所望のキャリブレーション精度を有する。工程604において、一組の姿勢が決定される。一実施態様において、ロボット光センサ502aの視野(例えば、これにより得られる画像範囲)にわたる一様な広がりのキャリブレーションボードのパースペクティブが決定される。一実施態様では、キャリブレーションチャート300のパースペクティブを収集画像のデータセットに効果的に配分するための姿勢を、アルゴリズムを用いて自動的に決定する。これによって、データセットを手作業で取得する必要が無くなり、最適化に貢献する、より均等に分配されたデータセットが得られる。
工程604は、複数の工程606〜630を含む。工程606では、ロボット光センサ502aの視野内の2D利用項目が決定される。工程608では倍率調整が適用され、工程610では並進移動が適用され、工程612では、例えば画像データの傾きを補正するなどのために、傾き調整が適用され、工程614では回転が適用される。次に、工程616は、工程618〜628において、姿勢を精査(refine)する。工程618では、2D利用項目が3D姿勢に変換され、工程620はPnP最適化を含む。工程622では、インバースキネマティクス(inverse kinematics)を用いて、到達可能性が判定される。インバースキネマティクスとは、ロボットアーム102のキネマティクス方程式(kinematics equations)を用いて、エンドエフェクタ114の所望の位置を実現するジョイント部パラメータを求めることをいう。エンドエフェクタ114が所望のタスクを達成できるようにロボットアーム102の動きを指定することは、モーションプランニングとして知られている。インバースキネマティクスは、モーションプランを、ロボットアーム102のジョイント部のアクチュエータ軌道に変換する。判定工程624において、ある姿勢が到達可能と判定されると、工程626において、当該姿勢が承認されて姿勢の組内に保存される。そうでない場合は、工程628において、その姿勢は拒絶される。一実施態様において、到達可能性を判定することは、ロボットアーム102が指定された位置に移動することができるかどうかを判定することと、キャリブレーションチャート300がロボット光センサ502aの視野内にあるかを判定することとの両方を含む。工程630では、姿勢の順序が最適化され、例えば、すべての姿勢を通過するためにロボットアームが必要とする動きが最小限に抑えられる順序とされる。
工程632において、キャリブレーションデータが取得される。この工程は、工程634〜642を含む。工程634は、一組の姿勢における各姿勢について、繰り返される。工程636は、少なくとも姿勢データに基づいて、ロボットアーム102を複数の姿勢における各々に動かすことを含む。工程638は、ロボットアームがエンドエフェクタ114をどこに動かしたかに基づいて、キャリブレーションチャート300の位置データを取得することを含む。工程640において、画像が取得され、工程642は、画像と変換データとの対を記録することを含む。こうして、画像データセットがキャリブレーションに利用できる状態となる。工程644は、内部キャリブレーションパラメータ410を算出することを含み、工程646は、外部キャリブレーションパラメータ408を算出することを含む。プロセスの概要としては、画像のセット及びキャリブレーションチャート300の既知の特性から内部キャリブレーションパラメータ410が算出され、内部キャリブレーションを適用して撮影画像の歪みを取り除き、歪みが取り除かれた画像に対してマーカー検出を適用し、最適化プログラムを用いてマーカー検出結果を(工程638による)先の記録位置と比較し、これにより外部キャリブレーションパラメータ408を生成する。
より具体的には、取得されたデータを用いて(例えば測定されたキャリブレーションボード基準ポイントを定格のセットと比較するレーベンバーグ・マーカート最適化を用いて)、内部レンズ歪みキャリブレーション値が得られる。次に、画像から歪みが除去される。各画像内における(キャリブレーションチャート300を保持している)エンドエフェクタ114の位置が、PnP最適化によって算出される。各姿勢が、ロボット光センサ502aに関する、対応する算出位置と対にされる。一実施態様において、ロボット光センサ502aの装着位置は、例えばデュアルクオータニオン(dual-quaternion)法による姿勢生成アルゴリズムを用いてAX=XBの式の解を求めることによって得られる。
図7は、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのためのコントローラ700を示すブロック図である。一実施態様において、コントローラ700は、ロボット100のロボット本体108内にある(図1A参照)。一実施態様において、コントローラ700は、演算装置1000を具現化したものであり、演算装置については図10を参照して詳述する。コントローラ700は、メモリ1002に接続された1つ又は複数のプロセッサ1004を含む。コントローラ700は、光センサ502に接続されており、当該光センサは、ロボット光センサ502a及び/又はロボット光センサ502bを表している。コントローラ700は、位置センサ732にも接続されており、当該位置センサは、ロボットアーム102(具体的には、部分104a〜104e、ジョイント部106a〜106e、及びエンドエフェクタ114)の位置及び配向を感知する。位置データ716は、(図6の)工程638で取得されるものであり、位置センサ732によって取得される。コントローラ700は、ロボットアームサーボモータ730にも接続されており、当該サーボモータは、ジョイント部106a〜106eを動かすことによって、ロボットアーム102を移動させる。
メモリ1002は、プロセッサ1004によって実行可能な命令、及び、保存されたデータを含む。メモリ1002は、光センサ制御部702を含み、当該制御部が、ロボット光センサ502a及び502bを制御する。メモリは、ロボットアーム制御部704も含み、当該制御部が、位置センサ732からのフィードバックを用いてロボットアームサーボモータ730を制御することにより、エンドエフェクタ114を指定された姿勢(例えば指定された3D位置及び配向)に配置する。メモリは、本明細書に記載のキャリブレーションプロセスの際に収集された画像に対する基準又はデフォルトのキャリブレーションのために用いるべく、以前のキャリブレーションデータ706も含む。一実施態様において、以前のキャリブレーションデータ706は、デフォルトのキャリブレーションデータに置き換えられる。キャリブレーションモニターコンポーネント708は、例えば、異なる画像から算出されたオブジェクトの位置を比較すること、あるいは、タイマーを監視することによって、トリガー基準710に従ってキャリブレーショントリガーイベントを決定する。姿勢生成及び最適化コンポーネント712は、キャリブレーションプロセスの際にロボットアーム102を移動させるための姿勢データ714を生成する。
未加工画像504は、様々な姿勢において光センサ502から出力され、キャリブレーションに用いられる。キャリブレーションでは、工程642において記録された、画像と変換データとの対718も用いられる。キャリブレーションプロセス制御部720が、内部キャリブレーションサポートデータ722及び外部キャリブレーションサポートデータ724を用いて内部キャリブレーション及び外部キャリブレーションを行い、これらのサポートデータは、本明細書に記載の計算を行うのに必要なロジック及びデータを含んでいる。内部キャリブレーションサポートデータ722は、キャリブレーションチャート300のデータも含んでいる。外部キャリブレーションパラメータ408と内部キャリブレーションパラメータ410との両方を含む、算出されたキャリブレーションパラメータ726も、メモリ1002内にある。メモリ1002は、キャリブレーションされた画像508、及び、本明細書に記載の工程を実行するために必要な他のロジック及びデータ728も保持する。
図8を参照すると、フローチャート800は、ロボット光センサ502aのオートキャリブレーションのプロセスの実施態様を示している。一実施態様において、図8に示す工程は、少なくとも一部が、1つ又は複数のプロセッサ1004によって命令を実行することによって行われる。工程802は、ロボット光センサ502aをキャリブレーションするためのトリガーイベントを決定することを含む。一実施態様において、工程802は、ロボット光センサ502aで撮影された画像を、ロボットアーム光センサ502bで撮影された画像と比較することを含む。例えば、あるオブジェクトの位置が、ロボット光センサ502aからの画像に対して実行されるCVアルゴリズムを用いて算出され、同じオブジェクトの位置が、ロボット光センサ502bからの画像に対して実行されるCVアルゴリズムを用いて算出される。これらの算出位置が、所与のイベント閾値よりも大きい差で異なる場合、これが、トリガーイベントとして決定される。また、一実施態様において、トリガーイベントは、タイマー設定時間の経過である。また、一実施態様において、トリガーイベントは、ユーザ入力である。さらに、一実施態様において、トリガーイベントは、ワークピースの損傷の検知、あるいは、CVによって制御される操作に対する予想外の物理的抵抗である。
工程804は、ロボット光センサ502bをキャリブレーションするための一組の姿勢を決定することを含む。一実施態様において、これは、(図6の)工程604について説明した操作のうちの少なくともいくつかを含む。工程806は、少なくとも当該一組の姿勢に基づいて、3D位置及び配向のデータを含む姿勢データ714を生成することを含む。工程808は、当該位置及び配向のデータを用いて、一組の姿勢のうちの1つの姿勢が、到達可能であるかどうかを判定することを含む。一実施態様において、到達可能性を判定することは、ロボットアーム102が指定された位置に移動することができるかどうかを判定することと、キャリブレーションチャート300がロボット光センサ502aの視野内にあるかを判定することとの両方を含む。工程812は、決定工程810において少なくとも当該姿勢が到達可能であることに基づいて、当該姿勢を承認することを含む。工程814は、決定工程810において少なくとも当該姿勢が到達可能でないことに基づいて、当該姿勢を拒絶することを含む。次に、工程816は、少なくとも当該一組の姿勢に基づいて、姿勢の順序を決定することを含む。一実施態様において、これらの姿勢は、ロボットアーム102が不必要に行ったり来たりしないよう、ロボットアーム102のトータルの動きを最小限に抑えるように順序付けられる。
工程818は、少なくとも当該姿勢データに基づいて、ロボットアームを複数の姿勢に動かすことを含む。例えば、一組の姿勢は、好ましい距離範囲(すぐ近くから最大距離までを最少数の変化ステップで)、配向の範囲(第1角度から第2角度までを最少数の変化ステップで)、及び、水平並進移動と垂直並進移動との両方における位置の範囲などにおいて、キャリブレーションチャート300の画像を提示して、エンドエフェクタ114の6DoFを包括的に(認識可能な途切れ無く)カバーできるように、選択される。例えば、ある範囲及び並進位置において、キャリブレーションチャート300を保持するエンドエフェクタ114は、ロール、ピッチ、及び、ヨーの各々について、途切れが無いように、各配向項目内で十分な数の変化角度で、配向角度の範囲を段階的に進む。次に、エンドエフェクタ114を、別の並進位置に移動させ、再び、配向の変更を段階的に進める。十分な画像が到達可能な6DoFの範囲をカバーするまで、これが繰り返される。
工程820は、これら複数の姿勢の各々において、ロボット光センサ502bで、キャリブレーションチャート300の一組の画像を撮影することを含む。一実施態様において、キャリブレーションチャート300はロボットアーム102のエンドエフェクタ114に取り付けられ、ロボット光センサ502bは、ロボット本体108に装着される。また、一実施態様において、ロボット光センサ502bは、ロボットアーム102(例えばエンドエフェクタ114)に装着され、これにより、ロボット光センサ502bは、ロボットアーム102と共に移動する。このような実施態様では、キャリブレーションチャート300は、例えば既知の位置にある壁やロボット本体108などの他の場所に配置される。
工程822は、少なくとも当該一組の撮影画像に基づいて、内部キャリブレーションパラメータ410を算出することを含む。工程824では、内部キャリブレーションパラメータ410を、当該一組の撮影画像に適用し、工程826は、少なくとも当該一組の撮影画像に基づいて、外部キャリブレーションパラメータ408を算出することを含む。
図9は、ロボット光センサ502aの自動的な内部キャリブレーション及び外部キャリブレーションのプロセス900を示すブロック図である。具体的には、プロセス900は、一実施態様において、フローチャート800の様々な工程を実行するコントローラ700内の要素を特定するものである。キャリブレーションモニターコンポーネント708が、工程802を実行する。姿勢生成及び最適化コンポーネント712が、工程804〜806を実行する。ロボットアーム制御部704が、工程818を実行し、光センサ制御部702が、工程820を実行する。最後に、キャリブレーションプロセス制御部720が、工程822〜826を実行する。
図10を参照すると、同図には、本開示の様々な側面を実施するのに適した演算装置1000のブロック図が示されている。いくつかの実施態様において、演算装置1000は、1つ以上のプロセッサ1004、1つ以上のプレゼンテーションコンポーネント1006、及び、メモリ1002を含む。演算装置1000に関連する開示の実施態様は、パーソナルコンピュータ、ラップトップ、スマートフォン、モバイルタブレット、ハンドヘルドデバイス、家電機器、特殊演算装置などを含む様々な演算装置によって、実現される。「ワークステーション」、「サーバ」、「ラップトップ」「ハンドヘルドデバイス」などのカテゴリー間には区別は無く、これらのすべてが、図10及び本明細書における「演算装置」の範囲に含まれることを意図している。開示の実施態様は、分散された演算環境においても実施され、その場合は、通信ネットワークによって接続された遠隔処理装置によって、タスクが実行される。また、演算装置1000は、一見したところ、単一の装置として描かれているが、一実施態様においては、複数の演算装置が協働し、図示のデバイスのリソースを共有する。例えば、一実施態様において、メモリ1002は、複数の装置に分散され、提示されたプロセッサ1004は、異なる装置に収容される。
一実施態様において、メモリ1002は、本明細書に記載のコンピュータ可読媒体のうちの任意のものを含む。一実施態様において、メモリ1002は、本明細書に記載の様々な工程を実行するように構成された命令を保存するとともに、これにアクセスするために用いられる。いくつかの実施態様において、メモリ1002は、揮発性及び/又は不揮発性メモリ、リムーバブルメモリ又は非リムーバブルメモリ、仮想環境のデータディスク、又はこれらの組み合わせの形態のコンピュータ記憶媒体を含む。一実施態様において、プロセッサ1004は、メモリ1002又は入出力(I/O)コンポーネント1010などの様々な実体からデータを読み取る任意の数の処理ユニットを含む。具体的には、プロセッサ1004は、本開示の側面を実施するためのコンピュータ実行可能命令を実行するようにプログラムされる。一実施態様において、命令は、当該プロセッサ、演算装置1000内の複数のプロセッサ、あるいは、演算装置1000の外部のプロセッサによって、実行される。いくつかの実施態様において、プロセッサ1004は、以下に述べるフローチャートに示すとともに添付図面に図示したような命令を実行するように、プログラムされる。
プレゼンテーションコンポーネント1006は、オペレータ又は別の装置に対して、データ表示を提示する。一実施態様において、プレゼンテーションコンポーネント1006は、表示装置、スピーカ、印刷部品、振動部品などを含む。当業者であればわかるように、コンピュータデータは、多くの方法で提示され、例えば、グラフィカル・ユーザ・インターフェイス(GUI)での視覚的な提示、スピーカによる可聴的な提示、演算装置1000間の無線接続、有線接続、又はその他の方法で提示される。一実施態様において、プロセス及び工程が十分に自動化されて、人間の介入の必要性が低減または排除されている場合は、プレゼンテーションコンポーネント1006は使用されない。I/Oポート1008は、入出力(I/O)コンポーネント1010を含む他の装置に演算装置1000を論理的に接続することを可能にするものであり、内蔵されているものもある。I/Oコンポーネント1010の実施態様には、例えば、限定するものではないが、マイク、キーボード、マウス、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、プリンタ、無線装置などが含まれる。
演算装置1000は、以下の装置、すなわち、メモリ1002、1つ以上のプロセッサ1004、1つ以上のプレゼンテーションコンポーネント1006、入出力(I/O)ポート1008、入出力コンポーネント1010、電源1012、及び、ネットワークコンポーネント1014を直接的又は間接的に接続するバス1016を含む。演算装置1000は、ここに示したいずれか1つのコンポーネント又はコンポーネントのいずれかの組み合わせに関して、何らかの依存関係または要件を有するものと解釈されるべきではない。バス1016は、1つ以上のバス(例えばアドレスバス、データバス、又はこれらの組み合わせ)を表している。図10の様々なブロックは、明確化のために線で示しているが、実施態様によっては、ここに示した様々なコンポーネント間に、機能の明確な区別はない。
いくつかの実施態様において、演算装置1000は、ネットワークコンポーネント1014を用いて、通信可能にネットワーク1018に接続される。いくつかの実施態様において、ネットワークコンポーネント1014は、ネットワークインターフェースカード、及び/又は、ネットワークインターフェースカードを操作するためのコンピュータ実行可能命令(例えばドライバ)を含む。一実施態様において、演算装置1000と他の装置との通信は、有線接続又は無線接続1020を介して、任意のプロトコル又は機構を用いて行われる。いくつかの実施態様において、ネットワークコンポーネント1014は、短距離通信技術(例えば、近距離無線通信(NFC)、Bluetooth(登録商標)通信など)、又はこれらの組み合わせを用いて、パブリック、プライベート、又はハイブリッド(パブリック及びプライベート)で、転送プロトコルを用いて、装置間で無線でデータを通信するように、動作可能である。
本開示の実施態様を、演算装置1000に関連させて説明したが、他の多数の汎用又は専用の演算システム環境、構成、又は装置で実現可能である。本開示の側面での使用に適した周知の演算システム、環境、及び/又は構成の実施態様には、限定するものではないが、スマートフォン、モバイルタブレット、モバイル演算装置、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、ゲーム機、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電機器、携帯電話、ウェアラブル又はアクセサリ形式の要素(例えば、時計、眼鏡、ヘッドセット、又はイヤホン)のモバイル演算装置及び/又は通信装置、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境、VRデバイス、ホログラフィックデバイスなどが含まれる。このようなシステム又は装置は、キーボード又はポインティングデバイスなどの入力装置から、あるいは、ジェスチャー入力、近接入力(ホバリングなどによる)、及び/又は音声入力などを含む任意の方法で、ユーザからの入力を受け取る。
本開示の実施態様は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせにおける1つ以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュールなどの、コンピュータ実行可能命令の枠内で説明される。一実施態様において、コンピュータ実行可能命令は、1つ以上のコンピュータ実行可能コンポーネント又はモジュールにまとめられる。一般的に、プログラムモジュールは、限定するものではないが、ルーチン、プログラム、オブジェクト、コンポーネント、及び、特定のタスクを実行するか、特定の抽象データ型を実装するデータ構造を含む。一実施態様において、本開示の側面は、任意の数及び構成の、このようなコンポーネント又はモジュールで実現することができる。例えば、本開示の側面は、図示し且つ本明細書に記載した、特定のコンピュータ実行可能命令、又は、特定のコンポーネントもしくはモジュールに限定されない。本開示の他の実施態様は、図示し且つ本明細書に記載したよりも多い又は少ない機能を有する、異なるコンピュータ実行可能命令又はコンポーネントを含む。汎用コンピュータを含む実施態様では、本開示の側面は、当該汎用コンピュータを、本明細書に記載の命令を実行するように構成した際に、専用の演算装置に変える。
限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールなどの情報を記憶するための任意の方法又は技術で実現される、揮発性メモリ及び不揮発性のメモリ、リムーバブルメモリ及び非リムーバブルメモリを含む。コンピュータ記憶媒体は有形であり、通信媒体に対して相互に排他的である。コンピュータ記憶媒体は、ハードウェアで実現され、搬送波及び伝播信号は除外される。本開示の目的のコンピュータ記憶媒体は、信号そのものではない。一実施態様において、コンピューター記憶媒体は、ハードディスク、フラッシュドライブ、ソリッドステートメモリ、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他の種類のランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ又はその他のメモリ技術、コンパクトディスクリードオンリーメモリ(CD−ROM)、デジタル多用途ディスク(DVD)又はその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイス、又は、演算装置がアクセスする情報を格納するために用いられる他の任意の非伝送媒体を含む。これに対し、通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールなどを、搬送波などの変調データ信号または他の搬送機構に具現化するものであり、任意の情報配信媒体を含む。
(図1A及び図1Bの)ロボット100のいくつかの例は、図11〜図13に関連して図示及び説明する製造及び保守の用途に使用される。従って、本開示の実施態様を、図11に示した装置の製造及び保守方法1100、及び、図12に示した装置1200に関連させて説明する。図11には、一実施態様による装置の製造及び保守方法の図が示されている。一実施態様では、生産開始前において、装置の製造及び保守方法1100は、図12の装置1200の仕様決定及び設計1102及び材料調達1104を含む。製造中には、図12の装置1200の部品及び小組立品の製造1106及びシステム統合1108が行われる。その後、図12の装置1200は、認証及び納品1110を経て、就航1112の期間に入る。顧客による就航期間中は、図12の装置1200は、定期的な整備及び保守1114のスケジュールに組み込まれ、これは、一実施態様においては、改良、再構成、改修、及び、本明細書に記載のその他の整備及び保守を含む。
一実施態様において、装置の製造及び保守方法1100の各プロセスは、システムインテグレータ、第三者、及び/又は、オペレータによって、実行又は実施される。このような実施態様において、オペレータは顧客である。なお、システムインテグレータは、装置メーカ及び主要システム下請業者をいくつ含んでいてもよく、第三者は、売主、下請業者、供給業者をいくつ含んでいてもよい。一実施態様において、オペレータは、装置又は装置群の所有者、装置又は装置群を担当する管理者、装置を操作するユーザ、リース会社、軍事団体、サービス組織などである。
図12を参照すると、装置1200が示されている。図12に示すように、装置1200の一例は、宇宙船、航空機、航空貨物、飛行車などの飛行装置1201である。図12にさらに示すように、装置1200の別の例は、自動車、トラック、重機、建設機械、ボート、船、潜水艦などの地上輸送装置1202である。図12に示す装置1200のさらなる例は、以下のモジュール、すなわち、エアモジュール、ペイロードモジュール、及び地上モジュールのうちの少なくとも1つを含むモジュラー装置1203である。エアモジュールは、エアリフト又は飛行機能を提供する。ペイロードモジュールは、貨物又は生きている対象物(人、動物など)の対象物を輸送する機能を提供する。地上モジュールは、地上移動機能を提供する。本明細書に開示された方策は、これらのモジュールの各々に個別に適用されるか、あるいは、エアモジュールとペイロードモジュール、ペイロードモジュールと地上モジュール、又はすべてのモジュールなどのグループごとに適用される。
図13を参照すると、本開示の実施態様が有利に採用される飛行モジュール1201のより詳細な図が示されている。この例において、飛行モジュール1201は、図11における装置の製造及び保守方法1100によって製造される航空機であり、複数のシステム1304及び内装1306を有する機体1303を含む。複数のシステム1304の実施態様は、推進系1308、電気系1310、油圧系1312、及び、環境系1314のうちの1つ以上を含む。ただし、他のシステムも候補に含まれる。また、航空宇宙産業に用いた場合を例として説明したが、様々な有利な実施態様が、例えば自動車産業などの他の産業に適用される。
本明細書に開示した実施態様は、コンピュータコード又は機械で使用可能な命令の枠内で説明される。このような命令には、コンピュータ、又は、パーソナルデータアシスタントやその他のハンドルドデバイスなどの他の機械によって実行されるプログラムコンポーネントなどのコンピュータ実行可能命令が含まれる。概して、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムコンポーネントとは、特定のタスクを実行するか、あるいは、特定の抽象データ型を実装するコードをさす。開示の実施形態は、パーソナルコンピュータ、ラップトップ、スマートフォン、モバイルタブレット、ハンドヘルドデバイス、家電機器、特殊演算装置などを含む、さまざまなシステム構成で実施される。また、開示の実施態様は、分散コンピューティング環境においても実施され、この場合、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される。
以下の付記は、本開示のさらなる態様を説明するものである。
付記1. ロボット光センサのオートキャリブレーションのためのシステムであって、
光センサと、
ロボットアームと、
キャリブレーションチャートと、
1つ以上のプロセッサと、
命令を格納するメモリと、を含み、前記命令は、前記1つ以上のプロセッサによって実行された際に、
前記光センサをキャリブレーションするための一組の姿勢を決定することと、
少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、
少なくとも前記姿勢データに基づいて、前記ロボットアームを複数の姿勢に動かすことと、
前記複数の姿勢の各々において、前記光センサで、前記キャリブレーションチャートの一組の画像を撮影することと、
少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、
少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む工程を、前記1つ以上のプロセッサに行わせるものである、システム。
付記2. 前記工程は、前記外部キャリブレーションパラメータを算出する前に、前記内部キャリブレーションパラメータを前記一組の撮影画像に適用することをさらに含む、付記1に記載のシステム。
付記3. 前記工程は、前記一組の姿勢のうちの1つの姿勢が到達可能であるかどうかを判定することと、
少なくとも前記姿勢が到達可能でないことに基づいて、前記姿勢を拒絶することと、をさらに含む、付記1又は2に記載のシステム。
付記4. 前記キャリブレーションチャートは、前記ロボットアームのエンドエフェクタに取り付けられており、前記光センサは、前記ロボットの本体に装着されている、付記1〜3のいずれか1つに記載のシステム。
付記5. 前記光センサは、前記ロボットアームに装着されている、付記1〜3のいずれか1つに記載のシステム。
付記6. 前記工程は、前記光センサをキャリブレーションするためのトリガーイベントを決定することをさらに含み、
前記光センサをキャリブレーションするための前記一組の姿勢を決定することは、少なくとも前記トリガーイベントに基づいて、前記光センサをキャリブレーションするための前記一組の姿勢を決定することを含む、付記1〜5のいずれか1つに記載のシステム。
付記7. 前記光センサは、第1光センサであり、
前記システムは、第2光センサをさらに含み、
前記トリガーイベントを決定することは、前記第1光センサで撮影された画像を、前記第2光センサで撮影された画像と比較することを含む、付記6に記載のシステム。
付記8. ロボット光センサのオートキャリブレーションの方法であって、
光センサをキャリブレーションするための一組の姿勢を決定することと、
少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、
少なくとも前記姿勢データに基づいて、前記ロボットアームを複数の姿勢に動かすことと、
前記複数の姿勢の各々において、前記光センサで、キャリブレーションチャートの一組の画像を撮影することと、
少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、
少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む方法。
付記9. 前記外部キャリブレーションパラメータを算出する前に、前記内部キャリブレーションパラメータを前記一組の撮影画像に適用することをさらに含む、付記8に記載の方法。
付記10. 前記一組の姿勢のうちの1つの姿勢が到達可能であるかどうかを判定することと、
少なくとも前記姿勢が到達可能でないことに基づいて、前記姿勢を拒絶することと、をさらに含む、付記8又は9に記載の方法。
付記11. 前記キャリブレーションチャートは、前記ロボットアームのエンドエフェクタに取り付けられており、前記光センサは、前記ロボットの本体に装着されている、付記8〜10のいずれか1つに記載の方法。
付記12. 前記光センサは、前記ロボットアームに装着されている、付記8〜12のいずれか1つに記載の方法。
付記13. 前記光センサをキャリブレーションするためのトリガーイベントを決定することをさらに含み、
前記光センサをキャリブレーションするための前記一組の姿勢を決定することは、少なくとも前記トリガーイベントに基づいて、前記光センサをキャリブレーションするための前記一組の姿勢を決定することを含む、付記8〜12のいずれか1つに記載の方法。
付記14. 前記光センサは、第1光センサであり、
前記トリガーイベントを決定することは、前記第1光センサで撮影された画像を、第2光センサで撮影された画像と比較することを含む、付記13に記載の方法。
付記15. コンピュータ可読プログラムコードが組み込まれたコンピュータ使用可能媒体を含むコンピュータプログラム製品であって、前記コンピュータ可読プログラムコードは、ロボット光センサを自動的にキャリブレーションするための方法を実施するために実行される構成とされており、前記方法は、
光センサをキャリブレーションするための一組の姿勢を決定することと、
少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、
少なくとも前記姿勢データに基づいて、ロボットアームを複数の姿勢に動かすことと、
前記複数の姿勢の各々において、前記光センサで、キャリブレーションチャートの一組の画像を撮影することと、
少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、
少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む、コンピュータプログラム製品。
付記16.前記外部キャリブレーションパラメータを算出する前に、前記内部キャリブレーションパラメータを前記一組の撮影画像に適用することをさらに含む、付記15に記載のコンピュータプログラム製品。
付記17.前記一組の姿勢のうちの1つの姿勢が到達可能であるかどうかを判定することと、
少なくとも前記姿勢が到達可能でないことに基づいて、前記姿勢を拒絶することと、をさらに含む、付記15又は16に記載のコンピュータプログラム製品。
付記18. 前記キャリブレーションチャートは、前記ロボットアームのエンドエフェクタに取り付けられており、前記光センサは、前記ロボットの本体に装着されている、付記15〜17のいずれかに記載のコンピュータプログラム製品。
付記19. 前記光センサは、前記ロボットアームに装着されている、付記15〜18のいずれかに記載のコンピュータプログラム製品。
付記20. 前記光センサは、第1光センサであり、
前記第1光センサをキャリブレーションするためのトリガーイベントを決定することをさらに含み、
前記トリガーイベントを決定することは、前記第1光センサで撮影された画像を、第2光センサで撮影された画像と比較することを含み、
前記第1光センサをキャリブレーションするための前記一組の姿勢を決定することは、少なくとも前記トリガーイベントに基づいて、前記第1光センサをキャリブレーションするための前記一組の姿勢を決定することを含む、付記15〜19のいずれかに記載のコンピュータプログラム製品。
本開示の側面またはその実施態様の要素について述べる際の、「a」、「an」、「the」、及び「said」などの冠詞は、その要素が1つ又は複数あることを意味する。また、「備える」、「含む」、「有する」などの用語は、包括的であり、列挙した要素以外の追加的な要素も存在しうることを意味する。「実施態様」という用語は、「一例」を意味することを意図している。また、「次のA、B及びCのうちの1つ以上」とは、「Aのうちの少なくとも1つ及び/又はBのうちの少なくとも1つ及び/又はCのうちの少なくとも1つ」を意味する。
本開示の側面を詳しく説明したが、添付の請求の範囲に規定される本開示の側面の範囲から逸脱することなく改変及び変更が可能なことは、明らかであろう。上述した構造、製品、及び、方法に対して、本発明の側面の範囲から逸脱することなく様々な改変を加えることができるため、上述した説明に含まれる事項や添付図面に示した事項の全ては、例示的であり、限定的な意味に解釈されるべきではない。

Claims (14)

  1. ロボット光センサのオートキャリブレーションのためのシステムであって、
    光センサと、
    ロボットアームと、
    キャリブレーションチャートと、
    1つ以上のプロセッサと、
    命令を格納するメモリと、を含み、前記命令は、前記1つ以上のプロセッサによって実行された際に、
    前記光センサをキャリブレーションするための一組の姿勢を決定することと、
    少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、
    少なくとも前記姿勢データに基づいて、前記ロボットアームを複数の姿勢に動かすことと、
    前記複数の姿勢の各々において、前記光センサで、前記キャリブレーションチャートの一組の画像を撮影することと、
    少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、
    少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む工程を、前記1つ以上のプロセッサに行わせるものである、システム。
  2. 前記工程は、前記外部キャリブレーションパラメータを算出する前に、前記内部キャリブレーションパラメータを前記一組の撮影画像に適用することをさらに含む、請求項1に記載のシステム。
  3. 前記工程は、前記一組の姿勢のうちの1つの姿勢が到達可能であるかどうかを判定することと、
    少なくとも前記姿勢が到達可能でないことに基づいて、前記姿勢を拒絶することと、をさらに含む、請求項1又は2に記載のシステム。
  4. 前記キャリブレーションチャートは、前記ロボットアームのエンドエフェクタに取り付けられており、前記光センサは、前記ロボットの本体に装着されている、請求項1〜3のいずれかに記載のシステム。
  5. 前記光センサは、前記ロボットアームに装着されている、請求項1〜3のいずれかに記載のシステム。
  6. 前記工程は、前記光センサをキャリブレーションするためのトリガーイベントを決定することをさらに含み、
    前記光センサをキャリブレーションするための前記一組の姿勢を決定することは、少なくとも前記トリガーイベントに基づいて、前記光センサをキャリブレーションするための前記一組の姿勢を決定することを含む、請求項1〜5のいずれかに記載のシステム。
  7. 前記光センサは、第1光センサであり、
    前記システムは、第2光センサをさらに含み、
    前記トリガーイベントを決定することは、前記第1光センサで撮影された画像を、前記第2光センサで撮影された画像と比較することを含む、請求項6に記載のシステム。
  8. ロボット光センサのオートキャリブレーションの方法であって、
    光センサをキャリブレーションするための一組の姿勢を決定することと、
    少なくとも前記一組の姿勢に基づいて、3次元(3D)位置及び配向のデータを含む姿勢データを生成することと、
    少なくとも前記姿勢データに基づいて、前記ロボットアームを複数の姿勢に動かすことと、
    前記複数の姿勢の各々において、前記光センサで、キャリブレーションチャートの一組の画像を撮影することと、
    少なくとも前記一組の撮影画像に基づいて、内部キャリブレーションパラメータを算出することと、
    少なくとも前記一組の撮影画像に基づいて、外部キャリブレーションパラメータを算出することと、を含む方法。
  9. 前記外部キャリブレーションパラメータを算出する前に、前記内部キャリブレーションパラメータを前記一組の撮影画像に適用することをさらに含む、請求項8に記載の方法。
  10. 前記一組の姿勢のうちの1つの姿勢が到達可能であるかどうかを判定することと、
    少なくとも前記姿勢が到達可能でないことに基づいて、前記姿勢を拒絶することと、をさらに含む、請求項8又は9に記載の方法。
  11. 前記キャリブレーションチャートは、前記ロボットアームのエンドエフェクタに取り付けられており、前記光センサは、前記ロボットの本体に装着されている、請求項8〜10のいずれかに記載の方法。
  12. 前記光センサは、前記ロボットアームに装着されている、請求項8〜10のいずれかに記載の方法。
  13. 前記光センサをキャリブレーションするためのトリガーイベントを決定することをさらに含み、
    前記光センサをキャリブレーションするための前記一組の姿勢を決定することは、少なくとも前記トリガーイベントに基づいて、前記光センサをキャリブレーションするための前記一組の姿勢を決定することを含む、請求項8〜12のいずれかに記載の方法。
  14. 前記光センサは、第1光センサであり、
    前記トリガーイベントを決定することは、前記第1光センサで撮影された画像を、第2光センサで撮影された画像と比較することを含む、請求項13に記載の方法。
JP2020025162A 2019-03-05 2020-02-18 ロボット光センサのオートキャリブレーション Pending JP2020172017A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/293,584 2019-03-05
US16/293,584 US11254019B2 (en) 2019-03-05 2019-03-05 Automatic calibration for a robot optical sensor

Publications (1)

Publication Number Publication Date
JP2020172017A true JP2020172017A (ja) 2020-10-22

Family

ID=69770499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020025162A Pending JP2020172017A (ja) 2019-03-05 2020-02-18 ロボット光センサのオートキャリブレーション

Country Status (7)

Country Link
US (1) US11254019B2 (ja)
EP (1) EP3706080A1 (ja)
JP (1) JP2020172017A (ja)
KR (1) KR20200107789A (ja)
CN (1) CN111660290A (ja)
BR (1) BR102020004017A2 (ja)
CA (1) CA3067515A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022208963A1 (ja) * 2021-03-29 2022-10-06 株式会社日立製作所 ロボット制御用のキャリブレーション装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220040853A1 (en) 2020-08-04 2022-02-10 Artificial, Inc. Translation and automation of protocols in a robotic lab
CN112525074B (zh) * 2020-11-24 2022-04-12 杭州素问九州医疗科技有限公司 标定方法、系统、机器人、计算机装置和导航系统
CN112894882A (zh) * 2020-12-30 2021-06-04 哈尔滨工业大学芜湖机器人产业技术研究院 基于工业互联网的机器人故障检测系统
CN112914731A (zh) * 2021-03-08 2021-06-08 上海交通大学 基于增强现实的介入机器人无接触遥操系统及标定方法
US11912513B1 (en) * 2021-04-14 2024-02-27 Amazon Technologies, Inc. Robotic system camera calibration and localization using robot-mounted registered patterns
CN113246135B (zh) * 2021-06-03 2021-10-12 季华实验室 机器人手眼标定方法、装置、电子设备及存储介质
US20220392012A1 (en) * 2021-06-07 2022-12-08 Alcon Inc. Optical axis calibration of robotic camera system
US11911915B2 (en) * 2021-06-09 2024-02-27 Intrinsic Innovation Llc Determining robotic calibration processes
CN113538590A (zh) * 2021-06-15 2021-10-22 深圳云天励飞技术股份有限公司 一种变焦相机的标定方法、装置、终端设备和存储介质
CN113447064A (zh) * 2021-06-30 2021-09-28 东莞市小精灵教育软件有限公司 一种校准方法和电子设备
US11941840B2 (en) 2021-09-21 2024-03-26 The Boeing Company Method and apparatus for hand-off and tracking for pose estimation of a fiducial marker
US20230086050A1 (en) * 2021-09-21 2023-03-23 The Boeing Company Method and apparatus for modeling dynamic intrinsic parameters of a camera
CN115890638A (zh) * 2021-09-30 2023-04-04 台达电子工业股份有限公司 自动化机械手臂系统
CN113771096A (zh) * 2021-11-09 2021-12-10 北京壹点灵动科技有限公司 机械臂的位姿信息的处理方法和装置
DE102021213358A1 (de) 2021-11-26 2023-06-01 Physik Instrumente (PI) GmbH & Co KG Posenbestimmung bei Parallelkinematiken mit Referenzmarkern
CN114419164B (zh) * 2022-01-17 2023-03-24 深圳市海柔创新科技有限公司 位姿标定数据生成方法、装置、电子设备及存储介质
CN114700943B (zh) * 2022-04-02 2023-07-07 武汉数字化设计与制造创新中心有限公司 一种大型水轮机在位机器人加工坐标系标定方法
CN114677429B (zh) * 2022-05-27 2022-08-30 深圳广成创新技术有限公司 一种机械手的定位方法、装置、计算机设备和存储介质
CN116117818A (zh) * 2023-02-28 2023-05-16 哈尔滨工业大学 一种机器人传感器手眼标定方法及系统
CN116299374B (zh) * 2023-05-17 2023-08-04 苏州艾秒科技有限公司 基于机器视觉的声呐成像水下自动校准定位方法和系统
CN117077384A (zh) * 2023-08-01 2023-11-17 中铁隧道局集团有限公司 一种锚杆台车机械臂末端锚杆位姿的逆解方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011009108A2 (en) 2009-07-17 2011-01-20 Universal Robotics, Inc. System and method for automatic calibration of stereo images
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
US9393694B2 (en) * 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
US10664994B2 (en) * 2013-02-25 2020-05-26 Cognex Corporation System and method for calibration of machine vision cameras along at least three discrete planes
CN105073348B (zh) * 2013-04-05 2016-11-09 Abb技术有限公司 用于校准的机器人系统和方法
US9193073B1 (en) * 2014-10-15 2015-11-24 Quanta Storage Inc. Robot calibration apparatus for calibrating a robot arm
CN105522576A (zh) * 2014-10-27 2016-04-27 广明光电股份有限公司 机器手臂自动再校正的方法
CN107073719B (zh) * 2014-11-21 2020-07-28 精工爱普生株式会社 机器人和机器人系统
CN105014667B (zh) * 2015-08-06 2017-03-08 浙江大学 一种基于像素空间优化的相机与机器人相对位姿标定方法
CN106483963B (zh) * 2015-08-26 2020-02-11 泰科电子(上海)有限公司 机器人系统的自动标定方法
JP6710946B2 (ja) * 2015-12-01 2020-06-17 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
EP3436876B1 (en) * 2016-03-29 2021-07-07 Cognibotics AB Method, constraining device and system for determining geometric properties of a manipulator
DE102016212694A1 (de) * 2016-05-31 2017-11-30 Siemens Aktiengesellschaft Verfahren zur Orientierung eines Industrieroboters und Industrieroboter
EP3264359A1 (en) 2016-06-28 2018-01-03 Dassault Systèmes A computer-implemented method of calibrating a camera
US10076842B2 (en) * 2016-09-28 2018-09-18 Cognex Corporation Simultaneous kinematic and hand-eye calibration
KR102576842B1 (ko) * 2017-01-04 2023-09-12 삼성전자주식회사 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
CN108436909A (zh) * 2018-03-13 2018-08-24 南京理工大学 一种基于ros的相机和机器人的手眼标定方法
DE102018129143B4 (de) * 2018-11-20 2021-06-17 Carl Zeiss Industrielle Messtechnik Gmbh Variabler messobjektabhängiger Kameraaufbau und Kalibrierung davon
US10628968B1 (en) * 2018-12-05 2020-04-21 Toyota Research Institute, Inc. Systems and methods of calibrating a depth-IR image offset

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022208963A1 (ja) * 2021-03-29 2022-10-06 株式会社日立製作所 ロボット制御用のキャリブレーション装置
JP7437343B2 (ja) 2021-03-29 2024-02-22 株式会社日立製作所 ロボット制御用のキャリブレーション装置

Also Published As

Publication number Publication date
EP3706080A1 (en) 2020-09-09
US20200282575A1 (en) 2020-09-10
BR102020004017A2 (pt) 2020-09-29
CA3067515A1 (en) 2020-09-05
CN111660290A (zh) 2020-09-15
KR20200107789A (ko) 2020-09-16
US11254019B2 (en) 2022-02-22

Similar Documents

Publication Publication Date Title
JP2020172017A (ja) ロボット光センサのオートキャリブレーション
US11911914B2 (en) System and method for automatic hand-eye calibration of vision system for robot motion
US9437005B2 (en) Information processing apparatus and information processing method
CN109313417B (zh) 帮助机器人定位
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
JP7027299B2 (ja) ビジョンベース操作システムのキャリブレーション及びオペレーション
JP2017037642A (ja) 案内された組立環境におけるマシンビジョン座標空間を結合するためのシステム及び方法
CN111801198A (zh) 一种手眼标定方法、系统及计算机存储介质
WO2017003949A1 (en) Technologies for pan tilt unit calibration
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2017006990A (ja) ロボット、制御装置、及び制御方法
JP5698815B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP6040264B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US11158080B2 (en) Information processing method, information processing device, object detection apparatus, and robot system
US20240001557A1 (en) Robot and robot hand-eye calibrating method
CN114750160B (zh) 机器人控制方法、装置、计算机设备和存储介质
CN114474058B (zh) 视觉引导的工业机器人系统标定方法
US20200326175A1 (en) Device for Measuring Objects
Lopez-Lara et al. Image-based control of delta parallel robots via enhanced LCM-CSM to track moving objects
JPH09290383A (ja) 画像情報によるマニピュレータ制御方法
Huynh et al. Dynamic Hybrid Filter for Vision‐Based Pose Estimation of a Hexa Parallel Robot
Schmitt et al. Single camera-based synchronisation within a concept of robotic assembly in motion
Xu et al. A fast and straightforward hand-eye calibration method using stereo camera
Weber et al. Visual servoing using triangulation with an omnidirectional multi-camera system
JP2015123560A (ja) ロボットシステム、ロボット制御装置、及びロボット制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240423