JP6561757B2 - Image processing apparatus, robot, and marker - Google Patents

Image processing apparatus, robot, and marker Download PDF

Info

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
Application number
JP2015204360A
Other languages
Japanese (ja)
Other versions
JP2017076309A (en
JP2017076309A5 (en
Inventor
稲積 満広
満広 稲積
政司 相磯
政司 相磯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015204360A priority Critical patent/JP6561757B2/en
Priority to US15/290,324 priority patent/US10311596B2/en
Publication of JP2017076309A publication Critical patent/JP2017076309A/en
Publication of JP2017076309A5 publication Critical patent/JP2017076309A5/ja
Priority to US16/385,365 priority patent/US20190244388A1/en
Application granted granted Critical
Publication of JP6561757B2 publication Critical patent/JP6561757B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2013−84031号公報JP2013-84031A

しかしながら、この二次元コードは、当該二次元コードを含む撮像画像から第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 Claim 7.
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.

本実施形態に係るロボット20の一例を示す構成図である。It is a block diagram which shows an example of the robot 20 which concerns on this embodiment. ロボット制御装置30のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a robot control device 30. FIG. ロボット制御装置30の機能構成の一例を示す図である。2 is a diagram illustrating an example of a functional configuration of a robot control device 30. FIG. 制御部36がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。4 is a flowchart illustrating an example of a flow of processing in which a control unit causes a robot to perform a predetermined operation. 図1に示したマーカーMkの具体例を示す図である。It is a figure which shows the specific example of the marker Mk shown in FIG. 図形の図心を説明するための図である。It is a figure for demonstrating the centroid of a figure. 第1図形F1を図心マーカーの一例として示す図である。It is a figure which shows the 1st figure F1 as an example of a centroid marker. 第2図形F2を図心マーカーの他の例として示す図である。It is a figure which shows the 2nd figure F2 as another example of a centroid marker. 同心円を構成していない3つの図形によって構成される多重度が3の図心マーカーの一例を示す図である。It is a figure which shows an example of the centroid marker with the multiplicity of 3 comprised by three figures which do not comprise the concentric circle. 同心円を構成していない4つの図形によって構成される多重度が4の図心マーカーの一例を示す図である。It is a figure which shows an example of the centroid marker with the multiplicity of 4 comprised by the four figures which do not comprise the concentric circle. 同心円を構成していない4つの図形によって構成される多重度が4の図心マーカーの他の例を示す図である。It is a figure which shows the other example of the centroid marker with the multiplicity of 4 comprised by the four figures which do not comprise the concentric circle. ロボット制御装置30が検出した4つのコード図形のそれぞれが16種類のコード図形のいずれであるかをロボット制御装置30が特定する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process in which the robot control apparatus 30 specifies which of the 16 types of code figures each of the four code figures detected by the robot control apparatus 30 is. 図4に示したステップS120におけるマーカー検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the marker detection process in step S120 shown in FIG. マーカーMkが有する第1図形F1の図心、第2図形F2の図心、及びデータ領域に含まれる4つのコード図形それぞれの図心を例示する図である。It is a figure which illustrates the centroid of the 1st figure F1 which the marker Mk has, the centroid of the 2nd figure F2, and the centroid of each of the four code figures contained in a data area. 実施形態の変形例1におけるマーカーの一例を示す図である。It is a figure which shows an example of the marker in the modification 1 of embodiment. 実施形態の変形例1において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the marker detection process which the image process part 44 performs in the modification 1 of embodiment. 図16に示したフローチャートにおけるステップS410〜ステップS430の処理の概要を視覚的に説明する図である。FIG. 17 is a diagram for visually explaining an overview of processing in steps S410 to S430 in the flowchart illustrated in FIG. 16. 実施形態の変形例2におけるマーカーの一例を示す図である。It is a figure which shows an example of the marker in the modification 2 of embodiment. 実施形態の変形例2において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the marker detection process which the image process part 44 performs in the modification 2 of embodiment. 実施形態の変形例3におけるマーカーの一例を示す図である。It is a figure which shows an example of the marker in the modification 3 of embodiment. 実施形態の変形例3において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the marker detection process which the image process part 44 performs in the modification 3 of embodiment. ステップS420cにおいて第2検出処理部51が第1図形F1の周囲から探索するデータ領域を示す目印の一例を示す図である。It is a figure which shows an example of the mark which shows the data area | region which the 2nd detection process part 51 searches from the circumference | surroundings of the 1st figure F1 in step S420c. 実施形態の変形例4におけるマーカーの一例を示す図である。It is a figure which shows an example of the marker in the modification 4 of embodiment. 実施形態の変形例4において画像処理部44が実行するマーカー検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the marker detection process which the image process part 44 performs in the modification 4 of embodiment. 撮像画像中においてアフィン変換によって補正可能な程度に歪んでいるマーカーMk2の一例を示す図である。It is a figure which shows an example of the marker Mk2 distorted to such an extent that it can be corrected by affine transformation in the captured image. 歪んでいないマーカーMk2の法線方向N1の一例を示す図である。It is a figure which shows an example of the normal line direction N1 of the marker Mk2 which is not distorted. マーカーMkがアフィン変換によって補正可能な程度に歪んで撮像された場合の撮像画像中のマーカーMkの一例を示す図である。It is a figure which shows an example of the marker Mk in the picked-up image when the marker Mk is distorted and imaged to such an extent that it can be corrected by affine transformation. マーカーMk3及びマーカーMk4に関する情報の一例を示す表である。It is a table | surface which shows an example of the information regarding the marker Mk3 and the marker Mk4.

<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図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 robot 20 according to the present embodiment.

<ロボット20の構成>
まず、ロボット20の構成について説明する。
ロボット20は、第1アームと、第2アームと、第1アーム及び第2アームを支持する支持台と、ロボット制御装置30を備える双腕ロボットである。双腕ロボットは、この一例における第1アームと第2アームのような2本のアーム(腕)を備えるロボットである。なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、1本のアームを備えるロボットである。例えば、単腕ロボットは、第1アームと第2アームのいずれか一方を備える。また、ロボット20は、双腕ロボットに代えて、3本以上のアームを備える複腕ロボットであってもよい。
<Configuration of robot 20>
First, the configuration of the robot 20 will be described.
The robot 20 is a double-arm robot including a first arm, a second arm, a support base that supports the first arm and the second arm, and a robot control device 30. The double-arm robot is a robot having two arms (arms) such as the first arm and the second arm in this example. The robot 20 may be a single arm robot instead of the double arm robot. A single arm robot is a robot provided with one arm. For example, the single-arm robot includes one of a first arm and a second arm. Further, the robot 20 may be a multi-arm robot having three or more arms instead of the double-arm robot.

第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 robot controller 30 via a cable. Thus, the first end effector E1 performs an operation based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB (Universal Serial Bus), for example. The first end effector E1 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 first imaging unit 21. Each of the seven joints includes an actuator (not shown). That is, the first arm including the first manipulator M1 is a 7-axis vertical articulated arm. The first arm performs a motion with seven degrees of freedom by a coordinated operation of the support, the first end effector E1, the first manipulator M1, and the actuators of the seven joints included in the first manipulator M1. The first arm may be configured to operate with a degree of freedom of 6 axes or less, or may be configured to operate with a degree of freedom of 8 axes or more.

第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 robot controller 30 via a cable so as to be communicable. Accordingly, the actuator operates the first manipulator M1 based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. Further, some or all of the seven actuators included in the first manipulator M1 may be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). Good.

第1撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、第1撮像部21は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部21は、第1アームの動きに応じて移動する。また、第1撮像部21が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部21は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。   The first imaging unit 21 is a camera including, for example, a CCD (Charge Coupled Device), a CMOS (Complementary Metal Oxide Semiconductor), or the like, which is an imaging element that converts collected light into an electrical signal. In this example, the first imaging unit 21 is provided in a part of the first manipulator M1. Therefore, the first imaging unit 21 moves according to the movement of the first arm. In addition, the range in which the first imaging unit 21 can capture an image changes according to the movement of the first arm. The first imaging unit 21 may be configured to capture a still image in the range, or may be configured to capture a moving image in the range.

また、第1撮像部21は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部21は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The first imaging unit 21 is communicably connected to the robot control device 30 via a cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The first imaging unit 21 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 robot controller 30 via a cable. Accordingly, the second end effector E2 performs an operation based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second end effector E2 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第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 second imaging unit 22. Each of the seven joints includes an actuator (not shown). That is, the second arm provided with the second manipulator M2 is a 7-axis vertical articulated arm. The second arm performs an operation with seven degrees of freedom by a coordinated operation of the support, the second end effector E2, the second manipulator M2, and the actuators of the seven joints included in the second manipulator M2. The second arm may be configured to operate with a degree of freedom of 6 axes or less, or may be configured to operate with a degree of freedom of 8 axes or more.

第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 robot controller 30 via a cable. Thus, the actuator operates the second manipulator M2 based on the control signal acquired from the robot control device 30. Note that wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. Further, some or all of the seven actuators included in the second manipulator M2 may be configured to be connected to the robot controller 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark). Good.

第2撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部22は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部22は、第2アームの動きに応じて移動する。また、第2撮像部22が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部22は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。   The second imaging unit 22 is, for example, a camera provided with a CCD, a CMOS, or the like that is an imaging element that converts the collected light into an electrical signal. In this example, the second imaging unit 22 is provided in a part of the second manipulator M2. Therefore, the second imaging unit 22 moves according to the movement of the second arm. Further, the range that can be imaged by the second imaging unit 22 changes according to the movement of the second arm. The second imaging unit 22 may be configured to capture a still image within the range, or may be configured to capture a moving image within the range.

また、第2撮像部22は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部22は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The second imaging unit 22 is connected to the robot control device 30 via a cable so as to be communicable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The second imaging unit 22 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

また、ロボット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 robot 20 includes a third imaging unit 23 and a fourth imaging unit 24.
The third imaging unit 23 is, for example, a camera that includes a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. The third image pickup unit 23 is provided in a region where the fourth image pickup unit 24 can take an image together with the fourth image pickup unit 24 in a region where stereo image pickup is possible. The 3rd imaging part 23 is connected with the robot control apparatus 30 so that communication is possible with the cable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The third imaging unit 23 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

第4撮像部24は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部24は、第3撮像部23が撮像可能な範囲を第3撮像部23とともにステレオ撮像可能な部位に備えられる。第4撮像部24は、ケーブルによって通信可能にロボット制御装置30と接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部24は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。   The fourth imaging unit 24 is, for example, a camera that includes a CCD, a CMOS, or the like that is an imaging element that converts collected light into an electrical signal. The fourth imaging unit 24 is provided in a region where the third imaging unit 23 can capture images together with the third imaging unit 23 in a region where stereo imaging can be performed. The fourth imaging unit 24 is connected to the robot control device 30 through a cable so as to be communicable. Wired communication via a cable is performed according to standards such as Ethernet (registered trademark) and USB, for example. The fourth imaging unit 24 may be configured to be connected to the robot control device 30 by wireless communication performed according to a communication standard such as Wi-Fi (registered trademark).

上記で説明したロボット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 robot 20 described above acquires a control signal from the robot control device 30 built in the robot 20 in this example. Then, each functional unit performs an operation based on the acquired control signal. Note that the robot 20 may be configured to be controlled by the robot control device 30 installed outside, instead of the configuration incorporating the robot control device 30. In this case, the robot 20 and the robot control device 30 constitute a robot system. Further, the robot 20 may be configured not to include a part of the first imaging unit 21, the second imaging unit 22, the third imaging unit 23, and the fourth imaging unit 24.

ロボット制御装置30は、ロボット20に制御信号を送信することにより、ロボット20を動作させる。これにより、ロボット制御装置30は、ロボット20に所定の作業を行わせる。   The robot control device 30 operates the robot 20 by transmitting a control signal to the robot 20. As a result, the robot control device 30 causes the robot 20 to perform a predetermined operation.

<ロボット20が行う所定の作業の概要>
以下、ロボット20が行う所定の作業の概要について説明する。
この一例において、ロボット20は、第1アームと第2アームの両方により作業することが可能な領域である作業領域に配置された物体を把持し、把持した物体を図示しない給材領域に給材(配置)する作業を所定の作業として行う。なお、ロボット20は、これに代えて、他の作業を所定の作業として行う構成であってもよい。また、作業領域は、第1アームと第2アームのうちいずれか一方により作業することが可能な領域であってもよい。
<Outline of predetermined work performed by the robot 20>
Hereinafter, an outline of predetermined work performed by the robot 20 will be described.
In this example, the robot 20 grips an object placed in a work area that can be worked by both the first arm and the second arm, and supplies the gripped object to a feed area (not shown). The (arrangement) work is performed as a predetermined work. Instead of this, the robot 20 may be configured to perform other work as a predetermined work. Further, the work area may be an area in which work can be performed by either one of the first arm and the second arm.

図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 robot 20 is disposed on the upper surface of the work table TB. In addition, the structure by which the 2 or more target object O is arrange | positioned at the upper surface of the worktable TB may be sufficient.

対象物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 robot controller 30>
Hereinafter, an outline of processing performed by the robot control device 30 to cause the robot 20 to perform a predetermined operation will be described.

ロボット制御装置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 robot control device 30 causes the third imaging unit 23 and the fourth imaging unit 24 to perform stereo imaging using the range including the work area as the imaging range. Then, the robot control device 30 acquires a captured image captured by the third imaging unit 23 and the fourth imaging unit 24 in stereo. The robot control device 30 detects a marker affixed in the work area based on the acquired captured image. Note that the robot control device 30 has a first imaging unit 21, a second imaging unit 22, and a third imaging unit instead of the configuration in which the third imaging unit 23 and the fourth imaging unit 24 perform stereo imaging as the imaging range. 23 and the fourth imaging unit 24 may be configured to perform stereo imaging of the imaging range using any two combinations excluding the combination of the third imaging unit 23 and the fourth imaging unit 24.

本実施形態におけるマーカーは、当該マーカーの位置及び姿勢を示す図形と、当該マーカーの位置及び姿勢と異なる他の情報を示す図形を含むデータ領域とを有する。マーカーの位置及び姿勢を示す図形には、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 robot 20. The robot operation information is information indicating, for example, an operation of gripping the object O based on the position and posture of the marker and feeding a material area (not shown) among the operations of the robot 20. Each of the four code figures representing the code indicating the robot operation information is a figure representing a code of several bits. In this example, a case where one code figure represents a 4-bit code will be described. That is, the four code figures represent a 16-bit code in total.

なお、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 robot 20 to process the object O among the operations of the robot 20 as the robot operation information. The codes represented by the four code figures are information indicating a character string (for example, a comment indicating information on the object O to which the marker is attached) to be displayed on the display of the robot control device 30 instead of the robot operation information. The structure which shows other information may be sufficient.

マーカーが有する第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 robot 20 passes through the TCP of the first arm and the TCP of the second arm. The structure which shows other positions and attitude | positions, such as an attitude | position, may be sufficient.

ここで、第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 robot control device 30 detects the marker in the process of causing the robot 20 to perform a predetermined operation, the robot control device 30 detects at least the first graphic of the first graphic and the second graphic included in the marker, and then detects the first graphic. Based on the centroid, the data area, that is, four code figures included in the data area are detected. Thereby, the robot control apparatus 30 can suppress the failure of marker detection due to an external factor for the marker. Below, the process in which the robot control apparatus 30 detects the said marker from the captured image containing a marker is demonstrated in detail.

この一例において、作業領域内に貼付されたマーカーは、作業領域内の作業台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 robot control device 30 detects the marker Mk from the captured image captured by the third imaging unit 23 and the fourth imaging unit 24. In this detection, the robot controller 30 detects at least the first graphic F1 of the first graphic F1 and the second graphic F2 which are the first graphic and the second graphic of the marker Mk, and then the first graphic F1. Based on the centroid, the data area, that is, four code figures included in the data area are detected. In FIG. 1, the marker Mk is represented by a black square attached to the object O in order to simplify the drawing. Alternatively, the marker Mk may be configured to be affixed to another object different from the object O in the work area, the upper surface of the work table TB, or the like.

データ領域を検出した後、ロボット制御装置30は、検出したマーカーMkの位置及び姿勢を、対象物Oのロボット座標系における位置及び姿勢として算出する。そして、ロボット制御装置30は、マーカーMkのデータ領域に含まれるコード図形が表わすコードに基づいて、算出した当該位置及び姿勢の対象物Oをロボット20の第1アームに把持させ、図示しない給材領域に給材させる。なお、ロボット制御装置30は、これに代えて、対象物Oを第2アームに把持させる構成であってもよく、対象物Oを第1アームと第2アームの両方に把持させる構成等の他の構成であってもよい。   After detecting the data area, the robot control device 30 calculates the position and orientation of the detected marker Mk as the position and orientation of the object O in the robot coordinate system. Then, the robot control device 30 causes the first arm of the robot 20 to grip the calculated object O of the position and orientation based on the code represented by the code figure included in the data area of the marker Mk, and supplies the material (not shown) Feed the area. Instead of this, the robot control device 30 may have a configuration in which the object O is gripped by the second arm, or may be a configuration in which the object O is gripped by both the first arm and the second arm. It may be configured as follows.

<ロボット制御装置30のハードウェア構成>
以下、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
<Hardware Configuration of Robot Control Device 30>
Hereinafter, the hardware configuration of the robot control device 30 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a hardware configuration of the robot control device 30. The robot control device 30 includes, for example, a CPU (Central Processing Unit) 31, a storage unit 32, an input receiving unit 33, a communication unit 34, and a display unit 35. Further, the robot control device 30 communicates with the robot 20 via the communication unit 34. These components are connected to each other via a bus Bus so that they can communicate with each other.

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 CPU 31 executes various programs stored in the storage unit 32.
The storage unit 32 includes, for example, a hard disk drive (HDD), a solid state drive (SSD), an electrically erasable programmable read-only memory (EEPROM), a read-only memory (ROM), and a random access memory (RAM). The storage unit 32 may be an external storage device connected via a digital input / output port such as a USB instead of the one built in the robot control device 30. The storage unit 32 stores various information, images, programs, information indicating the position of a material supply area (not shown), etc., which are processed by the robot control device 30.

入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
The input receiving unit 33 is, for example, a teaching pendant provided with a keyboard, a mouse, a touch pad, or the like, or other input device. The input receiving unit 33 may be configured integrally with the display unit 35 as a touch panel.
The communication unit 34 includes, for example, a digital input / output port such as USB, an Ethernet (registered trademark) port, and the like.
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 Robot Control Device 30>
Hereinafter, the functional configuration of the robot control device 30 will be described with reference to FIG. 3. FIG. 3 is a diagram illustrating an example of a functional configuration of the robot control device 30. The robot control device 30 includes a storage unit 32 and a control unit 36.

制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、画像処理部44と、ロボット制御部46を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。   The control unit 36 controls the entire robot control device 30. The control unit 36 includes an imaging control unit 40, an image acquisition unit 42, an image processing unit 44, and a robot control unit 46. These functional units included in the control unit 36 are realized, for example, when the CPU 31 executes various programs stored in the storage unit 32. Some or all of these functional units may be hardware functional units such as LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit).

撮像制御部40は、作業領域を含む撮像範囲を第3撮像部23と第4撮像部24にステレオ撮像させる。
画像取得部42は、第3撮像部23と第4撮像部24がステレオ撮像した撮像画像を、第3撮像部23と第4撮像部24から取得する。
The imaging control unit 40 causes the third imaging unit 23 and the fourth imaging unit 24 to perform stereo imaging of the imaging range including the work area.
The image acquisition unit 42 acquires captured images captured by the third imaging unit 23 and the fourth imaging unit 24 in stereo from the third imaging unit 23 and the fourth imaging unit 24.

画像処理部44は、画像取得部42が取得した撮像画像に対して各種の画像処理を行う。画像処理部44は、第1検出処理部50と、第2検出処理部51と、位置姿勢算出部52と、コード検出部53を備える。   The image processing unit 44 performs various types of image processing on the captured image acquired by the image acquisition unit 42. The image processing unit 44 includes a first detection processing unit 50, a second detection processing unit 51, a position / orientation calculation unit 52, and a code detection unit 53.

第1検出処理部50は、画像取得部42が取得した撮像画像に基づいて、当該撮像画像に含まれるマーカーが有する当該マーカーの位置及び姿勢を示す1以上の図形(例えば、この一例における第1図形及び第2図形)を当該撮像画像から検出する。
第2検出処理部51は、画像取得部42が取得した撮像画像と、第1検出処理部50が検出したマーカーの位置及び姿勢を示す1以上の図形とに基づいて、当該マーカーが有するデータ領域に含まれる1以上のコード図形を当該撮像画像から検出する。
The first detection processing unit 50, based on the captured image acquired by the image acquisition unit 42, one or more figures (for example, the first in this example) indicating the position and orientation of the marker included in the marker included in the captured image. A graphic and a second graphic) are detected from the captured image.
The second detection processing unit 51 is based on the captured image acquired by the image acquisition unit 42 and one or more graphics indicating the position and orientation of the marker detected by the first detection processing unit 50. One or more code figures included in is detected from the captured image.

位置姿勢算出部52は、第1検出処理部50が検出したマーカーの位置及び姿勢を示す図形に基づいて、当該マーカーの位置及び姿勢を、当該マーカーが貼付された対象物のロボット座標系における位置及び姿勢として算出する。
コード検出部53は、第2検出処理部51が検出したデータ領域に含まれる1以上のコード図形からコードを検出する。
The position / orientation calculation unit 52 determines the position and orientation of the marker based on the graphic indicating the position and orientation of the marker detected by the first detection processing unit 50, and the position of the target to which the marker is attached in the robot coordinate system. And calculated as an attitude.
The code detection unit 53 detects a code from one or more code figures included in the data area detected by the second detection processing unit 51.

ロボット制御部46は、位置姿勢算出部52が算出したマーカーの位置及び姿勢と、コード検出部53が検出したコードとに基づいて所定の作業をロボット20に行わせる。   The robot control unit 46 causes the robot 20 to perform a predetermined operation based on the position and posture of the marker calculated by the position / orientation calculation unit 52 and the code detected by the code detection unit 53.

<制御部36がロボット20に所定の作業を行わせる処理の流れについて>
以下、図4を参照し、制御部36がロボット20に所定の作業を行わせる処理について説明する。図4は、制御部36がロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。以下では、制御部36が予め記憶部32から給材領域の位置を示す情報を読み出している場合について説明する。なお、制御部36は、ステップS100からステップS130までの処理における任意のタイミングにおいて記憶部32から給材領域の位置を示す情報を読み出す構成であってもよい。
<About the flow of processing in which the control unit 36 causes the robot 20 to perform a predetermined work>
Hereinafter, with reference to FIG. 4, a process in which the control unit 36 causes the robot 20 to perform a predetermined operation will be described. FIG. 4 is a flowchart illustrating an example of a process flow in which the control unit 36 causes the robot 20 to perform a predetermined operation. Below, the case where the control part 36 has read the information which shows the position of a material supply area | region from the memory | storage part 32 previously is demonstrated. Note that the control unit 36 may be configured to read information indicating the position of the material supply region from the storage unit 32 at an arbitrary timing in the processing from step S100 to step S130.

撮像制御部40は、図1に示した作業領域を含む撮像範囲を第3撮像部23及び第4撮像部24にステレオ撮像させる(ステップS100)。次に、画像取得部42は、ステップS100において第3撮像部23及び第4撮像部24がステレオ撮像した撮像画像を第3撮像部23及び第4撮像部24から取得する(ステップS110)。次に、画像処理部44が備える各機能部は、ステップS110において画像取得部42が取得した撮像画像に基づいて、撮像画像に含まれるマーカーMkを検出するマーカー検出処理を実行する(ステップS120)。   The imaging control unit 40 causes the third imaging unit 23 and the fourth imaging unit 24 to perform stereo imaging of the imaging range including the work area illustrated in FIG. 1 (Step S100). Next, the image acquisition unit 42 acquires, from the third imaging unit 23 and the fourth imaging unit 24, a captured image that is captured in stereo by the third imaging unit 23 and the fourth imaging unit 24 in step S100 (step S110). Next, each functional unit included in the image processing unit 44 executes a marker detection process for detecting the marker Mk included in the captured image based on the captured image acquired by the image acquisition unit 42 in Step S110 (Step S120). .

次に、ロボット制御部46は、ステップS120におけるマーカー検出処理の結果を画像処理部44から取得する。そして、ロボット制御部46は、マーカー検出処理の結果に基づいて、対象物Oを第1アームに把持させて図示しない給材領域に給材させる(ステップS130)。   Next, the robot control unit 46 acquires the result of the marker detection process in step S120 from the image processing unit 44. Then, based on the result of the marker detection process, the robot control unit 46 causes the first arm to grip the object O and feed it to a feed area (not shown) (step S130).

ここで、ステップ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 robot control unit 46 causes the first arm to grip the object O based on the position and orientation and the code, and feeds the object O to a feeding area (not shown). Thereafter, the robot control unit 46 ends the process.

一方、ステップ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 robot control unit 46 does not control the robot 20 and ends the process. At this time, the robot control unit 46 may be configured to display information indicating that the detection of the marker Mk has failed on the display unit 35.

<マーカーの詳細>
以下、ロボット制御装置30が撮像画像から検出するマーカーの詳細について説明する。この一例におけるマーカー(例えば、マーカーMk)は、マーカーの位置及び姿勢を示す図形である第1図形及び第2図形と、コードを表す4つのコード図形を含むデータ領域とを有する。また、この一例におけるマーカーは、第1図形と第2図形の間にデータ領域が配置される。ここで、図5〜図12を参照し、この一例におけるマーカーについて説明する。
<Details of marker>
Hereinafter, details of the marker detected by the robot control device 30 from the captured image will be described. The marker in this example (for example, the marker Mk) has a first graphic and a second graphic that are graphic indicating the position and orientation of the marker, and a data area including four code graphic representing codes. In the marker in this example, a data area is arranged between the first graphic and the second graphic. Here, the marker in this example will be described with reference to FIGS.

図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 robot control device 30 detects the first figure F1, the second figure F2, and four code figures representing codes based on the centroid of each figure.

ここで、図形の図心について詳しく説明する。図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.

Figure 0006561757
Figure 0006561757

式(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 robot control device 30 specifies which of the 16 types of code graphics each of the four code graphics detected by the robot control device 30 is. If the robot control device 30 can distinguish the code graphic, a configuration in which another code graphic is included instead of a part or all of the 16 types of code graphic shown in FIG. It may be. Further, the number of code figures may be less than 15 instead of 16, and may be 17 or more. Further, the robot control device 30 replaces each detected code figure with any of the 16 types of code figures shown in FIG. 12 by performing other processes such as pattern matching instead of the process of the flowchart shown in FIG. It may be configured to specify whether or not there is.

また、この一例における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 robot control device 30 does not detect a white partial region including white cells included in the fourth column in the code graphic as a graphic constituting the code graphic.

まず、ロボット制御装置30は、図形FD1〜図形FD16のいずれであるかを特定する対象となるコード図形である対象コード図形を検出した後、対象コード図形を構成する図形の図心を検出する。そして、ロボット制御装置30は、当該8行4列の領域内で検出した図心の多重度が1と2のいずれであるかを判定する(ステップS200)。この判定により、ロボット制御装置30は、対象コード図形が図形FD1〜図形FD3のいずれかであることと、対象コード図形が図形FD4〜図形FD16のいずれかであることとのどちらであるかを判定する。   First, the robot control apparatus 30 detects the centroid of the figure which comprises the object code figure, after detecting the object code figure which is the code figure used as the object which specifies which figure FD1-figure FD16. Then, the robot controller 30 determines whether the multiplicity of the centroid detected in the area of 8 rows and 4 columns is 1 or 2 (step S200). By this determination, the robot control device 30 determines whether the target code figure is any one of the figures FD1 to FD3 and whether the target code figure is any one of the figures FD4 to FD16. To do.

ステップ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 robot control device 30 specifies that the target code figure is any one of the figures FD1 to FD3. Then, the robot control device 30 determines whether the area of the black partial region of the target code figure is large, medium, or small (step S210).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. In addition, when the number of black cells representing the area of the black partial region in the target code figure is 18 or more and less than 22, the robot control device 30 determines that the area is medium. The robot control device 30 determines that the area is large when the number of black cells representing the area of the black partial region in the target code graphic is 22 or more.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD1. On the other hand, when it is determined that the area of the black partial region of the target code graphic is medium (in step S210-), the robot control device 30 specifies that the target code graphic is the graphic FD2. on the other hand. When it is determined that the area of the black partial region of the target code graphic is large (step S210—large), the robot control device 30 specifies that the target code graphic is the graphic FD3.

一方、ステップ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 robot control device 30 specifies that the target code figure is any one of the figures FD4 to FD16. Then, the robot controller 30 determines whether the number of centroids of the target code figure detected in step S200 is 1 or 2 (step S220). By this determination, the robot control device 30 determines whether the target code figure is any one of the figures FD4 to FD10 and whether the target code figure is any one of the figures FD11 to FD16. To do.

ステップ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 robot control device 30 specifies that the target code figure is any one of the figures FD4 to FD10. Then, the robot control device 30 determines whether the area of the black partial region of the target code figure is large, medium, or small (step S230).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. In addition, when the number of black cells representing the area of the black partial region in the target code figure is 8 or more and less than 16, the robot control device 30 determines that the area is medium. In addition, when the number of black cells representing the area of the black partial region in the target code figure is 16 or more, the robot control device 30 determines that the area is large.

この一例において、図形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 robot control device 30 determines whether the target code figure is one of the figures FD4 and FD5. Identifies it. Then, the robot controller 30 determines whether the aspect ratio of the black partial area of the target code figure is large or small (step S240).

ここで、ステップ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 robot controller 30 calculates an aspect ratio obtained by dividing the number of black cells arranged in the vertical direction of the black partial area in the target code figure by the number of black cells arranged in the horizontal direction. . In this example, the vertical direction is a direction in which eight cells are arranged in each column of 32 cells arranged in 8 rows and 4 columns, and the horizontal direction is 32 cells arranged in 8 rows and 4 columns. This is a direction in which four cells are arranged in each row of cells. When the calculated aspect ratio is 1 or more, the robot controller 30 determines that the aspect ratio is large. Further, when the calculated aspect ratio is less than 1, the robot control apparatus 30 determines that the aspect ratio is small.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD4. On the other hand, when it is determined that the aspect ratio of the black partial area of the target code graphic is small (step S240—small), the robot control device 30 specifies that the target code graphic is the graphic FD5.

一方、ステップ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 robot control device 30 determines whether the target code figure is one of the figures FD6 and FD7. Identifies it. Then, the robot control apparatus 30 determines the size of the aspect ratio of the black partial area of the target code figure (step S250).

ここで、ステップS250の処理について説明する。ステップS250において、ロボット制御装置30は、対象コード図形における黒色の部分領域を構成する黒いセルの縦方向に並んだ数を、当該黒いセルの横方向に並んだ数によって除した縦横比を算出する。ロボット制御装置30は、算出した縦横比が8である場合、当該縦横比が大であると判定する。また、ロボット制御装置30は、算出した縦横比が8未満である場合、当該縦横比が小であると判定する。   Here, the process of step S250 will be described. In step S250, the robot controller 30 calculates an aspect ratio obtained by dividing the number of black cells arranged in the vertical direction of the black partial area in the target code figure by the number of black cells arranged in the horizontal direction. . When the calculated aspect ratio is 8, the robot controller 30 determines that the aspect ratio is large. Further, when the calculated aspect ratio is less than 8, the robot control apparatus 30 determines that the aspect ratio is small.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD7. On the other hand, when it is determined that the aspect ratio of the black partial area of the target code graphic is large (step S250—large), the robot control device 30 specifies that the target code graphic is the graphic FD8.

一方、ステップ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 robot control apparatus 30 determines that the target code figure is any one of the figures FD8 to FD10. Identifies it. Then, the robot control device 30 determines whether the area of the black partial region of the target code figure is large, medium, or small (step S260).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. In addition, when the number of black cells representing the area of the black partial region in the target code figure is 20 or more and less than 24, the robot control device 30 determines that the area is medium. The robot control device 30 determines that the area is large when the number of black cells representing the area of the black partial region in the target code graphic is 24 or more.

この一例において、図形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 robot control device 30 specifies that the target code figure is the figure FD8. On the other hand, when it is determined that the area of the black partial region of the target code graphic is medium (in step S260-), the robot control device 30 specifies that the target code graphic is the graphic FD9. On the other hand, when it is determined that the area of the black partial region of the target code graphic is large (step S260—large), the robot control device 30 specifies that the target code graphic is the graphic FD10.

一方、ステップ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 robot control device 30 specifies that the target code figure is any one of the figures FD11 to FD16. Then, the robot controller 30 determines 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 of the target code figure is the area of the third column from the left side. Or the areas of the first and third columns from the left side are the same size, or the area of the third column from the left side is larger than the area of the first column from the left side. It is determined whether or not there is (step S270).

ここで、ステップ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 robot controller 30 counts 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 of the target code figure. Is larger than the number of black cells constituting the area of the third column from the left side, from the left side of the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region of the target code figure. It is determined that the area of the first column is larger than the area of the third column from the left side. Further, the robot control device 30 includes 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 of the target code figure, If the number of black cells constituting the area of the third column from the left side is the same, one column from the left side of the 32 cells arranged in 8 rows and 4 columns of the area of the black partial region of the target code figure It is determined that the areas of the eyes and the third column have the same size. Further, the robot control apparatus 30 has the number of black cells constituting 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 of the target code figure. If the number of black cells constituting the area of the first column from the left side is larger, three columns from the left side of the 32 cells arranged in 8 rows and 4 columns out of the area of the black partial region of the target code figure It is determined that the eye area is larger than the area of the first column from the left side.

この一例において、図形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 robot control device 30 specifies that the target code figure is either the figure FD11 or the figure FD12. Then, the robot control device 30 determines the size of the area of the black partial region of the target code figure (step S280).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. The robot control device 30 determines that the area is large when the number of black cells representing the area of the black partial region in the target code graphic is 18 or more.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD11. On the other hand, when it is determined that the area of the black partial region of the target code graphic is large (step S280—large), the robot control device 30 specifies that the target code graphic is the graphic FD12.

一方、黒色の部分領域の面積のうちの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 robot control device 30 specifies that the target code figure is either the figure FD13 or the figure 14. Then, the robot control device 30 determines the size of the area of the black partial region of the target code figure (step S290).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. In addition, when the number of black cells representing the area of the black partial region in the target code figure is 16 or more, the robot control device 30 determines that the area is large.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD13. On the other hand, when it is determined that the area of the black partial region of the target code graphic is large (step S290—large), the robot control device 30 specifies that the target code graphic is the graphic FD14.

一方、黒色の部分領域の面積のうちの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 robot control device 30 specifies that the target code figure is either the figure FD15 or the figure FD16. Then, the robot control device 30 determines the size of the area of the black partial region of the target code figure (step S295).

ここで、ステップ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 robot control apparatus 30 determines that the area is small. The robot control device 30 determines that the area is large when the number of black cells representing the area of the black partial region in the target code graphic is 18 or more.

この一例において、図形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 robot control device 30 specifies that the target code graphic is the graphic FD15. On the other hand, when it is determined that the area of the black partial region of the target code graphic is large (step S295-large), the robot control device 30 specifies that the target code graphic is the graphic FD16.

このように、ロボット制御装置30は、対象コード図形が16種類のコード図形のいずれであるかを特定することができる。このため、図形FD1〜図形FD16を順に1〜Fの16進数と見做すことにより、コード図形は、1つで4ビットの情報を表すことができる。すなわち、データ領域に含まれる4つのコード図形は、16ビットのコードを表すことができる。   As described above, the robot control device 30 can specify which of the 16 types of code figures is the target code figure. For this reason, by considering the figures FD1 to FD16 as hexadecimal numbers 1 to F in order, one code figure can represent 4-bit information. That is, the four code figures included in the data area can represent a 16-bit code.

また、この一例におけるマーカー(例えば、マーカー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 robot controller 30 determines whether or not these figures are markers in this example. It is possible to suppress the erroneous detection that a combination of figures that are not the marker is a marker.

以上のように、この一例におけるマーカーは、第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 robot controller 30 according to the present embodiment will be described.
In this example, in the centroid marker detection method by the robot control device 30, when detecting the centroid marker from the captured image, the robot control device 30 converts the captured image into a grayscale image (grayscale processing). . For example, the robot controller 30 converts the captured image into a grayscale image of 256 gradations in the grayscale processing of the captured image. Note that the robot control device 30 may be configured to convert the captured image into a grayscale image with other gradations instead of being converted into a grayscale image with 256 gradations.

そして、ロボット制御装置30は、グレースケール化処理により撮像画像を変換したグレースケール画像を、二値化画像(白黒画像)に変換する(二値化処理)。二値化処理は、グレースケール画像上における所定の閾値(二値化の閾値)以上の輝度値の画素の色を白色に変換し、当該閾値未満の輝度値の画素を黒色に変換することによりグレースケール画像を二値化画像に変換する処理である。この一例において、二値化の閾値は、予め決められている。なお、二値化の閾値は、大津の方法等の撮像画像に基づく方法によって決められる他の構成であってもよい。ロボット制御装置30は、二値化処理によりグレースケール画像を変換した二値化画像から図心マーカーを検出する。   Then, the robot control device 30 converts the grayscale image obtained by converting the captured image by the grayscale processing into a binarized image (monochrome image) (binarization processing). In the binarization process, the color of a pixel having a luminance value equal to or higher than a predetermined threshold (binarization threshold) on a grayscale image is converted to white, and the pixel having a luminance value less than the threshold is converted to black. This is processing for converting a grayscale image into a binarized image. In this example, the binarization threshold is determined in advance. The binarization threshold may be another configuration determined by a method based on a captured image such as the Otsu method. The robot controller 30 detects the centroid marker from the binarized image obtained by converting the grayscale image by the binarization process.

<マーカー検出処理の流れについて>
以下、図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 image processing unit 44 reads out marker information stored in advance in the storage unit 32 from the storage unit 32 (step S300). In this example, the marker information includes at least information indicating the marker and information indicating each of the first graphic and the second graphic included in the marker. For example, the marker information includes information in which information indicating the marker Mk is associated with information indicating each of the first graphic F1 and the second graphic F2 included in the marker Mk.

マーカーを示す情報は、この一例において、マーカー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 image processing unit 44, and functions that are not illustrated in FIG. The structure which a part performs may be sufficient.

次に、画像処理部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 image processing unit 44 selects one marker ID included in the marker information read from the storage unit 32 in step S300 one by one, and uses the marker indicated by the selected marker ID as a target marker. The processing from step S320 to step S370 is repeated for each marker (step S310). Hereinafter, for convenience of explanation, a case will be described in which the marker ID included in the marker information is only one of the marker IDs indicating the marker Mk. In this case, the image processing unit 44 performs the processing from step S320 to step S370 only once for the marker Mk.

次に、第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 detection processing unit 50 obtains information indicating each of the first graphic F1 and the second graphic F2 associated with the marker ID indicating the marker Mk selected as the target marker in step S310 from the marker information. Extract. And the 1st detection process part 50 is based on the extracted information which shows each of the said 1st figure F1 and the 2nd figure F2, and the detection method of the centroid marker mentioned above in step S110 shown in FIG. The first graphic F1 and the second graphic F2 are detected from the captured image acquired by the image acquisition unit 42 (step S320).

ここで、ステップ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 detection processing unit 50 detects a centroid marker having a multiplicity of 3 or more from the captured image as a candidate for the first graphic F1 and the second graphic F2. The multiplicity (number of overlapping centroids) of the four code figures included in the data area is 2 at the maximum, and the multiplicity is less than that of each of the first figure F1 and the second figure F2. For this reason, the first detection processing unit 50 is prevented from erroneously detecting these code figures as candidates for the first figure F1 and the second figure F2. The first detection processing unit 50 has a multiplicity of 3 or more detected as candidates for the first graphic F1 and the second graphic F2 based on the model images of the first graphic F1 and the second graphic F2 extracted from the marker information. The first graphic F1 and the second graphic F2 are detected from the centroid marker by pattern matching. Since the conventionally known method is used for the pattern matching process, the description thereof is omitted.

次に、第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 detection processing unit 51 detects the data area of the marker Mk based on the first graphic F1 and the second graphic F2 detected by the first detection processing unit 50 from the captured image in step S320 (step S320). S330). Here, the process of step S330 will be described with reference to FIGS. FIG. 14 is a diagram illustrating the centroid of the first graphic F1, the centroid of the second graphic F2, and the centroid of each of the four code graphics included in the data area of the marker Mk. In FIG. 14, the four code figures are arranged in the order of the figure FD5, the figure FD10, the figure FD16, and the figure FD1 from the first figure F1 to the second figure F2.

また、図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 detection processing unit 51 detects a plurality of figures included between the first figure F1 and the second figure F2 detected in step S330 as data areas of the marker Mk as candidates for four code figures. Execute the process. In this process, the second detection processing unit 51 calculates centroids of a plurality of figures included between the first figure F1 and the second figure F2. Then, the second detection processing unit 51 connects a straight line passing through the centroid of the first graphic F1 and the centroid of the second graphic F2 (that is, the centroid of the first graphic F1 and the centroid of the second graphic F2). When four figures having a centroid located on CL are detected, these four figures are detected as four code figures included in the data area of the marker Mk.

ステップ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 detection processing unit 51 determines whether or not the data area has been successfully detected in step S330 (step S340). When it is determined that the detection of the data area is not successful (failed) (No at Step S340), the second detection processing unit 51 proceeds to Step S310 and selects the next marker. In this example, since the only marker that can be selected in step S310 is the marker Mk, if the second detection processing unit 51 determines that the detection of the data area has not been successful, it indicates that the marker detection has failed. Information to be shown is generated as a result of the marker detection process, and the process ends. On the other hand, when the second detection processing unit 51 determines that the detection of the data area is successful (step S340-Yes), the position / orientation calculation unit 52 is based on the first graphic F1 and the second graphic F2 detected in step S320. Then, the position and orientation of the marker Mk are calculated as the position and orientation of the object O in the robot coordinate system (step S350). The position on the captured image and the position in the robot coordinate system are associated in advance by calibration.

ここで、ステップ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 / orientation calculation unit 52 sets the normal direction to the first figure F1 in the centroid F1C of the first figure F1 as the Z axis, and the centroid F1C of the first figure F1 from the centroid F2C of the second figure F2. The direction toward the X axis is the X axis, and the direction perpendicular to the Z axis and the X axis is the Y axis, so that the posture of the first figure F1 is the posture of the marker Mk (in this example, the posture of the object O). Calculate as Alternatively, the position / orientation calculation unit 52 may be configured to calculate the orientation of the marker Mk by another method based on the centroid F1C of the first graphic F1.

ステップ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 code detection unit 53 detects the data area detected by the second detection processing unit 51 in step S330, that is, four data included in the data area. Based on the code figure and the processing of the flowchart shown in FIG. 12, it is specified which of these four code figures is the figure FD1 to the figure FD16. Then, the code detection unit 53 detects the code represented by the four specified code figures (step S360).

次に、コード検出部53は、ステップS360において検出したコードが、適正な情報であるか否かを判定する(ステップS370)。適正な情報は、この一例において、エラーを含んでおらず、ロボット制御装置30がロボット20に動作させることが可能なロボット動作情報のことである。コード検出部53は、当該コードが適正な情報ではないと判定した場合、マーカーMkの検出に失敗したことを示す情報をマーカー検出処理の結果として生成する。そして、画像処理部44は、ステップS310に遷移し、次のマーカーを選択する。この一例において、ステップS310において選択可能なマーカーは、マーカーMkのみである。このため、画像処理部44は、当該マーカー検出処理の結果を生成した後、処理を終了する。一方、当該コードが適正な情報であると判定した場合、コード検出部53は、ステップS350において位置姿勢算出部52が算出したマーカーMkの位置及び姿勢と、ステップS360において検出したコードとを含む情報を、マーカー検出処理の結果として生成する。そして、画像処理部44は、ステップS310に遷移し、次のマーカーを選択する。この一例において、画像処理部44は、当該マーカー検出処理の結果を生成した後、処理を終了する。   Next, the code detection unit 53 determines whether or not the code detected in step S360 is appropriate information (step S370). In this example, the appropriate information is robot operation information that does not include an error and can be operated by the robot control apparatus 30. When the code detection unit 53 determines that the code is not appropriate information, the code detection unit 53 generates information indicating that the detection of the marker Mk has failed as a result of the marker detection process. Then, the image processing unit 44 proceeds to step S310 and selects the next marker. In this example, the only marker that can be selected in step S310 is the marker Mk. For this reason, the image processing unit 44 ends the process after generating the result of the marker detection process. On the other hand, if it is determined that the code is appropriate information, the code detection unit 53 includes information including the position and orientation of the marker Mk calculated by the position / orientation calculation unit 52 in step S350 and the code detected in step S360. Are generated as a result of the marker detection process. Then, the image processing unit 44 proceeds to step S310 and selects the next marker. In this example, the image processing unit 44 ends the process after generating a result of the marker detection process.

このように、ロボット制御装置30は、第1図形F1を検出した後、第1図形F1の図心F1Cに基づいてデータ領域を検出する。これにより、ロボット制御装置30は、マーカーMkに対する外的要因によるマーカーMkの検出の失敗を抑制することができる。   As described above, after detecting the first graphic F1, the robot control device 30 detects the data area based on the centroid F1C of the first graphic F1. Thereby, the robot control apparatus 30 can suppress the failure in detection of the marker Mk due to an external factor with respect to the marker Mk.

なお、図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 detection processing unit 51. It was explained on the assumption. In order to guarantee this premise, the first detection processing unit 50 has the size of one or both of the detected first graphic F1 and second graphic F2 in the process of step S320 of the flowchart shown in FIG. It may be configured to determine whether or not the size is greater than or equal to a predetermined size. When the first detection processing unit 50 determines that one or both of the detected first graphic F1 and second graphic F2 are not larger than a predetermined size, the image processing unit 44 determines whether the marker Mk Information indicating that the detection has failed is generated as a result of the marker detection process, and the process ends. On the other hand, when the first detection processing unit 50 determines that one or both of the detected first graphic F1 and second graphic F2 are equal to or larger than a predetermined size, the second detection processing unit 51 Then, the process of step S330 of the flowchart shown in FIG. 13 is executed. The predetermined size is represented by, for example, the number of pixels constituting one or both of the detected first graphic F1 and second graphic F2, and is a value determined according to the resolution of the imaging unit that captures the captured image. It is.

<実施形態の変形例1>
以下、本発明の実施形態の変形例1について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMkに代えて、この一例において説明するマーカーMk1であってもよい。つまり、実施形態の変形例1では、ロボット制御装置30が、マーカーMkに代えて、マーカーMk1を検出する。マーカーMk1は、マーカーMkから第2図形F2のみを省略(削除)した構成のマーカーである。
<Modification 1 of Embodiment>
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 robot control device 30 detects the marker Mk1 instead of the marker Mk. The marker Mk1 is a marker having a configuration in which only the second graphic F2 is omitted (deleted) from the marker Mk.

<実施形態の変形例1におけるマーカーの詳細>
図15は、実施形態の変形例1におけるマーカーの一例を示す図である。図15に示したように、マーカーMk1は、マーカーMkと異なり、第2図形F2を有しておらず、第1図形F1のみを有している。すなわち、マーカーMk1は、第2図形F2を有していないこと以外は、マーカーMkと同様の特徴を有する。図15に示した例では、マーカーMk1は、当該コード図形として、図形FD5と、図形FD10と、図形FD16と、図形FD1とをデータ領域に含んでいる。
<Details of Marker in Modification 1 of Embodiment>
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 Modification 1 of Embodiment>
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 image processing unit 44 performs the process of step S120a described below instead of the process of step S120 in the flowchart illustrated in FIG. FIG. 16 is a flowchart illustrating an example of the flow of marker detection processing executed by the image processing unit 44 in the first modification of the embodiment. In FIG. 16, the processing in step S310 and the processing in steps S350 to S370 are the same as the processing in step S310 and the processing in steps S350 to S370 shown in FIG. Omitted.

画像処理部44は、記憶部32に予め記憶された1以上のマーカーのそれぞれが有する第1図形を示す情報を含むマーカー情報を記憶部32から読み出す(ステップS400)。この一例において、マーカー情報には少なくとも、マーカーを示す情報と、マーカーが有する第1図形を示す情報とを対応付けた情報が含まれている。例えば、マーカー情報には、マーカーMk1を示す情報と、マーカーMk1が有する第1図形F1を示す情報を対応付けた情報が含まれている。以下では、説明の便宜上、マーカー情報には、当該情報のみが含まれている場合について説明する。   The image processing unit 44 reads marker information including information indicating the first graphic of each of the one or more markers stored in advance in the storage unit 32 from the storage unit 32 (step S400). In this example, the marker information includes at least information indicating the marker and information indicating the first graphic included in the marker. For example, the marker information includes information in which information indicating the marker Mk1 is associated with information indicating the first graphic F1 included in the marker Mk1. Hereinafter, for convenience of explanation, a case where only the information is included in the marker information will be described.

次に、第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 detection processing unit 50 extracts information indicating the first graphic F1 associated with the marker ID indicating the marker Mk1 selected as the target marker in step S310 from the marker information. And the 1st detection process part 50 is based on the information which showed the extracted 1st figure F1, and the detection method of the marker mentioned above from the captured image which the image acquisition part 42 acquired in step S110 shown in FIG. The first graphic F1 is detected (step S405). Since the process of detecting the first graphic F1 from the captured image in step S405 is similar to the process of detecting the first graphic F1 of the first graphic F1 and the second graphic F2 in step S320, the description thereof is omitted.

次に、第2検出処理部51は、ステップS405において検出された第1図形F1の図心F1Cを起点とした探索方向を、所定の方向を0°として反時計回りに0°から360°までの範囲内から選択し、選択した探索方向毎にステップS420〜ステップS430の処理を繰り返し行う(ステップS410)。所定の方向は、例えば、撮像画像の撮像に用いられた撮像素子のX軸における正の方向である。なお、所定の方向は、これに代えて、ランダムに決められた方向等の他の方向であってもよい。また、探索方向は、第1図形の図心を通る方向の一例である。   Next, the second detection processing unit 51 sets the search direction starting from the centroid F1C of the first graphic F1 detected in step S405 to 0 ° to 360 ° counterclockwise with the predetermined direction being 0 °. And the processes in steps S420 to S430 are repeated for each selected search direction (step S410). The predetermined direction is, for example, a positive direction on the X axis of the image sensor used for capturing the captured image. The predetermined direction may be another direction such as a randomly determined direction instead of this. The search direction is an example of a direction passing through the centroid of the first graphic.

より具体的には、第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 detection processing unit 51 selects 0 °, which is a predetermined direction, as the search direction, performs the processing of Steps S420 to S430, and then adds the predetermined angle AG to 0 °. The direction (0 ° + angle AG) is selected as the search direction in the processing of the next step S420 to step S430. Then, the second detection processing unit 51 performs the processing of steps S420 to S430 with (0 ° + angle AG) as the search direction, and then adds (0 ° + angle AG) to the predetermined angle AG. (0 ° + 2AG) is selected as the search direction in the processing of the next step S420 to step S430. By repeating this, the second detection processing unit 51 repeatedly performs the processing of step S420 to step S430 for each search direction selected within the range of 0 ° to 360 °. The predetermined angle is, for example, 0.1 °. The predetermined angle may be another angle instead of this.

ステップ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 detection processing unit 51 includes the data area from the centroid F1C of the first graphic F1 detected in step S405 toward the search direction selected in step S410. The four code figures are detected (step S420). More specifically, the second detection processing unit 51 performs four code figures included in the data area from the centroid F1C of the first figure F1 detected in step S405 toward the search direction selected in step S410. Detect candidates for. When four candidate graphics are detected in the search direction, the second detection processing unit 51 calculates the centroid of each of the four graphics. Then, when all the calculated centroids are located on a straight line from the centroid F1C of the first graphic F1 toward the search direction, the second detection processing unit 51 sets the four detected graphics as data areas. It specifies that it is four code figures contained.

次に、第2検出処理部51は、ステップS420においてマーカーMk1が有するデータ領域、すなわち当該データ領域に含まれる4つのコード図形の検出に成功したか否かを判定する(ステップS430)。4つのコード図形の検出に成功したと第2検出処理部51が判定した場合(ステップS430−Yes)、位置姿勢算出部52は、ステップS350に遷移し、マーカーMk1の位置及び姿勢を対象物Oのロボット座標系における位置及び姿勢として算出する。一方、4つのコード図形の検出に成功していない(失敗した)と判定した場合(ステップS430−No)、第2検出処理部51は、ステップS410に遷移し、未選択の探索方向から次の探索方向を選択する。   Next, the second detection processing unit 51 determines whether or not the data area included in the marker Mk1 in step S420, that is, the four code figures included in the data area has been successfully detected (step S430). When the second detection processing unit 51 determines that the four code figures have been successfully detected (step S430-Yes), the position / orientation calculation unit 52 transitions to step S350, and determines the position and orientation of the marker Mk1 as the object O. The position and orientation in the robot coordinate system are calculated. On the other hand, when it is determined that the four code figures have not been successfully detected (failed) (No at Step S430), the second detection processing unit 51 proceeds to Step S410, and the next search direction from the unselected search direction. Select the search direction.

図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 detection processing unit 51 changes the search direction counterclockwise from the direction of the arrow S1, and detects the code figure for each changed search direction. And the 2nd detection process part 51 can detect the said code figure, when the direction of arrow S2 is selected in step S410.

このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、第2図形を有さない場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれる1以上のコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。   As described above, the robot control device 30 includes the position and orientation of the marker and the data area included in the marker 1 even when the marker attached to the object O does not have the second graphic. The code indicated by the above code figure can be detected, and the same effect as in the embodiment can be obtained.

<実施形態の変形例2>
以下、本発明の実施形態の変形例2について、図面を参照して説明する。上記の実施形態で説明した対象物Oに貼付されているマーカーは、マーカーMk及びマーカーMk1に代えて、この一例において説明するマーカーMk2であってもよい。つまり、実施形態の変形例2では、ロボット制御装置30が、マーカーMk及びマーカーMk1に代えて、マーカーMk2を検出する。マーカーMk2は、マーカーMkが有するデータ領域に、4つのコード図形に代えて、以下で説明するコード図形FCを1つのみ含む構成のマーカーである。
<Modification 2 of Embodiment>
Hereinafter, Modification 2 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 Mk2 described in this example instead of the marker Mk and the marker Mk1. That is, in the second modification of the embodiment, the robot control device 30 detects the marker Mk2 instead of the marker Mk and the marker Mk1. The marker Mk2 is a marker having a configuration in which the data area of the marker Mk includes only one code graphic FC described below instead of four code graphics.

<実施形態の変形例2におけるマーカーの詳細>
図18は、実施形態の変形例2におけるマーカーの一例を示す図である。図18に示したように、マーカーMk2は、マーカーMkと異なり、データ領域W3にコード図形FCを1つのみ有している。すなわち、マーカーMk2は、データ領域W3に含まれるコード図形以外は、マーカーMkと同様の特徴を有する。コード図形FCは、マーカーMkが有するデータ領域に含まれる4つのコード図形と異なり、1つでコードを表す。
<Details of Marker in Modification 2 of Embodiment>
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 Modification 2 of Embodiment>
Hereinafter, the flow of marker detection processing in Modification 2 of the embodiment will be described. In the second modification of the embodiment, the image processing unit 44 performs the process of step S120b described below instead of the process of step S120 in the flowchart illustrated in FIG.

図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 image processing unit 44 in the second modification of the embodiment. In FIG. 19, the processing from step S300 to step S320, the processing from step S340 to step S350, and the processing from step S370 are the processing from step S300 to step S320 and the processing from step S340 to step S350 shown in FIG. Since this process is the same as the process in step S370, description thereof will be omitted.

ステップ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 detection processing unit 51 detects the data area of the marker Mk2 based on the first graphic F1 and the second graphic F2 ( Step S330b). Here, the process of step S330b will be described. The second detection processing unit 51 performs a process of detecting a graphic included between the first graphic F1 and the second graphic F2 as a code graphic FC candidate as a data area of the marker Mk2. In this process, the second detection processing unit 51 searches (detects) a fixed code from a graphic included between the first graphic F1 and the second graphic F2. Then, when a fixed code is detected from the graphic, the second detection processing unit 51 detects this graphic as a code graphic FC included in the data area of the marker Mk2. In addition, when the second detection processing unit 51 detects a fixed code, the model code of the fixed code is read from the storage unit 32 in advance, and the fixed code is detected by pattern matching using the read model graphic. The fixed code is detected by a known method.

ステップ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 code detection unit 53 uses the 12 fixed codes from the code figure FC detected in step S330b. The code represented by the code figure FC is detected by detecting the position and color of each of the remaining 12 cells excluding the cell (step S360b). Note that the code detection method in step S360b is the same as the conventionally known two-dimensional code detection method, and a description thereof will be omitted.

このように、ロボット制御装置30は、対象物Oに貼付されているマーカーが、マーカーMk2と同様の特徴を有するマーカーであった場合であっても、マーカーの位置及び姿勢と、マーカーが有するデータ領域に含まれるコード図形が示すコードとを検出することができ、実施形態と同様の効果を得ることができる。   As described above, the robot control device 30 determines the position and orientation of the marker and the data held by the marker even when the marker attached to the object O is a marker having the same characteristics as the marker Mk2. The code indicated by the code graphic included in the region can be detected, and the same effect as in the embodiment can be obtained.

なお、図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 detection processing unit 51. explained. In order to guarantee this premise, the first detection processing unit 50 has a size of one or both of the detected first graphic F1 and second graphic F2 in the process of step S320 of the flowchart shown in FIG. It may be configured to determine whether or not the size is greater than or equal to a predetermined size. When the first detection processing unit 50 determines that one or both of the detected first graphic F1 and second graphic F2 are not larger than a predetermined size, the image processing unit 44 determines whether the marker Mk2 Information indicating that the detection has failed is generated as a result of the marker detection process, and the process ends. On the other hand, when the first detection processing unit 50 determines that one or both of the detected first graphic F1 and second graphic F2 are equal to or larger than a predetermined size, the second detection processing unit 51 Then, the process of step S330b of the flowchart shown in FIG. 19 is executed.

<実施形態の変形例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 robot control device 30 detects the marker Mk3 instead of the marker Mk, the marker Mk1, and the marker Mk2. The marker Mk3 is a marker having a configuration in which the data area of the marker Mk1 includes only one code graphic FC described in the second modification of the embodiment instead of the four code graphics.

<実施形態の変形例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 image processing unit 44 performs the process of step S120c described below instead of the process of step S120 in the flowchart illustrated in FIG.

図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 image processing unit 44 in the third modification of the embodiment. In FIG. 21, the processing in step S310, the processing in steps S350 to S370, the processing in step S400, the processing in step S405, and the processing in step S430 are the processing in step S310 shown in FIG. Since the processing is the same as the processing in steps S350 to S370, the processing in step S400, the processing in step S405, and the processing in step S430, the description thereof is omitted.

ステップ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 detection processing unit 51 detects the data area of the marker Mk3 based on the first graphic F1 (step S420c). Here, the process of step S420c will be described. First, the second detection processing unit 51 searches for (detects) a part of the code graphic FC as a mark indicating the data area from around the first graphic F1 in order to detect the data area of the marker Mk3. Run. In this example, the mark is a part of the fixed code included in the code graphic FC. The mark may be the entire fixed code instead of a part of the fixed code, or may be a part of the code figure FC different from the fixed code.

データ領域を示す目印は、この一例において、コード図形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 detection processing unit 51 searches from around the first graphic F1 in step S420c. As shown in FIG. 22, the mark is 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 column in the region W5 shown in FIG. Is a part of the fixed code included in

また、第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 detection processing unit 51 is included in the expanded area when, for example, the area of the first graphic F1 detected in step S405 is expanded by a predetermined value. It is a range area. The predetermined value is, for example, about 4 times. The predetermined value is a value corresponding to the first graphic F1 detected from the captured image and may be any value that can detect a mark (a part of the fixed code described above) indicating the data area in this example. May be the value. When the second detection processing unit 51 detects the mark, the second detection processing unit 51 previously reads a part of the model figure of the fixed code serving as the mark from the storage unit 32 and performs pattern matching using the read model figure. The mark is detected by a conventionally known method such as detecting.

第2検出処理部51は、データ領域を示す目印を検出した後、第1図形F1の図心F1Cから当該目印に向かう方向における所定の探索範囲からコード図形FCが有する固定コードの全体を探索(検出)する処理を行う。そして、第2検出処理部51は、当該探索範囲から固定コードが検出された場合、検出された固定コードを含む図形をコード図形FCとして検出する。   After detecting the mark indicating the data area, the second detection processing unit 51 searches the entire fixed code of the code graphic FC from the predetermined search range in the direction from the centroid F1C of the first graphic F1 to the mark ( Detection). Then, when a fixed code is detected from the search range, the second detection processing unit 51 detects a graphic including the detected fixed code as a code graphic FC.

このように、ロボット制御装置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 robot controller 30 can detect the position and orientation of the marker and the data the marker has. The code indicated by the code graphic included in the region can be detected, and the same effect as in the embodiment can be obtained.

<実施形態の変形例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 robot control device 30 detects the marker Mk4 instead of the marker Mk, the marker Mk1, the marker Mk2, and the marker Mk3.

<実施形態の変形例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 robot control device 30 can detect and distinguish between the code graphic FC1 and the code graphic FC2 based on the fixed code. For example, the fixed code of the code graphic FC1 is a black cell in the first row and the first column, a white cell in the second row and the first column, and a black cell in the third row and the first column among the cells arranged in the third row and the third column. The fixed code which the code figure FC2 has is three cells, the black cell in the second row and the first column, the white cell in the second row and the second column, the second row and the third column among the cells arranged in the third row and the third column. The black cells are three cells. In addition, the position of the cell of the fixed code which each of the code figure FC1 and the code figure FC2 has may be another position instead of this. Further, the number of cells of the fixed code included in each of the code graphic FC1 and the code graphic FC2 may be other numbers instead. In FIG. 23, for simplification of the drawing, cells other than the fixed code (cells representing codes) in the code graphic FC1 and the code graphic FC2 are shown by hatching, and the colors of the cells are omitted.

<実施形態の変形例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 image processing unit 44 performs the process of step S120d described below instead of the process of step S120 in the flowchart illustrated in FIG.

図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 image processing unit 44 in the fourth modification of the embodiment. In FIG. 24, the processing in step S310, the processing in step S340, the processing in step S360b, the processing in step S370, and the processing in step S400 are the processing in step S310 and the processing in step S340 shown in FIG. The process is the same as the process, the process of step S360b, the process of step S370, and the process of step S400 shown in FIG.

ステップ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 detection processing unit 50 extracts information indicating the first graphic F1 associated with the marker ID indicating the marker Mk4 from the marker information. And the 1st detection process part 50 is the imaging which the image acquisition part 42 acquired in step S110 shown in FIG. 4 based on the information which shows the extracted 1st figure F1, and the detection method of the centroid marker mentioned above. The first figure F1 is detected from the image (step S320d).

ここで、ステップ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 detection processing unit 50 detects a centroid marker having a multiplicity of 3 or more from the captured image as the first graphic F1. The second detection processing unit 51 allows the positions of the centroids of the code graphic FC1 and the code graphic FC2 included in the data area to fall within a predetermined range together with the positions of the centroids of the four graphics constituting the first graphic F1. Therefore, the code graphic FC1 and the code graphic FC2 can be ignored when detecting the first graphic F1. Further, since the multiplicity of the centroids of the code graphic FC1 and the code graphic FC2 is 1, the first detection processing unit 50 does not erroneously detect the code graphic FC1 and the code graphic FC2 as the first graphic F1. .

次に、第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 detection processing unit 51 detects the data area included in the marker Mk4, that is, each of the code graphic FC1 and the code graphic FC2 included in the data area. (Step S330d). Here, the process of step S330d will be described. The second detection processing unit 51 searches the inside of the first graphic F1 detected in step S320d, and detects a fixed code included in the code graphic FC1. The second detection processing unit 51 searches for a code that is included in the code graphic FC1 from the centroid F1C of the first graphic F1 in the direction of the fixed code and is different from the fixed code. Detect the whole. Further, the second detection processing unit 51 searches the inside of the first graphic F1 detected in step S320d, and detects the fixed code included in the code graphic FC2. The second detection processing unit 51 searches for a code that is included in the code graphic FC2 from the centroid F1C of the first graphic F1 in the direction of the fixed code and is different from the fixed code. Detect the whole.

ステップ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 / orientation calculation unit 52 calculates the position and orientation of the marker Mk4 based on the centroid F1C of the first graphic F1 (step S350d). Here, the process of calculating the posture of the marker Mk4 in the process of step S350d will be described. In this example, the position / orientation calculation unit 52 sets the normal direction of the first figure F1 at the centroid F1C of the first figure F1 to the first figure F1 as the Z axis, and the code figure FC2 detected from the inside of the first figure F1 in step S330d. The direction toward the code graphic FC1 is the X axis, and the direction orthogonal to the Z axis and the X axis is the Y axis, so that the posture of the first graphic F1 is the posture of the marker Mk4 (in this example, the object O posture).

このように、ロボット制御装置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 robot control device 30 can detect the position and orientation of the marker and the data the marker has. The code indicated by the code graphic included in the region can be detected, and the same effect as in the embodiment can be obtained.

なお、この一例において、コード検出部53は、コード図形FC1とコード図形FC2それぞれにおいて対応するセルの面積を積分し、積分値をコードとして検出する構成等の他の構成であってもよい。   In this example, the code detection unit 53 may have other configurations such as a configuration in which the areas of the corresponding cells in the code graphic FC1 and the code graphic FC2 are integrated and the integrated value is detected as a code.

<実施形態及び実施形態の変形例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 detection processing unit 50 from the captured image, or each of the first graphic F1 and the second graphic F2 is distorted. In other words, the marker to be detected from the captured image may be distorted in the captured image.

例えば、マーカー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 detection processing unit 51 detects the data area of the marker Mk2, the second detection processing unit 51 corrects the captured image obtained by distorting the marker Mk2 by affine transformation into an image in which the marker Mk2 is not distorted. .

ここで、撮像画像中においてアフィン変換によって補正可能な程度に歪んでいるマーカー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 detection processing unit 51 uses the major axis MA1 and the short axis MA1 of the first graphic F1 that is distorted from a circular shape to an elliptical shape in the captured image. Each direction with the diameter MA2 is calculated as the main axis direction, and the ratio of the length between the major axis and the minor axis is calculated as the main axis ratio. Then, the first detection processing unit 50 calculates a normal direction N1 with respect to the first graphic F1 at the centroid F1C of the first graphic F1 based on the main axis direction, the main shaft ratio, and geometry.

法線方向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 detection processing unit 51 performs affine transformation based on the normal direction N1 so that the normal direction N1 matches the Z-axis direction of the three-dimensional coordinate system as shown in FIG. The first figure F1 in the picked-up image picked up with distortion is approximately matched with the model image of the first figure F1, which is information indicating the first figure F1 in this example described above. FIG. 26 is a diagram illustrating an example of the normal direction N1 of the undistorted marker Mk2. Thereby, the captured image is corrected to an image in which the marker Mk2 is not substantially distorted (not approximately distorted). As a result, the second detection processing unit 51 can accurately detect the data region from the corrected image.

しかし、マーカー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 detection processing unit 51 corrects the captured image to an image in which the marker Mk2 is not distorted by performing homography conversion (homography warp) on the captured image instead of affine transformation. To do.

この場合、第2検出処理部51は、前述したアフィン変換を行う場合と同様に、第1図形F1の図心F1Cにおける法線方向N1を算出する。また、第2検出処理部51は、図19に示したフローチャートにおけるステップS330bにおいて説明したように、コード図形FCの目印を検出し、コード図形FCの全体を検出する。また、第2検出処理部51は、ホモグラフィー変換の初期値を設定する。   In this case, the second detection processing unit 51 calculates the normal direction N1 at the centroid F1C of the first graphic F1 as in the case of performing the affine transformation described above. Further, as described in step S330b in the flowchart illustrated in FIG. 19, the second detection processing unit 51 detects the mark of the code graphic FC and detects the entire code graphic FC. The second detection processing unit 51 sets an initial value for homography conversion.

ホモグラフィー変換の初期値を設定した後、第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 detection processing unit 51 normalizes the captured image by performing bilinear interpolation processing on the captured image captured with the marker Mk2 being distorted. Based on the normalized captured image, the non-linear optimization method (ESM), and the model image of the first graphic F1, the second detection processing unit 51 includes a captured image obtained by distorting the marker Mk2. The coefficient of homography conversion that minimizes the matching error between the first figure F1 and the model image of the first figure F1, which is information indicating the first figure F1 in this example described above, is derived. Then, when the matching error is equal to or less than a predetermined error value, the second detection processing unit 51 determines that an undistorted marker Mk2 image has been obtained. If the matching error is not less than or equal to a predetermined error value, it is determined that an image of the undistorted marker Mk2 is not obtained, and the homography conversion coefficient that minimizes the matching error is derived from the bilinear interpolation process described above. Repeat the process up to.

このようなホモグラフィー変換により得られた画像であってマーカー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 code detection unit 53 can perform high accuracy based on the code figure FC included in the data area of the marker Mk2. Can detect the code.

マーカー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 detection processing unit 51 does not use affine transformation. A data area of the marker can be detected. FIG. 27 is a diagram illustrating an example of the marker Mk in the captured image in a case where the marker Mk is captured with a distortion that can be corrected by affine transformation.

図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 detection processing unit 51 distorts the marker Mk in the captured image to the extent that it can be corrected by affine transformation, the second detection processing unit 51 uses the method described in FIG. It can be determined whether or not the plurality of images included between the two figures F2 are each of the four code figures included in the data area of the marker Mk.

<実施形態の変形例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 detection processing unit 50 is distorted, that is, the marker to be detected from the captured image is distorted in the captured image. There may be.

例えば、マーカー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 detection processing unit 51 detects the data area of the marker Mk4, the second detection processing unit 51 corrects the captured image obtained by distorting the marker Mk4 by affine transformation into an image in which the marker Mk4 is not distorted. .

しかし、マーカー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 detection processing unit 51 performs radon conversion will be described. Note that the processing for the case where the affine transformation is performed on the captured image captured with the marker Mk4 distorted is the same processing as the processing for the case where the affine transformation is performed on the captured image captured with the marker Mk2 distorted. Therefore, the description is omitted.

第2検出処理部51は、アフィン変換によってマーカーMk4が近似的に歪んでいない画像が得られた後、当該画像と前述の第1図形F1のモデル画像とが一致している度合(類似度)を表すピークの検出を実行する。当該ピークが検出されない場合、第2検出処理部51は、マーカーMk4が歪んで撮像された撮像画像をマーカーMk4が歪んでいない画像へと補正することが困難であると判定し、歪みの補正の処理を終了する。この場合、第2検出処理部51は、マーカーMk4の検出に失敗したことを示す情報を生成する。   The second detection processing unit 51 obtains an image in which the marker Mk4 is not approximately distorted by affine transformation, and then the degree to which the image matches the model image of the first graphic F1 (similarity). Detection of a peak representing is performed. When the peak is not detected, the second detection processing unit 51 determines that it is difficult to correct the captured image captured with the marker Mk4 being distorted into an image without the marker Mk4 being distorted. End the process. In this case, the second detection processing unit 51 generates information indicating that the detection of the marker Mk4 has failed.

一方、当該ピークが検出された場合、第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 detection processing unit 51 performs radon conversion in a predetermined angle range with respect to the direction from the code graphic FC2 of the marker Mk4 toward the code graphic FC1 based on the peak. The angle and the size (scale) are corrected so that the peak which is the similarity between the image in which the marker Mk4 obtained by the affine transformation is not substantially distorted and the model image of the first graphic F1 is maximized. I do. Further, the second detection processing unit 51 performs radon conversion in a predetermined angle range with respect to a direction orthogonal to the direction from the code graphic FC2 of the marker Mk4 toward the code graphic FC1 based on the peak, and performs affine conversion. The angle and size (scale) are corrected so that the peak, which is the similarity between the obtained image in which the marker Mk4 is not approximately distorted and the model image of the first graphic F1, is maximized.

このようなラドン変換により得られた画像であってマーカー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 code detection unit 53 is based on the code graphic FC1 and the code graphic FC2 included in the data area of the marker Mk4. The code can be detected with high accuracy.

<コード図形が示すコードの誤り訂正について>
上記で説明した実施形態の変形例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 robot control device 30 of the robot 20 in the embodiment (or the image processing device separate from the robot control device 30) detects the first graphic (in this example, the first graphic F1), A data area is detected based on the centroid of the first graphic (in this example, the centroid F1C). Thereby, the robot control apparatus 30 can suppress the failure of marker detection due to an external factor with respect to the marker (for example, each of the marker Mk and the markers Mk1 to Mk4 in the present embodiment).

また、ロボット制御装置30は、第1図形の図心を通る方向(この一例において、探索方向)に基づいて、データ領域を検出する。これにより、ロボット制御装置30は、データ領域が表わす情報に基づく処理を行うことができる。   Further, the robot control device 30 detects the data area based on the direction passing through the centroid of the first graphic (in this example, the search direction). Thereby, the robot control apparatus 30 can perform processing based on information represented by the data area.

また、ロボット制御装置30は、第1図形の図心を中心として当該第1図形の図心を通る方向を変化させて、データ領域を検出する。これにより、ロボット制御装置30は、第1図形が当該第1図形の図心を通る方向を示していない場合であっても、データ領域を検出することができる。   Further, the robot control device 30 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 robot controller 30 can detect the data area even when the first graphic does not indicate the direction passing through the centroid of the first graphic.

また、ロボット制御装置30は、第1図形を検出した後、当該第1図形と比べて重なっている図心の数が少ない図形(この一例において、コード図形FD1〜コード図形FD16、コード図形FC、コード図形FC1、コード図形FC2)を有するデータ領域を検出する。これにより、ロボット制御装置30は、データ領域が有する図形を第1図形として誤検出してしまうことを抑制することができる。   In addition, after detecting the first graphic, the robot control device 30 has a figure with fewer centroids than the first graphic (in this example, the code graphic FD1 to the code graphic FD16, the code graphic FC, A data area having a code graphic FC1 and a code graphic FC2) is detected. Thereby, the robot control apparatus 30 can suppress erroneously detecting the graphic included in the data area as the first graphic.

また、ロボット制御装置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 robot controller 30 detects the centroid of the first graphic and the centroid of the second graphic (in this example, The data area is detected based on the centroid F2C). Thereby, the robot control apparatus 30 can detect a data area more reliably based on the direction passing through the centroid of the first graphic.

また、ロボット制御装置30は、第1図形の図心と、第2図形の図心とを結んだ方向に基づいて、データ領域を検出する。これにより、ロボット制御装置30は、第1図形の図心と、第2図形の図心とを結んだ方向に基づいて、より早くにデータ領域を検出することができる。   Also, the robot control device 30 detects the data area based on the direction connecting the centroid of the first graphic and the centroid of the second graphic. Thereby, the robot control apparatus 30 can detect a data area earlier based on the direction connecting the centroid of the first graphic and the centroid of the second graphic.

また、実施形態におけるマーカー(例えば、マーカー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 image processing unit 44 in the control unit 36 may be separate from the robot control device 30 as an image processing device. In this case, the robot 20, the robot control device 30, and the image processing device constitute a robot system. Further, in this case, the image processing apparatus outputs information based on the detected marker to another apparatus different from the robot control apparatus 30 and, for example, to the other apparatus such as AR (Augmented Reality). It may be configured to display information. The information based on the detected marker is, for example, information associated with the marker.

また、ロボット制御装置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 robot control device 30, other markers such as color markers, barcodes, QR codes (registered trademark) are provided as code figures. May be included.

また、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24とのうちの一部又は全部は、ロボット20と別体の撮像部であってもよい。この場合、ロボット20と、ロボット20と別体の撮像部と、ロボット制御装置30と、画像処理装置とは、ロボットシステムを構成する。   In addition, some or all of the first imaging unit 21, the second imaging unit 22, the third imaging unit 23, and the fourth imaging unit 24 may be separate imaging units from the robot 20. Good. In this case, the robot 20, the imaging unit separate from the robot 20, the robot control device 30, and the image processing device constitute a robot system.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。   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 robot control apparatus 30 of the robot 20 or an image processing apparatus separate from the robot control apparatus 30) is possible. The program may be recorded on a recording medium, and the program may be read into a computer system and executed. Here, the “computer system” includes hardware such as an OS (Operating System) and peripheral devices. The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD (Compact Disk) -ROM, or a storage device such as a hard disk built in the computer system. . Furthermore, “computer-readable recording medium” means a volatile memory (RAM) inside a computer system that becomes a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
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 SYMBOLS 20 ... Robot, 21 ... 1st imaging part, 22 ... 2nd imaging part, 23 ... 3rd imaging part, 24 ... 4th imaging part, 30 ... Robot control apparatus, 31 ... CPU, 32 ... Memory | storage part, 33 ... Input Reception unit 34 ... Communication unit 35 ... Display unit 36 ... Control unit 40 ... Imaging control unit 42 ... Image acquisition unit 44 ... Image processing unit 46 ... Robot control unit 50 ... First detection processing unit 51: second detection processing unit, 52: position and orientation calculation unit, 53: code detection unit

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ら前記第2点に向かう方向に基づいて、前記データ領域を検出する、
請求項に記載の画像処理装置。
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 .
請求項1または2に記載の画像処理装置を備える、
ロボット。
The image processing apparatus according to claim 1 or 2 , comprising:
robot.
第1点で図心が重なっている3つ以上の第1領域で構成される第1図形と、
第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.
JP2015204360A 2015-10-16 2015-10-16 Image processing apparatus, robot, and marker Active JP6561757B2 (en)

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)

* Cited by examiner, † Cited by third party
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
EP3744484B1 (en) 2018-01-23 2023-07-05 Sony Group Corporation 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)

* Cited by examiner, † Cited by third party
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

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
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
JP2012079294A (en) Image information processing apparatus and control method thereof
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
JP5093591B2 (en) 3D position and orientation measurement method and apparatus
JP6424432B2 (en) Control device, robot system, robot and robot control method
JP2019098409A (en) Robot system and calibration method
JP2018001333A (en) Calibration board, robot and detection method
JP2015182212A (en) Robot system, robot, control device, and control method
JP2015157343A (en) Robot, robot system, 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
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

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