JP2025145430A - Self-position estimation device, self-position estimation method, and camera relative position adjustment method - Google Patents
Self-position estimation device, self-position estimation method, and camera relative position adjustment methodInfo
- Publication number
- JP2025145430A JP2025145430A JP2024045606A JP2024045606A JP2025145430A JP 2025145430 A JP2025145430 A JP 2025145430A JP 2024045606 A JP2024045606 A JP 2024045606A JP 2024045606 A JP2024045606 A JP 2024045606A JP 2025145430 A JP2025145430 A JP 2025145430A
- Authority
- JP
- Japan
- Prior art keywords
- self
- probe head
- camera
- target
- cameras
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
本発明は、プローブヘッドの自己位置を推定可能な自己位置推定装置及び自己位置推定方法並びにカメラ相対位置調整方法に関する。 The present invention relates to a self-position estimation device and method capable of estimating the self-position of a probe head, as well as a camera relative position adjustment method.
従来より、ポータブル型の三次元座標測定機(CMM:Coordinate Measuring Machine)をロボットに持たせて、大物ワークの測定を自動で行うことが行われている。数十μm程度の精度要求に対しては、ポータブル型の三次元座標測定機にて要求を満足しつつあるが、十μm以下の高精度要求においてはブリッジ型の三次元座標測定機で対応しているのが現状である。 Traditionally, portable three-dimensional coordinate measuring machines (CMMs) have been mounted on robots to automatically measure large workpieces. Portable CMMs are beginning to meet requirements for accuracy of several tens of microns, but currently bridge-type CMMs are used for high-precision requirements of 10 microns or less.
また、数十μm程度の精度を実現するための技術として、レーザトラッカやマーカを利用した測定方法が知られている(例えば、特許文献1参照)。これらは、ベースステーションに仰角と方位角の首振り機能を備えており、さらに距離センサ又はカメラを備えて測定ヘッドの距離や姿勢を計算する。この測定方法によれば、首振り機構の可動範囲や距離センサの測長範囲が長いため、広範囲での測定が可能となる。 Measuring methods using laser trackers and markers are also known as technologies for achieving accuracy of several tens of microns (see, for example, Patent Document 1). These methods are equipped with a base station that can swivel to adjust elevation and azimuth angles, and are also equipped with a distance sensor or camera to calculate the distance and attitude of the measuring head. With this measurement method, the movable range of the swivel mechanism and the measurement range of the distance sensor are long, making it possible to measure over a wide range.
しかしながら、レーザトラッカやマーカなどを利用した測定方法では、主に首振り機構の角度精度の限界により、ベースステーションと測定ヘッドの距離が大きくなるに従い測定精度が悪化する傾向になる。 However, with measurement methods using laser trackers or markers, measurement accuracy tends to deteriorate as the distance between the base station and the measurement head increases, mainly due to limitations in the angular accuracy of the oscillating mechanism.
一方、三次元空間上の位置が既知のターゲットをカメラで撮影した画像からカメラの自己位置(位置及び姿勢)を検出する方法が知られている(例えば、特許文献2参照)。この方法によれば、各ターゲットの三次元空間上の位置と、撮影された画像上の各ターゲットの位置とを関連付けて計算を行うことにより、比較的単純な機構で高精度(5μm以下)を得やすいメリットがある。 Meanwhile, there is a known method for detecting a camera's own position (position and orientation) from an image captured by the camera of a target whose position in three-dimensional space is known (see, for example, Patent Document 2). This method has the advantage of easily achieving high accuracy (5 μm or less) with a relatively simple mechanism by performing calculations that correlate the position of each target in three-dimensional space with the position of each target in the captured image.
ところで、カメラを用いてターゲットを撮影した画像から自己位置を検出する方法においては、以下に説明するように、カメラにより撮影された画像上のターゲットの位置を示す座標(ターゲット座標)に誤差が存在すると、その誤差の影響により、カメラの主点(カメラ座標系の原点)にばらつきが生じ、自己位置の推定精度を招く要因となる。 However, in a method of detecting self-position from an image of a target captured using a camera, if there is an error in the coordinates (target coordinates) indicating the position of the target on the image captured by the camera, as explained below, the error will cause variation in the camera's principal point (the origin of the camera coordinate system), which will affect the accuracy of self-position estimation.
図9から図11は、三次元空間上のターゲット100がカメラの画像平面102に投影される様子を示した図である。図9は、画像平面102上のターゲット座標(画像平面102に投影されたターゲット104の位置を示す座標)に誤差がない場合を示している。図10は、画像平面102上のターゲット座標に誤差がある場合を示している。図11は、広角レンズを用いると画像平面102上のターゲット座標の誤差が低減される様子を示している。 Figures 9 to 11 show how a target 100 in three-dimensional space is projected onto the image plane 102 of the camera. Figure 9 shows a case where there is no error in the target coordinates on the image plane 102 (coordinates indicating the position of the target 104 projected onto the image plane 102). Figure 10 shows a case where there is an error in the target coordinates on the image plane 102. Figure 11 shows how using a wide-angle lens reduces the error in the target coordinates on the image plane 102.
上記方法では、三次元空間上のターゲット100の位置を示す座標(三次元座標)と、画像平面102上のターゲット座標との対応関係から、カメラ主点106を求めることができる。この場合、図9に示すように、画像平面102上のターゲット座標に誤差がない場合は、カメラ主点106の位置を示す三次元座標も誤差なく一点に定まる。 With the above method, the camera principal point 106 can be determined from the correspondence between the coordinates (three-dimensional coordinates) indicating the position of the target 100 in three-dimensional space and the target coordinates on the image plane 102. In this case, as shown in Figure 9, if there is no error in the target coordinates on the image plane 102, the three-dimensional coordinates indicating the position of the camera principal point 106 will also be determined to be a single point without error.
しかしながら、図10に示すように、画像平面102上のターゲット座標に誤差がある場合は、その誤差を取りうる範囲に応じて、上記対応関係から求められるカメラ主点106の位置がばらつくことになる。すなわち、画像平面102上のターゲット座標の誤差の影響により、カメラ主点106の位置は、図9においてハッチングで示した領域に示す主点誤差範囲108においてばらつくことになる。特にカメラの撮影方向(光軸方向)が顕著に影響を受ける。 However, as shown in Figure 10, if there is an error in the target coordinates on the image plane 102, the position of the camera principal point 106 calculated from the above correspondence will vary depending on the range of possible errors. In other words, due to the influence of errors in the target coordinates on the image plane 102, the position of the camera principal point 106 will vary within the principal point error range 108 shown in the hatched area in Figure 9. The camera's shooting direction (optical axis direction) is particularly affected.
一方、広角レンズを用いると、図11に示すように、ターゲット100間の距離をより離すことができる。その場合、画像平面102上のターゲット座標の誤差が図10と同程度であるとすると、カメラ主点106の取りうる範囲を小さくできる。つまり、主点誤差範囲108を図10に示した場合に比べて小さくできる。 On the other hand, using a wide-angle lens allows the targets 100 to be spaced farther apart, as shown in Figure 11. In this case, if the error in the target coordinates on the image plane 102 is the same as in Figure 10, the range of possible camera principal points 106 can be reduced. In other words, the principal point error range 108 can be made smaller than in the case shown in Figure 10.
このように上記方法においては、広角レンズを使用することで主点誤差範囲108が小さくなるため、自己位置の推定精度を高めることが可能である。 In this way, in the above method, the principal point error range 108 is reduced by using a wide-angle lens, making it possible to improve the accuracy of self-position estimation.
しかしながら、一般に広角レンズは収差(歪曲収差や倍率収差など)が大きく精度が得にくい。また、収差が良く補正されたサイズの大きな高額なレンズを使用する必要がある。そのため、広角レンズを使用することなく自己位置推定の精度を向上させることが要望されている。 However, wide-angle lenses generally have large aberrations (such as distortion and magnification aberration), making it difficult to achieve high accuracy. Furthermore, it is necessary to use large, expensive lenses with well-corrected aberrations. Therefore, there is a demand for improving the accuracy of self-location estimation without using wide-angle lenses.
本発明はこのような事情に鑑みてなされたもので、広角レンズを使用することなく自己位置推定の精度を向上させることが可能な自己位置推定装置及び自己位置推定方法並びにカメラ相対位置調整方法を提供することを目的とする。 The present invention was made in consideration of these circumstances, and aims to provide a self-position estimation device, a self-position estimation method, and a camera relative position adjustment method that can improve the accuracy of self-position estimation without using a wide-angle lens.
本発明は、上記目的を達成するために以下の態様からなる。 To achieve the above objective, the present invention comprises the following aspects.
第1態様に係る自己位置推定装置は、プローブヘッドに搭載され互いに異なる方向を撮影方向とする複数のカメラを用いて、それぞれターゲット群を撮影した複数の画像を取得する画像取得部と、複数の画像に基づき、プローブヘッドの位置及び姿勢を検出する自己位置推定部と、を備える。 The self-location estimation device according to the first aspect includes an image acquisition unit that acquires multiple images of a target group using multiple cameras mounted on a probe head with imaging directions different from each other, and a self-location estimation unit that detects the position and orientation of the probe head based on the multiple images.
第2態様に係る自己位置推定装置は、第1態様において、自己位置推定部は、複数の画像からターゲット群の各ターゲットの位置を示す特徴点を検出する特徴点検出部と、特徴点検出部で検出された各特徴点を用いて、ターゲット群における各ターゲットの再投影誤差が最小となるプローブヘッドの位置及び姿勢を最適化演算により求める最適化演算部と、を有する。 In the self-location estimation device according to the second aspect, in the first aspect, the self-location estimation unit includes a feature point detection unit that detects feature points indicating the position of each target in the target group from multiple images, and an optimization calculation unit that uses each feature point detected by the feature point detection unit to perform optimization calculations to determine the position and orientation of the probe head that minimizes the reprojection error of each target in the target group.
第3態様に係る自己位置推定装置は、第1態様又は第2態様において、複数のカメラの撮影方向は互いに直交している。 The self-localization estimation device according to the third aspect is the first or second aspect, in which the shooting directions of the multiple cameras are orthogonal to each other.
第4態様に係る自己位置推定装置は、第1態様から第3態様のいずれかにおいて、カメラの数は2つである。 The self-location estimation device according to the fourth aspect is any one of the first to third aspects, but has two cameras.
第5態様に係る自己位置推定方法は、プローブヘッドに搭載され互いに異なる方向を撮影方向とする複数のカメラを用いて、それぞれターゲット群を撮影した複数の画像を取得する画像取得ステップと、複数の画像に基づき、プローブヘッドの位置及び姿勢を検出する自己位置推定ステップと、を含む。 The self-location estimation method according to the fifth aspect includes an image acquisition step of acquiring multiple images of a target group using multiple cameras mounted on a probe head with imaging directions different from each other, and a self-location estimation step of detecting the position and orientation of the probe head based on the multiple images.
第6態様に係るカメラ相対位置調整方法は、プローブヘッドに搭載され互いに異なる方向を撮影方向とする複数のカメラを用いて、それぞれターゲット群を撮影した複数の画像を取得する画像取得ステップと、複数の画像に基づき、複数のカメラの相対位置を検出する相対位置検出ステップと、相対位置検出ステップで検出した相対位置に基づき、複数のカメラの位置及び姿勢を調整する調整ステップと、を含む。 The camera relative position adjustment method according to the sixth aspect includes an image acquisition step of acquiring multiple images of a target group using multiple cameras mounted on a probe head and with imaging directions different from each other, a relative position detection step of detecting the relative positions of the multiple cameras based on the multiple images, and an adjustment step of adjusting the positions and attitudes of the multiple cameras based on the relative positions detected in the relative position detection step.
本発明によれば、広角レンズを使用することなく自己位置推定の精度を向上させることが可能となる。 This invention makes it possible to improve the accuracy of self-position estimation without using a wide-angle lens.
以下、添付図面に従って本発明の実施形態について説明する。 Embodiments of the present invention will be described below with reference to the accompanying drawings.
〔自己位置推定システム〕
図1は、本実施形態に係る自己位置推定システム10を示すブロック図である。図2は、本実施形態に係る自己位置推定システム10の概略構成を示す概略構成図である。
[Self-location estimation system]
Fig. 1 is a block diagram showing a self-location estimation system 10 according to this embodiment. Fig. 2 is a schematic diagram showing the schematic configuration of the self-location estimation system 10 according to this embodiment.
図1及び図2に示すように、自己位置推定システム10は、プローブヘッド12と、ターゲット群14A、14B(「第1ターゲット群14A」、「第2ターゲット群14B」と称する場合がある。)と、自己位置推定装置50と、を備える。自己位置推定装置50は、本発明の自己位置推定装置の一例である。本実施形態では、自己位置推定装置50がプローブヘッド12とは別体で構成されるが、自己位置推定装置50の少なくとも一部の機能をプローブヘッド12が備えていてもよい。なお、ターゲット群14A、14Bを区別しない場合には、アルファベットを省略して「ターゲット群14」と記載する場合がある。 As shown in Figures 1 and 2, the self-location estimation system 10 includes a probe head 12, target groups 14A and 14B (sometimes referred to as "first target group 14A" and "second target group 14B"), and a self-location estimation device 50. The self-location estimation device 50 is an example of a self-location estimation device of the present invention. In this embodiment, the self-location estimation device 50 is configured separately from the probe head 12, but the probe head 12 may have at least some of the functions of the self-location estimation device 50. Note that when there is no need to distinguish between the target groups 14A and 14B, they may be referred to as "target group 14" without the alphabet.
プローブヘッド12は、ポータブル型の三次元座標測定機であり、ワーク(不図示)の三次元座標を測定するものである。プローブヘッド12は、接触式又は非接触式のプローブ18を備える。プローブ18は、ワークの三次元座標を測定可能なものであれば、接触式(タッチプローブ式)であってもよいし、非接触式(レーザ式、光学式)であってもよい。非接触式として、例えば、レーザスキャナ、ポイントレーザ、及びラインレーザなどがある。かかるプローブヘッド12をユーザが把持して測定を行うことにより、ワークの測定点における三次元座標を取得することができる。 The probe head 12 is a portable three-dimensional coordinate measuring machine that measures the three-dimensional coordinates of a workpiece (not shown). The probe head 12 is equipped with a contact or non-contact probe 18. The probe 18 may be contact (touch probe) or non-contact (laser, optical) as long as it is capable of measuring the three-dimensional coordinates of the workpiece. Examples of non-contact probes include laser scanners, point lasers, and line lasers. A user can hold the probe head 12 and perform measurements to obtain the three-dimensional coordinates of the workpiece at the measurement point.
プローブヘッド12は、自己位置推定機能を有している。プローブヘッド12は、自己位置推定機能を実現するために、2つのカメラ20A、20B(「第1カメラ20A」、「第2カメラ20B」と称する場合がある。)を備えている。プローブヘッド12は、第1カメラ20Aにより第1ターゲット群14Aを撮影するとともに、第2カメラ20Bにより第2ターゲット群14Bを撮影することで、後述の自己位置推定装置50によりプローブヘッド12の自己位置(位置及び姿勢)を推定することができる。なお、カメラ20A、20Bを区別しない場合には、アルファベットを省略して「カメラ20」と記載する場合がある。 The probe head 12 has a self-position estimation function. To achieve this function, the probe head 12 is equipped with two cameras 20A and 20B (sometimes referred to as the "first camera 20A" and the "second camera 20B"). The probe head 12 captures an image of the first target group 14A with the first camera 20A and an image of the second target group 14B with the second camera 20B, allowing the self-position (position and attitude) of the probe head 12 to be estimated by the self-position estimation device 50, described below. When there is no need to distinguish between the cameras 20A and 20B, they may be referred to as "camera 20" without the alphabet.
図2に示すように、ターゲット群14(14A、14B)は、複数(多数)のターゲット24が2次元状に配置されたものである。各ターゲット24はドット状又は点状に形成され、各ターゲット24の相互間に間隔をあけて配置される。また、各ターゲット24は、例えばLEDなどの小型の点状の光源(点光源)により構成されていてもよい。なお、ターゲット群14においてターゲット24同士の相対位置は既知である。また、ターゲット群14における各ターゲット24の形状及び大きさも既知である。 As shown in FIG. 2, the target group 14 (14A, 14B) is a two-dimensional arrangement of multiple (large numbers of) targets 24. Each target 24 is formed in a dot or point shape, and is arranged with a gap between each target 24. Each target 24 may also be composed of a small point light source (point light source) such as an LED. The relative positions of the targets 24 in the target group 14 are known. The shape and size of each target 24 in the target group 14 are also known.
第1ターゲット群14Aは、第1カメラ20Aに対向する位置に配置される。第2ターゲット群14Bは、第2カメラ20Bに対向する位置に配置される。これにより、各カメラ20A、20Bは、それぞれ対向する位置に配置されたターゲット群14A、14Bを同時に撮影することができるようになっている。なお、ターゲット群14A、14Bはそれぞれ所定の位置に固定又は支持することができるものであれば、種々の固定部材又は支持部材を用いてもよい。 The first target group 14A is positioned opposite the first camera 20A. The second target group 14B is positioned opposite the second camera 20B. This allows each camera 20A, 20B to simultaneously capture images of the target groups 14A, 14B, which are positioned opposite each other. Note that various fixing or supporting members may be used for the target groups 14A, 14B, as long as they can be fixed or supported in their respective predetermined positions.
〔自己位置推定装置〕
次に、自己位置推定装置50について説明する。図1に示すように、自己位置推定装置50は、例えばパーソナルコンピュータなどにより構成され、演算処理部52と、記憶部54と、を備えている。また、自己位置推定装置50には、プローブヘッド12に搭載された2つのカメラ20A、20Bが接続される。各カメラ20A、20Bとの接続方法は特に限定されず、ケーブルを介して接続されていてもよいし、有線又は無線のネットワークを介して接続されていてもよい。
[Self-position estimation device]
Next, the self-location estimation device 50 will be described. As shown in Fig. 1, the self-location estimation device 50 is configured by, for example, a personal computer, and includes an arithmetic processing unit 52 and a storage unit 54. Two cameras 20A and 20B mounted on the probe head 12 are connected to the self-location estimation device 50. The method of connection with the cameras 20A and 20B is not particularly limited, and they may be connected via a cable, or via a wired or wireless network.
記憶部54は、制御プログラム及び各種データを記憶する。記憶部54は、例えばハードディスクドライブ(HDD:Hard Disk Drive)又は半導体記憶装置(SSD:Solid State Drive)により構成される。記憶部54は、例えばDRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などのRAM(Random Access Memory)により構成される一時的な記憶素子を備えてもよく、演算処理部52の作業領域として機能してもよい。 The memory unit 54 stores control programs and various data. The memory unit 54 is configured, for example, by a hard disk drive (HDD) or a semiconductor memory device (SSD: Solid State Drive). The memory unit 54 may also include a temporary storage element configured, for example, by RAM (Random Access Memory) such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory), and may function as a working area for the arithmetic processing unit 52.
記憶部54には、後述するターゲット画像が格納される。また、記憶部54には、ターゲット群14を構成する各ターゲット24の形状、大きさ、及び配置に関する情報(ターゲット群情報)も格納される。 The memory unit 54 stores target images, which will be described later. The memory unit 54 also stores information (target group information) regarding the shape, size, and arrangement of each target 24 that makes up the target group 14.
演算処理部52は、自己位置推定装置50で実施される各種演算処理を実行する。演算処理部52は、各種のプロセッサ(Processor)及びメモリ等から構成された演算回路を備える。各種のプロセッサには、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、及びプログラマブル論理デバイス[例えばSPLD(Simple Programmable Logic Devices)、CPLD(Complex Programmable Logic Device)、及びFPGA(Field Programmable Gate Arrays)]等が含まれる。なお、演算処理部52の各種機能は、1つのプロセッサにより実現されてもよいし、同種または異種の複数のプロセッサで実現されてもよい。 The arithmetic processing unit 52 executes various arithmetic processes performed by the self-location estimation device 50. The arithmetic processing unit 52 has an arithmetic circuit composed of various processors, memory, etc. The various processors include a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), and a programmable logic device (e.g., simple programmable logic device (SPLD), complex programmable logic device (CPLD), and field programmable gate array (FPGA)). The various functions of the arithmetic processing unit 52 may be implemented by a single processor, or by multiple processors of the same or different types.
演算処理部52は、記憶部54に格納された制御プログラムを読み出して実行することで、画像取得部60、自己位置推定部62、及び判定処理部64として機能する。自己位置推定部62は、特徴点検出部66と、最適化演算部68とを備える。 The calculation processing unit 52 functions as an image acquisition unit 60, a self-position estimation unit 62, and a judgment processing unit 64 by reading and executing a control program stored in the memory unit 54. The self-position estimation unit 62 includes a feature point detection unit 66 and an optimization calculation unit 68.
なお、画像取得部60は、本発明の画像取得部の一例である。自己位置推定部62は、本発明の自己位置推定部の一例である。特徴点検出部66は、本発明の特徴点検出部の一例である。最適化演算部68は、本発明の最適化演算部の一例である。 Note that the image acquisition unit 60 is an example of an image acquisition unit of the present invention. The self-position estimation unit 62 is an example of a self-position estimation unit of the present invention. The feature point detection unit 66 is an example of a feature point detection unit of the present invention. The optimization calculation unit 68 is an example of an optimization calculation unit of the present invention.
〔カメラ投影モデル〕
ここで、本実施形態の自己位置推定装置50が実行する自己位置推定処理について説明する前に、その前提となるカメラ投影モデルに関して説明する。図3は、カメラ投影モデルを説明するための説明図である。
[Camera projection model]
Before describing the self-location estimation process executed by the self-location estimation device 50 of this embodiment, a camera projection model that is the premise of the process will be described. Fig. 3 is an explanatory diagram for explaining the camera projection model.
図3に示すように、ワールド座標系(世界座標系)Σwは、三次元空間(実空間)における位置を表す座標系であり、原点をOwとし、互いに直交するXw軸、Yw軸、Zw軸を座標軸とする三次元直交座標系である。なお、ワールド座標系Σwは、三次元空間における位置(三次元位置)を特定できれば、いかなる座標系が用いられてもよい。カメラ座標系Σcは、カメラ20の光軸中心Ocを原点とし、原点Ocから右方向をXc軸、下方向をYc軸、光軸方向をZc軸とする三次元直交座標系である。画像座標系Σsは、カメラ座標系Σcの原点OcからZc方向に焦点距離f離れた画像平面IPの左上を原点とし、Xc軸及びYc軸にそれぞれ平行な方向に、U軸及びV軸を有する2次元直交座標系(ピクセル座標系)である。 As shown in FIG. 3 , the world coordinate system (global coordinate system) Σw is a coordinate system that represents a position in a three-dimensional space (real space). It is a three-dimensional Cartesian coordinate system with an origin Ow and mutually orthogonal Xw , Yw , and Zw axes as coordinate axes. Note that any coordinate system may be used for the world coordinate system Σw as long as it can identify a position in three-dimensional space (three-dimensional position). The camera coordinate system Σc is a three-dimensional Cartesian coordinate system with an origin Oc at the optical axis center of the camera 20, an Xc axis extending to the right of the origin Oc , a Yc axis extending downward, and a Zc axis extending in the optical axis direction. The image coordinate system Σs is a two-dimensional Cartesian coordinate system (pixel coordinate system) with an origin at the upper left of the image plane IP, which is a focal length f away from the origin Oc of the camera coordinate system Σc in the Zc direction, and a U axis and a V axis parallel to the Xc axis and the Yc axis, respectively.
まず、三次元空間における点P(オブジェクトポイント)のワールド座標系Σwにおける座標(xw、yw、zw)は、カメラ20の回転行列R及び並進ベクトルtを用いて、以下の式(1)のとおり、カメラ座標系Σcにおける座標(x、y、z)に変換することができる。 First, the coordinates (xw, yw, zw ) of a point P (object point) in three-dimensional space in the world coordinate system Σw can be transformed into coordinates ( x , y , z) in the camera coordinate system Σc using the rotation matrix R and translation vector t of the camera 20, as shown in the following equation (1).
ここで、[R|t]w,cはワールド座標系Σwからカメラ座標系Σcに座標変換するための変換行列(外部パラメータ行列)であり、ワールド座標系Σwでのカメラ20の姿勢と位置を表したものである。[R|t]w,cの各成分r11、r12、…、r33、tx、ty、tzをカメラの外部パラメータという。 Here, [R|t] w,c is a transformation matrix (extrinsic parameter matrix) for coordinate transformation from the world coordinate system Σw to the camera coordinate system Σc , and represents the attitude and position of the camera 20 in the world coordinate system Σw . The components r11 , r12 , ..., r33 , tx , ty , and tz of [R|t] w,c are called extrinsic parameters of the camera.
次に、カメラ座標系Σcから見て(x、y、z)にある点Pが画像平面IPに投影された投影点Qの座標(ピクセル座標)を(u、v)とした場合、以下の式(2)から式(7)に示す関係式が成り立つ。 Next, when a point P at (x, y, z) viewed from the camera coordinate system Σc is projected onto the image plane IP, and the coordinates (pixel coordinates) of the projected point Q are (u, v), the following relational expressions (2) to (7) hold:
ここで、(x´、y´)は、カメラ座標系Σcから見て(x、y、z)にある点Pを、正規化された画像平面(z=1)上に投影した投影点の座標を表す。また、(x´´、y´´)は、カメラ20のレンズ歪み(レンズディストーション)を考慮した場合に、正規化された画像平面上に点Pを投影した投影点(歪んだ点)の座標を表す。 Here, (x', y') represent the coordinates of the projected point obtained by projecting point P, which is located at (x, y, z) when viewed from the camera coordinate system Σc , onto the normalized image plane (z=1). Also, (x", y") represent the coordinates of the projected point (distorted point) obtained by projecting point P onto the normalized image plane when the lens distortion of the camera 20 is taken into consideration.
また、fx、fyは、ピクセル単位で表されたx方向及びy方向の焦点距離を示す。また、cx、cyは、画像座標系Σsにおける光学中心(カメラ20の光軸が画像平面IPと交差する位置、ピクセル単位の光学中心)を示す。また、k1、k2、k3は半径方向の歪み係数であり、p1、p2は接線方向の歪み係数である。本明細書においては、焦点距離fx、fy、光学中心cx、cyをカメラ20の内部パラメータといい、歪み係数k1、k2、k3、p1、p2をカメラ20の歪みパラメータという。 Furthermore, fx and fy indicate focal lengths in the x and y directions expressed in pixel units. Furthermore, cx and cy indicate the optical center in the image coordinate system Σs (the position where the optical axis of the camera 20 intersects with the image plane IP, the optical center in pixel units). Furthermore, k1 , k2 , and k3 are radial distortion coefficients, and p1 and p2 are tangential distortion coefficients. In this specification, the focal lengths fx and fy and the optical centers cx and cy are referred to as internal parameters of the camera 20, and the distortion coefficients k1 , k2 , k3 , p1 , and p2 are referred to as distortion parameters of the camera 20.
〔プローブヘッドの撮像系〕
図4は、本実施形態に係るプローブヘッド12の撮像系をモデル化した図である。図5は、図4に示した撮像系を分解して示した図である。図4及び図5において、画像平面30A、30Bは、それぞれ、カメラ20A、20Bの画像平面を示したものである。
[Probe head imaging system]
Fig. 4 is a diagram showing a model of the imaging system of the probe head 12 according to this embodiment. Fig. 5 is a diagram showing an exploded view of the imaging system shown in Fig. 4. In Figs. 4 and 5, image planes 30A and 30B indicate the image planes of the cameras 20A and 20B, respectively.
本実施形態に係るプローブヘッド12は、互いに直交する方向を撮影方向(光軸方向)とする2つのカメラ20A、20Bからなる撮像系22を備えたものである。すなわち、プローブヘッド12における撮像系22は、図4に示すように、2つの画像平面30A、30B(「第1画像平面30A」、「第2画像平面30B」と称する場合がある。)に分割されており、各画像平面30A、30Bは互いに直交している。なお、本実施形態では、各カメラ20A、20Bの撮影方向が互いに直交する場合を示したが、これに限らず、例えば後述する変形例のように(図8参照)、少なくとも各カメラ20A、20Bの撮影方向が互いに異なる方向であればよい。 The probe head 12 according to this embodiment is equipped with an imaging system 22 consisting of two cameras 20A, 20B whose imaging directions (optical axis directions) are perpendicular to each other. That is, as shown in FIG. 4, the imaging system 22 in the probe head 12 is divided into two image planes 30A, 30B (sometimes referred to as the "first image plane 30A" and the "second image plane 30B"), with the image planes 30A, 30B being perpendicular to each other. While this embodiment illustrates a case in which the imaging directions of the cameras 20A, 20B are perpendicular to each other, this is not limiting. It is sufficient that at least the imaging directions of the cameras 20A, 20B are different from each other, as in the modified example described below (see FIG. 8).
ここで、図5に示すように、第1画像平面30A上のターゲット座標(第1画像平面30Aに投影されたターゲット34Aの位置を示す座標)に誤差がある場合において、カメラ主点32Aの取りうる範囲を第1主点誤差範囲36Aとする。また、第2画像平面30B上のターゲット座標(第2画像平面30Bに投影されたターゲット34Bの位置を示す座標)に誤差がある場合のカメラ主点32Bの取りうる範囲を第2主点誤差範囲36Bとする。この場合、図4に示すように、各カメラ20A、20Bにそれぞれ対応した主点誤差範囲36A、36Bの少なくとも一部同士が重ね合わさるように、各カメラ20A、20Bの相対位置が調整されている場合、第1主点誤差範囲36Aと第2主点誤差範囲36Bとが重複した範囲である重複範囲38が、ヘッド原点(プローブヘッド12の基準点)の取りうる範囲となる。これにより、1つのカメラを用いて自己位置推定が行われる場合よりもヘッド原点の取りうる範囲を小さくすることができる。 Here, as shown in FIG. 5, when there is an error in the target coordinates on the first image plane 30A (coordinates indicating the position of the target 34A projected onto the first image plane 30A), the range that can be taken by the camera principal point 32A is defined as the first principal point error range 36A. Also, when there is an error in the target coordinates on the second image plane 30B (coordinates indicating the position of the target 34B projected onto the second image plane 30B), the range that can be taken by the camera principal point 32B is defined as the second principal point error range 36B. In this case, as shown in FIG. 4, when the relative positions of the cameras 20A and 20B are adjusted so that at least a portion of the principal point error ranges 36A and 36B corresponding to the cameras 20A and 20B overlap, the overlapping range 38, which is the range where the first principal point error range 36A and the second principal point error range 36B overlap, becomes the range that can be taken by the head origin (the reference point of the probe head 12). This allows the range of possible head origin positions to be smaller than when self-position estimation is performed using a single camera.
但し、各カメラ20A、20Bの主点誤差範囲36A、36Bを重ね合わせるためには各カメラ20A、20Bを基準としたカメラ座標系の関係(回転行列R及び並進ベクトルt)を事前に把握しておき、各カメラ20A、20Bの相対位置を調整しておくことが重要となる。以下、各カメラ20A、20Bの相対位置調整方法について説明する。 However, in order to overlap the principal point error ranges 36A and 36B of each camera 20A and 20B, it is important to understand in advance the relationship between the camera coordinate systems (rotation matrix R and translation vector t) based on each camera 20A and 20B, and to adjust the relative positions of each camera 20A and 20B. Below, we will explain how to adjust the relative positions of each camera 20A and 20B.
〔カメラ相対位置調整方法〕
図6は、プローブヘッド12と、カメラ20A、20Bと、ターゲット群14A、14Bとの位置関係をモデル化した図である。なお、図6では、説明の便宜上、カメラ20A、20Bの位置関係を変更しているが、図2に示した位置関係(カメラ20A、20Bの撮影方向が互いに直交する位置関係)の場合にも同様に適用できる。また、以下では説明を簡単にするために、カメラ20A、20Bはそれぞれターゲット群14A、14Bのみを撮影するものとする。
[Camera relative position adjustment method]
Fig. 6 is a diagram modeling the positional relationship between the probe head 12, cameras 20A and 20B, and target groups 14A and 14B. Note that for ease of explanation, the positional relationship between the cameras 20A and 20B has been changed in Fig. 6, but this can also be applied to the positional relationship shown in Fig. 2 (where the shooting directions of the cameras 20A and 20B are orthogonal to each other). Furthermore, for simplicity of explanation, it is assumed below that the cameras 20A and 20B only shoot images of the target groups 14A and 14B, respectively.
まず、図6に示すように、ワールド座標系Σwにおける三次元座標を第1カメラ座標系(第1カメラ20Aを基準とした座標系)Σc1における三次元座標に座標変換する変換行列は、ワールド座標系Σwからプローブヘッド座標系(プローブヘッド12を基準とした座標系)Σhを介して第1カメラ座標系Σc1に座標変換する場合と、ワールド座標系Σwから第1ターゲット群座標系(第1ターゲット群14Aを基準とした座標系)Σt1を介して第1カメラ座標系Σc1に座標変換する場合との2通りがある。 First, as shown in FIG. 6 , there are two types of transformation matrices for transforming three-dimensional coordinates in the world coordinate system Σw into three-dimensional coordinates in the first camera coordinate system Σc1 (a coordinate system based on the first camera 20A): one for transforming from the world coordinate system Σw to the first camera coordinate system Σc1 via the probe head coordinate system (a coordinate system based on the probe head 12) Σh, and one for transforming from the world coordinate system Σw to the first camera coordinate system Σc1 via the first target group coordinate system (a coordinate system based on the first target group 14A) Σt1 .
同様に、ワールド座標系Σwにおける三次元座標を第2カメラ座標系(第2カメラ20Bを基準とした座標系)Σc2における三次元座標に座標変換する変換行列は、ワールド座標系Σwからプローブヘッド座標系Σhを介して第2カメラ座標系Σc2に座標変換する場合と、ワールド座標系Σwから第2ターゲット群座標系(第2ターゲット群14Bを基準とした座標系)Σt2を介して第2カメラ座標系Σc2に座標変換する場合との2通りがある。 Similarly, there are two types of transformation matrices for transforming three-dimensional coordinates in the world coordinate system Σw into three-dimensional coordinates in the second camera coordinate system Σc2 (a coordinate system based on the second camera 20B): one for transforming from the world coordinate system Σw to the second camera coordinate system Σc2 via the probe head coordinate system Σh , and one for transforming from the world coordinate system Σw to the second camera coordinate system Σc2 via the second target group coordinate system (a coordinate system based on the second target group 14B) Σt2 .
これらの座標変換について座標変換行列(同次変換行列)を用いて表すと、以下の式(8)及び式(9)に示すとおりとなる。
ここで、式(8)及び式(9)の各パラメータ(座標変換行列)は、以下のとおり定義される(図6参照)。なお、明細書における表記の制約上、行列やベクトルを細字で表すことがある。
Tt:ワールド座標系Σwからプローブヘッド座標系Σhへの座標変換行列
Cc1:プローブヘッド座標系Σhから第1カメラ座標系Σc1への座標変換行列
Cc2:プローブヘッド座標系Σhから第2カメラ座標系Σc2への座標変換行列
Pp1:ワールド座標系Σwから第1ターゲット群座標系Σt1への座標変換行列
Pp2:ワールド座標系Σwから第2ターゲット群座標系Σt2への座標変換行列
Ac1,p1,t:第1ターゲット群座標系Σt1から第1カメラ座標系Σc1への座標変換行列
Ac2,p2,t:第2ターゲット群座標系Σt2から第2カメラ座標系Σc2への座標変換行列
Here, the parameters (coordinate transformation matrices) of equations (8) and (9) are defined as follows (see FIG. 6): Note that due to limitations on notation in the specification, matrices and vectors may be written in thin type.
T t : coordinate transformation matrix from world coordinate system Σw to probe head coordinate system Σh C c1 : coordinate transformation matrix from probe head coordinate system Σh to first camera coordinate system Σc1 C c2 : coordinate transformation matrix from probe head coordinate system Σh to second camera coordinate system Σc2 P p1 : coordinate transformation matrix from world coordinate system Σw to first target group coordinate system Σt1 P p2 : coordinate transformation matrix from world coordinate system Σw to second target group coordinate system Σt2 A c1,p1,t : coordinate transformation matrix from first target group coordinate system Σt1 to first camera coordinate system Σc1 A c2,p2,t : coordinate transformation matrix from second target group coordinate system Σt2 to second camera coordinate system Σc2
また、各パラメータに付した添え字は、以下のとおりである。但し、nはカメラ20に付与された番号を表し、本例では1又は2である。
添え字Cnはn番目のカメラ20に依存したパラメータであることを示す。
添え字Pnはn番目のターゲット群14に依存したパラメータであることを示す。
添え字tはある時刻又はシーンに依存したパラメータであることを示す。
The subscripts attached to the parameters are as follows: where n represents the number assigned to the camera 20, which is 1 or 2 in this example.
The subscript C n indicates that the parameter is dependent on the nth camera 20 .
The subscript P n indicates that the parameter is dependent on the nth target group 14 .
The subscript t indicates that the parameter is time or scene dependent.
また、カメラ20のキャリブレーション(校正)は既に行われており、カメラ20の内部パラメータ(焦点距離、光学中心)及び歪みパラメータ(歪み係数)を含むカメラ行列Kc1、Kc2は既知であるとする。 It is also assumed that the camera 20 has already been calibrated, and the camera matrices K c1 and K c2 including the internal parameters (focal length, optical center) and distortion parameters (distortion coefficients) of the camera 20 are known.
第1カメラ20Aにより第1ターゲット群14Aを撮影した場合、第1ターゲット群14Aのターゲット24を第1画像平面30Aに投影した点(ターゲット点)をxc1,p1,t(ベクトル)とし、それに対応するターゲット24の第1ターゲット群14上の位置を示す点(ターゲット点)をXp1(ベクトル)とすると、以下の式(10)に示す関係が成り立つ。
ここで、式(8)を変形すると、以下の式(12)に示すとおりとなる。
式(12)を式(10)に代入すると、以下の式(13)が得られる。
第2カメラ20Bについても同様に、以下の式(15)が成り立つ。
ここで、第1ターゲット群座標系Σt1におけるターゲット点Xp1、第2ターゲット群座標系Σt2におけるターゲット点Xp2、第1カメラ20Aのカメラ行列Kc1、及び第2カメラ20Bのカメラ行列Kc2が既知である。また、第1カメラ20A及び第2カメラ20Bによりそれぞれ撮影された画像上のターゲット点x^c1,p1,t、x^c2,p2,t(ベクトル)(画像平面30A、30B上のターゲット点xc1,p1,t、xc2,p2,tに相当)が既知である。なお、以下に示す数式で、「x」の上に「^」が付された文字が、x^c1,p1,t、x^c2,p2,tである。 Here, target point Xp1 in the first target group coordinate system Σt1 , target point Xp2 in the second target group coordinate system Σt2 , camera matrix Kc1 of first camera 20A, and camera matrix Kc2 of second camera 20B are known. Also, target points x^ c1 ,p1,t and x^ c2,p2,t (vectors) on the images captured by first camera 20A and second camera 20B, respectively, are known (equivalent to target points xc1 ,p1,t and xc2 ,p2,t on image planes 30A and 30B). In the formulas below, the character with a "^" above "x" represents x^ c1,p1,t and x^ c2,p2,t .
式(13)及び式(15)において、ワールド座標系Σwからプローブヘッド座標系Σhへの座標変換行列Tt、プローブヘッド座標系Σhから第1カメラ座標系Σc1への座標変換行列Cc1、ワールド座標系Σwから第1ターゲット群座標系Σt1への座標変換行列Pp1の逆行列Pp1 -1、プローブヘッド座標系Σhから第2カメラ座標系Σc2への座標変換行列Cc2、及びワールド座標系Σwから第2ターゲット群座標系Σt2への座標変換行列Pp2の逆行列Pp2 -1が未知である。 In equations (13) and (15), the coordinate transformation matrix T t from the world coordinate system Σw to the probe head coordinate system Σh , the coordinate transformation matrix C c1 from the probe head coordinate system Σh to the first camera coordinate system Σc1 , the inverse matrix P p1 -1 of the coordinate transformation matrix P p1 from the world coordinate system Σw to the first target group coordinate system Σt1, the coordinate transformation matrix C c2 from the probe head coordinate system Σh to the second camera coordinate system Σc2 , and the inverse matrix P p2 -1 of the coordinate transformation matrix P p2 from the world coordinate system Σw to the second target group coordinate system Σt2 are unknown.
ここで求めたいものはプローブヘッド12におけるカメラ20A、20Bの相対位置であることから、以下の式(17)に示す誤差関数Eの値を最小にする未知パラメータ(Tt、Cc1、Pp1
-1、Cc2、Pp2
-1)を最適化演算により求める。通常、最適化演算にはNewton-Raphson法や非線形共役勾配法など種々の非線形解法を用いることができるが、一般によく知られた方法であるため、ここでは詳しくは述べない。なお、この誤差関数Eは、カメラ20A、20Bの画像平面30A、30Bに対する、ターゲット群14A、14Bの各ターゲット24の再投影誤差を示すものである。
上記最適化演算を行うことにより、プローブヘッド座標系Σhから第1カメラ座標系Σc1への座標変換行列Cc1と、プローブヘッド座標系Σhから第2カメラ座標系Σc2への座標変換行列Cc2とが得られる。これらの座標変換行列Cc1、Cc2は、それぞれ、プローブヘッド座標系Σhにおける各カメラ20A、20Bの位置及び姿勢を示す。 By performing the above optimization calculation, a coordinate transformation matrix Cc1 from the probe head coordinate system Σh to the first camera coordinate system Σc1 and a coordinate transformation matrix Cc2 from the probe head coordinate system Σh to the second camera coordinate system Σc2 are obtained. These coordinate transformation matrices Cc1 and Cc2 indicate the positions and orientations of the cameras 20A and 20B in the probe head coordinate system Σh , respectively.
上記最適化演算では、直感的には、カメラ20A、20Bの位置及び姿勢に基づき、カメラ20A、20Bの各々から逆算されるプローブヘッド座標系Σh、つまりプローブヘッド12の位置及び姿勢が互いに近づくように(好ましくは、カメラ20A、20Bの各々から逆算されるプローブヘッド座標系Σhがほぼ一致するように)、カメラ20A、20Bの位置及び姿勢が調整される。これにより、プローブヘッド座標系Σhの取りうる範囲を、1つのカメラが用いられる場合よりも狭くすることができるので、後述する自己位置推定の精度の向上につながる。 Intuitively, in the optimization calculation, the positions and orientations of the cameras 20A and 20B are adjusted based on the positions and orientations of the cameras 20A and 20B so that the probe head coordinate systems Σ h calculated back from each of the cameras 20A and 20B, i.e., the position and orientation of the probe head 12, approach each other (preferably so that the probe head coordinate systems Σ h calculated back from each of the cameras 20A and 20B approximately match). This makes it possible to narrow the range of the probe head coordinate system Σ h compared to when one camera is used, which leads to improved accuracy of self-position estimation, which will be described later.
また、上記最適化演算により、上記未知パラメータと併せて、ワールド座標系Σwからプローブヘッド座標系Σhへの座標変換行列Ttも求めることができる。この座標変換行列Ttは、ワールド座標系Σwにおけるプローブヘッド12の自己位置(位置及び姿勢)を示すものである。したがって、プローブヘッド12の自己位置の検出とカメラ20A、20Bの相対位置の検出とを同時に行うことが可能となる。 Furthermore, the optimization calculation can also determine the coordinate transformation matrix Tt from the world coordinate system Σw to the probe head coordinate system Σh , along with the unknown parameters. This coordinate transformation matrix Tt indicates the self-position (position and orientation) of the probe head 12 in the world coordinate system Σw . Therefore, it becomes possible to simultaneously detect the self-position of the probe head 12 and the relative positions of the cameras 20A and 20B.
〔自己位置推定方法〕
次に、本実施形態の自己位置推定装置50が実行する自己位置推定処理の処理手順(自己位置推定方法の一例)について説明する。図7は、本実施形態の自己位置推定装置50(演算処理部52)が実行する自己位置推定処理の一例を示したフローチャートである。なお、本フローチャートの開始にあたっては、カメラ20A、20Bのキャリブレーションが既に行われており、カメラ20A、20Bの内部パラメータ(焦点距離、光学中心)及び歪みパラメータ(歪み係数)を含むカメラ行列Kc1、Kc2は既知であるものとする。
[Self-position estimation method]
Next, a description will be given of a processing procedure (an example of a self-location estimation method) for the self-location estimation process executed by the self-location estimation device 50 of this embodiment. Fig. 7 is a flowchart showing an example of the self-location estimation process executed by the self-location estimation device 50 (arithmetic processing unit 52) of this embodiment. Note that, at the start of this flowchart, it is assumed that the cameras 20A and 20B have already been calibrated, and the camera matrices Kc1 and Kc2 including the internal parameters (focal length, optical center) and distortion parameters (distortion coefficients) of the cameras 20A and 20B are known.
まず、図2に示すように、プローブヘッド12に搭載されたカメラ20A、20Bによりそれぞれターゲット群14A、14Bを撮影する(ステップS10)。カメラ20A、20Bが撮影した画像(ターゲット画像)は、自己位置推定装置50に送信される。自己位置推定装置50にターゲット画像が送信されると、画像取得部60がターゲット画像を取得し、記憶部54に記憶する。 First, as shown in FIG. 2, target groups 14A and 14B are photographed by cameras 20A and 20B mounted on probe head 12, respectively (step S10). The images (target images) photographed by cameras 20A and 20B are transmitted to self-position estimation device 50. When the target images are transmitted to self-position estimation device 50, image acquisition unit 60 acquires the target images and stores them in memory unit 54.
次に、自己位置推定部62が、カメラ20A、20Bがそれぞれ撮影したターゲット画像に基づき、プローブヘッド12の位置及び姿勢(自己位置)を推定する。以下、自己位置推定部62で行われる処理について説明する。 Next, the self-position estimation unit 62 estimates the position and orientation (self-position) of the probe head 12 based on the target images captured by the cameras 20A and 20B. The processing performed by the self-position estimation unit 62 is described below.
まず、特徴点検出部66が、ターゲット画像から複数の特徴点を検出する特徴点検出処理を実行する(ステップS12)。 First, the feature point detection unit 66 performs a feature point detection process to detect multiple feature points from the target image (step S12).
具体的には、特徴点検出部66が、記憶部54からターゲット画像を読み込む。そして、特徴点検出部66が、読み込んだターゲット画像に対して所定の画像処理(グレースケール変換など)を施した後、ターゲット画像から各ターゲット24の位置を示す特徴点(画像点)を検出し、ターゲット画像(画像平面30A、30B;図4参照)上における各特徴点の座標(ピクセル座標)を求める。なお、ターゲット画像上における特徴点として、ターゲット24の重心の位置が検出される。このとき検出されるターゲット画像上の特徴点は、上述した画像上のターゲット点x^c1,p1,t、x^c2,p2,t(ベクトル)に相当する。 Specifically, the feature point detection unit 66 reads the target image from the storage unit 54. Then, the feature point detection unit 66 performs predetermined image processing (such as grayscale conversion) on the read target image, and then detects feature points (image points) indicating the position of each target 24 from the target image, and determines the coordinates (pixel coordinates) of each feature point on the target image (image planes 30A and 30B; see FIG. 4). Note that the position of the center of gravity of the target 24 is detected as the feature point on the target image. The feature points on the target image detected at this time correspond to the target points x^ c1,p1,t and x^ c2,p2,t (vectors) on the image described above.
次に、最適化演算部68は、特徴点検出部66で検出された各特徴点を用いて、ターゲット群14A、14Bにおける各ターゲット24の再投影誤差が最小となるプローブヘッド12の位置及び姿勢を最適化演算により求める(ステップS14)。具体的には、最適化演算部68は、上述した式(17)に示した誤差関数Eが最小となる未知パラメータ(Tt、Cc1、Pp1 -1、Cc2、Pp2 -1)を最適化演算により求める。これにより、プローブヘッド12の自己位置を示す情報として、ワールド座標系Σwからプローブヘッド座標系Σhへの座標変換行列Ttが検出される。 Next, the optimization calculation unit 68 uses each feature point detected by the feature point detection unit 66 to determine, by optimization calculation, the position and orientation of the probe head 12 that minimizes the reprojection error of each target 24 in the target groups 14A, 14B (step S14). Specifically, the optimization calculation unit 68 determines, by optimization calculation, the unknown parameters (T t , C c1 , P p1 -1 , C c2 , P p2 -1 ) that minimize the error function E shown in the above-mentioned equation (17). As a result, a coordinate transformation matrix T t from the world coordinate system Σ w to the probe head coordinate system Σ h is detected as information indicating the self-position of the probe head 12.
自己位置推定部62は、上記のようにして求めたプローブヘッド12の位置及び姿勢を示す情報(プローブヘッド自己位置情報)を記憶部54に記憶する。なお、記憶部54に記憶されたプローブヘッド自己位置情報は、プローブヘッド12を用いてワークの三次元座標を算出する際に利用される。 The self-position estimation unit 62 stores information indicating the position and orientation of the probe head 12 determined as described above (probe head self-position information) in the memory unit 54. The probe head self-position information stored in the memory unit 54 is used when calculating the three-dimensional coordinates of the workpiece using the probe head 12.
次に、プローブヘッド12の自己位置推定処理を繰り返すか否かを判定する(ステップS16)。具体的には、プローブヘッド12によるワークの三次元座標の測定が行われている間は、判定処理部64は、プローブヘッド12の自己位置推定処理の継続判定を行い(ステップS16においてYES)、ステップS10からステップS16までの処理を繰り返し行う。これにより、プローブヘッド12によるワークの三次元座標の測定中はプローブヘッド12の自己位置推定処理が継続的に繰り返し実施される。 Next, it is determined whether or not to repeat the self-position estimation process of the probe head 12 (step S16). Specifically, while the probe head 12 is measuring the three-dimensional coordinates of the workpiece, the determination processing unit 64 determines whether the self-position estimation process of the probe head 12 should be continued (YES in step S16), and repeats the processes from step S10 to step S16. As a result, the self-position estimation process of the probe head 12 is continuously and repeatedly performed while the probe head 12 is measuring the three-dimensional coordinates of the workpiece.
一方、プローブヘッド12によるワークの三次元座標の測定が終了した場合には、判定処理部64は、プローブヘッド12の自己位置推定処理の終了判定を行い(ステップS16においてNO)、本フローチャートを終了する。 On the other hand, when the measurement of the three-dimensional coordinates of the workpiece by the probe head 12 is completed, the determination processing unit 64 determines whether the self-position estimation process of the probe head 12 has ended (NO in step S16), and ends this flowchart.
なお、自己位置推定部62は、最適化演算部68において上記最適化演算により上述した未知パラメータを求めることにより、プローブヘッド12の自己位置とともに、カメラ20A、20Bの相対位置を検出することができる。 The self-position estimation unit 62 can detect the relative positions of the cameras 20A and 20B as well as the self-position of the probe head 12 by calculating the unknown parameters described above through the optimization calculation in the optimization calculation unit 68.
その場合、自己位置推定部62は、ステップS14において、プローブヘッド12の自己位置を検出する際に、カメラ20A、20Bの相対位置に異常が生じているか否かの判断を併せて実施するようにしてもよい。例えば、自己位置推定部62は、検出したカメラ20A、20Bの相対位置と、記憶部54に予め記憶しておいたカメラ20A、20Bの相対基準位置との比較を実施し、その比較の結果、両者の差が予め設定した閾値(許容値)を超える場合にはユーザにカメラ20A、20Bの相対位置に異常が生じていることを示す異常通知情報を出力するようにしてもよい。これにより、ユーザに対して、プローブヘッド12に搭載されるカメラ20A、20Bに関して詳細な点検を促すことが可能となる。 In this case, when detecting the self-position of the probe head 12 in step S14, the self-position estimation unit 62 may also determine whether an abnormality has occurred in the relative position of the cameras 20A and 20B. For example, the self-position estimation unit 62 may compare the detected relative positions of the cameras 20A and 20B with a relative reference position of the cameras 20A and 20B pre-stored in the memory unit 54, and if the difference between the two exceeds a pre-set threshold (tolerance) as a result of the comparison, it may output abnormality notification information to the user indicating that an abnormality has occurred in the relative position of the cameras 20A and 20B. This makes it possible to prompt the user to perform a detailed inspection of the cameras 20A and 20B mounted on the probe head 12.
〔効果〕
次に、本実施形態の効果について説明する。
〔effect〕
Next, the effects of this embodiment will be described.
本実施形態によれば、プローブヘッド12には、各カメラ20の撮影方向(光軸方向)が互いに異なる方向となるように配置された複数のカメラ20が備えられる。そして、プローブヘッド12の各カメラ20でそれぞれターゲット群14を撮影した画像(ターゲット画像)を用いて、カメラ20の自己位置(位置及び姿勢)の推定が行われる。これにより、広角レンズを使用しなくても、プローブヘッド12の自己位置を精度良く推定することが可能となる。 According to this embodiment, the probe head 12 is equipped with multiple cameras 20 arranged so that the imaging directions (optical axis directions) of the cameras 20 are different from each other. Images (target images) of the target group 14 captured by each camera 20 of the probe head 12 are then used to estimate the self-position (position and attitude) of the camera 20. This makes it possible to accurately estimate the self-position of the probe head 12 without using a wide-angle lens.
また、本実施形態によれば、各カメラ20がそれぞれターゲット群14を撮影した画像から各カメラ20の相対位置を検出し、その検出結果に基づいて各カメラ20が所望の位置関係を満たすように(すなわち、各カメラ20からそれぞれ逆算されるプローブヘッド座標系Σhが近づくように)各カメラ20の位置及び姿勢を調整することができる。これにより、プローブヘッド12の自己位置の推定精度の向上につながる。 Furthermore, according to this embodiment, the relative positions of the cameras 20 can be detected from the images of the target group 14 captured by each camera 20, and the positions and attitudes of the cameras 20 can be adjusted based on the detection results so that the cameras 20 satisfy the desired positional relationship (i.e., so that the probe head coordinate system Σ h calculated back from each camera 20 approaches each other). This leads to an improvement in the estimation accuracy of the self-position of the probe head 12.
また、本実施形態では、プローブヘッド12に搭載されるカメラ20の数が2つである場合を示したが、これ限らず、3つ以上のカメラ20がプローブヘッド12に搭載されていてもよい。 Furthermore, in this embodiment, the number of cameras 20 mounted on the probe head 12 is two, but this is not limited thereto, and three or more cameras 20 may be mounted on the probe head 12.
また、本実施形態では、プローブヘッド12に搭載された複数のカメラ20の撮影方向が互いに直交する方向である構成を示したが、これに限らず、例えば、図8に示すように、各カメラ20の撮影方向が直交以外の斜めの角度で交差するものであってもよい。 Furthermore, in this embodiment, the imaging directions of the multiple cameras 20 mounted on the probe head 12 are shown as being perpendicular to each other, but this is not limited to this. For example, as shown in Figure 8, the imaging directions of the cameras 20 may intersect at an oblique angle other than perpendicular.
また、プローブヘッド12は、ユーザが把持してワークの測定を行うものに限られない。例えば多関節型のロボットアームの先端部(エンドエフェクタ)にプローブヘッド12を取り付け、ロボットアームの動作制御によりプローブヘッド12を移動させることにより、プローブヘッド12によりワークの三次元座標を測定するものであってもよい。 Furthermore, the probe head 12 is not limited to being held by a user to measure a workpiece. For example, the probe head 12 may be attached to the tip (end effector) of an articulated robot arm, and the probe head 12 may be moved by controlling the motion of the robot arm, thereby measuring the three-dimensional coordinates of the workpiece using the probe head 12.
また、本実施形態では、ターゲット群14がドット状又は点状に形成された複数のターゲット24を2次元状に配置したドットパターンにより構成される場合を一例に示したが、これに限らず、例えば、ターゲット群14は、上記特許文献2に開示されるようなグリッドパターン又はチェッカーパターンなどで構成されていてもよい。また、ターゲット群14は、ARマーカ(Augmented Reality Marker)又はQRコード(Quick Response code、登録商標)などを含む各種の2次元パターンであってもよい。 In addition, in this embodiment, the target group 14 is configured as a dot pattern in which multiple targets 24 formed in a dot or point shape are arranged two-dimensionally. However, this is not limited to this. For example, the target group 14 may be configured as a grid pattern or checkered pattern as disclosed in Patent Document 2. Furthermore, the target group 14 may be various two-dimensional patterns including an AR marker (Augmented Reality Marker) or a QR code (Quick Response code, registered trademark).
また、本実施形態では、カメラ20毎にそれぞれターゲット群14が分割して設けられているが、必ずしもターゲット群14は分割されていなくてもよい。 Furthermore, in this embodiment, the target group 14 is divided and provided for each camera 20, but the target group 14 does not necessarily have to be divided.
以上、本発明の実施形態について説明したが、本発明は、以上の例には限定されず、本発明の要旨を逸脱しない範囲において、各種の改良や変形を行ってもよいのはもちろんである。 The above describes embodiments of the present invention, but the present invention is not limited to these examples, and various improvements and modifications may be made without departing from the spirit of the present invention.
10…自己位置推定システム、12…プローブヘッド、14…ターゲット群、14A…ターゲット群(第1ターゲット群)、14B…ターゲット群(第2ターゲット群)、18…プローブ、20…カメラ、20A…カメラ(第1カメラ)、20B…カメラ(第2カメラ)、24…ターゲット、30A…第1画像平面、30B…第2画像平面、32A…カメラ主点、32B…カメラ主点、36A…第1主点誤差範囲、36B…第2主点誤差範囲、38…重複範囲、50…自己位置推定装置、52…演算処理部、54…記憶部、60…画像取得部、62…自己位置推定部、64…判定処理部、66…特徴点検出部、68…最適化演算部 10... Self-position estimation system, 12... Probe head, 14... Target group, 14A... Target group (first target group), 14B... Target group (second target group), 18... Probe, 20... Camera, 20A... Camera (first camera), 20B... Camera (second camera), 24... Target, 30A... First image plane, 30B... Second image plane, 32A... Camera principal point, 32B... Camera principal point, 36A... First principal point error range, 36B... Second principal point error range, 38... Overlap range, 50... Self-position estimation device, 52... Computation processing unit, 54... Memory unit, 60... Image acquisition unit, 62... Self-position estimation unit, 64... Determination processing unit, 66... Feature point detection unit, 68... Optimization calculation unit
Claims (6)
前記複数の画像に基づき、前記プローブヘッドの位置及び姿勢を検出する自己位置推定部と、
を備える自己位置推定装置。 an image acquisition unit that acquires a plurality of images of the target group using a plurality of cameras that are mounted on the probe head and have imaging directions different from each other;
a self-position estimation unit that detects the position and orientation of the probe head based on the plurality of images;
A self-location estimation device comprising:
前記複数の画像から前記ターゲット群の各ターゲットの位置を示す特徴点を検出する特徴点検出部と、
前記特徴点検出部で検出された各前記特徴点を用いて、前記ターゲット群における前記各ターゲットの再投影誤差が最小となる前記プローブヘッドの位置及び姿勢を最適化演算により求める最適化演算部と、
を有する請求項1に記載の自己位置推定装置。 The self-location estimation unit
a feature point detection unit that detects feature points indicating the positions of each target of the target group from the plurality of images;
an optimization calculation unit that uses each of the feature points detected by the feature point detection unit to determine, by optimization calculation, the position and orientation of the probe head that minimizes a re-projection error of each of the targets in the target group;
The self-location estimation device according to claim 1 , further comprising:
請求項1又は2に記載の自己位置推定装置。 The shooting directions of the multiple cameras are orthogonal to each other.
The self-position estimation device according to claim 1 or 2.
請求項3に記載の自己位置推定装置。 The number of cameras is two.
The self-position estimation device according to claim 3 .
前記複数の画像に基づき、前記プローブヘッドの位置及び姿勢を検出する自己位置推定ステップと、
を含む自己位置推定方法。 an image acquisition step of acquiring a plurality of images of the target group using a plurality of cameras mounted on the probe head and having imaging directions different from each other;
a self-position estimation step of detecting the position and orientation of the probe head based on the plurality of images;
A self-location estimation method including:
前記複数の画像に基づき、前記複数のカメラの相対位置を検出する相対位置検出ステップと、
前記相対位置検出ステップで検出した前記相対位置に基づき、前記複数のカメラの位置及び姿勢を調整する調整ステップと、
を含むカメラ相対位置調整方法。 an image acquisition step of acquiring a plurality of images of the target group using a plurality of cameras mounted on the probe head and having imaging directions different from each other;
a relative position detection step of detecting relative positions of the plurality of cameras based on the plurality of images;
an adjustment step of adjusting positions and attitudes of the plurality of cameras based on the relative positions detected in the relative position detection step;
A camera relative position adjustment method including:
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024045606A JP2025145430A (en) | 2024-03-21 | 2024-03-21 | Self-position estimation device, self-position estimation method, and camera relative position adjustment method |
| PCT/JP2025/009794 WO2025197771A1 (en) | 2024-03-21 | 2025-03-14 | Own-position estimating device, own-position estimating method, and camera relative position adjusting method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024045606A JP2025145430A (en) | 2024-03-21 | 2024-03-21 | Self-position estimation device, self-position estimation method, and camera relative position adjustment method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2025145430A true JP2025145430A (en) | 2025-10-03 |
Family
ID=97139596
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024045606A Pending JP2025145430A (en) | 2024-03-21 | 2024-03-21 | Self-position estimation device, self-position estimation method, and camera relative position adjustment method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2025145430A (en) |
| WO (1) | WO2025197771A1 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006098065A (en) * | 2004-09-28 | 2006-04-13 | Sanyo Electric Co Ltd | Calibration device and method, and three-dimensional modelling device and system capable of using the same |
| CA3228582A1 (en) * | 2012-03-07 | 2013-09-12 | Ziteo, Inc. | Methods and systems for tracking and guiding sensors and instruments |
| GB2552648B (en) * | 2016-07-22 | 2020-09-16 | Imperial College Sci Tech & Medicine | Estimating dimensions for an enclosed space using a multi-directional camera |
| EP3693697B1 (en) * | 2019-02-06 | 2022-06-22 | OptiNav Sp. z o.o. | Method for calibrating a 3d measurement arrangement and 3d measurement arrangement |
| CN113358098A (en) * | 2021-05-13 | 2021-09-07 | 武汉中观自动化科技有限公司 | Portable detection method and system based on intelligent reverse positioning |
-
2024
- 2024-03-21 JP JP2024045606A patent/JP2025145430A/en active Pending
-
2025
- 2025-03-14 WO PCT/JP2025/009794 patent/WO2025197771A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025197771A1 (en) | 2025-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5746477B2 (en) | Model generation device, three-dimensional measurement device, control method thereof, and program | |
| CN108734744A (en) | A kind of remote big field-of-view binocular scaling method based on total powerstation | |
| WO2018201677A1 (en) | Bundle adjustment-based calibration method and device for telecentric lens-containing three-dimensional imaging system | |
| CN111872922B (en) | Three-degree-of-freedom parallel robot hand-eye calibration method based on 3D vision sensor | |
| CN113362399B (en) | Calibration method for positions and postures of focusing mirror and screen in deflection measurement system | |
| JPWO2018043524A1 (en) | Robot system, robot system control apparatus, and robot system control method | |
| CN112361958A (en) | Line laser and mechanical arm calibration method | |
| JP2015031601A (en) | Three-dimensional measuring apparatus, method and program | |
| CN109773589B (en) | Method, device and equipment for online measurement and machining guidance of workpiece surface | |
| US12058468B2 (en) | Image capturing apparatus, image processing apparatus, image processing method, image capturing apparatus calibration method, robot apparatus, method for manufacturing article using robot apparatus, and recording medium | |
| JP2006098065A (en) | Calibration device and method, and three-dimensional modelling device and system capable of using the same | |
| US12174005B2 (en) | Metrology system with position and orientation tracking utilizing light beams | |
| Yamauchi et al. | Calibration of a structured light system by observing planar object from unknown viewpoints | |
| JP2006515422A (en) | Calibration software for surface reconstruction of small objects | |
| JP7533265B2 (en) | Support system, image processing device, support method and program | |
| CN110706292A (en) | Two-dimensional workbench error self-calibration method based on machine vision | |
| JP2025145430A (en) | Self-position estimation device, self-position estimation method, and camera relative position adjustment method | |
| WO2022124232A1 (en) | Image processing system and image processing method | |
| US20210146551A1 (en) | Measurement system and method for positioning accuracy of a robotic arm | |
| CN112815832B (en) | Measuring camera coordinate system calculation method based on 3D target | |
| JP2025145431A (en) | Calibration method and calibration device | |
| JP2025145429A (en) | Self-location estimation device and self-location estimation method | |
| Li et al. | Monocular stereo vision based method for validating path accuracy of industrial robots | |
| US12455158B2 (en) | Metrology system with high speed position and orientation tracking mode | |
| Ye et al. | A Novel Rotational Laser Vision Sensor for Industrial Robot Calibration |