JP2023173018A - カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム - Google Patents
カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム Download PDFInfo
- Publication number
- JP2023173018A JP2023173018A JP2022084959A JP2022084959A JP2023173018A JP 2023173018 A JP2023173018 A JP 2023173018A JP 2022084959 A JP2022084959 A JP 2022084959A JP 2022084959 A JP2022084959 A JP 2022084959A JP 2023173018 A JP2023173018 A JP 2023173018A
- Authority
- JP
- Japan
- Prior art keywords
- camera
- calibration
- image
- specific
- coordinate system
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
Description
本開示は、カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラムに関する。
ロボットなどの様々な装置において、カメラを用いて対象物の位置を認識させて、対象物とのインタラクション動作を実現する技術が利用されている。このような用途でカメラを使用する場合には、予め校正(キャリブレーション)を行うことによって、カメラのキャリブレーションパラメーターが設定される。キャリブレーションパラメーターは、レンズの性能やレンズと画素の関係を表す内部パラメーターと、カメラと外部装置との相対位置を表す外部パラメーターとを含む。ロボットでカメラを使用する場合には、ロボットとの相対位置が固定され、かつ、作業領域全面を視野範囲とする位置にカメラを配置することにより、カメラ・ロボット間の外部パラメーターを算出することができる。このような外部パラメーターを求める技術は、特許文献1に開示されている。
しかしながら、カメラのキャリブレーションパラメーターは、経時変化によってズレが生じる場合がある。このため、キャリブレーションパラメーターが正しいか否かを確認したいという要望がある。
本開示の第1の形態によれば、カメラのキャリブレーション状態を可視化する方法が提供される。この方法は、(a)第1カメラのキャリブレーションパラメーターを取得する工程と、(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める工程と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する工程と、を含む。
本開示の第2の形態によれば、カメラのキャリブレーション状態を可視化するシステムが提供される。このシステムは、カメラ利用機器が利用する画像を撮影する第1カメラと、前記第1カメラのキャリブレーション状態の確認に用いられる第2カメラと、前記第2カメラで撮影された画像を表示する表示機器と、前記第1カメラと前記第2カメラと前記表示機器とに接続される制御装置と、を備える。前記制御装置は、(a)前記第1カメラのキャリブレーションパラメーターを取得する処理と、(b)前記第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で前記表示機器に表示する処理と、を実行する。
本開示の第3の形態によれば、カメラのキャリブレーション状態を可視化する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)第1カメラのキャリブレーションパラメーターを取得する処理と、(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する処理と、を前記プロセッサーに実行させる。
A.第1実施形態:
図1は、一実施形態におけるロボットシステムの一例を示す説明図である。このロボットシステムは、カメラ利用機器としてのロボット100と、ロボット100を制御するロボットコントローラー200と、制御装置300と、3つのカメラ410,420,430と、VRグラス440(Virtual Reality Glass)と、作業台500とを備える。制御装置300は、例えばパーソナルコンピューターである。制御装置300は、ロボットコントローラー200に制御指令を送信する。制御装置300を、「上位制御装置」と呼ぶことも可能である。
図1は、一実施形態におけるロボットシステムの一例を示す説明図である。このロボットシステムは、カメラ利用機器としてのロボット100と、ロボット100を制御するロボットコントローラー200と、制御装置300と、3つのカメラ410,420,430と、VRグラス440(Virtual Reality Glass)と、作業台500とを備える。制御装置300は、例えばパーソナルコンピューターである。制御装置300は、ロボットコントローラー200に制御指令を送信する。制御装置300を、「上位制御装置」と呼ぶことも可能である。
ロボット100は、基台110と、ロボットアーム120と、を備えている。ロボットアーム120は、第1リンク121と第2リンク122と作動シャフト123とを有する。ロボットアーム120の先端には、エンドエフェクターとしてのロボットハンド150が装着されている。ロボットハンド150は、ワークを把持することが可能なグリッパーや吸着パッドとして実現可能である。ロボットハンド150の先端部近傍には、ロボット100の制御点としてのTCP(Tool Center Point)が設定されている。なお、制御点TCPは、任意の位置に設定可能である。
ロボットアーム120は、4つの関節J1~J4で順次接続されている。本実施形態では4軸ロボットを例示しているが、複数の関節を有する任意のロボットアーム機構を有するロボットを用いることが可能である。また、本実施形態のロボット100は、水平多関節ロボットであるが、垂直多関節ロボットを使用してもよい。
第1カメラ410は、ロボット100の作業対象となるワークを撮影して、ワークの三次元的な位置及び姿勢を求めるために使用される。第1カメラ410としては、RGBカメラを用いることが好ましいが、RGBDカメラやモノクロカメラを用いてもよい。RGBDカメラは、RGBカメラとDカメラ(深度カメラ)とを有するカメラである。図1の例では、第1カメラ410は、作業台500の上方の位置に固定されている。但し、第1カメラ410は、ロボットアーム120の姿勢に拘わらずロボット座標系と第1カメラ410の相対位置を決定可能な位置に設置されていれば良い。例えば、第1カメラ410を、ロボット100の第2リンク122に固定してもよい。ロボット100は、第1カメラ410の撮影結果を利用するカメラ利用機器である。但し、カメラ利用機器としては、ロボット100以外の任意の種類の機器を用いることができる。
第2カメラ420は、第1カメラ410のキャリブレーション状態を確認するために、作業台500を含む作業環境を撮影するために使用される。第2カメラ420としては、RGBカメラを用いることが好ましいが、モノクロカメラを用いてもよく、また、単眼カメラでなくステレオカメラを用いてもよい。第2カメラ420がステレオカメラである場合には、マーカーは、左右の画像において特定の基準点の位置をそれぞれ認識できるものであればよく、1枚の画像から三次元的な位置及び姿勢を認識できるものでなくてもよい。図1の例では、第2カメラ420は、ユーザーが装着するVRグラス440に固定されている。但し、第2カメラ420は、作業環境内の固定された位置に設置してもよい。
第3カメラ430は、第1カメラ410で撮影された画像における深度情報を求めるために使用される。第3カメラ430としては、例えば、第1カメラ410と共にステレオカメラとして機能するものを使用してもよい。或いは、第3カメラ430として、深度を測定する深度カメラを用いてもよい。図1の例では、第3カメラ430は、第1カメラ410と共に、作業台500の上方の位置に固定されている。但し、第3カメラ430は、ロボットアーム120の姿勢に拘わらず第1カメラ410と第3カメラ430の相対位置を決定可能な位置に設置されていれば良い。第3カメラ430を省略することも可能である。
VRグラス440は、第2カメラ420で撮影された撮像画像を表示する表示機器である。VRグラス440は、更に、第1カメラ410のキャリブレーション状態を表す特定画像を仮想現実として表示する。但し、表示機器としては、VRグラス440以外の任意の種類のディスプレイ装置を利用することが可能である。
ロボット100は、作業台500上に載置されている。作業台500の四隅には、作業領域を示すコーナー枠510が設置されている。作業台500の上方には、更に、マーカーボード520が描かれている。マーカーボード520は、作業台500の表面に水平な状態で載置されるものであるが、図1では図示の便宜上、作業台500の上方に傾いた姿勢で描かれている。
マーカーボード520は、第1カメラ410と第2カメラ420の相対位置を求めるために使用されるものであり、その位置と姿勢を認識するためのパターンが表面に描かれた平板状の物体である。マーカーボード520の表面パターンは、その画像を解析することによって、マーカーボード520の位置と姿勢を認識できるマーカーとして構成されている。マーカーボード520の代わりに、第1カメラ410との相対位置が固定された位置にマーカーを配置するようにしてもよい。例えば、第1カメラ410の筐体やロボット100にマーカーを固定してもよい。なお、第1カメラ410と第2カメラ420がステレオカメラを構成する場合には、マーカーは、左右の画像において特定の基準点の位置をそれぞれ認識できるものであればよく、1枚の画像から三次元的な位置及び姿勢を認識できるものでなくてもよい。
図2は、第1実施形態における各種の座標系の関係を示す概念図である。この例では図示の便宜上、各座標系の原点位置が実際の位置からずれた位置に描かれており、また、ロボット100は実際よりも小さく描かれている。マーカーボード520は、作業台500のXY平面501上の予め定められた位置に設置されている。作業台500の水平なXY平面501には、キャリブレーション状態を示す特定画像を配置する基準位置を示す基準マーク530が設けられている。
図2に描かれている座標系は、以下の通りである。
(1)ロボット座標系Σr
ロボット座標系Σrは、ロボット100の予め定められた位置を座標原点とする直交三次元座標系である。
(2)テーブル座標系Σt
テーブル座標系Σtは、作業台500のXY平面501の予め定められた位置を座標原点とする直交三次元座標系である。
(3)マーカー座標系Σm
マーカー座標系Σmは、マーカーボード520の予め定められた位置を座標原点とする直交三次元座標系である。
(4)第1カメラ座標系Σc
第1カメラ座標系Σcは、第1カメラ410の予め定められた位置を座標原点とする直交三次元座標系である。
(5)第2カメラ座標系Σg
第2カメラ座標系Σgは、第2カメラ420の予め定められた位置を座標原点とする直交三次元座標系である。VRグラス440は、第2カメラ420で撮影した画像を表示する表示機器なので、VRグラス440の画素座標は、第2カメラ座標系Σgの3次元座標を、第2カメラ420の射影変換行列で変換することによって得られる。
(6)第3カメラ座標系Σd
第3カメラ座標系Σdは、第3カメラ430の予め定められた位置を座標原点とする直交三次元座標系である。
(1)ロボット座標系Σr
ロボット座標系Σrは、ロボット100の予め定められた位置を座標原点とする直交三次元座標系である。
(2)テーブル座標系Σt
テーブル座標系Σtは、作業台500のXY平面501の予め定められた位置を座標原点とする直交三次元座標系である。
(3)マーカー座標系Σm
マーカー座標系Σmは、マーカーボード520の予め定められた位置を座標原点とする直交三次元座標系である。
(4)第1カメラ座標系Σc
第1カメラ座標系Σcは、第1カメラ410の予め定められた位置を座標原点とする直交三次元座標系である。
(5)第2カメラ座標系Σg
第2カメラ座標系Σgは、第2カメラ420の予め定められた位置を座標原点とする直交三次元座標系である。VRグラス440は、第2カメラ420で撮影した画像を表示する表示機器なので、VRグラス440の画素座標は、第2カメラ座標系Σgの3次元座標を、第2カメラ420の射影変換行列で変換することによって得られる。
(6)第3カメラ座標系Σd
第3カメラ座標系Σdは、第3カメラ430の予め定められた位置を座標原点とする直交三次元座標系である。
第1カメラ410がロボット100に対してキャリブレーションされると、第1カメラ座標系Σcとロボット座標系Σrの相対位置が既知となる。即ち、第1カメラ座標系Σcとロボット座標系Σrのそれぞれにおける三次元座標値は、第1カメラ410のキャリブレーションパラメーターに含まれる外部パラメーターを用いて変換可能である。ロボット座標系Σrとテーブル座標系Σtとの相対位置も既知であるものと仮定する。第1カメラ座標系Σcとマーカー座標系Σmの相対位置は既知であるものと仮定する。また、第1カメラ座標系Σcと第3カメラ座標系Σdの相対位置も既知であるものと仮定する。
マーカーボード520を用いる代わりに、マーカーとしてのパターンを第1カメラ410やロボット100に固定してもよい。この場合にも、第1カメラ座標系Σcとマーカー座標系Σmの相対位置は既知となる。また、第1カメラ座標系Σcとマーカー座標系Σmの間の相対位置は、第1カメラ410の外部パラメーターを用いて算出するものとすることが好ましい。
図3は、制御装置300の機能を示すブロック図である。制御装置300は、プロセッサー310と、メモリー320と、インターフェイス回路330と、インターフェイス回路330と、を有している。インターフェイス回路330には、入力デバイス340と表示デバイス350と無線通信デバイス360とが接続されており、また、ロボットコントローラー200と第1カメラ410と第3カメラ430も接続されている。第2カメラ420とVRグラス440は、VRグラス440が有する無線通信デバイスを介して、制御装置300の無線通信デバイス360と無線で接続されている。但し、第2カメラ420とVRグラス440を制御装置300に有線で接続してもよい。
プロセッサー310は、カメラ校正実行部312及び校正状態可視化部314としての機能を有する。カメラ校正実行部312は、ロボット100に対する第1カメラ410のキャリブレーションを実行することによって、第1カメラ410のキャリブレーションパラメーターを決定する処理を実行する。校正状態可視化部314は、第1カメラ410のキャリブレーション状態を示す特定画像を表示する処理を実行する。カメラ校正実行部312及び校正状態可視化部314の機能は、メモリー320に格納されたコンピュータープログラムをプロセッサー310が実行することによってそれぞれ実現される。但し、カメラ校正実行部312と校正状態可視化部314の機能の一部又は全部をハードウェア回路で実現してもよい。
メモリー320には、第1カメラ410のキャリブレーションパラメーターCPと、ロボット制御プログラムRPが格納される。キャリブレーションパラメーターCPは、内部パラメーターIPと外部パラメーターOPとを含んでいる。内部パラメーターIPは、第1カメラ410のレンズ系の固有のパラメーターであり、射影変換行列や歪パラメーターを含んでいる。外部パラメーターOPは、第1カメラ410とロボット100との間の相対位置を計算する際に使用されるパラメーターであり、第1カメラ座標系Σcとロボット座標系Σrの間の座標変換行列を含んでいる。他のカメラに関しても、必要に応じてキャリブレーションパラメーターがメモリー320に格納される。ロボット制御プログラムRPは、ロボット100を動作させる複数の命令で構成される。
校正状態可視化部314は、第1カメラ410のキャリブレーション状態を可視化するために、第2カメラ420で撮影した画像に、第1カメラ410のキャリブレーション状態を示す特定画像を重畳して表示する。特定画像としては、例えば、作業台500のXY平面501の位置を表す格子状の画像や、特定のマーカー画像を使用できる。また、立体的な画像を特定画像として使用してもよい。特定画像を表示する位置は、第1カメラ410から見た特定位置の第1カメラ座標系Σcにおける三次元座標を、第2カメラ座標系Σgの三次元座標に変換した位置に設定される。この際、特定位置の三次元座標は、第1カメラ410のキャリブレーションパラメーターを用いて算出される。従って、特定画像は、第2カメラ420で撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示される。本実施形態では、特定画像を表示する特定位置として、作業台500の水平な表面であるXY平面501が使用される。より具体的には、特定位置は、図2に示した基準マーク530で示される基準位置に設定されている。以下では、第2カメラ420で撮影した作業台500のXY平面501の位置に、第1カメラ410のキャリブレーション状態を示す特定画像を重畳して表示する処理について説明する。
図4は、第1実施形態における処理手順を示すフローチャートである。ステップS110では、第1カメラ410のキャリブレーションパラメーターCPが取得される。例えば、ステップS110の前にキャリブレーション処理が実行されている場合には、校正状態可視化部314が、キャリブレーションパラメーターCPをメモリー320から読み出すことによって取得する。一方、キャリブレーション処理が実行されていない場合には、カメラ校正実行部312が、第1カメラ410のキャリブレーション処理を実行して、キャリブレーションパラメーターCPを作成する。キャリブレーション処理は、キャリブレーションボードを利用した周知の方法で実行できる。なお、マーカーボード520の表面に、キャリブレーションボードと同様のキャリブレーションパターンが描かれている場合には、マーカーボード520を用いて第1カメラ410のキャリブレーション処理を行ってもよい。この際、複数の角度でマーカーボード520の撮影を行うために、ロボット100でマーカーボード520を把持し、その角度を変えながら撮影を行っても良い。
ステップS120以降の処理は、ステップS110で取得したキャリブレーションパラメーターを可視化する処理である。ステップS120以降の処理を、キャリブレーション処理からかなりの時間が経過した後に実行する場合には、可視化処理により、経時変化によってキャリブレーションパラメーターにズレが生じているか否かを確認することができる。また、必要に応じてキャリブレーションパラメーターを調整することも可能である。
ステップS120では、校正状態可視化部314が、第1カメラ410から見た特定位置の深度情報を取得する。前述したように、本実施形態において、「特定位置」は、作業台500の水平なXY平面501である。深度情報を取得する方法としては、以下に例示するような種々の方法のいずれかを使用可能である。
<深度情報の取得方法1>
取得方法1では、第1カメラ410との相対位置が既知である第3カメラ430を深度カメラとして用いて、特定位置の深度を測定する。この方法では、第1カメラ座標系Σcと第3カメラ座標系Σdの間の既知の座標変換行列を用いて、第3カメラ430で測定された深度を、第1カメラ座標系Σcの深度に変換できる。
取得方法1では、第1カメラ410との相対位置が既知である第3カメラ430を深度カメラとして用いて、特定位置の深度を測定する。この方法では、第1カメラ座標系Σcと第3カメラ座標系Σdの間の既知の座標変換行列を用いて、第3カメラ430で測定された深度を、第1カメラ座標系Σcの深度に変換できる。
<深度情報の取得方法2>
取得方法2では、第1カメラ410と第3カメラ430をステレオカメラとして用いて、ステレオマッチングによって特定位置の深度を測定する。
取得方法2では、第1カメラ410と第3カメラ430をステレオカメラとして用いて、ステレオマッチングによって特定位置の深度を測定する。
<深度情報の取得方法3>
取得方法3では、三次元位置を認識可能なパターンを作業台500のXY平面501に配置し、第1カメラ410で撮影されたパターン画像からその位置を認識して、特定位置である作業台500のXY平面501の深度を決定する。このパターンとしては、例えば、マーカーボード520や基準マーク530を利用することができる。マーカーボード520を利用する場合には、作業台500のXY平面501の深度は、マーカーボード520の表面位置の深度にマーカーボード520の厚みを加えた値となる。この取得方法3を使用する場合には、第3カメラ430は省略してもよい。
取得方法3では、三次元位置を認識可能なパターンを作業台500のXY平面501に配置し、第1カメラ410で撮影されたパターン画像からその位置を認識して、特定位置である作業台500のXY平面501の深度を決定する。このパターンとしては、例えば、マーカーボード520や基準マーク530を利用することができる。マーカーボード520を利用する場合には、作業台500のXY平面501の深度は、マーカーボード520の表面位置の深度にマーカーボード520の厚みを加えた値となる。この取得方法3を使用する場合には、第3カメラ430は省略してもよい。
<深度情報の取得方法4>
取得方法4では、特定位置である作業台500のXY平面501と、第1カメラ410との間の距離が既知である場合に、その距離をXY平面501の深度として使用する。第1カメラ座標系Σcとテーブル座標系Σtとの間の座標変換行列が既知である場合にも、その座標変換行列からXY平面501の深度情報を取得することが可能である。図2で説明したように、第1カメラ座標系Σcとテーブル座標系Σtとの間の座標変換行列は、第1カメラ410の外部パラメーターを用いて算出することが可能である。
取得方法4では、特定位置である作業台500のXY平面501と、第1カメラ410との間の距離が既知である場合に、その距離をXY平面501の深度として使用する。第1カメラ座標系Σcとテーブル座標系Σtとの間の座標変換行列が既知である場合にも、その座標変換行列からXY平面501の深度情報を取得することが可能である。図2で説明したように、第1カメラ座標系Σcとテーブル座標系Σtとの間の座標変換行列は、第1カメラ410の外部パラメーターを用いて算出することが可能である。
上述した取得方法1,2は、第3カメラ430を用いて深度情報を求めるという点では同じである。また、取得方法1,2では、任意の形状に関する深度を取得可能である。従って、特徴的な形状を有する立体的な特定物体を第1カメラ410の視野内に配置し、その特定物体の位置を特定位置として用いることができる。この場合に、第2カメラ420の画像において、その特定物体の位置に、第1カメラ410のキャリブレーション状態を示す立体的な特定画像を重畳して表示機器に表示すれば、キャリブレーション状態を確認し易いという利点がある。
ステップS130では、校正状態可視化部314が、ステップS120で得られた深度情報と、第1カメラ410のキャリブレーションパラメーターとを用いて、第1カメラ座標系Σcにおける特定位置の三次元座標値を算出する。この算出は、例えば、以下のように行うことができる。
第1カメラ410の内部パラメーターに含まれる行列Kと歪みパラメーターDは次式で表される。
ここで、fx,fyは焦点距離、cx,cyは主点位置、k1~k6は半径方向の歪み係数、p1,p2は円周方向の歪み係数である。行列Kは、3次元のカメラ座標と2次元の画素座標との間の射影変換を表している。
第1カメラ座標系Σcにおける特定位置の三次元座標値(Xc,Yc,Zc)は、歪み除去したカメラ同次座標(xc,yc)と、ステップS120で取得した特定位置の深さを示すZ座標値Zcを用いて、次式で算出される。
この特定位置の三次元座標値(Xc,Yc,Zc)は、第1カメラ410のキャリブレーションパラメーターを用いて算出されており、第1カメラ410のキャリブレーション状態を示す特定画像を表示する位置として使用される。
なお、上記(1)~(6)式で得られる三次元座標値(Xc,Yc,Zc)は、作業台500のXY平面501に限らず、第1カメラ410の撮影範囲にある任意の位置に関して算出できる。従って、上記(1)~(6)式を用いて、マーカーボード520の表面の位置や、立体的な物体の位置などの他の任意の特定位置に関して、その三次元座標値を算出することが可能である。
ステップS140では、校正状態可視化部314が、第1カメラ410とマーカーボード520の相対位置を取得する。図2で説明したように、第1実施形態では、第1カメラ座標系Σcとマーカー座標系Σmの相対位置は既知である。即ち、第1カメラ座標系Σcとマーカー座標系Σmの間の座標変換行列[R|t]cmは、既知である。但し、座標変換行列[R|t]cmを、既知の座標変換行列[R|t]cr,[R|t]rt,[R|t]tmを乗算することによって求めるようにしてもよい。[R|t]crは第1カメラ座標系Σcとロボット座標系Σrの間の座標変換を表しており、[R|t]rtはロボット座標系Σrとテーブル座標系Σtの間の座標変換を、[R|t]tmはテーブル座標系Σtとマーカー座標系Σmの間の座標変換を表す。第1カメラ座標系Σcとロボット座標系Σrの間の座標変換行列[R|t]crは、第1カメラ410のキャリブレーションパラメーターに含まれる外部パラメーターである。
ステップS150では、校正状態可視化部314が、マーカーボード520を第2カメラ420で撮影して、第2カメラ420とマーカーボード520の相対位置を決定する。ステップS160では、校正状態可視化部314が、ステップS140とステップS150の結果を利用して、第1カメラ410と第2カメラ420の相対位置を決定する。
図5は、ステップS140~S160における第1カメラ410と第2カメラ420の相対位置の決定方法を示す説明図である。マーカーボード520は、マーカー座標系Σmの三次元位置を認識可能なマーカーパターンを有する。従って、第2カメラ420でマーカーボード520を撮影してマーカー画像を取得し、このマーカー画像を解析することによって、マーカー座標系Σmと第2カメラ座標系Σgとの間の座標変換行列[R|t]mgを決定することができる。そして、座標変換行列[R|t]cm,[R|t]mgを乗算することによって、第1カメラ座標系Σcと第2カメラ座標系Σgの間の座標変換行列[R|t]cgを求めることができる。このように、第1実施形態では、マーカーボード520を第2カメラ420で撮影し、その画像を解析した結果を使用して、第1カメラ410と第2カメラ420の相対位置を決定する。
図4のステップS170では、校正状態可視化部314が、特定位置の第1カメラ基準の三次元座標値を、第2カメラ基準の三次元座標値に変換する。この変換は、上述したステップS130で得られた特定位置の三次元座標値(Xc,Yc,Zc)を、ステップS160で得られた座標変換行列[R|t]cgを用いて、第2カメラ座標系Σgにおける三次元座標値に変換する処理である。
ステップS180では、校正状態可視化部314が、第2カメラ420の撮像画像に、第1カメラ410のキャリブレーション状態を表す特定画像を重畳して、表示機器としてのVRグラス440に表示する。
図6は、ステップS180においてキャリブレーション状態を示す特定画像を表示する例を示す説明図である。この例では、特定画像SM1は、作業台500のXY平面501の三次元位置を示す格子状の画像である。特定画像SM1の表示位置の画素座標値は、ステップS170で得られた第2カメラ座標系Σgの三次元座標値を、第2カメラ420の射影変換行列で2次元の画素座標値に変換することによって得られる。ステップS120~S170の処理では、第1カメラ410のキャリブレーションパラメーターが用いられているので、特定画像SM1は、第2カメラ420で撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示される。ユーザーは、この特定画像SM1の表示位置を、作業台500のXY平面501の表示位置と比較することによって、第1カメラ410のキャリブレーション状態が正しいか否かを確認することができる。特に、本実施形態では、XY平面501に特定画像SM1の基準位置を示す基準マーク530が設けられているので、特定画像SM1と基準マーク530を比較することによって、第1カメラ410のキャリブレーション状態を容易に確認できる。また、本実施形態では、第2カメラ420を備えるVRグラス440を用いて特定画像SM1の表示を行っているので、ユーザーが第2カメラ420の位置を変更すると、これに応じて作業台500のXY平面501や特定画像SM1の表示位置が変更される。従って、特定画像SM1の位置が作業台500のXY平面501と一致しているか否かを確認し易いという利点がある。
図7は、キャリブレーション状態を示す特定画像の他の表示例を示す説明図である。ここでは、互いに異なる複数のキャリブレーションパラメーターセットに応じて、複数の特定画像SM1,SM2を表示できる例が示されている。第1カメラ410のキャリブレーションパラメーターとしては、第1カメラ410の画素領域の違いや深度の違いに応じて複数のパラメーターセットが作成される場合がある。このような場合には、複数のパラメーターセットに応じた複数の特定画像を表示することが好ましい。
図7の例では、表示機器としてのVRグラス440の表示画面に、キャリブレーションパラメーターのパラメーターセットを選択するためのブルダウンメニューPMが表示されている。ユーザーが、ブルダウンメニューPMを用いて1つのパラメーターセットを選択すると、そのパラメーターセットに応じた特定画像が選択的に表示される。なお、複数のパラメーターセットに対応した複数の特定画像SM1,SM2を同時に表示するようにしてもよい。このように、複数のパラメーターセットに対応した複数の特定画像SM1,SM2を選択的又は同時に表示すれば、複数のパラメーターセットのうちのいずれの精度が良いかをユーザーが確認できるという利点がある。
図4のステップS190では、ユーザーが、ステップS180で表示された画像を見て、第1カメラ410のキャリブレーション状態が良好であるか否かを判断する。キャリブレーション状態が良好でない場合には、ステップS200に進み、キャリブレーションパラメーターの調整が実行される。
図8は、ステップS200において表示機器に表示されるキャリブレーションパラメーターの調整ウィンドウW1の例を示す説明図である。この調整ウィンドウW1には、キャリブレーションパラメーターのパラメーターセットを選択するためのブルダウンメニューPMと、特定画像SM1の位置及び姿勢を調整するためのスライダーSL1~SL6が設けられている。ユーザーは、これらのスライダーSL1~SL6を用いて特定画像SM1の位置及び姿勢を調整することができる。また、スライダーSL1~SL6以外の調整ツールを用いても良い。校正状態可視化部314は、ユーザーによる特定画像SM1の調整量に応じて、第1カメラ410のキャリブレーションパラメーターを調整する。調整の対象となるのは、主として外部パラメーターである。但し、内部パラメーターを調整対象に含めてもよい。なお、ブルダウンメニューPMは省略可能である。
調整ツールとしては、第1カメラ410のキャリブレーションパラメーターの値を直接調整するものを使用してもよい。即ち、特定画像SM1と共に、特定画像SM1の位置姿勢を調整するための調整ツールと、キャリブレーションパラメーターの値を調整するための調整ツールとのうちの少なくとも一方を表示機器に表示するようにしてもよい。ユーザーによる調整に応じてキャリブレーションパラメーターの値を調整すれば、特定画像SM1で示されるキャリブレーション状態が適切でない場合に、キャリブレーションパラメーターを適切な値に調整できる。
ステップS200でキャリブレーションパラメーターの調整を行った後は、ステップS120に戻り、上述したステップS120~S190の処理が繰り返される。但し、キャリブレーションパラメーターの調整が深度情報に影響しない場合には、ステップS120の処理はスキップされる。ステップS190において、キャリブレーション状態が良好と判断された場合には、図4の処理を終了する。
以上のように、上記第1実施形態では、第1カメラ410のキャリブレーション状態を示す特定画像SM1を、第2カメラ420で撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示するので、第1カメラ410のキャリブレーション状態を目視で確認できる。
なお、キャリブレーション状態を示す特定画像SM1としては、平面的な画像の代わりに、立体物を表す画像を表示してもよい。例えば、マーカーボード520を表す立体的な画像を特定画像として表示してもよい。こうすれば、この特定画像と、実際のマーカーボード520の位置との関係をユーザーが観察することによって、第1カメラ410のキャリブレーション状態が正確であるか否かを確認できる。また、キャリブレーション状態を示す特定画像を表示する位置は、作業台500のXY平面501に限らず、第1カメラ410の撮像範囲内における任意の位置に設定してもよい。
B.第2実施形態:
図9は、第2実施形態における各種の座標系の関係を示す概念図である。なお、装置の構成は、図1及び図3に示した第1実施形態の構成と同じである。第2実施形態では、マーカーボード520は、第1カメラ410と第2カメラ420で撮影可能な任意の位置に配置される。
図9は、第2実施形態における各種の座標系の関係を示す概念図である。なお、装置の構成は、図1及び図3に示した第1実施形態の構成と同じである。第2実施形態では、マーカーボード520は、第1カメラ410と第2カメラ420で撮影可能な任意の位置に配置される。
第2実施形態においても、第1実施形態と同様に、第1カメラ座標系Σcとロボット座標系Σrの相対位置は既知であり、その座標変換行列[R|t]crは第1カメラ410の外部パラメーターに含まれている。また、ロボット座標系Σrとテーブル座標系Σtの座標変換行列[R|t]rtも既知である。一方、第1カメラ座標系Σcとマーカー座標系Σmの相対位置は未知である。
図10は、第2実施形態の処理手順を示すフローチャートである。図4に示した第1実施形態の処理手順との違いは、ステップS140がステップS145に置き換えられている点だけであり、他のステップは図4とほぼ同じである。
ステップS145では、校正状態可視化部314が、マーカーボード520を第1カメラ410で撮影してマーカー画像を取得し、このマーカー画像を解析することによって、第1カメラ座標系Σcとマーカー座標系Σmとの間の座標変換行列[R|t]cmを決定する。ステップS150では、第1実施形態と同様に、第2カメラ420でマーカーボード520を撮影してマーカー画像を取得し、このマーカー画像を解析することによって、マーカー座標系Σmと第2カメラ座標系Σgとの間の座標変換行列[R|t]mgを決定する。ステップS160では、ステップS145とステップS150の結果を用いて、第1カメラ410と第2カメラ420の相対位置を決定する。具体的には、座標変換行列[R|t]cm,[R|t]mgを乗算することによって、第1カメラ座標系Σcと第2カメラ座標系Σgの間の座標変換行列[R|t]cgを決定する。
第2実施形態におけるステップS145,S150,S160の処理は、マーカー画像を用いて第1カメラ410と第2カメラ420との相対位置を表す座標変換行列[R|t]cgを決定するという点では、第1実施形態のステップS140,S150,S160の処理と同じである。ステップS170以降の処理は、第1実施形態と同じなので説明を省略する。
なお、第2実施形態のステップS120では、第1実施形態において深度情報の取得方法4として説明したように、第1カメラ座標系Σcとテーブル座標系Σtとの既知の座標変換行列[R|t]ctからXY平面501の深度情報を取得することが好ましい。この座標変換行列[R|t]ctは、第1カメラ座標系Σcとロボット座標系Σrの既知の座標変換行列[R|t]crと、ロボット座標系Σrとテーブル座標系Σtの既知の座標変換行列[R|t]rtとを乗算することによって得ることができる。第1カメラ座標系Σcとロボット座標系Σrの座標変換行列[R|t]crは、第1カメラ410の外部パラメーターに相当する。従って、第2実施形態においてステップS120~S170で算出される特定位置の第2カメラ基準の三次元座標値は、第1カメラ410の外部パラメーターを用いて算出されたものとなる。
以上の説明から分かるように、第2実施形態では、第1カメラ410とマーカーの既知の相対位置を使用する代わりに、第1カメラ410で撮影したマーカー画像を解析して第1カメラ410とマーカーボード520の相対位置を決定する処理を行って第1カメラ410と第2カメラ420の相対位置を決定している。第1実施形態及び第2実施形態のいずれの場合においても、マーカーとしては、第1カメラ410との相対位置を決定可能な任意のパターンを使用することができる。「第1カメラ410との相対位置を決定可能」という語句は、第1実施形態のように第1カメラ410との相対位置が既知である場合と、第2実施形態のように第1カメラ410でマーカーを撮影した画像を解析することによって、第1カメラ410との位置を決定できる場合と、の両方の場合を含んでいる。
以上のように、第2実施形態においても、第1実施形態と同様に、第1カメラ410のキャリブレーション状態を示す特定画像SM1を、第2カメラ420で撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示するので、第1カメラ410のキャリブレーション状態を目視で確認できる。
・他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)本開示の第1の形態によれば、カメラのキャリブレーション状態を可視化する方法が提供される。この方法は、(a)第1カメラのキャリブレーションパラメーターを取得する工程と、(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める工程と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する工程と、を含む。
この方法によれば、第1カメラのキャリブレーション状態を示す特定画像を、第2カメラで撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示するので、第1カメラのキャリブレーション状態を目視で確認できる。
この方法によれば、第1カメラのキャリブレーション状態を示す特定画像を、第2カメラで撮影された画像に重畳して、キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示するので、第1カメラのキャリブレーション状態を目視で確認できる。
(2)上記方法において、前記工程(b)は、(b1)前記第1カメラの撮像範囲内にある特定位置について、前記第1カメラの基準座標系における第1の三次元座標値を決定する工程と、(b2)前記第1カメラとの相対位置を決定可能なマーカーを前記第2カメラで撮影することによって、マーカー画像を取得する工程と、(b3)前記マーカー画像を用いて、前記第1カメラと前記第2カメラとの前記相対位置を表す座標変換行列を決定する工程と、を含むものとしてもよい。また、前記工程(c)は、(c1)前記座標変換行列を用いて、前記第1カメラの前記基準座標系における前記第1の三次元座標値を、前記第2カメラの基準座標系における第2の三次元座標値に変換する工程と、(c2)前記第2カメラで撮影された画像における前記特定画像の位置を、前記第2の三次元座標値で示される位置に設定する工程と、を含むものとしてもよい。
この方法によれば、マーカーを用いて第1カメラと第2カメラとの相対位置を決定して、対象画像を表示する位置を決定することができる。
この方法によれば、マーカーを用いて第1カメラと第2カメラとの相対位置を決定して、対象画像を表示する位置を決定することができる。
(3)上記方法において、前記工程(b1)は、第3カメラを用いて、前記第1カメラで撮影された画像における前記特定位置の深度情報を求める工程と、前記特定位置に関する前記第1カメラの画素座標値と、前記深度情報と、前記キャリブレーションパラメーターに含まれる内部パラメーターとを用いて、前記特定位置の前記第1の三次元座標値を算出する工程と、を含むものとしてもよい。
この方法によれば、第3カメラで得られた深度情報を用いて、第1カメラの基準座標系における特定位置の三次元座標値を求めることができる。
この方法によれば、第3カメラで得られた深度情報を用いて、第1カメラの基準座標系における特定位置の三次元座標値を求めることができる。
(4)上記方法において、前記工程(b1)は、三次元位置を認識可能なパターンを用いて、前記第1カメラで撮影された画像における前記特定位置の深度情報を求める工程と、前記特定位置に関する前記第1カメラの画素座標値と、前記深度情報と、前記キャリブレーションパラメーターに含まれる内部パラメーターとを用いて、前記特定位置の前記第1の三次元座標値を算出する工程と、を含むものとしてもよい。
この方法によれば、三次元位置を認識可能なパターンから得られた深度情報を用いて、第1カメラの基準座標系における特定位置の三次元座標値を求めることができる。
この方法によれば、三次元位置を認識可能なパターンから得られた深度情報を用いて、第1カメラの基準座標系における特定位置の三次元座標値を求めることができる。
(5)上記方法において、前記特定位置は、水平なXY平面であり、前記特定画像は、前記XY平面を表す画像であるものとしてもよい。
この方法によれば、表示機器に表示されるXY平面と特定画像の関係を観察することによって、第1カメラのキャリブレーション状態を目視で確認できる。
この方法によれば、表示機器に表示されるXY平面と特定画像の関係を観察することによって、第1カメラのキャリブレーション状態を目視で確認できる。
(6)上記方法において、前記キャリブレーションパラメーターは、複数組のキャリブレーションパラメーターを含み、前記工程(c)は、前記複数組のキャリブレーションパラメーターのそれぞれに対応する複数の前記特定画像を前記表示機器に表示する工程を含むものとしてもよい。
この方法によれば、複数組のキャリブレーションパラメーターに対応する複数の特定画像を目視で確認できる。
この方法によれば、複数組のキャリブレーションパラメーターに対応する複数の特定画像を目視で確認できる。
(7)上記方法は、更に、(d)前記特定画像と共に、前記特定画像の位置姿勢と前記キャリブレーションパラメーターの値とのうちの少なくとも一方を調整するための調整ツールを前記表示機器に表示する工程と、(e)前記調整ツールを用いたユーザーによる調整に応じて、前記キャリブレーションパラメーターの値を調整する工程と、を含むものとしてもよい。
この方法によれば、特定画像で示されるキャリブレーション状態が適切でない場合に、キャリブレーションパラメーターを適切な値に調整できる。
この方法によれば、特定画像で示されるキャリブレーション状態が適切でない場合に、キャリブレーションパラメーターを適切な値に調整できる。
(8)本開示の第2の形態によれば、カメラのキャリブレーション状態を可視化するシステムが提供される。このシステムは、カメラ利用機器が利用する画像を撮影する第1カメラと、前記第1カメラのキャリブレーション状態の確認に用いられる第2カメラと、前記第2カメラで撮影された画像を表示する表示機器と、前記第1カメラと前記第2カメラと前記表示機器とに接続される制御装置と、を備える。前記制御装置は、(a)前記第1カメラのキャリブレーションパラメーターを取得する処理と、(b)前記第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で前記表示機器に表示する処理と、を実行する。
(9)本開示の第3の形態によれば、カメラのキャリブレーション状態を可視化する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)第1カメラのキャリブレーションパラメーターを取得する処理と、(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する処理と、を前記プロセッサーに実行させる。
本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットとロボット制御装置とを備えたロボットシステム、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
100…ロボット、110…基台、120…ロボットアーム、121…第1リンク、122…第2リンク、123…作動シャフト、150…ロボットハンド、200…ロボットコントローラー、300…制御装置、310…プロセッサー、312…カメラ校正実行部、314…校正状態可視化部、320…メモリー、330…インターフェイス回路、340…入力デバイス、350…表示デバイス、360…無線通信デバイス、410…第1カメラ、420…第2カメラ、430…第3カメラ、440…VRグラス、500…作業台、501…XY平面、510…コーナー枠、520…マーカーボード、530…基準マーク
Claims (9)
- カメラのキャリブレーション状態を可視化する方法であって、
(a)第1カメラのキャリブレーションパラメーターを取得する工程と、
(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める工程と、
(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する工程と、
を含む、方法。 - 請求項1に記載の方法であって、
前記工程(b)は、
(b1)前記第1カメラの撮像範囲内にある特定位置について、前記第1カメラの基準座標系における第1の三次元座標値を決定する工程と、
(b2)前記第1カメラとの相対位置を決定可能なマーカーを前記第2カメラで撮影することによって、マーカー画像を取得する工程と、
(b3)前記マーカー画像を用いて、前記第1カメラと前記第2カメラとの前記相対位置を表す座標変換行列を決定する工程と、
を含み、
前記工程(c)は、
(c1)前記座標変換行列を用いて、前記第1カメラの前記基準座標系における前記第1の三次元座標値を、前記第2カメラの基準座標系における第2の三次元座標値に変換する工程と、
(c2)前記第2カメラで撮影された画像における前記特定画像の位置を、前記第2の三次元座標値で示される位置に設定する工程と、
を含む、方法。 - 請求項2に記載の方法であって、
前記工程(b1)は、
第3カメラを用いて、前記第1カメラで撮影された画像における前記特定位置の深度情報を求める工程と、
前記特定位置に関する前記第1カメラの画素座標値と、前記深度情報と、前記キャリブレーションパラメーターに含まれる内部パラメーターとを用いて、前記特定位置の前記第1の三次元座標値を算出する工程と、
を含む、方法。 - 請求項2に記載の方法であって、
前記工程(b1)は、
三次元位置を認識可能なパターンを用いて、前記第1カメラで撮影された画像における前記特定位置の深度情報を求める工程と、
前記特定位置に関する前記第1カメラの画素座標値と、前記深度情報と、前記キャリブレーションパラメーターに含まれる内部パラメーターとを用いて、前記特定位置の前記第1の三次元座標値を算出する工程と、
を含む、方法。 - 請求項2~4のいずれか一項に記載の方法であって、
前記特定位置は、水平なXY平面であり、
前記特定画像は、前記XY平面を表す画像である、方法。 - 請求項1に記載の方法であって、
前記キャリブレーションパラメーターは、複数組のキャリブレーションパラメーターを含み、
前記工程(c)は、
前記複数組のキャリブレーションパラメーターのそれぞれに対応する複数の前記特定画像を前記表示機器に表示する工程を含む、方法。 - 請求項1に記載の方法であって、更に、
(d)前記特定画像と共に、前記特定画像の位置姿勢と前記キャリブレーションパラメーターの値とのうちの少なくとも一方を調整するための調整ツールを前記表示機器に表示する工程と、
(e)前記調整ツールを用いたユーザーによる調整に応じて、前記キャリブレーションパラメーターの値を調整する工程と、
を含む、方法。 - カメラのキャリブレーション状態を可視化するシステムであって、
カメラ利用機器が利用する画像を撮影する第1カメラと、
前記第1カメラのキャリブレーション状態の確認に用いられる第2カメラと、
前記第2カメラで撮影された画像を表示する表示機器と、
前記第1カメラと前記第2カメラと前記表示機器とに接続される制御装置と、
を備え、
前記制御装置は、
(a)前記第1カメラのキャリブレーションパラメーターを取得する処理と、
(b)前記第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、
(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で前記表示機器に表示する処理と、
を実行する、システム。 - カメラのキャリブレーション状態を可視化する処理をプロセッサーに実行させるコンピュータープログラムであって、
(a)第1カメラのキャリブレーションパラメーターを取得する処理と、
(b)第2カメラを用いて、前記第1カメラと前記第2カメラとの相対位置を求める処理と、
(c)前記第1カメラのキャリブレーション状態を示す特定画像を、前記第2カメラで撮影された画像に重畳して、前記キャリブレーションパラメーターの値に応じて変わる位置姿勢で表示機器に表示する処理と、
を前記プロセッサーに実行させる、コンピュータープログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022084959A JP2023173018A (ja) | 2022-05-25 | 2022-05-25 | カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム |
| CN202310596624.3A CN117132658B (zh) | 2022-05-25 | 2023-05-24 | 使相机的校准状态可视化的方法、系统、以及存储介质 |
| US18/322,695 US12519925B2 (en) | 2022-05-25 | 2023-05-24 | Method of visualizing calibration state of camera, system, and non-transitory computer-readable storage medium storing computer program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022084959A JP2023173018A (ja) | 2022-05-25 | 2022-05-25 | カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2023173018A true JP2023173018A (ja) | 2023-12-07 |
Family
ID=88859041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022084959A Pending JP2023173018A (ja) | 2022-05-25 | 2022-05-25 | カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12519925B2 (ja) |
| JP (1) | JP2023173018A (ja) |
| CN (1) | CN117132658B (ja) |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6175415B1 (en) * | 1997-02-19 | 2001-01-16 | United Technologies Corporation | Optical profile sensor |
| EP0898245B1 (en) * | 1997-08-05 | 2004-04-14 | Canon Kabushiki Kaisha | Image processing method and apparatus |
| US5978521A (en) * | 1997-09-25 | 1999-11-02 | Cognex Corporation | Machine vision methods using feedback to determine calibration locations of multiple cameras that image a common object |
| US6490369B1 (en) * | 1999-07-06 | 2002-12-03 | Fanuc Robotics North America | Method of viewing and identifying a part for a robot manipulator |
| US6681151B1 (en) * | 2000-12-15 | 2004-01-20 | Cognex Technology And Investment Corporation | System and method for servoing robots based upon workpieces with fiducial marks using machine vision |
| CN100450427C (zh) * | 2002-02-11 | 2009-01-14 | 维思克斯公司 | 确定相对位置和旋转偏移 |
| JP2004062980A (ja) * | 2002-07-29 | 2004-02-26 | Toyota Gakuen | 磁性合金、磁気記録媒体、および磁気記録再生装置 |
| US7831087B2 (en) * | 2003-10-31 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | Method for visual-based recognition of an object |
| JP4587742B2 (ja) * | 2004-08-23 | 2010-11-24 | 株式会社日立ハイテクノロジーズ | 荷電粒子線顕微方法及び荷電粒子線応用装置 |
| US10380764B2 (en) * | 2013-12-18 | 2019-08-13 | Cognex Corporation | System and method for performing vision system planar hand-eye calibration from straight line features |
| WO2016018327A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Camera alignment based on an image captured by the camera that contains a reference marker |
| US9616569B2 (en) * | 2015-01-22 | 2017-04-11 | GM Global Technology Operations LLC | Method for calibrating an articulated end effector employing a remote digital camera |
| JP6446329B2 (ja) * | 2015-06-03 | 2018-12-26 | 株式会社日立製作所 | カメラのキャリブレーション装置、カメラシステム及び、カメラのキャリブレーション方法 |
| JP6694281B2 (ja) * | 2016-01-26 | 2020-05-13 | 株式会社日立製作所 | ステレオカメラおよび撮像システム |
| JP6166409B1 (ja) * | 2016-03-16 | 2017-07-19 | ヤフー株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
| JP6253847B1 (ja) * | 2016-11-28 | 2017-12-27 | 三菱電機株式会社 | レーザ加工装置、レーザ加工方法、及びレーザ加工プログラム |
| JP2019092002A (ja) * | 2017-11-13 | 2019-06-13 | ヤマハ発動機株式会社 | 船舶用俯瞰画像生成装置およびそのキャリブレーション方法 |
| JP7064586B2 (ja) * | 2018-06-05 | 2022-05-10 | 株式会社日立製作所 | カメラ位置姿勢校正装置、カメラ位置姿勢校正方法並びにロボット |
| DE102018222796A1 (de) * | 2018-12-21 | 2020-06-25 | Conti Temic Microelectronic Gmbh | Aufbau und Vermessung des Aufbaus zur Kalibrierung einer Kamera |
| US10399227B1 (en) * | 2019-03-29 | 2019-09-03 | Mujin, Inc. | Method and control system for verifying and updating camera calibration for robot control |
| US10906184B2 (en) * | 2019-03-29 | 2021-02-02 | Mujin, Inc. | Method and control system for verifying and updating camera calibration for robot control |
| CN110113528B (zh) * | 2019-04-26 | 2021-05-07 | 维沃移动通信有限公司 | 一种参数获取方法及终端设备 |
| JP7264763B2 (ja) | 2019-08-07 | 2023-04-25 | 株式会社日立製作所 | キャリブレーション装置 |
| JP7306937B2 (ja) * | 2019-09-25 | 2023-07-11 | ファナック株式会社 | ロボットに支持された部材の位置を調整するロボット装置の制御装置 |
| US11605183B2 (en) * | 2019-09-30 | 2023-03-14 | Konica Minolta Business Solutions U.S.A., Inc. | Aligning and merging contents from multiple collaborative workstations |
| JP2021140085A (ja) * | 2020-03-06 | 2021-09-16 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
| CN111641775B (zh) * | 2020-04-14 | 2021-10-01 | 北京迈格威科技有限公司 | 多摄变焦控制方法、装置及电子系统 |
| CN112819897B (zh) * | 2021-01-07 | 2025-01-10 | Oppo广东移动通信有限公司 | 一种相机参数修正方法、装置、电子设备及存储介质 |
| JP2025039116A (ja) * | 2023-09-08 | 2025-03-21 | キヤノン株式会社 | エンドエフェクタ、ロボットシステム、エンドエフェクタの制御方法、ロボットシステムの制御方法、物品の製造方法、プログラム、記録媒体 |
-
2022
- 2022-05-25 JP JP2022084959A patent/JP2023173018A/ja active Pending
-
2023
- 2023-05-24 US US18/322,695 patent/US12519925B2/en active Active
- 2023-05-24 CN CN202310596624.3A patent/CN117132658B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US12519925B2 (en) | 2026-01-06 |
| US20230388482A1 (en) | 2023-11-30 |
| CN117132658A (zh) | 2023-11-28 |
| CN117132658B (zh) | 2025-12-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102532072B1 (ko) | 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 | |
| CN115564842B (zh) | 双目鱼眼相机的参数标定方法、装置、设备及存储介质 | |
| JP4167954B2 (ja) | ロボット及びロボット移動方法 | |
| JP5815761B2 (ja) | 視覚センサのデータ作成システム及び検出シミュレーションシステム | |
| JP5523392B2 (ja) | キャリブレーション装置及びキャリブレーション方法 | |
| JP2011112402A (ja) | 3次元視覚センサにおける計測有効領域の表示方法および3次元視覚センサ | |
| JP2009053147A (ja) | 3次元計測方法および3次元計測装置 | |
| JP2017077614A (ja) | 教示点補正方法、プログラム、記録媒体、ロボット装置、撮影点作成方法、及び撮影点作成装置 | |
| JP2020080105A (ja) | カメラ校正装置及びカメラ校正方法 | |
| JP2010197198A (ja) | 画像の差分による高精度ステレオカメラキャリブレーション | |
| CN112238453B (zh) | 视觉导引机器手臂校正方法 | |
| JP2002071315A (ja) | 投影平面計測システム | |
| JP6885856B2 (ja) | ロボットシステムおよびキャリブレーション方法 | |
| TWI699264B (zh) | 視覺導引機器手臂校正方法 | |
| KR20100104166A (ko) | 카메라 캘리브레이션 방법 | |
| JP7427370B2 (ja) | 撮像装置、画像処理装置、画像処理方法、撮像装置の校正方法、ロボット装置、ロボット装置を用いた物品の製造方法、制御プログラムおよび記録媒体 | |
| JP2023173018A (ja) | カメラのキャリブレーション状態を可視化する方法、システム、及び、コンピュータープログラム | |
| TW202241660A (zh) | 程式生成裝置及機器人控制裝置 | |
| JP7660686B2 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
| CN115516274B (zh) | 用于测量对象物的位置以及姿势的标记、装置、系统以及测量方法 | |
| CN115397626B (zh) | 坐标系设定系统和位置姿势测量系统 | |
| JP7535412B2 (ja) | 3次元計測装置、3次元計測システムおよび3次元計測方法 | |
| JP2005186193A (ja) | ロボットのキャリブレーション方法および三次元位置計測方法 | |
| CA2828598C (en) | Stereoscopic measurement system and method | |
| EP2283314A1 (en) | Stereoscopic measurement system and method |