JP6561757B2 - Image processing apparatus, robot, and marker - Google Patents
Image processing apparatus, robot, and marker Download PDFInfo
- Publication number
- JP6561757B2 JP6561757B2 JP2015204360A JP2015204360A JP6561757B2 JP 6561757 B2 JP6561757 B2 JP 6561757B2 JP 2015204360 A JP2015204360 A JP 2015204360A JP 2015204360 A JP2015204360 A JP 2015204360A JP 6561757 B2 JP6561757 B2 JP 6561757B2
- Authority
- JP
- Japan
- Prior art keywords
- marker
- graphic
- code
- area
- centroid
- 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.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
本発明は、画像処理装置、ロボット、及びマーカーに関する。
The present invention relates to an image processing apparatus, robot, relates 及 Beauty marker.
画像からマーカーや対象物を検出し、検出したマーカーや対象物に応じて作業を行うロボットの研究や開発が行われている。 Research and development of robots that detect markers and objects from images and perform operations according to the detected markers and objects are being conducted.
これに関し、互いに隣り合う第1色の領域と第2色の領域とで構成されるマーカーと、マトリクス状に配列された2進データセルから成るデータマトリクスとを備える二次元コードが知られている(特許文献1参照)。 In this regard, there is known a two-dimensional code including a marker composed of a first color region and a second color region adjacent to each other and a data matrix composed of binary data cells arranged in a matrix. (See Patent Document 1).
しかしながら、この二次元コードは、当該二次元コードを含む撮像画像から第1色の領域と第2色の領域とに基づいて検出しなければならないため、これらの領域に対する汚れや当該領域の経時変化、当該撮像画像の撮像時における環境光等の撮像条件の変化等の外的要因によって検出に失敗する場合があった。 However, since this two-dimensional code must be detected based on the first color region and the second color region from the captured image including the two-dimensional code, dirt on these regions and changes with time of the regions In some cases, the detection may fail due to external factors such as changes in imaging conditions such as ambient light when the captured image is captured.
上記課題の少なくとも一つを解決するために本発明の一態様は、マーカーを検出する画像処理装置であって、前記マーカーは、図心が3つ以上重なっている第1図形と、前記第1図形の内部または外部に設けられたデータ領域と、を有し、前記第1図形を検出した後、前記第1図形の図心に基づいて前記データ領域を検出する、画像処理装置である。
この構成により、画像処理装置は、第1図形を検出した後、当該第1図形の図心に基づいてデータ領域を検出する。これにより、画像処理装置は、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
In order to solve at least one of the above problems, one embodiment of the present invention is an image processing apparatus for detecting a marker, wherein the marker includes a first graphic having three or more centroids and the first graphic. And a data area provided inside or outside the figure, and after detecting the first figure, the image processing apparatus detects the data area based on the centroid of the first figure.
With this configuration, after detecting the first graphic, the image processing apparatus detects the data area based on the centroid of the first graphic. Thereby, the image processing apparatus can suppress the failure of marker detection due to an external factor for the marker.
また、本発明の他の態様は、画像処理装置において、前記第1図形の図心を通る方向に基づいて、前記データ領域を検出する、構成が用いられてもよい。
この構成により、画像処理装置は、第1図形の図心を通る方向に基づいて、データ領域を検出する。これにより、画像処理装置は、第1図形の図心を通る方向に基づいて、より確実にデータ領域を検出することができる。
According to another aspect of the present invention, in the image processing apparatus, a configuration in which the data area is detected based on a direction passing through the centroid of the first graphic may be used.
With this configuration, the image processing apparatus detects the data area based on the direction passing through the centroid of the first graphic. As a result, the image processing apparatus can detect the data area more reliably based on the direction passing through the centroid of the first graphic.
また、本発明の他の態様は、画像処理装置において、前記第1図形の図心を中心として前記方向を変化させて、前記データ領域を検出する、構成が用いられてもよい。
この構成により、画像処理装置は、第1図形の図心を中心として当該第1図形の図心を通る方向を変化させて、データ領域を検出する。これにより、画像処理装置は、第1図形が当該第1図形の図心を通る方向を示していない場合であっても、データ領域を検出することができる。
In another aspect of the present invention, in the image processing apparatus, a configuration in which the direction is changed around the centroid of the first graphic and the data area is detected may be used.
With this configuration, the image processing apparatus detects the data area by changing the direction passing through the centroid of the first graphic around the centroid of the first graphic. Thereby, the image processing apparatus can detect the data area even when the first graphic does not indicate the direction passing through the centroid of the first graphic.
また、本発明の他の態様は、画像処理装置において、前記データ領域は、前記第1図形と比べて重なっている図心の数が少ない図形を有する、構成が用いられてもよい。
この構成により、画像処理装置は、第1図形を検出した後、当該第1図形と比べて重なっている図心の数が少ない図形を有するデータ領域を検出する。これにより、画像処理装置は、データ領域が有する図形を第1図形として誤検出してしまうことを抑制することができる。
According to another aspect of the present invention, in the image processing apparatus, the data area may include a graphic having a smaller number of overlapping centroids than the first graphic.
With this configuration, after detecting the first graphic, the image processing apparatus detects a data area having a graphic with a small number of centroids that overlap with the first graphic. Accordingly, the image processing apparatus can suppress erroneous detection of the graphic included in the data area as the first graphic.
また、本発明の他の態様は、画像処理装置において、前記マーカーは、図心が3つ以上重なっている第2図形を有し、前記データ領域は、前記第1図形と前記第2図形との間に位置する、構成が用いられてもよい。
この構成により、画像処理装置は、第1図形及び第2図形を検出した後、当該第1図形の図心と当該第2図形の図心とに基づいてデータ領域を検出する。これにより、画像処理装置は、より確実にデータ領域を検出することができる。
According to another aspect of the present invention, in the image processing apparatus, the marker includes a second graphic having three or more centroids overlapped, and the data area includes the first graphic and the second graphic. A configuration located between the two may be used.
With this configuration, after detecting the first graphic and the second graphic, the image processing apparatus detects the data area based on the centroid of the first graphic and the centroid of the second graphic. Thereby, the image processing apparatus can detect the data area more reliably.
また、本発明の他の態様は、画像処理装置において、前記第1図形の図心と、前記第2図形の図心とを結んだ方向に基づいて、前記データ領域を検出する、構成が用いられてもよい。
この構成により、画像処理装置は、前記第1図形の図心と、前記第2図形の図心とを結んだ方向に基づいて、前記データ領域を検出する。これにより、画像処理装置は、第1図形の図心と、第2図形の図心とを結んだ方向に基づいて、より早くにデータ領域を検出することができる。
In another aspect of the present invention, in the image processing apparatus, the data area is detected based on a direction connecting the centroid of the first graphic and the centroid of the second graphic. May be.
With this configuration, the image processing apparatus detects the data area based on the direction connecting the centroid of the first graphic and the centroid of the second graphic. Thereby, the image processing apparatus can detect the data area earlier based on the direction connecting the centroid of the first graphic and the centroid of the second graphic.
また、本発明の他の態様は、上記のいずれかに記載の画像処理装置を備える、ロボットである。
この構成により、ロボットは、第1図形を検出した後、当該第1図形の図心に基づいてデータ領域を検出する。これにより、ロボットは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
Another aspect of the present invention is a robot including the image processing apparatus according to any one of the above.
With this configuration, after detecting the first graphic, the robot detects the data area based on the centroid of the first graphic. Thereby, the robot can suppress the failure of marker detection due to an external factor for the marker.
また、本発明の他の態様は、前記マーカーを含む撮像画像を撮像する撮像部と、請求項7に記載のロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、第1図形を検出した後、当該第1図形の図心に基づいてデータ領域を検出する。これにより、ロボットシステムは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
Moreover, the other aspect of this invention is a robot system provided with the imaging part which images the captured image containing the said marker, and the robot of
With this configuration, after detecting the first graphic, the robot system detects the data area based on the centroid of the first graphic. Thereby, the robot system can suppress the failure of marker detection due to an external factor for the marker.
また、本発明の他の態様は、図心が3つ以上重なっている第1図形と、前記第1図形の外部に設けられたデータ領域と、を有するマーカーである。
この構成により、マーカーは、第1図形を検出させた後、当該第1図形の図心に基づいてデータ領域を検出させる。これにより、マーカーは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
Another aspect of the present invention is a marker having a first graphic having three or more overlapping centroids and a data area provided outside the first graphic.
With this configuration, the marker detects the first graphic and then detects the data area based on the centroid of the first graphic. Thereby, the marker can suppress the failure of marker detection due to an external factor for the marker.
また、本発明の他の態様は、マーカーにおいて、図心が3つ以上重なっている第2図形を有し、前記データ領域は、前記第1図形と前記第2図形との間に位置する、構成が用いられてもよい。
この構成により、マーカーは、第1図形と第2図形を検出させた後、当該第1図形の図心と当該第2図形の図心とに基づいてデータ領域を検出させる。これにより、マーカーは、より確実にデータ領域を検出させることができる。
According to another aspect of the present invention, in the marker, the marker has a second graphic with three or more centroids overlapping, and the data area is located between the first graphic and the second graphic. A configuration may be used.
With this configuration, the marker detects the first graphic and the second graphic, and then detects the data area based on the centroid of the first graphic and the centroid of the second graphic. Thereby, the marker can detect a data area more reliably.
以上により、画像処理装置、ロボット、及びロボットシステムは、第1図形を検出した後、当該第1図形の図心に基づいてデータ領域を検出する。これにより、画像処理装置、ロボット、ロボットシステムは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
また、マーカーは、第1図形を検出させた後、当該第1図形の図心に基づいてデータ領域を検出させる。これにより、マーカーは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。
As described above, after detecting the first graphic, the image processing device, the robot, and the robot system detect the data area based on the centroid of the first graphic. Thereby, the image processing apparatus, the robot, and the robot system can suppress a failure in marker detection due to an external factor with respect to the marker.
The marker detects the first graphic and then detects the data area based on the centroid of the first graphic. Thereby, the marker can suppress the failure of marker detection due to an external factor for the marker.
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボット20の一例を示す構成図である。
<Embodiment>
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram illustrating an example of a
<ロボット20の構成>
まず、ロボット20の構成について説明する。
ロボット20は、第1アームと、第2アームと、第1アーム及び第2アームを支持する支持台と、ロボット制御装置30を備える双腕ロボットである。双腕ロボットは、この一例における第1アームと第2アームのような2本のアーム(腕)を備えるロボットである。なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、1本のアームを備えるロボットである。例えば、単腕ロボットは、第1アームと第2アームのいずれか一方を備える。また、ロボット20は、双腕ロボットに代えて、3本以上のアームを備える複腕ロボットであってもよい。
<Configuration of
First, the configuration of the
The
第1アームは、第1エンドエフェクターE1と第1マニピュレーターM1を備える。 The first arm includes a first end effector E1 and a first manipulator M1.
第1エンドエフェクターE1は、この一例において、物体を把持可能な爪部を備えるエンドエフェクターである。なお、第1エンドエフェクターE1は、当該爪部を備えるエンドエフェクターに代えて、電動ドライバーを備えるエンドエフェクター等の他のエンドエフェクターであってもよい。 In this example, the first end effector E1 is an end effector including a claw that can grip an object. The first end effector E1 may be another end effector such as an end effector provided with an electric screwdriver, instead of the end effector provided with the claw portion.
第1エンドエフェクターE1は、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第1エンドエフェクターE1は、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、第1エンドエフェクターE1は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The first end effector E1 is communicably connected to the
第1マニピュレーターM1は、7つの関節と、第1撮像部21を備える。また、7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第1マニピュレーターM1を備える第1アームは、7軸垂直多関節型のアームである。第1アームは、支持台と、第1エンドエフェクターE1と、第1マニピュレーターM1と、第1マニピュレーターM1が備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、第1アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
The first manipulator M1 includes seven joints and a
第1アームが7軸の自由度で動作する場合、第1アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第1アームは、例えば、動作が滑らかになり、更に第1アームの周辺に存在する物体との干渉を容易に回避することができる。また、第1アームが7軸の自由度で動作する場合、第1アームの制御は、第1アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。 When the first arm operates with a degree of freedom of seven axes, the posture that the first arm can take is increased as compared with a case where the first arm operates with a degree of freedom of six axes or less. Thereby, for example, the first arm can be smoothly operated, and interference with an object existing around the first arm can be easily avoided. In addition, when the first arm operates with a degree of freedom of 7 axes, the control of the first arm is easy and requires a smaller amount of calculation than when the first arm operates with a degree of freedom of 8 axes or more.
第1マニピュレーターM1が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第1マニピュレーターM1を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第1マニピュレーターM1が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
Each of the seven actuators (provided at the joints) included in the first manipulator M1 is connected to the
第1撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、第1撮像部21は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部21は、第1アームの動きに応じて移動する。また、第1撮像部21が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部21は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
The
また、第1撮像部21は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部21は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
第2アームは、第2エンドエフェクターE2と第2マニピュレーターM2を備える。 The second arm includes a second end effector E2 and a second manipulator M2.
第2エンドエフェクターE2は、この一例において、物体を把持可能な爪部を備えるエンドエフェクターである。なお、第2エンドエフェクターE2は、当該爪部を備えるエンドエフェクターに代えて、電動ドライバーを備えるエンドエフェクター等の他のエンドエフェクターであってもよい。 In this example, the second end effector E2 is an end effector including a claw portion that can grip an object. The second end effector E2 may be another end effector such as an end effector including an electric screwdriver, instead of the end effector including the claw portion.
第2エンドエフェクターE2は、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第2エンドエフェクターE2は、ロボット制御装置30から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2エンドエフェクターE2は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The second end effector E2 is communicably connected to the
第2マニピュレーターM2は、7つの関節と、第2撮像部22を備える。また、7つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第2マニピュレーターM2を備える第2アームは、7軸垂直多関節型のアームである。第2アームは、支持台と、第2エンドエフェクターE2と、第2マニピュレーターM2と、第2マニピュレーターM2が備える7つの関節それぞれのアクチュエーターとによる連携した動作によって7軸の自由度の動作を行う。なお、第2アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
The second manipulator M <b> 2 includes seven joints and the
第2アームが7軸の自由度で動作する場合、第2アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第2アームは、例えば、動作が滑らかになり、更に第2アームの周辺に存在する物体との干渉を容易に回避することができる。また、第2アームが7軸の自由度で動作する場合、第2アームの制御は、第2アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。 When the second arm operates with a degree of freedom of 7 axes, the posture that the second arm can take is increased as compared with a case where the second arm operates with a degree of freedom of 6 axes or less. Thereby, for example, the operation of the second arm becomes smooth, and interference with an object existing around the second arm can be easily avoided. Further, when the second arm operates with a degree of freedom of 7 axes, the control of the second arm is easy and requires a smaller amount of calculation than when the second arm operates with a degree of freedom of 8 axes or more.
第2マニピュレーターM2が備える7つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第2マニピュレーターM2を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、第2マニピュレーターM2が備える7つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
Each of the seven actuators (provided at the joints) included in the second manipulator M2 is communicably connected to the
第2撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部22は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部22は、第2アームの動きに応じて移動する。また、第2撮像部22が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部22は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
The
また、第2撮像部22は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部22は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
また、ロボット20は、第3撮像部23と、第4撮像部24を備える。
第3撮像部23は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第3撮像部23は、第4撮像部24が撮像可能な範囲を第4撮像部24とともにステレオ撮像可能な部位に備えられる。第3撮像部23は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第3撮像部23は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
The
第4撮像部24は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部24は、第3撮像部23が撮像可能な範囲を第3撮像部23とともにステレオ撮像可能な部位に備えられる。第4撮像部24は、ケーブルによって通信可能にロボット制御装置30と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部24は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
The
上記で説明したロボット20が備えるこれらの各機能部は、この一例において、ロボット20に内蔵されたロボット制御装置30から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット20は、ロボット制御装置30を内蔵する構成に代えて、外部に設置されたロボット制御装置30により制御される構成であってもよい。この場合、ロボット20と、ロボット制御装置30とは、ロボットシステムを構成する。また、ロボット20は、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24のうちの一部を備えない構成であってもよい。
Each of these functional units included in the
ロボット制御装置30は、ロボット20に制御信号を送信することにより、ロボット20を動作させる。これにより、ロボット制御装置30は、ロボット20に所定の作業を行わせる。
The
<ロボット20が行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
この一例において、ロボット20は、第1アームと第2アームの両方により作業することが可能な領域である作業領域に配置された物体を把持し、把持した物体を図示しない給材領域に給材(配置)する作業を所定の作業として行う。なお、ロボット20は、これに代えて、他の作業を所定の作業として行う構成であってもよい。また、作業領域は、第1アームと第2アームのうちいずれか一方により作業することが可能な領域であってもよい。
<Outline of predetermined work performed by the
Hereinafter, an outline of predetermined work performed by the
In this example, the
図1に示した例では、作業領域は、作業台TBの上面を含む領域である。作業台TBは、例えば、テーブルである。なお、作業台TBは、テーブルに代えて、床面や棚等の他の物体であってもよい。作業台TBの上面には、ロボット20が把持する対象物Oが配置されている。なお、作業台TBの上面には、2以上の対象物Oが配置されている構成であってもよい。
In the example shown in FIG. 1, the work area is an area including the upper surface of the work table TB. The work table TB is, for example, a table. The work table TB may be another object such as a floor surface or a shelf instead of the table. An object O to be gripped by the
対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図1では、図の簡略化のため、対象物Oを直方体形状の物体として表している。なお、対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Oの形状は、直方体形状に代えて、他の形状であってもよい。 The object O is, for example, an industrial part or member such as a plate, screw, or bolt that is assembled to a product. In FIG. 1, the object O is represented as a rectangular parallelepiped object for simplification of the drawing. The object O may be other objects such as daily necessities and living bodies instead of industrial parts and members. Further, the shape of the object O may be another shape instead of the rectangular parallelepiped shape.
<ロボット制御装置30が行う処理の概要>
以下、ロボット20に所定の作業を行わせるためにロボット制御装置30が行う処理の概要について説明する。
<Outline of processing performed by
Hereinafter, an outline of processing performed by the
ロボット制御装置30は、第3撮像部23と第4撮像部24に作業領域を含む範囲を撮像範囲としてステレオ撮像させる。そして、ロボット制御装置30は、第3撮像部23と第4撮像部24がステレオ撮像した撮像画像を取得する。ロボット制御装置30は、取得した撮像画像に基づいて、作業領域内に貼付されたマーカーを検出する。なお、ロボット制御装置30は、第3撮像部23と第4撮像部24に当該撮像範囲としてステレオ撮像させる構成に代えて、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24とのうちの第3撮像部23及び第4撮像部24の組み合わせを除く任意の2つの組み合わせによって撮像範囲をステレオ撮像する構成であってもよい。
The
本実施形態におけるマーカーは、当該マーカーの位置及び姿勢を示す図形と、当該マーカーの位置及び姿勢と異なる他の情報を示す図形を含むデータ領域とを有する。マーカーの位置及び姿勢を示す図形には、1以上の図形が含まれる。この一例では、マーカーの位置及び姿勢を示す図形が、第1図形と第2図形の2つの図形である場合について説明する。また、当該他の情報を示す図形は、当該他の情報を示すコード(記号)を表す図形であるコード図形である。データ領域は、1以上のコード図形を含む構成であってもよい。データ領域に複数のコード図形が含まれる場合、個々のコード図形は、当該他の情報の一部又は全部を示すコードを表す。この一例では、データ領域に4つコード図形が含まれており、当該4つのコード図形のそれぞれが当該他の情報の一部を示すコードを表し、当該4つのコード図形の全部によって1つの当該他の情報の全部を示すコードを表す場合について説明する。 The marker in the present embodiment includes a graphic indicating the position and orientation of the marker and a data area including a graphic indicating other information different from the position and orientation of the marker. The graphic indicating the position and orientation of the marker includes one or more graphic. In this example, a case will be described in which the graphics indicating the position and orientation of the marker are two graphics, a first graphic and a second graphic. The graphic indicating the other information is a code graphic that is a graphic representing a code (symbol) indicating the other information. The data area may include one or more code figures. When a plurality of code figures are included in the data area, each code figure represents a code indicating a part or all of the other information. In this example, four code figures are included in the data area, and each of the four code figures represents a code indicating a part of the other information. A case where a code indicating all of the information is expressed will be described.
この一例において、コードは、ロボット20の動作を示すロボット動作情報を示す。ロボット動作情報は、例えば、ロボット20の動作のうち、マーカーの位置及び姿勢に基づいて対象物Oを把持し、図示しない給材領域に給材する動作を示す情報である。ロボット動作情報を示すコードを表す4つのコード図形のそれぞれは、数ビットのコードを表す図形である。この一例では、コード図形が、1つで4ビットのコードを表す場合について説明する。すなわち、4つのコード図形は、全部で16ビットのコードを表す。
In this example, the code indicates robot operation information indicating the operation of the
なお、4つのコード図形が表わすコードは、ロボット動作情報として、ロボット20の動作のうち、ロボット20に対象物Oを加工させる動作等の他の動作を示す情報であってもよい。また、4つのコード図形が表わすコードは、ロボット動作情報に代えて、ロボット制御装置30のディスプレイに表示させる文字列(例えば、マーカーが貼付された対象物Oに関する情報を示すコメント)を示す情報等の他の情報を示す構成であってもよい。
The codes represented by the four code figures may be information indicating other operations such as an operation of causing the
マーカーが有する第1図形及び第2図形が示すマーカーMkの位置及び姿勢は、対象物Oのロボット座標系における位置及び姿勢を示している。なお、マーカーMkの位置及び姿勢は、対象物Oのロボット座標系における位置及び姿勢を示す構成に代えて、ロボット20が第1アームのTCPや第2アームのTCPを経由させる経由点の位置及び姿勢等の他の位置及び姿勢を示す構成であってもよい。
The position and posture of the marker Mk indicated by the first graphic and the second graphic included in the marker indicate the position and posture of the object O in the robot coordinate system. Note that the position and orientation of the marker Mk are not the configuration indicating the position and orientation of the object O in the robot coordinate system, but the position of the via point that the
ここで、第1図形の図心は、第1図形の形状に基づいて検出され、第2図形の図心は、第2図形の形状に基づいて検出される。このため、第1図形の図心や第2図形の図心は、色付きの図形を含むマーカーを当該色に基づいて検出する場合に比べて、環境光の変化やマーカーMkの経時変化等の外的要因により誤検出されにくい。そこで、ロボット制御装置30は、所定の作業をロボット20に行わせる処理においてマーカーを検出する際、マーカーが有する第1図形と第2図形のうちの少なくとも第1図形を検出した後、第1図形の図心に基づいてデータ領域、すなわちデータ領域に含まれる4つのコード図形を検出する。これにより、ロボット制御装置30は、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。以下では、マーカーを含む撮像画像から当該マーカーをロボット制御装置30が検出する処理について詳しく説明する。
Here, the centroid of the first graphic is detected based on the shape of the first graphic, and the centroid of the second graphic is detected based on the shape of the second graphic. For this reason, the centroid of the first graphic and the centroid of the second graphic are more sensitive to changes in ambient light, changes over time of the marker Mk, etc. than in the case where a marker including a colored graphic is detected based on the color. It is hard to be mistakenly detected due to technical factors. Therefore, when the
この一例において、作業領域内に貼付されたマーカーは、作業領域内の作業台TBの上面に配置された対象物Oに貼付されているマーカーMkである。すなわち、ロボット制御装置30は、第3撮像部23及び第4撮像部24が撮像した撮像画像からマーカーMkを検出する。この検出の際、ロボット制御装置30は、マーカーMkが有する第1図形と第2図形である第1図形F1と第2図形F2のうちの少なくとも第1図形F1を検出した後、第1図形F1の図心に基づいてデータ領域、すなわちデータ領域に含まれる4つのコード図形を検出する。なお、図1では、図を簡略化するため、マーカーMkを対象物Oに貼付された黒い四角によって表している。また、マーカーMkは、これに代えて、作業領域内の対象物Oとは異なる他の物体や、作業台TBの上面等に貼付される構成であってもよい。
In this example, the marker affixed in the work area is the marker Mk affixed to the object O arranged on the upper surface of the work table TB in the work area. That is, the
データ領域を検出した後、ロボット制御装置30は、検出したマーカーMkの位置及び姿勢を、対象物Oのロボット座標系における位置及び姿勢として算出する。そして、ロボット制御装置30は、マーカーMkのデータ領域に含まれるコード図形が表わすコードに基づいて、算出した当該位置及び姿勢の対象物Oをロボット20の第1アームに把持させ、図示しない給材領域に給材させる。なお、ロボット制御装置30は、これに代えて、対象物Oを第2アームに把持させる構成であってもよく、対象物Oを第1アームと第2アームの両方に把持させる構成等の他の構成であってもよい。
After detecting the data area, the
<ロボット制御装置30のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
<Hardware Configuration of
Hereinafter, the hardware configuration of the
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、ロボット制御装置30が処理する各種情報や画像、プログラム、図示しない給材領域の位置を示す情報等を格納する。
The
The
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
The
The
The display unit 35 is, for example, a liquid crystal display panel or an organic EL (ElectroLuminescence) display panel.
<ロボット制御装置30の機能構成>
以下、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。ロボット制御装置30は、記憶部32と、制御部36を備える。
<Functional Configuration of
Hereinafter, the functional configuration of the
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、画像処理部44と、ロボット制御部46を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
The
撮像制御部40は、作業領域を含む撮像範囲を第3撮像部23と第4撮像部24にステレオ撮像させる。
画像取得部42は、第3撮像部23と第4撮像部24がステレオ撮像した撮像画像を、第3撮像部23と第4撮像部24から取得する。
The
The
画像処理部44は、画像取得部42が取得した撮像画像に対して各種の画像処理を行う。画像処理部44は、第1検出処理部50と、第2検出処理部51と、位置姿勢算出部52と、コード検出部53を備える。
The
第1検出処理部50は、画像取得部42が取得した撮像画像に基づいて、当該撮像画像に含まれるマーカーが有する当該マーカーの位置及び姿勢を示す1以上の図形(例えば、この一例における第1図形及び第2図形)を当該撮像画像から検出する。
第2検出処理部51は、画像取得部42が取得した撮像画像と、第1検出処理部50が検出したマーカーの位置及び姿勢を示す1以上の図形とに基づいて、当該マーカーが有するデータ領域に含まれる1以上のコード図形を当該撮像画像から検出する。
The first
The second
位置姿勢算出部52は、第1検出処理部50が検出したマーカーの位置及び姿勢を示す図形に基づいて、当該マーカーの位置及び姿勢を、当該マーカーが貼付された対象物のロボット座標系における位置及び姿勢として算出する。
コード検出部53は、第2検出処理部51が検出したデータ領域に含まれる1以上のコード図形からコードを検出する。
The position /
The
ロボット制御部46は、位置姿勢算出部52が算出したマーカーの位置及び姿勢と、コード検出部53が検出したコードとに基づいて所定の作業をロボット20に行わせる。
The
<制御部36がロボット20に所定の作業を行わせる処理の流れについて>
以下、図4を参照し、制御部36がロボット20に所定の作業を行わせる処理について説明する。図4は、制御部36がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。以下では、制御部36が予め記憶部32から給材領域の位置を示す情報を読み出している場合について説明する。なお、制御部36は、ステップS100からステップS130までの処理における任意のタイミングにおいて記憶部32から給材領域の位置を示す情報を読み出す構成であってもよい。
<About the flow of processing in which the
Hereinafter, with reference to FIG. 4, a process in which the
撮像制御部40は、図1に示した作業領域を含む撮像範囲を第3撮像部23及び第4撮像部24にステレオ撮像させる(ステップS100)。次に、画像取得部42は、ステップS100において第3撮像部23及び第4撮像部24がステレオ撮像した撮像画像を第3撮像部23及び第4撮像部24から取得する(ステップS110)。次に、画像処理部44が備える各機能部は、ステップS110において画像取得部42が取得した撮像画像に基づいて、撮像画像に含まれるマーカーMkを検出するマーカー検出処理を実行する(ステップS120)。
The
次に、ロボット制御部46は、ステップS120におけるマーカー検出処理の結果を画像処理部44から取得する。そして、ロボット制御部46は、マーカー検出処理の結果に基づいて、対象物Oを第1アームに把持させて図示しない給材領域に給材させる(ステップS130)。
Next, the
ここで、ステップS130の処理について説明する。ステップS120におけるマーカー検出処理においてマーカーMkの検出が成功している場合、マーカー検出処理の結果には、マーカーMkの位置及び姿勢に基づいて算出された対象物Oのロボット座標系における位置及び姿勢と、マーカーMkのデータ領域に含まれる4つのコード図形が表わすコードとが含まれている。この場合、ロボット制御部46は、当該位置及び姿勢と、当該コードとに基づいて、対象物Oを第1アームに把持させて図示しない給材領域に給材させる。その後、ロボット制御部46は、処理を終了する。
Here, the process of step S130 will be described. When the detection of the marker Mk is successful in the marker detection process in step S120, the result of the marker detection process includes the position and orientation of the object O in the robot coordinate system calculated based on the position and orientation of the marker Mk. , And a code represented by four code figures included in the data area of the marker Mk. In this case, the
一方、ステップS120におけるマーカー検出処理においてマーカーMkの検出が失敗している場合、マーカー検出処理の結果には、マーカーMkの検出に失敗したことを示す情報が含まれている。この場合、ロボット制御部46は、ロボット20を制御せず、処理を終了する。この際、ロボット制御部46は、表示部35にマーカーMkの検出に失敗したことを示す情報を表示する構成であってもよい。
On the other hand, when the detection of the marker Mk has failed in the marker detection process in step S120, the result of the marker detection process includes information indicating that the detection of the marker Mk has failed. In this case, the
<マーカーの詳細>
以下、ロボット制御装置30が撮像画像から検出するマーカーの詳細について説明する。この一例におけるマーカー(例えば、マーカーMk)は、マーカーの位置及び姿勢を示す図形である第1図形及び第2図形と、コードを表す4つのコード図形を含むデータ領域とを有する。また、この一例におけるマーカーは、第1図形と第2図形の間にデータ領域が配置される。ここで、図5〜図12を参照し、この一例におけるマーカーについて説明する。
<Details of marker>
Hereinafter, details of the marker detected by the
図5は、図1に示したマーカーMkの具体例を示す図である。この一例におけるマーカーは、当該マーカーの一例である図5に示したマーカーMkと同様に、3つの領域に分かれて構成される。そこで、ここでは、マーカーMkを例に挙げて説明する。マーカーMkは、マーカーMkの第1図形である第1図形F1を含む領域W1と、マーカーMkの第2図形である第2図形F2を含む領域W2と、データ領域W3との3つの領域に分かれている。データ領域W3には、コードを表す4つのコード図形が含まれている。ロボット制御装置30は、第1図形F1と、第2図形F2と、コードを表す4つのコード図形とを、それぞれの図形の図心に基づいて検出する。
FIG. 5 is a diagram showing a specific example of the marker Mk shown in FIG. Similar to the marker Mk shown in FIG. 5 as an example of the marker, the marker in this example is divided into three regions. Therefore, here, the marker Mk will be described as an example. The marker Mk is divided into three regions: a region W1 including a first graphic F1 that is the first graphic of the marker Mk, a region W2 including a second graphic F2 that is the second graphic of the marker Mk, and a data region W3. ing. The data area W3 includes four code figures representing codes. The
ここで、図形の図心について詳しく説明する。図6は、図形の図心を説明するための図である。図6には、輪郭が曲線によって形成された図形F0と、図形F0を構成する各点の位置を表すための二次元座標系と、当該各点の位置を示すベクトルr_iとが示されている。ここで、図6では、ベクトルrを、rの上に矢印を付帯させることによって表している。また、ベクトルr_iの「_」の後に付された「i」は、図6に示したベクトルrの下付き添え字iを示している。また、添え字iは、図形F0を構成する各点(例えば、画素)を区別するためのラベルである。また、図6において、二次元座標系の原点から図形F0へ伸びる矢印は、ベクトルr_iの大きさ及び方向を表す矢印である。 Here, the centroid of the figure will be described in detail. FIG. 6 is a diagram for explaining the centroid of the figure. FIG. 6 shows a figure F0 whose contour is formed by a curve, a two-dimensional coordinate system for representing the position of each point constituting the figure F0, and a vector r_i indicating the position of each point. . Here, in FIG. 6, the vector r is represented by attaching an arrow on r. Further, “i” added after “_” of the vector r_i indicates the subscript i of the vector r shown in FIG. The subscript i is a label for distinguishing each point (for example, pixel) constituting the figure F0. In FIG. 6, an arrow extending from the origin of the two-dimensional coordinate system to the figure F0 is an arrow indicating the magnitude and direction of the vector r_i.
図心は、云わば図形の中心である。図心は、1つの図形に対して1つのみ一意に決まる。図6に示した図形F0の図心の位置は、ベクトルr_iを用いて、以下に示した式(1)によって定義されるベクトルcによって表される。 The centroid is the center of the figure. Only one centroid is uniquely determined for one figure. The position of the centroid of the figure F0 shown in FIG. 6 is represented by the vector c defined by the following equation (1) using the vector r_i.
式(1)において、ベクトルcは、cの上に矢印を付帯させることによって表している。また、Nは、図形F0を構成する各点の数であり、1以上の整数である。すなわち、図6に示した図形F0の図心の位置は、図形F0を構成する各点の位置を表すベクトルの総和を、当該各点の数によって除したベクトル(N個のベクトルの平均)によって表される。なお、図6では、二次元の図形F0と、二次元の座標系と、二次元のベクトルとを用いて図心について説明したが、図心の位置は、三次元以上の図形に対しても上記の式(1)によって定義されるベクトルcによって表される。 In equation (1), the vector c is expressed by attaching an arrow on c. N is the number of points constituting the graphic F0 and is an integer of 1 or more. That is, the position of the centroid of the figure F0 shown in FIG. 6 is obtained by a vector (average of N vectors) obtained by dividing the sum of vectors representing the positions of the points constituting the figure F0 by the number of the points. expressed. In FIG. 6, the centroid has been described using the two-dimensional figure F0, the two-dimensional coordinate system, and the two-dimensional vector. However, the position of the centroid is not limited to three-dimensional figures or more. It is represented by the vector c defined by the above equation (1).
ここで、この一例における第1図形と第2図形のそれぞれは、3以上の図形の組み合わせによって構成される図形である図心マーカーである。また、図心マーカーは、図心マーカーを構成する3以上の図形それぞれの図心が所定の範囲内に収まる(含まれる)マーカーである。例えば、図形A0と、図形B0と、図形C0との組み合わせによって構成される図心マーカーは、図形A0の図形A1と、図形B0の図心B1と、図形C0の図心C1とが所定の範囲内に収まる(含まれる)。所定の範囲は、例えば、半径が数画素程度の円形の範囲であるが、半径が1画素未満の円形の範囲であってもよく、半径が数画素以上の円形の範囲であってもよく、矩形等の円形とは異なる他の形状の範囲であってもよい。以下では、説明の便宜上、所定の範囲内に含まれる図心の数を、多重度と称して説明する。すなわち、図形A0と、図形B0と、図形C0との組み合わせによって構成される図心マーカーは、多重度が3の図心マーカーである。なお、第1図形と第2図形のうちいずれか一方又は両方は、これに代えて、1以上の図形によって構成される図形であってもよい。 Here, each of the first graphic and the second graphic in this example is a centroid marker that is a graphic constituted by a combination of three or more graphics. The centroid marker is a marker in which the centroids of each of the three or more figures constituting the centroid marker fall within a predetermined range. For example, the centroid marker constituted by the combination of the figure A0, the figure B0, and the figure C0 has a predetermined range between the figure A1 of the figure A0, the centroid B1 of the figure B0, and the centroid C1 of the figure C0. (Contains). The predetermined range is, for example, a circular range having a radius of about several pixels, but may be a circular range having a radius of less than one pixel, or may be a circular range having a radius of several pixels or more, It may be a range of another shape different from a circle such as a rectangle. Hereinafter, for convenience of explanation, the number of centroids included in a predetermined range will be referred to as multiplicity. That is, the centroid marker configured by the combination of the figure A0, the figure B0, and the figure C0 is a centroid marker with a multiplicity of 3. Note that either one or both of the first graphic and the second graphic may be replaced by a graphic constituted by one or more graphics.
図7は、第1図形F1を図心マーカーの一例として示す図である。図7に示したように、図心マーカーを構成する3以上の図形は、二値化画像において白色又は黒色のみの部分領域として検出される。第1図形F1は、輪郭が円形状の白色の部分領域によって表される図形F11と、輪郭がリング形状の黒色の部分領域によって表される図形F12と、輪郭がリング形状の白色の部分領域によって表される図形F13と、輪郭がリング形状の黒色の部分領域によって表される図形F14との4つの図形によって構成されている。また、第1図形F1は、図形F11と、図形F12と、図形F13と、図形F14とのそれぞれの図心が、所定の範囲内に収まるように作られている。このため、図形F11と、図形F12と、図形F13と、図形F14との組み合わせによって構成される第1図形F1は、多重度が4の図心マーカーである。なお、第1図形F1における図形F11〜図形F14は、同心円であり、図心が当該同心円の中心に位置する。 FIG. 7 is a diagram illustrating the first graphic F1 as an example of a centroid marker. As shown in FIG. 7, three or more figures constituting the centroid marker are detected as partial areas of only white or black in the binarized image. The first figure F1 includes a figure F11 represented by a white partial area having a circular outline, a figure F12 represented by a black partial area having a ring shape, and a white partial area having a ring shape. The figure is composed of four figures: a figure F13 represented and a figure F14 whose contour is represented by a black partial region having a ring shape. The first graphic F1 is formed such that the centroids of the graphic F11, the graphic F12, the graphic F13, and the graphic F14 fall within a predetermined range. For this reason, the first graphic F1 configured by a combination of the graphic F11, the graphic F12, the graphic F13, and the graphic F14 is a centroid marker with a multiplicity of 4. In addition, the figures F11 to F14 in the first figure F1 are concentric circles, and the centroid is located at the center of the concentric circles.
図8は、第2図形F2を図心マーカーの他の例として示す図である。第2図形F2は、輪郭が円形状の黒色の部分領域によって表される図形F21と、輪郭がリング形状の白色の部分領域によって表される図形F22と、輪郭がリング形状の黒色の部分領域によって表される図形F23との3つの図形によって構成されている。また、第2図形F2は、図形F21と、図形F22と、図形F23とのそれぞれの図心が、所定の範囲内に収まるように作られている。このため、図形F21と、図形F22と、図形F23との組み合わせによって構成される第2図形F2は、多重度が3の図心マーカーである。なお、第2図形F2における図形F21〜図形F23は、同心円であり、図心が当該同心円の中心に位置する。 FIG. 8 is a diagram showing the second figure F2 as another example of the centroid marker. The second figure F2 includes a figure F21 represented by a black partial area having a circular outline, a figure F22 represented by a white partial area having a ring shape, and a black partial area having a ring shape. It is comprised by three figures with the figure F23 represented. The second graphic F2 is formed such that the centroids of the graphic F21, the graphic F22, and the graphic F23 are within a predetermined range. For this reason, the second graphic F2 configured by a combination of the graphic F21, the graphic F22, and the graphic F23 is a centroid marker with a multiplicity of 3. In addition, the figures F21 to F23 in the second figure F2 are concentric circles, and the centroid is located at the center of the concentric circles.
図7及び図8に示した第1図形F1及び第2図形F2は、図心マーカーを構成する3以上の図形の組み合わせが同心円を構成していた。しかし、図心マーカーは、図心マーカーを構成する3以上の図形の組み合わせが同心円を構成するもののみに限られない。図9〜図11に示した図心マーカーは、図心マーカーを構成する3以上の図形の組み合わせが同心円を構成していない場合の例である。図9は、同心円を構成していない3つの図形によって構成される多重度が3の図心マーカーの一例を示す図である。図10は、同心円を構成していない4つの図形によって構成される多重度が4の図心マーカーの一例を示す図である。図11は、同心円を構成していない4つの図形によって構成される多重度が4の図心マーカーの他の例を示す図である。 In the first graphic F1 and the second graphic F2 shown in FIGS. 7 and 8, a combination of three or more graphics constituting the centroid marker constitutes a concentric circle. However, the centroid marker is not limited to one in which a combination of three or more figures constituting the centroid marker constitutes a concentric circle. The centroid marker shown in FIGS. 9 to 11 is an example in the case where a combination of three or more figures constituting the centroid marker does not constitute a concentric circle. FIG. 9 is a diagram illustrating an example of a centroid marker having a multiplicity of 3 constituted by three figures that do not constitute concentric circles. FIG. 10 is a diagram illustrating an example of a centroid marker having a multiplicity of 4 configured by four figures that do not form concentric circles. FIG. 11 is a diagram illustrating another example of a centroid marker having a multiplicity of 4 configured by four figures that do not constitute concentric circles.
この一例において、このような図心マーカーを第1図形や第2図形として有するマーカーが貼付された物体(例えば、図1に示した対象物O)の位置及び姿勢は、当該マーカーの第1図形の図心の位置及び姿勢によって表される。当該第1図形の図心の位置は、所定の範囲内に含まれる3以上の図心の位置を示すベクトルの総和を図心の数で除したベクトル(3以上のベクトルの平均)によって表される。なお、当該マーカーが貼付された物体の位置は、これに代えて、当該第1図形の図心の位置に対応付けられた他の位置(オフセットされた位置)によって表される構成であってもよい。また、図心マーカーを第1図形や第2図形として有するマーカーが貼付された物体の位置及び姿勢は、当該マーカーの第2図形の図心の位置及び姿勢によって表される構成であってもよい。 In this example, the position and orientation of an object (for example, the object O shown in FIG. 1) to which a marker having such a centroid marker as the first graphic or the second graphic is attached is the first graphic of the marker. Expressed by the position and orientation of the centroid. The position of the centroid of the first graphic is represented by a vector (average of three or more vectors) obtained by dividing the sum of vectors indicating the positions of three or more centroids included in a predetermined range by the number of centroids. The Alternatively, the position of the object to which the marker is attached may be represented by another position (offset position) associated with the position of the centroid of the first graphic instead. Good. Further, the position and posture of the object to which the marker having the centroid marker as the first graphic or the second graphic is attached may be represented by the position and posture of the centroid of the second graphic of the marker. .
また、当該第1図形の図心の姿勢は、当該図心の位置における当該第1図形に対する法線方向をZ軸とし、当該第1図形の図心及び第2図形の図心に基づいて決定される方向、又は当該第1図形の図心及びデータ領域に含まれる図形に基づいて決定される方向をX軸とし、当該Z軸及びX軸に直交する方向をY軸とした3つの座標軸それぞれのロボット座標系における方向によって表される。なお、当該マーカーが貼付された物体の姿勢は、これに代えて、当該第1図形の図心の姿勢に対応付けられた他の姿勢(オフセットされた姿勢)によって表される構成であってもよい。 The orientation of the centroid of the first graphic is determined based on the centroid of the first graphic and the centroid of the second graphic, with the normal direction to the first graphic at the position of the centroid as the Z axis. Each of the three coordinate axes with the X axis as the direction determined based on the centroid of the first graphic and the graphic contained in the data area and the Y axis as the direction perpendicular to the Z axis and the X axis. It is represented by the direction in the robot coordinate system. Alternatively, the posture of the object to which the marker is attached may be represented by another posture (offset posture) associated with the posture of the centroid of the first graphic instead. Good.
次に、コードを表す4つのコード図形について説明する。この一例において、これら4つのコード図形のそれぞれには、図12に示した16種類のコード図形である図形FD1〜図形FD16のいずれかが用いられる。図12は、ロボット制御装置30が検出した4つのコード図形のそれぞれが16種類のコード図形のいずれであるかをロボット制御装置30が特定する処理の流れを示すフローチャートである。なお、コード図形には、ロボット制御装置30が区別することが可能であれば、図12に示した16種類のコード図形のうちの一部又は全部に代えて、他のコード図形が含まれる構成であってもよい。また、コード図形は、16種類に代えて、15未満の種類であってもよく、17以上の種類であってもよい。また、ロボット制御装置30は、検出したコード図形のそれぞれを、図12に示したフローチャートの処理に代えて、パターンマッチング等の他の処理のよって図12に示した16種類のコード図形のいずれであるかを特定する構成であってもよい。
Next, four code figures representing codes will be described. In this example, any one of the four types of code figures FD1 to FD16 shown in FIG. 12 is used for each of these four code figures. FIG. 12 is a flowchart showing a flow of processing in which the
また、この一例における16種類のコード図形はそれぞれ、図12に示したように、32個の正方形状のセルが8行4列に並べられた領域における黒色の部分領域が表わす図形と、黒色の部分領域によって囲まれた白色の部分領域が表わす図形とによって構成される。また、当該コード図形のそれぞれでは、当該8行4列に並べられた32個のセルのうちの図12の矢印A11が示す左側から4列目に含まれる8個のセルがすべて白い。この一例において、ロボット制御装置30は、コード図形において当該4列目に含まれる白いセルを含む白色の部分領域を、コード図形を構成する図形として検出しない。
In addition, as shown in FIG. 12, each of the 16 types of code figures in this example is a figure represented by a black partial area in an area in which 32 square cells are arranged in 8 rows and 4 columns, And a figure represented by a white partial area surrounded by the partial areas. Further, in each of the code figures, among the 32 cells arranged in the 8 rows and 4 columns, all the 8 cells included in the fourth column from the left indicated by the arrow A11 in FIG. 12 are all white. In this example, the
まず、ロボット制御装置30は、図形FD1〜図形FD16のいずれであるかを特定する対象となるコード図形である対象コード図形を検出した後、対象コード図形を構成する図形の図心を検出する。そして、ロボット制御装置30は、当該8行4列の領域内で検出した図心の多重度が1と2のいずれであるかを判定する(ステップS200)。この判定により、ロボット制御装置30は、対象コード図形が図形FD1〜図形FD3のいずれかであることと、対象コード図形が図形FD4〜図形FD16のいずれかであることとのどちらであるかを判定する。
First, the
ステップS200において図心の多重度が2であると判定した場合(ステップS200−2)、ロボット制御装置30は、対象コード図形が図形FD1〜図形FD3のいずれかであることを特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積が大中小のいずれであるかを判定する(ステップS210)。
When it is determined in step S200 that the multiplicity of centroids is 2 (step S200-2), the
ここで、ステップS210の処理について説明する。ステップS210において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18以上22未満の場合、当該面積が中であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が22以上の場合、当該面積が大であると判定する。
Here, the process of step S210 will be described. In step S210, when the number of black cells representing the area of the black partial region in the target code figure is less than 18, the
この一例において、図形FD1は、黒いセルの数が10であるため、ステップS210において面積が小と判定される。なお、図形FD1は、図12に示したように、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっているため、多重度が2である。図形FD2は、黒いセルの数が18であるため、ステップS210において面積が中と判定される。なお、図形FD2は、図12に示したように、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっているため、多重度が2である。図形FD3は、黒いセルの数が22であるため、ステップS210において面積が大と判定される。なお、図形FD3は、図12に示したように、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっているため、多重度が2である。 In this example, the figure FD1 is determined to have a small area in step S210 because the number of black cells is ten. Note that the graphic FD1 is composed of two graphics as shown in FIG. 12, and the multiplicity is 2 because the centroid of each graphic is within a predetermined range. Since the figure FD2 has 18 black cells, it is determined that the area is medium in step S210. Note that the graphic FD2 is composed of two graphics as shown in FIG. 12, and the multiplicity is 2 because the centroid of each graphic is within a predetermined range. Since the figure FD3 has 22 black cells, it is determined in step S210 that the area is large. Note that the graphic FD3 is composed of two graphics as shown in FIG. 12, and the multiplicity is 2 because the centroid of each graphic is within a predetermined range.
すなわち、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS210−小)、ロボット制御装置30は、対象コード図形が図形FD1であると特定する。一方、対象コード図形の黒色の部分領域の面積が中であると判定した場合(ステップS210−中)、ロボット制御装置30は、対象コード図形が図形FD2であると特定する。一方。対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS210−大)、ロボット制御装置30は、対象コード図形が図形FD3であると特定する。
That is, when it is determined that the area of the black partial region of the target code graphic is small (step S210—small), the
一方、ステップS200において図心の多重度が1であると判定した場合(ステップS200−1)、ロボット制御装置30は、対象コード図形が図形FD4〜図形FD16のいずれかであることを特定する。そして、ロボット制御装置30は、ステップS200において検出した対象コード図形の図心の数が1と2のいずれであるかを判定する(ステップS220)。この判定により、ロボット制御装置30は、対象コード図形が図形FD4〜図形FD10のいずれかであることと、対象コード図形が図形FD11〜図形FD16のいずれかであることとのどちらであるかを判定する。
On the other hand, when it is determined in step S200 that the multiplicity of the centroid is 1 (step S200-1), the
ステップS220において図心の数が1であると判定した場合(ステップS220−1)、ロボット制御装置30は、対象コード図形が図形FD4〜図形FD10のいずれかであることを特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積が大中小のいずれであるかを判定する(ステップS230)。
If it is determined in step S220 that the number of centroids is 1 (step S220-1), the
ここで、ステップS230の処理について説明する。ステップS230において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が8未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が8以上16未満の場合、当該面積が中であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が16以上の場合、当該面積が大であると判定する。
Here, the process of step S230 will be described. In step S230, when the number of black cells representing the area of the black partial region in the target code figure is less than 8, the
この一例において、図形FD4及び図形FD5は、黒いセルの数が8未満であるため、ステップS230において面積が小と判定される。なお、図形FD4における黒いセルの数は、2であり、図形FD5における黒いセルの数は、6である。また、図形FD4及び図形FD5は、図12に示したように、1つの図形から構成されており、多重度が1である。図形FD6及び図形FD7は、黒いセルの数が8以上16未満であるため、ステップS230において面積が中と判定される。なお、図形FD6における黒いセルの数は、12であり、図形FD7における黒いセルの数は、8である。また、図形FD6及び図形FD7は、図12に示したように、1つの図形から構成されており、多重度が1である。図形FD8〜図形FD10は、黒いセルの数が16以上であるため、ステップS230において面積が大と判定される。なお、図形FD8における黒いセルの数は、16であり、図形FD9における黒いセルの数は、20であり、図形FD10における黒いセルの数は、24である。また、図形FD8〜図形FD10は、図12に示したように、1つの図形から構成されており、多重度が1である。 In this example, the figure FD4 and the figure FD5 have a small area in step S230 because the number of black cells is less than eight. The number of black cells in the figure FD4 is 2, and the number of black cells in the figure FD5 is 6. Further, the graphic FD4 and the graphic FD5 are composed of one graphic as shown in FIG. Since the figures FD6 and FD7 have 8 or more and less than 16 black cells, the area is determined to be medium in step S230. Note that the number of black cells in the figure FD6 is 12, and the number of black cells in the figure FD7 is 8. Further, as shown in FIG. 12, the graphic FD6 and the graphic FD7 are composed of one graphic, and the multiplicity is 1. Since the figures FD8 to FD10 have 16 or more black cells, the area is determined to be large in step S230. Note that the number of black cells in the figure FD8 is 16, the number of black cells in the figure FD9 is 20, and the number of black cells in the figure FD10 is 24. Further, the figures FD8 to FD10 are composed of one figure as shown in FIG.
すなわち、ステップS230において、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS230−小)、ロボット制御装置30は、対象コード図形が図形FD4と図形FD5のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の縦横比の大小を判定する(ステップS240)。
That is, in step S230, when it is determined that the area of the black partial region of the target code figure is small (step S230-small), the
ここで、ステップS240の処理について説明する。ステップS240において、ロボット制御装置30は、対象コード図形における黒色の部分領域を構成する黒いセルの縦方向に並んだ数を、当該黒いセルの横方向に並んだ数によって除した縦横比を算出する。この一例において、縦方向は、8行4列に並べられた32個のセルの各列においてセルが8個並んでいる方向であり、横方向は、8行4列に並べられた32個のセルの各行においてセルが4個並んでいる方向である。ロボット制御装置30は、算出した縦横比が1以上である場合、当該縦横比が大であると判定する。また、ロボット制御装置30は、算出した縦横比が1未満である場合、当該縦横比が小であると判定する。
Here, the process of step S240 will be described. In step S240, the
この一例において、図形FD4は、黒いセルの縦方向に並んだ数が2であり、黒いセルの横方向に並んだ数が1であるため、ステップS240において縦横比が大であると判定される。図形FD5は、黒いセルの縦方向に並んだ数が2であり、黒いセルの横方向に並んだ数が3であるため、ステップS240において縦横比が小であると判定される。 In this example, in the figure FD4, the number of black cells arranged in the vertical direction is 2, and the number of black cells arranged in the horizontal direction is 1, so that it is determined in step S240 that the aspect ratio is large. . In the figure FD5, since the number of black cells arranged in the vertical direction is 2, and the number of black cells arranged in the horizontal direction is 3, it is determined in step S240 that the aspect ratio is small.
すなわち、ステップS240において、対象コード図形の黒色の部分領域の縦横比が大であると判定した場合(ステップS240−大)、ロボット制御装置30は、対象コード図形が図形FD4であると特定する。一方、対象コード図形の黒色の部分領域の縦横比が小であると判定した場合(ステップS240−小)、ロボット制御装置30は、対象コード図形が図形FD5であると特定する。
That is, in step S240, when it is determined that the aspect ratio of the black partial region of the target code graphic is large (step S240-large), the
一方、ステップS230において、対象コード図形の黒色の部分領域の面積が中であると判定した場合(ステップS230−中)、ロボット制御装置30は、対象コード図形が図形FD6と図形FD7のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の縦横比の大小を判定する(ステップS250)。
On the other hand, if it is determined in step S230 that the area of the black partial region of the target code figure is medium (in step S230-in), the
ここで、ステップS250の処理について説明する。ステップS250において、ロボット制御装置30は、対象コード図形における黒色の部分領域を構成する黒いセルの縦方向に並んだ数を、当該黒いセルの横方向に並んだ数によって除した縦横比を算出する。ロボット制御装置30は、算出した縦横比が8である場合、当該縦横比が大であると判定する。また、ロボット制御装置30は、算出した縦横比が8未満である場合、当該縦横比が小であると判定する。
Here, the process of step S250 will be described. In step S250, the
この一例において、図形FD7は、黒いセルの縦方向に並んだ数が4であり、黒いセルの横方向に並んだ数が3であるため、ステップS250において縦横比が小であると判定される。図形FD8は、黒いセルの縦方向に並んだ数が8であり、黒いセルの横方向に並んだ数が1であるため、ステップS250において縦横比が大であると判定される。 In this example, in the figure FD7, the number of black cells arranged in the vertical direction is 4, and the number of black cells arranged in the horizontal direction is 3, so it is determined in step S250 that the aspect ratio is small. . In the figure FD8, the number of black cells arranged in the vertical direction is 8, and the number of black cells arranged in the horizontal direction is 1. Therefore, it is determined in step S250 that the aspect ratio is large.
すなわち、ステップS250において、対象コード図形の黒色の部分領域の縦横比が小であると判定した場合(ステップS250−小)、ロボット制御装置30は、対象コード図形が図形FD7であると特定する。一方、対象コード図形の黒色の部分領域の縦横比が大であると判定した場合(ステップS250−大)、ロボット制御装置30は、対象コード図形が図形FD8であると特定する。
That is, when it is determined in step S250 that the aspect ratio of the black partial area of the target code graphic is small (step S250-small), the
一方、ステップS230において、対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS230−大)、ロボット制御装置30は、対象コード図形が図形FD8〜図形FD10のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積が大中小のいずれであるかを判定する(ステップS260)。
On the other hand, when it is determined in step S230 that the area of the black partial region of the target code figure is large (step S230-large), the
ここで、ステップS260の処理について説明する。ステップS260において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が20未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が20以上24未満の場合、当該面積が中であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が24以上の場合、当該面積が大であると判定する。
Here, the process of step S260 will be described. In step S260, when the number of black cells representing the area of the black partial region in the target code figure is less than 20, the
この一例において、図形FD8は、黒いセルの数が16であるため、ステップS260において面積が小と判定される。図形FD9は、黒いセルの数が20であるため、ステップS260において面積が中と判定される。図形FD10は、黒いセルの数が24であるため、ステップS230において面積が大と判定される。 In this example, since the figure FD8 has 16 black cells, the area is determined to be small in step S260. Since the figure FD9 has 20 black cells, it is determined in step S260 that the area is medium. Since the figure FD10 has 24 black cells, it is determined in step S230 that the area is large.
すなわち、ステップS260において、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS260−小)、ロボット制御装置30は、対象コード図形が図形FD8であると特定する。一方、対象コード図形の黒色の部分領域の面積が中であると判定した場合(ステップS260−中)、ロボット制御装置30は、対象コード図形が図形FD9であると特定する。一方、対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS260−大)、ロボット制御装置30は、対象コード図形が図形FD10であると特定する。
That is, in step S260, when it is determined that the area of the black partial region of the target code figure is small (step S260-small), the
一方、ステップS220において図心の数が2であると判定した場合(ステップS220−2)、ロボット制御装置30は、対象コード図形が図形FD11〜図形FD16のいずれかであることを特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積が当該左側から3列目の面積よりも大きいか、当該左側から1列目及び3列目の各面積が同じ大きさであるか、当該左側から3列目の面積が当該左側から1列目の面積よりも大きいかのいずれであるかを判定する(ステップS270)。
On the other hand, when it is determined in step S220 that the number of centroids is 2 (step S220-2), the
ここで、ステップS270の処理について説明する。ステップS270において、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数が、当該左側から3列目の面積を構成する黒いセルの数よりも多い場合、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積が当該左側から3列目の面積よりも大きいと判定する。また、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数と、当該左側から3列目の面積を構成する黒いセルの数とが同じ場合、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目及び3列目の各面積が同じ大きさであると判定する。また、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から3列目の面積を構成する黒いセルの数が、当該左側から1列目の面積を構成する黒いセルの数よりも多い場合、対象コード図形の黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から3列目の面積が当該左側から1列目の面積よりも大きいと判定する。
Here, the process of step S270 will be described. In step S270, the
この一例において、図形FD11及び図形FD12は、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数が、当該左側から3列目の面積を構成する黒いセルの数よりも多いため、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積が当該左側から3列目の面積よりも大きいと判定される。なお、図形FD11において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、2であり、当該左側から3列目の面積を構成する黒いセルの数は、8である。また、図形FD12において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、6であり、当該左側から3列目の面積を構成する黒いセルの数は、8である。また、図形FD11及び図形FD12は、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっていないため、多重度が1で図心の数が2である。 In this example, the figure FD11 and the figure FD12 have the number of black cells constituting the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns in the area of the black partial region. Since the number of black cells constituting the area of the third column from the left side is larger, the area of the first column from the left side in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is It is determined that the area is larger than the area in the third column from the left side. In the figure FD11, the number of black cells constituting the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is 2, and the left side The number of black cells constituting the area of the third column from the first is eight. In the figure FD12, the number of black cells constituting the area of the first column from the left side in the 32 cells arranged in 8 rows and 4 columns in the area of the black partial region is 6, and the left side The number of black cells constituting the area of the third column from the first is eight. Further, the figure FD11 and the figure FD12 are composed of two figures, and the centroid of each figure is not within a predetermined range, so the multiplicity is 1 and the number of centroids is 2.
図形FD13及び図形FD14は、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数と、当該左側から3列目の面積を構成する黒いセルの数とが同じため、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目及び3列目の各面積が同じ大きさであると判定される。なお、図形FD13において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、2であり、当該左側から3列目の面積を構成する黒いセルの数は、2である。また、図形FD14において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、8であり、当該左側から3列目の面積を構成する黒いセルの数は、8である。また、図形FD13及び図形FD14は、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっていないため、多重度が1で図心の数が2である。 The figure FD13 and the figure FD14 are the number of black cells constituting the area of the first column from the left side in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region, and three columns from the left side. Since the number of black cells constituting the area of the eye is the same, each area of the first and third columns from the left in 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is It is determined that they are the same size. In the figure FD13, the number of black cells constituting the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is 2, and the left side The number of black cells constituting the area of the third column from the second is 2. In the figure FD14, the number of black cells constituting the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns in the area of the black partial region is 8, and the left side The number of black cells constituting the area of the third column from the first is eight. Further, the figure FD13 and the figure FD14 are composed of two figures, and since the centroid of each figure is not within a predetermined range, the multiplicity is 1 and the number of centroids is 2.
図形FD15及び図形FD16は、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から3列目の面積を構成する黒いセルの数が、当該左側から1列目の面積を構成する黒いセルの数よりも多いため、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から3列目の面積が当該左側から1列目の面積よりも大きいと判定される。なお、図形FD15において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、8であり、当該左側から3列目の面積を構成する黒いセルの数は、2である。また、図形FD16において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積を構成する黒いセルの数は、8であり、当該左側から3列目の面積を構成する黒いセルの数は、6である。また、図形FD15及び図形FD16は、2つの図形から構成されており、それぞれの図形の図心が所定の範囲内に収まっていないため、多重度が1で図心の数が2である。 In the figures FD15 and FD16, the number of black cells constituting the area of the third column from the left side in 32 cells arranged in 8 rows and 4 columns in the area of the black partial region is one column from the left side. Since there are more black cells constituting the area of the eye, the area of the third column from the left in 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is one column from the left side. It is determined that the area is larger than the eye area. In the figure FD15, the number of black cells constituting the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns in the area of the black partial region is 8, and the left side The number of black cells constituting the area of the third column from the second is 2. In the figure FD16, the number of black cells constituting the area of the first column from the left side in the 32 cells arranged in 8 rows and 4 columns in the area of the black partial region is 8, and the left side The number of black cells constituting the area of the third column from the first row is 6. Further, the figure FD15 and the figure FD16 are composed of two figures, and the centroid of each figure is not within a predetermined range, so the multiplicity is 1 and the number of centroids is 2.
すなわち、ステップS270において、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目の面積が当該左側から3列目の面積よりも大きいと判定した場合(ステップS270−3列目大)、ロボット制御装置30は、対象コード図形が図形FD11と図形FD12のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積の大小を判定する(ステップS280)。
That is, in step S270, it was determined that the area of the first column from the left in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is larger than the area of the third column from the left side. In the case (step S270-3 column size), the
ここで、ステップS280の処理について説明する。ステップS280において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18以上の場合、当該面積が大であると判定する。
Here, the process of step S280 will be described. In step S280, when the number of black cells representing the area of the black partial region in the target code figure is less than 18, the
この一例において、図形FD11は、黒いセルの数が10であるため、ステップS280において面積が小と判定される。図形FD12は、黒いセルの数が18であるため、ステップS280において面積が大と判定される。 In this example, the figure FD11 is determined to have a small area in step S280 because the number of black cells is ten. Since the figure FD12 has 18 black cells, the area is determined to be large in step S280.
すなわち、ステップS280において、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS280−小)、ロボット制御装置30は、対象コード図形が図形FD11であると特定する。一方、対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS280−大)、ロボット制御装置30は、対象コード図形が図形FD12であると特定する。
That is, when it is determined in step S280 that the area of the black partial region of the target code graphic is small (step S280-small), the
一方、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から1列目及び3列目の各面積が同じ大きさであると判定した場合(ステップS270−同)、ロボット制御装置30は、対象コード図形が図形FD13と図形14のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積の大小を判定する(ステップS290)。
On the other hand, when it is determined that the areas of the first column and the third column from the left in 32 cells arranged in 8 rows and 4 columns of the area of the black partial region have the same size (step S270- The
ここで、ステップS290の処理について説明する。ステップS290において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が16未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が16以上の場合、当該面積が大であると判定する。
Here, the process of step S290 will be described. In step S290, when the number of black cells representing the area of the black partial region in the target code figure is less than 16, the
この一例において、図形FD13は、黒いセルの数が4であるため、ステップS290において面積が小と判定される。図形FD14は、黒いセルの数が16であるため、ステップS290において面積が大と判定される。 In this example, the figure FD13 is determined to have a small area in step S290 because the number of black cells is four. Since the figure FD14 has 16 black cells, the area is determined to be large in step S290.
すなわち、ステップS290において、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS290−小)、ロボット制御装置30は、対象コード図形が図形FD13であると特定する。一方、対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS290−大)、ロボット制御装置30は、対象コード図形が図形FD14であると特定する。
That is, if it is determined in step S290 that the area of the black partial region of the target code graphic is small (step S290-small), the
一方、黒色の部分領域の面積のうちの8行4列に並べられた32個のセルにおける左側から3列目の面積が当該左側から1列目の面積よりも大きいと判定した場合(ステップS270−1列目大)、ロボット制御装置30は、対象コード図形が図形FD15と図形FD16のいずれかであると特定する。そして、ロボット制御装置30は、対象コード図形の黒色の部分領域の面積の大小を判定する(ステップS295)。
On the other hand, when it is determined that the area of the third column from the left in the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region is larger than the area of the first column from the left (step S270). (First column size), the
ここで、ステップS295の処理について説明する。ステップS295において、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18未満の場合、当該面積が小であると判定する。また、ロボット制御装置30は、対象コード図形における黒色の部分領域の面積を表す黒いセルの数が18以上の場合、当該面積が大であると判定する。
Here, the process of step S295 will be described. In step S295, when the number of black cells representing the area of the black partial region in the target code figure is less than 18, the
この一例において、図形FD15は、黒いセルの数が10であるため、ステップS295において面積が小と判定される。図形FD16は、黒いセルの数が18であるため、ステップS295において面積が大と判定される。 In this example, the figure FD15 is determined to have a small area in step S295 because the number of black cells is ten. Since the figure FD16 has 18 black cells, the area is determined to be large in step S295.
すなわち、ステップS295において、対象コード図形の黒色の部分領域の面積が小であると判定した場合(ステップS295−小)、ロボット制御装置30は、対象コード図形が図形FD15であると特定する。一方、対象コード図形の黒色の部分領域の面積が大であると判定した場合(ステップS295−大)、ロボット制御装置30は、対象コード図形が図形FD16であると特定する。
That is, if it is determined in step S295 that the area of the black partial region of the target code graphic is small (step S295-small), the
このように、ロボット制御装置30は、対象コード図形が16種類のコード図形のいずれであるかを特定することができる。このため、図形FD1〜図形FD16を順に1〜Fの16進数と見做すことにより、コード図形は、1つで4ビットの情報を表すことができる。すなわち、データ領域に含まれる4つのコード図形は、16ビットのコードを表すことができる。
As described above, the
また、この一例におけるマーカー(例えば、マーカーMk)において、データ領域に含まれる4つのコード図形のそれぞれは、第1図形の図心と第2図形の図心とを通る直線上に当該コード図形のそれぞれの図心が位置するように配置される。このようにすることで、ロボット制御装置30は、第1図形の候補と第2図形の候補との間に複数の図形が存在する場合、これらの図形がこの一例におけるマーカーであるか否かを判定し、当該マーカーではない図形の組み合わせをマーカーであると誤検出してしまうことを抑制することができる。
Further, in the marker (for example, marker Mk) in this example, each of the four code figures included in the data area is arranged on a straight line passing through the centroid of the first figure and the centroid of the second figure. Arranged so that each centroid is located. By doing in this way, when there are a plurality of figures between the first figure candidate and the second figure candidate, the
以上のように、この一例におけるマーカーは、第1図形及び第2図形と、4つのコード図形を含むデータ領域とを有する。これにより、当該マーカーは、第1図形を検出させた後、当該第1図形の図心に基づいてデータ領域を検出させることができ、その結果、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。 As described above, the marker in this example includes the first graphic and the second graphic, and the data area including the four code graphics. Accordingly, after the first graphic is detected, the marker can detect the data area based on the centroid of the first graphic. As a result, the marker detection failure due to an external factor for the marker can be detected. Can be suppressed.
<図心マーカーの検出方法の概要>
以下、本実施形態におけるロボット制御装置30による図心マーカーの検出方法について説明する。
この一例において、これらロボット制御装置30による図心マーカーの検出方法では、撮像画像から図心マーカーを検出する際、ロボット制御装置30が、撮像画像をグレースケール画像に変換する(グレースケール化処理)。ロボット制御装置30は、例えば、撮像画像のグレースケール化処理において、撮像画像を256階調のグレースケール画像に変換する。なお、ロボット制御装置30は、撮像画像を256階調のグレースケール画像に変換する構成に代えて、他の階調のグレースケール画像に変換する構成であってもよい。
<Outline of centroid marker detection method>
Hereinafter, a method for detecting a centroid marker by the
In this example, in the centroid marker detection method by the
そして、ロボット制御装置30は、グレースケール化処理により撮像画像を変換したグレースケール画像を、二値化画像(白黒画像)に変換する(二値化処理)。二値化処理は、グレースケール画像上における所定の閾値(二値化の閾値)以上の輝度値の画素の色を白色に変換し、当該閾値未満の輝度値の画素を黒色に変換することによりグレースケール画像を二値化画像に変換する処理である。この一例において、二値化の閾値は、予め決められている。なお、二値化の閾値は、大津の方法等の撮像画像に基づく方法によって決められる他の構成であってもよい。ロボット制御装置30は、二値化処理によりグレースケール画像を変換した二値化画像から図心マーカーを検出する。
Then, the
<マーカー検出処理の流れについて>
以下、図13を参照し、図4に示したステップS120におけるマーカー検出処理について説明する。図13は、図4に示したステップS120におけるマーカー検出処理の流れの一例を示すフローチャートである。
<Flow of marker detection process>
Hereinafter, the marker detection process in step S120 shown in FIG. 4 will be described with reference to FIG. FIG. 13 is a flowchart showing an example of the flow of marker detection processing in step S120 shown in FIG.
画像処理部44は、記憶部32に予め記憶されたマーカー情報を記憶部32から読み出す(ステップS300)。この一例において、マーカー情報には少なくとも、マーカーを示す情報と、マーカーが有する第1図形及び第2図形のそれぞれを示す情報とを対応付けた情報が含まれている。例えば、マーカー情報には、マーカーMkを示す情報と、マーカーMkが有する第1図形F1及び第2図形F2のそれぞれを示す情報とを対応付けた情報が含まれている。
The
マーカーを示す情報は、この一例において、マーカーIDである。なお、マーカーを示す情報は、これに代えて、マーカー名等のマーカーを識別可能な情報であれば他の情報であってもよい。第1図形及び第2図形のそれぞれを示す情報は、この一例において、第1図形及び第2図形のそれぞれをパターンマッチングによって検出するために用いられるモデル画像である。なお、第1図形及び第2図形のそれぞれを示す情報は、これに代えて、第1図形及び第2図形のそれぞれを撮像画像から検出する処理に用いることが可能な他の情報であってもよい。なお、ステップS300の処理は、画像処理部44が備える図3に示した各機能部のうちのいずれの機能部が行う構成であってもよく、画像処理部44が備える図3に図示しない機能部が行う構成であってもよい。
In this example, the information indicating the marker is a marker ID. Alternatively, the information indicating the marker may be other information as long as it is information that can identify the marker such as a marker name. In this example, the information indicating each of the first graphic and the second graphic is a model image used for detecting each of the first graphic and the second graphic by pattern matching. Note that the information indicating each of the first graphic and the second graphic may be other information that can be used for processing for detecting each of the first graphic and the second graphic from the captured image instead. Good. Note that the processing in step S300 may be performed by any of the functional units illustrated in FIG. 3 included in the
次に、画像処理部44が備える各機能部は、ステップS300において記憶部32から読み出したマーカー情報に含まれるマーカーIDを1つずつ選択し、選択したマーカーIDが示すマーカーを対象マーカーとして、対象マーカー毎にステップS320からステップS370までの処理を繰り返し行う(ステップS310)。以下では、説明の便宜上、マーカー情報に含まれるマーカーIDは、マーカーMkを示すマーカーIDの1つのみである場合について説明する。この場合、画像処理部44は、ステップS320からステップS370までの処理をマーカーMkに対して1回のみ行う。
Next, each functional unit included in the
次に、第1検出処理部50は、ステップS310において対象マーカーとして選択されたマーカーMkを示すマーカーIDに対応付けられた第1図形F1及び第2図形F2のそれぞれを示す情報を、マーカー情報から抽出する。そして、第1検出処理部50は、抽出した当該第1図形F1及び第2図形F2のそれぞれを示す情報と、前述した図心マーカーの検出方法とに基づいて、図4に示したステップS110において画像取得部42が取得した撮像画像から第1図形F1と第2図形F2のそれぞれを検出する(ステップS320)。
Next, the first
ここで、ステップS320の処理について説明する。第1検出処理部50は、撮像画像から3以上の多重度の図心マーカーを、第1図形F1及び第2図形F2の候補として検出する。データ領域に含まれる4つのコード図形の多重度(重なっている図心の数)は、最大で2であり、第1図形F1及び第2図形F2のそれぞれと比べて多重度が少ない。このため、第1検出処理部50は、第1図形F1及び第2図形F2の候補として、これらのコード図形を誤検出してしまうことが抑制されている。第1検出処理部50は、マーカー情報から抽出した第1図形F1及び第2図形F2それぞれのモデル画像に基づいて、第1図形F1及び第2図形F2の候補として検出した多重度が3以上の図心マーカーから、パターンマッチングにより第1図形F1及び第2図形F2を検出する。パターンマッチングの処理については、従来から知られている方法を用いるため、説明を省略する。
Here, the process of step S320 will be described. The first
次に、第2検出処理部51は、ステップS320において第1検出処理部50が撮像画像から検出した第1図形F1及び第2図形F2に基づいて、マーカーMkが有するデータ領域を検出する(ステップS330)。ここで、図14及び図15を参照し、ステップS330の処理について説明する。図14は、マーカーMkが有する第1図形F1の図心、第2図形F2の図心、及びデータ領域に含まれる4つのコード図形それぞれの図心を例示する図である。図14では、当該4つのコード図形は、図形FD5、図形FD10、図形FD16、図形FD1の順に第1図形F1から第2図形F2に向けて並んでいる。
Next, the second
また、図14に示したマーカーMkにおいて、前述したように、4つのコード図形である図形FD5の図心C5と、図形FD10の図心C10と、図形FD16(2つの図心を有している)の図心C161及び図心C162と、図形FD1の図心C1とが、第1図形F1の図心F1Cと第2図形F2の図心F2Cとを結ぶ直線CL上に位置するように、図形FD5と、図形FD10と、図形FD16と、図形FD1とが配置されている。 Further, in the marker Mk shown in FIG. 14, as described above, the centroid C5 of the figure FD5, which is the four code figures, the centroid C10 of the figure FD10, and the figure FD16 (having two centroids). The centroid C161 and centroid C162 of FIG. 2 and the centroid C1 of the figure FD1 are positioned on a straight line CL connecting the centroid F1C of the first figure F1 and the centroid F2C of the second figure F2. FD5, figure FD10, figure FD16, and figure FD1 are arranged.
第2検出処理部51は、マーカーMkが有するデータ領域として、ステップS330において検出された第1図形F1と第2図形F2の間に含まれる複数の図形を、4つのコード図形の候補として検出する処理を実行する。この処理において、第2検出処理部51は、第1図形F1と第2図形F2の間に含まれる複数の図形の図心を算出する。そして、第2検出処理部51は、第1図形F1の図心と第2図形F2の図心とを通る直線(すなわち、第1図形F1の図心と第2図形F2の図心とを結んだ方向)CL上に位置する図心を有する図形が4つ検出された場合、これら4つの図形をマーカーMkが有するデータ領域に含まれる4つのコード図形として検出する。
The second
ステップS330においてデータ領域を検出する処理が実行された後、第2検出処理部51は、ステップS330においてデータ領域の検出に成功したか否かを判定する(ステップS340)。データ領域の検出に成功していない(失敗した)と判定した場合(ステップS340−No)、第2検出処理部51は、ステップS310に遷移し、次のマーカーを選択する。この一例において、ステップS310において選択可能なマーカーは、マーカーMkのみであるため、第2検出処理部51は、データ領域の検出に成功していないと判定した場合、マーカーの検出に失敗したことを示す情報をマーカー検出処理の結果として生成し、処理を終了する。一方、データ領域の検出に成功したと第2検出処理部51が判定した場合(ステップS340−Yes)、位置姿勢算出部52は、ステップS320において検出した第1図形F1及び第2図形F2に基づいて、マーカーMkの位置及び姿勢を、対象物Oのロボット座標系における位置及び姿勢として算出する(ステップS350)。なお、撮像画像上の位置と、ロボット座標系における位置とは、事前にキャリブレーションにより対応付けられている。
After the process for detecting the data area is executed in step S330, the second
ここで、ステップS350の処理におけるマーカーMkの姿勢を算出する処理について説明する。位置姿勢算出部52は、この一例において、第1図形F1の図心F1Cにおける第1図形F1に対する法線方向をZ軸とし、第2図形F2の図心F2Cから第1図形F1の図心F1Cへ向かう方向をX軸とし、当該Z軸と当該X軸とに直交する方向をY軸とすることにより、第1図形F1の姿勢をマーカーMkの姿勢(この一例において、対象物Oの姿勢)として算出する。なお、位置姿勢算出部52は、これに代えて、第1図形F1の図心F1Cに基づく他の方法によってマーカーMkの姿勢を算出する構成であってもよい。
Here, the process of calculating the posture of the marker Mk in the process of step S350 will be described. In this example, the position /
ステップS350において対象物Oのロボット座標系における位置及び姿勢を算出された後、コード検出部53は、ステップS330において第2検出処理部51が検出したデータ領域、すなわち当該データ領域に含まれる4つのコード図形と、図12に示したフローチャートの処理とに基づいて、これら4つのコード図形のそれぞれが図形FD1〜図形FD16のいずれであるかを特定する。そして、コード検出部53は、特定した4つのコード図形が表わすコードを検出する(ステップS360)。
After calculating the position and orientation of the object O in the robot coordinate system in step S350, the
次に、コード検出部53は、ステップS360において検出したコードが、適正な情報であるか否かを判定する(ステップS370)。適正な情報は、この一例において、エラーを含んでおらず、ロボット制御装置30がロボット20に動作させることが可能なロボット動作情報のことである。コード検出部53は、当該コードが適正な情報ではないと判定した場合、マーカーMkの検出に失敗したことを示す情報をマーカー検出処理の結果として生成する。そして、画像処理部44は、ステップS310に遷移し、次のマーカーを選択する。この一例において、ステップS310において選択可能なマーカーは、マーカーMkのみである。このため、画像処理部44は、当該マーカー検出処理の結果を生成した後、処理を終了する。一方、当該コードが適正な情報であると判定した場合、コード検出部53は、ステップS350において位置姿勢算出部52が算出したマーカーMkの位置及び姿勢と、ステップS360において検出したコードとを含む情報を、マーカー検出処理の結果として生成する。そして、画像処理部44は、ステップS310に遷移し、次のマーカーを選択する。この一例において、画像処理部44は、当該マーカー検出処理の結果を生成した後、処理を終了する。
Next, the
このように、ロボット制御装置30は、第1図形F1を検出した後、第1図形F1の図心F1Cに基づいてデータ領域を検出する。これにより、ロボット制御装置30は、マーカーMkに対する外的要因によるマーカーMkの検出の失敗を抑制することができる。
As described above, after detecting the first graphic F1, the
なお、図13に示したフローチャートの処理では、マーカーMkを含む撮像画像の解像度が、データ領域に含まれる4つのコード図形それぞれを構成する32個のセルを第2検出処理部51によって区別できる程度であることを前提として説明した。第1検出処理部50は、この前提を保証するため、図13に示したフローチャートのステップS320の処理において、検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上であるか否かを判定する構成であってもよい。検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上ではないと第1検出処理部50が判定した場合、画像処理部44は、マーカーMkの検出に失敗したことを示す情報をマーカー検出処理の結果として生成し、処理を終了する。一方、検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上であると第1検出処理部50が判定した場合、第2検出処理部51は、図13に示したフローチャートのステップS330の処理を実行する。所定の大きさは、例えば、検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方を構成する画素の数によって表され、撮像画像を撮像する撮像部の解像度に応じて決まる値である。
In the process of the flowchart shown in FIG. 13, the resolution of the captured image including the marker Mk is such that 32 cells constituting each of the four code figures included in the data area can be distinguished by the second
<実施形態の変形例1>
以下、本発明の実施形態の変形例1について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMkに代えて、この一例において説明するマーカーMk1であってもよい。つまり、実施形態の変形例1では、ロボット制御装置30が、マーカーMkに代えて、マーカーMk1を検出する。マーカーMk1は、マーカーMkから第2図形F2のみを省略(削除)した構成のマーカーである。
<
Hereinafter, a first modification of the embodiment of the present invention will be described with reference to the drawings. The marker attached to the object O described in the above embodiment may be the marker Mk1 described in this example instead of the marker Mk. That is, in the first modification of the embodiment, the
<実施形態の変形例1におけるマーカーの詳細>
図15は、実施形態の変形例1におけるマーカーの一例を示す図である。図15に示したように、マーカーMk1は、マーカーMkと異なり、第2図形F2を有しておらず、第1図形F1のみを有している。すなわち、マーカーMk1は、第2図形F2を有していないこと以外は、マーカーMkと同様の特徴を有する。図15に示した例では、マーカーMk1は、当該コード図形として、図形FD5と、図形FD10と、図形FD16と、図形FD1とをデータ領域に含んでいる。
<Details of Marker in
FIG. 15 is a diagram illustrating an example of a marker in the first modification of the embodiment. As shown in FIG. 15, unlike the marker Mk, the marker Mk1 does not have the second graphic F2, but has only the first graphic F1. That is, the marker Mk1 has the same characteristics as the marker Mk except that it does not have the second graphic F2. In the example shown in FIG. 15, the marker Mk1 includes the figure FD5, the figure FD10, the figure FD16, and the figure FD1 as the code figure in the data area.
<実施形態の変形例1におけるマーカー検出処理の流れについて>
以下、実施形態の変形例1におけるマーカー検出処理の流れについて説明する。実施形態の変形例1では、画像処理部44が図4に示したフローチャートにおいて、ステップS120の処理に代えて、以下で説明するステップS120aの処理を行う。図16は、実施形態の変形例1において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。なお、図16において、ステップS310の処理と、ステップS350〜ステップS370の処理とは、図13に示したステップS310の処理と、ステップS350〜ステップS370の処理と同様な処理であるため、説明を省略する。
<Regarding Flow of Marker Detection Processing in
Hereinafter, the flow of the marker detection process in the first modification of the embodiment will be described. In the first modification of the embodiment, the
画像処理部44は、記憶部32に予め記憶された1以上のマーカーのそれぞれが有する第1図形を示す情報を含むマーカー情報を記憶部32から読み出す(ステップS400)。この一例において、マーカー情報には少なくとも、マーカーを示す情報と、マーカーが有する第1図形を示す情報とを対応付けた情報が含まれている。例えば、マーカー情報には、マーカーMk1を示す情報と、マーカーMk1が有する第1図形F1を示す情報を対応付けた情報が含まれている。以下では、説明の便宜上、マーカー情報には、当該情報のみが含まれている場合について説明する。
The
次に、第1検出処理部50は、ステップS310において対象マーカーとして選択したマーカーMk1を示すマーカーIDに対応付けられた第1図形F1を示す情報を、マーカー情報から抽出する。そして、第1検出処理部50は、抽出した第1図形F1を示す情報と、前述したマーカーの検出方法とに基づいて、図4に示したステップS110において画像取得部42が取得した撮像画像から第1図形F1を検出する(ステップS405)。ステップS405における撮像画像から第1図形F1を検出する処理は、ステップS320において第1図形F1及び第2図形F2のうちの第1図形F1を検出する処理と同様なため説明を省略する。
Next, the first
次に、第2検出処理部51は、ステップS405において検出された第1図形F1の図心F1Cを起点とした探索方向を、所定の方向を0°として反時計回りに0°から360°までの範囲内から選択し、選択した探索方向毎にステップS420〜ステップS430の処理を繰り返し行う(ステップS410)。所定の方向は、例えば、撮像画像の撮像に用いられた撮像素子のX軸における正の方向である。なお、所定の方向は、これに代えて、ランダムに決められた方向等の他の方向であってもよい。また、探索方向は、第1図形の図心を通る方向の一例である。
Next, the second
より具体的には、第2検出処理部51は、所定の方向である0°を探索方向として選択してステップS420〜ステップS430の処理を行った後、0°に所定の角度AGを足した方向(0°+角度AG)を次のステップS420〜ステップS430の処理における探索方向として選択する。そして、第2検出処理部51は、(0°+角度AG)を探索方向としたステップS420〜ステップS430の処理を行った後、(0°+角度AG)に所定の角度AGを足した方向(0°+2AG)を次のステップS420〜ステップS430の処理における探索方向として選択する。これを繰り返し、第2検出処理部51は、0°〜360°の範囲内において選択された探索方向毎にステップS420〜ステップS430の処理を繰り返し行う。所定の角度は、例えば、0.1°である。なお、所定の角度は、これに代えて、他の角度であってもよい。
More specifically, the second
ステップS410において探索方向が選択された後、第2検出処理部51は、ステップS405において検出された第1図形F1の図心F1Cから、ステップS410において選択された探索方向に向かってデータ領域に含まれる4つのコード図形の検出を行う(ステップS420)。より具体的には、第2検出処理部51は、ステップS405において検出された第1図形F1の図心F1Cから、ステップS410において選択された探索方向に向かってデータ領域に含まれる4つのコード図形の候補を検出する。第2検出処理部51は、当該探索方向において当該候補となる4つの図形が検出された場合、当該4つの図形それぞれの図心を算出する。そして、第2検出処理部51は、算出した図心がすべて、第1図形F1の図心F1Cから当該探索方向へと向かう直線上に位置している場合、検出した4つの図形をデータ領域に含まれる4つのコード図形であると特定する。
After the search direction is selected in step S410, the second
次に、第2検出処理部51は、ステップS420においてマーカーMk1が有するデータ領域、すなわち当該データ領域に含まれる4つのコード図形の検出に成功したか否かを判定する(ステップS430)。4つのコード図形の検出に成功したと第2検出処理部51が判定した場合(ステップS430−Yes)、位置姿勢算出部52は、ステップS350に遷移し、マーカーMk1の位置及び姿勢を対象物Oのロボット座標系における位置及び姿勢として算出する。一方、4つのコード図形の検出に成功していない(失敗した)と判定した場合(ステップS430−No)、第2検出処理部51は、ステップS410に遷移し、未選択の探索方向から次の探索方向を選択する。
Next, the second
図17は、図16に示したフローチャートにおけるステップS410〜ステップS430の処理の概要を視覚的に説明する図である。図17に示したマーカーMk1の図心F1Cからは、2本の矢印がそれぞれ互いに異なる方向に描かれている。当該2本の矢印のうちの1本である矢印S1は、図17に示した座標系のX軸の正の方向へ図心F1Cから伸びている。一方、当該2本の矢印のうちの1本である矢印S2は、矢印S1から図心F1Cを中心として反時計回りに角度R1だけ回転した方向に伸びている。 FIG. 17 is a diagram for visually explaining an outline of the processing in steps S410 to S430 in the flowchart shown in FIG. From the centroid F1C of the marker Mk1 shown in FIG. 17, two arrows are drawn in directions different from each other. An arrow S1, which is one of the two arrows, extends from the centroid F1C in the positive direction of the X axis of the coordinate system shown in FIG. On the other hand, an arrow S2, which is one of the two arrows, extends in a direction rotated from the arrow S1 by an angle R1 counterclockwise around the centroid F1C.
矢印S1は、図17において、図16に示したステップS410において最初に探索方向として選択される所定の方向を表している。図17に示したように、矢印S1が示す方向には、マーカーMk1が有するデータ領域に含まれる4つのコード図形は存在していない。このため、第2検出処理部51は、探索方向を矢印S1の方向から反時計回りに変化させ、変化させた探索方向毎に当該コード図形の検出を行う。そして、第2検出処理部51は、ステップS410において矢印S2の方向が選択された場合、当該コード図形を検出することができる。
An arrow S1 represents a predetermined direction that is first selected as a search direction in step S410 shown in FIG. 16 in FIG. As shown in FIG. 17, the four code figures included in the data area of the marker Mk1 do not exist in the direction indicated by the arrow S1. For this reason, the second
このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、第2図形を有さない場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれる1以上のコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。
As described above, the
<実施形態の変形例2>
以下、本発明の実施形態の変形例2について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMk及びマーカーMk1に代えて、この一例において説明するマーカーMk2であってもよい。つまり、実施形態の変形例2では、ロボット制御装置30が、マーカーMk及びマーカーMk1に代えて、マーカーMk2を検出する。マーカーMk2は、マーカーMkが有するデータ領域に、4つのコード図形に代えて、以下で説明するコード図形FCを1つのみ含む構成のマーカーである。
<
Hereinafter,
<実施形態の変形例2におけるマーカーの詳細>
図18は、実施形態の変形例2におけるマーカーの一例を示す図である。図18に示したように、マーカーMk2は、マーカーMkと異なり、データ領域W3にコード図形FCを1つのみ有している。すなわち、マーカーMk2は、データ領域W3に含まれるコード図形以外は、マーカーMkと同様の特徴を有する。コード図形FCは、マーカーMkが有するデータ領域に含まれる4つのコード図形と異なり、1つでコードを表す。
<Details of Marker in
FIG. 18 is a diagram illustrating an example of a marker in the second modification of the embodiment. As shown in FIG. 18, unlike the marker Mk, the marker Mk2 has only one code figure FC in the data area W3. That is, the marker Mk2 has the same characteristics as the marker Mk except for the code figure included in the data area W3. Unlike the four code figures included in the data area of the marker Mk, one code figure FC represents a code.
図18に示した例では、コード図形FCは、24個の正方形状のセルが4行6列に並べられた二次元コードである。当該セルのそれぞれは、白いセル、又は黒いセルのいずれかである。また、コード図形FCは、コード図形FCを検出するための目印として使用する固定コードを含む。固定コードは、コード図形FCを構成するセルのうちの色が固定された(色の変更を行わない)セルによって構成される。すなわち、この一例において、固定コードは、コード図形FCが表わすコードの一部ではない。 In the example shown in FIG. 18, the code figure FC is a two-dimensional code in which 24 square cells are arranged in 4 rows and 6 columns. Each of the cells is either a white cell or a black cell. The code graphic FC includes a fixed code used as a mark for detecting the code graphic FC. The fixed code is configured by a cell in which the color is fixed (the color is not changed) among the cells constituting the code graphic FC. That is, in this example, the fixed code is not a part of the code represented by the code graphic FC.
図18に示した例では、固定コードを表すセルのうち、白いセルは、当該4行6列における1行1列目、1行3列目、1行5列目、3行1列目、4行5列目の5つである。また、当該固定コードを表すセルのうち、黒いセルは、当該4行6列における1行2列目、1行3列目、1行5列目、2行1列目、4行1列目の5つである。なお、固定コードを表す白いセル又は黒いセルは、これらに代えて、当該4行6列のうちの他の位置であってもよい。 In the example shown in FIG. 18, among the cells representing the fixed code, white cells are the first row, first column, first row, third column, first row, fifth column, third row, first column in the 4 rows and 6 columns, Five in the fourth row and the fifth column. Among the cells representing the fixed code, the black cells are the first row, second column, first row, third column, first row, fifth column, second row, first column, fourth row, first column in the fourth row and sixth column. These are five. Note that the white cell or the black cell representing the fixed code may be replaced by another position in the 4 rows and 6 columns.
コード図形FCは、当該4行6列のうちの固定コードを表すセルを除いた残りの12個のセルの色のうち、白と黒を0と1の2進数と見做すことによって、12ビットのコードを表す。すなわち、コード図形FCが表わすコードは、これら12個のセルによって全部が表わされる(前述したように、固定コードによってコードの一部を表さない)。図18では、これら12個のセルのそれぞれは、ハッチングされた領域CD1に含まれている。図18に示したハッチングされた領域CD1において、これら12個それぞれのセルの色は、省略している。 The code figure FC is obtained by considering white and black as binary numbers of 0 and 1 among the colors of the remaining 12 cells excluding cells representing the fixed code in the 4 rows and 6 columns. Represents a bit code. That is, the code represented by the code figure FC is entirely represented by these 12 cells (as described above, a part of the code is not represented by the fixed code). In FIG. 18, each of these 12 cells is included in a hatched area CD1. In the hatched area CD1 shown in FIG. 18, the colors of these 12 cells are omitted.
<実施形態の変形例2におけるマーカー検出処理の流れについて>
以下、実施形態の変形例2におけるマーカー検出処理の流れについて説明する。実施形態の変形例2では、画像処理部44が図4に示したフローチャートにおいて、ステップS120の処理に代えて、以下で説明するステップS120bの処理を行う。
<Regarding Flow of Marker Detection Processing in
Hereinafter, the flow of marker detection processing in
図19は、実施形態の変形例2において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。なお、図19において、ステップS300〜ステップS320の処理と、ステップS340〜ステップS350の処理と、ステップS370の処理とは、図13に示したステップS300〜ステップS320の処理と、ステップS340〜ステップS350の処理と、ステップS370の処理と同様な処理であるため、説明を省略する。
FIG. 19 is a flowchart illustrating an example of a marker detection process performed by the
ステップS320において第1図形F1及び第2図形F2が検出された後、第2検出処理部51は、当該第1図形F1及び第2図形F2に基づいて、マーカーMk2が有するデータ領域を検出する(ステップS330b)。ここで、ステップS330bの処理について説明する。第2検出処理部51は、マーカーMk2が有するデータ領域として、第1図形F1と第2図形F2の間に含まれる図形を、コード図形FCの候補として検出する処理を実行する。この処理において、第2検出処理部51は、第1図形F1と第2図形F2の間に含まれる図形から固定コードを探索(検出)する。そして、第2検出処理部51は、当該図形から固定コードが検出された場合、この図形をマーカーMk2が有するデータ領域に含まれるコード図形FCとして検出する。なお、第2検出処理部51は、固定コードを検出する際、固定コードのモデル図形を予め記憶部32から読み出し、読み出した当該モデル図形を用いたパターンマッチングによって固定コードを検出する等の従来から知られた方法によって固定コードを検出する。
After the first graphic F1 and the second graphic F2 are detected in step S320, the second
ステップS350においてマーカーMk2の位置及び姿勢が対象物Oのロボット座標系における位置及び姿勢として算出された後、コード検出部53は、ステップS330bにおいて検出されたコード図形FCから、固定コードである12個のセルを除いた残りの12個のセルそれぞれの位置及び色を検出することにより、コード図形FCが表わすコードを検出する(ステップS360b)。なお、ステップS360bにおけるコードの検出方法は、従来から知られている二次元コードの検出方法と同様なため、説明を省略する。
After the position and orientation of the marker Mk2 are calculated as the position and orientation of the object O in the robot coordinate system in step S350, the
このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、マーカーMk2と同様の特徴を有するマーカーであった場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれるコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。
As described above, the
なお、図19に示したフローチャートの処理では、マーカーMk2を含む撮像画像の解像度が、データ領域に含まれるコード図形FCのセルそれぞれを第2検出処理部51によって区別できる程度であることを前提として説明した。第1検出処理部50は、この前提を保証するため、図19に示したフローチャートのステップS320の処理において、検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上であるか否かを判定する構成であってもよい。検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上ではないと第1検出処理部50が判定した場合、画像処理部44は、マーカーMk2の検出に失敗したことを示す情報をマーカー検出処理の結果として生成し、処理を終了する。一方、検出した第1図形F1及び第2図形F2のうちいずれか一方又は両方の大きさが所定の大きさ以上であると第1検出処理部50が判定した場合、第2検出処理部51は、図19に示したフローチャートのステップS330bの処理を実行する。
In the process of the flowchart shown in FIG. 19, it is assumed that the resolution of the captured image including the marker Mk2 is such that each cell of the code figure FC included in the data area can be distinguished by the second
<実施形態の変形例3>
以下、本発明の実施形態の変形例3について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMk、マーカーMk1、マーカーMk2に代えて、この一例において説明するマーカーMk3であってもよい。つまり、実施形態の変形例3では、ロボット制御装置30が、マーカーMk、マーカーMk1、マーカーMk2に代えて、マーカーMk3を検出する。マーカーMk3は、マーカーMk1が有するデータ領域に、4つのコード図形に代えて、実施形態の変形例2において説明したコード図形FCを1つのみ含む構成のマーカーである。
<Modification 3 of embodiment>
Hereinafter, Modification 3 of the embodiment of the present invention will be described with reference to the drawings. The marker affixed to the object O described in the above embodiment may be the marker Mk3 described in this example instead of the marker Mk, the marker Mk1, and the marker Mk2. That is, in the third modification of the embodiment, the
<実施形態の変形例3におけるマーカーの詳細>
図20は、実施形態の変形例3におけるマーカーの一例を示す図である。図20に示したように、マーカーMk3は、マーカーMk1と異なり、データ領域W3にコード図形FCを1つのみ有している。すなわち、マーカーMk3は、データ領域W3に含まれるコード図形以外は、マーカーMk1と同様の特徴を有する。
<Details of Markers in Modification 3 of Embodiment>
FIG. 20 is a diagram illustrating an example of the marker in the third modification of the embodiment. As shown in FIG. 20, unlike the marker Mk1, the marker Mk3 has only one code figure FC in the data area W3. That is, the marker Mk3 has the same characteristics as the marker Mk1 except for the code figure included in the data area W3.
<実施形態の変形例3におけるマーカー検出処理の流れについて>
以下、実施形態の変形例3におけるマーカー検出処理の流れについて説明する。実施形態の変形例3では、画像処理部44が図4に示したフローチャートにおいて、ステップS120の処理に代えて、以下で説明するステップS120cの処理を行う。
<Regarding Flow of Marker Detection Processing in Modification 3 of Embodiment>
Hereinafter, the flow of the marker detection process in the third modification of the embodiment will be described. In the third modification of the embodiment, the
図21は、実施形態の変形例3において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。なお、図21において、ステップS310の処理と、ステップS350〜ステップS370の処理と、ステップS400の処理と、ステップS405の処理と、ステップS430の処理とは、図17に示したステップS310の処理と、ステップS350〜ステップS370の処理と、ステップS400の処理と、ステップS405の処理と、ステップS430の処理と同様な処理であるため、説明を省略する。
FIG. 21 is a flowchart illustrating an example of a marker detection process performed by the
ステップS405において第1図形F1が検出された後、第2検出処理部51は、第1図形F1に基づいて、マーカーMk3が有するデータ領域を検出する(ステップS420c)。ここで、ステップS420cの処理について説明する。まず、第2検出処理部51は、マーカーMk3が有するデータ領域を検出するため、第1図形F1の周囲から、コード図形FCの一部を、データ領域を示す目印として探索(検出)する処理を実行する。この一例において、当該目印は、コード図形FCが有する固定コードの一部である。なお、当該目印は、固定コードの一部に代えて、固定コードの全部であってもよく、固定コードと異なるコード図形FCの一部であってもよい。
After the first graphic F1 is detected in step S405, the second
データ領域を示す目印は、この一例において、コード図形FCを構成する4行6列に並べられたセルのうち、第1図形F1に最も近い列に含まれるセル、すなわち固定コードに含まれるセルのうちの1行1列目、2行1列目、3行1列目、4行1列目の4つのセル(固定コードの一部)である。図22は、ステップS420cにおいて第2検出処理部51が第1図形F1の周囲から探索するデータ領域を示す目印の一例を示す図である。図22に示したように、当該目印は、コード図形FCを構成する4行6列に並べられたセルのうち、第1図形F1に最も近い列、すなわち図22に示した領域W5内の列に含まれる固定コードの一部である。
In this example, the mark indicating the data area is the cell included in the column closest to the first graphic F1 among the cells arranged in 4 rows and 6 columns constituting the code graphic FC, that is, the cell included in the fixed code. Of these, four cells (part of the fixed code) in the first row, first column, second row, first column, third row, first column, and fourth row, first column. FIG. 22 is a diagram illustrating an example of a mark indicating a data area that the second
また、第2検出処理部51が探索する第1図形F1の周囲は、例えば、ステップS405において検出された第1図形F1の面積を所定値倍だけ拡げた場合に、拡げた当該面積に含まれる範囲の領域のことである。所定値は、例えば、4倍程度である。なお、所定値は、撮像画像から検出された第1図形F1に応じた値であってこの一例におけるデータ領域を示す目印(前述の固定コードの一部)を検出可能な値であれば、他の値であってもよい。なお、第2検出処理部51は、当該目印を検出する際、当該目印となる固定コードの一部のモデル図形を予め記憶部32から読み出し、読み出した当該モデル図形を用いたパターンマッチングによって当該目印を検出する等の従来から知られた方法によって当該目印を検出する。
Further, the periphery of the first graphic F1 searched by the second
第2検出処理部51は、データ領域を示す目印を検出した後、第1図形F1の図心F1Cから当該目印に向かう方向における所定の探索範囲からコード図形FCが有する固定コードの全体を探索(検出)する処理を行う。そして、第2検出処理部51は、当該探索範囲から固定コードが検出された場合、検出された固定コードを含む図形をコード図形FCとして検出する。
After detecting the mark indicating the data area, the second
このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、マーカーMk3と同様の特徴を有するマーカーであった場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれるコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。
Thus, even when the marker attached to the object O is a marker having the same characteristics as the marker Mk3, the
<実施形態の変形例4>
以下、本発明の実施形態の変形例4について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMk、マーカーMk1、マーカーMk2、マーカーMk3に代えて、この一例において説明するマーカーMk4であってもよい。つまり、実施形態の変形例4では、ロボット制御装置30が、マーカーMk、マーカーMk1、マーカーMk2、マーカーMk3に代えて、マーカーMk4を検出する。
<Modification 4 of embodiment>
Hereinafter, Modification 4 of the embodiment of the present invention will be described with reference to the drawings. The marker attached to the object O described in the above embodiment may be the marker Mk4 described in this example instead of the marker Mk, the marker Mk1, the marker Mk2, and the marker Mk3. That is, in the fourth modification of the embodiment, the
<実施形態の変形例4におけるマーカーの詳細>
図23は、実施形態の変形例4におけるマーカーの一例を示す図である。図23に示したように、マーカーMk4は、マーカーMk、マーカーMk1、マーカーMk2、マーカーMk3のそれぞれと異なり、第1図形F1と、第1図形F1の中に配置されたデータ領域CRとを有する。図23に示した例では、第1図形F1は、図心の多重度が4の図心マーカーである。
<Details of Marker in Modification 4 of Embodiment>
FIG. 23 is a diagram illustrating an example of a marker in Modification 4 of the embodiment. As shown in FIG. 23, the marker Mk4 is different from each of the marker Mk, the marker Mk1, the marker Mk2, and the marker Mk3, and has a first graphic F1 and a data area CR arranged in the first graphic F1. . In the example shown in FIG. 23, the first graphic F1 is a centroid marker having a centroid multiplicity of 4.
また、図23に示した例では、データ領域CRは、第1図形F1を構成する4つの図形のうちの図23に示した最も外側に配置された黒い四角の枠形状の図形と、図23に示した当該図形の内側に配置された黒いリング状の図形との間の白い図形上の領域である。そして、データ領域CRには、2つのコード図形が配置される。図23に示した例では、これらのコード図形は、コード図形FC1及びコード図形FC2の2つである。 In the example shown in FIG. 23, the data area CR includes the black square frame shape graphic shown in FIG. 23 among the four figures constituting the first graphic F1, and FIG. It is an area | region on a white figure between the black ring-shaped figures arrange | positioned inside the said figure shown. Two code figures are arranged in the data area CR. In the example shown in FIG. 23, there are two code figures, code figure FC1 and code figure FC2.
また、コード図形FC1及びコード図形FC2のそれぞれは、9個の正方形状のセルが3行3列に並べられた二次元コードである。このため、コード図形FC1及びコード図形FC2のそれぞれは、当該3行3列に並べられた各セルの色(白又は黒)によって9ビットのコードを表すことができる。また、コード図形FC1及びコード図形FC2のそれぞれは、互いに異なる固定コードを有する。これらの固定コードは、コード図形FC1及びコード図形FC2のそれぞれを検出するための目印である。ロボット制御装置30は、当該固定コードに基づいて、コード図形FC1とコード図形FC2のそれぞれを検出し、区別することができる。例えば、コード図形FC1が有する固定コードは、3行3列に並べられたセルのうちの1行1列目の黒いセル、2行1列目の白いセル、3行1列目の黒いセルの3つのセルであり、コード図形FC2が有する固定コードは、3行3列に並べられたセルのうちの2行1列目の黒いセル、2行2列目の白いセル、2行3列目の黒いセルの3つのセルである。なお、コード図形FC1及びコード図形FC2のそれぞれが有する固定コードのセルの位置は、これに代えて、他の位置であってもよい。また、コード図形FC1及びコード図形FC2のそれぞれが有する固定コードのセルの数は、これに代えて、他の数であってもよい。また、図23では、図の簡略化のため、コード図形FC1及びコード図形FC2のそれぞれにおける固定コード以外のセル(コードを表すセル)をハッチングによって示し、当該セルそれぞれの色を省略している。
Each of the code graphic FC1 and the code graphic FC2 is a two-dimensional code in which nine square cells are arranged in three rows and three columns. Therefore, each of the code graphic FC1 and the code graphic FC2 can represent a 9-bit code by the color (white or black) of each cell arranged in the 3 rows and 3 columns. Each of the code graphic FC1 and the code graphic FC2 has a different fixed code. These fixed codes are marks for detecting each of the code graphic FC1 and the code graphic FC2. The
<実施形態の変形例4におけるマーカー検出処理の流れについて>
以下、実施形態の変形例4におけるマーカー検出処理の流れについて説明する。実施形態の変形例4では、画像処理部44が図4に示したフローチャートにおいて、ステップS120の処理に代えて、以下で説明するステップS120dの処理を行う。
<Regarding Flow of Marker Detection Processing in Modification 4 of Embodiment>
Hereinafter, the flow of the marker detection process in Modification 4 of the embodiment will be described. In the fourth modification of the embodiment, the
図24は、実施形態の変形例4において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。なお、図24において、ステップS310の処理と、ステップS340の処理と、ステップS360bの処理と、ステップS370の処理と、ステップS400の処理とは、図19に示したステップS310の処理とステップS340の処理とステップS360bの処理とステップS370の処理、及び図16に示したステップS400の処理と同様な処理であるため、説明を省略する。
FIG. 24 is a flowchart illustrating an exemplary flow of a marker detection process executed by the
ステップS310においてマーカーMk4が対象マーカーとして選択された後、第1検出処理部50は、マーカーMk4を示すマーカーIDに対応付けられた第1図形F1を示す情報を、マーカー情報から抽出する。そして、第1検出処理部50は、抽出した第1図形F1を示す情報と、前述した図心マーカーの検出方法とに基づいて、図4に示したステップS110において画像取得部42が取得した撮像画像から第1図形F1を検出する(ステップS320d)。
After the marker Mk4 is selected as the target marker in step S310, the first
ここで、ステップS320dの処理について説明する。第1検出処理部50は、撮像画像から3以上の多重度の図心マーカーを、第1図形F1として検出する。第2検出処理部51は、データ領域に含まれるコード図形FC1及びコード図形FC2の図心の位置が、第1図形F1を構成する4つの図形それぞれの図心の位置とともに所定の範囲内に収まらないため、第1図形F1を検出する際においてコード図形FC1及びコード図形FC2を無視することができる。また、第1検出処理部50は、コード図形FC1及びコード図形FC2のそれぞれの図心の多重度が1であるため、コード図形FC1及びコード図形FC2を第1図形F1として誤検出することがない。
Here, the process of step S320d will be described. The first
次に、第2検出処理部51は、ステップS320dにおいて検出された第1図形F1に基づいて、マーカーMk4が有するデータ領域、すなわち当該データ領域が有するコード図形FC1及びコード図形FC2のそれぞれを検出する(ステップS330d)。ここで、ステップS330dの処理について説明する。第2検出処理部51は、ステップS320dにおいて検出された第1図形F1の内側を探索し、コード図形FC1が有する固定コードを検出する。第2検出処理部51は、第1図形F1の図心F1Cから当該固定コードの方向に向かって、コード図形FC1が有するコードであって固定コードと異なる他のコードを探索し、コード図形FC1の全体を検出する。また、第2検出処理部51は、ステップS320dにおいて検出された第1図形F1の内側を探索し、コード図形FC2が有する固定コードを検出する。第2検出処理部51は、第1図形F1の図心F1Cから当該固定コードの方向に向かって、コード図形FC2が有するコードであって固定コードと異なる他のコードを探索し、コード図形FC2の全体を検出する。
Next, based on the first graphic F1 detected in step S320d, the second
ステップS340においてデータ領域の検出に成功したと判定された後、位置姿勢算出部52は、第1図形F1の図心F1Cに基づいて、マーカーMk4の位置及び姿勢を算出する(ステップS350d)。ここで、ステップS350dの処理においてマーカーMk4の姿勢を算出する処理について説明する。位置姿勢算出部52は、この一例において、第1図形F1の図心F1Cにおける第1図形F1に対する法線方向をZ軸とし、ステップS330dにおいて第1図形F1の内側から検出されたコード図形FC2からコード図形FC1へと向かう方向をX軸とし、当該Z軸と当該X軸とに直交する方向をY軸とすることにより、第1図形F1の姿勢をマーカーMk4の姿勢(この一例において、対象物Oの姿勢)として算出する。
After it is determined in step S340 that the data area has been successfully detected, the position /
このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、マーカーMk4と同様の特徴を有するマーカーであった場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれるコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。
Thus, even if the marker affixed to the object O is a marker having the same characteristics as the marker Mk4, the
なお、この一例において、コード検出部53は、コード図形FC1とコード図形FC2それぞれにおいて対応するセルの面積を積分し、積分値をコードとして検出する構成等の他の構成であってもよい。
In this example, the
<実施形態及び実施形態の変形例1〜3における歪の補正について>
上記で説明した実施形態及び実施形態の変形例1〜3において、第1検出処理部50が撮像画像から検出した第1図形F1、又は第1図形F1及び第2図形F2のそれぞれが歪んでいる場合、すなわち撮像画像から検出しようとしているマーカーが撮像画像中において歪んでいる場合がある。
<Regarding Correction of Distortion in Embodiment and Modified Examples 1 to 3 of Embodiment>
In the embodiment described above and the first to third modifications of the embodiment, the first graphic F1 detected by the first
例えば、マーカーMk2の表面が撮像部の光軸に対して傾いている状態で当該撮像部により撮像された場合、マーカーMk2は、撮像画像中において歪んでしまう。すなわち、マーカーMk2の表面が当該光軸に対して斜めに撮像されてしまう。マーカーMk2の表面は、第1図形F1が描かれている側の面のことである。マーカーMk2が歪んで撮像された撮像画像は、アフィン変換(アフィンワープ)によってマーカーMk2が歪んでいない画像へと補正を行う(変換する)ことができる場合がある。 For example, when the surface of the marker Mk2 is imaged by the imaging unit in a state where the surface of the marker Mk2 is inclined with respect to the optical axis of the imaging unit, the marker Mk2 is distorted in the captured image. That is, the surface of the marker Mk2 is imaged obliquely with respect to the optical axis. The surface of the marker Mk2 is the surface on the side on which the first graphic F1 is drawn. A captured image obtained by distorting the marker Mk2 may be corrected (converted) into an image in which the marker Mk2 is not distorted by affine transformation (affine warp).
例えば、上記で説明した撮像画像中のマーカーMk2が、撮像画像全体の大きさに比べて十分に小さい場合、マーカーMk2が歪んで撮像された撮像画像は、アフィン変換によって近似的にマーカーMk2が歪んでいない画像へと補正可能である。なお、マーカーMk2が歪んで撮像された撮像画像は、撮像画像全体でもよく、撮像画像中のマーカーMk2を含む一部であってもよい。このような場合、第2検出処理部51は、マーカーMk2が有するデータ領域を検出する際、アフィン変換によってマーカーMk2が歪んで撮像された撮像画像を、マーカーMk2が歪んでいない画像へと補正する。
For example, when the marker Mk2 in the captured image described above is sufficiently smaller than the overall size of the captured image, the captured image captured with the marker Mk2 distorted is approximately distorted by the affine transformation. It is possible to correct to an image that is not. Note that the captured image obtained by distorting the marker Mk2 may be the entire captured image or a part including the marker Mk2 in the captured image. In such a case, when the second
ここで、撮像画像中においてアフィン変換によって補正可能な程度に歪んでいるマーカーMk2が有する第1図形F1及び第2図形F2それぞれの画像は、円形状ではなく楕円形状となっている。図25は、撮像画像中においてアフィン変換によって補正可能な程度に歪んでいるマーカーMk2の一例を示す図である。なお、図25において、マーカーMk2が有する第2図形F2を省略している。図25に示したマーカーMk2が歪んで撮像された撮像画像を補正するため、第2検出処理部51は、撮像画像中において円形状から楕円形状に歪んでいる第1図形F1の長径MA1と短径MA2とのそれぞれの方向を主軸方向として算出し、当該長径と当該短径との長さの比を主軸比として算出する。そして、第1検出処理部50は、当該主軸方向及び当該主軸比と、幾何学とに基づいて第1図形F1の図心F1Cにおける第1図形F1に対する法線方向N1を算出する。
Here, the images of the first graphic F1 and the second graphic F2 included in the marker Mk2 that are distorted to a degree that can be corrected by affine transformation in the captured image are not circular but elliptical. FIG. 25 is a diagram illustrating an example of a marker Mk2 that is distorted to a degree that can be corrected by affine transformation in a captured image. In FIG. 25, the second graphic F2 included in the marker Mk2 is omitted. In order to correct the captured image captured by distorting the marker Mk2 illustrated in FIG. 25, the second
法線方向N1は、図25に示した三次元座標系により位置及び姿勢が表わされる仮想的な三次元空間における方向である。図25において。当該三次元座標系のZ軸方向は、撮像画像中においてマーカーMk2が歪んでいない場合に法線方向N1が向く方向に一致させている。第2検出処理部51は、法線方向N1が、図26に示したように当該三次元座標系のZ軸方向に一致するように、法線方向N1に基づいてアフィン変換を行い、マーカーMk2が歪んで撮像された撮像画像中の第1図形F1を、前述したこの一例における第1図形F1を示す情報である第1図形F1のモデル画像に近似的に一致させる。図26は、歪んでいないマーカーMk2の法線方向N1の一例を示す図である。これにより、当該撮像画像は、マーカーMk2が略歪んでいない(近似的に歪んでいない)画像に補正される。その結果、第2検出処理部51は、補正された当該画像からデータ領域を精度よく検出することができる。
The normal direction N1 is a direction in a virtual three-dimensional space whose position and orientation are represented by the three-dimensional coordinate system shown in FIG. In FIG. The Z-axis direction of the three-dimensional coordinate system coincides with the direction in which the normal direction N1 faces when the marker Mk2 is not distorted in the captured image. The second
しかし、マーカーMk2が歪んで撮像された撮像画像は、アフィン変換によって補正できない場合がある。このような場合、第2検出処理部51は、アフィン変換に代えて、当該撮像画像にホモグラフィー変換(ホモグラフィーワープ)を行うことにより、当該撮像画像をマーカーMk2が歪んでいない画像へと補正する。
However, a captured image that is captured with the marker Mk2 distorted may not be corrected by affine transformation. In such a case, the second
この場合、第2検出処理部51は、前述したアフィン変換を行う場合と同様に、第1図形F1の図心F1Cにおける法線方向N1を算出する。また、第2検出処理部51は、図19に示したフローチャートにおけるステップS330bにおいて説明したように、コード図形FCの目印を検出し、コード図形FCの全体を検出する。また、第2検出処理部51は、ホモグラフィー変換の初期値を設定する。
In this case, the second
ホモグラフィー変換の初期値を設定した後、第2検出処理部51は、マーカーMk2が歪んで撮像された撮像画像に対してバイリニア補間処理を行うことによって当該撮像画像を正規化する。第2検出処理部51は、正規化した当該撮像画像と、非線形最適化法(ESM)と、前述の第1図形F1のモデル画像とに基づいて、マーカーMk2が歪んで撮像された撮像画像中の第1図形F1と、前述したこの一例における第1図形F1を示す情報である第1図形F1のモデル画像とのマッチング誤差が最小となるホモグラフィー変換の係数を導出する。そして、第2検出処理部51は、当該マッチング誤差が所定の誤差値以下である場合、歪んでいないマーカーMk2の画像が得られたと判断する。なお、当該マッチング誤差が所定の誤差値以下ではない場合、歪んでいないマーカーMk2の画像が得られていないと判断し、前述のバイリニア補間処理からマッチング誤差が最小となるホモグラフィー変換の係数の導出までの処理を繰り返し行う。
After setting the initial value of the homography conversion, the second
このようなホモグラフィー変換により得られた画像であってマーカーMk2が歪んでいない画像を用いることで、コード検出部53は、マーカーMk2が有するデータ領域に含まれるコード図形FCに基づいて、高い精度でコードを検出することができる。
By using an image obtained by such a homography transformation and an image in which the marker Mk2 is not distorted, the
マーカーMk2が歪んで撮像された撮像画像をマーカーMk2が歪んでいない画像へとホモグラフィー変換を行う場合、アフィン変換を行う場合と比べてESMを用いた繰り返し処理が必要となるため、マーカーMk2を検出するために要する時間が長くなる。ホモグラフィー変換は、アフィン変換を行う場合と比べて歪んだ画像を歪んでいない画像へと補正する際の誤差が小さいため、マーカーMk2の検出精度が高くなる。なお、上記のアフィン変換やホモグラフィー変換は、マーカーMk2に対する適用に限定されず、マーカーMk、マーカーMk1、マーカーMk3のいずれに対しても適用可能である。 When homography conversion is performed on a captured image captured with the marker Mk2 distorted into an image without the marker Mk2 being distorted, iterative processing using ESM is required as compared with the case of performing affine transformation. The time required for detection increases. Since the homography conversion has a smaller error when correcting a distorted image to an undistorted image as compared with the case of performing affine conversion, the detection accuracy of the marker Mk2 is increased. The above affine transformation and homography transformation are not limited to application to the marker Mk2, but can be applied to any of the marker Mk, the marker Mk1, and the marker Mk3.
なお、検出するマーカーがマーカーMk又はマーカーMk1の場合、撮像画像中の当該マーカーがアフィン変換によって補正可能な程度に歪んでいたとしても、第2検出処理部51は、アフィン変換を用いずとも、当該マーカーが有するデータ領域を検出することができる。図27は、マーカーMkがアフィン変換によって補正可能な程度に歪んで撮像された場合の撮像画像中のマーカーMkの一例を示す図である。
When the marker to be detected is the marker Mk or the marker Mk1, even if the marker in the captured image is distorted to a level that can be corrected by affine transformation, the second
図27に示したように、マーカーMkが歪んで撮像された場合であっても、マーカーMkが有する4つのコード図形のそれぞれの図心(図心C5、図心C10、図心C161及び図心C162、図心C1)は、第1図形F1の図心F1Cと第2図形F2の図心F2Cとを通る直線CL上からずれていない。 As shown in FIG. 27, even when the marker Mk is imaged in a distorted manner, the centroids (centroid C5, centroid C10, centroid C161, and centroid of each of the four code figures that the marker Mk has. C162, centroid C1) is not deviated from a straight line CL passing through the centroid F1C of the first graphic F1 and the centroid F2C of the second graphic F2.
このことから、第2検出処理部51は、撮像画像中のマーカーMkにアフィン変換によって補正可能な程度に歪んでいた場合であっても、図14において説明した方法によって、第1図形F1と第2図形F2の間に含まれる複数の画像が、マーカーMkのデータ領域に含まれる4つのコード図形のそれぞれであるか否かを判定することができる。
From this, even if the second
<実施形態の変形例4における歪の補正について>
上記で説明した実施形態の変形例4において、第1検出処理部50が撮像画像から検出した第1図形F1が歪んでいる場合、すなわち撮像画像から検出しようとしているマーカーが撮像画像中において歪んでいる場合がある。
<Regarding Correction of Distortion in Modification 4 of Embodiment>
In the modification 4 of the embodiment described above, when the first graphic F1 detected from the captured image by the first
例えば、マーカーMk4の表面が撮像部の光軸に対して傾いている状態で当該撮像部により撮像された場合、マーカーMk4は、撮像画像中において歪んでしまう。すなわち、マーカーMk4の表面が当該光軸に対して斜めに撮像されてしまう。マーカーMk4の表面は、第1図形F1が描かれている側の面のことである。マーカーMk4が歪んで撮像された撮像画像は、アフィン変換(アフィンワープ)によってマーカーMk4が歪んでいない画像へと補正を行う(変換する)ことができる場合がある。 For example, when the surface of the marker Mk4 is imaged by the imaging unit in a state where the surface of the marker Mk4 is inclined with respect to the optical axis of the imaging unit, the marker Mk4 is distorted in the captured image. That is, the surface of the marker Mk4 is imaged obliquely with respect to the optical axis. The surface of the marker Mk4 is the surface on the side on which the first graphic F1 is drawn. A captured image obtained by distorting the marker Mk4 may be corrected (converted) into an image in which the marker Mk4 is not distorted by affine transformation (affine warp).
例えば、上記で説明した撮像画像中のマーカーMk4が、撮像画像全体の大きさに比べて十分に小さい場合、前述したマーカーMk2が歪んで撮像された撮像画像をアフィン変換によってマーカーMk2が歪んでいない画像へと補正したように、マーカーMk4が歪んで撮像された撮像画像は、アフィン変換によって近似的にマーカーMk4が歪んでいない画像へと補正可能である。なお、マーカーMk4が歪んで撮像された撮像画像は、撮像画像全体でもよく、撮像画像中のマーカーMk4を含む一部であってもよい。このような場合、第2検出処理部51は、マーカーMk4が有するデータ領域を検出する際、アフィン変換によってマーカーMk4が歪んで撮像された撮像画像を、マーカーMk4が歪んでいない画像へと補正する。
For example, when the marker Mk4 in the captured image described above is sufficiently smaller than the entire captured image, the marker Mk2 is not distorted by affine transformation of the captured image captured with the marker Mk2 distorted. As corrected to an image, a captured image obtained by distorting the marker Mk4 can be corrected to an image in which the marker Mk4 is not approximately distorted by affine transformation. Note that the captured image obtained by distorting the marker Mk4 may be the entire captured image or a part including the marker Mk4 in the captured image. In such a case, when the second
しかし、マーカーMk4が歪んで撮像された撮像画像をマーカーMk4が歪んでいない画像へと補正するためには、更にラドン変換を行わなければならない場合がある。ここで、第2検出処理部51がラドン変換を行う処理の流れについて説明する。なお、マーカーMk4が歪んで撮像された撮像画像に対してアフィン変換を行う場合についての処理は、上記のマーカーMk2が歪んで撮像された撮像画像についてアフィン変換を行う場合についての処理と同様の処理であるため、説明を省略する。
However, in order to correct the captured image captured with the marker Mk4 distorted into an image without the marker Mk4 distorted, it may be necessary to further perform radon conversion. Here, a flow of processing in which the second
第2検出処理部51は、アフィン変換によってマーカーMk4が近似的に歪んでいない画像が得られた後、当該画像と前述の第1図形F1のモデル画像とが一致している度合(類似度)を表すピークの検出を実行する。当該ピークが検出されない場合、第2検出処理部51は、マーカーMk4が歪んで撮像された撮像画像をマーカーMk4が歪んでいない画像へと補正することが困難であると判定し、歪みの補正の処理を終了する。この場合、第2検出処理部51は、マーカーMk4の検出に失敗したことを示す情報を生成する。
The second
一方、当該ピークが検出された場合、第2検出処理部51は、当該ピークに基づいて、マーカーMk4のコード図形FC2からコード図形FC1に向かう方向に対して、所定の角度範囲のラドン変換を行い、アフィン変換によって得られたマーカーMk4が近似的に歪んでいない画像と、前述の第1図形F1のモデル画像との類似度であるピークが最大となるように角度及び大きさ(スケール)の補正を行う。また、第2検出処理部51は、当該ピークに基づいて、マーカーMk4のコード図形FC2からコード図形FC1に向かう方向と直交する方向に対して、所定の角度範囲のラドン変換を行い、アフィン変換によって得られたマーカーMk4が近似的に歪んでいない画像と、前述の第1図形F1のモデル画像との類似度であるピークが最大となるように角度及び大きさ(スケール)の補正を行う。
On the other hand, when the peak is detected, the second
このようなラドン変換により得られた画像であってマーカーMk4が歪んでいない画像を用いることで、コード検出部53は、マーカーMk4が有するデータ領域に含まれるコード図形FC1及びコード図形FC2に基づいて、高い精度でコードを検出することができる。
By using an image obtained by such Radon transformation and an image in which the marker Mk4 is not distorted, the
<コード図形が示すコードの誤り訂正について>
上記で説明した実施形態の変形例2〜4に係るマーカー(マーカーMk1〜マーカーMk4のそれぞれ)が有するコード図形(コード図形FC、コード図形FC1及びコード図形FC2)には、固定コードに加えて、チェックビット、又はハミングコードを含む構成であってもよい。例えば、当該コード図形が表わす16ビットの情報のうち、11ビットの情報によってコードを示し、残りの5ビットをハミングコードに用いることによって、1ビット誤りの訂正、2ビット誤りの検出を行うことができる。ここでは、マーカーMk3及びマーカーMk4を例に挙げて説明する。なお、以下で説明する内容は、マーカーMk2に対しても適用可能である。
<Error correction of the code indicated by the code figure>
In addition to the fixed code, the code figures (code figure FC, code figure FC1 and code figure FC2) included in the markers (each of the markers Mk1 to Mk4) according to the modified examples 2 to 4 of the embodiment described above, The configuration may include a check bit or a hamming code. For example, of the 16-bit information represented by the code figure, 11 bits of information indicate a code, and the remaining 5 bits are used for a Hamming code, thereby correcting a 1-bit error and detecting a 2-bit error. it can. Here, the marker Mk3 and the marker Mk4 will be described as examples. Note that the content described below is also applicable to the marker Mk2.
図28は、マーカーMk3及びマーカーMk4に関する情報の一例を示す表である。図28に示したように、マーカーMk3は、例えば、10mm×28mmや、7mm×20mm、5mm×14mmという大きさ(サイズ)で作成される。なお、マーカーMk3のサイズは、他のサイズであってもよい。このようなマーカーMk3が有するコード図形FCのコードを表すビット数を、チェックビットを用いずに12ビットにした場合、誤り訂正可能なビット数は0である。一方、当該マーカーMk3が有するコード図形FCのコードを表すビット数を、1つのチェックビットを用いて11ビットにした場合、誤り訂正可能なビット数は1である。 FIG. 28 is a table showing an example of information related to the marker Mk3 and the marker Mk4. As shown in FIG. 28, the marker Mk3 is created in a size (size) of, for example, 10 mm × 28 mm, 7 mm × 20 mm, and 5 mm × 14 mm. Note that the size of the marker Mk3 may be other sizes. When the number of bits representing the code of the code figure FC that the marker Mk3 has is set to 12 bits without using the check bit, the number of bits that can be error-corrected is 0. On the other hand, when the number of bits representing the code of the code figure FC included in the marker Mk3 is set to 11 bits using one check bit, the number of bits that can be error-corrected is 1.
また、図28に示したように、マーカーMk4は、例えば、10mm×21mmや、7mm×15mm、5mm×11mmという大きさ(サイズ)で作成される。なお、マーカーMk4のサイズは、他のサイズであってもよい。このようなマーカーMk4が有するコード図形FC1及びコード図形FC2のコードを表すビット数を、チェックビット又はハミングコードを用いずに18ビットにした場合、誤り訂正可能なビット数は0である。一方、当該マーカーMk4が有するコード図形FC1及びコード図形FC2のコードを表すビット数を、2つのチェックビットを用いて16ビットにした場合、誤り訂正可能なビット数は2である。一方、当該マーカーMk4が有するコード図形FC1及びコード図形FC2のコードを表すビット数を、5ビットのハミングコードを用いて11ビットにした場合、誤り訂正可能なビット数は7である。 As shown in FIG. 28, the marker Mk4 is created with a size (size) of, for example, 10 mm × 21 mm, 7 mm × 15 mm, and 5 mm × 11 mm. Note that the size of the marker Mk4 may be other sizes. When the number of bits representing the codes of the code figure FC1 and the code figure FC2 included in the marker Mk4 is set to 18 bits without using the check bit or the Hamming code, the number of bits that can be corrected for error is zero. On the other hand, when the number of bits representing the codes of the code graphic FC1 and the code graphic FC2 included in the marker Mk4 is 16 bits using two check bits, the number of bits that can be error-corrected is 2. On the other hand, when the number of bits representing the codes of the code graphic FC1 and code graphic FC2 included in the marker Mk4 is 11 bits using a 5-bit Hamming code, the number of bits that can be error-corrected is 7.
以上説明したように、実施形態におけるロボット20のロボット制御装置30(又はロボット制御装置30と別体の画像処理装置)は、第1図形(この一例において、第1図形F1)を検出した後、当該第1図形の図心(この一例において、図心F1C)に基づいてデータ領域を検出する。これにより、ロボット制御装置30は、マーカー(例えば、本実施形態におけるマーカーMk、マーカーMk1〜マーカーMk4のそれぞれ)に対する外的要因によるマーカーの検出の失敗を抑制することができる。
As described above, the
また、ロボット制御装置30は、第1図形の図心を通る方向(この一例において、探索方向)に基づいて、データ領域を検出する。これにより、ロボット制御装置30は、データ領域が表わす情報に基づく処理を行うことができる。
Further, the
また、ロボット制御装置30は、第1図形の図心を中心として当該第1図形の図心を通る方向を変化させて、データ領域を検出する。これにより、ロボット制御装置30は、第1図形が当該第1図形の図心を通る方向を示していない場合であっても、データ領域を検出することができる。
Further, the
また、ロボット制御装置30は、第1図形を検出した後、当該第1図形と比べて重なっている図心の数が少ない図形(この一例において、コード図形FD1〜コード図形FD16、コード図形FC、コード図形FC1、コード図形FC2)を有するデータ領域を検出する。これにより、ロボット制御装置30は、データ領域が有する図形を第1図形として誤検出してしまうことを抑制することができる。
In addition, after detecting the first graphic, the
また、ロボット制御装置30は、第1図形及び第2図形(この一例において、第2図形F2)を検出した後、当該第1図形の図心と当該第2図形の図心(この一例において、図心F2C)とに基づいてデータ領域を検出する。これにより、ロボット制御装置30は、第1図形の図心を通る方向に基づいて、より確実にデータ領域を検出することができる。
Further, after detecting the first graphic and the second graphic (in this example, the second graphic F2), the
また、ロボット制御装置30は、第1図形の図心と、第2図形の図心とを結んだ方向に基づいて、データ領域を検出する。これにより、ロボット制御装置30は、第1図形の図心と、第2図形の図心とを結んだ方向に基づいて、より早くにデータ領域を検出することができる。
Also, the
また、実施形態におけるマーカー(例えば、マーカーMk、マーカーMk1〜マーカーMk4のそれぞれ)は、第1図形を検出させた後、当該第1図形の図心に基づいてデータ領域を検出させる。これにより、マーカーは、マーカーに対する外的要因によるマーカーの検出の失敗を抑制することができる。 In addition, the marker (for example, each of the marker Mk and the markers Mk1 to Mk4) in the embodiment detects the first graphic, and then detects the data area based on the centroid of the first graphic. Thereby, the marker can suppress the failure of marker detection due to an external factor for the marker.
また、マーカーは、第1図形と第2図形を検出させた後、当該第1図形の図心と当該第2図形の図心とに基づいてデータ領域を検出させる。これにより、マーカーは、より確実にデータ領域を検出させることができる。 The marker detects the first graphic and the second graphic, and then detects the data area based on the centroid of the first graphic and the centroid of the second graphic. Thereby, the marker can detect a data area more reliably.
なお、制御部36のうちの画像処理部44は、画像処理装置としてロボット制御装置30と別体であってもよい。この場合、ロボット20と、ロボット制御装置30と、当該画像処理装置とは、ロボットシステムを構成する。また、この場合、画像処理装置は、検出したマーカーに基づく情報をロボット制御装置30とは異なる他の装置へと出力し、例えば、AR(Augmented Reality)等のように、当該他の装置へ当該情報を表示させる構成であってもよい。検出したマーカーに基づく情報は、例えば、当該マーカーに対応付けられた情報である。
Note that the
また、ロボット制御装置30が検出するマーカー(マーカーMk、マーカーMk1〜マーカーMk4のそれぞれ)が有するデータ領域には、コード図形として、カラーマーカーやバーコード、QRコード(登録商標)等の他のマーカーが含まれる構成であってもよい。
In addition, in the data area of the marker (marker Mk, each of the markers Mk1 to Mk4) detected by the
また、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24とのうちの一部又は全部は、ロボット20と別体の撮像部であってもよい。この場合、ロボット20と、ロボット20と別体の撮像部と、ロボット制御装置30と、画像処理装置とは、ロボットシステムを構成する。
In addition, some or all of the
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and changes, substitutions, deletions, and the like are possible without departing from the gist of the present invention. May be.
また、以上に説明した装置(例えば、ロボット20のロボット制御装置30、又はロボット制御装置30と別体の画像処理装置)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
In addition, a computer-readable program for realizing the functions of arbitrary components in the above-described apparatus (for example, the
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
In addition, the above 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.
Further, the above program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.
20…ロボット、21…第1撮像部、22…第2撮像部、23…第3撮像部、24…第4撮像部、30…ロボット制御装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、40…撮像制御部、42…画像取得部、44…画像処理部、46…ロボット制御部、50…第1検出処理部、51…第2検出処理部、52…位置姿勢算出部、53…コード検出部
DESCRIPTION OF
Claims (4)
前記マーカーは、
第1点で図心が重なっている3つ以上の第1領域で構成される第1図形と、
第2点で図心が重なっている3つ以上の第2領域で構成される第2図形と、
第3領域で構成される第3図形を複数有し、前記第1図形と前記第2図形の間に設けられたデータ領域と、を有し、
前記第1点と前記第2点とを通る直線上に前記第3領域の図心が位置するように、前記データ領域において前記第3図形が複数配置されており、
前記第3図形において重なっている前記第3領域の前記図心の数は、前記第1図形において前記第1点で重なっている前記第1領域の前記図心の数よりも少なく、かつ、前記第2図形において前記第2点で重なっている前記第2領域の前記図心の数よりも少なく、
前記第1図形および前記第2図形を検出した後、前記第1点および前記第2点に基づいて前記データ領域を検出する、
画像処理装置。 An image processing apparatus for detecting a marker,
The marker is
A first graphic composed of three or more first regions whose centroids overlap at a first point ;
A second graphic composed of three or more second regions whose centroids overlap at the second point;
A plurality of third figures configured by a third area, and a data area provided between the first figure and the second figure ,
A plurality of the third figures are arranged in the data area such that the centroid of the third area is located on a straight line passing through the first point and the second point;
The number of centroids of the third region overlapping in the third graphic is less than the number of centroids of the first region overlapping at the first point in the first graphic, and Less than the number of centroids of the second region overlapping the second point in the second graphic,
Detecting the data area based on the first point and the second point after detecting the first figure and the second figure ;
Image processing device.
請求項1に記載の画像処理装置。 Based on the direction toward the first point or found before Symbol second point, it detects the data area,
The image processing apparatus according to claim 1 .
ロボット。 The image processing apparatus according to claim 1 or 2 , comprising:
robot.
第2点で図心が重なっている3つ以上の第2領域で構成される第2図形と、
第3領域で構成される第3図形を複数有し、前記第1図形と前記第2図形の間に設けられたデータ領域と、有し、
前記第1点と前記第2点とを通る直線上に前記第3領域の図心が位置するように、前記データ領域において前記第3図形が複数配置されており、
前記第3図形において重なっている前記第3領域の前記図心の数は、前記第1図形において前記第1点で重なっている前記第1領域の前記図心の数よりも少なく、かつ、前記第2図形において前記第2点で重なっている前記第2領域の前記図心の数よりも少ない、
マーカー。 A first figure composed of three or more first region centroid becomes heavy in the first point,
A second graphic composed of three or more second regions whose centroids overlap at the second point;
A plurality of third graphics composed of third regions, a data region provided between the first graphics and the second graphics ,
A plurality of the third figures are arranged in the data area such that the centroid of the third area is located on a straight line passing through the first point and the second point;
The number of centroids of the third region overlapping in the third graphic is less than the number of centroids of the first region overlapping at the first point in the first graphic, and Less than the number of the centroids of the second region overlapping the second point in the second graphic,
marker.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015204360A JP6561757B2 (en) | 2015-10-16 | 2015-10-16 | Image processing apparatus, robot, and marker |
US15/290,324 US10311596B2 (en) | 2015-10-16 | 2016-10-11 | Image processing device, robot, robot system, and marker |
US16/385,365 US20190244388A1 (en) | 2015-10-16 | 2019-04-16 | Image processing device, robot, robot system, and marker |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015204360A JP6561757B2 (en) | 2015-10-16 | 2015-10-16 | Image processing apparatus, robot, and marker |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017076309A JP2017076309A (en) | 2017-04-20 |
JP2017076309A5 JP2017076309A5 (en) | 2018-11-22 |
JP6561757B2 true JP6561757B2 (en) | 2019-08-21 |
Family
ID=58551436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015204360A Active JP6561757B2 (en) | 2015-10-16 | 2015-10-16 | Image processing apparatus, robot, and marker |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6561757B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6219911B2 (en) * | 2015-11-24 | 2017-10-25 | 日鉄住金テックスエンジ株式会社 | Two-dimensional code, image reading apparatus, image reading method and program |
WO2019146201A1 (en) * | 2018-01-23 | 2019-08-01 | ソニー株式会社 | Information processing device, information processing method, and information processing system |
JP7329974B2 (en) * | 2019-06-13 | 2023-08-21 | Dgshape株式会社 | Machining device and tool detection method |
JP2024135773A (en) * | 2023-03-23 | 2024-10-04 | 東京ロボティクス株式会社 | Information Generation System |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
JP3726395B2 (en) * | 1997-01-30 | 2005-12-14 | 株式会社デンソー | Two-dimensional code and two-dimensional code reading method |
JP2007090448A (en) * | 2005-09-27 | 2007-04-12 | Honda Motor Co Ltd | Two-dimensional code detecting device, program for it, and robot control information generating device and robot |
-
2015
- 2015-10-16 JP JP2015204360A patent/JP6561757B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017076309A (en) | 2017-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10311596B2 (en) | Image processing device, robot, robot system, and marker | |
JP7284953B2 (en) | Robotic system with advanced scanning mechanism | |
JP6561757B2 (en) | Image processing apparatus, robot, and marker | |
US9652660B2 (en) | Control system, robot system, and control method | |
JP5854715B2 (en) | Image information processing apparatus and control method thereof | |
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
JP6429473B2 (en) | Robot system, robot system calibration method, program, and computer-readable recording medium | |
WO2019114339A1 (en) | Method and device for correcting motion of robotic arm | |
JP2017170571A (en) | Robot, robot control apparatus, and robot system | |
CN111483750A (en) | Control method and control device for robot system | |
US11590657B2 (en) | Image processing device, control method thereof, and program storage medium | |
JP2019098409A (en) | Robot system and calibration method | |
JP2018001333A (en) | Calibration board, robot and detection method | |
JP2009216503A (en) | Three-dimensional position and attitude measuring method and system | |
JP2015182212A (en) | Robot system, robot, control device, and control method | |
JP2018017610A (en) | Three-dimensional measuring device, robot, robot controlling device, and robot system | |
CN114407012B (en) | Robot motion calibration method, apparatus, computer device and storage medium | |
JP2015157343A (en) | Robot, robot system, control device, and control method | |
JP2017078877A (en) | Image processing device, robot, and robot system | |
JP2021061014A (en) | Learning device, learning method, learning model, detector, and gripping system | |
WO2021177159A1 (en) | Machine-learning device | |
JP2018001321A (en) | Robot, robot control device and robot system | |
JP2015182211A (en) | Robot system, robot, control device, and control method | |
US20240269853A1 (en) | Calibration method, calibration device, and robotic system | |
JP2017076308A (en) | Image processing device, robot, and robot system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181005 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181005 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190625 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6561757 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |