JP2015024480A - Information processing device, control method and program - Google Patents
Information processing device, control method and program Download PDFInfo
- Publication number
- JP2015024480A JP2015024480A JP2013156386A JP2013156386A JP2015024480A JP 2015024480 A JP2015024480 A JP 2015024480A JP 2013156386 A JP2013156386 A JP 2013156386A JP 2013156386 A JP2013156386 A JP 2013156386A JP 2015024480 A JP2015024480 A JP 2015024480A
- Authority
- JP
- Japan
- Prior art keywords
- image
- feature point
- virtual
- information
- dimensional
- 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.)
- Granted
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本発明は、情報処理装置、制御方法、及びプログラムに関する。 The present invention relates to an information processing apparatus, a control method, and a program.
ものづくりの現場では、組み立て装置や検査装置などの様々な装置が使用される。こうした装置はワーク(対象物)の位置や姿勢を制御するロボットを有する。さらに、こうした装置には、オペレータがワークやロボットの位置や姿勢を確認したり、ワークの外観を視認したりすることができるように装置内にカメラが設置される。オペレータは、カメラで撮像した撮像画像を見ながらロボットなどを制御する操作を行う。また、カメラで撮像した撮像画像は、ロボットのキャリブレーションに利用されることもある。 In the manufacturing field, various devices such as assembly devices and inspection devices are used. Such an apparatus has a robot that controls the position and orientation of a workpiece (object). Further, in such an apparatus, a camera is installed in the apparatus so that an operator can confirm the position and posture of the work and the robot and visually recognize the appearance of the work. The operator performs an operation for controlling the robot or the like while viewing the captured image captured by the camera. In addition, the captured image captured by the camera may be used for robot calibration.
例えば、カメラで撮像したワークの画像情報から、ワークの位置情報を計測する第1の方法が提案されている。第1の方法には、ワーク置場に載置されているワークの基準位置を示すマスタデータが利用される。このマスタデータはCAD(Computer Aided Design)情報を用いて得られるデータである。第1の方法に係る装置は、撮像画像から得られたワークの3次元特徴点位置と、マスタデータが示すワークの3次元特徴点位置とのずれ量を計算し、計算したずれ量を利用してロボットアームの軌道を補正する。 For example, a first method for measuring position information of a work from image information of the work taken by a camera has been proposed. In the first method, master data indicating the reference position of the work placed on the work place is used. This master data is data obtained using CAD (Computer Aided Design) information. The apparatus according to the first method calculates a deviation amount between the three-dimensional feature point position of the workpiece obtained from the captured image and the three-dimensional feature point position of the workpiece indicated by the master data, and uses the calculated deviation amount. Correct the trajectory of the robot arm.
なお、ステレオカメラの撮像画像から抽出した特徴点に基づき、カメラ座標系とロボット座標系とを変換する剛体変換行列を計算する第2の方法が提案されている。第2の方法に係る装置は、最小二乗法を利用して、カメラ座標系における冶具座標系の原点座標を推定する。また、ロボットにマーカを固定し、3次元空間上に複数の基準点を設定し、ロボットを操作してマーカを各々の基準点に位置決めし、基準点とマーカをカメラ画像に投影した位置との差分を最小化するパラメータを計算する第3の方法が提案されている。 A second method for calculating a rigid body transformation matrix for transforming the camera coordinate system and the robot coordinate system based on feature points extracted from the captured image of the stereo camera has been proposed. The apparatus which concerns on a 2nd method estimates the origin coordinate of the jig coordinate system in a camera coordinate system using the least squares method. Also, a marker is fixed to the robot, a plurality of reference points are set in the three-dimensional space, the robot is operated to position the marker at each reference point, and the reference point and the position where the marker is projected on the camera image A third method for calculating the parameter that minimizes the difference has been proposed.
ここで、ワークやロボットなどが設置された現実装置を仮想空間内に再現した仮想装置を利用して、現実装置の制御や検査作業などを補助するシステムについて考える。
現実装置内に設置されたロボットの部品やワークは3次元CADデータなどの3次元情報により記述できる。また、仮想装置内に設置されたロボットの部品やワークも3次元情報により記述できる。そのため、現実装置の3次元情報に基づいて仮想装置を同期制御することが可能である。
Here, consider a system that assists the control and inspection work of a real device by using a virtual device in which a real device on which a work or a robot is installed is reproduced in a virtual space.
The parts and workpieces of the robot installed in the real device can be described by 3D information such as 3D CAD data. Also, the parts and workpieces of the robot installed in the virtual device can be described by three-dimensional information. Therefore, it is possible to synchronously control the virtual device based on the three-dimensional information of the real device.
但し、設計誤差などにより現実装置と3次元情報とにずれが生じている場合、仮想装置を利用して検査や教示などを行うと作業結果にずれの影響が出る。そこで、本件発明者は、仮想装置のキャリブレーション方法について鋭意検討を行った。 However, when a deviation occurs between the real device and the three-dimensional information due to a design error or the like, if the inspection or teaching is performed using the virtual device, the work result is affected by the deviation. Therefore, the inventor of the present invention diligently studied a method for calibrating a virtual device.
1つの側面によれば、本発明の目的は、簡易にキャリブレーションを実現することが可能な情報処理装置、制御方法、及びプログラムを提供することにある。 According to one aspect, an object of the present invention is to provide an information processing apparatus, a control method, and a program capable of easily realizing calibration.
本開示の1つの側面によれば、対象物と、対象物が設置されるロボットと、対象物及びロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶する記憶部と、3次元情報に基づいて現実装置を仮想空間内に再現した仮想装置を生成し、現実装置の動作に仮想装置の動作を同期させ、仮想装置のカメラで撮像される第1画像を生成し、現実装置で撮像された第2画像と、第2画像に対応する第1画像との差に基づいて仮想装置の制御パラメータを調整する演算部と、を有する、情報処理装置が提供される。 According to one aspect of the present disclosure, a storage unit that stores three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot; Generating a virtual device that reproduces the real device in the virtual space based on the three-dimensional information, synchronizing the operation of the virtual device with the operation of the real device, and generating a first image captured by the camera of the virtual device; An information processing apparatus is provided that includes an arithmetic unit that adjusts a control parameter of a virtual device based on a difference between a second image captured by a real device and a first image corresponding to the second image.
本開示の他の1つの側面によれば、対象物と、対象物が設置されるロボットと、対象物及びロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶するメモリを有するコンピュータが、3次元情報に基づいて現実装置を仮想空間内に再現した仮想装置を生成し、現実装置の動作に仮想装置の動作を同期させ、仮想装置のカメラで撮像される第1画像を生成し、現実装置で撮像された第2画像と、第2画像に対応する第1画像との差に基づいて仮想装置の制御パラメータを調整する制御方法が提供される。 According to another aspect of the present disclosure, a memory that stores three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot The first image captured by the camera of the virtual device by generating a virtual device that reproduces the real device in the virtual space based on the three-dimensional information, synchronizing the operation of the virtual device with the operation of the real device And a control method for adjusting the control parameters of the virtual device based on the difference between the second image captured by the real device and the first image corresponding to the second image is provided.
本開示の他の1つの側面によれば、対象物と、対象物が設置されるロボットと、対象物及びロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶するメモリを有するコンピュータに、3次元情報に基づいて現実装置を仮想空間内に再現した仮想装置を生成し、現実装置の動作に仮想装置の動作を同期させ、仮想装置のカメラで撮像される第1画像を生成し、現実装置で撮像された第2画像と、第2画像に対応する第1画像との差に基づいて仮想装置の制御パラメータを調整する処理を実行させるプログラムが提供される。 According to another aspect of the present disclosure, a memory that stores three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot A virtual device that reproduces the real device in the virtual space based on the three-dimensional information, synchronizes the operation of the virtual device with the operation of the real device, and is captured by the camera of the virtual device And a program for executing a process of adjusting the control parameter of the virtual device based on the difference between the second image captured by the real device and the first image corresponding to the second image is provided.
以上説明したように本発明によれば、簡易にキャリブレーションを実現することが可能になる。 As described above, according to the present invention, calibration can be easily realized.
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。 Embodiments of the present invention will be described below with reference to the accompanying drawings. In addition, about the element which has the substantially same function in this specification and drawing, duplication description may be abbreviate | omitted by attaching | subjecting the same code | symbol.
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係るシステムの一例を示した図である。
<1. First Embodiment>
The first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a system according to the first embodiment.
図1に示すように、第1実施形態に係るシステムは、現実装置10、及び情報処理装置20を含む。現実装置10は、対象物OBJと、対象物OBJが設置されるロボットと、対象物OBJ及びロボットの少なくとも一部を撮像するカメラとを含む。
As shown in FIG. 1, the system according to the first embodiment includes a
情報処理装置20は、記憶部21及び演算部22を有する。
記憶部21の機能は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置により実現される。
The
The function of the
演算部22の機能は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサにより実現される。演算部22の機能は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのプロセッサ以外の電子回路を利用して実現することも可能である。
The function of the
演算部22は、例えば、記憶部21又は他のメモリに記憶されたプログラムを実行する。
記憶部21は、現実装置10の3次元情報を記憶する。例えば、記憶部21は、現実装置10に含まれる対象物OBJやロボットの形状や位置などを示す3次元CADデータを記憶する。つまり、現実装置10の設計情報が記憶部21に記憶されている。演算部22は、記憶部21が記憶している3次元情報に基づいて現実装置10を仮想空間内に再現した仮想装置23を生成する。
For example, the
The
図1に示すように、仮想装置23は、現実装置10のカメラに対応するカメラ24、及び現実装置10のロボットに対応するロボット25を含む。また、現実装置10のロボットに対象物OBJが設置されている場合には、仮想装置23のロボット25にも対象物OBJが設置される。演算部22は、現実装置10の動作に仮想装置23の動作を同期させる。つまり、演算部22は、現実装置10の状態が変更されると、変更後の現実装置10の状態と同じ状態になるように仮想装置23の状態を制御する。
As shown in FIG. 1, the
例えば、現実装置10においてカメラを制御する制御パラメータBが変更された場合には、演算部22によりカメラ24の制御パラメータBが同じ値に変更される。同様に、現実装置10においてロボットを制御する制御パラメータAが変更された場合には、演算部22によりロボット25の制御パラメータAが同じ値に変更される。現実装置10に含まれる他の機構を制御する制御パラメータが変更された場合も、その制御パラメータに対応する仮想装置23の制御パラメータが演算部22により変更される。
For example, when the control parameter B for controlling the camera is changed in the
演算部22は、仮想装置23のカメラ24で撮像される第1画像P1を生成する。仮想装置23では現実装置10の環境が再現されているため、シミュレーションによりカメラ24で撮像される第1画像P1は、現実装置10で撮像された第2画像P2と同じ画像となる。但し、現実装置10を製造する段階で設置誤差や組み立て誤差などが生じると、設計情報である3次元情報に基づいて生成された仮想装置23と現実装置10との間でずれが生じる。この場合、現実装置10で撮像された第2画像P2と、仮想装置23で撮像された第1画像P1との間にもずれが生じる。
The
演算部22は、現実装置10で撮像された第2画像P2と、第2画像P2に対応する第1画像P1との差に基づいて仮想装置23の制御パラメータA、B、…を調整する。第1画像P1上の1点を示す2次元座標(以下、2次元座標xv)は、3次元情報を利用することで、その点に対応する仮想空間内の3次元座標Q、及び制御パラメータA、B、…から決まる。つまり、2次元座標xv、3次元座標Q、制御パラメータA、B、…の関係を表現するモデルを構築することができる。現実装置10についても同様である。
The
第1画像P1上で特徴点を決めると、特徴点の2次元座標xv、第1画像P1の生成時に設定されている仮想装置23の制御パラメータA、B、…、及び、2次元座標xvに対応する3次元座標Qが得られる。また、第1画像P1上の特徴点に対応する第2画像P2上の特徴点が決まると、特徴点の2次元座標(以下、2次元座標xr)が得られる。
When the feature point is determined on the first image P1, the two-dimensional coordinate xv of the feature point, the control parameters A, B,... Of the
演算部22は、例えば、第1画像P1及び第2画像P2の組を複数用意し、特徴点について2次元座標xv、xr、3次元座標Q、及び仮想装置23の制御パラメータA、B、…を取得する。そして、演算部22は、取得した情報及び上記のモデルを利用して現実装置10の制御パラメータA、B、…と仮想装置23の制御パラメータA、B、…との間の誤差dA、dB、…を推定する。例えば、演算部22は、最小二乗法などを利用して制御パラメータの誤差dA、dB、…を計算する。計算結果を得た演算部22は、計算した制御パラメータの誤差dA、dB、…を仮想装置23の制御パラメータA、B、…に適用する。例えば、演算部22は、仮想装置23の制御パラメータをA+dA、B+dB、…とする。
For example, the
上記の方法によれば、ステレオ画像などの3次元的な画像情報を利用せず、2次元画像だけを利用して容易に仮想装置23の制御パラメータを調整することが可能になる。また、上記の方法によれば、現実装置10側及び仮想装置23側において通常の運用時に利用される撮像画像を利用してキャリブレーションが行える。そのため、追加設備を設けずに済み、キャリブレーション機能の追加によるコストの増加を抑制できる。
According to the above method, it is possible to easily adjust the control parameters of the
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
The first embodiment has been described above.
<2. Second Embodiment>
Next, a second embodiment will be described.
[2−1.システム]
まず、図2を参照しながら、第2実施形態に係るシステムについて説明する。図2は、第2実施形態に係るシステムの一例を示した図である。
[2-1. system]
First, a system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a system according to the second embodiment.
図2に示すように、第2実施形態に係るシステムは、現実装置100、制御装置200、情報処理装置300、及び表示装置250、350を含む。
現実装置100は、カメラ101、設置台102、照明103、及びロボット104を有する。なお、カメラ101、設置台102、照明103、及びロボット104の動作は、制御装置200により制御される。
As illustrated in FIG. 2, the system according to the second embodiment includes a
The
カメラ101は、ロボット104に設置されたワークWKを含む範囲を撮像する撮像デバイスである。カメラ101は、例えば、レンズなどの光学系、CCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)などの撮像素子、及び、A/D変換やデジタル信号処理などを実行する画像処理プロセッサなどを含む。 The camera 101 is an imaging device that captures an area including a work WK installed on the robot 104. The camera 101 includes, for example, an optical system such as a lens, an image sensor such as a CCD (Charge Coupled Device) and a CMOS (Complementary Metal-Oxide Semiconductor), and an image processing processor that performs A / D conversion, digital signal processing, and the like. including.
設置台102は、照明103やロボット104を固定する台である。照明103は、設置台102上に設置され、ロボット104に設置されたワークWKを含む領域を照明する光源である。ロボット104は、ワークWKを把持し、ワークWKの位置を移動させたり、ワークWKの姿勢を変えたりする機構である。 The installation table 102 is a table for fixing the illumination 103 and the robot 104. The illumination 103 is a light source that is installed on the installation table 102 and illuminates an area including the work WK installed on the robot 104. The robot 104 is a mechanism that holds the workpiece WK, moves the position of the workpiece WK, and changes the posture of the workpiece WK.
現実装置100は、例えば、ワークWK表面の状態検査などに利用される。この場合、現実装置100は、メッシュパターンなどの照明パターンをワークWKの表面に映し込み、照明パターンが映り込んだワークWKを撮像する。このようにして撮像された撮像画像から、ワークWKに映り込んだ照明パターンの形状を分析することで、ワークWKの表面に付いたキズや凹みなどの欠陥を検出することができる。
The
ワークWKが立体的な形状である場合、ワークWK表面の限られた範囲(検査視野)にしか照明パターンが映し込まれない場合がある。そのため、現実装置100は、ロボット104を利用してワークWKの位置や姿勢を変化させながら、照明パターンが映り込んだワークWKをカメラ101により撮像する。
When the work WK has a three-dimensional shape, the illumination pattern may be reflected only in a limited range (inspection visual field) on the surface of the work WK. Therefore, the
ワークWKの位置や姿勢を変化させながら撮像された複数の撮像画像を利用することで、ワークWK表面の広い範囲について照明パターンの形状を分析することができる。なお、カメラ101の位置や姿勢を変化させてもよいが、第2実施形態においてはカメラ101を固定してワークWKの位置や姿勢を変化させる場合を例に説明を進める。 By using a plurality of captured images captured while changing the position and orientation of the workpiece WK, the shape of the illumination pattern can be analyzed over a wide range of the surface of the workpiece WK. Although the position and orientation of the camera 101 may be changed, in the second embodiment, the description is given by taking the case where the camera 101 is fixed and the position and orientation of the workpiece WK are changed as an example.
上記のように、現実装置100を利用すれば、複数の検査視野から撮像したワークWKの撮像画像を得ることができる。なお、検査視野の決定はオペレータが行う。
ワークWKの位置や姿勢を変化させると変化前の検査視野がワークWK表面のどの範囲であったかをオペレータが正確に認識することは難しい。そこで、第2実施形態に係るシステムは、検査視野をオペレータが容易に認識できるようにする仕組みを提供する。この仕組みを適用することで、ワークWKの一部範囲について検査漏れが生じてしまうことや、検査漏れを避けようとして検査視野の重複が過剰になり検査時間が増大してしまうことを抑制する効果が期待できる。
As described above, if the
When the position and posture of the workpiece WK are changed, it is difficult for the operator to accurately recognize which range on the surface of the workpiece WK the inspection visual field before the change is. Therefore, the system according to the second embodiment provides a mechanism that allows the operator to easily recognize the inspection visual field. By applying this mechanism, it is possible to suppress the occurrence of inspection omission in a part of the work WK, or the increase in inspection time due to excessive overlap of inspection fields in order to avoid the inspection omission. Can be expected.
上記のような現実装置100の動作は、制御装置200により制御される。制御装置200は、通信回線を介して情報処理装置300に接続されている。例えば、制御装置200は、ソケット通信を利用して現実装置100の制御情報などを情報処理装置300に送信する。
The operation of the
制御装置200は、表示装置250に接続されている。表示装置250は、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、ELD(Electro-Luminescence Display)などのディスプレイ装置である。制御装置200は、カメラ101による撮像画像を表示装置250に表示させる。オペレータは、表示装置250の撮像画像を見ながら操作を行う。
The
情報処理装置300は、現実装置100の3次元CADデータを保持し、3次元CADデータを利用して現実装置100を仮想空間内に再現した仮想装置を生成する。また、情報処理装置300は、現実装置100の制御情報などを受信し、受信した制御情報に基づいて仮想装置の動作をシミュレートする。
The
情報処理装置300は、検査視野に対応するワークWK表面の範囲を計算する。そして、情報処理装置300は、計算した検査視野に対応するワークWK表面の範囲(検査範囲)を示す情報を制御装置200に送信する。
The
情報処理装置300は、表示装置350に接続されている。表示装置350は、例えば、CRT、LCD、PDP、ELDなどのディスプレイ装置である。情報処理装置300は、仮想装置内で仮想的に撮像されたワークWKの撮像画像を表示装置350に表示させる。情報処理装置300は、検査範囲を表示装置350に表示した撮像画像に重畳して表示させる。
The
また、情報処理装置300は、検査視野に対応するワークWKの範囲を3次元CADデータに変換して保持する。検査範囲の情報は、適宜、制御装置200に送信され、表示装置250に表示された撮像画像に重畳して表示される。
In addition, the
以上、第2実施形態に係るシステムについて説明した。なお、照明パターンの映り込みを利用した検査方法を例に挙げて説明したが他の検査方法についても第2実施形態に係るシステムを適用可能である。以下では、第2実施形態に係るシステムに含まれる装置のハードウェア、機能、及び処理フローについて説明する。 The system according to the second embodiment has been described above. The inspection method using the reflection of the illumination pattern has been described as an example, but the system according to the second embodiment can be applied to other inspection methods. Hereinafter, hardware, functions, and a processing flow of apparatuses included in the system according to the second embodiment will be described.
[2−2.ハードウェア]
図3〜図5を参照しながら、第2実施形態に係るシステムに含まれる装置のハードウェアについて説明する。図3は、第2実施形態に係る現実装置の一例を示した図である。図4は、第2実施形態に係る現実装置の機構について説明するための図である。図5は、第2実施形態に係る制御装置の機能を実現可能なハードウェアの一例を示した図である。
[2-2. hardware]
The hardware of the device included in the system according to the second embodiment will be described with reference to FIGS. FIG. 3 is a diagram illustrating an example of a real device according to the second embodiment. FIG. 4 is a diagram for explaining the mechanism of the real device according to the second embodiment. FIG. 5 is a diagram illustrating an example of hardware capable of realizing the function of the control device according to the second embodiment.
(現実装置)
図3及び図4を参照しながら、現実装置100のハードウェアについて説明する。
図3に示すように、現実装置100は、カメラ101、設置台102、照明103、X機構111、Y機構112、第1回転機構113、第2回転機構114、及び把持機構115を有する。X機構111、Y機構112、第1回転機構113、第2回転機構114、及び把持機構115は、設置機構の一例である。
(Real equipment)
The hardware of the
As illustrated in FIG. 3, the
X機構111は設置台102上に設置される。Y機構112はX機構111上に設置される。第1回転機構113はY機構112上に設置される。第2回転機構114は第1回転機構113上に設置される。第2回転機構114には把持機構115が設けられている。把持機構115にはワークWKが設置される。
The
図4に示すように、X機構111は、X方向に沿って矢印aが示すように移動する機構である。X機構111の移動に伴い、Y機構112、第1回転機構113、第2回転機構114、把持機構115、及びワークWKはX方向に移動する。Y機構112は、X方向と直交するY方向に沿って矢印bが示すように移動する機構である。Y機構112の移動に伴い、第1回転機構113、第2回転機構114、把持機構115、及びワークWKはY方向に移動する。
As shown in FIG. 4, the
第1回転機構113は、X−Y面内で矢印cが示すように回転する。第1回転機構113の回転に伴い、第2回転機構114、把持機構115、及びワークWKはX−Y面内で回転する。第2回転機構114は、Z方向からX−Y面へ把持機構115を傾倒させる向きに回転する(矢印dが示すように回転する。)。第2回転機構114の回転に伴い、把持機構115及びワークWKはZ方向からX−Y面へ回転角度の分だけ傾倒する。
The
X機構111及びY機構112の動作によりワークWKの位置は移動する。また、第1回転機構113及び第2回転機構114の動作によりワークWKの姿勢は変化する。従って、X機構111、Y機構112、第1回転機構113、及び第2回転機構114の動作を制御することで検査視野を自由に調整することができる。
The position of the workpiece WK is moved by the operation of the
(制御装置、情報処理装置)
次に、図5を参照しながら、制御装置200のハードウェアについて説明する。
制御装置200が有する機能は、例えば、図5に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、制御装置200が有する機能は、コンピュータプログラムを用いて図5に示すハードウェアを制御することにより実現される。
(Control device, information processing device)
Next, the hardware of the
The functions of the
図5に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
As shown in FIG. 5, this hardware mainly includes a
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
The
ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
The
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。
These elements are connected to each other via, for example, a
また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、レバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
As the
出力部918は、例えば、CRT、LCD、PDP、ELDなどのディスプレイ装置に画像信号を出力するビデオ出力デバイスである。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、視覚的又は聴覚的な情報を出力することが可能な装置である。
The
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
The
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
The
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
The
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
The
なお、後述する情報処理装置300の機能は、制御装置200と同様に図5に例示したハードウェアにより実現することができる。従って、情報処理装置300のハードウェアについては詳細な説明を省略する。
Note that the functions of the
[2−3.制御装置の機能]
次に、図6を参照しながら、制御装置200の機能について説明する。図6は、第2実施形態に係る制御装置が有する機能について説明するための図である。
[2-3. Control device functions]
Next, functions of the
図6に示すように、制御装置200は、情報管理部201、ロボット制御部202、画像取得部203、光量調整部204、記憶部205、作業処理部206、及び表示制御部207を有する。
As illustrated in FIG. 6, the
なお、情報管理部201、ロボット制御部202、画像取得部203、光量調整部204、作業処理部206、及び表示制御部207の機能は、上述したCPU902などを用いて実現できる。また、記憶部205の機能は、上述したRAM906や記憶部920などを用いて実現できる。
Note that the functions of the
情報管理部201は、オペレータが入力した情報を取得する。情報管理部201が取得した情報は、ロボット制御部202、光量調整部204、作業処理部206に入力される。ロボット制御部202は、情報管理部201から入力された情報に応じてロボット104を制御する。また、ロボット制御部202は、ロボット104の制御情報を情報管理部201に入力する。この制御情報には、ロボット104が有する機構の制御パラメータが含まれる。情報管理部201は、ロボット制御部202から入力された制御情報を情報処理装置300に送信する。
The
なお、上記制御情報は記憶部205に格納される。
画像取得部203は、カメラ101が撮像した撮像画像を現実装置100から受信する。画像取得部203が受信した撮像画像は、記憶部205に格納される。光量調整部204は、情報管理部201から入力された情報に応じて照明103の光量を制御する。また、光量調整部204は、照明103の制御情報を情報管理部201に入力する。この制御情報には、照明103に設定する光量レベルの値を示す制御パラメータが含まれる。情報管理部201は、光量調整部204から入力された制御情報を情報処理装置300に送信する。
The control information is stored in the
The
なお、上記制御情報は記憶部205に格納される。
また、情報管理部201は、情報処理装置300が計算した検査視野に関する情報を受信する。情報管理部201が受信した検査視野に関する情報は、記憶部205に格納される。
The control information is stored in the
In addition, the
光量調整部204は、検査視野に関する情報に基づいて検査範囲が検査に適当な光量で照明されるように照明103の光量レベルを調整する。光量調整部204により照明103の光量レベルが調整された後、作業処理部206は、検査などの作業に関する処理を実行する。例えば、作業処理部206は、ワークWKの検査範囲に映り込んだ照明パターンを分析する。
The light
表示制御部207は、記憶部205に格納された撮像画像を表示装置250に表示させる。また、記憶部205に検査視野に関する情報が格納されている場合、表示制御部207は、表示装置250に表示された撮像画像に重畳して検査範囲を表示させる。例えば、表示制御部207は、過去に作業処理部206による作業が済んでいる検査範囲を撮像画像に重畳して表示させる。
The
以上、制御装置200の機能について説明した。
[2−4.情報処理装置の機能]
次に、図7を参照しながら、情報処理装置300の機能について説明する。図7は、第2実施形態に係る情報処理装置が有する機能について説明するための図である。
The function of the
[2-4. Function of information processing apparatus]
Next, functions of the
図7に示すように、情報処理装置300は、画像取得部301、記憶部302、シミュレータ303、特徴点位置設定部305、3次元座標計算部306、差分計算部307、及びパラメータ計算部308を有する。
As illustrated in FIG. 7, the
なお、画像取得部301、シミュレータ303、特徴点位置設定部305、3次元座標計算部306、差分計算部307、及びパラメータ計算部308の機能は、上述したCPU902などを用いて実現できる。記憶部302の機能は、上述したRAM906や記憶部920などを用いて実現できる。
Note that the functions of the
画像取得部301は、制御装置200を介して現実装置100が撮像した撮像画像を取得する。画像取得部301が取得した撮像画像は、特徴点位置設定部305に入力される。記憶部302は、現実装置100の3次元CADデータを記憶する。シミュレータ303は、記憶部302が記憶している3次元CADデータを利用して仮想空間内に現実装置100を再現した仮想装置304を生成する。シミュレータ303は、制御装置200から現実装置100の制御情報を取得する。シミュレータ303は、制御装置200から取得した制御情報に基づいて仮想装置304を制御する。
The
例えば、シミュレータ303は、制御装置200から取得したロボット104の制御情報に基づいて仮想装置304のロボットを同期制御する。また、シミュレータ303は、制御装置200から取得した照明103の制御情報に基づいて仮想装置304の照明光量を制御する。こうした仮想装置304の制御により、仮想装置304内に現実装置100内の環境が再現される。
For example, the
シミュレータ303は、仮想装置304を利用してシミュレーションを実行し、現実装置100のカメラ101が撮像した撮像画像を生成する。例えば、シミュレータ303は、光学シミュレーションを実行してワークへの照明の映り込みを計算し、計算結果を反映した撮像画像(仮想装置304の撮像画像)を生成する。撮像画像の計算には、例えば、レイトレーシング法、ラジオシティ法、フォトンマッピング法、環境マッピング法などのレンダリング手法が用いられる。
The
シミュレータ303により生成された仮想装置304の撮像画像は、特徴点位置設定部305に入力される。また、撮像画像の計算時に用いた仮想装置304の制御パラメータA,B,Cは、3次元座標計算部306に入力される。なお、制御パラメータA,B,Cは、それぞれベクトル量であってもよい。
The captured image of the
制御パラメータAは、カメラの内部パラメータである。例えば、制御パラメータAは、カメラの光軸方向やレンズパラメータなどである。
制御パラメータBは、ロボットの内部パラメータである。例えば、制御パラメータBは、ロボットの各機構に関する位置や姿勢を決めるパラメータなどである。
The control parameter A is an internal parameter of the camera. For example, the control parameter A is a camera optical axis direction, a lens parameter, or the like.
The control parameter B is an internal parameter of the robot. For example, the control parameter B is a parameter that determines the position and posture of each mechanism of the robot.
制御パラメータCは、カメラとロボットとの間の相対関係を規定するパラメータである。例えば、制御パラメータCは、ある絶対座標を基準としてカメラの位置や姿勢、及びロボットの位置や姿勢などである。ここでは簡単のために上記の制御パラメータを考慮するが、実施の態様に応じて適宜、制御パラメータの追加や省略が可能である。 The control parameter C is a parameter that defines the relative relationship between the camera and the robot. For example, the control parameter C is the position and posture of the camera, the position and posture of the robot, etc., based on certain absolute coordinates. Here, for the sake of simplicity, the above control parameters are considered, but control parameters can be added or omitted as appropriate according to the embodiment.
特徴点位置設定部305は、現実装置100の撮像画像上及び仮想装置304の撮像画像上で互いに対応する特徴点を設定する。例えば、特徴点位置設定部305は、オペレータが両撮像画像に対して指定した点を特徴点に設定する。
The feature point
なお、特徴点位置設定部305は、両撮像画像にエッジ検出処理を施し、互いに対応するエッジ位置を特徴点に設定してもよい。例えば、画素値の1次微分から計算した勾配方向からエッジの局所的な方向を予測し、予測した方向の勾配が局所的に極大となる部分を探索する探索ベースの手法や、対象画像から計算した2次微分式を利用するゼロ交差法ベースの手法などが利用できる。
Note that the feature point
特徴点位置設定部305により設定された特徴点の情報は、3次元座標計算部306及び差分計算部307に入力される。3次元座標計算部306には、仮想装置304の撮像画像上で設定された特徴点の2次元座標xvが入力される。差分計算部307には、仮想装置304の撮像画像上で設定された特徴点の2次元座標xv、及び現実装置100の撮像画像上で設定された特徴点の2次元座標xrが入力される。
Information on the feature points set by the feature point
3次元座標計算部306は、特徴点位置設定部305から入力された2次元座標xvに対応する仮想空間内の3次元座標Qを計算する。このとき、3次元座標計算部306は、シミュレータ303から入力された制御パラメータA,B,C、特徴点位置設定部305から入力された2次元座標xv、及び記憶部302が記憶している3次元CADデータなどを利用する。
The three-dimensional coordinate
なお、ポリゴンモデルを用いて仮想装置304を表現し、OpenGL(Open Graphics Library;登録商標)により描画している場合、gluUnProject()を利用すれば、2次元座標xvを容易に3次元座標Qへと変換することができる。もちろん、同様の別手法を適用することもできる。
If the
上記のように、3次元座標Qは制御パラメータB,Cに依存する。そのため、以下の説明において3次元座標QをQ(B,C)と表現する場合がある。制御パラメータA,B,C、及び3次元座標計算部306により計算された3次元座標Qはパラメータ計算部308に入力される。差分計算部307は、2つの2次元座標xv、xrの差分dx(dx=xv−xr)を計算する。差分計算部307により計算された差分dxは、パラメータ計算部308に入力される。
As described above, the three-dimensional coordinate Q depends on the control parameters B and C. Therefore, in the following description, the three-dimensional coordinate Q may be expressed as Q (B, C). The control parameters A, B, and C and the three-dimensional coordinate Q calculated by the three-dimensional coordinate
パラメータ計算部308は、3次元座標計算部306から入力された制御パラメータA,B,C、3次元座標Q、及び差分計算部307から入力された差分dxを利用して、制御パラメータの誤差dA、dB、dCを推定する。
The
仮想装置304における2次元座標xvと、制御パラメータA,B,C及び3次元座標Qとの関係は、下記の式(1)に示したモデルfで表現される。設計誤差などが存在しない理想的な状態であれば現実装置100も同じモデルで表現される。下記の式(1)から、制御パラメータA,B,Cの微小変化dA、dB、dCは、2次元座標の微小変化dxにより下記の式(2)のように表現することができる。従って、2次元座標xv、xrの差分dxを下記の式(2)に代入すれば、制御パラメータの誤差dA、dB、dCに関する関係式が得られる。
The relationship between the two-dimensional coordinate x v , the control parameters A, B, C, and the three-dimensional coordinate Q in the
パラメータ計算部308は、上記の式(2)に対し、制御パラメータA,B,C、3次元座標Q、及び差分計算部307から入力された差分dxを代入し、制御パラメータの誤差dA、dB、dCに関する関係式を生成する。パラメータ計算部308は、複数の撮像画像について生成した制御パラメータの誤差dA、dB、dCに関する関係式を利用し、最小二乗法を用いて制御パラメータの誤差dA、dB、dCを推定する。
The
パラメータ計算部308により推定された制御パラメータの誤差dA、dB、dCは記憶部302に格納される。シミュレータ303は、記憶部302に格納された制御パラメータの誤差dA、dB、dCを用いて仮想装置304の制御パラメータA,B,Cを補正する。例えば、シミュレータ303は、現実装置100から取得した制御パラメータA,B,Cに誤差dA,dB,dCを適用した制御パラメータA+dA,B+dB,C+dCに基づいて仮想装置304を生成する。そして、制御パラメータA+dA,B+dB,C+dCに基づいて生成された仮想装置304におけるシミュレーション結果が現実装置100側へとフィードバックされる。
Control parameter errors dA, dB, and dC estimated by the
以上、情報処理装置300の機能について説明した。
[2−5.キャリブレーション方法の適用例について]
次に、第2実施形態に係るキャリブレーション方法の適用例について説明する。
The function of the
[2-5. Application example of calibration method]
Next, an application example of the calibration method according to the second embodiment will be described.
(システムの基本動作)
まず、図8を参照しながら、第2実施形態に係るシステムの基本動作について説明する。図8は、第2実施形態に係るシステムが行う動作の一例を示した図である。
(Basic operation of the system)
First, the basic operation of the system according to the second embodiment will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of an operation performed by the system according to the second embodiment.
図8に示すように、第2実施形態に係るシステムでは、現実装置100を仮想化した仮想装置304が生成され、仮想装置304が現実装置100の動作に同期して制御される(S1)。
As shown in FIG. 8, in the system according to the second embodiment, a
また、仮想装置304の環境下でシミュレーションが実行され、仮想装置304のカメラで撮像された撮像画像が取得される(S2)。
例えば、光学シミュレーションによりワーク上に映り込んだ照明の範囲が計算され、照明の範囲から検査条件を満たす範囲が検査範囲として抽出される(S3)。
In addition, a simulation is executed under the environment of the
For example, the range of illumination reflected on the workpiece is calculated by optical simulation, and the range that satisfies the inspection condition is extracted from the illumination range as the inspection range (S3).
抽出された検査範囲の情報が現実装置100側へとフィードバックされ、現実装置100における照明の光量レベルを最適化する制御や、検査範囲の教示に利用される(S4)。
Information on the extracted inspection range is fed back to the
(検査範囲の抽出方法)
ここで、図9を参照しながら、情報処理装置300が実行する検査範囲の抽出処理について説明する。図9は、第2実施形態に係る情報処理装置が実行する検査範囲の抽出処理について説明するための図である。
(Examination method of inspection range)
Here, the examination range extraction processing executed by the
上記の検査範囲は、ワークの形状やシミュレーション結果に基づいて抽出される。ワークの外観検査を行う場合、ワーク以外の範囲は検査対象外である。また、カメラの撮像面に対する角度が大きいワーク面は精度良く検査できない場合があるため、検査対象外に設定される。さらに、メッシュパターンなどの照明パターンをワーク表面に映り込ませて検査する手法を適用する場合、照明パターンが映り込む範囲が検査対象となる。 The inspection range is extracted based on the shape of the workpiece and the simulation result. When a visual inspection of a workpiece is performed, a range other than the workpiece is not subject to inspection. In addition, since a workpiece surface having a large angle with respect to the imaging surface of the camera may not be inspected with high accuracy, the workpiece surface is set out of the inspection target. Furthermore, when applying a method of inspecting an illumination pattern such as a mesh pattern on the workpiece surface, a range in which the illumination pattern is reflected is an inspection target.
ワークが映っている範囲、及び撮像面に対する角度が大きいワーク面の範囲は、3次元CADデータを利用すれば計算することができる。これらの範囲は、ワーク形状に基づく範囲として抽出される(S31)。 The range in which the workpiece is shown and the range of the workpiece surface having a large angle with respect to the imaging surface can be calculated using three-dimensional CAD data. These ranges are extracted as ranges based on the workpiece shape (S31).
一方、照明パターンが映り込む範囲は、光学シミュレーションの結果を利用し、ワーク表面の輝度が設定した輝度以上の範囲を抽出することで計算することができる。この範囲は、反射輝度に基づく範囲として抽出される(S32)。 On the other hand, the range in which the illumination pattern is reflected can be calculated by using the result of optical simulation and extracting the range where the brightness of the workpiece surface is equal to or higher than the set brightness. This range is extracted as a range based on the reflected luminance (S32).
最終的な検査範囲は、ワーク形状に基づく範囲と反射輝度に基づく範囲との重複範囲を計算することにより抽出される(S33)。
なお、検査範囲は撮像画像上の2次元範囲として抽出されるが、情報処理装置300により2次元範囲の点を3次元CADデータに基づいて3次元座標点に変換し、3次元CADデータの形式で表現された部品データとして保存しておいてもよい。
The final inspection range is extracted by calculating an overlapping range between the range based on the workpiece shape and the range based on the reflection luminance (S33).
The inspection range is extracted as a two-dimensional range on the captured image, but the
(誤差要因について)
ここで、図10を参照しながら、現実装置100と仮想装置304との間で生じる誤差の誤差要因について説明する。図10は、第2実施形態に係る現実装置と仮想装置との間で生じる誤差の誤差要因について説明するための図である。
(About error factors)
Here, with reference to FIG. 10, an error factor of an error that occurs between the
現実装置100と仮想装置304(3次元CADデータ)とのずれは、様々な要因により生じうる。例えば、カメラの光軸方向、レンズパラメータ、現実装置100上に設定した絶対座標に対するカメラの位置や姿勢が何らかの理由で設計値からずれることが現実装置100と仮想装置304との間の誤差を生み出す。
The deviation between the
また、ロボットの製作・組み立て時に生じる誤差、ロボットを駆動するモータの初期値ずれ、現実装置100上に設定した絶対座標に対するロボットの位置や姿勢のずれも現実装置100と仮想装置304との間の誤差を生み出す。その他にも、シミュレーション結果に影響を与える照明の位置ずれやワークの成型・設置誤差などが誤差要因となる。
Also, errors that occur during the manufacture and assembly of the robot, deviations in the initial value of the motor that drives the robot, and deviations in the position and orientation of the robot with respect to the absolute coordinates set on the
(キャリブレーション処理)
上記のような誤差を補正する処理がキャリブレーション処理である。ここで、図11及び図12を参照しながら、第2実施形態に係るキャリブレーション処理について説明する。図11は、第2実施形態に係る特徴点の指定方法及びキャリブレーションに利用されるパラメータの例について説明するための図である。図12は、第2実施形態に係る特徴点の自動抽出方法について説明するための図である。
(Calibration process)
A process for correcting the error as described above is a calibration process. Here, the calibration process according to the second embodiment will be described with reference to FIGS. 11 and 12. FIG. 11 is a diagram for explaining an example of parameters used for the feature point designation method and calibration according to the second embodiment. FIG. 12 is a diagram for explaining an automatic feature point extraction method according to the second embodiment.
第2実施形態に係るキャリブレーション処理には、仮想装置304の撮像画像上で指定された第1特徴点と、現実装置100の撮像画像上で指定された第2特徴点とが利用される。第1特徴点と第2特徴点とは互いに対応する部分に位置する。例えば、第1特徴点及び第2特徴点はワークの角部などに設定される。
In the calibration processing according to the second embodiment, the first feature point designated on the captured image of the
なお、第1特徴点及び第2特徴点の指定はオペレータが手動で行ってもよいし、図12に示すように、撮像画像のエッジ検出などを利用して情報処理装置300が自動で実行してもよい。
The designation of the first feature point and the second feature point may be performed manually by an operator, or is automatically executed by the
図11に示すように、第1特徴点が指定されると、第1特徴点の位置を示す撮像画像上の2次元座標xvが得られる。また、撮像画像を取得した際の仮想装置304における制御パラメータA,B,Cが得られる。図11の例では、制御パラメータAをカメラパラメータ、制御パラメータBをロボットパラメータ、制御パラメータCをカメラ・ロボット間の相対位置に関するパラメータと呼んでいる。
As shown in FIG. 11, when the first feature is specified, two-dimensional coordinates x v on the captured image showing the position of the first feature points are obtained. Further, control parameters A, B, and C in the
さらに、3次元CADデータ及び制御パラメータA,B,Cから2次元座標xvに対応する3次元座標Qが得られる。一方、第2特徴点が指定されると、第2特徴点の位置を示す撮像画像上の2次元座標xrが得られる。但し、現実装置100の制御パラメータA,B,Cと、仮想装置304の制御パラメータA,B,Cとの間の誤差dA,dB,dCは未知である。そこで、情報処理装置300は、上記の式(1)で表現されるモデル(及び上記の式(2))を利用し、最小二乗法を利用して制御パラメータの誤差dA,dB,dCを推定する。推定した制御パラメータの誤差dA,dB,dCは、仮想装置304の制御パラメータに設定される。つまり、撮像画像の違いから、現実装置100の制御パラメータを推定し、推定した制御パラメータを用いて仮想装置304の制御パラメータが調整される。
Further, a three-dimensional coordinate Q corresponding to the two-dimensional coordinate x v is obtained from the three-dimensional CAD data and the control parameters A, B, and C. On the other hand, when the second feature point is designated, a two-dimensional coordinate x r on the captured image indicating the position of the second feature point is obtained. However, errors dA, dB, and dC between the control parameters A, B, and C of the
上記のキャリブレーション処理では、システムの運用に利用する撮像画像を利用して制御パラメータの調整が実現されるため、キャリブレーション用設備の追加が生じない。また、撮像画像上の2次元的な情報を比較して誤差を検出しているため、ステレオ画像上の3次元的な情報を比較して誤差を検出するような方法に比べると処理負荷が低い。従って、第2実施形態に係るキャリブレーション処理を適用することで、簡易にキャリブレーションを実現することが可能になる。 In the above calibration processing, adjustment of control parameters is realized by using a captured image used for system operation, so that no additional calibration equipment is generated. Further, since the error is detected by comparing the two-dimensional information on the captured image, the processing load is lower than the method of detecting the error by comparing the three-dimensional information on the stereo image. . Therefore, the calibration can be easily realized by applying the calibration processing according to the second embodiment.
[2−6.キャリブレーション処理の流れ]
次に、図13及び図14を参照しながら、第2実施形態に係るキャリブレーション処理の流れについて説明する。図13は、第2実施形態に係る情報処理装置が実行するキャリブレーション処理の流れを示したフロー図である。図14は、第2実施形態に係る情報処理装置が実行するキャリブレーション処理の中で実行されるパラメータ計算の処理フローを示したフロー図である。
[2-6. Flow of calibration process]
Next, the flow of calibration processing according to the second embodiment will be described with reference to FIGS. 13 and 14. FIG. 13 is a flowchart showing the flow of calibration processing executed by the information processing apparatus according to the second embodiment. FIG. 14 is a flowchart showing a parameter calculation processing flow executed in the calibration processing executed by the information processing apparatus according to the second embodiment.
(全体的な流れ:図13)
まず、キャリブレーション処理の全体的な流れについて説明する。なお、ここで説明するキャリブレーション処理は、主に情報処理装置300により実行される。
(Overall flow: Fig. 13)
First, the overall flow of the calibration process will be described. Note that the calibration process described here is mainly executed by the
(S101)情報処理装置300は、制御装置200を介して現実装置100の状態を制御する。例えば、情報処理装置300は、制御パラメータを変更するように制御装置200に指示する。指示を受けた制御装置200は、制御パラメータを変更して現実装置100のロボット104やカメラ101を制御する。なお、キャリブレーション処理の際に制御装置200が変更する制御パラメータの値は、設定した範囲でランダムに決定されてもよいし、予め設定したパターンに従って順次設定されてもよい。
(S101) The
(S102)情報処理装置300は、シミュレータ303の機能により、仮想装置304の状態を現実装置100の状態に同期させる。例えば、シミュレータ303は、現実装置100に送信された制御パラメータ又は現実装置100から取得した制御パラメータに従って仮想装置304を制御する。なお、仮想装置304の同期制御に利用した制御パラメータは記憶部302に格納される。
(S102) The
(S103)情報処理装置300は、画像取得部301の機能により、制御装置200を介して現実装置100の撮像画像を取得する。なお、画像取得部301が取得した現実装置100の撮像画像は特徴点位置設定部305に入力される。
(S103) The
(S104)情報処理装置300は、シミュレータ303の機能により、仮想装置304の撮像画像を取得する。例えば、シミュレータ303は、仮想装置304の環境下で光学シミュレーションを実行してワーク上に照明が映り込む範囲を計算し、照明の映り込みを反映した撮像画像を生成する。なお、仮想装置304の撮像画像は特徴点位置設定部305に入力される。また、シミュレータ303により利用された制御パラメータは3次元座標計算部306に入力される。
(S104) The
(S105)情報処理装置300は、設定した数の撮像画像を取得したか否かを判定する。つまり、情報処理装置300は、現実装置100の撮像画像及び仮想装置304の撮像画像の組数が設定した閾値を超えたか否かを判定する。なお、閾値は後述する最小二乗法による現実装置100の制御パラメータを安定して推定可能な数に設定される。撮像画像の組数が閾値を超えた場合、処理はS106に進む。一方、撮像画像の組数が閾値を超えていない場合、処理はS101に戻る。
(S105) The
(S106)情報処理装置300は、特徴点位置設定部305の機能により、仮想装置304の撮像画像上で第1特徴点を設定する。例えば、特徴点位置設定部305は、オペレータが仮想装置304の撮像画像上で指定した点を第1特徴点に設定する。なお、特徴点位置設定部305は、仮想装置304の撮像画像に対してエッジ検出の処理を実行し、検出したエッジ位置を第1特徴点に設定してもよい。
(S106) The
(S107)情報処理装置300は、特徴点位置設定部305の機能により、現実装置100の撮像画像上で第1特徴点に対応する第2特徴点を設定する。例えば、特徴点位置設定部305は、オペレータが現実装置100の撮像画像上で指定した点を第2特徴点に設定する。なお、特徴点位置設定部305は、現実装置100の撮像画像に対してエッジ検出の処理を実行し、検出したエッジ位置から第1特徴点に対応する点を検出して第2特徴点に設定してもよい。
(S107) The
(S108)情報処理装置300は、特徴点位置設定部305、3次元座標計算部306、差分計算部307、及びパラメータ計算部308の機能により、現実装置100と仮想装置304との間における制御パラメータの誤差を計算する。なお、S108の処理については後段において詳述する。
(S108) The
(S109)S108の処理で計算された制御パラメータの誤差は、シミュレータ303に入力される。シミュレータ303は、入力された制御パラメータの誤差を仮想装置304の制御パラメータに適用する。そして、シミュレータ303は、設定した制御パラメータに基づいて仮想装置304を運用する。
(S109) The control parameter error calculated in S108 is input to the
例えば、シミュレータ303は、現実装置100から取得した制御パラメータA,B,Cに誤差dA,dB,dCを適用し、制御パラメータA+dA,B+dB,C+dCに基づいて仮想装置304を生成する。そして、シミュレータ303は、生成した仮想装置304の環境下でシミュレーションを実行し、シミュレーション結果を現実装置100側へとフィードバックする。例えば、制御パラメータA+dA,B+dB,C+dCに基づく仮想装置304内での検査範囲を示す情報が制御装置200に提供される。
For example, the
S109の処理が完了すると、図13に示した一連の処理は終了する。
(パラメータ計算の流れ:図14)
次に、S108の処理について、さらに説明する。ここで説明する処理は、主に特徴点位置設定部305、3次元座標計算部306、差分計算部307、及びパラメータ計算部308により実行される。
When the process of S109 is completed, the series of processes illustrated in FIG.
(Parameter calculation flow: Fig. 14)
Next, the process of S108 will be further described. The process described here is mainly executed by the feature point
(S111)特徴点位置設定部305は、設定した第1特徴点の2次元座標xvを取得する。特徴点位置設定部305により設定された第1特徴点の2次元座標xvは、3次元座標計算部306及び差分計算部307に入力される。3次元座標計算部306に入力された第1特徴点の2次元座標xvは仮想空間内の3次元座標Qに変換され、パラメータ計算部308に入力される。
(S111) The feature point
(S112、S113、S114)パラメータ計算部308は、仮想装置304の撮像画像が取得された際のカメラパラメータAを取得する。また、パラメータ計算部308は、仮想装置304の撮像画像が取得された際のロボットパラメータBを取得する。さらに、パラメータ計算部308は、仮想装置304の撮像画像が取得された際の仮想装置304におけるカメラ・ロボット間の相対位置に関するパラメータCを取得する。
(S112, S113, S114) The
(S115)特徴点位置設定部305は、設定した第2特徴点の2次元座標xrを取得する。特徴点位置設定部305により設定された第2特徴点の2次元座標xrは、差分計算部307に入力される。
(S115) The feature point
第1特徴点の2次元座標xv及び第2特徴点の2次元座標xrが入力された差分計算部307は、2次元座標xv、xrの差分dxを計算する。差分計算部307により計算された差分dxは、パラメータ計算部308に入力される。なお、第2特徴点の2次元座標xrを計算する処理は、S111〜S114の処理と順序を入れ替えることも可能である。
The
(S116)パラメータ計算部308は、現実装置100及び仮想装置304の状態を変更しながら撮像された複数の撮像画像の組について、制御パラメータA,B,C、3次元座標Q、及び差分dxを準備する。次いで、パラメータ計算部308は、上記の式(2)に制御パラメータA,B,C、3次元座標Q、及び差分dxを代入し、制御パラメータの誤差dA,dB,dCに関する関係式を生成する。次いで、パラメータ計算部308は、複数の撮像画像の組について生成された複数の関係式を用いて最小二乗法により制御パラメータの誤差dA,dB,dCを計算する。S116の処理が完了すると、図14に示した一連の処理は終了する。
(S116) The
以上、第2実施形態に係るキャリブレーション処理の流れについて説明した。
[2−7.変形例:撮像画像毎に複数の特徴点を指定する場合]
次に、図15及び図16を参照しながら、第2実施形態の一変形例について説明する。図15は、第2実施形態の一変形例に係る特徴点の指定方法及びキャリブレーションに利用されるパラメータの例について説明するための図である。図16は、第2実施形態の一変形例に係る情報処理装置が実行するキャリブレーション処理の中で実行されるパラメータ計算の処理フローを示したフロー図である。
The flow of the calibration process according to the second embodiment has been described above.
[2-7. Modification: When specifying multiple feature points for each captured image]
Next, a modification of the second embodiment will be described with reference to FIGS. 15 and 16. FIG. 15 is a diagram for explaining an example of a feature point designation method and parameters used for calibration according to a modification of the second embodiment. FIG. 16 is a flowchart illustrating a parameter calculation processing flow executed in the calibration processing executed by the information processing apparatus according to the modification of the second embodiment.
(特徴点の指定方法:図15)
これまで、1枚の撮像画像について1つの特徴点を指定する場合を例に説明を進めてきた。しかし、1枚の撮像画像について複数の特徴点を指定することも可能である。例えば、図15に示すように、仮想装置304の撮像画像から3つの第1特徴点p11、p12、p13を指定することが可能である。この場合、現実装置100の撮像画像から3つの第1特徴点p11、p12、p13にそれぞれ対応する3つの第2特徴点p21、p22、p23が指定される。
(Feature point designation method: Fig. 15)
Until now, the description has been made by taking as an example the case of specifying one feature point for one captured image. However, it is also possible to specify a plurality of feature points for one captured image. For example, as shown in FIG. 15, three first feature points p 11 , p 12 , and p 13 can be designated from the captured image of the
図15に示すように、第1特徴点が指定されると、第1特徴点の位置を示す撮像画像上の2次元座標xvが得られる。また、撮像画像を取得した際の仮想装置304における制御パラメータA,B,Cが得られる。制御パラメータAがカメラパラメータ、制御パラメータBがロボットパラメータ、制御パラメータCがカメラ・ロボット間の相対位置に関するパラメータである。
As shown in FIG. 15, when the first feature is specified, two-dimensional coordinates x v on the captured image showing the position of the first feature points are obtained. Further, control parameters A, B, and C in the
さらに、3次元CADデータ及び制御パラメータA,B,Cから2次元座標xvに対応する3次元座標Qが得られる。一方、第2特徴点が指定されると、第2特徴点の位置を示す撮像画像上の2次元座標xrが得られる。 Further, a three-dimensional coordinate Q corresponding to the two-dimensional coordinate x v is obtained from the three-dimensional CAD data and the control parameters A, B, and C. On the other hand, when the second feature point is designated, a two-dimensional coordinate x r on the captured image indicating the position of the second feature point is obtained.
但し、現実装置100と仮想装置304との間における制御パラメータの誤差dA,dB,dCは未知である。そのため、情報処理装置300は、上記の式(1)で表現されるモデル(及び上記の式(2))を利用し、最小二乗法を利用して制御パラメータの誤差dA,dB,dCを推定する。推定した制御パラメータの誤差dA,dB,dCは、仮想装置304の制御パラメータA,B,Cに適用される。つまり、1枚の撮像画像について1つの特徴点を指定する場合と同様に、撮像画像の違いから制御パラメータの誤差dA,dB,dCが推定され、推定された制御パラメータの誤差dA,dB,dCを用いて仮想装置304の制御パラメータが調整される。
However, the control parameter errors dA, dB, and dC between the
上記のキャリブレーション処理では、システムの運用に利用する撮像画像を利用して制御パラメータの調整が実現されるため、キャリブレーション用設備の追加が生じない。また、撮像画像上の2次元的な情報を比較して誤差を検出しているため、ステレオ画像上の3次元的な情報を比較して誤差を検出するような方法に比べると処理負荷が低い。従って、簡易にキャリブレーションを実現することが可能になる。 In the above calibration processing, adjustment of control parameters is realized by using a captured image used for system operation, so that no additional calibration equipment is generated. Further, since the error is detected by comparing the two-dimensional information on the captured image, the processing load is lower than the method of detecting the error by comparing the three-dimensional information on the stereo image. . Therefore, calibration can be realized easily.
さらに、1枚の撮像画像上に複数の特徴点を指定しているため、少ない枚数の撮像画像で制御パラメータの誤差dA,dB,dCを推定することができる。つまり、この変形例を適用することで、現実装置100及び仮想装置304の制御や撮像などにかかる負荷と時間をより低減することが可能になる。
Furthermore, since a plurality of feature points are designated on one captured image, the control parameter errors dA, dB, and dC can be estimated with a small number of captured images. In other words, by applying this modification, it is possible to further reduce the load and time required for the control and imaging of the
(パラメータ計算の流れ:図16)
この変形例に係るパラメータ計算の処理フローについて説明する。この処理は、上述したS108の処理に対応する。また、ここで説明する処理は、主に特徴点位置設定部305、3次元座標計算部306、差分計算部307、及びパラメータ計算部308により実行される。
(Parameter calculation flow: Fig. 16)
A processing flow of parameter calculation according to this modification will be described. This process corresponds to the process of S108 described above. The processing described here is mainly executed by the feature point
(S121)特徴点位置設定部305は、過去に実行した制御パラメータの誤差dA,dB,dCの計算に対する寄与度が低かった第1特徴点の情報を記憶部302から読み出し、読み出した第1特徴点を今回実行する計算の対象から除外する。もちろん、特徴点位置設定部305は、除外した第1特徴点に対応する第2特徴点も計算対象から除外する。なお、寄与率の計算については後述する。
(S121) The feature point
(S122)特徴点位置設定部305は、設定した第1特徴点の2次元座標xvを取得する。特徴点位置設定部305により設定された第1特徴点の2次元座標xvは、3次元座標計算部306及び差分計算部307に入力される。3次元座標計算部306に入力された第1特徴点の2次元座標xvは仮想空間内の3次元座標Qに変換され、パラメータ計算部308に入力される。
(S122) The feature point
(S123、S124、S125)パラメータ計算部308は、仮想装置304の撮像画像が取得された際のカメラパラメータAを取得する。また、パラメータ計算部308は、仮想装置304の撮像画像が取得された際のロボットパラメータBを取得する。さらに、パラメータ計算部308は、仮想装置304の撮像画像が取得された際の仮想装置304におけるカメラ・ロボット間の相対位置に関するパラメータCを取得する。
(S123, S124, S125) The
(S126)特徴点位置設定部305は、設定した第2特徴点の2次元座標xrを取得する。特徴点位置設定部305により設定された第2特徴点の2次元座標xrは、差分計算部307に入力される。
(S126) the feature point
第1特徴点の2次元座標xv及び第2特徴点の2次元座標xrが入力された差分計算部307は、2次元座標xv、xrの差分dxを計算する。差分計算部307により計算された差分dxは、パラメータ計算部308に入力される。なお、第2特徴点の2次元座標xrを計算する処理は、S122〜S125の処理と順序を入れ替えることも可能である。
The
(S127)パラメータ計算部308は、現実装置100及び仮想装置304の状態を変更しながら撮像された複数の撮像画像の組について、制御パラメータA,B,C、3次元座標Q、及び差分dxを準備する。次いで、パラメータ計算部308は、上記の式(2)に制御パラメータA,B,C、3次元座標Q、及び差分dxを代入し、制御パラメータの誤差dA,dB,dCに関する関係式を生成する。次いで、パラメータ計算部308は、複数の撮像画像の組について生成された複数の関係式を用いて最小二乗法により制御パラメータの誤差dA,dB,dCを計算する。
(S127) The
(S128)パラメータ計算部308は、最小二乗法による誤差dA,dB,dCの計算時における安定性の影響を示す安定性指標を計算する。例えば、パラメータ計算部308は、最小二乗法による誤差dA,dB,dCの計算時に用いた行列(上記関係式の係数行列に対応)を特異値分解し、最小特異値と最大特異値との比率を安定性指標とする。
(S128) The
パラメータ計算部308は、計算した安定性指標をオペレータに通知する。例えば、パラメータ計算部308は、安定性指標を表示装置350に表示する。
(S129)パラメータ計算部308は、誤差dA,dB,dCの計算に対する寄与率を特徴点毎に計算する。この寄与率は決定係数と呼ばれることもある。例えば、残差の平方和を偏差の全平方和で割った値を1から引いたものが寄与率と呼ばれる。パラメータ計算部308は、設定した閾値よりも寄与率が低い第1特徴点及び第2特徴点の組を抽出し、抽出した第1特徴点及び第2特徴点の情報を記憶部302に格納する。S129の処理が完了すると、図16に示した一連の処理は終了する。
The
(S129) The
以上、第2実施形態について説明した。
なお、上記説明において、検査に利用するソースの種類を光(照明)とし、光学シミュレーションを実行する場合を例に述べたが、検査に利用するソースの種類が変わっても第2実施形態に係る技術を同様に適用可能である。
The second embodiment has been described above.
In the above description, the case where the type of source used for inspection is assumed to be light (illumination) and optical simulation is executed has been described as an example. However, even if the type of source used for inspection changes, the second embodiment is concerned. The technology is applicable as well.
例えば、ソースを音にする場合、現実装置に音源及びマイクを設置し、音響シミュレーションを利用することで上述した技術を適用可能である。ソースを電磁場にする場合、現実装置に電磁場発生源及び電磁場センサを設置し、電磁場解析シミュレーションを利用することで上述した技術を適用可能である。 For example, when the source is a sound, the technology described above can be applied by installing a sound source and a microphone in a real device and using acoustic simulation. When the source is an electromagnetic field, the above-described technique can be applied by installing an electromagnetic field generation source and an electromagnetic field sensor in a real device and using electromagnetic field analysis simulation.
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。 As mentioned above, although preferred embodiment was described referring an accompanying drawing, this invention is not limited to the example which concerns. It is obvious for a person skilled in the art that various variations and modifications can be conceived within the scope of the claims, and such variations and modifications are naturally understood by the technical scope of the present invention. It goes without saying that it belongs to a range.
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 対象物と、前記対象物が設置されるロボットと、前記対象物及び前記ロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶する記憶部と、
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する演算部と、
を有する、情報処理装置。
<3. Addendum>
The following additional notes are disclosed with respect to the embodiment described above.
(Additional remark 1) The memory | storage part which memorize | stores the three-dimensional information of the real apparatus containing a target object, the robot in which the said target object is installed, and the camera which images at least one part of the said target object and the said robot,
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device And a calculation unit that adjusts control parameters of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image;
An information processing apparatus.
(付記2) 前記記憶部は、前記第1画像内の2次元座標と、前記2次元座標に対応する前記仮想空間内の3次元座標と、前記仮想装置の制御パラメータとの関係を示すモデル情報を記憶しており、
前記演算部は、複数の前記第1画像及び前記第2画像の組について、前記第1画像内で設定された第1特徴点の2次元座標と、前記第1特徴点に対応する前記仮想空間内の3次元座標と、前記第1特徴点に対応する前記第2画像内にある第2特徴点の2次元座標と、前記第1画像の撮像時における前記仮想装置の制御パラメータとを取得し、前記モデル情報に基づいて前記現実装置の制御パラメータと前記仮想装置の制御パラメータとの間の誤差を計算する
付記1に記載の情報処理装置。
(Additional remark 2) The said memory | storage part is model information which shows the relationship between the two-dimensional coordinate in the said 1st image, the three-dimensional coordinate in the said virtual space corresponding to the said two-dimensional coordinate, and the control parameter of the said virtual apparatus. Remember
The computing unit includes two-dimensional coordinates of a first feature point set in the first image and a virtual space corresponding to the first feature point for a plurality of sets of the first image and the second image. 3D coordinates, 2D coordinates of the second feature point in the second image corresponding to the first feature point, and control parameters of the virtual device at the time of imaging the first image are acquired. The information processing device according to claim 1, wherein an error between the control parameter of the real device and the control parameter of the virtual device is calculated based on the model information.
(付記3) 前記演算部は、前記3次元情報を利用して前記対象物又は前記ロボットの角部を抽出し、抽出した前記角部に対応する前記第1画像内の2次元座標を前記第1特徴点の2次元座標に設定する
付記2に記載の情報処理装置。
(Additional remark 3) The said calculating part extracts the corner | angular part of the said target object or the said robot using the said three-dimensional information, and sets the two-dimensional coordinate in the said 1st image corresponding to the extracted said corner | angular part to the said 1st. The information processing apparatus according to attachment 2, wherein the information processing apparatus sets the two-dimensional coordinates of one feature point.
(付記4) 前記第1特徴点の2次元座標は、1枚の前記第1画像について複数設定される
付記2又は3に記載の情報処理装置。
(Supplementary Note 4) The information processing apparatus according to Supplementary Note 2 or 3, wherein a plurality of two-dimensional coordinates of the first feature point are set for one first image.
(付記5) 前記演算部は、前記誤差を計算する際に、前記第1特徴点の2次元座標のそれぞれについて計算結果への寄与度を計算し、設定した閾値よりも前記寄与度が小さい前記第1特徴点の情報を前記記憶部に記憶させ、後に前記誤差を計算する際には前記寄与度が小さい前記第1特徴点の2次元座標の利用を除外する
付記4に記載の情報処理装置。
(Additional remark 5) When calculating the said error, the said calculation part calculates the contribution to a calculation result about each of the two-dimensional coordinate of the said 1st feature point, and the said contribution is smaller than the set threshold value The information processing apparatus according to claim 4, wherein information of the first feature point is stored in the storage unit, and the use of the two-dimensional coordinates of the first feature point having a small contribution is excluded when the error is calculated later. .
(付記6) 対象物と、前記対象物が設置されるロボットと、前記対象物及び前記ロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶するメモリを有するコンピュータが、
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する
制御方法。
(Additional remark 6) The computer which has a memory which memorize | stores the three-dimensional information of the real apparatus containing a target object, the robot in which the said target object is installed, and the camera which images at least one part of the said target object and the said robot,
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device A control method of adjusting the control parameter of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image.
(付記7) 前記メモリは、前記第1画像内の2次元座標と、前記2次元座標に対応する前記仮想空間内の3次元座標と、前記仮想装置の制御パラメータとの関係を示すモデル情報を記憶しており、
前記コンピュータのプロセッサが、複数の前記第1画像及び前記第2画像の組について、前記第1画像内で設定された第1特徴点の2次元座標と、前記第1特徴点に対応する前記仮想空間内の3次元座標と、前記第1特徴点に対応する前記第2画像内にある第2特徴点の2次元座標と、前記第1画像の撮像時における前記仮想装置の制御パラメータとを取得し、前記モデル情報に基づいて前記現実装置の制御パラメータと前記仮想装置の制御パラメータとの間の誤差を計算する
付記6に記載の制御方法。
(Supplementary Note 7) The memory stores model information indicating a relationship between two-dimensional coordinates in the first image, three-dimensional coordinates in the virtual space corresponding to the two-dimensional coordinates, and control parameters of the virtual device. Remember,
The processor of the computer, for a plurality of sets of the first image and the second image, two-dimensional coordinates of a first feature point set in the first image and the virtual corresponding to the first feature point Acquire three-dimensional coordinates in space, two-dimensional coordinates of second feature points in the second image corresponding to the first feature points, and control parameters of the virtual device at the time of imaging the first image The control method according to claim 6, wherein an error between the control parameter of the real device and the control parameter of the virtual device is calculated based on the model information.
(付記8) 前記プロセッサが、前記3次元情報を利用して前記対象物又は前記ロボットの角部を抽出し、抽出した前記角部に対応する前記第1画像内の2次元座標を前記第1特徴点の2次元座標に設定する
付記7に記載の制御方法。
(Additional remark 8) The said processor extracts the corner | angular part of the said target object or the said robot using the said three-dimensional information, The two-dimensional coordinate in the said 1st image corresponding to the extracted said corner | angular part is said 1st. The control method according to attachment 7, wherein the two-dimensional coordinates of the feature points are set.
(付記9) 前記第1特徴点の2次元座標は、1枚の前記第1画像について複数設定される
付記7又は8に記載の制御方法。
(Supplementary note 9) The control method according to supplementary note 7 or 8, wherein a plurality of two-dimensional coordinates of the first feature point are set for one first image.
(付記10) 前記プロセッサが、前記誤差を計算する際に、前記第1特徴点の2次元座標のそれぞれについて計算結果への寄与度を計算し、設定した閾値よりも前記寄与度が小さい前記第1特徴点の情報を前記メモリに記憶させ、後に前記誤差を計算する際には前記寄与度が小さい前記第1特徴点の2次元座標を利用しない
付記9に記載の制御方法。
(Supplementary Note 10) When the processor calculates the error, the processor calculates a contribution to the calculation result for each of the two-dimensional coordinates of the first feature point, and the contribution is smaller than a set threshold value. The control method according to claim 9, wherein information of one feature point is stored in the memory, and when the error is calculated later, the two-dimensional coordinates of the first feature point having a small contribution are not used.
(付記11) 対象物と、前記対象物が設置されるロボットと、前記対象物及び前記ロボットの少なくとも一部を撮像するカメラとを含む現実装置の3次元情報を記憶するメモリを有するコンピュータに、
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する処理を実行させる
プログラム。
(Additional remark 11) The computer which has a memory which memorize | stores the three-dimensional information of the real apparatus containing the target object, the robot in which the said target object is installed, and the camera which images at least one part of the said target object and the said robot,
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device And executing a process of adjusting a control parameter of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image.
10 現実装置
20 情報処理装置
21 記憶部
22 演算部
23 仮想装置
24 カメラ
25 ロボット
OBJ 対象物
A、B 制御パラメータ
dA、dB 誤差
P1 第1画像
P2 第2画像
DESCRIPTION OF
Claims (7)
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する演算部と、
を有する、情報処理装置。 A storage unit for storing three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot;
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device And a calculation unit that adjusts control parameters of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image;
An information processing apparatus.
前記演算部は、複数の前記第1画像及び前記第2画像の組について、前記第1画像内で設定された第1特徴点の2次元座標と、前記第1特徴点に対応する前記仮想空間内の3次元座標と、前記第1特徴点に対応する前記第2画像内にある第2特徴点の2次元座標と、前記第1画像の撮像時における前記仮想装置の制御パラメータとを取得し、前記モデル情報に基づいて前記現実装置の制御パラメータと前記仮想装置の制御パラメータとの間の誤差を計算する
請求項1に記載の情報処理装置。 The storage unit stores model information indicating a relationship between two-dimensional coordinates in the first image, three-dimensional coordinates in the virtual space corresponding to the two-dimensional coordinates, and control parameters of the virtual device. And
The computing unit includes two-dimensional coordinates of a first feature point set in the first image and a virtual space corresponding to the first feature point for a plurality of sets of the first image and the second image. 3D coordinates, 2D coordinates of the second feature point in the second image corresponding to the first feature point, and control parameters of the virtual device at the time of imaging the first image are acquired. The information processing apparatus according to claim 1, wherein an error between a control parameter of the real device and a control parameter of the virtual device is calculated based on the model information.
請求項2に記載の情報処理装置。 The calculation unit extracts a corner of the object or the robot using the three-dimensional information, and calculates a two-dimensional coordinate in the first image corresponding to the extracted corner of the first feature point. The information processing apparatus according to claim 2, wherein the information processing apparatus is set to a two-dimensional coordinate.
請求項2又は3に記載の情報処理装置。 The information processing apparatus according to claim 2, wherein a plurality of two-dimensional coordinates of the first feature point are set for one first image.
請求項4に記載の情報処理装置。 The calculation unit calculates a contribution to the calculation result for each of the two-dimensional coordinates of the first feature point when calculating the error, and the first feature point has a smaller contribution than a set threshold. The information processing apparatus according to claim 4, wherein the information is stored in the storage unit, and when the error is calculated later, use of the two-dimensional coordinates of the first feature point having a small contribution is excluded.
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する
制御方法。 A computer having a memory for storing three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot,
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device A control method of adjusting the control parameter of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image.
前記3次元情報に基づいて前記現実装置を仮想空間内に再現した仮想装置を生成し、前記現実装置の動作に前記仮想装置の動作を同期させ、前記仮想装置のカメラで撮像される第1画像を生成し、前記現実装置で撮像された第2画像と、前記第2画像に対応する前記第1画像との差に基づいて前記仮想装置の制御パラメータを調整する処理を実行させる
プログラム。 A computer having a memory for storing three-dimensional information of a real device including an object, a robot on which the object is installed, and a camera that images at least a part of the object and the robot;
A virtual device that reproduces the real device in a virtual space based on the three-dimensional information is generated, the operation of the virtual device is synchronized with the operation of the real device, and the first image captured by the camera of the virtual device And executing a process of adjusting a control parameter of the virtual device based on a difference between the second image captured by the real device and the first image corresponding to the second image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013156386A JP6163942B2 (en) | 2013-07-29 | 2013-07-29 | Information processing apparatus, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013156386A JP6163942B2 (en) | 2013-07-29 | 2013-07-29 | Information processing apparatus, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015024480A true JP2015024480A (en) | 2015-02-05 |
JP6163942B2 JP6163942B2 (en) | 2017-07-19 |
Family
ID=52489573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013156386A Expired - Fee Related JP6163942B2 (en) | 2013-07-29 | 2013-07-29 | Information processing apparatus, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6163942B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017109918A1 (en) * | 2015-12-24 | 2017-06-29 | 富士通株式会社 | Image processing device, image processing method, and image processing program |
JP2018077168A (en) * | 2016-11-10 | 2018-05-17 | 富士通株式会社 | Simulator, simulation method and simulation program |
EP3753685A1 (en) * | 2019-06-20 | 2020-12-23 | Omron Corporation | Control system and control method |
EP3848165A1 (en) | 2020-01-10 | 2021-07-14 | Mitsubishi Heavy Industries, Ltd. | Path generating device, control device, inspection system, path generating method, and program |
WO2021200438A1 (en) * | 2020-03-31 | 2021-10-07 | ミネベアミツミ株式会社 | Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10369698B1 (en) * | 2019-03-07 | 2019-08-06 | Mujin, Inc. | Method and system for performing automatic camera calibration for robot control |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06134691A (en) * | 1992-10-23 | 1994-05-17 | Hitachi Ltd | Positional detection and flexible production system using the same |
JPH11239989A (en) * | 1998-02-25 | 1999-09-07 | Fujitsu Ltd | Calibration device in robot simulation |
JP2003150219A (en) * | 2001-11-12 | 2003-05-23 | Fanuc Ltd | Simulation device for work machine |
JP2006110705A (en) * | 2004-09-15 | 2006-04-27 | Yaskawa Electric Corp | Calibration method of robot |
-
2013
- 2013-07-29 JP JP2013156386A patent/JP6163942B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06134691A (en) * | 1992-10-23 | 1994-05-17 | Hitachi Ltd | Positional detection and flexible production system using the same |
JPH11239989A (en) * | 1998-02-25 | 1999-09-07 | Fujitsu Ltd | Calibration device in robot simulation |
JP2003150219A (en) * | 2001-11-12 | 2003-05-23 | Fanuc Ltd | Simulation device for work machine |
JP2006110705A (en) * | 2004-09-15 | 2006-04-27 | Yaskawa Electric Corp | Calibration method of robot |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017109918A1 (en) * | 2015-12-24 | 2017-06-29 | 富士通株式会社 | Image processing device, image processing method, and image processing program |
JPWO2017109918A1 (en) * | 2015-12-24 | 2018-09-20 | 富士通株式会社 | Image processing apparatus, image processing method, and image processing program |
JP2018077168A (en) * | 2016-11-10 | 2018-05-17 | 富士通株式会社 | Simulator, simulation method and simulation program |
EP3753685A1 (en) * | 2019-06-20 | 2020-12-23 | Omron Corporation | Control system and control method |
JP2021000678A (en) * | 2019-06-20 | 2021-01-07 | オムロン株式会社 | Control system and control method |
US11498220B2 (en) | 2019-06-20 | 2022-11-15 | Omron Corporation | Control system and control method |
JP7326911B2 (en) | 2019-06-20 | 2023-08-16 | オムロン株式会社 | Control system and control method |
EP3848165A1 (en) | 2020-01-10 | 2021-07-14 | Mitsubishi Heavy Industries, Ltd. | Path generating device, control device, inspection system, path generating method, and program |
JP7441047B2 (en) | 2020-01-10 | 2024-02-29 | 三菱重工業株式会社 | Route generation device, control device, inspection system, route generation method and program |
WO2021200438A1 (en) * | 2020-03-31 | 2021-10-07 | ミネベアミツミ株式会社 | Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device |
JP7423387B2 (en) | 2020-03-31 | 2024-01-29 | ミネベアミツミ株式会社 | Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device |
Also Published As
Publication number | Publication date |
---|---|
JP6163942B2 (en) | 2017-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6163942B2 (en) | Information processing apparatus, control method, and program | |
US10984554B2 (en) | Monocular vision tracking method, apparatus and non-volatile computer-readable storage medium | |
WO2022120567A1 (en) | Automatic calibration system based on visual guidance | |
CN108451536B (en) | Method for automatically positioning an X-ray source of an X-ray system and X-ray system | |
CN107367229B (en) | Free binocular stereo vision rotating shaft parameter calibration method | |
JP2020095009A (en) | Measurement inspection system for iron reinforcing bar by computer | |
KR20200093464A (en) | System and method for automatic hand-eye calibration of vision system for robot motion | |
JP6636252B2 (en) | Projection system, projector device, imaging device, and program | |
JP2015090560A (en) | Image processing apparatus, and image processing method | |
JP2019115974A (en) | Calibration and operation of vision-based manipulation systems | |
US7711507B2 (en) | Method and device for determining the relative position of a first object with respect to a second object, corresponding computer program and a computer-readable storage medium | |
JP7145432B2 (en) | Projection system, image processing device and projection method | |
JP6115639B2 (en) | Information processing apparatus, inspection range calculation method, and program | |
JP2023546739A (en) | Methods, apparatus, and systems for generating three-dimensional models of scenes | |
WO2016149189A1 (en) | Method and device for displaying a two-dimensional image of a viewed object simultaneously with an image depicting the three-dimensional geometry of the viewed object | |
Kahn | Reducing the gap between Augmented Reality and 3D modeling with real-time depth imaging | |
EP3606061B1 (en) | Projection device, projection system and an image calibration method | |
Niu et al. | A stereoscopic eye-in-hand vision system for remote handling in ITER | |
WO2002044650A2 (en) | Method and apparatus for simulating the measurement of a part without using a physical measurement system | |
JP2015206654A (en) | Information processing apparatus, information processing method, and program | |
JP5441752B2 (en) | Method and apparatus for estimating a 3D pose of a 3D object in an environment | |
Ribeiro et al. | Photogrammetric Multi-Camera Calibration Using An Industrial Programmable Robotic Arm | |
Zhou et al. | Calibration of RGB-D camera using depth correction model | |
US11924561B2 (en) | Determining a camera control point for virtual production | |
CN112348878B (en) | Positioning test method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6163942 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |