[go: up one dir, main page]

JP2018161700A - 情報処理装置、システム、情報処理方法、製造方法 - Google Patents

情報処理装置、システム、情報処理方法、製造方法 Download PDF

Info

Publication number
JP2018161700A
JP2018161700A JP2017059688A JP2017059688A JP2018161700A JP 2018161700 A JP2018161700 A JP 2018161700A JP 2017059688 A JP2017059688 A JP 2017059688A JP 2017059688 A JP2017059688 A JP 2017059688A JP 2018161700 A JP2018161700 A JP 2018161700A
Authority
JP
Japan
Prior art keywords
orientation
robot
coordinate system
information processing
measurement
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
JP2017059688A
Other languages
English (en)
Inventor
強 北村
Tsutomu Kitamura
強 北村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017059688A priority Critical patent/JP2018161700A/ja
Priority to US15/927,706 priority patent/US20180272539A1/en
Publication of JP2018161700A publication Critical patent/JP2018161700A/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
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • G01B11/005Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates coordinate measuring machines
    • 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/40562Position and orientation of end effector, teach probe, track them
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

【課題】 移動しながら計測対象物の位置及び姿勢を正確に求めるための技術を提供すること。【解決手段】 第1の速度で移動する計測装置2によるパレット8の位置及び姿勢の計測の結果と、該計測中に取得したハンド4のロボット座標系101における位置及び姿勢と、に基づいてロボット座標系101におけるパレット8の位置及び姿勢を求める。第2の速度で移動する計測装置2が計測したパレット8及びワーク5の位置及び姿勢の計測結果と、ロボット座標系101におけるパレット8の位置及び姿勢と、に基づいて、ロボット座標系101におけるワーク5の位置及び姿勢を求める。【選択図】 図1

Description

本発明は、計測対象の位置姿勢を計測するための技術に関するものである。
三次元形状計測装置の一種であるマシンビジョンは、特に製造業におけるコンピュータビジョンの応用を意味する。例えばマシンビジョンで部品を計測した結果に基づきロボットを動作させることで、把持や組付けなどの様々な工程を実現することが出来る。ロボットを計測対象に対して動作させる際には、ロボットの台座基準の座標系、すなわちロボット座標系における計測対象の位置姿勢を算出することが一般的である。よって、マシンビジョンで計測したビジョン座標系における計測対象の位置姿勢が正確に取得されることに加え、その計測時点におけるマシンビジョン、マシンビジョンとの相対位置姿勢が既知のハンド、ロボットフランジなどの位置姿勢を正確に得る必要がある。以下の説明では、これらの位置姿勢をロボット位置姿勢(ロボットの位置姿勢)と総称する。以下ではロボット位置姿勢はフランジなどのロボットが含む機構、あるいはそれからの相対位置姿勢が保証されたビジョンやハンドのロボット座標系における位置姿勢をも含むものとする。
マシンビジョンの使用形態として、マシンビジョンをロボットに搭載するオンハンドのマシンビジョンシステムが存在する。この方式においてはマシンビジョンを任意の場所に移動して計測することが出来るので、マシンビジョンをヤグラなどに固定設置して用いる方法に比べて計測範囲がフレキシブルであることや、システムに必要なスペースが省けるというメリットがある。更に、オンハンド方式のシステムにおいてロボットを駆動させながらマシンビジョンにより計測を行う方法が知られている。この技術は例えば特許文献1にも記されており、マシンビジョンシステムの重要な性能指標であるスループットの観点において、ロボットを静止させて計測を行うシステムに比べ明らかに優位である。
ここで、マシンビジョンの計測工程においては、撮像及び撮像された画像に対する処理を行うことで計測対象の位置姿勢を算出する。この撮像に要する時間は少なくともカメラの露光時間だけの時間幅を持つ。画像処理の特性を考えた場合、移動計測においては前述の計測時点とは露光中の中心時間を想定することが多い。例えば移動計測中に計測した計測対象の位置姿勢をもとにロボット座標系における計測対象の位置姿勢算出を行う場合、移動しているロボットに関し露光中の中心時間における位置姿勢を正確に取得することが重要となる。
特許第4837116号公報 特開2010−20799号公報
しかし、前述の計測時点のロボット位置姿勢を取得することが出来ない、あるいは取得出来たとしても精度が得られない状況が存在する。例えば、ロボットが高速で移動している場合に、ロボットの位置姿勢が取得できないようなケースが確認されている。ロボットの位置姿勢は、例えばロボットコントローラが撮像時点においてトリガを受信することで取得される。しかし、上記のケースにおいてはロボットコントローラがトリガを受信した時点で取得した位置姿勢情報をメモリに書き終わるまでの間に次のトリガを受信したものだと推測される。この例に関わらず、移動速度、露光時間、コンピュータ性能など種々のパラメータを考えた場合に、確実にロボットの位置姿勢が取得出来るようにタイミング管理あるいは制御を行うことは非常に困難である。
また、仮にロボット位置姿勢が取得されたとしても、その位置姿勢の精度が課題となることが考えられる。例えばロボットコントローラ内部の処理時間を計測時の状況に依らず完全に制御することは困難であり、撮像時点とロボットコントローラからロボット位置姿勢を取得する時点にはタイムラグが生じる。すると、撮像時点におけるロボット位置姿勢の真値とロボットコントローラから取得されるロボット位置姿勢情報の間には誤差が存在することとなる。例えば、ロボットの移動速度を1m/SECとして、ロボットコントローラ内部の処理時間などによるタイムラグが200μSECとすると、ロボット位置情報には200μmの誤差が生じることとなる。この量はそのまま把持や組立てなどの動作の際のロボット位置の誤差となり、マシンビジョンシステムの目的である各種動作が失敗する要因となりうる。
特許文献1には、撮像した瞬間の正確なロボット位置を取得するために、撮像時刻の前後それぞれの時刻におけるアーム先端部の位置を取得し、これと撮像時刻から撮像時刻におけるアーム先端部の位置を算出する技術が開示されている。しかし、上記の課題はその撮像時刻が取得できないあるいはできたとしても正確に取得出来ないことに伴う課題である。よって特許文献1に開示されている技術は、撮像時刻が正確に得られるケースでは有効であるが、上記の課題に対する対策とはならない。
また、ロボット位置姿勢を正確に得るという観点においては、特許文献2に開示されている技術も知られている。特許文献2では、ロボット装置の絶対位置精度が低いことに対して、以下のような技術を提案している。すなわち、絶対位置が既知の参照計測対象を計測して、参照計測対象を計測した時の計測装置の絶対位置を取得する。そして、計測対象を計測する際には、参照計測対象を計測した位置から移動後に計測対象を計測する位置までの計測装置の移動量と移動方向を取得し、移動後の計測装置の絶対位置を取得する。ここで、計測装置の移動量と移動方向は微小位置決め装置により取得されるものとしている。微小位置決め装置としては汎用ロボットやそれに取り付けられた微小位置決め装置が記されているが、これらにより高速に動くロボットの特定タイミングにおける計測装置の移動量と移動方向を高精度に取得することは極めて困難である。
本発明はこの様な問題に鑑みてなされたものであり、移動しながら計測対象物の位置及び姿勢を正確に求めるための技術を提供する。
本発明の一様態は、第1の速度で移動するロボットに取り付けられたセンサによる静止物体の位置及び姿勢の計測の結果と、該計測中に取得した前記ロボットの基準座標系における位置及び姿勢と、に基づいて前記基準座標系における前記静止物体の位置及び姿勢を求める第1の算出手段と、前記第1の速度より大きい第2の速度で移動する前記ロボットにおける前記センサが計測した前記静止物体及び対象物体の位置及び姿勢の計測結果と、前記第1の算出手段が求めた前記静止物体の位置及び姿勢と、に基づいて、前記基準座標系における前記対象物体の位置及び姿勢を求める第2の算出手段とを備えることを特徴とする。
本発明の構成によれば、移動しながら計測対象物の位置及び姿勢を正確に求めることができる。
マシンビジョンシステム1の構成例を示す図。 コンピュータ装置199のハードウェア構成例を示すブロック図。 情報処理装置6が行う処理のフローチャート。 マシンビジョンシステム1の構成例を示す図。 計測装置とロボットアームを含む制御システムを示す図。 マシンビジョンシステム1の構成例を示す図。 マシンビジョンシステム1の構成例を示す図。 情報処理装置6が行う処理のフローチャート。 情報処理装置6が行う処理のフローチャート。 情報処理装置6が行う処理のフローチャート。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
先ず、本実施形態に係るマシンビジョンシステム1の構成例について、図1を用いて説明する。図1に示す如く現実空間中(机の上など)には、その位置姿勢(位置及び姿勢)を変更しない静止物体(基準物体)としての容器の一例であるパレット8が載置されている。そして、このパレット8上には、ロボット(ロボットアーム)3が有するハンド4(ロボットアームの一部)による把持対象(対象物体)となる部品などのワーク5が配置(収容)されている。ワーク5は、例えばパレット8上にばら積み状態で配置されている。なお、ワーク5はパレット8上に配置することに限らず、理由は後述するが、計測装置(マシンビジョン)2の計測範囲にパレット8と共に収まるようにパレット8の近くに配置する。
計測装置2は、ロボット3に対してマウンタ等を介してリジッドに取り付けられている。計測装置2は三次元形状計測装置の一種であり、計測対象の三次元情報(三次元形状や三次元位置姿勢)を得るためのものである。三次元形状計測の方式としては多種の方式が存在するが、本実施形態では、パターン光投影方式の計測を採用したケースについて説明する。この方式では投影系(投影装置)により計測対象に対して所定の投影パターンの投影を行い、該投影パターンが投影された計測対象を撮像系(撮像装置)によって撮像し、該撮像によって得られる撮像画像から計測対象の三次元情報を求める。投影パターンに関しては様々な種類が存在する。本実施形態ではラインパターン上にドット部を配するパターンを用いた方式を採用しているものとする。本方式においては撮像画像から検出されたドットの座標情報から各ラインがマスクパターン上のどのラインに対応するかの指標が与えられるため、一回の撮像によって計測対象全体の三次元情報が取得可能であるという特徴を有している。計測装置2の投影系及び撮像系の制御は情報処理装置6(制御部201)によって行われる。
なお、計測装置2に対しては、計測装置2を基準とするビジョン座標系102が存在し、計測装置2による撮像画像に基づいて求めるワーク5の位置姿勢はビジョン座標系102における位置姿勢となる。ビジョン座標系102は、例えば、計測装置2の撮像系が有する光学系の焦点位置を原点とし、計測装置2の撮像方向をz軸とし、該z軸と直交する2軸をそれぞれx軸、y軸とする座標系である。
ロボット3の先端部には、ワーク5を把持するためのハンド4がリジッドに取り付けられている。ロボット3はワーク5をハンド4によって把持して所望の位置や姿勢でもって該ワーク5を移動させることで、例えば該把持したワーク5を別の物体に組み付けることができる。ロボット3の代表例として6軸の多関節ロボットが挙げられ、製造業における部品の仕分け工程や組立て工程などで広く用いられている。なお、ロボット3に対しては、ロボット3を基準とするロボット座標系101が存在する。ロボット座標系101は、例えば、ロボット3の台座における規定の位置を原点とし、該原点で互いに直交する3軸をそれぞれ、x軸、y軸、z軸とする座標系である。なお、ロボット座標系101は、基準座標系として設けたものであるから、ロボット3との相対的な位置姿勢を有する座標系であれば、現実空間中の何れの箇所に設けても良い。また、ハンド4に対しては、ハンド4を基準とするハンド座標系103が存在する。ハンド座標系103は、例えば、ハンド4の根本部分の位置を原点とし、ハンド4が取り付けられているアームの方向をz軸とし、該z軸と直交する2軸をそれぞれ、x軸、y軸とする座標系である。ロボット3には上記の通り計測装置2も固定して配置されているため、計測装置2(ビジョン座標系102)とハンド4(ハンド座標系103)との間の相対的な位置姿勢関係は固定されていることになる。計測装置2(ビジョン座標系102)とハンド4(ハンド座標系103)との間の相対的な位置姿勢関係はキャリブレーション時に求めて、情報処理装置6(データ記憶部203)に登録されているものとする。なお、ハンド座標系103は、ハンド4を基準とする座標系に限らず、例えば、ロボット3のアーム部の何れかの箇所に設定しても良い。
ロボット3の制御、例えば、ロボット3が有する各アームの位置姿勢を制御することでハンド4の位置姿勢を制御する制御動作はコントローラ7によって行われる。ここで、ハンド4にワーク5を把持させるためには、ロボット座標系101におけるワーク5の位置姿勢をコントローラ7に与える必要がある。本実施形態では、計測装置2による撮像画像から求めたビジョン座標系102におけるワーク5の位置姿勢から、該撮像画像の撮像時におけるワーク5のロボット座標系101における位置姿勢を正確に求めてコントローラ7に与える。本実施形態では、ロボット座標系101におけるワーク5の位置姿勢の算出及びコントローラ7への提供は情報処理装置6によって行われる。
次に、情報処理装置6について説明する。制御部201は、情報処理装置6全体の動作制御を行うためのものである。画像取得部202は、計測装置2(撮像装置)が撮像した撮像画像を取得する。データ記憶部203には、情報処理装置6が各種の処理を実行するために必要なデータが保存されている。三次元情報算出部204は、計測装置2による撮像画像に写っているワーク5の三次元情報を算出するための様々な処理を実行する。ロボット情報取得部205は、コントローラ7からロボット座標系101におけるハンド4の位置姿勢を取得する。
次に、ロボット3の各アームの位置姿勢を変更させながら計測装置2により撮像された撮像画像からロボット座標系101におけるワーク5の位置姿勢を正確に算出するために情報処理装置6が行う処理について、図3のフローチャートに従って説明する。なお、図3のフローチャートに従った処理の中ではパレット8は固定して配置されているものとし、例えば、ステップS1002までの処理とステップS1002以降の処理とでパレット8の位置や姿勢は変わらないものとする。
<ステップS1000>
先ず、コントローラ7は、計測装置2による投影パターンの投影範囲及び撮像範囲内にパレット8が含まれるようにハンド4の位置姿勢を固定する(つまり、計測装置2の位置姿勢を固定する)。本ステップにおいては、パレット8上若しくは近傍にワーク5が配置されていなくても良い。そして、計測装置2からは投影パターンが投影されたパレット8の撮像画像が情報処理装置6に対して出力されるので、画像取得部202は、計測装置2から送出された撮像画像を取得して、データ記憶部203に格納する。
またロボット情報取得部205は、ハンド4(計測装置2)の位置姿勢を固定してパレット8を撮像している状態におけるハンド4のロボット座標系101における位置姿勢をコントローラ7から取得してデータ記憶部203に格納する。
<ステップS1001>
三次元情報算出部204は、ステップS1000においてデータ記憶部203に格納された撮像画像から、ビジョン座標系102におけるパレット8の位置姿勢を算出する。投影パターンが投影された計測対象の撮像画像から該計測対象の位置姿勢を算出するための技術は周知である。例えば、撮像画像中の各画素位置における距離情報を三角測量の原理に基づいて算出することで計測対象の三次元形状を計測し、該三次元形状に対して予めデータ記憶部203に記憶された計測対象のモデル情報との比較を行うことで計測対象の位置姿勢を求める。この様にして求めた、ビジョン座標系102におけるパレット8の位置姿勢を表す行列をTrVP(stop)と表記する。
一方、ビジョン座標系102とハンド座標系103との相対的な位置姿勢関係、すなわち、ハンド座標系103を基準としたビジョン座標系102の位置姿勢(ハンド座標系103における計測装置2の位置姿勢)は予めキャリブレーション時に求めている。そしてこの予め求めた位置姿勢はデータ記憶部203に登録されている。ハンド座標系103を基準としたビジョン座標系102の位置姿勢(ハンド座標系103における計測装置2の位置姿勢)を表す行列をTrHVと表記する。
また、ステップS1000でロボット情報取得部205がコントローラ7から取得した「ハンド4のロボット座標系101における位置姿勢」を表す行列をTrRH(stop)と表記する。
このとき、三次元情報算出部204は、以下の式(1)に従って、ステップS1000における撮像時のロボット座標系101におけるパレット8の位置姿勢を表す行列TrRPを算出する。
TrRP=TrRH(stop)・TrHV・TrVP(stop) (1)
このように、ステップS1000及びS1001では、計測装置2の位置姿勢を固定した状態でパレット8の位置姿勢を計測している。この様な方法によれば、計測時におけるハンド4の位置姿勢を正確に取得することができるので、計測時におけるパレット8のロボット座標系101における位置姿勢TrRPを正確に求めることができる。結果として、TrRPは計測誤差や静止時のロボット3の位置決め誤差の範囲内で正確な値として得ることが出来る。そして三次元情報算出部204は、この様にして求めたTrRPをデータ記憶部203に格納する。
ステップS1000及びステップS1001による処理によって求めたTrRPは、ステップS1002以降の処理において、ロボット座標系101におけるワーク5の位置姿勢を求めるために使用される。
<ステップS1002>
ステップS1002以降では、パレット8上若しくは近傍にはワーク5が配置され、ハンド4の位置や姿勢を変更させながら(ハンド4を移動させながら)ワーク5のロボット座標系101における位置姿勢を計測する。なお、「ハンド4を移動させる」ことは、計測装置2を移動させることも意味する。また、ハンド4がパレット8に干渉する場合やあるいは情報処理装置6がワーク5の位置姿勢を誤認識し、その結果に基づいて移動したためにワーク5に予期せぬ干渉をした場合、ハンド4のずれなどが発生すると生産ラインを止めることとなる。よって、一般的にマシンビジョンシステム1においてはそのような干渉が起きないように種々の機能が備えられていて、パレット8はイレギュラーな現象が発生しない限り、位置姿勢が不変だとみなすことが可能である。
上記の通り、ハンド4の位置姿勢の変更はコントローラ7が行う。コントローラ7は、計測装置2による投影パターンの投影範囲及び撮像範囲内にパレット8及びワーク5の両方が含まれるようにロボット3の各アームの位置姿勢を変更してハンド4の位置姿勢の変更を行う。ステップS1002では、コントローラ7によるハンド4の位置姿勢の変更中において計測装置2は、パレット8及びワーク5の両方に対して投影パターンを投影すると共に、投影パターンが投影されたパレット8及びワーク5の両方を撮像する。この撮像により得られる撮像画像には、投影パターンが投影されたパレット8及びワーク5の両方が含まれている。そして画像取得部202は、このような撮像画像(投影パターンが投影されたパレット8及びワーク5の両方が含まれている撮像画像)を計測装置2から取得し、該取得した撮像画像をデータ記憶部203に格納する。
<ステップS1003>
三次元情報算出部204は、ステップS1002においてデータ記憶部203に格納された撮像画像から、ビジョン座標系102におけるパレット8の位置姿勢及びワーク5の位置姿勢を算出する。撮像画像からパレット8及びワーク5の位置姿勢を算出する方法は、上記のステップS1001と同様である。
この様にして求めた、ビジョン座標系102におけるパレット8の位置姿勢を表す行列をTrVP(run)、ビジョン座標系102におけるワーク5の位置姿勢を表す行列をTrVW(run)、と表記する。
<ステップS1004>
三次元情報算出部204は、ステップS1001でデータ記憶部203に格納したTrRP、ステップS1003で求めたTrVP(run)及びTrVW(run)、を用いて以下の式(2)を計算する。これにより、ロボット座標系101におけるワーク5の位置姿勢TrRW(run)を求めることができる。
TrRW(run)=TrRP・TrVP(run) −1・TrVW(run) (2)
この式(2)は、パレット8を計測装置2の位置姿勢を変化させずに計測する時点と変化させながら計測する時点において位置姿勢が同一であるという前提のもと成り立つ式である。前述の通り、計測装置2の位置姿勢を変化させながら計測を行う際には、ロボット3の位置姿勢が取得できない若しくは取得できたとしても精度が悪いということが大きな課題となる。しかし、本実施形態によると、移動中のハンド4の位置姿勢の取得可否に関わらず、移動しながらワーク5のロボット座標系101における位置姿勢が取得可能である。これは、計測装置2を静止させた状態における計測ではハンド4の位置姿勢及びロボット座標系101におけるパレット8の位置姿勢が正しく計測出来ることに着目することで実現されたものである。また、パレット8が移動計測時に静止状態計測時から動かなければ、同視野内のワーク5を計測する際に静止状態の計測で得た結果を利用出来ることに着目することで実現されたものでもある。
三次元情報算出部204が求めたTrRW(run)は、例えば、コントローラ7に対して送出される。コントローラ7は、ハンド4の位置姿勢が三次元情報算出部204から受けたTrRW(run)が示す位置姿勢となるようにロボット3を制御して、ハンド4にワーク5を把持させたりすることで、作業を進める。
<ステップS1005>
制御部201は、図3のフローチャートの終了条件が満たされたか否かを判断する。例えば、全てのワーク5の組み付けが完了した場合や、ユーザから不図示のユーザインターフェースを介して終了指示が入力された場合には、終了条件が満たされたと判断する。
終了条件が満たされたと制御部201が判断した場合には、図3のフローチャートに従った処理は終了する。一方、終了条件は満たされていないと制御部201が判断した場合には、処理はステップS1002に進み、例えば、他のワーク5についてステップS1002以降の処理を行う。
このような図3のフローチャートに従った処理を行うことで、ステップS1002以降では、位置姿勢を変更中のハンド4の位置姿勢が正確に取得できなくても、ロボット座標系101におけるワーク5の位置姿勢を正確に導出することができる。また、ステップS1000及びS1001の処理を一度行っておけば、後はロボット3を停止させることなくロボット座標系101におけるワーク5の位置姿勢を正確に導出することができ、ワーク5の把持や組み付けを行うことができる。
当然ながら、計測装置2を静止させた状態の計測においてロボット座標系101におけるワーク5の位置姿勢を正確に得ることは可能である。しかし、バラ積み状態にある複数のワーク5を1個ずつ計測、把持を繰り返す生産工程においては、撮像、認識されるワーク5の個体が変化するだけではなく、把持する際の物理作用によりバラ積み状態に変化が生じることが考えられる。従来技術において計測装置2を移動させながら計測を行った場合、ロボット座標系101におけるワーク5の位置姿勢が得られないことがある。この観点に立てば、バラ積み状態の複数のワーク5を毎回確実に計測、把持するためには、把持前に毎回静止状態で計測を行わなければならない。しかし、本実施形態では、一度計測装置2を静止させた状態で計測を行えば、その後バラ積み状態のワーク5に対して計測、把持を繰り返す際に、常時計測装置2を移動させながら計測を行い正確に把持することが可能である。生産工程において、本実施形態に係るマシンビジョンシステム1によって計測及び把持を行った場合の生産効率の優位性は自明である。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。第1の実施形態では、計測装置2はロボット3に取り付けられていたが、計測装置2はその位置や姿勢を変更可能に設けられるのであれば、ロボット3に取り付けることに限らない。例えば、図4に示す如く、移動ステージや電動スライダ等の駆動機構9により計測装置2の位置や姿勢を変更するようにしても良い。
この様な場合、ステップS1000では、駆動機構9により、計測装置2による投影パターンの投影範囲及び撮像範囲内にパレット8が含まれるように計測装置2の位置姿勢を固定する。そして第1の実施形態と同様にして計測装置2からは投影パターンが投影されたパレット8の撮像画像が情報処理装置6に対して出力されるので、画像取得部202は、計測装置2から送出された撮像画像を取得して、データ記憶部203に格納する。
ステップS1001では、三次元情報算出部204は、第1の実施形態と同様にして、ビジョン座標系102におけるパレット8の位置姿勢を表す行列をTrVP(stop)として求める。また、計測装置2のロボット座標系101における位置姿勢はキャリブレーション時に行列TrRVとして予め求めている。このとき、三次元情報算出部204は、以下の式(3)に従って、ロボット座標系101におけるパレット8の位置姿勢を表す行列TrRPを算出する。
TrRP=TrRV・TrVP(stop) (3)
以降は第1の実施形態と同様である。
[第3の実施形態]
第1の実施形態では、静止物体としてパレット8を用いたが、他の物体を静止物体として使用しても良い。例えば、図6に示す如く、位置姿勢を変化させない固定ワーク11を静止物体として使用しても良い。固定ワーク11はワーク5と同種のものを用いてもよいし、より認識精度の良い別種の物体を用いてもよい。例えば、ロボットの動作の目的として組付け工程を考えた場合、ワーク5を把持して組付け先のワーク、部品、筐体などに組付けることも考えられる。このような場合、ワーク5はバラ積みで固定されていないが、組付け先は固定されており、ロボット座標系において組付け工程の間不変であるようなケースも考えられる。この様なケースの場合、組付け先のワークや部品や筐体を固定ワーク11として採用しても良い。さらに、固定ワーク11として、実際に生産現場で把持や組立てなどの目的で計測される計測対象などではなく、別途設置された認識用のマーカを用いてもよい。マーカは計測装置2により計測が出来るものであれば様々な形態をとることが可能であるが、その位置姿勢が変化しないようにリジットに固定されているものや計測装置2による認識の精度が良好なものを選択することが望ましい。
[第4の実施形態]
第1の実施形態では、計測装置2を用いた計測対象の三次元情報の計測方法として、ラインパターン上にドット部を配した投影パターンを計測対象に投影し、該投影パターンが投影された計測対象を撮像して、撮像画像から三次元情報を得る計測方法を想定した。しかし、計測対象の三次元情報を計測可能な方法には様々な方法を適用することができる。例えば、計測装置2が1度の撮像により計測対象の三次元情報を得る、いわゆるワンショット方式の計測方法を採用しても良い。例えば、投影パターンの様態としてラインの識別のためライン幅を変化させたライン幅変調方式、ランダムに配置されたドットを投影するランダムドット方式を採用することも可能である。また、パターン投影方式以外でも、カメラ2台により計測対象を撮像し、視差を利用して三次元情報を得るいわゆるパッシブステレオ方式の計測方法を採用しても良い。このように、計測装置2には、計測対象の位置姿勢を計測するための様々なセンサを適用することができる。
[第5の実施形態]
ステップS1000では、ハンド4や計測装置2の位置姿勢を固定して撮像していた。しかし、撮像時の近傍におけるハンド4の位置姿勢を取得することができるのであれば、ハンド4や計測装置2は全く停止させなくても良い。
例えば、ハンド4の移動速度に対してコントローラ7からの位置姿勢の出力間隔が短い場合、撮像のタイミング(計測タイミング)から遅れて取得したハンド4の位置姿勢であっても、撮像時のハンド4の位置姿勢の真値と大きくは変わらない場合がある。つまり、ハンド4を第1の移動速度で移動させても撮像時のハンド4の位置姿勢との差異が規定範囲内となるような位置姿勢が得られるのであれば、ハンド4を第1の移動速度で移動させながらステップS1000及びS1001を行っても良い。
これは計測装置2についても同様で、第2の実施形態においてもステップS1000において計測装置2を固定しなくてもよい。つまり、計測装置2を第1の移動速度で移動させても撮像時の計測装置2の位置姿勢との差異が規定範囲内となるような位置姿勢が得られるのであれば、計測装置2を第1の移動速度で移動させながらステップS1000及びS1001を行っても良い。
[第6の実施形態]
本実施形態では、ロボット座標系101におけるワーク5の位置姿勢を第1の実施形態の構成を採用して求めるのか、それともロボット座標系101におけるパレット8の位置姿勢を求めずに、ハンド4を移動させながら計測するのか、を切り替える。計測装置2による撮像時におけるロボット3の位置姿勢を取得出来るか否かは、ハンド4の移動速度や計測装置2の露光時間、情報処理装置6の性能などの種々のパラメータに影響される。然るに経験的に又は取得タイミングの算出結果等により確実に撮像時におけるハンド4の位置姿勢を取得出来る状況では、スループット向上の観点でも、図3のフローチャートに従った処理を行うことなく、移動中の計測装置2による計測結果を採用すればよい。以下に、本実施形態の様々な変形例を説明する。
<変形例1>
変形例1では、ハンド4の移動速度の設定情報に応じて、上記の切り替えを行う。前述の通り、ハンド4の移動速度が速い状況では、ハンド4の位置姿勢が取得できないケースがあることがわかっている。その理由が、前述の通りコントローラ7が取得したハンド4の位置姿勢をメモリに書き終わるまでの間に次のトリガを受信したということであれば、ハンド4の移動速度が遅い場合はハンド4の位置姿勢が取得可能である。また、実験的にもハンド4の移動速度が一定速度より遅い場合はハンド4の位置姿勢が取得出来るケースが確認されている。よってハンド4の速度が一定速度より遅い場合の計測においては従来通りコントローラ7よりハンド4の位置姿勢を取得して計測を行い、速い場合には第1の実施形態に係る構成を採用して計測を行うという形態が考えられる。
本変形例に係るマシンビジョンシステム1の構成例を図7に示す。図7に示した構成は、図1に示した構成において、情報処理装置6に判定部206を加えたものとなっている。判定部206は、コントローラ7から得られる設定情報が示す「ハンド4の移動速度」と、データ記憶部203に予め格納されている速度閾値と、の比較を行う。
この比較の結果、ハンド4の移動速度が速度閾値よりも大きい(早い)と判定部206が判定した場合には、コントローラ7から撮像時におけるハンド4の位置姿勢を正確に取得できない可能性がある。そのため判定部206は、第1の実施形態で説明した計測を行うべく、コントローラ7に対し、図3のフローチャートに従った処理を実現するためのハンド4の位置姿勢の制御を行わせるための制御信号を送出する。
一方、この比較の結果、ハンド4の移動速度が速度閾値よりも小さい(遅い)と判定部206が判定した場合には、コントローラ7から撮像時におけるハンド4の位置姿勢を正確に取得できる。そのため判定部206は、コントローラ7に対してハンド4を移動させるための制御信号を送出する。画像取得部202は、移動中の計測装置2による撮像画像を取得し、三次元情報算出部204は、該撮像画像から、ビジョン座標系102におけるワーク5の位置姿勢を表す行列式TrVW(run)を算出する。また、ロボット情報取得部205は、コントローラ7からロボット座標系101におけるハンド4の位置姿勢を表す行列式TrRH(run)を取得する。そして三次元情報算出部204は、以下の式(4)を計算することで、ロボット座標系101におけるワーク5の位置姿勢を表す行列TrRW(run)を求める。
TrRW(run)=TrRH(run)・TrHV・TrVW(run) (4)
TrHVは第1の実施形態で説明したとおり、ハンド座標系103を基準としたビジョン座標系102の位置姿勢(ハンド座標系103における計測装置2の位置姿勢)を表す行列であり、データ記憶部203に登録されている。
本変形例に係るマシンビジョンシステム1における情報処理装置6がロボット座標系101におけるワーク5の位置姿勢を求めるために行う処理について、図8のフローチャートに従って説明する。図8において図3と同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
<ステップS2000>
判定部206は、コントローラ7から得られる設定情報が示す「ハンド4の移動速度」と、データ記憶部203に予め格納されている速度閾値と、の比較を行う。この比較の結果、ハンド4の移動速度が速度閾値よりも大きい(早い)と判定部206が判定した場合には、処理はステップS1000に進む。一方、この比較の結果、ハンド4の移動速度が速度閾値よりも小さい(遅い)と判定部206が判定した場合には、処理はステップS3000に進む。
<ステップS3000>
コントローラ7によってハンド4は移動しているため、計測装置2もまた移動しながらワーク5を撮像している。然るに画像取得部202は、移動中の計測装置2によって撮像された撮像画像を取得する。
<ステップS3001>
ロボット情報取得部205は、コントローラ7からハンド4のロボット座標系101における位置姿勢を表す行列式TrRH(run)を取得する。
<ステップS3002>
三次元情報算出部204は、ステップS3000で取得した撮像画像から、ビジョン座標系102におけるワーク5の位置姿勢を表す行列式TrVW(run)を算出する。そして三次元情報算出部204は、TrVW(run)、ステップS3001で取得したTrRH(run)、データ記憶部203から取得したTrHVを用いて上記の式(4)を計算する。これにより三次元情報算出部204は、ロボット座標系101におけるワーク5の位置姿勢を表す行列TrRW(run)を求める。
<ステップS3003>
制御部201は、図8のフローチャートの終了条件が満たされたか否かを判断する。終了条件が満たされたと制御部201が判断した場合には、図8のフローチャートに従った処理は終了する。一方、終了条件は満たされていないと制御部201が判断した場合には、処理はステップS3000に進み、例えば、他のワーク5についてステップS3000以降の処理を行う。
ステップS2000ではハンド4の移動速度に加えて又は代えて、計測装置2の露光時間、情報処理装置6の性能等も加味してステップS1000〜S1005の処理を行うのか、それともステップS3000〜S3003の処理を行うのかを判定しても良い。
また、ステップS2000における判定は、ハンド4の移動速度が計測中に不変な場合には、図8のように計測対象の計測を行う前に行う。しかし、計測中にハンド4の移動速度が切り替わる場合には、リアルタイムでハンド4の移動速度を監視し、計測を行う毎にステップS2000における判定を行うようにしても良い。
<変形例2>
本変形例でも、図7に例示した構成を有するマシンビジョンシステム1を使用する。本変形例に係るマシンビジョンシステム1における情報処理装置6がロボット座標系101におけるワーク5の位置姿勢を求めるために行う処理について、図9のフローチャートに従って説明する。図9において図3,8と同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る詳細な説明は省略し、処理の流れを重点的に説明する。
ステップS2001では判定部206は、ステップS3000で撮像画像を取得したタイミングでロボット情報取得部205がコントローラ7からハンド4の位置姿勢を表す行列式TrRH(run)を取得したか否かを判断する。この判断の結果、取得したと判定部206が判断した場合、成功と判断して処理はステップS3002に進む。一方、取得していないと判定部206が判断した場合、失敗と判断して処理はステップS2002に進む。
例えば、低速でハンド4を移動させて計測を行い、安定的にハンド4の位置姿勢がコントローラ7から取得出来る状況で計測を行っていたとする。その場合においても、コントローラ7の処理速度の変動や取得タイミングのずれなどにより、ある条件下でハンド4の位置姿勢が取得出来なくなることが考えられる。その際、ハンド4の位置姿勢が取得できなくなったことを判定材料として第1の実施形態の計測方法に移行すれば、最初から第1の実施形態を適用することに伴うスループット低下は必要なケースのみで抑えられ、把持、組立て等の各種動作を行うことが出来る。
ステップS2002では、判定部206は、ステップS1000及びS1001の処理を既に行って、ロボット座標系101におけるパレット8の位置姿勢をデータ記憶部203に取得しているのか否かを判断する。この判断の結果、ステップS1000及びS1001の処理を既に行っていると判定部206が判断した場合には、処理はステップS1002に進む。一方、ステップS1000及びS1001の処理を未だ行っていないと判定部206が判断した場合には、処理はステップS1000に進む。
前述の通り、本変形例においてステップS2001で失敗と判断したのはイレギュラーな結果であるという想定であり、次回以降ステップS2001では成功と判断される場合が多い。仮に失敗になったとしても一度ステップS1000及びS1001を実行しておけば、後はロボット3を静止させて計測を行う必要はない。ステップS3003でもステップS1005でも、終了条件が満たされていない場合には、処理はステップS3000に進む。
<変形例3>
本変形例においては、ハンド4の移動速度が速く、ハンド4の位置姿勢の取得を時折失敗するような状況を想定する。その場合、第1の実施形態に係る計測方法を採用することが望ましい。上述したように第1の実施形態では、静止物体としてのパレット8は、ロボット座標系101におけるパレット8の位置姿勢の計測、ロボット座標系101におけるワーク5の位置姿勢の計測、のそれぞれにおいて位置姿勢が変化しないことを条件としている。パレット8は基本的に計測中に物理的干渉を受けないようになっているのでこの前提は多くの状況で成立する。しかし、誤認識によるロボット3の動作やパレット8内のワーク5を把持した際の間接的な物理作用等が原因で、パレット8の位置姿勢が変化してしまう可能性も考えられる。そのようなケースが発生すると、第1の実施形態に係る計測方法を適用してワーク5の把持、組立てなどの各種動作を行うことは不可能となる。
よって、上記のようにパレット8の位置姿勢が変化した場合には再びパレット8を正確に計測できる計測条件に移行することが望ましい。そのような計測フローの切替を行うためにはパレット8の位置姿勢が変化したか否かを判定する必要がある。
本変形例でも、図7に例示した構成を有するマシンビジョンシステム1を使用する。第1の実施形態で説明したステップS1000及びS1001の処理によって、ロボット座標系101におけるパレット8の位置姿勢を表す行列TrRP(stop)がデータ記憶部203に取得されているとする。
また、ハンド4を移動させて計測装置2により計測したパレット8のビジョン座標系102における位置姿勢を表す行列TrVP(run)が得られているものとする。また、データ記憶部203に予め、ハンド座標系103を基準としたビジョン座標系102の位置姿勢(ハンド座標系103における計測装置2の位置姿勢)を表す行列TrHVが登録されているものとする。また、計測装置2による計測時におけるハンド4のロボット座標系101における位置姿勢を表す行列TrRH(run)がコントローラ7からロボット情報取得部205によって取得されたとする。このとき、行列TrVP(run)、TrHV、TrRH(run)を用いて以下の式(5)を計算する。これにより、パレット8のロボット座標系101における位置姿勢を表す行列TrRP(run)を求めることができる。
TrRP(run)=TrRH(run)・TrHV・TrVP(run) (5)
この時点で、ロボット座標系101におけるパレット8の位置姿勢に関し、計測装置2を移動させないで計測を行った結果であるTrRP(stop)と計測装置2を移動させながら計測を行った結果であるTrRP(run)とが得られる。
TrRP(stop)とTrRP(run)とに規定量以上の差がない場合、ロボット座標系101におけるハンド4の位置姿勢は正しく取得されており、パレット8の位置姿勢も変化していないと判定するのが妥当である。
一方、TrRP(stop)とTrRP(run)とに一定量以上の差が存在する場合、2つの要因が考えられる。1つ目はTrRH(run)が正しく取得出来ていないこと、2つ目はパレット8の位置姿勢が変化したことである。これらの要因の特定方法の一つとしてはTrRH(run)の確度と物理的干渉が起きて位置姿勢が変化した際のパレット8の位置姿勢変動量を基に特定することが考えられる。移動時のハンド4の位置姿勢は、取得さえ出来ればせいぜい100μmレベルのずれにしかならないことが経験的に分かっていた場合、それより大きな変化、例えば数mmレベルのずれが起きていれば、パレット8の位置姿勢変化によるものと考えることが出来る。また、別の要因の特定方法として、ずれの方向によって特定を行ってもよい。例えばハンド4の移動の軌跡が既知である場合、TrRH(run)の位置情報の取得誤差のベクトルは軌跡のベクトル方向と同じ方向である可能性が高い。よってずれの方向が軌跡方向と一致していればTrRH(run)が正しく取得出来ていないと判定出来て、それらの差が所定の閾値より大きければパレット8の位置姿勢が変化したと判定出来る。この様な判定によりパレット8の位置姿勢に変化が生じたと判定された場合は、再度図3のフローチャートに従った処理を行う。
本変形例に係るマシンビジョンシステム1における情報処理装置6がロボット座標系101におけるワーク5の位置姿勢を求めるために行う処理について、図10のフローチャートに従って説明する。図10において図3,8,9と同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る詳細な説明は省略し、処理の流れを重点的に説明する。
ステップS2001では判定部206は、ステップS1002で撮像画像を取得したタイミングでロボット情報取得部205がコントローラ7からハンド4の位置姿勢を表す行列式TrRH(run)を取得したか否かを判断する。この判断の結果、取得したと判定部206が判断した場合、成功と判断して処理はステップS2003に進む。一方、取得していないと判定部206が判断した場合、失敗と判断して処理はステップS1003に進む。
ステップS2003では、三次元情報算出部204は、ステップS1002で取得した撮像画像に基づいて、ビジョン座標系102におけるパレット8の位置姿勢を求める。ステップS2004では、三次元情報算出部204は、ステップS1000における撮像時のロボット座標系101におけるパレット8の位置姿勢を上記の式(5)を用いて求める。
そしてステップS2005では判定部206は、ステップS1001で算出したロボット座標系101におけるパレット8の位置姿勢と、ステップS2004で算出したロボット座標系101におけるパレット8の位置姿勢と、を比較する。上記の通り、この比較の結果、両者の差異が閾値以上であれば、判定部206は、パレット8の位置姿勢は変化したものと判断し、処理はステップS1000に戻る。なお、両者の差異が閾値以上の場合に、必ずしもステップS1000に進むことに限らない。例えば、ステップS2001で取得されたハンド4の位置姿勢が確度の高いものであれば、ステップS2004で求めたパレット8の位置姿勢を移動後のパレット8の位置姿勢と見なし、処理をステップS1003に進めても良い。一方、この比較の結果、両者の差異が閾値未満であれば、判定部206は、パレット8の位置姿勢は変化していないものと判断し、処理はステップS1003に進む。
また、本変形例では、ロボット座標系101におけるパレット8の位置姿勢に基づいて、パレット8の位置姿勢の変化の有無を判定した。しかし、他の方法を用いてパレット8の位置姿勢の変化の有無を判定しても良い。例えば、パレット8の位置姿勢が不変であると仮定した場合の、計測装置2の位置姿勢を変化させながら撮像した時点でのハンド4の位置姿勢を逆算しても良い。逆算したハンド4の位置姿勢がハンド4の軌道上確かなものか否かを判定することでも、パレット8の位置姿勢の変化の有無の判定が可能である。
なお、上記の各実施形態の一部若しくは全部を適宜組み合わせて使用しても良い。例えば、上述の実施形態においては、ハンド4の位置姿勢を変化させずに計測を行った後にハンド4の位置姿勢を変化させて計測を行ったが、この順序は可変である。つまり、位置姿勢が不変な基準物体のロボット座標系における位置姿勢を、正確に取得出来る状態と移動状態とで計測し、その計測結果を用いて移動状態における把持や組付け等の動作を行いたい計測対象のロボット座標系における位置姿勢を取得できれば良い。
また、上記の実施形態では、ロボット3にはハンド4が取り付けられているものとし、コントローラ7はハンド4のロボット座標系101における位置姿勢を取得するものとした。しかし、ロボット3にハンド4以外のユニットを取り付けた場合には、上記の処理では、ハンド4の位置姿勢の代わりにこのユニットの位置姿勢を用いることになる。また、この様なユニットではなく、ロボット3における任意の部位を対象としても良い。
[第7の実施形態]
図1,4,6,7に示した情報処理装置6を構成する各機能部はハードウェアで実装しても良いが、データ記憶部203を除く各機能部をソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、データ記憶部203として機能するメモリと、それ以外の機能部に対応するコンピュータプログラムを実行可能なプロセッサと、を有するコンピュータ装置であれば、上記の情報処理装置6に適用することができる。
情報処理装置6に適用可能なコンピュータ装置199のハードウェア構成例について、図2のブロック図を用いて説明する。尚、図2に示した構成は、情報処理装置6に適用可能なコンピュータ装置のハードウェア構成の一例であり、種々の変形/変更が可能である。
CPU21は、メインメモリ22に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりCPU21は、コンピュータ装置199全体の動作制御を行うと共に、情報処理装置6が行うものとして上述した各処理を実行若しくは制御する。
メインメモリ22は、記憶部23やROM24からロードされるコンピュータプログラムやデータ、汎用I/F26を介して記録メディア32からロードされるコンピュータプログラムやデータ、を格納するためのエリアを有する。更にメインメモリ22は、CPU21が各種の処理を実行若しくは制御するために用いるワークエリアを有する。このようにメインメモリ22は、各種のエリアを適宜提供することができる。
記憶部23は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。記憶部23には、OS(オペレーティングシステム)や、情報処理装置6が行うものとして上述した各処理をCPU21に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。記憶部23に保存されているコンピュータプログラムには、図1,4,6,7においてデータ記憶部203以外の各機能部の機能をCPU21に実行させるためのコンピュータプログラムが含まれている。また、記憶部23に保存されているデータには、上記の説明において既知の情報として説明したもの、例えば、閾値や、行列TrHV、行列TrRV、などが含まれている。記憶部23に保存されているコンピュータプログラムやデータは、CPU21による制御に従って適宜メインメモリ22にロードされ、CPU21による処理対象となる。ROM24には、ブートプログラムや設定データなどが保存されている。
汎用I/F26には、入力装置31と記録メディア32とが接続される。入力装置31は、キーボードやマウスなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をCPU21に対して入力することができる。記録メディア32は、SDカード、USB等のメモリ装置である。
VC(ビデオコントローラ)27には表示装置33が接続されている。表示装置33はVC27による制御に従って、CPU21による処理結果を画像や文字などでもって表示することができる。入力装置31と表示装置33とを一体化させてタッチパネル画面を構成しても良い。CPU21、メインメモリ22、記憶部23、ROM24、汎用I/F26、VC27は何れもバス25に接続されている。
[第8の実施形態]
上述の情報処理装置6及び計測装置2を含む計測装置は、ある支持部材に支持された状態で使用されうる。本実施形態では、一例として、図5のようにロボットアーム5300(把持装置)に備え付けられて使用される制御システムについて説明する。計測装置5100は、支持台5350に置かれた被検物5210にパターン光を投影して撮像し、画像を取得する。そして、計測装置5100の制御部が、又は、計測装置5100の制御部から画像データを取得した制御部5310が、被検物5210の位置および姿勢を求め、求められた位置および姿勢の情報を制御部5310が取得する。制御部5310は、その位置および姿勢の情報に基づいて、ロボットアーム5300に駆動指令を送ってロボットアーム5300を制御する。ロボットアーム5300は先端のロボットハンドなど(把持部)で被検物5210を保持して、並進や回転などの移動をさせる。さらに、ロボットアーム5300によって被検物5210を他の部品に組み付けることにより、複数の部品で構成された物品、例えば電子回路基板や機械などを製造することができる。また、移動された被検物5210を加工することにより、物品を製造することができる。制御部5310は、CPUなどの演算装置やメモリなどの記憶装置を有する。なお、ロボットを制御する制御部を制御部5310の外部に設けても良い。また、計測装置5100により計測された計測データや得られた画像をディスプレイなどの表示部5320に表示してもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
2:計測装置 3:ロボット 7:コントローラ 6:情報処理装置

Claims (19)

  1. 第1の速度で移動するロボットに取り付けられたセンサによる静止物体の位置及び姿勢の計測の結果と、該計測中に取得した前記ロボットの基準座標系における位置及び姿勢と、に基づいて前記基準座標系における前記静止物体の位置及び姿勢を求める第1の算出手段と、
    前記第1の速度より大きい第2の速度で移動する前記ロボットにおける前記センサが計測した前記静止物体及び対象物体の位置及び姿勢の計測結果と、前記第1の算出手段が求めた前記静止物体の位置及び姿勢と、に基づいて、前記基準座標系における前記対象物体の位置及び姿勢を求める第2の算出手段と
    を備えることを特徴とする情報処理装置。
  2. 前記第1の算出手段は、前記第1の速度の前記ロボットにおける前記センサによる静止物体の位置及び姿勢の計測の結果に基づいて前記センサを基準とする座標系における前記静止物体の位置及び姿勢を求め、該求めた位置及び姿勢と、前記計測中に取得した前記ロボットの前記基準座標系における位置及び姿勢と、前記ロボットと前記センサとの間の相対的な位置姿勢関係と、に基づいて、前記静止物体の前記基準座標系における位置及び姿勢を求めることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2の算出手段は、前記第2の速度の前記センサが計測した前記対象物体の計測結果に基づいて求めた前記座標系における前記対象物体の位置及び姿勢と、前記第2の速度の前記センサが計測した前記静止物体の計測結果に基づいて求めた前記座標系における前記静止物体の位置及び姿勢と、前記第1の算出手段が求めた位置及び姿勢と、に基づいて前記基準座標系における前記対象物体の位置及び姿勢を求めることを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1の速度は0であることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記静止物体は、前記対象物体を収容する容器であることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記静止物体は、前記ロボットによる組み付けの対象であることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  7. 前記静止物体は、マーカであることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  8. 更に、
    前記ロボットの移動が速度閾値よりも速いか遅いかを判断する判断手段を備え、
    前記第2の算出手段は、前記ロボットの前記第2の速度が前記速度閾値よりも速い場合に動作することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 更に、
    移動中の前記センサによる計測時の前記ロボットの位置及び姿勢の取得に成功したか否かを判断する手段を備え、
    前記第1の算出手段及び前記第2の算出手段は、移動中の前記センサによる計測時の前記ロボットの位置及び姿勢の取得に失敗した場合に動作することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  10. 前記第1の算出手段が求めた位置及び姿勢が変更されたか否かを判断する判断手段を備え、
    前記第1の算出手段が求めた位置及び姿勢が変更された場合には、前記第1の算出手段による処理を再度、行うことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  11. 前記第1の速度は、前記ロボットに取り付けられたセンサによる計測タイミングにおける前記ロボットの基準座標系における位置及び姿勢が取得可能な速度である、ことを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  12. 第1の速度で移動するセンサによる静止物体の位置及び姿勢の計測の結果と、該計測中に取得した前記センサの基準座標系における位置及び姿勢と、に基づいて前記静止物体の前記基準座標系における位置及び姿勢を求める第1の算出手段と、
    前記第1の速度より大きい第2の速度で移動する前記センサが計測した前記静止物体及び対象物体の位置及び姿勢の計測結果と、前記第1の算出手段が求めた位置及び姿勢と、に基づいて、前記基準座標系における前記対象物体の位置及び姿勢を求める第2の算出手段と
    を備えることを特徴とする情報処理装置。
  13. 請求項1乃至12の何れか1項に記載の情報処理装置と、
    前記情報処理装置による計測の結果に基づいて対象物体を保持して移動させるロボットと、を有するシステム。
  14. 物体の位置及び姿勢を計測するセンサを有する請求項13に記載のシステム。
  15. 物体の位置及び姿勢を計測するセンサと、
    請求項1乃至12の何れか1項に記載の情報処理装置と、を有するシステム。
  16. 請求項1乃至12の何れか1項に記載の情報処理装置を用いて対象物体を計測する工程と、
    該計測の結果に基づいて対象物体を処理することにより物品を製造する工程と、を有することを特徴とする物品の製造方法。
  17. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の第1の算出手段が、第1の速度で移動するロボットに取り付けられたセンサによる静止物体の位置及び姿勢の計測の結果と、該計測中に取得した前記ロボットの基準座標系における位置及び姿勢と、に基づいて前記基準座標系における前記静止物体の位置及び姿勢を求める第1の算出工程と、
    前記情報処理装置の第2の算出手段が、前記第1の速度より大きい第2の速度で移動する前記ロボットにおける前記センサが計測した前記静止物体及び対象物体の位置及び姿勢の計測結果と、前記第1の算出工程で求めた前記静止物体の位置及び姿勢と、に基づいて、前記基準座標系における前記対象物体の位置及び姿勢を求める第2の算出工程と
    を備えることを特徴とする情報処理方法。
  18. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の第1の算出手段が、第1の速度で移動するセンサによる静止物体の位置及び姿勢の計測の結果と、該計測中に取得した前記センサの基準座標系における位置及び姿勢と、に基づいて前記静止物体の前記基準座標系における位置及び姿勢を求める第1の算出工程と、
    前記情報処理装置の第2の算出手段が、前記第1の速度より大きい第2の速度で移動する前記センサが計測した前記静止物体及び対象物体の位置及び姿勢の計測結果と、前記第1の算出工程で求めた位置及び姿勢と、に基づいて、前記基準座標系における前記対象物体の位置及び姿勢を求める第2の算出工程と
    を備えることを特徴とする情報処理方法。
  19. コンピュータを、請求項1乃至12の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2017059688A 2017-03-24 2017-03-24 情報処理装置、システム、情報処理方法、製造方法 Pending JP2018161700A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017059688A JP2018161700A (ja) 2017-03-24 2017-03-24 情報処理装置、システム、情報処理方法、製造方法
US15/927,706 US20180272539A1 (en) 2017-03-24 2018-03-21 Information processing apparatus, system, information processing method, and manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017059688A JP2018161700A (ja) 2017-03-24 2017-03-24 情報処理装置、システム、情報処理方法、製造方法

Publications (1)

Publication Number Publication Date
JP2018161700A true JP2018161700A (ja) 2018-10-18

Family

ID=63581511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017059688A Pending JP2018161700A (ja) 2017-03-24 2017-03-24 情報処理装置、システム、情報処理方法、製造方法

Country Status (2)

Country Link
US (1) US20180272539A1 (ja)
JP (1) JP2018161700A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020125921A (ja) * 2019-02-01 2020-08-20 ファナック株式会社 3次元形状計測システムおよび3次元形状計測方法
JP2020142323A (ja) * 2019-03-06 2020-09-10 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2020190551A (ja) * 2019-05-15 2020-11-26 オムロン株式会社 計測システム、計測装置、計測方法、及び計測プログラム
JP2021139882A (ja) * 2020-03-05 2021-09-16 株式会社Mujin 容器検出および物体検出を行うための方法ならびに計算システム
JP2021148763A (ja) * 2020-03-13 2021-09-27 オムロン株式会社 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
JP7453554B2 (ja) 2021-03-24 2024-03-21 株式会社デンソーウェーブ 三次元計測装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10926416B2 (en) * 2018-11-21 2021-02-23 Ford Global Technologies, Llc Robotic manipulation using an independently actuated vision system, an adversarial control scheme, and a multi-tasking deep learning architecture
CN110119698B (zh) * 2019-04-29 2021-08-10 北京百度网讯科技有限公司 用于确定对象状态的方法、装置、设备和存储介质
JP7365567B2 (ja) * 2020-11-12 2023-10-20 オムロン株式会社 計測システム、計測装置、計測方法及び計測プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6809809B2 (en) * 2000-11-15 2004-10-26 Real Time Metrology, Inc. Optical method and apparatus for inspecting large area planar objects
JP3703411B2 (ja) * 2001-07-19 2005-10-05 ファナック株式会社 ワーク取り出し装置
WO2004009303A1 (ja) * 2002-07-18 2004-01-29 Kabushiki Kaisha Yaskawa Denki ロボット制御装置およびロボットシステム
JP3859574B2 (ja) * 2002-10-23 2006-12-20 ファナック株式会社 3次元視覚センサ
JP5767464B2 (ja) * 2010-12-15 2015-08-19 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
US9279661B2 (en) * 2011-07-08 2016-03-08 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP5854815B2 (ja) * 2011-12-20 2016-02-09 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6415291B2 (ja) * 2014-12-09 2018-10-31 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2017177294A (ja) * 2016-03-31 2017-10-05 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボットシステムおよびコンピュータプログラム
JP6410861B2 (ja) * 2017-03-09 2018-10-24 キヤノン株式会社 計測装置、処理装置および物品製造方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020125921A (ja) * 2019-02-01 2020-08-20 ファナック株式会社 3次元形状計測システムおよび3次元形状計測方法
US11389967B2 (en) 2019-02-01 2022-07-19 Fanuc Corporation Three-dimensional shape measurement system and three-dimensional shape measurement method
JP2020142323A (ja) * 2019-03-06 2020-09-10 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2020190551A (ja) * 2019-05-15 2020-11-26 オムロン株式会社 計測システム、計測装置、計測方法、及び計測プログラム
JP7448884B2 (ja) 2019-05-15 2024-03-13 オムロン株式会社 計測システム、計測装置、計測方法、及び計測プログラム
JP2021139882A (ja) * 2020-03-05 2021-09-16 株式会社Mujin 容器検出および物体検出を行うための方法ならびに計算システム
JP2021148763A (ja) * 2020-03-13 2021-09-27 オムロン株式会社 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
JP7450857B2 (ja) 2020-03-13 2024-03-18 オムロン株式会社 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
JP7453554B2 (ja) 2021-03-24 2024-03-21 株式会社デンソーウェーブ 三次元計測装置

Also Published As

Publication number Publication date
US20180272539A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP2018161700A (ja) 情報処理装置、システム、情報処理方法、製造方法
US11254008B2 (en) Method and device of controlling robot system
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
US11667036B2 (en) Workpiece picking device and workpiece picking method
US10335963B2 (en) Information processing apparatus, information processing method, and program
US9604363B2 (en) Object pickup device and method for picking up object
US11014233B2 (en) Teaching point correcting method, program, recording medium, robot apparatus, imaging point creating method, and imaging point creating apparatus
US11358290B2 (en) Control apparatus, robot system, method for operating control apparatus, and storage medium
CN114174006A (zh) 机器人手眼标定方法、装置、计算设备、介质以及产品
US7724380B2 (en) Method and system for three-dimensional measurement
CN107428009A (zh) 用于工业机器人调试的方法、使用该方法的工业机器人系统和控制系统
JP2011007632A (ja) 情報処理装置、情報処理方法およびプログラム
JP2017033429A (ja) 3次元物体検査装置
JP5132138B2 (ja) 位置姿勢計測方法、位置姿勢計測装置
US11662194B2 (en) Measurement point determination for coordinate measuring machine measurement paths
US12311542B2 (en) Robot system
KR20200101796A (ko) 이동형 로봇 및 그것의 로봇 암 정렬 방법
JP7533265B2 (ja) 支援システム、画像処理装置、支援方法およびプログラム
US11561204B2 (en) Display control system, inspection control system, display control method, and storage medium
JP7502343B2 (ja) 画像処理システム
JP2006112861A (ja) 三次元座標測定システム及びそれに用いるパートプログラム
JP2022034420A (ja) 位置特定装置、位置特定装置の制御方法、情報処理プログラム、および記録媒体
JP2020197495A (ja) 情報処理装置、計測装置、情報処理方法、プログラム、システム及び物品の製造方法
US12415274B2 (en) Robot system, control device, diagnosis method, and diagnosis program
KR102719072B1 (ko) 핸드 아이 캘리브레이션 장치 및 방법