JP2014161937A - Posture detection device, position detection device, robot, robot system, posture detection method and program - Google Patents
Posture detection device, position detection device, robot, robot system, posture detection method and program Download PDFInfo
- Publication number
- JP2014161937A JP2014161937A JP2013033542A JP2013033542A JP2014161937A JP 2014161937 A JP2014161937 A JP 2014161937A JP 2013033542 A JP2013033542 A JP 2013033542A JP 2013033542 A JP2013033542 A JP 2013033542A JP 2014161937 A JP2014161937 A JP 2014161937A
- Authority
- JP
- Japan
- Prior art keywords
- posture
- difference
- imaging device
- dissimilarity
- image
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、姿勢検出装置、位置検出装置、ロボット、ロボットシステム、姿勢検出方法及びプログラムに関する。 The present invention relates to a posture detection device, a position detection device, a robot, a robot system, a posture detection method, and a program.
従来よりカメラで撮影した画像から対象物の位置及び姿勢を検出して、予め決められた位置及び姿勢に制御するロボットの技術が開示されている。従来技術において、カメラ座標におけるカメラの光軸方向の位置検出については、画像中の対象物の大きさからその位置を検出するが、位置の変化に対して対象物の大きさの変化の度合いが小さく、検出の精度が低いという問題があった。更に、対象物の姿勢変化によっては画像中の対象物が小さくなり、姿勢の検出精度が低くなるという問題があった。 2. Description of the Related Art Conventionally, there has been disclosed a robot technology that detects the position and orientation of an object from an image captured by a camera and controls the object to a predetermined position and orientation. In the prior art, for the position detection of the camera in the optical axis direction in the camera coordinates, the position is detected from the size of the object in the image, but the degree of change in the size of the object with respect to the change in position is There was a problem that it was small and detection accuracy was low. Furthermore, there is a problem in that the object in the image becomes smaller depending on the posture change of the object, and the posture detection accuracy is lowered.
この問題に対して、従来からステレオカメラを用いて、それぞれのカメラ座標におけるカメラの光軸と直交する平面上の位置を検出して、三角測量の原理を用いてカメラの光軸方向の位置を高精度に検出する技術が開示されている(例えば、特許文献1参照)。その技術では、更にそれぞれのカメラ座標において検出した姿勢を利用することで、姿勢の検出精度が低下することを防ぐことが開示されている。 To solve this problem, a conventional stereo camera is used to detect the position on the plane perpendicular to the optical axis of the camera at each camera coordinate, and the position of the camera in the optical axis direction is determined using the principle of triangulation. A technique for detecting with high accuracy is disclosed (for example, see Patent Document 1). The technology discloses that the posture detection accuracy is further prevented by using the posture detected at each camera coordinate.
しかしながら、上記位置及び姿勢の検出精度を上げるためにはステレオカメラを構成するカメラ同士の相対的な位置及び姿勢を高精度に推定する必要があり、それぞれの座標の対応する点の数を増やす必要があり、煩雑で時間のかかる作業となってしまう。一方、上記対応点の数を減らして時間の短縮を図ると高精度な位置及び姿勢の検出が出来ないという問題がある。 However, in order to increase the detection accuracy of the position and orientation, it is necessary to estimate the relative position and orientation of the cameras constituting the stereo camera with high accuracy, and it is necessary to increase the number of corresponding points of each coordinate. This is complicated and time consuming. On the other hand, if the number of corresponding points is reduced to shorten the time, there is a problem that the position and orientation cannot be detected with high accuracy.
そこで本発明の一態様は、上記問題に鑑みてなされたものであり、対象物の姿勢の推定精度を保ちつつ対象物の姿勢推定処理を簡便にすることを可能とする姿勢検出装置、位置検出装置、ロボット、ロボットシステム、姿勢検出方法及びプログラムを提供することを課題とする。 Accordingly, one aspect of the present invention has been made in view of the above problems, and a posture detection device and position detection that can simplify the posture estimation processing of an object while maintaining the estimation accuracy of the posture of the object. It is an object to provide an apparatus, a robot, a robot system, a posture detection method, and a program.
(1)本発明の一態様は、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出部と、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、を備える姿勢検出装置である。
これにより、姿勢検出装置は、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(1) According to one aspect of the present invention, a first captured image obtained by capturing an image of an object by the first imaging device and a first virtual space corresponding to the space captured by the first imaging device. A first dissimilarity calculating unit that calculates a first dissimilarity indicating a dissimilarity between the object and the model image for each of a plurality of different postures of the object in the first virtual space; In a second virtual image corresponding to a second captured image obtained by imaging a target by a second imaging device arranged at a position different from the imaging device, and a space imaged by the second imaging device A second dissimilarity calculating unit that calculates a second dissimilarity indicating a dissimilarity with the model image of the object for each of a plurality of postures of the object in the second virtual space; and the first dissimilarity A plurality of first differences calculated by the degree calculator and a plurality of differences calculated by the second difference calculator And posture estimation unit that estimates a posture of said object in said first imaging coordinate system based on the second difference degree is a posture detection device comprising a.
Thereby, since the attitude | position detection apparatus can estimate the attitude | position of a target object based on each difference obtained from the several different viewpoint, it can improve the estimation precision of an attitude | position.
(2)本発明の一態様は、上述の姿勢検出装置であって、前記姿勢推定部は、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度のそれぞれに重み係数を乗じ、乗じることで得た値を基に前記第1の撮像座標系における前記対象物の姿前記対象物の姿勢を推定する。これにより、姿勢検出装置は、第1の撮像装置と第2の撮像装置のうち対象物の視認性がより悪い方の撮像装置の撮像画像から得られた相違度を軽視するように重み係数を乗じることで、対象物の姿勢を推定する際に視認性がより悪い方の撮像装置の撮像画像から得られた相違度が含む誤差が対象物の姿勢推定に与える影響を小さくすることができるので、姿勢の推定精度を向上させることができる。 (2) One aspect of the present invention is the posture detection device described above, wherein the posture estimation unit includes the plurality of first differences calculated by the first difference calculation unit and the second differences. The degree of the object in the first imaging coordinate system is estimated based on a value obtained by multiplying each of the plurality of second dissimilarities calculated by the degree calculating unit by a weighting factor and multiplying the weight coefficient. To do. Accordingly, the posture detection device sets the weighting coefficient so as to neglect the degree of difference obtained from the captured image of the imaging device with the worse visibility of the target object between the first imaging device and the second imaging device. By multiplying, it is possible to reduce the influence of the difference included in the captured image of the imaging device with the worse visibility when estimating the posture of the object on the posture estimation of the object. , Posture estimation accuracy can be improved.
(3)本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置が前記第2の撮像装置よりも前記対象物の視認性が良い場合、前記姿勢推定部は、前記対象物が目標の位置から予め決められた位置範囲にあるとき、前記第1の相違度に乗じる重み係数を前記第2の相違度に乗じる重み係数より大きくする。
これにより、姿勢推定部は、対象物が目標の位置から予め決められた位置範囲にあるとき、視認性がより悪い第2の撮像装置の撮像画像から得られた第2の相違度に係る重みが相対的に小さくなるので、第2の相違度が含む誤差が対象物の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部は、対象物の姿勢推定の精度を向上させることができる。また、撮像装置同士の相対的な位置関係を算出する必要がないので、簡便に対象物の姿勢を推定することができる。
(3) One aspect of the present invention is the posture detection device described above, and when the first imaging device has better visibility of the object than the second imaging device, the posture estimation unit includes: When the object is in a predetermined position range from the target position, the weighting coefficient by which the first difference is multiplied is made larger than the weighting coefficient by which the second difference is multiplied.
Accordingly, the posture estimation unit weights the second degree of difference obtained from the captured image of the second imaging device with poorer visibility when the object is in a predetermined position range from the target position. Therefore, the influence of the error included in the second difference degree on the posture estimation of the object can be reduced. As a result, the posture estimation unit can improve the accuracy of posture estimation of the object. In addition, since it is not necessary to calculate the relative positional relationship between the imaging devices, it is possible to easily estimate the posture of the object.
(4)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置が前記第2の撮像装置よりも前記対象物の視認性が良い場合、前記姿勢推定部は、前記対象物が目標の位置から予め決められた位置範囲にあるとき、前記第2の相違度に乗じる重み係数が予め決められた範囲に収まるよう、前記対象物の移動開始時刻から前記対象物が目標の位置から予め決められた位置範囲に到達する時刻まで、前記第2の相違度に乗じる重み係数を変化させる。
これにより、対象物が目標の位置から予め決められた位置範囲にあるとき、視認性がより悪い第2の撮像装置の撮像画像から得られた第2の相違度に係る重みを予め決められた範囲に収まるようすることで、第2の相違度が含む誤差が対象物の姿勢推定に与える影響をより小さくすることができる。その結果、姿勢推定部は、対象物の姿勢推定の精度を向上させることができる。
(4) Moreover, one aspect of the present invention is the posture detection device described above, and when the first imaging device has better visibility of the object than the second imaging device, the posture estimation unit When the object is in a predetermined position range from the target position, the object is moved from the movement start time of the object so that a weighting factor to be multiplied by the second difference is within the predetermined range. The weighting factor by which the second difference is multiplied is changed until the time when the object reaches the predetermined position range from the target position.
Thereby, when the target object is in a predetermined position range from the target position, the weight related to the second difference obtained from the captured image of the second imaging device with poor visibility is determined in advance. By making it fall within the range, it is possible to further reduce the influence of the error included in the second dissimilarity on the posture estimation of the object. As a result, the posture estimation unit can improve the accuracy of posture estimation of the object.
(5)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置が前記第2の撮像装置よりも前記対象物の視認性が良い場合、前記姿勢推定部は、前記対象物の移動開始時刻から前記対象物が目標の位置から予め決められた位置範囲に到達する時刻までの期間で、前記第2の相違度に乗じる重み係数を時間の経過とともに小さくする。
これにより、時間が経過するに連れて、視認性がより悪い第2の撮像装置の撮像画像から得られた第2の相違度に係る重みが小さくなるので、第2の相違度が含む誤差が対象物の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部は、対象物の姿勢推定の精度を向上させることができる。
(5) Moreover, one aspect of the present invention is the posture detection device described above, and when the first imaging device has better visibility of the object than the second imaging device, the posture estimation unit Is a period from the movement start time of the target object to the time when the target object reaches a predetermined position range from the target position, and the weight coefficient to be multiplied by the second difference is reduced with the passage of time. .
As a result, as the time elapses, the weight related to the second difference obtained from the captured image of the second imaging device with poorer visibility becomes smaller, so that the error included in the second difference becomes smaller. The influence on the posture estimation of the object can be reduced. As a result, the posture estimation unit can improve the accuracy of posture estimation of the object.
(6)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置が前記第2の撮像装置よりも前記対象物の視認性が良く、前記対象物の位置が移動する場合、前記姿勢推定部は、前記対象物の単位時間あたりの移動量が小さくなるに従って前記第2の相違度に乗じる重み係数を小さくする。
ここで、対象物の単位時間あたりの移動量は、対象物を動かし始めたときが最も大きく、その後、時間の経過とともに徐々に小さくなるものである。このため、時間が経過するに連れて、第2の相違度に係る重みが小さくなるので、第2の相違度が含む誤差が対象物の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部は、対象物の姿勢推定の精度を向上させることができる。
(6) One embodiment of the present invention is the posture detection device described above, in which the first imaging device has better visibility of the object than the second imaging device, and the position of the object. When the pose moves, the posture estimation unit decreases the weight coefficient by which the second difference is multiplied as the amount of movement of the object per unit time decreases.
Here, the movement amount of the object per unit time is the largest when the object starts to move, and then gradually decreases with the passage of time. For this reason, as the time elapses, the weight related to the second dissimilarity decreases, so that the influence of the error included in the second dissimilarity on the posture estimation of the object can be reduced. As a result, the posture estimation unit can improve the accuracy of posture estimation of the object.
(7)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置が前記第2の撮像装置よりも前記対象物の視認性が良い場合、前記姿勢推定部は、前記第2の相違度に乗じる重み係数を、前記対象物が目標の位置に近づくに従って小さくする。
これにより、対象物が目標の位置に近づくに従って、第2の相違度に係る重みが小さくなるので、第2の相違度が含む誤差が対象物の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部は、対象物の姿勢推定の精度を向上させることができる。
(7) According to another aspect of the present invention, in the posture detection device described above, when the first imaging device has better visibility of the object than the second imaging device, the posture estimation unit Decreases the weighting factor by which the second difference is multiplied as the object approaches the target position.
Thereby, as the object approaches the target position, the weight related to the second dissimilarity decreases, so that the influence of the error included in the second dissimilarity on the posture estimation of the object can be reduced. As a result, the posture estimation unit can improve the accuracy of posture estimation of the object.
(8)また、本発明の一態様は、上述の姿勢検出装置であって、前記姿勢推定部は、前記第1の相違度に乗じる重み係数と、前記第2の相違度に乗じる重み係数を、前記第1の撮像画像と前記第2の撮像画像のそれぞれに混入している雑音成分に応じて変化させる。これにより、姿勢推定部は、雑音成分が多い画像に対する重み係数を相対的に小さくすることができ、雑音成分が多い画像に対応する相違度の姿勢推定への寄与を相対的に小さくすることができるので、対象物の姿勢推定の精度を向上させることができる。 (8) Moreover, 1 aspect of this invention is the above-mentioned attitude | position detection apparatus, Comprising: The said attitude | position estimation part calculates the weighting coefficient by which the said 1st difference is multiplied, and the weighting coefficient by which the said 2nd difference is multiplied. , And changing according to a noise component mixed in each of the first captured image and the second captured image. As a result, the posture estimation unit can relatively reduce the weighting factor for an image with a large amount of noise components, and can relatively reduce the contribution of the dissimilarity corresponding to an image with a large amount of noise components to posture estimation. Therefore, the accuracy of posture estimation of the object can be improved.
(9)また、本発明の一態様は、上述の姿勢検出装置であって、前記姿勢推定部は、前記第1の相違度に乗じる重み係数と、前記第2の相違度とに乗じる重み係数を、前記第1の撮像画像と前記第2の撮像画像のそれぞれに混入している正規化ランダムノイズの分散の逆数とする。これにより、正規化ランダムノイズの分散が大きいほどノイズが多いが、正規化ランダムノイズの分散が大きいほど重み係数が小さくなるので、ノイズが多いほど重み係数が小さくなる。その結果、ノイズが多い画像に対する重み係数を相対的に小さくすることができ、ノイズが多い画像に対応する相違度の姿勢推定への寄与を相対的に小さくすることができるので、対象物の姿勢推定の精度を向上させることができる。 (9) Moreover, one aspect of the present invention is the posture detection apparatus described above, wherein the posture estimation unit multiplies the weight coefficient by which the first difference is multiplied and the weight coefficient by which the second difference is multiplied. Is the reciprocal of the variance of the normalized random noise mixed in each of the first captured image and the second captured image. As a result, the greater the variance of the normalized random noise, the more noise, but the greater the variance of the normalized random noise, the smaller the weighting factor. Therefore, the greater the noise, the smaller the weighting factor. As a result, the weighting factor for a noisy image can be made relatively small, and the contribution of the dissimilarity corresponding to the noisy image to the posture estimation can be made relatively small. The accuracy of estimation can be improved.
(10)また、本発明の一態様は、上述の姿勢検出装置であって、前記姿勢推定部は、前記第1の撮像装置で撮像した異なるフレーム間の画像の相違度を前記第1の撮像画像に混入している正規化ランダムノイズの分散として算出し、前記第2の撮像装置で撮像した異なるフレーム間の画像の相違度を前記第2の撮像画像に混入する正規化ランダムノイズの分散として算出する。これにより、フレーム間の画像の相違度を算出することで、異なるフレーム間に含まれるノイズ量の差を算出することができ、この異なるフレーム間に含まれるノイズ量の差で、正規化ランダムノイズの分散を近似することができる。これにより、フレーム間の画像の相違度が大きいほど正規化ランダムノイズの分散が大きくなり、重み係数が小さくなる。その結果、ノイズが多い画像に対する重み係数を相対的に小さくすることができ、ノイズが多い画像に対応する相違度の姿勢推定への寄与を相対的に小さくすることができるので、対象物の姿勢推定の精度を向上させることができる。 (10) Moreover, one aspect of the present invention is the posture detection device described above, wherein the posture estimation unit calculates a difference between images captured by the first imaging device between different frames. Calculated as the variance of normalized random noise mixed in the image, and the difference in the image between different frames captured by the second imaging device as the variance of normalized random noise mixed in the second captured image calculate. Thus, by calculating the image dissimilarity between the frames, it is possible to calculate the difference in the amount of noise included between the different frames. Can be approximated. Thereby, the larger the image dissimilarity between frames, the larger the variance of the normalized random noise and the smaller the weighting factor. As a result, the weighting factor for a noisy image can be made relatively small, and the contribution of the dissimilarity corresponding to the noisy image to the posture estimation can be made relatively small. The accuracy of estimation can be improved.
(11)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の撮像装置を基準とする第1の撮像座標系で前記対象物の姿勢を表したときの座標を第2の撮像装置を基準とする第2の撮像座標系で前記対象物の姿勢を表したときの座標へ変換する変換規則に基づいて、前記第1の仮想空間における前記対象物の複数の異なる姿勢に対応する第2の仮想空間における前記対象物の複数の姿勢をそれぞれ取得する姿勢取得部を更に備え、前記第2の相違度算出部は、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記姿勢取得部が算出した前記第2の仮想空間における対象物の複数の姿勢毎に算出する。これにより、対象物を第1の仮想空間と第2の仮想空間とで異なる視点から見たモデル画像について、それぞれ相違度を算出することができる。これにより、姿勢検出に向いた撮像装置が撮像した撮像画像から検出された姿勢に重きを置いて姿勢を推定できるので、対象物の姿勢推定の精度を向上させることができる。 (11) Moreover, one aspect of the present invention is the posture detection device described above, in which coordinates when the posture of the object is expressed in a first imaging coordinate system with the first imaging device as a reference are expressed. A plurality of different objects in the first virtual space based on a conversion rule for converting to coordinates when the posture of the object is expressed in a second imaging coordinate system based on the second imaging device. A posture acquisition unit that acquires each of a plurality of postures of the object in the second virtual space corresponding to the posture is further provided, and the second difference calculation unit is arranged at a position different from that of the first imaging device. A second captured image obtained by capturing the target object by the second image capturing apparatus and a model image of the target object in the second virtual space corresponding to the space captured by the second image capturing apparatus. The posture acquisition unit calculates a second degree of difference indicating the degree of difference. Calculated for each of the plurality of orientation of the target object in serial the second virtual space. As a result, the degree of difference can be calculated for each model image of the object viewed from different viewpoints in the first virtual space and the second virtual space. As a result, since the posture can be estimated by placing importance on the posture detected from the captured image captured by the imaging device suitable for posture detection, the accuracy of the posture estimation of the target can be improved.
(12)また、本発明の一態様は、上述の姿勢検出装置であって、前記第1の相違度算出部は、前記第1の撮像装置が対象物を撮像することで得られた第1の撮像画像と、前記第1の仮想空間における前記対象物のモデル画像との相違度を示す第3の相違度を、前記第1の仮想空間における前記対象物の複数の異なる位置毎に算出し、前記第2の相違度算出部は、前記第2の撮像装置が対象物を撮像することで得られた第2の撮像画像と、前記第2の仮想空間における前記対象物のモデル画像との相違度を示す第4の相違度を、前記第2の仮想空間における前記対象物の複数の異なる位置毎に算出し、複数の前記第3の相違度と複数の前記第4の相違度に基づいて、前記第1の撮像座標系における前記対象物の位置を推定する位置推定部と、を備える。
これにより、第1の撮像画像を用いて算出された第3の相違度と第2の撮像画像を用いて算出された第4の相違度から位置を推定するので、一つの撮像装置で撮像した画像から位置を推定するよりも位置の推定精度を向上させることができる。
(12) One embodiment of the present invention is the posture detection device described above, wherein the first difference calculation unit is a first obtained by the first imaging device imaging an object. A third dissimilarity indicating the dissimilarity between the captured image and the model image of the object in the first virtual space is calculated for each of a plurality of different positions of the object in the first virtual space. The second dissimilarity calculation unit includes a second captured image obtained by the second imaging device capturing an object and a model image of the object in the second virtual space. A fourth dissimilarity indicating a dissimilarity is calculated for each of a plurality of different positions of the object in the second virtual space, and is based on the plurality of third dissimilarities and the plurality of fourth dissimilarities. A position estimation unit that estimates the position of the object in the first imaging coordinate system; Provided.
As a result, the position is estimated from the third difference calculated using the first captured image and the fourth difference calculated using the second captured image. The position estimation accuracy can be improved compared to the position estimation from the image.
(13)また、本発明の一態様は、上述の姿勢検出装置であって、前記位置推定部は、前記第1の相違度算出部が算出した複数の第3の相違度を参照して、前記第1の撮像座標系における撮像装置の光軸と直行する第1の平面の位置を推定し、前記第2の相違度算出部が算出した複数の第4の相違度を参照して、前記第2の撮像座標系における撮像装置の光軸と直行する第2の平面の位置を推定する平面位置推定部と、前記第1の平面の位置と前記第2の平面の位置とを参照して、前記第1の撮像座標系における前記対象物の奥行きを算出する奥行き算出部と、を備える。
これにより、第1の撮像画像を用いて算出された第3の相違度と第2の撮像画像を用いて算出された第3の相違度から、奥行きを算出するので、奥行きの推定精度を向上させることができる。また、平面位置推定部で推定された第1の平面の位置と、第2の平面の位置とを参照して第1の撮像装置の光軸方向の位置を算出するため、第1の撮像装置の光軸方向の位置の推定精度を向上させることができる。
(13) Moreover, one aspect of the present invention is the posture detection device described above, wherein the position estimation unit refers to a plurality of third differences calculated by the first difference calculation unit, Estimating the position of the first plane orthogonal to the optical axis of the imaging device in the first imaging coordinate system, and referring to the plurality of fourth differences calculated by the second difference calculator; With reference to the plane position estimation unit that estimates the position of the second plane orthogonal to the optical axis of the imaging apparatus in the second imaging coordinate system, the position of the first plane, and the position of the second plane And a depth calculation unit that calculates the depth of the object in the first imaging coordinate system.
Thereby, since the depth is calculated from the third difference calculated using the first captured image and the third difference calculated using the second captured image, the depth estimation accuracy is improved. Can be made. Further, the first imaging device is used to calculate the position of the first imaging device in the optical axis direction with reference to the position of the first plane and the position of the second plane estimated by the plane position estimation unit. The estimation accuracy of the position in the optical axis direction can be improved.
(14)また、本発明の一態様は、上述の姿勢検出装置であって、前記位置推定部は、複数の前記第3の相違度と複数の前記第4の相違度に基づいて、前記第1の撮像座標系における前記対象物の奥行きを推定する。これにより、第1の撮像画像を用いて算出された第3の相違度と第2の撮像画像を用いて算出された第4の相違度から奥行きを推定するので、一つの撮像装置で撮像した画像から奥行きを推定するよりも奥行きの推定精度を向上させることができる。 (14) One aspect of the present invention is the posture detection device described above, in which the position estimation unit is configured to perform the first estimation based on the plurality of third differences and the plurality of fourth differences. The depth of the object in one imaging coordinate system is estimated. As a result, the depth is estimated from the third difference calculated using the first captured image and the fourth difference calculated using the second captured image. It is possible to improve the accuracy of estimating the depth than estimating the depth from the image.
(15)また、本発明の一態様は、上述の姿勢検出装置であって、前記姿勢推定部が推定した対象物の姿勢とそれ以前に推定した前記対象物の姿勢との差を参照して、推定が収束したか否か判定する判定部と、を備え、前記判定部が収束していないと判定した場合、前記第1の相違度算出部は、前記対象物のモデル画像の姿勢を予め決められたように変更した後のモデル画像と前記第1の撮像画像とに基づいて前記複数の第1の相違度を算出し、前記第2の相違度算出部は、前記対象物のモデル画像の姿勢を予め決められたように変更した後のモデル画像と前記第2の撮像画像とに基づいて前記複数の第2の相違度を算出し、前記姿勢推定部は、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて、前記対象物の姿勢を推定し、前記判定部は、前記姿勢推定部が推定した前記対象物の姿勢を用いて判定を再び行う。
これにより、姿勢推定部は、対象物の姿勢とそれ以前に推定した対象物の姿勢との差が小さくなるまで、対象物の姿勢を更新するので、対象物の姿勢推定の精度を向上させることができる。
(15) Moreover, one aspect of the present invention is the posture detection apparatus described above, with reference to a difference between the posture of the object estimated by the posture estimation unit and the posture of the object estimated before that. A determination unit that determines whether or not the estimation has converged, and when the determination unit determines that the estimation has not converged, the first difference calculation unit determines the orientation of the model image of the object in advance The plurality of first dissimilarities are calculated based on the model image after being changed as determined and the first captured image, and the second dissimilarity calculating unit is configured to calculate the model image of the object. The plurality of second dissimilarities are calculated based on the model image after the pose is changed as determined in advance and the second captured image, and the posture estimating unit is configured to calculate the first dissimilarity. The plurality of first differences calculated by the calculation unit and the second difference calculation unit calculated by the calculation unit Based on the second difference degree number, and estimating the pose of the object, the determining unit again performs the determination using the attitude of the object in which the posture estimating unit has estimated.
As a result, the posture estimation unit updates the posture of the object until the difference between the posture of the target object and the posture of the target object previously estimated becomes small, so that the accuracy of the posture estimation of the target object is improved. Can do.
(16)また、本発明の一態様は、上述の姿勢検出装置であって、前記対象物が目標の位置から予め決められた範囲にある際に、該対象物の位置または姿勢が変化する前後で前記第1の撮像装置が撮像して得た二つの画像間の変化量は、該対象物の位置または姿勢が変化する前後で前記第2の撮像装置が撮像して得た二つの画像間の変化量より大きい。
これにより、第1の撮像装置は、対象物が目標の位置から予め決められた範囲にある際に対象物の視認性が良く、かつ対象物が目標の位置から予め決められた範囲にある際に第1の相違度が姿勢の検出に貢献する割合が相対的に大きくなるので、対象物が目標の位置から予め決められた範囲にある際の対象物の姿勢精度を向上させることができる。
(16) One embodiment of the present invention is the posture detection apparatus described above, wherein the position or posture of the target object changes before and after the target object is within a predetermined range from the target position. The amount of change between the two images acquired by the first imaging device is the difference between the two images acquired by the second imaging device before and after the position or orientation of the object changes. Greater than the amount of change.
Thereby, the first imaging device has good visibility of the object when the object is in a predetermined range from the target position, and when the object is in the predetermined range from the target position. In addition, since the ratio that the first difference contributes to the detection of the posture is relatively large, the posture accuracy of the target when the target is in a predetermined range from the target position can be improved.
(17)また、本発明の一態様は、上述の姿勢検出装置であって、前記対象物が目標の位置及び姿勢にあるときの該対象物を前記第1の撮像装置で撮影した第1のゴール画像と前記第2の撮像装置で撮影した第2のゴール画像とを取得するゴール画像取得部と、前記第1のゴール画像を撮影した空間を再現する第1の仮想空間において存在する対象物のモデルの位置及び姿勢から、予め決められた軸周りまたは軸方向に予め決められたように前記モデルを移動させて撮影した画像と、前記第1のゴール画像との相違度を示す第5の相違度を算出し、前記第2のゴール画像を撮影した空間を再現する第2の仮想空間において存在する対象物のモデルの位置及び姿勢から、予め決められた軸周りまたは軸方向に予め決められたように前記モデルを移動させて撮影した画像と、第2のゴール画像との相違度を示す第6の相違度を算出し、前記第5の相違度を算出した際の移動方向への前記第5の相違度の勾配と、前記第6の相違度を算出した際の移動方向への前記第6の相違度の勾配とを比較することで、姿勢推定の基準となる撮像装置を決定し、該決定した撮像装置を新たに前記第1の撮像装置とする位置決め基準撮像装置決定部と、を備える。
これにより、目標の位置及び姿勢付近において、決定された姿勢推定の基準となる撮像装置が撮影した画像から導出される相違度が姿勢推定に貢献する割合が大きくなる。その際、目標の位置及び姿勢付近において、別の撮像装置を基準としたときよりも相違度の変化が大きくなることで、対象物を目標の位置及び姿勢により早く到達させることができる。
(17) Further, one aspect of the present invention is the posture detection device described above, wherein the first imaging device captures the target when the target is at a target position and posture. A goal image acquisition unit that acquires a goal image and a second goal image captured by the second imaging device, and an object that exists in a first virtual space that reproduces the space where the first goal image is captured A fifth image indicating a degree of difference between the first goal image and an image captured by moving the model as determined in advance around or in a predetermined axis from the position and orientation of the model The degree of difference is calculated and predetermined around the axis or in the axial direction based on the position and orientation of the model of the object existing in the second virtual space that reproduces the space where the second goal image was captured. The model as A sixth dissimilarity indicating a dissimilarity between the image taken by moving and the second goal image is calculated, and the fifth dissimilarity in the moving direction when the fifth dissimilarity is calculated is calculated. By comparing the gradient and the gradient of the sixth dissimilarity in the moving direction when the sixth dissimilarity is calculated, an imaging device serving as a reference for posture estimation is determined, and the determined imaging device And a positioning reference imaging device determination unit that newly sets the first imaging device as the first imaging device.
As a result, in the vicinity of the target position and posture, the ratio that the degree of difference derived from the image captured by the imaging device serving as a reference for the determined posture estimation contributes to the posture estimation increases. At that time, the change in the dissimilarity becomes larger in the vicinity of the target position and posture than when another imaging device is used as a reference, so that the target can be reached earlier in the target position and posture.
(18)また、本発明の一態様は、上述の姿勢検出装置であって、前記対象物が複数ある場合、前記第1の相違度算出部は、前記第1の仮想空間において位置姿勢推定の対象となる対象物以外の対象物全ての画像領域を特定し、該特定した画像領域を演算対象から除いて第1の相違度を算出し、前記第2の相違度算出部は、前記第2の仮想空間において位置姿勢推定の対象となる対象物以外の対象物全ての画像領域を特定し、該特定した画像領域を演算対象から除いて第2の相違度を算出する。これにより、対象物が複数あったとしても、姿勢推定の対象となる対象物以外の対象物の画像領域が相違度に貢献しないようにすることで、姿勢推定の対象となる対象物の画像領域だけから相違度を算出することができる。その結果、複数の対象物それぞれについて姿勢を推定することができる。 (18) Further, according to one aspect of the present invention, in the posture detection device described above, when there are a plurality of the objects, the first difference calculation unit performs position and posture estimation in the first virtual space. The image areas of all objects other than the target object are specified, the specified image area is excluded from the calculation target, the first difference is calculated, and the second difference calculation unit is In this virtual space, the image areas of all the objects other than the object to be subjected to position / orientation estimation are specified, and the specified image area is excluded from the calculation target, and the second difference is calculated. Thus, even if there are a plurality of objects, the image area of the object other than the object that is the object of posture estimation does not contribute to the degree of difference, so that the image area of the object that is the object of posture estimation The degree of difference can be calculated only from the above. As a result, the posture can be estimated for each of the plurality of objects.
(19)また、本発明の一態様は、上述の姿勢検出装置であって、前記推定された対象物の位置及び姿勢と前記対象物が目標の位置にある場合の位置及び姿勢とに基づいて、現在の時刻から予め決められた時間経過した後のロボット座標系における位置及び姿勢の変化量を決定する目標位置姿勢決定部と、ロボットを制御する時間間隔毎に、前記目標位置姿勢決定部が決定した変化量のうち最新の変化量に基づいて、前記時間間隔後のロボットの位置及び姿勢を決定し、該決定した位置及び姿勢になるようロボットを制御するロボット制御部と、を更に備え、前記ロボット制御部は、前記予め決められた時間のうち、自装置が第1の撮像画像及び第2の撮像画像から前記変化量を決定するまでの最短時間に基づいて決められた時間まではロボットが加速及び減速で移動するように前記ロボットの位置及び姿勢を決定し、その後の時間はロボットが等速で移動するように前記ロボットの位置及び姿勢を決定する。
これにより、第1の撮像画像及び第2の撮像画像から前記変化量を決定するまでの時間に揺らぎがあっても、第1の撮像画像及び第2の撮像画像の撮像開始から前記変化量を決定するまでの一連の画像処理が終了した時点では、常にロボットが等速で移動することになる。それにより、ロボット制御部はその等速で移動しているときの速度を初速としてロボットの加速制御または減速制御を始めることができる。そのため、ロボット制御部は、画像処理が終わると同時に、その画像処理で得られた変化量を用いてロボットを制御できるので、対象物を目標の位置及び目標の姿勢にするまでの時間を短縮することができる。
(19) One aspect of the present invention is the posture detection apparatus described above, based on the estimated position and posture of the object and the position and posture when the object is at the target position. A target position / posture determination unit that determines the amount of change in position and posture in the robot coordinate system after a predetermined time has elapsed from the current time, and the target position / posture determination unit for each time interval for controlling the robot. A robot controller that determines the position and posture of the robot after the time interval based on the latest amount of change among the determined amounts of change, and controls the robot to be the determined position and posture; and The robot control unit performs a robot until the time determined based on the shortest time from which the own apparatus determines the amount of change from the first captured image and the second captured image within the predetermined time. DOO determines the position and orientation of the robot for movement acceleration and deceleration, the subsequent time to determine the position and orientation of the robot to move the robot at a constant speed.
Thereby, even if there is a fluctuation in the time until the change amount is determined from the first captured image and the second captured image, the change amount is reduced from the start of imaging of the first captured image and the second captured image. When a series of image processing until the determination is completed, the robot always moves at a constant speed. Thereby, the robot controller can start acceleration control or deceleration control of the robot with the speed when moving at the constant speed as the initial speed. Therefore, the robot control unit can control the robot using the amount of change obtained by the image processing at the same time as the image processing is completed, so the time until the object is set to the target position and target posture is shortened. be able to.
(20)また、本発明の一態様は、第1の撮像装置が撮像した空間に対応する第1の仮想空間における対象物の複数の異なる姿勢毎に第1の相違度を算出する第1の相違度算出部と、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が撮像した空間に対応する第2の仮想空間における対象物の複数の姿勢毎に第2の相違度を算出する第2の相違度算出部と、前記複数の第1の相違度と前記複数の第2の相違度とを参照して前記第1の撮像装置を基準とする第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、を備える姿勢検出装置である。
これにより、姿勢検出装置は、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(20) Further, according to one aspect of the present invention, the first difference degree is calculated for each of a plurality of different postures of the object in the first virtual space corresponding to the space captured by the first imaging device. The second difference for each of the plurality of postures of the object in the second virtual space corresponding to the space imaged by the second imaging device arranged at a different position from the first imaging device. A first imaging coordinate based on the first imaging device with reference to a second degree-of-difference calculation unit that calculates a degree, and the plurality of first differences and the plurality of second differences And a posture estimation unit that estimates the posture of the object in the system.
Thereby, since the attitude | position detection apparatus can estimate the attitude | position of a target object based on each difference obtained from the several different viewpoint, it can improve the estimation precision of an attitude | position.
(21)また、本発明の一態様は、第1の撮像装置が対象物を撮像することで得られた第1の撮像画像と、第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における前記対象物の複数の異なる位置毎に算出する第3の相違度算出部と、第2の撮像装置が対象物を撮像することで得られた第2の撮像画像と、第2の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第2の仮想空間における前記対象物の複数の異なる位置毎に算出する第2の相違度算出部と、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて第1の撮像座標系における前記対象物の位置を推定する位置推定部と、を備える位置検出装置である。
これにより、位置検出装置は、複数の異なる視点から得られた相違度それぞれに基づいて対象物の位置を推定できるので、位置の推定精度を向上させることができる。
(21) Further, according to one embodiment of the present invention, a difference between a first captured image obtained by the first imaging device capturing an image of the target object and a model image of the target object in the first virtual space. A third dissimilarity calculating unit that calculates a first dissimilarity indicating a degree for each of a plurality of different positions of the object in the first virtual space, and the second imaging device images the object. The first difference indicating the difference between the second captured image obtained in step S3 and the model image of the object in the second virtual space is a plurality of different objects of the object in the second virtual space. A second dissimilarity calculator calculated for each position; a plurality of first dissimilarities calculated by the first dissimilarity calculator; and a plurality of second dissimilarities calculated by the second dissimilarity calculator. A position estimation unit that estimates the position of the object in the first imaging coordinate system based on the degree of difference; A position detecting device comprising a.
Thereby, since the position detection apparatus can estimate the position of the object based on each of the degrees of difference obtained from a plurality of different viewpoints, the position estimation accuracy can be improved.
(22)また、本発明の一態様は、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出部と、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、を備えるロボットである。
これにより、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(22) Further, according to one embodiment of the present invention, a first virtual image corresponding to a first captured image obtained by imaging a target by the first imaging device and a space captured by the first imaging device. A first dissimilarity calculating unit that calculates a first dissimilarity indicating a dissimilarity with a model image of the object in space for each of a plurality of different postures of the object in the first virtual space; And a second virtual image corresponding to a space captured by the second imaging device and a second captured image obtained by imaging the object by the second imaging device arranged at a different position from the first imaging device. A second dissimilarity calculating unit that calculates a second dissimilarity indicating a dissimilarity with the model image of the object in space for each of a plurality of postures of the object in the second virtual space; The plurality of first difference degrees calculated by the difference degree calculation unit and the second difference degree calculation unit calculate A robot and a posture estimation unit that estimates a posture of said object in said first imaging coordinate system based on a plurality of second difference degree.
Thereby, since the posture of the object can be estimated based on the degrees of difference obtained from a plurality of different viewpoints, the accuracy of posture estimation can be improved.
(23)また、本発明の一態様は、可動部を有するロボットと、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出部と、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、を備えるロボットシステムである。
これにより、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(23) Further, according to one embodiment of the present invention, a robot having a movable part, a first captured image obtained by imaging a target by the first imaging device, and a space captured by the first imaging device. A first difference that calculates a first degree of difference indicating a degree of difference from the model image of the object in the first virtual space corresponding to each of a plurality of different postures of the object in the first virtual space. A second captured image obtained by imaging the object by the second imaging device arranged at a position different from the degree calculating unit and the first imaging device, and a space captured by the second imaging device 2nd difference which calculates the 2nd difference which shows the difference with the model image of the above-mentioned object in the 2nd virtual space corresponding to each for a plurality of postures of the object in the above-mentioned 2nd virtual space A plurality of first differences calculated by the calculation unit and the first difference calculation unit; And posture estimation unit that estimates a posture of said object in said first imaging coordinate system based on a plurality of second difference degree of dissimilarity calculating unit 2 has been calculated, a robotic system comprising a.
Thereby, since the posture of the object can be estimated based on the degrees of difference obtained from a plurality of different viewpoints, the accuracy of posture estimation can be improved.
(24)また、本発明の一態様は、第1の相違度算出部が、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する手順と、第2の相違度算出部が、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する手順と、姿勢推定部が、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する手順と、を有する姿勢検出方法である。
これにより、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(24) In addition, according to one aspect of the present invention, the first dissimilarity calculating unit captures a first captured image obtained by the first imaging device capturing an image of an object, and the first imaging device captures an image. Calculating a first dissimilarity indicating a dissimilarity with the model image of the object in the first virtual space corresponding to the space for each of a plurality of different postures of the object in the first virtual space; A second captured image obtained by the second imaging device having a second dissimilarity calculating unit imaging a target by a second imaging device arranged at a position different from the first imaging device; and the second imaging A second dissimilarity indicating a dissimilarity with the model image of the object in the second virtual space corresponding to the space imaged by the device is calculated for each of a plurality of postures of the object in the second virtual space. A plurality of first dissimilarities calculated by the first dissimilarity calculating unit by the procedure and the posture estimating unit; A step of serial second difference calculation unit estimates the posture of the object in the first image acquisition coordinate system based on a plurality of second difference degree calculated, a position detection method having.
Thereby, since the posture of the object can be estimated based on the degrees of difference obtained from a plurality of different viewpoints, the accuracy of posture estimation can be improved.
(25)また、本発明の一態様は、コンピューターに、第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出ステップと、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記姿勢取得ステップで算出された前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出ステップと、前記第1の相違度算出ステップで算出された複数の第1の相違度と、前記第2の相違度算出ステップで算出された複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定ステップと、を実行させるためのプログラムである。
このプログラムを実行することで、複数の異なる視点から得られた相違度それぞれに基づいて対象物の姿勢を推定できるので、姿勢の推定精度を向上させることができる。
(25) In addition, according to one embodiment of the present invention, a computer may include a first captured image obtained by imaging a target by the first imaging device, and a first space corresponding to the space captured by the first imaging device. A first dissimilarity calculating step for calculating a first dissimilarity indicating a dissimilarity with the model image of the object in one virtual space for each of a plurality of different postures of the object in the first virtual space; , A second captured image obtained by imaging a target object by a second imaging device arranged at a position different from that of the first imaging device, and a second corresponding to a space captured by the second imaging device. A second degree of difference indicating a degree of difference from the model image of the object in the second virtual space for each of a plurality of postures of the object in the second virtual space calculated in the posture acquisition step. 2 difference degree calculation steps and the first difference degree calculation step. Of the object in the first imaging coordinate system based on the plurality of first dissimilarities calculated in step 2 and the plurality of second dissimilarities calculated in the second dissimilarity calculating step. And a posture estimation step for estimating a posture.
By executing this program, the posture of the object can be estimated based on the degrees of difference obtained from a plurality of different viewpoints, so that the posture estimation accuracy can be improved.
<第1の実施形態>
以下、本発明の実施形態について、図面を参照して詳細に説明する。
第1の実施形態におけるロボット1は、一例として、ステレオカメラを用いて、位置及び姿勢推定の対象となる対象物の位置及び姿勢の推定を行う。そして、ロボット1は、一例として、各カメラで撮影した画像と、対象物のCG(Computer Graphics)モデルを撮影した画像との相違度の加重平均を用いて対象物の位置及び姿勢を検出する。そして、ロボット1は、一例として、ビジュアルサーボを用いて対象物を所定の位置及び姿勢に制御する。
<First Embodiment>
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
As an example, the
図1は、第1の実施形態におけるロボットの構成を示す概略ブロック図である。ロボット1は、制御装置(姿勢検出装置)101、ロボット本体102、グリッパ103、第1のカメラ(第1の撮像装置)105、及び第2のカメラ(第2の撮像装置)106を備える。ロボット本体102は、一例として垂直多関節型ロボットである。第1のカメラ105、第2のカメラ106は、ステレオカメラを構成する。同図は、グリッパ103で対象物104をつかんでいる際のロボット1である。同図において、ロボットの手先の位置(以下、ロボット手先位置ともいう)P1の一例が示されている。
FIG. 1 is a schematic block diagram showing the configuration of the robot in the first embodiment. The
同図において、ΣRはロボットの座標であり、ΣRにおける後述する第1のカメラ105の座標の姿勢を示す回転行列をR(ハット)RAとする。ここで、R(ハット)は、Rの上に記号^が付されたものである。
制御装置101は、ロボット本体102を制御する。
In the figure, sigma R are the coordinates of the robot, the rotation matrix indicating the orientation of the coordinates of the
The
ロボット本体102は、制御装置101の制御に従って、グリッパ103で対象物104をつかむ。そして、ロボット本体102は、対象物104が目標となる位置及び姿勢をとるように、グリッパ103の位置(ロボット手先位置ともいう)及び姿勢をグリッパ103の目標位置及び目標姿勢に変更する。
ロボット本体102は一例として6個の関節を含む。なお、ロボット本体102の関節は5個以下でも7個以上であってもよい。本実施形態では、一例として、制御装置101は、対象物104を目標の位置及び姿勢をとるようにロボット本体102を制御することで、対象物104を搬送する例について説明する。なお、対象物104の組み立て作業なども同様の処理で行わせることが可能である。
The
The
本実施形態では、ステレオカメラの配置として並行ステレオのようにそれぞれのカメラの座標軸の向きを一致させるように配置するよりも、互いが補完し合う関係になるように、互いのカメラ座標の軸の向きが一致しないように配置する(互いに違う方向から対象物104を撮影するように配置する)とよい。
In this embodiment, rather than arranging the stereo cameras in such a way that the orientations of the coordinate axes of the respective cameras coincide with each other as in the case of parallel stereo, the axes of the respective camera coordinates are arranged so as to complement each other. It is good to arrange so that the directions do not match (arrange so that the
図2は、対象物104の位置及び姿勢を検出する際に用いる座標を説明するための図である。同図において、ΣAは第1のカメラ105を基準とする座標(以下、第1のカメラ座標ともいう)、ΣBは第2のカメラ106を基準とする座標(以下、第2のカメラ座標ともいう)であり、T(アロー)BA及びR(ハット)BAはそれぞれ第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの位置を示す位置ベクトル、第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの姿勢を示す回転行列である。ここで、T(アロー)は、Tの上に記号→が付されたものである。T(アロー)A及びR(ハット)Aは、それぞれ第1のカメラ座標ΣAにおける対象物104の位置を示す位置ベクトル、第1のカメラ座標ΣAにおける対象物104の姿勢を示す回転行列である。T(アロー)B及びR(ハット)Bは、それぞれΣBにおける対象物104の位置を示す位置ベクトル、ΣBにおける対象物104の姿勢を示す回転行列である。
FIG. 2 is a diagram for explaining coordinates used when detecting the position and orientation of the
図3は、第1のカメラ105及び第2のカメラ106で撮影した画像の一例を示す図である。同図において、第1のカメラ105で撮影した画像G301と、第2のカメラ106で撮影した画像G302が示されている。第1のカメラ105で撮影した画像G301の座標は該画像G301の左上隅を原点として横軸をuA、縦軸をvAとする。第2のカメラ106で撮影した画像G302の座標は該画像G302の左上隅を原点として横軸をuB、縦軸をuBとする。尚、第1のカメラ105で撮影した画像301及び第2のカメラ106で撮影した画像302中の実線で描かれた直方体は現在の対象物104の画像領域を示している。
FIG. 3 is a diagram illustrating an example of images taken by the
図4は、第1の実施形態における制御装置101の構成を示す概略ブロック図である。制御装置101は、入力部110、処理部120、及び記憶部190を備える。
入力部110は、ユーザからの入力(例えば、設定項目に関する事項)を受け付け、受け付けた入力を示す入力情報を処理部120に出力する。
記憶部190には、処理部120が読み出して実行するための各種のプログラムが記憶されている。
FIG. 4 is a schematic block diagram illustrating the configuration of the
The
The
処理部120は、入力部110から入力された入力情報を記憶部190に記憶させる。処理部120は、記憶部190に記憶されているプログラムを読み出して実行する。処理部120は、変換規則決定部130と、ゴール画像取得部140と、現在画像取得部145と、位置姿勢検出部150と、ロボット制御部160と、第1判定部170とを備える。
The
変換規則決定部130は、第1のカメラ105を基準とする第1の撮像座標系で対象物の姿勢を表したときの座標を第2のカメラ106を基準とする第2の撮像座標系で対象物104の姿勢を表したときの座標へ変換する(例えば、回転行列)を決定する。変換規則決定部130は、決定した変換規則を示す変換規則情報を位置姿勢検出部150に出力する。
The conversion
本実施形態では、一例として、対象物104が目標の位置から予め決められた範囲にある際の対象物104の視認性は、第2のカメラ106より第1のカメラ105の方が良いものとする。ここで、視認性とは、対象物104の位置または姿勢が変化した際の画像の変化量である。視認性が良いカメラは、対象物104の位置または姿勢が微小に変化した場合であっても、その変化の前後における画像間の変化量が大きい。これにより、視認性が良いカメラは、対象物104の位置または姿勢の微小変化を、より画像の違いとして捉えることができる。上述したことから、本実施形態では、一例として、対象物104が目標の位置から予め決められた範囲にある際に、該対象物104の位置または姿勢が変化する前後で第1のカメラ105が撮像して得た二つの画像間の変化量は、該対象物104の位置または姿勢が変化する前後で第2のカメラ106が撮像して得た二つの画像間の変化量より大きい。
In the present embodiment, as an example, the visibility of the
ゴール画像取得部140は、対象物104が目標の位置及び姿勢にあるときに、第1のカメラ105が撮影した画像(以下、ゴール画像ともいう)を生成する。ゴール画像取得部140は、生成したゴール画像を示すゴール画像情報を位置姿勢検出部150へ出力する。
現在画像取得部145は、第1のカメラ105に現在の対象物104を撮像させ、撮像して得られた第1の画像を取得する。また、現在画像取得部145は、第2のカメラ106に現在の対象物104を撮像させ、撮像して得られた第2の画像を取得する。現在画像取得部145は、取得した第1の画像を示す第1画像情報と第2の画像を示す第2画像情報を位置姿勢検出部150へ出力する。
The goal
The current
位置姿勢検出部150は、変換規則決定部130が決定した変換規則とゴール画像取得部140が生成したゴール画像を参照して、対象物104が目標の位置及び姿勢にあるとき(ゴール状態)の対象物104の位置を示す位置ベクトルT(アロー)g A及び姿勢R(ハット)g Aを検出する。
また、位置姿勢検出部150は、変換規則決定部130が決定した変換規則と現在画像取得部145から入力された第1画像情報と第2画像情報を参照して、現在の対象物104の位置を示す位置ベクトルT(アロー)c A及び姿勢R(ハット)c Aを検出する。位置姿勢検出部150は、検出したゴール状態の対象物104の位置を示す位置ベクトルT(アロー)g A及び姿勢R(ハット)g Aを示す情報と、現在の対象物104の位置を示す位置ベクトルT(アロー)c A及び姿勢R(ハット)c Aを示す情報をロボット制御部160に出力する。
The position /
Further, the position /
ロボット制御部160は、位置姿勢検出部150から入力されたゴール状態の対象物104の位置を示す位置ベクトルT(アロー)g Aと現在の対象物104の位置を示す位置ベクトルT(アロー)c Aとを参照して、グリッパ103を並進方向に移動させる。また、ロボット制御部160は、ゴール状態の対象物104の姿勢R(ハット)g Aと現在の対象物104の姿勢R(ハット)c Aとを参照して、グリッパ103を回転方向に移動させる。
The
第1判定部170は、現在の対象物104の位置が、ゴール状態の対象物104の位置に到達したか否か、及び現在の対象物104の姿勢が、ゴール状態の対象物104の姿勢に到達したか否か判定する。
第1判定部170は、現在の対象物104の位置が、ゴール状態の対象物104の位置に到達し、かつ現在の対象物104の姿勢が、ゴール状態の対象物104の姿勢に到達した場合、対象物104がゴール状態に到達したと判定する。一方、それ以外の場合、第1判定部170は、ゴール状態に到達していないと判定し、第1のカメラ座標における現在の対象物104の位置を示す位置ベクトルT(アロー)c A及び姿勢を示す回転行列R(ハット)c Aを位置姿勢検出部150に検出させ、処理を続行させる。
The
The
図5は、第1の実施形態における位置姿勢検出部150の構成を示す概略ブロック図である。位置姿勢検出部150は、第1の相違度算出部151、姿勢取得部152、第2の相違度算出部153、姿勢推定部154、位置推定部156及び第2判定部159を備える。位置推定部156は、平面位置推定部157及び奥行き更新部158を備える。まず、位置姿勢検出部150が備える各部の処理概要について説明した後に、後述するフローチャートを用いて各部の詳細な処理について説明する。
FIG. 5 is a schematic block diagram illustrating a configuration of the position /
第1の相違度算出部151は、第1のカメラ105が姿勢推定の対象となる対象物104を撮像して得た第1の撮像画像と、第1のカメラ105が撮像した空間に対応する第1の仮想空間における対象物104のモデル画像との相違度を示す第1の相違度を、第1の仮想空間における対象物の複数の異なる姿勢毎に算出する。本実施系形態では一例として、モデル画像はコンピューターグラフィック画像(CG画像)である。第1の相違度算出部151は、算出した複数の第1の相違度を示す情報を姿勢取得部152と姿勢推定部154へ出力する。ここで、ある軸方向またはある軸周りの相違度の変化量が大きいほど、視認性が高い。
The first dissimilarity calculation unit 151 corresponds to a first captured image obtained by the
姿勢取得部152は、変換規則決定部130が決定した変換規則に基づいて、第1の仮想空間における対象物104の複数の異なる姿勢に対応する第2の仮想空間における対象物104の複数の姿勢をそれぞれ取得する。姿勢取得部152は、算出した複数の姿勢を示す情報を第2の相違度算出部153へ出力する。
The
第2の相違度算出部153は、第2のカメラ106が対象物104を撮像して得た第2の撮像画像と、第2のカメラ106が撮像した空間に対応する第2の仮想空間における対象物104のモデル画像との相違度を示す第2の相違度を、姿勢取得部152が算出した第2の仮想空間における対象物104の複数の姿勢毎に算出する。第2の相違度算出部153は、算出した複数の第2の相違度を示す情報を姿勢推定部154へ出力する。
The second
姿勢推定部154は、第1の相違度算出部151が算出した複数の第1の相違度と、第2の相違度算出部153が算出した複数の第2の相違度とを参照して、対象物104の姿勢を推定する。また、姿勢推定部154は、第1のカメラ105が第2のカメラ106よりも対象物104の視認性が良い場合に、対象物104が目標の位置から予め決められた位置範囲にあるとき(例えば、対象物104が目標の位置にあるとき)に、対象物104の姿勢の推定における第1の相違度に係る重みを第2の相違度に係る重みより大きくする。ここで視認性が良いとは、対象物104の位置または姿勢が変化した際の画像の変化量が大きいことを示し、第1のカメラ105が第2のカメラ106よりも対象物104の視認性が良い場合とは、対象物104の位置または姿勢が変化した際の第1画像の変化量が第2画像の変化量よりも大きいことを意味する。ここで、対象物104が目標の位置から予め決められた位置範囲にあるときには、対象物104が完全に停止しない状態も含まれる。姿勢推定部154は、推定した対象物104の姿勢を示す情報を第2判定部159へ出力する。
第1の相違度算出部151は、第1のカメラ105が対象物を撮像することで得られた第1の撮像画像と、第1の仮想空間における対象物104のモデル画像との相違度を示す第3の相違度を、第1の仮想空間における対象物104の複数の異なる位置毎に算出する。そして、第1の相違度算出部151は、算出した複数の第4の相違度を示す情報を平面位置推定部157と奥行き更新部158へ出力する。
The
The first dissimilarity calculation unit 151 calculates the dissimilarity between the first captured image obtained by the
第2の相違度算出部153は、第2のカメラ106が対象物を撮像することで得られた第2の撮像画像と、第2の仮想空間における対象物104のモデル画像との相違度を示す第4の相違度を、第2の仮想空間における対象物104の複数の異なる位置毎に算出する。そして、第2の相違度算出部153は、算出した複数の第4の相違度を示す情報を奥行き更新部158へ出力する。
The second degree-of-
平面位置推定部157は、第1の相違度算出部151が算出した複数の第3の相違度を参照して、第1の撮像座標系における対象物104の水平位置及び垂直位置を更新する。平面位置推定部157は、例えば、更新後の水平位置及び垂直位置を示す情報を奥行き更新部158へ出力する。
The planar
奥行き更新部158は、第1の相違度算出部151が算出した複数の第3の相違度と、第2の相違度算出部153が算出した複数の第4の相違度と、平面位置推定部157から入力された更新後の水平位置及び垂直位置とを参照して、第1の撮像座標系における対象物104の奥行きを更新する。奥行き更新部158は、更新後の奥行きを示す情報と平面位置推定部157から入力された更新後の水平位置及び垂直位置を示す情報を第2判定部159へ出力する。
The
第2判定部159は、姿勢推定部154が推定した対象物の姿勢とそれ以前に推定した対象物104の姿勢との差を参照して、推定が収束したか否か判定する。更に、第2判定部159は、奥行き更新部158から入力された更新後の水平位置及び垂直位置とそれ以前に推定した対象物104の水平位置及び垂直位置とのそれぞれの差も参照して、推定が収束したか否か判定する。更に、第2判定部159は、奥行き更新部158から入力された更新後の奥行きとそれ以前に推定した奥行きとのそれぞれの差も参照して、推定が収束したか否か判定する。
The
第2判定部159が収束していないと判定した場合、各部は以下の処理を実行する。第1の相違度算出部151は、対象物104のモデル画像の姿勢を予め決められたように変更した後のモデル画像と第1の撮像画像とに基づいて、複数の第1の相違度を算出する。更に、第2の相違度算出部153は、対象物104のモデル画像の姿勢を予め決められたように変更した後のモデル画像と第2の撮像画像とに基づいて、複数の第2の相違度を算出する。そして、姿勢推定部154は、第1の相違度算出部151が算出した複数の第1の相違度と、第2の相違度算出部153が算出した複数の第2の相違度とに基づいて、対象物104の姿勢を更新する。第2判定部159は、姿勢推定部154が更新した対象物104の姿勢を用いて判定を再び行う。これらの処理の詳細は後述するフローチャートで説明する。
When the
一方、第2判定部159が収束したと判定した場合で、推定対象がゴール状態の対象物104の位置を示す位置ベクトルT(アロー)g A及び姿勢を示す回転行列R(ハット)g Aの場合、第2判定部159は、姿勢推定部154が推定した対象物104の姿勢をゴール状態の対象物104の姿勢を示す回転行列R(ハット)g Aとして、ロボット制御部160へ出力する。また、平面位置推定部157が出力した更新後の水平位置及び垂直位置と奥行き更新部158が出力した更新後の奥行きとをあわせて、ゴール状態の対象物104の位置T(アロー)g Aとして、ロボット制御部160へ出力する。
On the other hand, when it is determined that the
第2判定部159が収束したと判定した場合で、推定対象が現在の対象物104の位置T(アロー)c A及び姿勢を示す回転行列R(ハット)c Aの場合、第2判定部159は、姿勢推定部154が推定した対象物104の姿勢を現在の対象物104の姿勢を示す回転行列R(ハット)c Aとして、ロボット制御部160へ出力する。また、平面位置推定部157が出力した更新後の水平位置及び垂直位置と奥行き更新部158が出力した更新後の奥行きとをあわせて、現在の対象物104の位置T(アロー)c Aとして、ロボット制御部160へ出力する。
When it is determined that the
続いて、図6は、第1の実施形態における制御装置101の処理全体の流れの一例を示すフローチャートである。
(ステップS101)まず、処理部120は、ロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを推定する。具体的には、例えば、検出が容易なマーカーをグリッパ103で把持させて、ロボット座標ΣRの各軸方向に移動させ、処理部120は、後述する対象物104の位置検出処理と同じ処理を用いて、第1のカメラ座標ΣAにおけるマーカーの位置を検出する。処理部120は、検出したマーカーの位置を用いてロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを推定する。
Next, FIG. 6 is a flowchart illustrating an example of the overall processing flow of the
(Step S101) First, the
(ステップS102)次に、変換規則決定部130は、第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの原点の位置を示す位置ベクトルT(アロー)BAを推定する。また、変換規則決定部130は、第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)BAを推定する。具体的には、例えば、変換規則決定部130は、既知の模様が描かれた対象物104を第1のカメラ105及び第2のカメラ106で撮影させ、撮像で得た二つの画像から、後述する図7〜9で示される位置及び姿勢の検出処理で位置ベクトルT(アロー)BAと回転行列R(ハット)BAを推定してもよい。
(Step S102) Next, the conversion
(ステップS103)次に、ゴール画像取得部140は、対象物104が目標の位置及び姿勢にあるときの第1のカメラ105が撮像する画像を生成する。具体的には、本実施形態では、一例として対象物104の搬送作業を想定しているので、ゴール画像取得部140は、一例として、搬送先における位置及び姿勢に対象物104があるときの第1のカメラ105が撮像する画像を生成してもよい。この際、ゴール画像取得部140は、実際に実空間上で対象物104を移動させた後に当該画像を取得してもよいし、仮想空間上で対象物104のCGモデルを移動させた後に当該画像を取得してもよい。
なお、組み立て作業であれば組み立て後の位置及び姿勢に対象物104があるときの第1のカメラ105における画像を生成してもよい。
(Step S103) Next, the goal
Note that in the case of assembly work, an image in the
同図において、ステップS101及びS102はキャリブレーション作業であり少なくとも1回実施されれば良い。また、ステップS103は教示処理であり、処理内容が変わるのに応じて少なくとも1回実施されれば良い。次に説明するステップS104〜S108は毎回実行される処理である。 In the figure, steps S101 and S102 are calibration operations and may be performed at least once. Step S103 is a teaching process, and it may be performed at least once according to the change of the processing content. Steps S104 to S108 to be described next are processes executed every time.
(ステップS104)次に、ロボット制御部160は、対象物104を第1のカメラ105及び第2のカメラ106の視野内に移動させる。
(ステップS105)次に、位置姿勢検出部150は、後述する検出方式を用いて、ステップS103で作成した画像から第1のカメラ座標における対象物104の目標の位置(ゴール位置ともいう)を示す位置ベクトルT(アロー)g A及び目標の姿勢(ゴール姿勢ともいう)を示す回転行列R(ハット)g Aを検出する。
なお、ステップS103において、ゴール画像取得部140が仮想空間上で対象物104のCGモデルを移動させてゴール画像を取得した場合、仮想空間における位置及び姿勢は既知であるため、位置姿勢検出部150はそれらを目標の位置及び姿勢として設定してもよい。
(Step S <b> 104) Next, the
(Step S105) Next, the position /
In step S103, when the goal
(ステップS106)次に、第1のカメラ105及び第2のカメラ106を用いて、現在の第1のカメラ座標における対象物104の位置を示す位置ベクトルT(アロー)c A及び姿勢を示す回転行列R(ハット)c Aを検出する。この処理方式は後に詳述する。
(ステップS107)次に、ロボット制御部160は、ステップS101で取得したロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを用いて、ロボットの手先についての並進方向の移動量及び回転方向の移動量を算出する。そして、ロボット制御部160は、ロボットの手先を算出した並進方向の移動量だけ並進方向へ移動させ、算出した回転方向の移動量Δθ(アロー)Rだけ回転方向へ移動させる。例えば、ロボット制御部160は、並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを次の式(1)に従って算出する。但し、ロボット制御部160は、例えば回転方向の移動量Δθ(アロー)Rの各要素Δθx、Δθy、Δθzを、後述する式(5)を用いて算出する。
(Step S106) Next, using the
(Step S107) Next, the
ここで、θ(アロー)c R及びθ(アロー)g Rは、それぞれ推定によって得られた角度θ(アロー)g A及びθ(アロー)c Aの回転行列R(ハット)A(θ(アロー)c A)及びR(ハット)A(θ(アロー)g A)を、それぞれR(ハット)c R=R(ハット)RAR(ハット)A(θ(アロー)c A)及びR(ハット)g R=R(ハット)RAR(ハット)A(θ(アロー)g A)に従って、ロボット座標に変換し、後述する式(5)を用いて算出された角度である。
(ステップS108)次に、第1判定部170は、ステップS107でロボット制御部160が算出した並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rが予め決められた値より小さいか否かを判定する。一方、予め決められた値より小さい場合(YES)、第1判定部170は対象物104がステップS103で作成した画像における対象物104の位置及び姿勢に到達したと判断してその処理を終了する。予め決められた値以上の場合(NO)、第1判定部170は目標の位置及び姿勢に到達していないと判断し、ステップS106に処理を戻す。以上で、本フローチャートの説明を終了する。
Here, θ (arrow) c R and θ (arrow) g R are rotation matrix R (hat) A (θ (arrow) of angles θ (arrow) g A and θ (arrow) c A obtained by estimation, respectively. ) C A ) and R (hat) A (θ (arrow) g A ), R (hat) c R = R (hat) RAR (hat) A (θ (arrow) c A ) and R (hat) ) according to g R = R (hat) RA R (hat) a (theta (Arrow) g a), and converted to the robot coordinate, an angle calculated by using the equation (5) described later.
(Step S108) Next, the
図7は、図4のステップS102、S105及びS106で用いる対象物104の位置及び姿勢の検出処理の一例を示すフローチャートである。図8は、図7の続きのフローチャートである。図9は、図8の続きのフローチャートである。
(ステップS201)まず、位置姿勢検出部150は、第1のカメラ座標及び第2のカメラ座標における対象物104の初期検出位置を示す位置ベクトルT(アロー)A[xA yA zA]、T(アロー)B[xB yB zB]を設定する。搬送作業の処理フローが予め決められている場合、例えば、入力部110がユーザからの初期検出位置の入力を受け付ける。そして、例えば、位置姿勢検出部150が、入力部110が受け付けた初期検出位置が示す位置に上述の位置ベクトルを設定する。
FIG. 7 is a flowchart illustrating an example of the position and orientation detection processing of the
(Step S201) First, the position /
(ステップS202)次に、姿勢取得部152は、第1のカメラ座標における対象物104の初期検出姿勢を示す回転行列R(ハット)Aを各軸方向の回転角度から算出する。具体的には、例えば、姿勢取得部152は、対象物104の姿勢の表現としてxyzオイラー角表現を用いて、回転行列R(ハット)Aを次の式(2)に従って算出する。
(Step S202) Next, the
(ステップS203)次に、姿勢取得部152は、例えば、第1のカメラ座標における対象物104の検出姿勢R(ハット)Aから第2のカメラ座標における姿勢を示す回転行列R(ハット)B(=R(ハット)BAR(ハット)A)を次の式(3)に従って算出する。
(Step S203) Next, the
(ステップS204)次に、第1の相違度算出部151は、例えば、第1のカメラ105で撮影した空間を再現する第1の仮想空間において、対象物104のCGモデルを位置T(アロー)A及び姿勢R(ハット)Aから各軸正方向にΔ微小移動させて撮影した画像と、第1のカメラ105で撮影した画像との相違度E+xA A、E+yA A、E+zA A、E+θxA A、E+θyA A、E+θzA Aを算出する。ここで、相違度E+θxA A、E+θyA A、E+θzA Aは第1の相違度で、相違度E+xA A、E+yA A、E+zA Aは第3の相違度である。相違度の一例として、Sum of Squared Difference(SSD)を採用すると、第1の相違度算出部151は、各相違度を次の式(4)に従って算出する。
(Step S204) Next, the first dissimilarity calculation unit 151 positions the CG model of the
ここで、Wは画像の横方向の画素数、Hは画像の縦方向の画素数、I(u,v)は片方の画像の座標(u,v)における階調、J(u,v)はもう一方の画像の座標(u,v)における階調である。
(ステップS205)次に、第1の相違度算出部151は、第1のカメラ105で撮影した空間を再現する第1の仮想空間において、対象物104のCGモデルを位置T(アロー)A及び姿勢R(ハット)Aから各軸負方向にΔ微小移動させて撮影した画像と、第1のカメラ105で撮影した画像との相違度E−xA A、E−yA A、E−zA A、E−θxA A、E−θyA A、E−θzA Aを算出する。ここで、相違度E−θxA A、E−θyA A、E−θzA Aは第1の相違度で、相違度E−xA A、E−yA A、E−zA Aは第3の相違度である。
Here, W is the number of pixels in the horizontal direction of the image, H is the number of pixels in the vertical direction of the image, I (u, v) is the gradation at the coordinates (u, v) of one image, J (u, v) Is the gradation at the coordinates (u, v) of the other image.
(Step S205) Next, the first dissimilarity calculation unit 151 positions the CG model of the
(ステップS206)次に、第2の相違度算出部153は、例えば、第2のカメラ106で撮影した空間を再現する第2の仮想空間において、対象物104のCGモデルを位置T(アロー)Bから各軸正方向にΔ微小移動させる。また、第2の相違度算出部153は、例えば、ステップS204における姿勢R(ハット)Bの微小移動量を第2のカメラ座標における微小移動量へ式(3)に従って変換する。そして、第2の相違度算出部153は、例えば、変換後の微小移動量に従って上記CGモデルを各軸方向に微小移動させて撮影した画像と、第2のカメラ106で撮影した画像との相違度E+xB B、E+yB B、E+zB A、E+θxB B、E+θyB B、E+θzB Bを算出する。ここで、相違度E+θxB B、E+θyB B、E+θzB Bは第2の相違度で、相違度E+xB B、E+yB B、E+zB Aは第4の相違度である。また、第2の相違度算出部153は、例えば各軸方向の回転角度を次の式(5)に従って算出する。
(Step S206) Next, the second
ここで、[R(ハット)]ijは回転行列R(ハット)のi行j列成分を表す。
(ステップS207)次に、第2の相違度算出部153は、例えば、第2のカメラ106で撮影した空間を再現する第2の仮想空間において、対象物104のCGモデルを位置T(アロー)Bから各軸負方向にΔ微小移動させる。また、第2の相違度算出部153は、例えば、S205における姿勢R(ハット)Aの微小移動を第2のカメラ座標における微小移動量へ変換する。そして、第2の相違度算出部153は、例えば、変換後の微小移動量に従って上記CGモデルを各軸方向に微小移動させて撮影した画像と、第2のカメラ106で撮影した画像との相違度E−xB B、E−yB B、E−zB A、E−θxB B、E−θyB B、E−θzB Bを算出する。ここで、相違度E−θxB B、E−θyB B、E−θzB Bは第2の相違度で、相違度E−xB B、E−yB B、E−zB Aは第4の相違度である。
Here, [R (hat)] ij represents an i-row j-column component of the rotation matrix R (hat).
(Step S207) Next, the second
(ステップS208)次に、平面位置推定部157は、例えば、第1のカメラ105において、対象物104がT(アロー)AにあるときのxA及びyA方向それぞれの相違度の勾配を、次の式(6)に従って算出する。
(Step S208) Next, the planar
(ステップS209)次に、平面位置推定部157は、例えば、第1のカメラ105における対象物104のxA、及びyA軸方向の検出位置を次の式(7)に従って更新する。ここで式(7)は、最急降下法による更新処理を表す。
(Step S209) Next, the plane
ここで、Cは定数であって適宜設定される。
(ステップS210)次に、平面位置推定部157は、例えば、第2のカメラ106において、対象物104がT(アロー)BにあるときのxB及びyB軸方向それぞれの相違度の勾配を次の式(8)に従って算出する。
Here, C is a constant and is set as appropriate.
(Step S210) Next, the planar
(ステップS211)次に、平面位置推定部157は、例えば、第2のカメラ106における対象物104のxB及びyB軸方向の検出位置を次の式(9)に従って更新する。ここで式(9)は、最急降下法による更新処理を表している。
(Step S211) Next, the planar
ここで、Cは定数であって適宜設定される。なお、xA軸方向の検出位置を更新する際には、定数Cは例えば、次の式(10)で表されてもよい。 Here, C is a constant and is set as appropriate. Incidentally, when updating the detection position of the x A-axis direction is constant C, for example, it may be represented by the following equation (10).
ここで、Δは対象物をxA軸方向に微小移動させた場合の距離である。この場合、定数Cにx軸方向の相違度Eの勾配を乗じた値は、次の式(11)から−Δ〜Δの範囲に収まる。 Here, delta is the distance in the case where is minutely moving the object in x A-axis direction. In this case, the value obtained by multiplying the constant C by the gradient of the dissimilarity E in the x-axis direction falls within the range of −Δ to Δ from the following equation (11).
これにより、更新量が−Δ〜Δの範囲であるので、平面位置推定部157は、水平位置を更新する際に、更新とともに水平位置が振動するのを低減することができる。
Thereby, since the update amount is in the range of −Δ to Δ, the plane
(ステップS212)次に、奥行き更新部158は、第1のカメラ105における対象物104のzA軸方向の検出位置zAを、三角測量を利用して例えば次の式(12)に従って算出する。
(Step S212) Next, the
上述した処理をまとめると、以下の通りである。平面位置推定部157は、第1の相違度算出部が算出した複数の第3の相違度を参照して、前記第1の撮像座標系におけるカメラの光軸と直行する第1の平面の位置(xA,yA)を推定する。平面位置推定部157は、第2の相違度算出部が算出した複数の第4の相違度を参照して、前記第2の撮像座標系におけるカメラの光軸と直行する第2の平面の位置(xB,yB)を推定する。奥行き更新部158は、平面位置推定部157が推定した第1の平面の位置(xA,yA)と第21の平面の位置(xB,yB)とを参照して、第1の撮像座標系における対象物の奥行きzAを算出する。
なお、奥行き更新部158は、第2のカメラ106における対象物104のzB軸方向の検出位置zBを次の式(13)に従って、算出してもよい。
The processing described above is summarized as follows. The plane
The
そして、奥行き更新部158は、更新結果とステップS209の算出結果であるxA、yAとを合わせて第1のカメラ105における検出位置をT(アロー)A=[xA yA zA]Tと設定する。ここで、本ステップS212では3次元復元によって得られた3次元位置のうちzA軸方向のみを検出位置に反映させている。これは、3次元復元を行う際に第2のカメラ座標ΣBにおける第2のカメラ座標ΣAの姿勢を示す回転行列R(ハット)BAを用いているが、回転行列R(ハット)BAは誤差を含んでいる可能性が高い。そのため、その誤差を加味しても精度の向上が見込まれるzA軸方向のみ第1のカメラ105における検出位置T(アロー)Aに反映させることで、検出精度の低下を防ぐことができる。
Then, the
(ステップS213)次に、奥行き更新部158は、ステップS212で設定した第1のカメラ105における対象物104のzA軸方向の検出位置zAを第2のカメラ座標に変換する。奥行き更新部158は、zB軸方向の検出位置zBを変換後の値で更新する。そして、奥行き更新部158は、更新結果とステップS211の算出結果であるxBとyBと合わせて第2のカメラ106における検出位置をT(アロー)B=[xB yB zB]Tと設定する。
(Step S213) Next, the
(ステップS214)次に、姿勢推定部154は、例えば、ステップS204〜S207で算出された対象物104のCGモデルの姿勢を微小移動させた時の各軸方向の相違度の加重平均をそれぞれ評価関数E+θxA A ´、E―θxA A ´、E+θyA A ´、E―θyA A ´、E+θzA A ´、E―θzA A ´、として、次の式(14)〜式(16)に従って算出する。
(Step S214) Next, the
ここで、加重平均における第1のカメラ105の重みwA、第2のカメラ106の重みwBを例えば次の式(17)及び式(18)のように定める。
Here, the weight w A of the
ここで、Dは定数であって適宜設定される。式(17)及び式(18)のように重みを設定することにより、例えば第1のカメラ105と第2のカメラ106とを比較して、第1のカメラ105の方が対象物104の視認性が良く、相違度が小さい場合、式(17)より加重平均における第1のカメラ105の重みwAの方が第2のカメラ106の重みwBより大きくなる。
Here, D is a constant and is appropriately set. By setting the weights as in Expression (17) and Expression (18), for example, the
一方、第2のカメラ106の方が対象物104の視認性が良く、相違度が小さい場合、式(18)より加重平均における第2のカメラ106の重みwBの方が第1のカメラ105の重みwAより大きくなる。これにより、視認性の良い方のカメラで撮影された画像に基づく相違度の評価関数に占める割合が高くなるため、対象物104の姿勢が変化してもその姿勢の変化が評価関数の変化として反映されるためロバストに姿勢を検出できる。
On the other hand, when the
また、ステップS214において、対象物104が目標の位置及び姿勢にあるときの第1のカメラ105における画像を生成する際に、第1のカメラ105を対象物104の視認性が良い位置及び姿勢に設定してあることを想定する。その場合、式(17)より目標の位置及び姿勢付近での対象物104の姿勢検出では、第1のカメラ105により撮像された画像に基づく相違度の評価関数に占める割合が高くなる。先述したように、ステップS202において推定した第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)BAは誤差を含んでいる可能性が高い。しかしながら、上述のように設定することで、対象物104が目標の位置及び姿勢付近にあるときの対象物104の姿勢検出では、第1のカメラ105により撮像された画像に基づく相違度が評価関数に占める割合が高くなる。そのため、回転行列R(ハット)BAが含む誤差の影響を排除されて、高精度な姿勢検出ができる。
In step S214, when the image of the
なお、姿勢推定部154の処理は、上記の例に限ったものではない。姿勢推定部154は、第1の相違度が小さくなるほど、第1の相違度が姿勢の推定に貢献する割合を大きくしてもよい。同様に、姿勢推定部154は、第2の相違度が小さくなるほど、第2の相違度が姿勢の推定に貢献する割合を大きくしてもよい。
Note that the processing of the
次に、姿勢推定部154は、各軸方向の勾配を次の式(19)に従って算出する。
Next, the
(ステップS215)次に、姿勢推定部154は、例えば、第1のカメラ105における対象物104の姿勢を次の式(20)に従って更新する。ここで、式(20)は、最急降下法による更新処理を表す。
(Step S215) Next, the
ここで、Cは定数であって適宜設定される。
(ステップS216)第2判定部159は収束判定を行う。具体的には、例えば、第2判定部159は、ステップS209、S212及びS215で算出した第1のカメラ105における対象物104の位置及び姿勢について、前回の値との差が予め決められた値より小さいか否か判定する。第2判定部159は前回の値との差が予め決められた値より小さい場合(YES)、収束したと判断して処理を終了する。一方、第2判定部159は前回の値との差が予め決められた値以上の場合(NO)、収束していないと判断して処理をステップS203に戻す。
Here, C is a constant and is set as appropriate.
(Step S216) The
以上が、対象物104の位置及び姿勢の検出処理の説明である。なお、本検出方式は図6におけるステップS102、S105及びS106で用いられるが、ステップS106ではステップS216の収束判定は行わず、検出を継続させる。
The above is the description of the position and orientation detection processing of the
以上、本実施形態における制御装置101において、変換規則決定部130は、姿勢推定の対象となる対象物が目標の位置にある際に対象物104の視認性が良い第1のカメラ105とは異なる位置に配置された第2のカメラ106を基準とする第2のカメラ座標における、第1のカメラ105を基準とする第1のカメラ座標の姿勢を示す回転行列を推定する。そして、姿勢推定部154は、対象物104が目標の位置から予め決められた範囲にある際(例えば、対象物104が目標の位置に移動完了した際)に、第1の相違度が対象物104の姿勢の推定に貢献する割合を第2の相違度が対象物104の姿勢の推定に貢献する割合よりも高くする。そして、姿勢推定部154は、第1の相違度算出部151が算出した複数の第1の相違度と、第2の相違度算出部153が算出した複数の第2の相違度とを参照して、対象物104の姿勢を推定する。
As described above, in the
これにより、姿勢推定部154は、対象物104が目標の位置から予め決められた範囲にある際に、変換規則が含む誤差の影響を受ける第2の相違度が姿勢の検出に貢献する割合が相対的に小さくなるので、変換規則が含む誤差が対象物の姿勢推定に与える影響を小さくすることができる。
その結果、姿勢推定部154は、対象物の姿勢推定の精度を向上させることができる。
また、第1のカメラ105は、対象物104が目標の位置にある際に対象物104の視認性が良く、かつ対象物104が目標の位置から予め決められた範囲にある際に第1の相違度が姿勢の検出に貢献する割合が相対的に大きくなるので、対象物104が目標の位置から予め決められた範囲にある際の対象物の姿勢精度を向上させることができる。
Thereby, the
As a result, the
In addition, the
また、背景技術で説明した従来のステレオカメラを用いた姿勢の推定では、カメラ同士の相対的な位置関係を、何度もキャリブレーションして算出する必要があるため、煩雑で時間のかかる作業となるという問題があった。本実施形態における制御装置101は、カメラ同士の相対的な位置関係を算出する処理が必要ないので、簡便に対象物の姿勢を推定することができる。
In addition, posture estimation using the conventional stereo camera described in the background art requires calculation by calculating the relative positional relationship between the cameras many times. There was a problem of becoming. Since the
また、背景技術で説明したステレオカメラを用いた従来技術において、カメラで撮影した画像から対象物の位置及び姿勢を検出する際に用いる手法は、対象物の形状や表面の状態などに応じて適宜選択する必要があり、多様な対象物に対して適用することが出来ないという問題もあった。 In addition, in the conventional technology using the stereo camera described in the background art, a technique used when detecting the position and orientation of an object from an image photographed by the camera is appropriately selected according to the shape of the object, the state of the surface, and the like. There is also a problem that it is necessary to select and cannot be applied to various objects.
それに対し、本実施形態の制御装置101は、各カメラで検出した対象物104の位置から3次元復元により、第1のカメラ105における対象物104の第1のカメラ105の光軸方向の位置zAを算出する。ここで仮に第1のカメラ105の光軸方向の相違度からその光軸方向の位置を推定した場合には、第1のカメラ105の光軸方向の相違度の変化が小さいために、その光軸方向の位置の推定誤差は変換規則が含む誤差よりも大きくなってしまう。それに対して、本実施形態の制御装置101は、平面位置推定部157で推定された第1の平面の位置と、平面位置推定部157で推定された第2の平面の位置とを参照して第1のカメラ105の光軸方向の位置の推定を算出するため、その光軸方向の位置の推定精度を向上させることが出来る。
On the other hand, the
なお、姿勢推定部154は、対象物104が目標の位置から予め決められた位置範囲にあるとき、第2の相違度に係る重み(例えば、第2のカメラ106の重みwB)が予め決められた範囲に収まるよう、対象物104の移動開始時刻から、対象物104が目標の位置から予め決められた位置範囲に到達する時刻まで、第2の相違度に乗じる重み係数を変化させてもよい。具体的には、例えば、姿勢推定部154は、第2の相違度に係る重みが対象物104が目標の位置から予め決められた位置範囲にあるときに0になるよう、対象物104の移動開始時刻から、対象物104が目標の位置から予め決められた位置範囲に到達する時刻まで、第2の相違度に係る重みを変化させてもよい。具体的には、例えば、姿勢推定部154は、図10に示すように、第1のカメラ105の重みwAと第2のカメラ106の重みwBを時間的に変化させてもよい。図10は、第1のカメラ105の重みwAと第2のカメラ106の重みwBの時間変化の一例である。縦軸は重みwで、横軸は経過時間である。同図において、第1のカメラ105の重みwAは、時間によらず一定で1である。それに対し、第2のカメラ106の重みwBは、経過時間0(すなわちロボット手先位置の移動開始時)で1であるが、時間の経過とともに小さくなっている。そして、目標の位置及び姿勢に到達時に、第1のカメラ105の重みwAが1のままであるのに対し、第2のカメラ106の重みwBが0になっている。このように、姿勢推定部154は、対象物104の移動開始時刻から対象物104が目標の位置から予め決められた位置範囲に到達する時刻までの期間で、第2の相違度に乗じる重み係数を時間の経過とともに小さくしてもよい。
The
これにより、対象物に関する作業が終了するときに、回転行列R(ハット)BAが含む誤差の影響を受ける第2の相違度に係る重みを0または0に近づけることができるので、回転行列R(ハット)BAが含む誤差が対象物104の姿勢推定に与える影響をより小さくすることができる。その結果、姿勢推定部154は、高精度に対象物の姿勢を推定することができる。
As a result, when the work related to the object is completed, the weight related to the second dissimilarity affected by the error included in the rotation matrix R (hat) BA can be brought close to 0 or 0, so that the rotation matrix R ( (Hat) The influence of the error included in the BA on the posture estimation of the
また、姿勢推定部154は、図10に示すように第2の相違度に係る重み(例えば、第2のカメラ106の重みwB)を、時間の経過とともに小さくしてもよい。これにより、時間が経過するに連れて(例えば、対象物104が目標位置に近づくに連れて)、回転行列R(ハット)BAが含む誤差の影響を受ける第2の相違度が姿勢の検出に貢献する割合が小さくなるので、回転行列R(ハット)BAが含む誤差が対象物104の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部154は、高精度に対象物104の姿勢を推定することができる。
In addition, the
また、姿勢推定部154は、第1のカメラ105が第2のカメラ106よりも対象物104の視認性が良く、対象物104の位置が移動する場合、対象物104の単位時間あたりの移動量が小さくなるに従って第2の相違度に係る重み(例えば、第2のカメラ106の重みwB)を小さくしてもよい。ここで、対象物104の単位時間あたりの移動量は対象物104を動かし始めたときが最も大きく、その後、時間の経過とともに徐々に小さくなるものである。このため、時間が経過するに連れて(例えば、対象物104が目標位置に近づくに連れて)、回転行列R(ハット)BAが含む誤差の影響を受ける第2の相違度が姿勢の検出に貢献する割合が小さくなるので、回転行列R(ハット)BAが含む誤差が対象物104の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部154は、高精度に対象物の姿勢を推定することができる。
In addition, when the
また、第1のカメラ105が第2のカメラ106よりも対象物104の視認性が良い場合、姿勢推定部154は、図10に示すように第2の相違度に係る重み(例えば、第2のカメラ106の重みwB)を、対象物が目標の位置に近づくに従って小さくしてもよい。これにより、対象物に関する作業が終了に近づくに連れて、回転行列R(ハット)BAが含む誤差の影響を受ける第2の相違度が姿勢の検出に貢献する割合が小さくなるので、回転行列R(ハット)BAが含む誤差が対象物104の姿勢推定に与える影響を小さくすることができる。その結果、姿勢推定部154は、高精度に対象物の姿勢を推定することができる。
Further, when the
<第2の実施形態>
続いて、第2の実施形態について説明する。第2の実施形態のロボット1bは、目標の位置付近の評価関数の勾配が急になる方の評価関数が導出された画像を撮像したカメラを、位置及び姿勢を決める際の基準となるカメラに設定する。第2の実施形態のロボット1bの構成は、第1の実施形態のロボット1に対して、制御装置101が制御装置(姿勢検出装置)101bに変更になったものである。
<Second Embodiment>
Next, the second embodiment will be described. In the robot 1b of the second embodiment, a camera that captures an image from which an evaluation function having a steeper gradient of the evaluation function near the target position is derived is used as a reference camera for determining the position and orientation. Set. The configuration of the robot 1b of the second embodiment is such that the
図11は、第2の実施形態における制御装置101bの構成を示す概略ブロック図である。同図において、図4と共通する要素には同一の符号を付し、その具体的な説明を省略する。図11の制御装置101bの構成は、図4の制御装置101の構成に対して、処理部120が処理部120bに変更されたものになっている。図11の処理部120bの構成は、図4の処理部120の構成に対して、位置決め基準カメラ決定部180が追加され、ゴール画像取得部140がゴール画像取得部140bに、位置姿勢検出部150が位置姿勢検出部150bに変更されたものになっている。
FIG. 11 is a schematic block diagram illustrating a configuration of the control device 101b in the second embodiment. In this figure, elements common to those in FIG. 4 are denoted by the same reference numerals, and detailed description thereof is omitted. The configuration of the control device 101b in FIG. 11 is a configuration in which the
ゴール画像取得部140bは、第1の実施形態におけるゴール画像取得部140と同様の機能を有するが、以下の点で異なる。ゴール画像取得部140bは、対象物104が目標の位置及び姿勢にあるときに、第1のカメラ105が対象物104を撮影した画像(以下、第1のゴール画像ともいう)を示す情報と第2のカメラ106が対象物104を撮影した画像(以下、第2のゴール画像ともいう)を示す情報とを位置決め基準カメラ決定部180へ出力する。
The goal
位置決め基準カメラ決定部180は、例えば、第1のゴール画像を撮影した空間を再現する第1の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りに正の角度方向に上記CGモデルΔ微小移動させて撮影した画像と、第1のゴール画像との相違度EA +を算出する。
また、位置決め基準カメラ決定部180は、例えば、第1のゴール画像を撮影した空間を再現する第1の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りに負の角度方向に上記CGモデルΔ微小移動させて撮影した画像と、第1のゴール画像との相違度EA −を算出する。
The positioning reference
In addition, the positioning reference
また、位置決め基準カメラ決定部180は、例えば、第2のゴール画像を撮影した空間を再現する第2の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りに正の角度方向に上記CGモデルΔ微小移動させて撮影した画像と、第2のゴール画像との相違度EB +を算出する。
また、位置決め基準カメラ決定部180は、例えば、第2のゴール画像を撮影した空間を再現する第2の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りに負の角度方向に上記CGモデルをΔ微小移動させて撮影した画像と、第2のゴール画像との相違度EB −を算出する。
In addition, the positioning reference
In addition, the positioning reference
そして、位置決め基準カメラ決定部180は、例えば、相違度EA +と相違度EA −の勾配GA(=(EA +−EA −)/2Δ)を算出する。また、位置決め基準カメラ決定部180は、例えば、相違度EB +と相違度EB −の勾配GB(=(EB +−EB −)/2Δ)を算出する。そして、位置決め基準カメラ決定部180は、例えば勾配GAと勾配GBのうち、勾配が急な方を導出するのに用いたカメラを位置及び姿勢を決める際の基準となるカメラに設定する。
そして、位置決め基準カメラ決定部180は、設定した基準となるカメラを示す基準カメラ情報を位置姿勢検出部150bへ出力する。
The positioning reference
Then, the positioning reference
位置姿勢検出部150bは、第1の実施形態における位置姿勢検出部150と同様の機能を有するが、以下の点で異なる。位置姿勢検出部150bは、基準カメラ情報が示す基準となるカメラが第1のカメラ105の場合、第1の実施形態と同様の処理を行う。位置姿勢検出部150bは、基準カメラ情報が示す基準となるカメラが第2のカメラ106の場合、第1の実施形態における第1のカメラ105と第2のカメラ106とを入れ替えた処理を行う。
The position / orientation detection unit 150b has the same function as the position /
図12は、第2の実施形態における制御装置101の処理全体の流れの一例を示すフローチャートである。
(ステップS301)まず、変換規則決定部130は、第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの原点の位置を示す位置ベクトルT(アロー)BAを取得する。変換規則決定部130は、取得した位置ベクトルT(アロー)BAにマイナスを乗じたベクトルを、第1のカメラ座標ΣAにおける第2のカメラ座標ΣBの原点の位置を示す位置ベクトルT(アロー)ABとして算出する。
また、変換規則決定部130は、第2のカメラ座標ΣBにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)BAを取得する。変換規則決定部130は、取得した回転行列R(ハット)BAの逆行列を、第1のカメラ座標ΣAにおける第2のカメラ座標ΣBの姿勢を示す回転行列R(ハット)ABとして算出する。
また、変換規則決定部130は、ロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを取得する。そして、変換規則決定部130は、取得した回転行列R(ハット)RAを左から算出した回転行列R(ハット)ABに乗じることで、ロボット座標ΣRにおける第2のカメラ座標ΣBの姿勢を示す回転行列R(ハット)RBを算出する。
(ステップS302)次に、ゴール画像取得部140bは、対象物104が目標の位置及び姿勢にあるときに第1のカメラ105から撮像される第1のゴール画像と第2のカメラ106から撮像される第2のゴール画像を取得する。
(ステップS303)次に、位置決め基準カメラ決定部180は、どちらのカメラを基準に位置決めするか決定する。
(ステップS304)次に、位置姿勢検出部150bは、位置決め基準カメラ決定部180による決定が、第1のカメラ105を基準に位置決めする決定であるか否か判定する。
位置姿勢検出部150bは、第1のカメラ105を基準に位置決めする決定の場合(YES)、ステップS305に移行し、処理部120bはステップS305〜S309の処理を実行する。一方、位置姿勢検出部150bは、第2のカメラ106を基準に位置決めする決定の場合(NO)、ステップS310に移行し、処理部120bはステップS310〜S314の処理を実行する。
FIG. 12 is a flowchart illustrating an example of the overall processing flow of the
(Step S301) First, the conversion
The conversion
The conversion
(Step S302) Next, the goal
(Step S303) Next, the positioning reference
(Step S304) Next, the position / orientation detection unit 150b determines whether or not the determination by the positioning reference
If the position / orientation detection unit 150b determines to position the
(ステップS305)ロボット制御部160は、対象物104を第1のカメラ105及び第2のカメラ106の視野内に移動させる。
(ステップS306)次に、位置姿勢検出部150bは、ステップS301で取得した第1のゴール画像から第1のカメラ座標における対象物104の位置を示す位置ベクトルT(アロー)g A及び姿勢を示す回転行列R(ハット)g Aを検出する。
(Step S <b> 305) The
(Step S306) Next, the position / orientation detection unit 150b indicates a position vector T (arrow) g A indicating the position of the
(ステップS307)次に、位置姿勢検出部150bは、第1のカメラ105及び第2のカメラ106を用いて、現在の第1のカメラ座標における対象物104の位置を示す位置ベクトルT(アロー)c A及び姿勢を示す回転行列R(ハット)c Aを検出する。
(ステップS308)次に、ロボット制御部160は、ステップS304で取得したロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを用いて、ロボットの手先についての並進方向の移動量及び回転方向の移動量を算出する。そして、ロボット制御部160は、ロボットの手先を算出した並進方向の移動量ΔT(アロー)Rだけ並進方向へ移動させ、算出した回転方向の移動量Δθ(アロー)Rだけ回転方向へ移動させる。
(Step S307) Next, the position / orientation detection unit 150b uses the
(Step S308) Next, the
(ステップS309)次に、第1判定部170は、ステップS309でロボット制御部160が算出した並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rが予め決められた値より小さいか否かを判定する。予め決められた値より小さい場合(YES)、第1判定部170は対象物104がステップS301で作成した第1のゴール画像における対象物104の位置及び姿勢に到達したと判断してその処理を終了する。予め決められた値以上の場合(NO)、第1判定部170は目標の位置及び姿勢に到達していないと判断し、ステップS307に処理を戻す。なお、ロボット制御部160は、例えば回転方向の移動量Δθ(アロー)Rの各要素Δθx、Δθy、Δθzを、式(5)を用いて算出する。
(Step S309) Next, the
(ステップS310)次に、ロボット制御部160は、対象物104を第1のカメラ105及び第2のカメラ106の視野内に移動させる。
(ステップS311)次に、位置姿勢検出部150bは、ステップS301で取得した第2のゴール画像から第2のカメラ座標における対象物104の位置を示す位置ベクトルT(アロー)g B及び姿勢を示す回転行列R(ハット)g Bを検出する。
(Step S <b> 310) Next, the
(Step S311) Next, the position / orientation detection unit 150b indicates a position vector T (arrow) g B indicating the position of the
(ステップS312)次に、位置姿勢検出部150bは、第1のカメラ105及び第2のカメラ106を用いて、現在の第2のカメラ座標における対象物104の位置を示す位置ベクトルT(アロー)c B及び姿勢を示す回転行列R(ハット)c Bを検出する。
(ステップS313)次に、ロボット制御部160は、ステップS311で取得したロボット座標ΣRにおける第2のカメラ座標ΣBの姿勢を示す回転行列R(ハット)RBを用いて、ロボットの手先についての並進方向の移動量及び回転方向の移動量を算出する。そして、ロボット制御部160は、ロボットの手先を算出した並進方向の移動量ΔT(アロー)Rだけ並進方向へ移動させ、算出した回転方向の移動量Δθ(アロー)Rだけ回転方向へ移動させる。
(Step S312) Next, the position / orientation detection unit 150b uses the
(Step S313) Next, the
(ステップS314)次に、第1判定部170は、ステップS315でロボット制御部160が算出した並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rが予め決められた値より小さいか否かを判定する。予め決められた値より小さい場合(YES)、第1判定部170は対象物104がステップS301で作成した第2のゴール画像における対象物104の位置及び姿勢に到達したと判断してその処理を終了する。予め決められた値以上の場合(NO)、第1判定部170は目標の位置及び姿勢に到達していないと判断し、ステップS312に処理を戻す。以上で、本フローチャートの説明を終了する。なお、ロボット制御部160は、例えば回転方向の移動量Δθ(アロー)Rの各要素Δθx、Δθy、Δθzを、式(5)を用いて算出する。
(Step S314) Next, the
以上、第2の実施形態における制御装置101において、位置決め基準カメラ決定部180は、勾配GAと勾配GBを算出し、勾配GAと勾配GBのうち、勾配が急な方を導出するのに用いたカメラを位置及び姿勢を決める際の基準となるカメラに設定する。
これにより、第1の実施形態における効果に加えて、以下の効果を奏する。目標の位置及び姿勢付近において、設定された基準となるカメラが撮影した画像から導出される相違度が評価関数に貢献する割合が大きくなる。その際、目標の位置及び姿勢付近において、別のカメラを基準としたときよりも相違度の変化が大きくなるので、評価関数の変化も大きくなり、更新される対象物104の位置及び姿勢の変化量が大きくなるので、対象物104を目標の位置及び姿勢により早く到達させることができる。
Above, the
Thereby, in addition to the effect in 1st Embodiment, there exist the following effects. In the vicinity of the target position and orientation, the ratio at which the degree of difference derived from the image captured by the set reference camera contributes to the evaluation function increases. At that time, since the change in the dissimilarity becomes larger near the target position and posture than when another camera is used as a reference, the change in the evaluation function also becomes larger, and the change in the position and posture of the
なお、位置決め基準カメラ決定部180は、相違度を算出する際に、対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りに正または負の角度方向にΔ微小移動させて撮影したが、これに限ったものではない。位置決め基準カメラ決定部180は、予め決められた精度が要求される軸方向について正または負の方向にΔ微小移動させて撮影してもよい。
また、ユーザがロボット1bの作業内容に応じて、Δ微小移動させるのをどの軸周り、またはどの軸方向にするのかを入力部110に入力し、入力部110がその入力を受け付け、処理部120bが入力部110が受け付けたもので設定できるようにしてもよい。
When calculating the degree of difference, the positioning reference
Further, according to the work content of the robot 1b, the
このことから、位置決め基準カメラ決定部180は、第1のゴール画像を撮影した空間を再現する第1の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りまたは軸方向に予め決められたように上記CGモデルを移動させて撮影した画像と、第1のゴール画像との相違度を示す第5の相違度を算出する。
位置決め基準カメラ決定部180は、第2のゴール画像を撮影した空間を再現する第2の仮想空間において存在する対象物104のCGモデルの位置及び姿勢から、予め決められた精度が要求される軸周りまたは軸方向に予め決められたように上記CGモデルを移動させて撮影した画像と、第2のゴール画像との相違度を示す第6の相違度を算出する。
また、位置決め基準カメラ決定部180は、第5の相違度を算出した際の移動方向における第5の相違度の勾配と、第6の相違度を算出した際の移動方向における第6の相違度の勾配とを比較することで、姿勢推定の基準となるカメラを決定する。その際、位置決め基準カメラ決定部180は、決定した基準となるカメラを新たに第1のカメラとしてもよい。
Therefore, the positioning reference
The positioning reference
In addition, the positioning reference
<第3の実施形態>
続いて、第3の実施形態について説明する。予め決められた時間後までにロボット本体102の位置及び姿勢を変化させる量を自装置が第1の撮像画像及び第2の撮像画像から決定する処理にかかる時間には揺らぎがある。そのため、その揺らぎを考慮して、自装置が第1の撮像画像及び第2の撮像画像の撮像を開始してからロボット本体102の位置及び姿勢の変化量を決定するまでの一連の処理にかかる最大の時間(例えば、15ミリ秒)まで待ってから、制御装置がロボット本体102の制御を開始した場合、対象物104が目標の位置及び姿勢に到達するまでにかかる時間が長くなってしまうという問題がある。そこで、本実施形態では、対象物104が目標の位置及び姿勢に到達するまでにかかる時間をより短くすることを本実施形態の課題とする。
<Third Embodiment>
Subsequently, a third embodiment will be described. There is fluctuation in the time required for the process of determining the amount of change in the position and posture of the
本実施形態では一例として、自装置が第1の撮像画像及び第2の撮像画像の撮像を開始してからロボット本体102の位置及び姿勢の変化量を決定するまでの一連の処理にかかる平均時間(以下、画像処理平均時間ともいう)が10ミリ秒であり、その一連の処理にかかる時間(以下、画像処理時間ともいう)の揺らぎが±5ミリ秒であるものとして説明する。また、本実施形態では一例として、ロボットの位置及び姿勢制御が1ミリ秒毎に行われるものとして説明する。
In this embodiment, as an example, an average time required for a series of processes from when the apparatus starts capturing the first captured image and the second captured image to determining the amount of change in the position and orientation of the
図13は、第3の実施形態における制御装置101cの構成を示す概略ブロック図である。同図において、図4と共通する要素には同一の符号を付し、その具体的な説明を省略する。図13の制御装置101cの構成は、図4の制御装置101の構成に対して、処理部120が処理部120cに変更されたものになっている。図13の処理部120cの構成は、図4の処理部120の構成に対して、目標位置姿勢決定部200が追加され、ロボット制御部160がロボット制御部160cに変更されたものになっている。
FIG. 13 is a schematic block diagram illustrating the configuration of the control device 101c according to the third embodiment. In this figure, elements common to those in FIG. 4 are denoted by the same reference numerals, and detailed description thereof is omitted. The configuration of the control device 101c in FIG. 13 is different from the configuration of the
目標位置姿勢決定部200は、位置姿勢検出部150により推定された対象物の位置及び姿勢と対象物が目標の位置にある場合の位置及び姿勢とに基づいて、現在の時刻から予め決められた時間(例えば、10ミリ秒)経過した後のロボット座標系における位置及び姿勢の変化量を決定する。ここで、予め決められた時間は例えば、第1の撮像画像及び第2の撮像画像を撮像開始してから上記変化量を決定するまでの平均時間である。
The target position /
具体的には例えば、目標位置姿勢決定部200は、並進方向の移動量ΔT(アロー)Rと、回転方向の移動量Δθ(アロー)Rを第1の実施形態と同様の処理で決定する。目標位置姿勢決定部200は、並進方向の移動量ΔT(アロー)Rと、回転方向の移動量Δθ(アロー)Rを決定する毎に、並進方向の移動量ΔT(アロー)Rと、回転方向の移動量Δθ(アロー)Rをロボット制御部160cと第1判定部170へ出力する。
Specifically, for example, the target position /
ロボット制御部160cは、ロボット本体102を制御する時間間隔(例えば、1ミリ秒)毎に、目標姿勢決定部が決定した変化量のうち最新の変化量に基づいて、上記時間間隔(例えば、1ミリ秒)後のロボット本体102の位置及び姿勢を決定し、該決定した位置及び姿勢になるようロボット本体102を制御する。その際、ロボット制御部160cは、上記予め決められた時間(ここでは一例として、10ミリ秒)のうち、自装置が第1の撮像画像及び第2の撮像画像から上記変化量を決定するまでの最短時間に基づいて決められた時間まではロボットが加速及び減速で移動するようにロボット本体102の位置及び姿勢を決定し、その後の時間はロボット本体102が等速で移動するようにロボット本体102の位置及び姿勢を決定する。
The
ここで、本実施形態では、自装置が第1の撮像画像及び第2の撮像画像から上記変化量を決定するまでの最短時間に基づいて決められた時間は一例として、自装置が第1の撮像画像及び第2の撮像画像から上記変化量を決定するまでの最短時間に、第1の撮像画像及び第2の撮像画像を撮像する時間を加算した時間である。第1の撮像画像及び第2の撮像画像の撮像時間は一定であることから、自装置が第1の撮像画像及び第2の撮像画像から上記変化量を決定するまでの最短時間に基づいて決められた時間は一例として、第1の撮像画像及び第2の撮像画像を撮像開始してから上記変化量を決定するまでの最短時間である。 Here, in this embodiment, the time determined based on the shortest time until the apparatus determines the change amount from the first captured image and the second captured image is an example. This is the time obtained by adding the time to capture the first captured image and the second captured image to the shortest time from the captured image and the second captured image until the change amount is determined. Since the imaging time of the first captured image and the second captured image is constant, it is determined based on the shortest time until the device determines the amount of change from the first captured image and the second captured image. As an example, the obtained time is the shortest time from the start of capturing the first captured image and the second captured image until the change amount is determined.
図14を用いて、ロボット制御部160cによるロボット本体102の位置及び姿勢の制御処理の一例について説明する。図14は、ロボット座標系におけるロボット本体102の手先位置のx座標の時間変化の一例である。同図には、期間T1においてロボット本体102の手先のx座標に沿って加速しながら移動し、期間T2においてロボット本体102の手先のx座標に沿って等速で移動し、期間T3においてロボット本体102の手先のx座標に沿って減速しながら移動し、期間T4においてロボット本体102の手先のx座標に沿って加速しながら移動することが示されている。また、10ミリ秒後に2番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rが決定されて、15ミリ秒後に、3番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rが決定されていることが示されている。
An example of the processing for controlling the position and orientation of the robot
図14の例では、期間T1と期間T2では、ロボット制御部160cは、最初に決定された並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rを用いて、1ミリ秒後のロボット本体102の手先位置のx座標を決定する。これにより、期間T1と期間T2におけるx座標が1ミリ秒毎に得られる。ロボット制御部160cは、決定した1ミリ秒後の手先位置のx座標に、ロボット本体102の手先を1ミリ秒かけて移動させる。ロボット制御部160cは、1ミリ秒経過する毎に、x座標の決定とロボット本体102の手先の移動処理を繰り返す。これにより、ボット制御部160cは、前半の5ミリ秒である期間T1では、ロボット本体102の手先位置がx座標に沿って加速しながら移動させ、後半の5ミリ秒である期間T2では、ロボット本体102の手先位置がx座標に沿って等速で移動させることができる。
In the example of FIG. 14, in the period T1 and the period T2, the
時刻10ミリ秒で、ロボット制御部160cは、目標位置姿勢決定部200から2番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rが入力されるので、その2番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rを用いて、1ミリ秒後のロボット本体102の手先位置のx座標を決定する。これにより、期間T3におけるx座標が1ミリ秒毎に得られる。ロボット制御部160cは、決定した1ミリ秒後の手先位置のx座標に、ロボット本体102の手先を1ミリ秒かけて移動させる。ロボット制御部160cは、1ミリ秒経過する毎に、x座標の決定とロボット本体102の手先の移動処理を繰り返す。これにより、ロボット制御部160cは、期間T3で、ロボット本体102の手先位置がx座標に沿って減速しながら移動させることができる。
At
時刻15ミリ秒で、ロボット制御部160cは、目標位置姿勢決定部200から3番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rが入力されるので、その3番目の並進方向の移動量ΔT(アロー)Rと回転方向の移動量Δθ(アロー)Rを用いて、1ミリ秒後のロボット本体102の手先位置のx座標を決定する。これにより、期間T4におけるx座標が1ミリ秒毎に得られる。ロボット制御部160cは、決定した1ミリ秒後の手先位置のx座標に、ロボット本体102の手先を1ミリ秒かけて移動させる。ロボット制御部160cは、1ミリ秒経過する毎に、x座標の決定とロボット本体102の手先の移動処理を繰り返す。これにより、ロボット制御部160cは、期間T4で、ロボット本体102の手先位置がx座標に沿って加速しながら移動させることができる。
At
続いて、ロボット本体102の手先位置のx座標の決定処理の詳細について説明する。ロボット制御部160cは、次の式(21)に従ってロボット本体102の手先位置のx座標を決定する。
Next, details of the x coordinate determination process of the hand position of the
ここで、tは時刻で、Tは画像処理平均時間で、v1はロボット本体102の手先位置のx座標に沿った速度で、v0は、画像処理平均時間Tにおけるロボット本体102の手先位置のx座標に沿った初速で、x0は画像処理平均時間Tにおけるx座標の初期位置である。
ここで、v1は次の式(22)で表される。
Here, t is the time, T is the average image processing time, v 1 is the velocity along the x coordinate of the hand position of the
Here, v 1 is expressed by the following equation (22).
Δxは、並進方向の移動量ΔT(アロー)Rのx座標成分で、nは正の整数(ここでは、一例として1)で、ΔTはロボット制御周期(本実施形態では一例として1ミリ秒)ある。
ロボット制御部160cは、ロボット本体102の手先位置のy座標、z座標、回転角度θx、θy、θzについても同様の処理で決定する。
Δx is the x-coordinate component of the translation amount ΔT (arrow) R in the translation direction, n is a positive integer (here, 1 as an example), and ΔT is a robot control cycle (in this embodiment, 1 millisecond as an example) is there.
The
図15は、第3の実施形態における制御装置101cの処理全体の流れの一例を示すフローチャートである。ステップS401〜S406は図6のステップS101〜S106と同じであるので、その説明を省略する。また、ステップS409は、図6のステップS108と同じであるので、その説明を省略する。
(ステップS407)次に、目標位置姿勢決定部200は、ステップS101で取得したロボット座標ΣRにおける第1のカメラ座標ΣAの姿勢を示す回転行列R(ハット)RAを用いて、ロボットの手先の並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを決定する。ロボット制御部160cは、決定した並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを第1判定部170及びロボット制御部160cへ出力する。
FIG. 15 is a flowchart illustrating an example of the overall processing flow of the control apparatus 101c according to the third embodiment. Steps S401 to S406 are the same as steps S101 to S106 in FIG. Also, step S409 is the same as step S108 in FIG.
(Step S407) Next, the target position
図16は、第3の実施形態におけるロボット制御部160cの処理の一例を示すフローチャートである。
(ステップS501)ロボット制御部160cは、目標位置姿勢決定部200により新たに並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを決定されたか否か判定する。新たに決定された場合(YES)、ステップS502の処理に進む。新たに決定されていない場合(NO)、ステップS503の処理に進む。
(ステップS502)ロボット制御部160cは、新たな並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを用いて、1ミリ秒後のロボット手先位置及びロボット手先の姿勢(以下、ロボット手先姿勢ともいう)を決定する。
(ステップS503)ロボット制御部160cは、これまでの並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを用いて、1ミリ秒後のロボット手先位置及びロボット手先の姿勢を決定する。
(ステップS504)次に、ロボット制御部160cは、ロボットの手先が決定された1ミリ秒後のロボット手先位置及びロボット手先姿勢になるようロボットの手先を移動させる。
(ステップS505)次に、ロボット制御部160cは、第1判定部170が最新の並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rが予め決められた値より小さいと判定したか否か判定する。予め決められた値より小さいと判定した場合(YES)、ロボット制御部160cはその処理を終了する。予め決められた値より小さいと判定していない場合(NO)、ロボット制御部160cはステップS501の処理に戻る。以上で、本フローチャートの処理を終了する。
FIG. 16 is a flowchart illustrating an example of processing of the
(Step S501) The
(Step S502) The
(Step S503) The
(Step S504) Next, the
(Step S505) Next, in the
以上、第3の実施形態では、ロボット制御部160cは、並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rが更新される毎に、更新された並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを用いて、ロボット制御周期間隔でロボット手先位置およびロボット手先姿勢を決定する。そして、ロボット制御部160cは、そのロボット制御周期で、決定したロボット手先位置およびロボット手先姿勢なるようロボット本体102を制御する。その際、ロボット制御部160cは、予め決められた画像処理平均時間(一例として10ミリ秒)のうち、画像処理にかかる最短時間(一例として5ミリ秒)まではロボットの手先が加速及び減速で移動するようにロボット手先位置及びロボット手先姿勢を決定し、その後の時間(一例として5〜10ミリ秒)はロボットの手先が等速で移動するようにロボット手先位置及びロボット手先姿勢を決定する。これにより、画像処理時間に±5ミリ秒の揺らぎがあって、画像処理にかかる時間が5ミリ秒から10ミリ秒の間で変化しても、その間はロボットの手先が等速で移動するので、その等速で移動しているときの速度を初速としてロボットの加速制御または減速制御を始めることができる。これにより、ロボット制御部160cは、画像処理が終わると同時に、その画像処理で得られた並進方向の移動量ΔT(アロー)R及び回転方向の移動量Δθ(アロー)Rを用いてロボットを制御できるので、第1の実施形態の効果に加えて、対象物104を目標の位置及び目標の姿勢にするまでの時間を短縮することができる。
As described above, in the third embodiment, the
なお、各実施形態において、姿勢推定部154は、第1の相違度に乗じる重み係数と、第2の相違度に乗じる重み係数を、第1の撮像画像と第2の撮像画像のそれぞれに混入している雑音成分に応じて変化させてもよい。ここで、雑音成分とは、撮像装置のイメージセンサーが光電変換する処理以降に混入する雑音信号に由良する雑音成分である。雑音成分は、例えば撮像装置のイメージセンサーが光電変換する際に、光電変換後の画像信号に混入するランダムな雑音信号に由来する雑音成分である。具体的には、例えば、姿勢推定部154は、第1の相違度に乗じる重み係数と、第2の相違度とに乗じる重み係数を、第1の撮像画像と第2の撮像画像のそれぞれに混入している正規化ランダムノイズの分散の逆数としてもよい。その際、姿勢推定部154は、例えば第1のカメラ105及び第2のカメラ106それぞれのカメラの異なるフレーム間の画像の相違度であるフレーム間相違度を、第1の撮像画像と第2の撮像画像のそれぞれに混入している正規化ランダムノイズの分散の代用として算出してもよい。より好ましくは、姿勢推定部154は、それぞれのカメラの1フレーム前の画像と現在のフレームの画像との相違度を、第1の撮像画像と第2の撮像画像のそれぞれに混入する正規化ランダムノイズの分散の代用として算出してもよい。これは、分散がフレーム間相違度に比例するからである。ここで、フレーム間相違度は、例えば1フレーム前の画像の画素値と現在のフレームの画像においてその画素値に対応する画素の画素値との差分の絶対値を全ての画素間で計算し、計算して得られた値を総和した値である。
Note that in each embodiment, the
なお、各実施形態において、対象物が複数ある場合、以下のようにしてもよい。第1の相違度算出部151は、第1の仮想空間において位置姿勢推定の対象となる対象物以外の対象物全ての画像領域を特定し、該特定した画像領域を演算対象から除いて第1の相違度を算出してもよい。また、第2の相違度算出部153は、第2の仮想空間において位置姿勢推定の対象となる対象物以外の対象物全ての画像領域を特定し、該特定した画像領域を演算対象から除いて第2の相違度を算出してもよい。
In addition, in each embodiment, when there are a plurality of objects, the following may be performed. The first dissimilarity calculation unit 151 identifies the image areas of all objects other than the object that is the target of position / orientation estimation in the first virtual space, and removes the identified image area from the calculation target to perform the first operation. The degree of difference may be calculated. In addition, the second
具体的には例えば、第1の相違度算出部151及び第2の相違度算出部153は以下の処理を行ってもよい。第1の相違度算出部151及び第2の相違度算出部153は例えば、それぞれ第1及び第2の仮想空間のそれぞれに、位置姿勢推定の対象となる対象物以外の対象物全てを各軸の正方向及び負方向に微小移動させた画像を全て配置した場合に、対象物毎に画像領域の和集合を抽出し、該和集合を全てマスクしたマスク画像を取得する。そして、第1の相違度算出部151及び第2の相違度算出部153は例えば、取得したマスク画像を用いて、位置姿勢推定の対象となる対象物以外の対象物を除去して、それぞれ相違度を算出する。
Specifically, for example, the first difference calculation unit 151 and the second
簡単のために、CG画像が平面画像である場合を一例として上述した処理を説明する。図17は、マスク画像について説明するための図である。同図において、第1の仮想空間において、第1対象物と第2対象物を共に現在の位置から上にΔ微小移動したCG画像G131−1、共に現在の位置から下にΔ微小移動したCG画像G131−2、共に現在の位置から右にΔ微小移動したCG画像G131−3、及び共に現在の位置から左にΔ微小移動したCG画像G131−4の例が示されている。CG画像G131−1において、第1対象物の画像領域R132−1、第2対象物の画像領域R133−1が示されている。ここで、簡単のために、他のCG画像G131−2〜4における第1対象物の画像領域R132−2〜4、第2対象物の画像領域R133−2〜4は図示されていない。マスク画像G134において、上述したCG画像G131−1〜4における第2対象物の画像領域R133−1〜4の和集合である画像領域である第2対象物のマスク領域R135が示されている。また、マスク画像G135において、上述したCG画像G131−1〜4における第1対象物の画像領域R132−1〜4の和集合である画像領域である第1対象物のマスク領域R137が示されている。 For the sake of simplicity, the above-described processing will be described by taking as an example the case where the CG image is a planar image. FIG. 17 is a diagram for explaining the mask image. In the figure, in the first virtual space, a CG image G131-1 in which both the first object and the second object are moved by Δ minute from the current position, and CG that has both moved Δ by minute from the current position. An example of an image G131-2, a CG image G131-3 that is Δ-moved to the right from the current position, and a CG image G131-4 that is Δ-moved to the left from the current position are shown. In the CG image G131-1, an image area R132-1 of the first object and an image area R133-1 of the second object are shown. Here, for the sake of simplicity, the image areas R132-2 to R132-2 and the image areas R133-2 to R133-2 of the first object in the other CG images G131-2 to G131-2 are not shown. In the mask image G134, a mask area R135 of the second object which is an union of the image areas R133-1 to R4 of the second object in the CG images G131-1 to G13-4 described above is shown. In the mask image G135, a mask area R137 of the first object that is an union of the image areas R132-1 to R4 of the first object in the CG images G131-1 to G13-4 described above is shown. Yes.
同図の例の場合、第1の相違度算出部151は例えば図17のマスク画像G134を取得する。そして、第1の相違度算出部151は例えばマスク画像G134の領域を除いて、第1の対象物に関する第1の相違度を算出する。第1の相違度算出部151は例えば図17のマスク画像G136を取得する。そして、第1の相違度算出部151は例えばマスク画像G136の領域を除いて、第2の対象物に関する第1の相違度を算出する。
同様に、第2の相違度算出部153は例えば図17のマスク画像G134を取得する。そして、第2の相違度算出部153は例えばマスク画像G134の領域を除いて、第1の対象物に関する第2の相違度を算出する。第2の相違度算出部153は例えば図16のマスク画像G136を取得する。そして、第2の相違度算出部153はマスク画像G136の領域を除いて、第2の対象物に関する第2の相違度を算出する。
In the case of the example in the figure, the first difference calculation unit 151 acquires, for example, the mask image G134 in FIG. Then, the first dissimilarity calculation unit 151 calculates the first dissimilarity regarding the first object, for example, excluding the region of the mask image G134. The first difference calculation unit 151 acquires, for example, the mask image G136 of FIG. Then, the first dissimilarity calculation unit 151 calculates the first dissimilarity regarding the second object, for example, excluding the region of the mask image G136.
Similarly, the second
なお、各実施形態において、位置推定部156の奥行き更新部158は、第1のカメラ105における対象物104のzA軸方向の検出位置zAを、三角測量を利用して算出したが、これに限ったものではない。位置推定部156は、第1の相違度算出部が算出した複数の第3の相違度と、第2の相違度算出部が算出した複数の第4の相違度とに基づいて第1の撮像座標系における対象物の奥行きを推定してもよい。
In each embodiment, the
なお、複数の装置を備えるシステムが、各実施形態の制御装置(101または101b)の各処理を、それらの複数の装置で分散して処理してもよい。
また、各実施形態の制御装置(101または101b)の各処理を実行するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより、制御装置(101または101b)に係る上述した種々の処理を行ってもよい。
Note that a system including a plurality of devices may process each process of the control device (101 or 101b) of each embodiment in a distributed manner by the plurality of devices.
Also, a program for executing each process of the control device (101 or 101b) of each embodiment is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. By doing so, you may perform the various processes mentioned above which concern on a control apparatus (101 or 101b).
なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。 Here, the “computer system” may include an OS and hardware such as peripheral devices. Further, the “computer system” includes a homepage providing environment (or display environment) if the WWW system is used. The “computer-readable recording medium” means a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a CD-ROM, a hard disk built in a computer system, etc. This is a storage device.
さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Random Access Memory)) that holds a program for a certain period of time is also included. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではない。各実施形態における各構成及びそれらの組み合わせ等は一例であり、本発明の趣旨から逸脱しない範囲内で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は実施形態によって限定されることはなく、特許請求の範囲によってのみ限定される。 As mentioned above, although embodiment of this invention was explained in full detail with reference to drawings, a specific structure is not restricted to this embodiment. Each configuration in each embodiment, a combination thereof, and the like are examples, and the addition, omission, replacement, and other changes of the configuration can be made without departing from the spirit of the present invention. Further, the present invention is not limited by the embodiments, and is limited only by the scope of the claims.
101、101b 制御装置(姿勢検出装置)
102 ロボット本体
103 グリッパ
104 対象物
105 第1のカメラ(第1の撮像装置)
106 第2のカメラ(第2の撮像装置)
110 入力部
120 処理部120、120b
130 変換規則決定部
140、140b ゴール画像取得部
145 現在画像取得部
150、150b 位置姿勢検出部
151 第1の相違度算出部
152 姿勢取得部
153 第2の相違度算出部
154 姿勢推定部
156 位置推定部
157 平面位置推定部
158 奥行き更新部
159 第2判定部
160、160c ロボット制御部
170 第1判定部
180 位置決め基準カメラ決定部
190 記憶部
200 目標位置姿勢決定部
101, 101b Control device (attitude detection device)
DESCRIPTION OF
106 Second camera (second imaging device)
110
130 Conversion
Claims (25)
前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、
前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、
を備える姿勢検出装置。 The degree of difference between the first captured image obtained by imaging the object by the first imaging device and the model image of the object in the first virtual space corresponding to the space imaged by the first imaging device A first dissimilarity calculating unit that calculates a first dissimilarity for each of a plurality of different postures of the object in the first virtual space;
A second captured image obtained by imaging a target object by a second imaging device arranged at a position different from that of the first imaging device, and a second corresponding to a space captured by the second imaging device. A second dissimilarity calculating unit that calculates a second dissimilarity indicating a dissimilarity with the model image of the object in the virtual space for each of a plurality of postures of the object in the second virtual space;
In the first imaging coordinate system based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit. A posture estimation unit for estimating the posture of the object;
An attitude detection device comprising:
前記姿勢推定部は、前記対象物が目標の位置から予め決められた位置範囲にあるとき、前記第1の相違度に乗じる重み係数を前記第2の相違度に乗じる重み係数より大きくする請求項2に記載の姿勢検出装置。 When the first imaging device has better visibility of the object than the second imaging device,
The posture estimation unit, when the object is in a predetermined position range from a target position, makes a weighting factor by which the first difference is multiplied larger than a weighting factor by which the second difference is multiplied. The posture detection apparatus according to 2.
前記姿勢推定部は、前記対象物が目標の位置から予め決められた位置範囲にあるとき、前記第2の相違度に乗じる重み係数が予め決められた範囲に収まるよう、前記対象物の移動開始時刻から前記対象物が目標の位置から予め決められた位置範囲に到達する時刻まで、前記第2の相違度に乗じる重み係数を変化させる請求項2または3に記載の姿勢検出装置。 When the first imaging device has better visibility of the object than the second imaging device,
The posture estimation unit starts moving the object so that a weighting factor by which the second difference is multiplied falls within a predetermined range when the object is in a predetermined position range from a target position. The posture detection device according to claim 2 or 3, wherein a weighting factor by which the second difference is multiplied is changed from time to time when the object reaches a predetermined position range from a target position.
前記姿勢推定部は、前記対象物の移動開始時刻から前記対象物が目標の位置から予め決められた位置範囲に到達する時刻までの期間で、前記第2の相違度に乗じる重み係数を時間の経過とともに小さくする請求項1または2に記載の姿勢検出装置。 When the first imaging device has better visibility of the object than the second imaging device,
The posture estimation unit is configured to calculate a weighting factor for multiplying the second dissimilarity by a period of time from a movement start time of the object to a time when the object reaches a predetermined position range from a target position. The posture detection device according to claim 1, wherein the posture detection device is made smaller as time passes.
前記姿勢推定部は、前記対象物の単位時間あたりの移動量が小さくなるに従って前記第2の相違度に乗じる重み係数を小さくする請求項1から3のいずれか一項に記載の姿勢検出装置。 When the first imaging device has better visibility of the object than the second imaging device and the position of the object moves,
The posture detection apparatus according to any one of claims 1 to 3, wherein the posture estimation unit decreases a weighting factor by which the second difference is multiplied as the movement amount of the target object per unit time decreases.
前記姿勢推定部は、前記第2の相違度に乗じる重み係数を、前記対象物が目標の位置に近づくに従って小さくする請求項1から4のいずれか一項に記載の姿勢検出装置。 When the first imaging device has better visibility of the object than the second imaging device,
The posture detection apparatus according to any one of claims 1 to 4, wherein the posture estimation unit decreases a weighting factor to be multiplied by the second degree of difference as the object approaches a target position.
前記第2の相違度算出部は、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記姿勢取得部が取得した前記第2の仮想空間における対象物の複数の姿勢毎に算出する請求項1から10のいずれか一項に記載の姿勢検出装置。 The coordinates when the posture of the object is expressed in the first imaging coordinate system with the first imaging device as a reference are the coordinates of the object in the second imaging coordinate system with the second imaging device as a reference. The plurality of postures of the object in the second virtual space corresponding to the plurality of different postures of the object in the first virtual space are acquired based on the conversion rule for converting the coordinates to A posture acquisition unit;
The second dissimilarity calculation unit includes a second captured image obtained by capturing an image of an object by a second image capturing device arranged at a position different from the first image capturing device, and the second image capturing. The second dissimilarity indicating the dissimilarity with the model image of the object in the second virtual space corresponding to the space imaged by the device is obtained by the object in the second virtual space acquired by the posture acquisition unit. The posture detection device according to claim 1, wherein the posture detection device calculates the posture for each of a plurality of postures.
前記第2の相違度算出部は、前記第2の撮像装置が対象物を撮像することで得られた第2の撮像画像と、前記第2の仮想空間における前記対象物のモデル画像との相違度を示す第4の相違度を、前記第2の仮想空間における前記対象物の複数の異なる位置毎に算出し、
複数の前記第3の相違度と複数の前記第4の相違度に基づいて、前記第1の撮像座標系における前記対象物の位置を推定する位置推定部と、
を備える請求項1から11のいずれか一項に記載の姿勢検出装置。 The first dissimilarity calculator calculates a difference between a first captured image obtained by the first imaging device capturing an object and a model image of the object in the first virtual space. Calculating a third dissimilarity indicating a degree for each of a plurality of different positions of the object in the first virtual space;
The second degree-of-difference calculation unit is configured such that a difference between a second captured image obtained by the second imaging device capturing an object and a model image of the object in the second virtual space Calculating a fourth dissimilarity indicating a degree for each of a plurality of different positions of the object in the second virtual space;
A position estimation unit that estimates a position of the object in the first imaging coordinate system based on the plurality of third dissimilarities and the plurality of fourth dissimilarities;
The posture detection device according to claim 1, comprising:
前記第1の相違度算出部が算出した複数の第3の相違度を参照して、前記第1の撮像座標系における撮像装置の光軸と直行する第1の平面の位置を推定し、前記第2の相違度算出部が算出した複数の第4の相違度を参照して、前記第2の撮像座標系における撮像装置の光軸と直行する第2の平面の位置を推定する平面位置推定部と、
前記第1の平面の位置と前記第2の平面の位置とを参照して、前記第1の撮像座標系における前記対象物の奥行きを算出する奥行き算出部と、
を備える請求項12に記載の姿勢検出装置。 The position estimation unit
With reference to a plurality of third dissimilarities calculated by the first dissimilarity calculating unit, a position of a first plane orthogonal to the optical axis of the imaging device in the first imaging coordinate system is estimated, Plane position estimation for estimating the position of the second plane orthogonal to the optical axis of the imaging device in the second imaging coordinate system with reference to the plurality of fourth differences calculated by the second difference calculation unit And
A depth calculator that calculates the depth of the object in the first imaging coordinate system with reference to the position of the first plane and the position of the second plane;
The posture detection device according to claim 12.
を備え、
前記判定部が収束していないと判定した場合、前記第1の相違度算出部は、前記対象物のモデル画像の姿勢を予め決められたように変更した後のモデル画像と前記第1の撮像画像とに基づいて前記複数の第1の相違度を算出し、前記第2の相違度算出部は、前記対象物のモデル画像の姿勢を予め決められたように変更した後のモデル画像と前記第2の撮像画像とに基づいて前記複数の第2の相違度を算出し、
前記姿勢推定部は、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて、前記対象物の姿勢を推定し、
前記判定部は、前記姿勢推定部が推定した前記対象物の姿勢を用いて判定を再び行う請求項1から14のいずれか一項に記載の姿勢検出装置。 A determination unit that determines whether or not the estimation has converged with reference to a difference between the posture of the object estimated by the posture estimation unit and the posture of the object estimated before;
With
When it is determined that the determination unit has not converged, the first dissimilarity calculation unit changes the posture of the model image of the object as previously determined and the first imaging The plurality of first dissimilarities are calculated based on the image, and the second dissimilarity calculator calculates the model image after changing the posture of the model image of the object as determined in advance, and Calculating the plurality of second differences based on the second captured image;
The posture estimation unit is configured based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit. Estimate the posture of the object,
The posture detection device according to claim 1, wherein the determination unit performs the determination again using the posture of the object estimated by the posture estimation unit.
前記第1のゴール画像を撮影した空間を再現する第1の仮想空間において存在する対象物のモデルの位置及び姿勢から、予め決められた軸周りまたは軸方向に予め決められたように前記モデルを移動させて撮影した画像と、前記第1のゴール画像との相違度を示す第5の相違度を算出し、
前記第2のゴール画像を撮影した空間を再現する第2の仮想空間において存在する対象物のモデルの位置及び姿勢から、予め決められた軸周りまたは軸方向に予め決められたように前記モデルを移動させて撮影した画像と、第2のゴール画像との相違度を示す第6の相違度を算出し、
前記第5の相違度を算出した際の移動方向への前記第5の相違度の勾配と、前記第6の相違度を算出した際の移動方向への前記第6の相違度の勾配とを比較することで、姿勢推定の基準となる撮像装置を決定し、該決定した撮像装置を新たに前記第1の撮像装置とする位置決め基準撮像装置決定部と、
を備える請求項1から15のいずれか一項に記載の姿勢検出装置。 When the object is at a target position and orientation, a first goal image obtained by photographing the object with the first imaging device and a second goal image obtained by photographing with the second imaging device are acquired. A goal image acquisition unit;
From the position and orientation of the model of the object existing in the first virtual space that reproduces the space in which the first goal image was captured, the model is determined in advance around a predetermined axis or in an axial direction. Calculating a fifth dissimilarity indicating a dissimilarity between the image taken by moving and the first goal image;
From the position and orientation of the model of the object existing in the second virtual space that reproduces the space in which the second goal image was photographed, the model is determined in advance around a predetermined axis or in an axial direction. Calculating a sixth dissimilarity indicating a dissimilarity between the image taken by moving and the second goal image;
The gradient of the fifth difference in the movement direction when the fifth difference is calculated and the gradient of the sixth difference in the movement direction when the sixth difference is calculated By comparing, an imaging device serving as a reference for posture estimation is determined, and a positioning reference imaging device determination unit that newly sets the determined imaging device as the first imaging device;
The posture detection device according to any one of claims 1 to 15.
前記第2の相違度算出部は、前記第2の仮想空間において位置姿勢推定の対象となる対象物以外の対象物全ての画像領域を特定し、該特定した画像領域を演算対象から除いて第2の相違度を算出する請求項1から16のいずれか一項に記載の姿勢検出装置。 When there are a plurality of the objects, the first dissimilarity calculation unit identifies an image region of all objects other than the object to be a position and orientation estimation target in the first virtual space, and the identified image Calculating the first difference by excluding the region from the calculation target;
The second dissimilarity calculation unit specifies image regions of all objects other than the target object for position and orientation estimation in the second virtual space, and removes the specified image region from the calculation target. The posture detection apparatus according to claim 1, wherein the degree of difference between the two is calculated.
ロボットを制御する時間間隔毎に、前記目標位置姿勢決定部が決定した変化量のうち最新の変化量に基づいて、前記時間間隔後のロボットの位置及び姿勢を決定し、該決定した位置及び姿勢になるようロボットを制御するロボット制御部と、
を更に備え、
前記ロボット制御部は、前記予め決められた時間のうち、自装置が第1の撮像画像及び第2の撮像画像から前記変化量を決定するまでの最短時間に基づいて決められた時間まではロボットが加速及び減速で移動するように前記ロボットの位置及び姿勢を決定し、その後の時間はロボットが等速で移動するように前記ロボットの位置及び姿勢を決定する請求項12から14に記載の姿勢検出装置。 Based on the estimated position and orientation of the object and the position and orientation when the object is at the target position, the position and orientation in the robot coordinate system after a predetermined time has elapsed from the current time A target position and orientation determination unit that determines the amount of change in
For each time interval for controlling the robot, the position and posture of the robot after the time interval are determined based on the latest change amount among the change amounts determined by the target position and posture determination unit, and the determined position and posture A robot controller that controls the robot to become
Further comprising
The robot control unit performs the robot until the time determined based on the shortest time until the apparatus determines the amount of change from the first captured image and the second captured image among the predetermined time. 15. The posture according to claim 12, wherein the position and posture of the robot are determined so that the robot moves with acceleration and deceleration, and then the position and posture of the robot are determined so that the robot moves at a constant speed. Detection device.
前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が撮像した空間に対応する第2の仮想空間における対象物の複数の姿勢毎に第2の相違度を算出する第2の相違度算出部と、
前記複数の第1の相違度と前記複数の第2の相違度とに基づいて前記第1の撮像装置を基準とする第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定部と、
を備える姿勢検出装置。 A first dissimilarity calculating unit that calculates a first dissimilarity for each of a plurality of different postures of an object in a first virtual space corresponding to a space imaged by the first imaging device;
A second difference is calculated for each of a plurality of postures of the object in the second virtual space corresponding to the space imaged by the second imaging device arranged at a position different from the first imaging device. The difference calculation unit of
A posture estimation unit that estimates a posture of the object in a first imaging coordinate system based on the first imaging device based on the plurality of first differences and the plurality of second differences. ,
An attitude detection device comprising:
第2の撮像装置が対象物を撮像することで得られた第2の撮像画像と、第2の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第2の仮想空間における前記対象物の複数の異なる位置毎に算出する第2の相違度算出部と、
前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて第1の撮像座標系における前記対象物の位置を推定する位置推定部と、
を備える位置検出装置。 The first difference indicating the difference between the first captured image obtained by the first imaging device capturing the object and the model image of the object in the first virtual space is the first difference. A third dissimilarity calculator for calculating each of a plurality of different positions of the object in one virtual space;
The first difference indicating the difference between the second captured image obtained by the second imaging device capturing the object and the model image of the object in the second virtual space is the first difference. A second dissimilarity calculator for calculating each of a plurality of different positions of the object in two virtual spaces;
Based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit, the first imaging coordinate system in the first imaging coordinate system A position estimator for estimating the position of the object;
A position detection device comprising:
前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、
前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像装置座標系における前記対象物の姿勢を推定する姿勢推定部と、
を備えるロボット。 The degree of difference between the first captured image obtained by imaging the object by the first imaging device and the model image of the object in the first virtual space corresponding to the space imaged by the first imaging device A first dissimilarity calculating unit that calculates a first dissimilarity for each of a plurality of different postures of the object in the first virtual space;
A second captured image obtained by imaging a target object by a second imaging device arranged at a position different from that of the first imaging device, and a second corresponding to a space captured by the second imaging device. A second dissimilarity calculating unit that calculates a second dissimilarity indicating a dissimilarity with the model image of the object in the virtual space for each of a plurality of postures of the object in the second virtual space;
The first imaging device coordinate system based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit. A posture estimation unit for estimating the posture of the object in
Robot equipped with.
第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出部と、
前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出部と、
前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像装置座標系における前記対象物の姿勢を推定する姿勢推定部と、
を備えるロボットシステム。 A robot having moving parts;
The degree of difference between the first captured image obtained by imaging the object by the first imaging device and the model image of the object in the first virtual space corresponding to the space imaged by the first imaging device A first dissimilarity calculating unit that calculates a first dissimilarity for each of a plurality of different postures of the object in the first virtual space;
A second captured image obtained by imaging a target object by a second imaging device arranged at a position different from that of the first imaging device, and a second corresponding to a space captured by the second imaging device. A second dissimilarity calculating unit that calculates a second dissimilarity indicating a dissimilarity with the model image of the object in the virtual space for each of a plurality of postures of the object in the second virtual space;
The first imaging device coordinate system based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit. A posture estimation unit for estimating the posture of the object in
A robot system comprising:
第2の相違度算出部が、前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する手順と、
姿勢推定部が、前記第1の相違度算出部が算出した複数の第1の相違度と、前記第2の相違度算出部が算出した複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する手順と、
を有する姿勢検出方法。 The first dissimilarity calculation unit includes a first captured image obtained by imaging a target by the first imaging device, and the first virtual space corresponding to the space imaged by the first imaging device. A procedure for calculating a first degree of difference indicating a degree of difference from the model image of the object for each of a plurality of different postures of the object in the first virtual space;
A second captured image obtained by imaging a target by a second imaging device arranged at a position different from that of the first imaging device, and the second imaging device; Calculating a second dissimilarity indicating a dissimilarity with the model image of the object in the second virtual space corresponding to the space imaged for each of a plurality of postures of the object in the second virtual space When,
Based on the plurality of first differences calculated by the first difference calculation unit and the plurality of second differences calculated by the second difference calculation unit by the posture estimation unit. A procedure for estimating the posture of the object in the imaging coordinate system of
A posture detection method comprising:
第1の撮像装置が対象物を撮像して得た第1の撮像画像と、前記第1の撮像装置が撮像した空間に対応する第1の仮想空間における前記対象物のモデル画像との相違度を示す第1の相違度を、前記第1の仮想空間における対象物の複数の異なる姿勢毎に算出する第1の相違度算出ステップと、
前記第1の撮像装置とは異なる位置に配置された第2の撮像装置が対象物を撮像して得た第2の撮像画像と、前記第2の撮像装置が撮像した空間に対応する第2の仮想空間における前記対象物のモデル画像との相違度を示す第2の相違度を、前記第2の仮想空間における対象物の複数の姿勢毎に算出する第2の相違度算出ステップと、
前記第1の相違度算出ステップで算出された複数の第1の相違度と、前記第2の相違度算出ステップで算出された複数の第2の相違度とに基づいて前記第1の撮像座標系における前記対象物の姿勢を推定する姿勢推定ステップと、
を実行させるためのプログラム。 On the computer,
The degree of difference between the first captured image obtained by imaging the object by the first imaging device and the model image of the object in the first virtual space corresponding to the space imaged by the first imaging device A first dissimilarity calculating step for calculating a first dissimilarity for each of a plurality of different postures of the object in the first virtual space;
A second captured image obtained by imaging a target object by a second imaging device arranged at a position different from that of the first imaging device, and a second corresponding to a space captured by the second imaging device. A second dissimilarity calculating step of calculating a second dissimilarity indicating a dissimilarity with the model image of the object in the virtual space for each of a plurality of postures of the object in the second virtual space;
The first imaging coordinates based on the plurality of first dissimilarities calculated in the first dissimilarity calculating step and the plurality of second dissimilarities calculated in the second dissimilarity calculating step A posture estimation step for estimating a posture of the object in the system;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013033542A JP2014161937A (en) | 2013-02-22 | 2013-02-22 | Posture detection device, position detection device, robot, robot system, posture detection method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013033542A JP2014161937A (en) | 2013-02-22 | 2013-02-22 | Posture detection device, position detection device, robot, robot system, posture detection method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014161937A true JP2014161937A (en) | 2014-09-08 |
JP2014161937A5 JP2014161937A5 (en) | 2016-04-07 |
Family
ID=51613067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013033542A Withdrawn JP2014161937A (en) | 2013-02-22 | 2013-02-22 | Posture detection device, position detection device, robot, robot system, posture detection method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014161937A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018027580A (en) * | 2016-08-17 | 2018-02-22 | ファナック株式会社 | Robot control device |
CN112276935A (en) * | 2019-07-22 | 2021-01-29 | 发那科株式会社 | Position and orientation determination device, position and orientation determination method, and position and orientation determination program |
CN117809255A (en) * | 2024-01-09 | 2024-04-02 | 广东工程宝科技有限公司 | Repair reporting method and repair reporting system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08136220A (en) * | 1994-11-14 | 1996-05-31 | Mazda Motor Corp | Method and device for detecting position of article |
WO2000057129A1 (en) * | 1999-03-19 | 2000-09-28 | Matsushita Electric Works, Ltd. | Three-dimensional object recognition method and pin picking system using the method |
JP2004090183A (en) * | 2002-09-02 | 2004-03-25 | Fanuc Ltd | Article position and orientation detecting device and article taking-out device |
JP2010146303A (en) * | 2008-12-18 | 2010-07-01 | Fuji Electric Holdings Co Ltd | Three-dimensional object attitude/position detecting device, method, and program |
JP2012216180A (en) * | 2011-03-30 | 2012-11-08 | Advanced Telecommunication Research Institute International | Estimation device of visual line direction, method for estimating visual line direction, and program for causing computer to execute method for estimating visual line direction |
-
2013
- 2013-02-22 JP JP2013033542A patent/JP2014161937A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08136220A (en) * | 1994-11-14 | 1996-05-31 | Mazda Motor Corp | Method and device for detecting position of article |
WO2000057129A1 (en) * | 1999-03-19 | 2000-09-28 | Matsushita Electric Works, Ltd. | Three-dimensional object recognition method and pin picking system using the method |
JP2004090183A (en) * | 2002-09-02 | 2004-03-25 | Fanuc Ltd | Article position and orientation detecting device and article taking-out device |
JP2010146303A (en) * | 2008-12-18 | 2010-07-01 | Fuji Electric Holdings Co Ltd | Three-dimensional object attitude/position detecting device, method, and program |
JP2012216180A (en) * | 2011-03-30 | 2012-11-08 | Advanced Telecommunication Research Institute International | Estimation device of visual line direction, method for estimating visual line direction, and program for causing computer to execute method for estimating visual line direction |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018027580A (en) * | 2016-08-17 | 2018-02-22 | ファナック株式会社 | Robot control device |
US10507583B2 (en) | 2016-08-17 | 2019-12-17 | Fanuc Corporation | Robot control device |
DE102017118276B4 (en) * | 2016-08-17 | 2020-10-08 | Fanuc Corporation | Robot control device |
CN112276935A (en) * | 2019-07-22 | 2021-01-29 | 发那科株式会社 | Position and orientation determination device, position and orientation determination method, and position and orientation determination program |
CN117809255A (en) * | 2024-01-09 | 2024-04-02 | 广东工程宝科技有限公司 | Repair reporting method and repair reporting system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704833B2 (en) | Monocular vision tracking method, apparatus and non-transitory computer-readable storage medium | |
CN107255476B (en) | Indoor positioning method and device based on inertial data and visual features | |
JP6734940B2 (en) | Three-dimensional measuring device | |
CN107747941B (en) | Binocular vision positioning method, device and system | |
CN106446815B (en) | A kind of simultaneous localization and mapping method | |
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
JP6198230B2 (en) | Head posture tracking using depth camera | |
JP2021000678A (en) | Control system and control method | |
KR20150088636A (en) | Apparatus and method for estimating position | |
CN105678809A (en) | Handheld automatic follow shot device and target tracking method thereof | |
JP6317618B2 (en) | Information processing apparatus and method, measuring apparatus, and working apparatus | |
JP6626338B2 (en) | Information processing apparatus, control method for information processing apparatus, and program | |
US9914222B2 (en) | Information processing apparatus, control method thereof, and computer readable storage medium that calculate an accuracy of correspondence between a model feature and a measurement data feature and collate, based on the accuracy, a geometric model and an object in an image | |
CN110120098A (en) | Scene size estimation and augmented reality control method, device and electronic equipment | |
JP2014161937A (en) | Posture detection device, position detection device, robot, robot system, posture detection method and program | |
CN107092348A (en) | A kind of vision positioning mark layout method in immersive VR roaming system | |
JP2018173882A (en) | Information processing device, method, and program | |
JP2005241323A (en) | Imaging system and calibration method | |
WO2010089938A1 (en) | Rotation estimation device, rotation estimation method, and storage medium | |
JP2012221042A (en) | Camera pause estimation device, camera pause estimation method and camera pause estimation program | |
WO2021251171A1 (en) | Information processing device, information processing method, and program | |
JP2014161937A5 (en) | Robot, robot system, posture detection method and program | |
JP4631606B2 (en) | Image depth distribution estimation method, apparatus, and program | |
Gemeiner et al. | Real-time slam with a high-speed cmos camera | |
JP2015118441A (en) | Data processing apparatus, data processing method and data processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161220 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20170202 |