JP2021066011A - Method and control system for verifying and updating calibration information for robot control - Google Patents

Method and control system for verifying and updating calibration information for robot control Download PDF

Info

Publication number
JP2021066011A
JP2021066011A JP2020194057A JP2020194057A JP2021066011A JP 2021066011 A JP2021066011 A JP 2021066011A JP 2020194057 A JP2020194057 A JP 2020194057A JP 2020194057 A JP2020194057 A JP 2020194057A JP 2021066011 A JP2021066011 A JP 2021066011A
Authority
JP
Japan
Prior art keywords
verification
robot
camera
group
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020194057A
Other languages
Japanese (ja)
Other versions
JP2021066011A5 (en
Inventor
イズラム,ラッセル
Islam Russell
ヨウ,シュタオ
Xutao Ye
ニコラエフ デアンコウ,ロセン
Nikolaev Diankov Rosen
ニコラエフ デアンコウ,ロセン
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.)
Mujin Inc
Original Assignee
Mujin Inc
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
Priority claimed from US16/864,071 external-priority patent/US10906184B2/en
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2021066011A publication Critical patent/JP2021066011A/en
Publication of JP2021066011A5 publication Critical patent/JP2021066011A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39008Fixed camera detects reference pattern held by end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39016Simultaneous calibration of manipulator and camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

To provide a computing system and a method for calibration verification.SOLUTION: The computing system is configured to perform a first calibration operation, and to control a robot arm to move a verification symbol to a reference location. The robot control system further receives, from a camera, a reference image of the verification symbol, and determines a reference image coordinate for the verification symbol. The robot control system further controls the robot arm to move the verification symbol to the reference location again during an idle period, receives an additional image of the verification symbol, and determines a verification image coordinate. The robot control system determines a deviation parameter value based on the reference image coordinate and the verification image coordinate, determines whether the deviation parameter value exceeds a defined threshold, and performs a second calibration operation if the threshold is exceeded.SELECTED DRAWING: Figure 12A

Description

関連出願の相互参照
本出願は、2020年1月2日出願の米国特許出願第16/732,832号、発明の名称「Method and Control System for Verifying and Updating Camera Calibration for Robot Control」の一部継続であり、これは、2019年7月29日出願の米国特許出願第16/525,004号、発明の名称「Method and Control System for Verifying and Updating Camera Calibration for Robot Control」の継続であり、これは、2019年3月29日出願の米国特許出願第16/369,630号、発明の名称「Method and Control System for Verifying and Updating Camera Calibration for Robot Control」の継続であり、その内容全体が、参照により本明細書に組み込まれる。本出願は、さらに、2019年10月18日出願の米国特許出願第62/916,798号、発明の名称「Method and Control System for Verifying Calibration for Robot Control」の利益を主張し、その内容全体がまた、参照により本明細書に組み込まれる。
Mutual reference to related applications This application is a continuation of US Patent Application No. 16 / 732,832 filed on January 2, 2020, the title of the invention "Method and Control System for Verification and Updating Camera Calibration for Robot Continuation". This is a continuation of US Patent Application No. 16 / 525,004 filed on July 29, 2019, the title of the invention "Method and Control System for Verification and Updating Camera Calibration for Robot Control". , US Patent Application No. 16 / 369,630 filed on March 29, 2019, the title of the invention "Method and Control System for Verification and Updating Camera Calibration for Robot Control", which is a continuation of the whole. Incorporated herein. This application further asserts the benefits of US Patent Application No. 62 / 916,798, filed October 18, 2019, the title of the invention, "Method and Control System for Verification for Robot Control," in its entirety. It is also incorporated herein by reference.

本発明は、ロボット制御のためのキャリブレーション情報を検証及び更新するための方法並びに制御システムに関する。 The present invention relates to a method and a control system for verifying and updating calibration information for robot control.

自動化がより一般的になるに従い、倉庫保管及び製造環境等、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫において物品をパレットに積むか若しくはパレットから降ろすために、又は、工場においてコンベヤベルトから物体を持ち上げるために使用される場合がある。ロボットの移動は、一定である場合があり、又は、倉庫若しくは工場においてカメラによって撮影される画像等の入力に基づく場合がある。後者の状況では、カメラの特性を判断するために、かつ、カメラとロボットが位置する環境との間の関係を判断するために、キャリブレーション操作が実行されてもよい。キャリブレーション操作は、ロボットを制御するために使用されるキャリブレーション情報を生成することができる。いくつかの実施態様では、キャリブレーション操作は、人による手動操作を必要とする場合があり、人は、ロボットの動作を手動で制御するか、又は、カメラを手動で制御して、ロボットの画像を取り込むことができる。 As automation becomes more common, robots are used in more environments, such as warehousing and manufacturing environments. For example, robots may be used in warehouses to load or unload goods from pallets, or in factories to lift objects from conveyor belts. The movement of the robot may be constant, or it may be based on the input of images taken by a camera in a warehouse or factory. In the latter situation, a calibration operation may be performed to determine the characteristics of the camera and to determine the relationship between the camera and the environment in which the robot is located. The calibration operation can generate calibration information used to control the robot. In some embodiments, the calibration operation may require manual operation by a person, who either manually controls the movement of the robot or manually controls the camera to image the robot. Can be captured.

本明細書における実施形態の一態様は、カメラキャリブレーション又は他のシステムキャリブレーションを検証すること等のロボット制御のためのキャリブレーション検証を実行することに関する。キャリブレーション検証は、通信インターフェース及び制御回路を備えるロボット制御システムによって実行することができる。通信インターフェースは、ベースと、その上に検証記号(verification symbol)が配置されるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成することができる。ロボット制御システムの制御回路は、a)第1のキャリブレーション操作を実行して(例えば、第1のカメラキャリブレーション)、キャリブレーション情報(例えば、カメラキャリブレーション情報)を判断することと、b)通信インターフェースに第1の動作コマンドを出力することであって、通信インターフェースは、第1のキャリブレーション操作中又は後に、ロボットアームが検証記号をカメラ視野内の箇所に動作させるように、ロボットに第1の動作コマンドを通信するように構成され、その箇所が第1のキャリブレーション操作を検証するための1つ以上の参照箇所のうちの参照箇所である、第1の動作コマンドを出力することと、c)通信インターフェースを介して、カメラから検証記号の画像を受信することであって、カメラは参照箇所において検証記号の画像を取り込むように構成され、画像は検証のための参照画像である、検証記号の画像を受信することと、d)検証記号のための参照画像座標を判断することであって、参照画像座標は参照画像内に検証記号が現れる座標である、参照画像座標を判断することと、e)通信インターフェースに、キャリブレーション情報に基づく第2の動作コマンドを出力することであって、通信インターフェースは、ロボットアームを動かし、ロボット操作を実行させるように、ロボットに第2の動作コマンドを通信するように構成される、第2の動作コマンドを出力することと、によって、キャリブレーション検証を実行するように構成することができる。 One aspect of the embodiments herein relates to performing calibration verification for robot control, such as verifying camera calibration or other system calibration. Calibration verification can be performed by a robotic control system with a communication interface and control circuitry. The communication interface can be configured to communicate with a robot having a base and a robot arm on which a verification symbol is placed and to communicate with a camera having a camera field of view. The control circuit of the robot control system a) executes the first calibration operation (for example, the first camera calibration) to determine the calibration information (for example, the camera calibration information), and b). The first operation command is output to the communication interface, and the communication interface causes the robot to operate the verification symbol at a position in the camera field of view during or after the first calibration operation. To output the first operation command, which is configured to communicate one operation command, which is the reference part of one or more reference points for verifying the first calibration operation. , C) Receiving an image of the verification symbol from the camera via a communication interface, the camera being configured to capture the image of the verification symbol at a reference location, the image being a reference image for verification. Receiving the image of the verification symbol and d) determining the reference image coordinates for the verification symbol, the reference image coordinates are the coordinates at which the verification symbol appears in the reference image, the reference image coordinates are determined. That and e) to output a second operation command based on the calibration information to the communication interface, the communication interface causes the robot to perform the second operation so as to move the robot arm and execute the robot operation. By outputting a second operation command, which is configured to communicate commands, it can be configured to perform calibration verification.

一実施形態において、制御回路は、f)ロボット操作中に休止期間を検出することと、g)通信インターフェースに第3の動作コマンドを出力することであって、通信インターフェースは、休止期間中にロボットアームが検証記号を少なくとも参照箇所に動かすように、ロボットに第3の動作コマンドを通信するように構成される、第3の動作コマンドを出力することと、h)通信インターフェースを介して、カメラから検証記号の追加画像を受信することであって、カメラは休止期間中に少なくとも参照箇所において検証記号の追加画像を取り込むように構成され、追加画像は検証のための検証画像である、検証記号の追加画像を受信することと、i)検証のために使用される検証画像座標を判断することであって、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座標を判断することと、j)参照画像座標と検証画像座標との間の偏差量に基づいて、偏差パラメーター値を判断することであって、参照画像座標及び検証画像座標は両方とも参照箇所と関連付けられ、偏差パラメーター値は、通信インターフェースが通信するように構成されるカメラの第1のキャリブレーション操作以降の変化、又は通信インターフェースが通信するように構成されるカメラとロボットとの間の関係の第1のキャリブレーション操作以降の変化を示す、偏差パラメーター値を判断することと、k)偏差パラメーター値が規定された閾値を超過するかどうかを判断することと、l)偏差パラメーター値が規定された閾値を超過するという判断に応答して、第2のキャリブレーション操作(例えば、第2のカメラキャリブレーション操作)を実行し、更新されたキャリブレーション情報(例えば、更新されたカメラキャリブレーション情報)を判断することと、によって、キャリブレーション検証をさらに実行するように構成される。 In one embodiment, the control circuit f) detects a pause period during robot operation and g) outputs a third operation command to the communication interface, the communication interface being the robot during the pause period. Outputting a third action command, configured to communicate a third action command to the robot so that the arm moves the verification symbol to at least the reference point, and h) from the camera via the communication interface. Receiving an additional image of the verification symbol, the camera is configured to capture the additional image of the verification symbol at least at the reference point during the pause, and the additional image is the verification image for verification, of the verification symbol. Receiving an additional image and i) determining the verification image coordinates used for verification, the verification image coordinates are the coordinates at which the verification symbol appears in the verification image, the verification image coordinates are determined. And j) the deviation parameter value is determined based on the amount of deviation between the reference image coordinates and the verification image coordinates, and both the reference image coordinates and the verification image coordinates are associated with the reference points and the deviations. The parameter value is the change since the first calibration operation of the camera configured to communicate with the communication interface, or the first calibration of the relationship between the camera and the robot configured to communicate with the communication interface. Judging the deviation parameter value, which indicates the change after the command operation, k) determining whether the deviation parameter value exceeds the specified threshold, and l) determining whether the deviation parameter value exceeds the specified threshold. In response to the decision to do, perform a second calibration operation (eg, a second camera calibration operation) to determine updated calibration information (eg, updated camera calibration information). And are configured to perform further calibration verification.

本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み込まれるとともに本明細書の一部をなす添付の図面はさらに、本発明の原理を説明するとともに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮尺ではない。 The above-mentioned features, objectives, and advantages of the present invention, as well as other features, objectives, and advantages, will be apparent from the following description of embodiments of the invention as shown in the accompanying drawings. The accompanying drawings incorporated herein and in part of the specification further illustrate the principles of the invention and serve to enable those skilled in the art to practice and use the invention. The drawings are not at a constant scale.

本明細書の実施形態による、キャリブレーション情報の検証が実行されるシステムのブロック図を図示する。The block diagram of the system in which the verification of the calibration information is executed according to the embodiment of this specification is illustrated. 本明細書の実施形態による、キャリブレーション情報の検証が実行されるシステムのブロック図を図示する。The block diagram of the system in which the verification of the calibration information is executed according to the embodiment of this specification is illustrated. 本明細書の一実施形態による、キャリブレーションの検証を実行するように構成されるロボット制御システムのブロック図を図示する。FIG. 6 illustrates a block diagram of a robot control system configured to perform calibration verification according to an embodiment of the present specification. 本明細書の一実施形態による、カメラキャリブレーションが実行されるカメラのブロック図を図示する。A block diagram of a camera on which camera calibration is performed according to an embodiment of the present specification is shown. 本明細書の一実施形態による、キャリブレーション操作から得られるキャリブレーション情報に基づいて、制御されているロボットを例示するシステムを図示する。A system illustrating a controlled robot based on calibration information obtained from a calibration operation according to an embodiment of the present specification is illustrated. 本明細書の一実施形態による、キャリブレーション操作を実行するためのシステムを図示する。A system for performing a calibration operation according to an embodiment of the present specification is illustrated. 本明細書の一実施形態による、キャリブレーション情報の検証を実行するための方法を例示するフロー図を提供する。Provided is a flow chart illustrating a method for performing verification of calibration information according to one embodiment of the present specification. 本明細書の一実施形態による、キャリブレーション情報の検証を実行するための方法を例示するフロー図を提供する。Provided is a flow chart illustrating a method for performing verification of calibration information according to one embodiment of the present specification. 本明細書の一実施形態による、検証記号がロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号が使用されるシステムを例示する。Illustrates a system in which a verification symbol is placed on a robot and the verification symbol is used to perform verification of calibration information according to one embodiment of the present specification. 本明細書の一実施形態による、検証記号がロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号が使用されるシステムを例示する。Illustrates a system in which a verification symbol is placed on a robot and the verification symbol is used to perform verification of calibration information according to one embodiment of the present specification. 本明細書の一実施形態による、例示的な検証記号を図示する。Illustrative verification symbols according to one embodiment of the present specification are illustrated. 本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の実施例を図示する。An embodiment of a reference point in which each image of the verification symbol is captured according to one embodiment of the present specification is illustrated. 本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の実施例を図示する。An embodiment of a reference point in which each image of the verification symbol is captured according to one embodiment of the present specification is illustrated. 本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の実施例を図示する。An embodiment of a reference point in which each image of the verification symbol is captured according to one embodiment of the present specification is illustrated. 本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の実施例を図示する。An embodiment of a reference point in which each image of the verification symbol is captured according to one embodiment of the present specification is illustrated. 本明細書の一実施形態による、参照画像座標を判断する一実施例を図示する。An embodiment for determining the reference image coordinates according to the embodiment of the present specification is illustrated. 本明細書の一実施形態による、検証画像座標を判断する一例を図示する。An example of determining the verification image coordinates according to the embodiment of the present specification is illustrated. 本明細書の一実施形態による、キャリブレーション情報の検証のための例示的なタイムラインを例示する。An exemplary timeline for verifying calibration information according to one embodiment of the specification is illustrated. 本明細書の一実施形態による、キャリブレーション情報の検証を実行するための例示的な方法を例示するフロー図を提供する。A flow diagram illustrating an exemplary method for performing verification of calibration information according to one embodiment of the present specification is provided. 本明細書の一実施形態による、検証記号のグループがロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号のグループが使用されるシステムを例示する。Illustrates a system according to an embodiment of the present specification in which a group of verification symbols is placed on a robot and the group of verification symbols is used to perform verification of calibration information. 本明細書の一実施形態による、検証記号のグループがロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号のグループが使用されるシステムを例示する。Illustrates a system according to an embodiment of the present specification in which a group of verification symbols is placed on a robot and the group of verification symbols is used to perform verification of calibration information. 本明細書の一実施形態による、検証記号のグループがロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号のグループが使用されるシステムを例示する。Illustrates a system according to an embodiment of the present specification in which a group of verification symbols is placed on a robot and the group of verification symbols is used to perform verification of calibration information. 本明細書の一実施形態による、検証記号のグループがロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号のグループが使用されるシステムを例示する。Illustrates a system according to an embodiment of the present specification in which a group of verification symbols is placed on a robot and the group of verification symbols is used to perform verification of calibration information. 本明細書の一実施形態による、検証記号のグループがロボット上に配置され、キャリブレーション情報の検証を実行するために検証記号のグループが使用されるシステムを例示する。Illustrates a system according to an embodiment of the present specification in which a group of verification symbols is placed on a robot and the group of verification symbols is used to perform verification of calibration information. 本明細書の一実施形態による、異なるそれぞれのサイズを有する検証記号のグループを例示する。Illustrates a group of verification symbols having different sizes according to one embodiment of the present specification. 本明細書の一実施形態による、キャリブレーション情報の検証を実行するための方法を例示するフロー図を提供する。Provided is a flow chart illustrating a method for performing verification of calibration information according to one embodiment of the present specification. 本明細書の一実施形態による、キャリブレーション情報の検証を実行するための方法を例示するフロー図を提供する。Provided is a flow chart illustrating a method for performing verification of calibration information according to one embodiment of the present specification. それぞれ、ロボットアームの第1のポーズと関連付けられる、参照画像及び検証画像を例示する。A reference image and a verification image associated with the first pose of the robot arm are illustrated, respectively. それぞれ、ロボットアームの第1のポーズと関連付けられる、参照画像及び検証画像を例示する。A reference image and a verification image associated with the first pose of the robot arm are illustrated, respectively. それぞれ、ロボットアームの第2のポーズと関連付けられた参照画像及び検証画像を例示する。The reference image and the verification image associated with the second pose of the robot arm are illustrated, respectively. それぞれ、ロボットアームの第2のポーズと関連付けられた参照画像及び検証画像を例示する。The reference image and the verification image associated with the second pose of the robot arm are illustrated, respectively.

以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論によっても限定する意図はない。 The following detailed description is merely exemplary in nature and is not intended to limit the use and use of the present invention or the present invention. Moreover, it is not intended to be limited by any explicit or implied theory presented in the technical fields, background arts, outlines of the invention or detailed description below.

本明細書に記載する実施形態は、倉庫、製造工場において、又は他の何らかの環境において使用されるロボット等、ロボットを制御するために使用されるキャリブレーション情報を検証及び/又は更新することに関する。より具体的には、キャリブレーション情報は、ロボット操作システムの制御を容易にするために実行されてもよく、システムキャリブレーションと呼ばれる場合があるキャリブレーション操作を実行することによって判断することができる。システムキャリブレーションは、カメラのキャリブレーション(カメラキャリブレーション若しくはカメラキャリブレーション操作と呼ばれる場合がある)、ロボットのキャリブレーション(ロボットキャリブレーションと呼ばれる場合がある)、ロボット操作システムの別の要素のキャリブレーション、又はそれらの任意の組み合わせを含むことができる。システムキャリブレーションは、例えば、ロボット制御システム(又は、ロボットコントローラーとも呼ばれる)によって実行されて、カメラによって取り込まれる(例えば、撮影される)画像に基づいて、ロボットを制御するロボット制御システムの能力を促進するキャリブレーション情報(例えば、カメラキャリブレーション情報)を生成することができる。例えば、ロボットは、倉庫において包装品を持ち上げるために使用される場合があり、そこでは、ロボットのロボットアーム又は他の構成要素の配置は、カメラによって取り込まれる包装品の画像に基づくことができる。その場合、キャリブレーション情報が、カメラキャリブレーション情報を含むと、カメラキャリブレーション情報は、例えば、ロボットのロボットアームに対する包装品の箇所及び向きを判断するために、包装品の画像とともに使用することができる。システムキャリブレーションが、カメラキャリブレーションを含む場合、カメラキャリブレーションは、カメラの固有パラメーター(内部パラメーターと呼ばれる場合もある)のそれぞれの推定値を判断することと、カメラとその外部環境との間の関係の推定値を判断することと、を含むことができる。カメラの固有パラメーターは、行列、ベクトル又はスカラー値等の1つ以上のパラメーター値を有することができる。さらに、固有パラメーターの例は、射影行列及びひずみパラメーターを含む。一例において、カメラキャリブレーションは、外部環境内の或る定位置(fixed position)に対するカメラの位置を特定することを含むことができ、それは、カメラと外部環境内の定位置との間の関係を表す変換関数(transformation function)として表すことができる。場合によっては、カメラキャリブレーションは、キャリブレーションパターンの助けを借りて実行することができ、キャリブレーションパターンは、キャリブレーションパターン上の規定された位置に配置されるパターン要素を有することができる。カメラはキャリブレーションパターンのパターン要素の画像(キャリブレーション画像とも呼ばれる)を取り込むことができ、カメラキャリブレーションは、パターン要素の画像をパターン要素の規定された位置と比較することに基づいて実行することができる。カメラキャリブレーションは、2019年3月7日出願の米国特許出願第16/295,940号(整理番号MJ0021US1)、発明の名称「METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL」においてより詳細に論じられており、その内容全体が参照により本明細書に組み込まれる。 The embodiments described herein relate to verifying and / or updating calibration information used to control a robot, such as a robot used in a warehouse, manufacturing plant, or in any other environment. More specifically, the calibration information may be performed to facilitate control of the robot operating system and can be determined by performing a calibration operation, sometimes referred to as system calibration. System calibration is camera calibration (sometimes called camera calibration or camera calibration operation), robot calibration (sometimes called robot calibration), calibration of another element of the robot operation system. , Or any combination thereof. System calibration is performed, for example, by a robot control system (also called a robot controller) to facilitate the ability of a robot control system to control a robot based on images captured (eg, taken) by a camera. Calibration information to be performed (for example, camera calibration information) can be generated. For example, a robot may be used to lift a package in a warehouse, where the placement of the robot's robot arm or other component can be based on an image of the package captured by the camera. In that case, if the calibration information includes the camera calibration information, the camera calibration information may be used together with the image of the package, for example, to determine the location and orientation of the package with respect to the robot arm of the robot. it can. If the system calibration includes a camera calibration, the camera calibration determines each estimate of the camera's unique parameters (sometimes called internal parameters) and between the camera and its external environment. It can include determining the estimated value of the relationship. The camera's unique parameters can have one or more parameter values such as matrix, vector or scalar values. In addition, examples of unique parameters include projection matrix and strain parameters. In one example, camera calibration can include identifying the position of the camera with respect to a fixed position in the external environment, which is the relationship between the camera and the fixed position in the external environment. It can be expressed as a transformation function (transformation function). In some cases, camera calibration can be performed with the help of a calibration pattern, which can have pattern elements that are placed at defined positions on the calibration pattern. The camera can capture an image of the pattern element of the calibration pattern (also called the calibration image), and camera calibration is performed based on comparing the image of the pattern element with the defined position of the pattern element. Can be done. Camera calibration is described in detail in U.S. Patent Application No. 16 / 295,940 (reference number MJ0021US1) filed on March 7, 2019, in the title of the invention "METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL". And the entire contents are incorporated herein by reference.

上記で言及されたように、本開示の一態様は、早期の時点において実行されたカメラキャリブレーション又は他のキャリブレーション操作が、後の時点において依然として正確であることを検証することに関する。早期の時点において実行されるカメラキャリブレーションは、カメラの固有パラメーター、又はその時点におけるカメラとその外部環境との間の関係等の、その時点のカメラの特性を反映するカメラキャリブレーション情報を生成することができる。場合によっては、カメラの特性が経時的に変化する場合があるため、早期のカメラキャリブレーションは経時的に精度を維持できなくなる場合がある。第1の例において、カメラの固有パラメーターが経時的に変化する場合がある。そのような変化は、例えば、温度変化によって引き起こされる場合があり、温度変化が、カメラのハウジング及び/又はレンズの形状を変更する。第2の例において、カメラとその外部環境との間の関係が経時的に変化する場合がある。例えば、カメラが、例えば、ロボットのベース、又は倉庫内の位置に対して位置又は向きを変える場合がある。そのような変化は、例えば、カメラを搭載するために使用される任意の構成要素を膨張若しくは収縮させる温度変化、カメラに衝突する人若しくは他の物体、カメラの外部環境(例えば、倉庫)内の振動、カメラの自らの重量に起因する力(すなわち、重力によって)、又は何らかの他の要因によって引き起こされる場合がある。これらの変化によって、カメラキャリブレーション情報又は他のキャリブレーション情報が古くなる場合があり、このカメラキャリブレーション情報又は他のキャリブレーション情報を使用して、後の時点においてロボットアーム又はロボットの他の構成要素を位置決めする結果として、誤差が生じる恐れがある。言い換えると、カメラに関連付けられる特性が経時的に変化しているが、そのような変化を反映するようにカメラキャリブレーション情報が更新されない場合には、ロボットは、古くなったか、又は別の事情で不正確なカメラキャリブレーション情報に基づいて動作する場合があり、それにより、ロボットの動作に望ましくない誤差を引き起こす恐れがある。カメラの1つ以上の特性に変化が生じ得る可能性に対処するために、ロボット制御システムが、カメラキャリブレーションからのカメラキャリブレーション情報が、もはや十分に正確ではないとき(又は、より一般的に、キャリブレーション操作からのキャリブレーション情報が、もはや十分に正確ではないとき)を検出する、検証を自動的に実行することができる。そのような条件を検出することにより、カメラの特性における変化、又はロボット操作システムのいくつかの他の要素に関する指標を提供し得る。その検証が、キャリブレーション情報がもはや十分に正確でないことを検出する場合、ロボット制御システムは、キャリブレーション操作を実行して、カメラ又はロボット操作システムの別の要素のより最新の単数又は複数の特性を反映することができる、更新されたキャリブレーション情報を判断することができる。更新されたキャリブレーション情報を使用して、ロボットアームの配置、又はロボットの動作の何らかの他の態様を制御することができる。したがって、キャリブレーション情報の自動検証及び/又はキャリブレーション情報の更新を実行して、カメラ又はロボット操作システムの任意の他の要素と関連付けられる1つ以上の特性についての正確な情報に基づいて、ロボットが動作することを確実にする。 As mentioned above, one aspect of the disclosure relates to verifying that camera calibration or other calibration operations performed at an early point in time are still accurate at a later point in time. Camera calibration performed at an early point in time produces camera calibration information that reflects the characteristics of the camera at that time, such as the camera's unique parameters or the relationship between the camera and its external environment at that time. be able to. In some cases, the characteristics of the camera may change over time, so early camera calibration may not be able to maintain accuracy over time. In the first example, the camera's unique parameters may change over time. Such changes can be caused, for example, by temperature changes, which change the shape of the camera housing and / or lens. In the second example, the relationship between the camera and its external environment may change over time. For example, the camera may change position or orientation with respect to, for example, the base of the robot, or a position in the warehouse. Such changes include, for example, temperature changes that expand or contract any component used to mount the camera, a person or other object that collides with the camera, or within the external environment of the camera (eg, a warehouse). It can be caused by vibrations, forces due to the camera's own weight (ie, by gravity), or some other factor. These changes may cause the camera calibration information or other calibration information to become out of date, and this camera calibration information or other calibration information may be used to later configure the robot arm or other robots. As a result of positioning the element, errors can occur. In other words, if the characteristics associated with the camera change over time, but the camera calibration information is not updated to reflect such changes, then the robot is out of date or for some other reason. It may operate based on inaccurate camera calibration information, which can cause unwanted errors in the robot's operation. To address the possibility of changes in one or more characteristics of the camera, the robot control system is when the camera calibration information from the camera calibration is no longer accurate enough (or more generally). , When the calibration information from the calibration operation is no longer accurate enough), the verification can be performed automatically. By detecting such conditions, it may provide an indicator of changes in the characteristics of the camera, or some other element of the robotic operating system. If the verification detects that the calibration information is no longer accurate enough, the robot control system performs a calibration operation to perform a more up-to-date singular or multiple characteristics of the camera or another element of the robotic operating system. It is possible to determine the updated calibration information that can reflect the above. The updated calibration information can be used to control the placement of the robot arm, or any other aspect of the robot's movements. Therefore, the robot performs automatic validation of calibration information and / or updates of calibration information based on accurate information about one or more characteristics associated with any other element of the camera or robotic operating system. Make sure that works.

本明細書の実施形態の一態様は、カメラによって取り込まれた参照画像とカメラによって取り込まれた検証画像とを比較することによって、カメラに関するキャリブレーション情報を検証することに関する。場合によっては、参照画像は、物体が早期の時点において特定の位置にあるときに取り込まれた物体の画像とすることができ、検証画像は、同じ位置において後の時点において取り込まれたその物体の画像とすることができる。検証は、偏差が或る特定の閾値を超過するか否か等の、参照画像と検証画像との間の偏差が大きすぎるか否かを判断することができる。いくつかの実施態様において、物体は検証記号とすることができる。より具体的には、ロボットアーム又はロボットの他の構成要素が、キャリブレーション情報を検証するために使用される検証記号を有することができる。参照画像及び検証画像はいずれも、検証記号を取り込むか、又は別の方法で含むことができ、ロボット制御システムは、参照画像内の検証記号の外観を検証画像内の検証記号の外観と比較することによって2つの画像を比較することができる。例えば、ロボット制御システムが、特定の時点においてキャリブレーション情報を生成するキャリブレーション操作を実行した後に、ロボット制御システムは、検証記号をカメラの視野(カメラのカメラ視野とも呼ばれる)内の1組の所定の箇所まで動かすように、ロボットアームを(例えば、動作コマンドを介して)制御することができ、これらの箇所は、検証のための1組の参照箇所として使用することができる。カメラは、1組の参照箇所において、検証記号のそれぞれの参照画像を取り込むことができる。場合によっては、参照画像は、キャリブレーション操作が実行された直後に取り込むことができる。ロボットアームの動作、又はより具体的には、ロボットアームを動作させるために使用される動作コマンドは、実行されたばかりのキャリブレーション操作からのキャリブレーション情報に基づくことができるか、又はキャリブレーション情報から独立していることができる。場合によっては、参照画像は、ロボットがロボット操作(robot operation)を開始する前に取り込むことができる。参照画像が取り込まれた後に、ロボットは、作業を実行するためにロボット操作を開始する準備ができたと見なすことができ、ロボット制御システムは、例えば、カメラによって次に取り込まれる画像に基づいて、ロボットアームの位置決めを制御することができる。 One aspect of an embodiment of the present specification relates to verifying calibration information about a camera by comparing a reference image captured by the camera with a verification image captured by the camera. In some cases, the reference image can be an image of an object captured when the object is in a particular position at an early point in time, and a verification image can be an image of the object captured at a later point in time at the same position. It can be an image. The verification can determine whether the deviation between the reference image and the verification image is too large, such as whether the deviation exceeds a certain threshold. In some embodiments, the object can be a verification symbol. More specifically, the robot arm or other component of the robot can have a verification symbol used to verify the calibration information. Both the reference image and the verification image can be captured or otherwise included, and the robot control system compares the appearance of the verification symbol in the reference image with the appearance of the verification symbol in the verification image. This allows the two images to be compared. For example, after the robot control system performs a calibration operation that generates calibration information at a particular point in time, the robot control system puts a verification symbol on a set of predetermined within the camera's field of view (also called the camera's camera field of view). The robot arm can be controlled (eg, via an action command) to move to, and these can be used as a set of reference points for verification. The camera can capture each reference image of the verification symbol at a set of reference points. In some cases, the reference image can be captured immediately after the calibration operation is performed. The operation of the robot arm, or more specifically, the operation command used to operate the robot arm, can be based on the calibration information from the calibration operation just performed, or from the calibration information. Can be independent. In some cases, the reference image can be captured before the robot initiates robot operation. After the reference image has been captured, the robot can be considered ready to initiate robotic operations to perform the task, and the robot control system will use, for example, the robot based on the image next captured by the camera. The positioning of the arm can be controlled.

上記で言及されたように、参照画像は、次に取り込まれる検証画像と比較することができる。一実施形態において、検証画像は、ロボット制御システムによって検出される1つ以上の休止期間中に取り込むことができる。より具体的には、ロボット操作が開始すると、ロボットはロボット作業(robot task)を実行し始めることができる(例えば、荷物又は他の物体との相互作用による)。ロボットがロボット操作を実行しているとき、ロボット制御システムは、ロボットに関する1つ以上の休止期間を検出することができる。場合によっては、休止期間は、ロボット操作中にロボットがロボット作業を実行していない期間とすることができる。場合によっては、ロボット制御システムは、ロボットが相互作用する必要がある物体を検出するか、又は別の方法で予測するのに基づいて、ロボット操作をスケジューリングすることができ、ロボットが相互作用する必要がある物体が存在しないことを検出するか、又は別の方法で予測するのに基づいて、休止期間を検出することができる。 As mentioned above, the reference image can be compared to the next captured verification image. In one embodiment, the verification image can be captured during one or more pauses detected by the robot control system. More specifically, once the robot operation has begun, the robot can begin performing robot tasks (eg, by interacting with luggage or other objects). When the robot is performing a robot operation, the robot control system can detect one or more pauses with respect to the robot. In some cases, the pause period can be a period during which the robot is not performing robot work during robot operation. In some cases, the robot control system can schedule robot operations based on detecting or otherwise predicting objects that the robot needs to interact with, and the robots need to interact. The rest period can be detected based on detecting the absence of an object or otherwise predicting it.

休止期間(複数の場合もある)中に、ロボット制御システムは、ロボットアーム又はロボットの他の構成要素を(例えば、動作コマンドを介して)参照箇所まで動かし、各参照箇所において、それぞれの検証画像を(例えば、カメラコマンドを介して)取り込むように制御することができる。ロボットが、その上に配置される検証記号を有する場合、ロボット制御システムは、より具体的には、検証記号を参照箇所まで動かし、検証画像を取り込むようにロボットアームを制御することができる。その後、ロボット制御システムは、それぞれの参照箇所においてそれぞれの検証画像が対応する参照画像からどれだけ外れるかを判断することができる。場合によっては、検証画像とそれぞれの参照画像との間の偏差は、偏差パラメーターとして表すことができる。偏差パラメーターの値(偏差パラメーター値とも呼ばれる)が偏差パラメーターに関して規定された閾値(規定された偏差閾値と呼ばれる場合もある)を超過する場合には、ロボット制御システムは、さらなるキャリブレーション操作(例えば、さらなるカメラキャリブレーション)をさらに実行して、カメラに関する更新されたキャリブレーション情報(例えば、更新されたカメラキャリブレーション情報)を判断することができる。偏差パラメーターの値が規定された偏差閾値を超過するとき、この条件は、以前に生成されたキャリブレーション情報を使用すると、結果としてロボット操作に望ましくない量の誤差をもたらす恐れがあることを示し得る。したがって、場合によっては、さらなるキャリブレーション操作が実行される間、ロボット操作は中断又は停止される場合がある(中断は、別の休止期間と見なされてもよい)。さらなるキャリブレーション操作が完了した後に、新たな1組の参照画像を取り込むことができ、更新されたキャリブレーション情報を用いてロボット操作を継続することができる。後続の休止期間(複数の場合もある)中に、新たな1組の検証画像を取り込むことができ、ロボット制御システムは、新たな1組の参照画像を新たな1組の検証画像と比較することによって、さらなるキャリブレーション操作の検証を実行することができる。 During the rest period (s), the robot control system moves the robot arm or other components of the robot to reference points (eg, via motion commands), at each reference point, the respective verification image. Can be controlled to be captured (eg, via a camera command). If the robot has a verification symbol placed on it, the robot control system can, more specifically, move the verification symbol to a reference point and control the robot arm to capture the verification image. The robot control system can then determine how much each verification image deviates from the corresponding reference image at each reference location. In some cases, the deviation between the verification image and each reference image can be expressed as a deviation parameter. If the value of the deviation parameter (also called the deviation parameter value) exceeds a defined threshold for the deviation parameter (sometimes referred to as the defined deviation threshold), the robotic control system will perform additional calibration operations (eg, referred to as the defined deviation threshold). Further camera calibration) can be performed to determine updated calibration information about the camera (eg, updated camera calibration information). When the value of the deviation parameter exceeds the specified deviation threshold, this condition can indicate that the use of previously generated calibration information can result in an undesired amount of error in robot operation. .. Therefore, in some cases, the robot operation may be interrupted or stopped while the further calibration operation is being performed (the interruption may be considered as another pause period). After the further calibration operation is completed, a new set of reference images can be captured and the robot operation can be continued using the updated calibration information. During the subsequent pause period (s), a new set of verification images can be captured and the robot control system compares the new set of reference images with the new set of verification images. This allows further verification of the calibration operation to be performed.

上記で言及されたように、偏差パラメーターの値が規定された偏差閾値を超過する場合、ロボット制御システムは、さらなるキャリブレーション操作を実行することができる。偏差パラメーターの値が偏差閾値を超過しない場合には、ロボット制御システムがさらなるキャリブレーション操作を実行することなく、休止期間後にロボット操作を継続することができる。このシナリオにおいて、カメラは、後続の休止期間(複数の場合もある)中にそれぞれの参照箇所において新たな1組の検証画像を取り込むことができる。新たな1組の検証画像が取り込まれると、ロボット制御システムは、それぞれの参照箇所において新たな1組の検証画像がそれぞれの参照画像からどれだけ外れるかを判断することによって、キャリブレーション情報の検証を再び実行することができる。 As mentioned above, if the value of the deviation parameter exceeds the defined deviation threshold, the robot control system can perform additional calibration operations. If the value of the deviation parameter does not exceed the deviation threshold, the robot operation can continue after the pause period without the robot control system performing further calibration operations. In this scenario, the camera can capture a new set of verification images at each reference point during subsequent pauses (s). When a new set of verification images is captured, the robot control system verifies the calibration information by determining how much the new set of verification images deviates from each reference image at each reference location. Can be executed again.

上記で言及されたように、ロボットアームは、その上に配置される、リングパターン等の検証記号を有することができ、検証記号は、参照画像及び検証画像によって取り込まれる場合があるか、又は別の方法でそれらの画像内に含まれる場合がある。一実施形態において、ロボット制御システムは、参照画像内に検証記号が現れるそれぞれの位置に基づいて、かつ検証画像内に検証記号が現れるそれぞれの位置に基づいて、参照画像とそれぞれの検証画像との間の偏差を特定することができる。例えば、ロボット制御システムは、参照箇所ごとに参照画像座標を特定することができる。特定の箇所に関する参照画像座標は、検証記号がその参照箇所に配置されたときに取り込まれた参照画像内に検証記号が現れる座標とすることができる。より具体的には、参照画像座標は特定の参照箇所に関連付けることができ、その参照箇所に検証記号が配置されたときにカメラによって取り込まれた参照画像内に検証記号が現れる画像座標を指すことができる。上記の例において、画像座標は、ピクセル座標等の、画像内の座標を指す場合がある。ロボット制御システムが、その後の時点において、特定の参照箇所に検証記号を続いて配置し、対応する検証画像を取得すると、ロボット制御システムは、検証画像座標を判断することができる。また、検証画像座標も参照箇所に関連付けることができ、検証記号が参照箇所に配置されたときにカメラによって取り込まれた検証画像内に検証記号が現れる画像座標(例えば、ピクセル座標)を指すことができる。ロボット制御システムは、特定の参照箇所に関連付けられる参照画像座標を、同じ参照箇所に関連付けられる検証画像座標と比較することができる。この比較は、検証画像及び参照画像が取り込まれた参照箇所ごとに行うことができる。 As mentioned above, the robot arm can have a verification symbol, such as a ring pattern, placed on it, which may or may not be captured by the reference and verification images. May be included in those images in the manner of. In one embodiment, the robot control system includes the reference image and the respective verification images based on the respective positions where the verification symbols appear in the reference image and based on the respective positions where the verification symbols appear in the verification image. The deviation between can be specified. For example, the robot control system can specify the reference image coordinates for each reference point. The reference image coordinates for a specific location can be the coordinates at which the verification symbol appears in the captured reference image when the verification symbol is placed at that reference location. More specifically, the reference image coordinates can be associated with a particular reference location and refer to the image coordinates where the verification symbol appears in the reference image captured by the camera when the verification symbol is placed at that reference location. Can be done. In the above example, the image coordinates may refer to coordinates in the image, such as pixel coordinates. When the robot control system subsequently places verification symbols at specific reference points and acquires the corresponding verification image, the robot control system can determine the verification image coordinates. In addition, the verification image coordinates can also be associated with the reference location, and can refer to the image coordinates (for example, pixel coordinates) in which the verification symbol appears in the verification image captured by the camera when the verification symbol is placed at the reference location. it can. The robot control system can compare the reference image coordinates associated with a particular reference point with the verification image coordinates associated with the same reference point. This comparison can be performed for each reference location in which the verification image and the reference image are captured.

一例において、参照画像内に検証記号が現れる参照画像座標は、参照画像内の検証記号の中心の座標とすることができる(参照画像内の検証記号の中心座標とも呼ばれる)。同様に、検証画像内に検証記号が現れる検証画像座標は、検証画像内の検証記号の中心の座標とすることができる(検証画像内の検証記号の中心座標とも呼ばれる)。対応する検証画像が取り込まれたときにロボットアーム及び/又は検証記号が位置した参照箇所ごとに、ロボット制御システムは、参照箇所に関連付けられる参照画像座標と、同じ参照箇所に関連付けられる検証画像座標との間の偏差を特定することができる。ロボットアーム及び/又は検証記号が複数の参照箇所に配置されてきた場合には、ロボット制御システムは、複数の参照箇所に関して、それぞれの参照画像座標とそれぞれの検証画像座標との間のそれぞれの偏差量を特定することができる。ロボット制御システムはさらに、参照箇所ごとの参照画像座標とそれぞれの検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラメーターの値を特定することができる。 In one example, the reference image coordinates in which the verification symbol appears in the reference image can be the coordinates of the center of the verification symbol in the reference image (also referred to as the center coordinates of the verification symbol in the reference image). Similarly, the verification image coordinates in which the verification symbol appears in the verification image can be the coordinates of the center of the verification symbol in the verification image (also referred to as the center coordinates of the verification symbol in the verification image). For each reference point where the robot arm and / or the verification symbol was located when the corresponding verification image was captured, the robot control system has the reference image coordinates associated with the reference point and the verification image coordinates associated with the same reference point. The deviation between can be identified. If the robot arm and / or the verification symbol has been placed at multiple reference points, the robot control system will use the respective deviations between each reference image coordinate and each verification image coordinate for the multiple reference points. The amount can be specified. The robot control system can further specify the value of the deviation parameter based on the amount of deviation between the reference image coordinates for each reference point and the verification image coordinates for each reference location.

一例において、検証記号内の複数の形状のそれぞれの中心が同じ、又は実質的に同じ位置にあるように、検証記号は互いに同心である複数の形状を含むことができる。例えば、検証記号は、2つ以上の同心円を含むリングパターンとすることができる。場合によっては、検証記号の参照画像座標が参照画像内の検証記号の中心座標である場合には、ロボット制御システムは、参照画像内の複数の形状のそれぞれの中心座標に基づいて、検証記号の中心座標を特定することができ、特定の形状の中心座標は、その形状の中心の座標である。検証記号がリングパターンである場合には、参照画像内のリングパターンを形成する第1の円の中心座標と、リングパターンを形成する第2の円の中心座標との平均として、参照画像内のリングパターンの中心座標を特定することができる。同様に、検証画像内の検証記号の中心座標は、検証画像内の検証記号を形成する複数の形状のそれぞれの中心座標に基づいて特定することができる。場合によっては、複数の形状を用いて、検証記号を形成することにより、検証の精度を改善することができる。例えば、1つの画像内の複数の形状のそれぞれの中心座標を用いて、検証記号の中心座標を特定することにより、画像ノイズに対する検証のロバストネスを改善することができる。より具体的には、検証記号の画像が画像ノイズを含む場合には、画像ノイズによって、ロボット制御システムが検証記号の特定の形状の中心座標を検出する精度が低下する場合がある。しかしながら、その形状の中心座標が別の形状の中心座標と平均され、検証記号の中心座標が特定される場合には、平均した中心座標は、画像ノイズの影響を低減することができる。結果として、検証記号の中心座標を特定する際の精度を改善することができる。 In one example, the verification symbol can include multiple shapes that are concentric with each other so that the centers of the plurality of shapes within the verification symbol are at the same or substantially the same position. For example, the verification symbol can be a ring pattern containing two or more concentric circles. In some cases, if the reference image coordinates of the verification symbol are the center coordinates of the verification symbol in the reference image, the robot control system will use the verification symbol's center coordinates based on the center coordinates of each of the multiple shapes in the reference image. The center coordinates can be specified, and the center coordinates of a specific shape are the coordinates of the center of the shape. When the verification symbol is a ring pattern, the center coordinates of the first circle forming the ring pattern in the reference image and the center coordinates of the second circle forming the ring pattern are averaged in the reference image. The center coordinates of the ring pattern can be specified. Similarly, the center coordinates of the verification symbol in the verification image can be specified based on the center coordinates of each of the plurality of shapes forming the verification symbol in the verification image. In some cases, the accuracy of verification can be improved by forming a verification symbol using a plurality of shapes. For example, the robustness of verification against image noise can be improved by specifying the center coordinates of the verification symbol by using the center coordinates of each of the plurality of shapes in one image. More specifically, when the image of the verification symbol contains image noise, the image noise may reduce the accuracy with which the robot control system detects the center coordinates of a specific shape of the verification symbol. However, when the center coordinates of the shape are averaged with the center coordinates of another shape and the center coordinates of the verification symbol are specified, the averaged center coordinates can reduce the influence of image noise. As a result, the accuracy in specifying the center coordinates of the verification symbol can be improved.

一例において、検証記号はそれぞれ色が異なる複数の領域を有することができ、複数の領域のそれぞれの面積が、識別できる規定された比を有することができる。例えば、検証記号は、第1の色(例えば、黒)を有する第1の領域と、第2の色(例えば、白)を有する第2の領域とを有することができ、第1の領域の面積と第2の領域の面積との比が規定されるか、又は別の方法で既知である。識別できる比は、画像がキャリブレーションパターンのドット等の他の特徴を取り込むか、又は別の方法で含む場合には特に、画像内の検証記号を識別するのを容易にすることができる。例えば、検証記号を動かしているロボットアームが、ロボットアーム上に配置されるキャリブレーションパターンを有する場合もある。ロボット制御システムは、その比を用いて、検証記号と、キャリブレーションパターンのドットとを区別することができる。より具体的には、検証記号の複数の領域の面積の比が識別できる比として規定されるので、ロボット制御システムは、規定された比に基づいて、画像内の検証記号を識別することができる。画像内に現れる検証記号の識別中に、ロボット制御システムは、規定された比に基づいて、検証記号と、キャリブレーションパターン又は他の特徴とを区別することができる。場合によっては、検証記号は、それぞれ異なる色の複数の領域を有し、複数の領域のそれぞれの面積間に規定された比を有する画像の部分として、その画像内で識別することができる。ロボット制御システム又は他のシステム若しくはデバイスが、画像の特定の部分が、それぞれ色が異なる複数の領域を有しないと判断する場合には、又は複数の領域のそれぞれの面積が規定された比とは異なる比を有すると判断する場合には、ロボット制御システムは、画像の部分が検証記号でないと判断することができる。 In one example, the verification symbol can have a plurality of regions, each of which is different in color, and each area of the plurality of regions can have a identifiable defined ratio. For example, the verification symbol can have a first region having a first color (eg, black) and a second region having a second color (eg, white) of the first region. The ratio of the area to the area of the second region is defined or otherwise known. The identifiable ratio can facilitate the identification of verification symbols in the image, especially if the image incorporates other features such as dots of the calibration pattern or is otherwise included. For example, the robot arm moving the verification symbol may have a calibration pattern placed on the robot arm. The robot control system can use the ratio to distinguish between the verification symbol and the dots in the calibration pattern. More specifically, since the ratio of the areas of the plurality of regions of the verification symbol is defined as an identifiable ratio, the robot control system can identify the verification symbol in the image based on the defined ratio. .. During the identification of the verification symbols appearing in the image, the robot control system can distinguish between the verification symbols and the calibration pattern or other features based on the defined ratio. In some cases, the verification symbol can be identified within the image as a portion of the image that has a plurality of regions of different colors and has a defined ratio between the areas of the plurality of regions. If the robotic control system or other system or device determines that a particular part of the image does not have multiple areas of different colors, or what is the specified ratio of each area of the multiple areas? If it determines that it has a different ratio, the robot control system can determine that the portion of the image is not a verification symbol.

一例において、ロボット制御システムは、ロボットの周囲の温度に基づいて、検証を実行することができる。例えば、ロボット制御システムは、温度に基づいて、規定された偏差閾値を調整する(すなわち、偏差閾値に関する新たな値を規定する)ことができる。例えば、或る材料が温度の影響を受けやすい場合があり、及び/又は温度に応じて膨張/収縮する場合があるので、温度はカメラ内、及び/又はロボット内の種々の部品に影響を及ぼす場合がある。温度の変化によって、カメラの固有パラメーター(複数の場合もある)が変化する場合があり、及び/又はカメラとその外部環境との間の関係が変化する場合がある。一実施形態において、偏差閾値は、温度が規定範囲外にあるときに第1の値を有するように設定することができ、一方、偏差閾値は、温度が規定範囲内にあるときに、第1の値より低い第2の値を有するように設定することができる。例えば、温度が規定された正常動作温度範囲内(例えば、室温の10度以内に)あるとき、偏差閾値は、第1の値とすることができる。温度が正常動作温度範囲外にあるとき、偏差閾値は、第1の値より低い第2の値を有することができる。正常動作温度範囲外の温度では、カメラに、又はカメラと外部環境との関係に変化が生じる可能性が高くなる場合があり、それゆえ、以前に生成されたカメラキャリブレーション情報又は任意の他のキャリブレーション情報でロボットを動作させる際に誤差が生じる可能性が高くなる場合があるので、温度が正常動作範囲外にあるときに、さらなるキャリブレーション操作をより容易にトリガーするために、第2の値は第1の値より低くすることができる。 In one example, the robot control system can perform verification based on the temperature around the robot. For example, a robot control system can adjust a defined deviation threshold (ie, define a new value for the deviation threshold) based on temperature. For example, temperature affects various parts in the camera and / or in the robot, as some materials may be sensitive to temperature and / or may expand / contract in response to temperature. In some cases. Changes in temperature may change the camera's unique parameters (s) and / or the relationship between the camera and its external environment. In one embodiment, the deviation threshold can be set to have a first value when the temperature is outside the specified range, while the deviation threshold is the first when the temperature is within the specified range. It can be set to have a second value lower than the value of. For example, when the temperature is within a defined normal operating temperature range (eg, within 10 degrees of room temperature), the deviation threshold can be a first value. When the temperature is outside the normal operating temperature range, the deviation threshold can have a second value lower than the first value. Temperatures outside the normal operating temperature range may increase the likelihood of changes in the camera, or in the relationship between the camera and the external environment, and therefore previously generated camera calibration information or any other. A second method is to more easily trigger further calibration operations when the temperature is outside the normal operating range, as the calibration information can increase the likelihood of errors in operating the robot. The value can be lower than the first value.

一実施形態において、キャリブレーション情報の検証は、単一の参照箇所にのみ頼る場合がある。代替的に、キャリブレーション情報の検証は、複数の参照箇所に頼ることができる。参照箇所は、カメラ視野内の任意の位置とすることができるか、又は特定の規定された位置とすることができる。例えば、参照箇所は、カメラに対して凹形である少なくとも1つの仮想球の表面上の位置として規定することができる。このシナリオにおける各参照箇所において、検証記号が、カメラに面するときに少なくとも1つの仮想球の表面に対して接線方向に位置決めされるように、検証記号を位置決めするようにロボットアームを制御することができる。この位置決めによれば、検証記号をカメラによって真正面から、より良好に撮影できるか、又は別の方法で取り込めるようになる場合がある(検証記号がカメラに直接対向する)ので、検証記号の画像が、検証記号の斜視図ではなく、平面図に近くなる。例えば、検証記号がリングパターンである場合には、リングパターンを仮想球の表面に対して接線方向に位置決めすることによって、結果として生じるリングパターン画像が、楕円形に見えるのではなく、依然として円形に見えるようにすることができる。結果として生じる画像は、(リングパターンが画像内で楕円形に見えるシナリオに対して)少ない射影ひずみを示す場合があるか、又は全く射影ひずみを示さない場合がある。射影ひずみがないことは、リングパターンの中心座標の正確な特定を助長することができる。場合によっては、参照箇所は、カメラに対して全て凹形である複数の仮想球の中に分割することができる。複数の仮想球は共通の中心を共有することができ、異なるサイズとすることができ、それにより、各仮想球は、カメラからそれぞれ異なる距離を有する球面を有する。場合によっては、カメラは、全ての仮想球のための共通の中心とすることができる。 In one embodiment, the verification of calibration information may rely on only a single reference point. Alternatively, the verification of calibration information can rely on multiple references. The reference location can be any position within the field of view of the camera, or it can be a specific defined position. For example, the reference point can be defined as a position on the surface of at least one virtual sphere that is concave with respect to the camera. At each reference point in this scenario, control the robot arm to position the verification symbol so that it is tangentially positioned with respect to the surface of at least one virtual sphere when facing the camera. Can be done. This positioning allows the verification symbol to be better captured from the front by the camera, or can be captured in another way (the verification symbol directly faces the camera), so that the image of the verification symbol is , It is closer to the plan view, not the perspective view of the verification symbol. For example, if the verification symbol is a ring pattern, positioning the ring pattern tangentially to the surface of the virtual sphere will result in the resulting ring pattern image being still circular rather than appearing elliptical. Can be made visible. The resulting image may show less projection distortion (for scenarios where the ring pattern appears elliptical in the image) or may show no projection distortion at all. The absence of projection distortion can facilitate the accurate identification of the center coordinates of the ring pattern. In some cases, the reference can be divided into a plurality of virtual spheres that are all concave with respect to the camera. Multiple virtual spheres can share a common center and can be of different sizes, so that each virtual sphere has a sphere with a different distance from the camera. In some cases, the camera can be a common center for all virtual spheres.

図1Aは、自動カメラキャリブレーション及びカメラキャリブレーションの自動検証を実行するためのロボット操作システム100(システム100とも呼ばれる)のブロック図を例示する。以下の実施例のいくつかは、自動カメラキャリブレーションを実行することと、自動カメラキャリブレーションから判断されるカメラキャリブレーション情報を検証することと、を論じているが、これらの実施例は、より一般的には、任意のタイプの自動キャリブレーション操作、及び自動キャリブレーション操作から判断された任意のタイプのキャリブレーション情報を検証することに適用され得る。ロボット運用システム100は、ロボット150と、ロボット制御システム110(ロボットコントローラーとも呼ばれる)と、カメラ170とを含む。一実施形態において、システム100は倉庫内に、製造工場内に、又は他の施設内に位置することができる。ロボット制御システム110は、後にさらに詳細に論じられるカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定するように構成することができ、カメラキャリブレーション情報は、倉庫内で荷物を持ち上げる等のロボット操作を実行するようにロボット150を制御するために後に使用される。ロボット制御システム110は、同じく後にさらに詳細に論じられるカメラキャリブレーション検証を実行し、カメラキャリブレーション情報が依然として十分に正確であるか否かを検証するようにさらに構成することができる。場合によっては、ロボット制御システム110は、カメラキャリブレーションを実行し、カメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロボット150を制御するように構成される。場合によっては、ロボット制御システム110は、ロボット150及びカメラ170と通信する単一のデバイス(例えば、単一のコンソール又は単一のコンピューター)を形成することができる。場合によっては、ロボット制御システム110は複数のデバイスを含むことができる。 FIG. 1A illustrates a block diagram of a robot operating system 100 (also referred to as system 100) for performing automatic camera calibration and automatic verification of camera calibration. Some of the examples below discuss performing automatic camera calibration and verifying camera calibration information as determined from automatic camera calibration, but these examples are more In general, it can be applied to any type of auto-calibration operation and to verify any type of calibration information determined from the auto-calibration operation. The robot operation system 100 includes a robot 150, a robot control system 110 (also referred to as a robot controller), and a camera 170. In one embodiment, the system 100 can be located in a warehouse, in a manufacturing plant, or in another facility. The robot control system 110 can be configured to perform camera calibration, which will be discussed in more detail later, to identify camera calibration information, which can be used for robotic operations such as lifting luggage in a warehouse. Will be used later to control the robot 150 to perform. The robot control system 110 can be further configured to perform camera calibration verification, which is also discussed in more detail later, to verify that the camera calibration information is still sufficiently accurate. In some cases, the robot control system 110 is configured to perform camera calibration and control the robot 150 to perform robot operations based on camera calibration information. In some cases, the robot control system 110 can form a single device (eg, a single console or a single computer) that communicates with the robot 150 and the camera 170. In some cases, the robot control system 110 may include a plurality of devices.

場合によっては、ロボット制御システム110は、カメラキャリブレーション及び/又はカメラキャリブレーションの検証を実行する専用システムとすることができ、最新のカメラキャリブレーション情報を別の制御システム(別のコントローラーとも呼ばれる、図示せず)に通信することができ、その後、別の制御システムが、最新のカメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロボット150を制御する。ロボット150は、カメラ170によって取り込まれた画像に基づいて、かつカメラキャリブレーション情報に基づいて位置決めすることができる。より具体的には、ロボット制御システム110は、一実施形態において、画像に基づいて、かつカメラキャリブレーション情報に基づいて、動作コマンドを生成し、動作コマンドをロボット150に通信し、そのロボットアームの動作を制御するように構成することができる。場合によっては、ロボット制御システム110は、ロボット操作時の休止期間中にカメラキャリブレーションの検証を実行するように構成される。場合によっては、ロボット制御システム110は、ロボット150でロボット操作を実行している間に検証を実行するように構成される。 In some cases, the robot control system 110 can be a dedicated system that performs camera calibration and / or verification of camera calibration, with the latest camera calibration information in another control system (also called another controller). Can communicate (not shown), after which another control system controls the robot 150 to perform robot operations based on the latest camera calibration information. The robot 150 can be positioned based on the image captured by the camera 170 and based on the camera calibration information. More specifically, in one embodiment, the robot control system 110 generates an operation command based on an image and based on camera calibration information, communicates the operation command to the robot 150, and transmits the operation command to the robot arm. It can be configured to control operation. In some cases, the robot control system 110 is configured to perform camera calibration verification during a pause during robot operation. In some cases, the robot control system 110 is configured to perform verification while performing robot operations on the robot 150.

一実施形態において、ロボット制御システム110は、有線通信又はワイヤレス通信を介して、ロボット150及びカメラ170と通信するように構成することができる。例えば、ロボット制御システム110は、RS−232インターフェース、ユニバーサルシリアルバス(USB)インターフェース、イーサネット(登録商標)インターフェース、Bluetooth(登録商標)インターフェース、IEEE802.11インターフェース又はそれらの任意の組み合わせを介して、ロボット150及び/又はカメラ170と通信するように構成することができる。一実施形態において、ロボット制御システム110は、ペリフェラルコンポーネントインターコネクト(PCI)バス等のローカルコンピューターバスを介して、ロボット150及び/又はカメラ170と通信するように構成することができる。 In one embodiment, the robot control system 110 can be configured to communicate with the robot 150 and the camera 170 via wired or wireless communication. For example, the robot control system 110 is a robot via an RS-232 interface, a universal serial bus (USB) interface, an Ethernet® interface, a Bluetooth® interface, an IEEE802.11 interface, or any combination thereof. It can be configured to communicate with the 150 and / or the camera 170. In one embodiment, the robot control system 110 can be configured to communicate with the robot 150 and / or the camera 170 via a local computer bus such as a peripheral component interconnect (PCI) bus.

一実施形態において、ロボット制御システム110は、ロボット150とは別に存在することができ、上記で論じられたワイヤレス接続又は有線接続を介して、ロボットと通信することができる。例えば、ロボット制御システム110は、有線接続又はワイヤレス接続を介してロボット150及びカメラ170と通信するように構成されるスタンドアローンコンピューターとすることができる。一実施形態において、ロボット制御システム110は、ロボット150と一体の構成要素とすることができ、上記で論じられたローカルコンピューターバスを介して、ロボット150の他の構成要素と通信することができる。場合によっては、ロボット制御システム110は、ロボット150のみを制御する専用制御システム(専用コントローラーとも呼ばれる)とすることができる。他の場合には、ロボット制御システム110は、ロボット150を含む、複数のロボットを制御するように構成することができる。一実施形態において、ロボット制御システム110、ロボット150及びカメラ170は同じ施設(例えば、倉庫)内に位置する。一実施形態において、ロボット制御システム110は、ロボット150及びカメラ170から遠隔とすることができ、ネットワーク通信(例えば、ローカルエリアネットワーク(LAN)接続)を介して、ロボット150及びカメラ170と通信するように構成することができる。 In one embodiment, the robot control system 110 can exist separately from the robot 150 and can communicate with the robot via the wireless or wired connections discussed above. For example, the robot control system 110 can be a stand-alone computer configured to communicate with the robot 150 and the camera 170 via a wired or wireless connection. In one embodiment, the robot control system 110 can be an integral component of the robot 150 and can communicate with other components of the robot 150 via the local computer bus discussed above. In some cases, the robot control system 110 can be a dedicated control system (also referred to as a dedicated controller) that controls only the robot 150. In other cases, the robot control system 110 can be configured to control a plurality of robots, including the robot 150. In one embodiment, the robot control system 110, the robot 150 and the camera 170 are located in the same facility (eg, warehouse). In one embodiment, the robot control system 110 can be remote from the robot 150 and the camera 170 and communicates with the robot 150 and the camera 170 via network communication (eg, a local area network (LAN) connection). Can be configured in.

一実施形態において、ロボット制御システム110は、カメラ170から、ロボット150上(例えば、ロボットのロボットアーム上)に配置されるキャリブレーションパターン160及び/又は検証記号165の画像を読み出す(retrieve)か、又は別の方法で受信するように構成することができる。場合によっては、ロボット制御システム110は、そのような画像を取り込むように、カメラ170を制御するように構成することができる。例えば、ロボット制御システム110は、カメラ170にカメラ170の視野(カメラ視野とも呼ばれる)の画像を取り込ませるカメラコマンドを生成し、有線接続又はワイヤレス接続を介して、カメラコマンドをカメラ170に通信するように構成することができる。同じコマンドによって、カメラ170に、ロボット制御システム110、又はより一般的には、ロボット制御システム110によってアクセス可能な記憶デバイスに画像を通信させることもできる。代替的には、ロボット制御システム110は、カメラコマンドを受信すると、カメラ170が取り込んだ画像(複数の場合もある)をロボット制御システム110に通信する別のカメラコマンドを生成することができる。一実施形態において、カメラ170は、ロボット制御システム110からのカメラコマンドを必要とすることなく、定期的に、又は規定されたトリガー条件に応答して、自らのカメラ視野内の画像を自動的に取り込むことができる。そのような実施形態において、カメラ170は、ロボット制御システム110からのカメラコマンドを用いることなく、ロボット制御システム110に、又はより一般的にはロボット制御システム110によってアクセス可能な記憶デバイスに画像を自動的に通信するように構成することもできる。 In one embodiment, the robot control system 110 reads (retrieve) an image of the calibration pattern 160 and / or the verification symbol 165 placed on the robot 150 (eg, on the robot arm of the robot) from the camera 170. Alternatively, it can be configured to receive in another way. In some cases, the robot control system 110 can be configured to control the camera 170 to capture such images. For example, the robot control system 110 generates a camera command that causes the camera 170 to capture an image of the camera 170's field of view (also called the camera field of view), and communicates the camera command to the camera 170 via a wired or wireless connection. Can be configured in. The same command can also cause the camera 170 to communicate an image to the robot control system 110, or more generally, a storage device accessible by the robot control system 110. Alternatively, upon receiving the camera command, the robot control system 110 can generate another camera command that communicates the image (s) captured by the camera 170 to the robot control system 110. In one embodiment, the camera 170 automatically captures images in its camera field of view on a regular basis or in response to defined trigger conditions without the need for camera commands from the robot control system 110. Can be captured. In such an embodiment, the camera 170 automatically transmits an image to the robot control system 110, or more generally to a storage device accessible by the robot control system 110, without using camera commands from the robot control system 110. It can also be configured to communicate in a targeted manner.

一実施形態において、ロボット制御システム110は、ロボット制御システム110によって生成され、有線接続又はワイヤレス接続を介してロボット150に通信される動作コマンドを介して、ロボット150の動作を制御するように構成することができる。ロボット150は、ロボット150上にキャリブレーションパターン160及び検証記号165の一方又は両方を有するように構成することができる。例えば、図1Bは、図1Aのキャリブレーションパターン160が存在しない場合の、ロボット150上に検証記号165が配置されるロボット操作システム100Aを図示する。一例において、検証記号165は、ロボット150の一部とすることができ、ロボット150上に永久に配置することができる。例えば、検証記号165は、ロボット150上に永久に塗布することができるか、又はロボット150に永久に取り付けられるステッカー又はボードの一部とすることができる。別の例において、検証記号165は、ロボット150に着脱可能である別の構成要素とすることができる。検証記号165は、ロボット150上に永久に配置することができるか、又はロボット150に着脱可能である別の構成要素とすることができる。 In one embodiment, the robot control system 110 is configured to control the operation of the robot 150 via motion commands generated by the robot control system 110 and communicated to the robot 150 via a wired or wireless connection. be able to. The robot 150 can be configured to have one or both of the calibration pattern 160 and the verification symbol 165 on the robot 150. For example, FIG. 1B illustrates a robot operation system 100A in which the verification symbol 165 is arranged on the robot 150 in the absence of the calibration pattern 160 of FIG. 1A. In one example, the verification symbol 165 can be part of the robot 150 and can be permanently placed on the robot 150. For example, the verification symbol 165 can be permanently applied onto the robot 150 or can be part of a sticker or board that is permanently attached to the robot 150. In another example, the verification symbol 165 can be another component that is removable from the robot 150. The verification symbol 165 can be permanently placed on the robot 150 or can be another component that is removable from the robot 150.

一実施形態において、ロボット150を制御するためにシステム100において使用される唯一の画像が、カメラ170によって取り込まれた画像である場合がある。別の実施形態において、システム100は、複数のカメラを含むことができ、ロボット150は、複数のカメラからの画像によって制御することができる。 In one embodiment, the only image used in the system 100 to control the robot 150 may be the image captured by the camera 170. In another embodiment, the system 100 can include multiple cameras and the robot 150 can be controlled by images from the plurality of cameras.

図1Bは、ロボット制御システム110がユーザーインターフェースデバイス180と通信する実施形態をさらに例示する。ユーザーインターフェースデバイス180は、ロボット150が位置する倉庫にいる従業員等の、ロボット150の運用者とのインターフェースを構成することができる。ユーザーインターフェースデバイス180は、ロボット150の運用に関連する情報を表示するユーザーインターフェースを提供する、例えば、タブレットコンピューター又はデスクトップコンピューターを含むことができる。上記で言及されたように、ロボット制御システム110は、偏差パラメーター値が規定された偏差閾値を超過する時点を検出するように構成することができる。一実施形態において、ユーザーインターフェースデバイス180は、偏差パラメーター値が規定された偏差閾値を超過することを運用者に通知する警報又は他の警告を与えることができる。 FIG. 1B further illustrates an embodiment in which the robot control system 110 communicates with the user interface device 180. The user interface device 180 can configure an interface with an operator of the robot 150, such as an employee in a warehouse where the robot 150 is located. The user interface device 180 can include, for example, a tablet computer or a desktop computer, which provides a user interface for displaying information related to the operation of the robot 150. As mentioned above, the robot control system 110 can be configured to detect when the deviation parameter value exceeds a defined deviation threshold. In one embodiment, the user interface device 180 may provide an alarm or other warning to notify the operator that the deviation parameter value exceeds a defined deviation threshold.

図1Cは、ロボット制御システム110のブロック図を図示する。ブロック図に示されるように、ロボット制御システム110は、制御回路111と、通信インターフェース113と、非一時的コンピューター可読媒体115(例えば、メモリ)とを含む。一実施形態において、制御回路111は1つ以上のプロセッサ、プログラマブル論理回路(PLC)又はプログラマブル論理アレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は任意の他の制御回路を含むことができる。 FIG. 1C illustrates a block diagram of the robot control system 110. As shown in the block diagram, the robot control system 110 includes a control circuit 111, a communication interface 113, and a non-temporary computer-readable medium 115 (eg, memory). In one embodiment, the control circuit 111 is one or more processors, a programmable logic circuit (PLC) or programmable logic array (PLA), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other. Control circuit can be included.

一実施形態において、通信インターフェース113は、図1A又は図1Bのカメラ170及び図1A又は図1Bのロボット150と通信するように構成される1つ以上の構成要素を含むことができる。例えば、通信インターフェース113は、有線プロトコル又はワイヤレスプロトコルを介して通信を実行するように構成される通信回路を含むことができる。一例として、通信回路は、RS−232ポートコントローラー、USBコントローラー、イーサネットコントローラー、Bluetooth(登録商標)コントローラー、PCIバスコントローラー、任意の他の通信回路、又はそれらの組み合わせを含むことができる。一実施形態において、制御回路111は、動作コマンド(例えば、モーター動作コマンド)を生成し、動作コマンドを通信インターフェース113に出力するように構成することができる。この実施形態において、通信インターフェース113は、ロボット150のロボットアーム又は他の構成要素の動作を制御するために、動作コマンドをロボット150に通信するように構成することができる。一実施形態において、制御回路111は、カメラコマンドを生成し、カメラコマンド(例えば、画像取り込みコマンド)を通信インターフェース113に出力するように構成することができる。この実施形態において、通信インターフェース113は、カメラの視野内の物体の画像を撮影するか、又は別の方法で取り込むようにカメラ170を制御するために、カメラコマンドをカメラ170に通信するように構成することができる。一実施形態において、通信インターフェース113は、カメラ170から画像又は他のデータを受信するように構成することができ、制御回路111は、通信インターフェース113から画像を受信するように構成することができる。 In one embodiment, the communication interface 113 may include one or more components configured to communicate with the camera 170 of FIG. 1A or FIG. 1B and the robot 150 of FIG. 1A or FIG. 1B. For example, the communication interface 113 may include a communication circuit configured to perform communication over a wired or wireless protocol. As an example, the communication circuit can include an RS-232 port controller, a USB controller, an Ethernet controller, a Bluetooth® controller, a PCI bus controller, any other communication circuit, or a combination thereof. In one embodiment, the control circuit 111 can be configured to generate an operation command (eg, a motor operation command) and output the operation command to the communication interface 113. In this embodiment, the communication interface 113 can be configured to communicate motion commands to the robot 150 in order to control the motion of the robot arm or other components of the robot 150. In one embodiment, the control circuit 111 can be configured to generate a camera command and output the camera command (eg, an image capture command) to the communication interface 113. In this embodiment, the communication interface 113 is configured to communicate camera commands to the camera 170 in order to control the camera 170 to capture or otherwise capture an image of an object in the field of view of the camera. can do. In one embodiment, the communication interface 113 can be configured to receive an image or other data from the camera 170, and the control circuit 111 can be configured to receive an image from the communication interface 113.

一実施形態において、非一時的コンピューター可読媒体115はコンピューターメモリを含むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセスメモリ(DRAM)、半導体集積メモリ(solid state integrated memory)、及び/又はハードディスクドライブ(HDD)を含むことができる。場合によっては、カメラキャリブレーションは、非一時的コンピューター可読媒体115上に記憶されるコンピューター実行可能命令(例えば、コンピューターコード)を通して実施することができる。そのような場合に、制御回路111は、コンピューター実行可能命令を実行し、カメラキャリブレーションの検証(例えば、図4A、図4B、及び図9に例示されるステップ)を実行するように構成される1つ以上のプロセッサを含むことができる。 In one embodiment, the non-transitory computer-readable medium 115 can include computer memory. Computer memory can include, for example, dynamic random access memory (DRAM), solid state integrated memory, and / or hard disk drive (HDD). In some cases, camera calibration can be performed through computer executable instructions (eg, computer code) stored on a non-transient computer-readable medium 115. In such a case, the control circuit 111 is configured to execute computer executable instructions and perform camera calibration verification (eg, steps exemplified in FIGS. 4A, 4B, and 9). It can include one or more processors.

図1Dは、1つ以上のレンズ171と、イメージセンサー173と、通信インターフェース175と、を含むカメラ170のブロック図を図示する。通信インターフェース175は、図1A、図1B、又は図1Cのロボット制御システム110と通信するように構成することができ、ロボット制御システム110の図1Cの通信インターフェース113に類似とすることができる。一実施形態において、1つ以上のレンズ171は、カメラ170の外部から到来している光をイメージセンサー173上に合焦することができる。一実施形態において、イメージセンサー173は、それぞれのピクセル強度値を介して画像を表すように構成されるピクセルのアレイを含むことができる。イメージセンサー173は、電荷結合素子(CCD)センサー、相補型金属酸化膜半導体(CMOS)センサー、量子イメージセンサー(QIS:quanta image sensor)又は任意の他のイメージセンサーを含むことができる。 FIG. 1D illustrates a block diagram of a camera 170 including one or more lenses 171, an image sensor 173, and a communication interface 175. The communication interface 175 can be configured to communicate with the robot control system 110 of FIG. 1A, FIG. 1B, or FIG. 1C, and can be similar to the communication interface 113 of FIG. 1C of the robot control system 110. In one embodiment, the one or more lenses 171 can focus light coming from the outside of the camera 170 on the image sensor 173. In one embodiment, the image sensor 173 can include an array of pixels configured to represent an image via their respective pixel intensity values. The image sensor 173 can include a charge-coupled device (CCD) sensor, a complementary metal oxide semiconductor (CMOS) sensor, a quantum image sensor (QIS), or any other image sensor.

上記で言及されたように、カメラによって取り込まれた画像に基づいて、ロボットの制御を助長するために、カメラキャリブレーションを実行することができる。例えば、図2は、ロボット操作システム200(システム200とも呼ばれる)を図示しており、そのシステムでは、画像を使用して、倉庫内の物体292を持ち上げる操作等の、ロボット操作を実行するようにロボット250を制御する。より具体的には、システム200は、図1Aのシステム100の一実施形態とすることができ、カメラ270、ロボット250、及びロボット制御システム110を含む。カメラ270は、図1A、図1B、又は図1Dのカメラ170の一実施形態とすることができ、ロボット250は、図1A、又は図1Bのロボット150の一実施形態とすることができる。カメラ270は、倉庫内のコンベヤベルト293上に配置される物体292(例えば、出荷するための荷物)の画像を取り込むように構成することができ、ロボット制御システム110は、物体292を持ち上げるように、ロボット250を制御するように構成することができる。コンベヤベルト293上に1つ以上の物体が存在するとき、ロボット制御システム110は、物体を持ち上げるロボット250の動作をスケジューリングするように構成することができる。ロボット制御システム110は、場合によっては、コンベヤベルト293上に物体が存在しない時点、又はコンベヤベルト293上の、ロボット250の届く範囲内に物体が存在しない時点を検出することによって、ロボット操作のための休止期間を検出するように構成することができる。 As mentioned above, camera calibration can be performed to facilitate control of the robot based on the images captured by the camera. For example, FIG. 2 illustrates a robot operating system 200 (also referred to as a system 200), in which an image is used to perform a robotic operation, such as lifting an object 292 in a warehouse. Control the robot 250. More specifically, the system 200 can be an embodiment of the system 100 of FIG. 1A and includes a camera 270, a robot 250, and a robot control system 110. The camera 270 can be an embodiment of the camera 170 of FIGS. 1A, 1B, or 1D, and the robot 250 can be an embodiment of the robot 150 of FIG. 1A or FIG. 1B. The camera 270 can be configured to capture an image of an object 292 (eg, a package to be shipped) placed on a conveyor belt 293 in the warehouse, and the robot control system 110 can lift the object 292. , Can be configured to control the robot 250. When one or more objects are present on the conveyor belt 293, the robot control system 110 can be configured to schedule the actions of the robot 250 to lift the objects. In some cases, the robot control system 110 detects a time when an object does not exist on the conveyor belt 293 or a time when an object does not exist within the reach of the robot 250 on the conveyor belt 293 for robot operation. Can be configured to detect the rest period of.

図2の実施形態において、ロボット250は、ベース252と、ベース252に対して動作可能であるロボットアームと、を有することができる。より具体的には、ロボットアームは複数のリンク254A〜254Eと、リンク254Eに取り付けられるロボットハンド255とを備えることができる。複数のリンク254A〜254Eは互いに対して回動可能とすることができ、及び/又は互いに対して直線的に移動可能である直動リンク(prismatic links)とすることができる。図2は、物体を持ち上げるために使用されるロボット250に関わるため、ロボットハンド255は、物体292を掴むために使用される把持部255A及び255Bを含むことができる。一実施形態において、ロボット制御システム110は、リンク254A〜254Eのうちの1つ以上を回動させる動作コマンドを通信するように構成することができる。動作コマンドは、モーター動作コマンド等のローレベルコマンド、又はハイレベルコマンドとすることができる。ロボット制御システム110からの動作コマンドがハイレベルコマンドである場合には、ロボット150は、ハイレベルコマンドをローレベルコマンドに変換するように構成することができる。 In the embodiment of FIG. 2, the robot 250 can have a base 252 and a robot arm capable of operating with respect to the base 252. More specifically, the robot arm can include a plurality of links 254A to 254E and a robot hand 255 attached to the link 254E. The plurality of links 254A to 254E can be rotatable with respect to each other and / or linear links that can move linearly with respect to each other. Since FIG. 2 relates to a robot 250 used to lift an object, the robot hand 255 can include grips 255A and 255B used to grip the object 292. In one embodiment, the robot control system 110 can be configured to communicate an action command to rotate one or more of the links 254A-254E. The operation command can be a low-level command such as a motor operation command or a high-level command. When the operation command from the robot control system 110 is a high-level command, the robot 150 can be configured to convert the high-level command into a low-level command.

一実施形態において、カメラキャリブレーションから特定されるカメラキャリブレーション情報は、カメラ270とロボット250との間の関係、又はより具体的には、カメラ270と、ロボット250のベース252に対して静止しているワールド点(world point)294との間の関係を記述する。ワールド点294は、ロボット250が位置する世界又は他の環境を表すことができ、ベース252に対して静止している任意の仮想点(imaginary point)とすることができる。言い換えると、カメラキャリブレーション情報は、カメラ270とワールド点294との間の関係を記述する情報を含むことができる。一実施形態において、その関係は、ワールド点294に対するカメラ270の位置と、ロボット250のための参照方向に対するカメラ270の向きとを指すことができる。カメラ270とワールド点294との間の上記の関係はカメラ−ワールド関係と呼ばれる場合があり、カメラ270とロボット250との間の関係を表すために使用することができる。場合によっては、カメラ−ワールド関係を用いて、カメラ270と物体292との間の関係(カメラ−物体関係とも呼ばれる)、及び物体292とワールド点294との間の関係(物体−ワールド関係とも呼ばれる)を特定することができる。カメラ−物体関係及び物体−ワールド関係を用いて、物体292を持ち上げるようにロボット250を制御することができる。 In one embodiment, the camera calibration information identified from the camera calibration is stationary with respect to the relationship between the camera 270 and the robot 250, or more specifically, the camera 270 and the base 252 of the robot 250. Describes the relationship with the world point 294. The world point 294 can represent the world in which the robot 250 is located or another environment, and can be any virtual point (image point) that is stationary with respect to the base 252. In other words, the camera calibration information can include information that describes the relationship between the camera 270 and the world point 294. In one embodiment, the relationship can refer to the position of the camera 270 with respect to the world point 294 and the orientation of the camera 270 with respect to the reference direction for the robot 250. The above relationship between the camera 270 and the world point 294 is sometimes referred to as the camera-world relationship and can be used to represent the relationship between the camera 270 and the robot 250. In some cases, using the camera-world relationship, the relationship between the camera 270 and the object 292 (also called the camera-object relationship) and the relationship between the object 292 and the world point 294 (also called the object-world relationship). ) Can be specified. The camera-object relationship and the object-world relationship can be used to control the robot 250 to lift the object 292.

一実施形態において、カメラキャリブレーション情報は、カメラ270の固有パラメーターを記述することができ、固有パラメーターは、その値がカメラ270の位置及び向きから独立している任意のパラメーターとすることができる。固有パラメーターは、カメラの焦点距離、カメラのイメージセンサーのサイズ、又はカメラ270によって導入されるレンズひずみの影響等の、カメラ270の特性を特徴付けることができる。 In one embodiment, the camera calibration information can describe the unique parameters of the camera 270, which can be any parameter whose value is independent of the position and orientation of the camera 270. The unique parameters can characterize the characteristics of the camera 270, such as the focal length of the camera, the size of the image sensor of the camera, or the effect of lens distortion introduced by the camera 270.

ロボット350の一実施例の詳細な構造を示す一実施例が図3に図示され、図3は、カメラ370及びロボット350と通信するロボット制御システム110を含むロボット操作システム300を図示する。カメラ370は、図1A、図1B、図1D、又は図2のそれぞれカメラ170/270の一実施形態とすることができ、ロボット350は、図1A、図1B、又は図2のそれぞれロボット150/250の一実施形態とすることができる。カメラ370は、カメラ視野330内の画像を取り込むことができる場合がある。ロボット350は、ベース352と、ベース352に対して移動可能であるロボットアームとを含むことができる。ロボットアームは、リンク354A〜354E等の1つ以上のリンクと、ロボットハンド355とを含む。一実施形態において、リンク354A〜354Eは互いに回動可能に取り付けることができる。例えば、リンク354Aは、ジョイント356Aを介して、ロボットベース352に回動可能に取り付けることができる。残りのリンク354B〜354Eは、ジョイント356B〜356Eを介して、互いに回動可能に取り付けることができる。一実施形態において、ベース352を用いて、ロボット350を、例えば、取り付けフレーム又は取り付け面(例えば、倉庫の床)に取り付けることができる。一実施形態において、ロボット350は、リンク354A〜354Eを回動させることによってロボットアームを動かすように構成される複数のモーターを含むことができる。例えば、モーターのうちの1つは、図3において破線矢印で示されるように、ジョイント356A及びベース302に対して第1のリンク354Aを回動させるように構成することができる。同様に、複数のモーターのうちの他のモーターも、リンク354B〜354Eを回動させるように構成することができる。複数のモーターはロボット制御システム110によって制御することができる。図3は、第5のリンク354E上に固定されるように配置されるロボットハンド355をさらに図示する。ロボットハンド355は、その上にキャリブレーションパターン320を有することができ、ロボット制御システム110がカメラ370を介してキャリブレーションパターン320の画像を取り込み、キャリブレーションパターン320の取り込まれた画像に基づいて、カメラキャリブレーションを実行できるようにする。例えば、ロボット制御システム110は、キャリブレーションパターン320の画像(キャリブレーション画像とも呼ばれる)を取り込むためにカメラ370が使用されているときに、キャリブレーションパターン320がカメラ視野330内に存在することができ、カメラ370から視認可能であるように、ロボットアームを動かすことができる。カメラキャリブレーションが実行された後に、ロボットハンド355を取り外し、後にさらに詳細に論じられるように、その上に配置される検証記号を有するロボットハンド等の別のロボットハンドと交換することができる。 An embodiment showing the detailed structure of one embodiment of the robot 350 is illustrated in FIG. 3, which illustrates a robot operating system 300 including a camera 370 and a robot control system 110 that communicates with the robot 350. The camera 370 can be an embodiment of the cameras 170/270 of FIGS. 1A, 1B, 1D, or 2, respectively, and the robot 350 can be the robot 150 / of FIGS. 1A, 1B, or 2, respectively. It can be one embodiment of 250. The camera 370 may be able to capture an image within the camera field of view 330. The robot 350 can include a base 352 and a robot arm that is movable relative to the base 352. The robot arm includes one or more links such as links 354A to 354E and a robot hand 355. In one embodiment, the links 354A-354E can be rotatably attached to each other. For example, the link 354A can be rotatably attached to the robot base 352 via the joint 356A. The remaining links 354B-354E can be rotatably attached to each other via joints 356B-356E. In one embodiment, the base 352 can be used to mount the robot 350, for example, on a mounting frame or mounting surface (eg, warehouse floor). In one embodiment, the robot 350 may include a plurality of motors configured to move the robot arm by rotating the links 354A-354E. For example, one of the motors can be configured to rotate the first link 354A with respect to the joint 356A and the base 302, as indicated by the dashed arrow in FIG. Similarly, other motors among the plurality of motors can be configured to rotate the links 354B to 354E. The plurality of motors can be controlled by the robot control system 110. FIG. 3 further illustrates a robot hand 355 arranged so as to be secured on the fifth link 354E. The robot hand 355 can have a calibration pattern 320 on it, the robot control system 110 captures an image of the calibration pattern 320 via the camera 370, and based on the captured image of the calibration pattern 320, Allows you to perform camera calibration. For example, the robot control system 110 can have the calibration pattern 320 in the camera field 330 when the camera 370 is being used to capture an image of the calibration pattern 320 (also called a calibration image). , The robot arm can be moved so that it can be seen from the camera 370. After the camera calibration has been performed, the robot hand 355 can be removed and replaced with another robot hand, such as a robot hand having a verification symbol placed on it, as discussed in more detail later.

上記で言及されたように、一実施形態によれば、キャリブレーション検証は、参照画像内に検証記号が現れる参照画像座標と、検証画像内に検証記号が現れる検証画像座標とを比較することを含むことができる。その比較は、検証画像座標と参照画像座標との間の偏差を判断することができ、その偏差を使用して、さらなるキャリブレーション操作を実行すべきかどうかを判断することができる。検証画像は、ロボット操作の休止期間中に取り込むことができる。図4A及び図4Bは、一実施形態による、カメラキャリブレーションの検証のための方法400を例示するフロー図を図示する。以下の実施形態のいくつかは、カメラキャリブレーションから判断されるカメラキャリブレーション情報を検証することを論じているが、方法400は、ロボット操作システムのために実行される任意のキャリブレーション操作から判断されるキャリブレーション情報をより一般的に検証するために使用され得る。一実施形態において、方法400は、ロボット制御システム110の制御回路111によって実行することができる。上記で言及されたように、ロボット制御システム110は、図1Cの通信インターフェース113を含むことができ、通信インターフェースは、図1A又は図1Bのロボット150、及び図1A、図1B、又は図1Dのカメラ170と通信するように構成される。一実施形態において、ロボットは、ベース(例えば、図2のベース252、又は図3のベース352)と、その上に検証記号が配置されるロボットアーム(例えば、図2又は図3のロボットアーム)と、を有することができ、ロボットアームは、ベースに対して動作可能である。 As mentioned above, according to one embodiment, the calibration verification compares the reference image coordinates in which the verification symbol appears in the reference image with the verification image coordinates in which the verification symbol appears in the verification image. Can include. The comparison can determine the deviation between the validation image coordinates and the reference image coordinates, which can be used to determine if further calibration operations should be performed. The verification image can be captured during the pause period of robot operation. 4A and 4B illustrate flow diagrams illustrating method 400 for verification of camera calibration according to one embodiment. While some of the following embodiments discuss verifying camera calibration information as determined from camera calibration, Method 400 determines from any calibration operation performed for the robotic operating system. Can be used to more generally verify the calibration information to be performed. In one embodiment, the method 400 can be performed by the control circuit 111 of the robot control system 110. As mentioned above, the robot control system 110 can include the communication interface 113 of FIG. 1C, which is the robot 150 of FIG. 1A or FIG. 1B, and of FIG. 1A, FIG. 1B, or FIG. 1D. It is configured to communicate with the camera 170. In one embodiment, the robot is a base (eg, base 252 in FIG. 2 or base 352 in FIG. 3) and a robot arm on which a verification symbol is placed (eg, robot arm in FIG. 2 or 3). And can have, and the robot arm is movable with respect to the base.

方法400が実行される例示的な環境が、図5A及び図5Bに図示されており、その図は、カメラ570及びロボット550と通信するロボット制御システム110を各々含む、ロボット操作システム500/500Aを図示する。カメラ570は、図1、図2、又は図3のそれぞれカメラ170/270/370の一実施形態とすることができ、ロボット550は、図1A、図1B、図2、又は図3のそれぞれロボット150/250/350の一実施形態とすることができる。ロボット550は、ベース552と、ベース552に対して動作可能であるロボットアーム(図5A及び図5Bにおいて553と表示される)と、を含むことができる。ロボットアームは、リンク554A〜リンク554E等の1つ以上のリンクを含む。リンク554A〜554Eはまた、互いに動作可能に取り付けられたロボットアーム553のアーム部分の実施例であってもよい。一実施形態において、リンク554A〜554Eは互いに回動可能に取り付けることができる。例えば、リンク554Aは、ロボットベース552に回動可能に取り付けることができる。残りのリンク554B〜554Eは、複数のジョイントを介して、互いに回動可能に取り付けることができる。一実施形態において、ベース552を用いて、ロボット552を、例えば、取り付けフレーム又は取り付け面(例えば、倉庫の床)に取り付けることができる。ロボット550は、図3のロボット350と同じように操作することができる。例えば、ロボット550は、互いに対してリンク554A〜554Eを回動させることによってロボットアームを動かすように構成される複数のモーターを含むことができる。ロボットアームは、リンク554Eに取り付けられるロボットハンドをさらに含むことができる。例えば、図5Aは、第1のロボットハンド555、第2のロボットハンド557、及び第3のロボットハンド559を図示し、各々第5のリンク554Eから着脱可能とすることができる。ロボットハンド555/557/559は、コンベヤベルト573から物体(例えば、582A、582B、582C)を持ち上げるように構成される、例えば、把持部又は吸引デバイスを含むことができる。ロボットハンド555/557/559が第5のリンク554Eに取り付けられるとき、その取り付けは、混在するように行うことができる。その着脱は手動で、又は自動的に実行することができる。一例において、第5のリンク554Eは、図5A及び図5Bに図示されるように、第1のロボットハンド555に取り付けることができ、ロボット制御システム110は、第5のリンク554Eに第1のロボットハンド555を解放させて、第5のリンク554Eを第2のロボットハンド557に取り付けるように、ロボット550を制御することができる。別の実施形態では、第5のリンク554Eは、ロボットハンド(例えば、ロボットハンド559)に永久に取り付けることができる。 An exemplary environment in which method 400 is performed is illustrated in FIGS. 5A and 5B, which illustrates a robot operating system 500 / 500A including a robot control system 110 communicating with a camera 570 and a robot 550, respectively. Illustrated. The camera 570 can be an embodiment of the cameras 170/270/370 of FIGS. 1, 2, or 3, respectively, and the robot 550 is the robot of FIGS. 1A, 1B, 2, or 3, respectively. It can be one embodiment of 150/250/350. The robot 550 can include a base 552 and a robotic arm (indicated as 553 in FIGS. 5A and 5B) that is operable with respect to the base 552. The robot arm includes one or more links such as links 554A to 554E. Links 554A-554E may also be embodiments of arm portions of robotic arms 553 that are operably attached to each other. In one embodiment, the links 554A-554E can be rotatably attached to each other. For example, the link 554A can be rotatably attached to the robot base 552. The remaining links 554B-554E can be rotatably attached to each other via a plurality of joints. In one embodiment, the base 552 can be used to attach the robot 552 to, for example, a mounting frame or mounting surface (eg, warehouse floor). The robot 550 can be operated in the same manner as the robot 350 of FIG. For example, the robot 550 can include a plurality of motors configured to move the robot arm by rotating the links 554A-554E with respect to each other. The robot arm can further include a robot hand attached to the link 554E. For example, FIG. 5A illustrates a first robot hand 555, a second robot hand 557, and a third robot hand 559, each of which can be detached from a fifth link 554E. The robot hand 555/557/559 may include, for example, a grip or suction device configured to lift an object (eg, 582A, 582B, 582C) from the conveyor belt 573. When the robot hand 555/557/559 is attached to the fifth link 554E, the attachment can be done in a mixed manner. The attachment / detachment can be performed manually or automatically. In one example, the fifth link 554E can be attached to the first robot hand 555, as illustrated in FIGS. 5A and 5B, and the robot control system 110 is attached to the fifth link 554E as the first robot. The robot 550 can be controlled so that the hand 555 is released and the fifth link 554E is attached to the second robot hand 557. In another embodiment, the fifth link 554E can be permanently attached to the robot hand (eg, robot hand 559).

一実施形態において、ロボット550は、その上に配置される検証記号530を有することができる。場合によっては、検証記号530はロボット550上に永久に配置することができる。場合によっては、検証記号530は、リンク554A〜554Eのうちの1つ等のロボット550のロボットアーム上に、又はロボットハンド上に配置することができる。例えば、図5Aは、第1のロボットハンド555及び第3のロボットハンド559上に配置される検証記号530を図示し、一方、図5Bは、リンク554E上に配置される検証記号530を図示する。検証記号530は、ロボット550上に直接塗布することができるか、又はステッカー又は平板等を介して、ロボット550に取り付けることができる。図5Aに図示される実施例において、第2のロボットハンド557又は第3のロボットハンド559は、各々がその上に配置されるそれぞれキャリブレーションパターン520/527を有するので、カメラキャリブレーションを実行するために使用されてもよく、一方で、第1のロボットハンド555又は第3のロボットハンド559は、各々がその上に配置されるそれぞれ検証記号530を有するので、カメラキャリブレーションの検証を実行するために使用されてもよい。 In one embodiment, the robot 550 can have a verification symbol 530 placed on it. In some cases, the verification symbol 530 can be permanently placed on the robot 550. In some cases, the verification symbol 530 can be placed on the robot arm of the robot 550, such as one of the links 554A-554E, or on the robot hand. For example, FIG. 5A illustrates a verification symbol 530 placed on the first robot hand 555 and a third robot hand 559, while FIG. 5B illustrates a verification symbol 530 placed on the link 554E. .. The verification symbol 530 can be applied directly onto the robot 550, or can be attached to the robot 550 via a sticker, a flat plate, or the like. In the embodiment illustrated in FIG. 5A, the second robot hand 557 or the third robot hand 559 each has a calibration pattern 520/527 placed on it, so that a camera calibration is performed. On the other hand, the first robot hand 555 or the third robot hand 559 performs verification of camera calibration because each has a verification symbol 530 placed on it. May be used for.

図4Aに戻ると、一実施形態において、方法400は、ステップ401から開始することができ、そのステップでは、制御回路111が、第1のカメラキャリブレーションを実行して、カメラ(例えば、図1、図2、図3、又は図5のそれぞれカメラ170/270/370/570)と関連付けられるカメラキャリブレーション情報を判断する。より具体的には、カメラキャリブレーション情報は、カメラに関するカメラキャリブレーション値を含むことができる。この実施形態において、制御回路111は、キャリブレーションパターンの画像(キャリブレーション画像とも呼ばれる)に基づいて、第1のカメラキャリブレーションを実行することができる。 Returning to FIG. 4A, in one embodiment, method 400 can be started from step 401, in which control circuit 111 performs a first camera calibration and the camera (eg, FIG. 1). , The camera calibration information associated with the camera 170/270/370/570) of FIG. 2, FIG. 3, or FIG. 5, respectively. More specifically, the camera calibration information can include camera calibration values for the camera. In this embodiment, the control circuit 111 can perform the first camera calibration based on an image of the calibration pattern (also referred to as a calibration image).

例えば、第1のキャリブレーションを実行するために、図5Aのロボット550は、キャリブレーションパターン520を有する第2のロボットハンド557に、又はキャリブレーションパターン527を有する第3のロボットハンド559に取り付けることができる。図3は、第1のカメラキャリブレーションを実行することができる類似の環境を図示する。このステップ中に、カメラキャリブレーションを実行するためにそのキャリブレーションパターン320が使用される第1のロボットハンド555を、第5のリンク554Eから取り外すことができる。第1のカメラキャリブレーションは、ロボット操作を開始する前に実行することができる。例えば、ロボット操作は、第1のロボットハンド555がコンベヤベルト上の第1の物体582Aと相互作用する等のロボット作業から開始することができる。第1のカメラキャリブレーション中に、ロボット550は第2のロボットハンド557を備えることができる。ロボット制御システム110は、キャリブレーションパターン520をカメラ570のカメラ視野510内の種々の位置に動かし、そのような位置においてキャリブレーションパターン520のそれぞれの画像を取り込むように、動作コマンドを介して、ロボット550のロボットアームを制御することができる。ロボット制御システム110は、キャリブレーションパターン520の取り込まれた画像に基づいて、第1のカメラキャリブレーションを実行し、カメラ570に関するカメラキャリブレーション情報を特定することができる。一例において、カメラキャリブレーション情報は、カメラ570とロボット550との間の関係を記述する情報を含むことができる。一例において、カメラキャリブレーション情報は、カメラ570の固有パラメーターを記述することができる。カメラキャリブレーションは、2019年3月7日出願の米国特許出願第16/295,940号(整理番号MJ0021US1)、発明の名称「METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL」においてより詳細に論じられており、その内容全体が参照より本明細書に組み込まれる。 For example, to perform the first calibration, the robot 550 of FIG. 5A may be attached to a second robot hand 557 having a calibration pattern 520 or to a third robot hand 559 having a calibration pattern 527. Can be done. FIG. 3 illustrates a similar environment in which the first camera calibration can be performed. During this step, the first robot hand 555, of which the calibration pattern 320 is used to perform camera calibration, can be removed from the fifth link 554E. The first camera calibration can be performed before starting the robot operation. For example, the robot operation can be started from robot work such as the first robot hand 555 interacting with the first object 582A on the conveyor belt. During the first camera calibration, the robot 550 can include a second robot hand 557. The robot control system 110 moves the calibration pattern 520 to various positions within the camera field of view 510 of the camera 570 and captures the respective images of the calibration pattern 520 at such positions by the robot via an operation command. It can control 550 robot arms. The robot control system 110 can execute the first camera calibration based on the captured image of the calibration pattern 520 and identify the camera calibration information regarding the camera 570. In one example, the camera calibration information can include information that describes the relationship between the camera 570 and the robot 550. In one example, the camera calibration information can describe the unique parameters of the camera 570. Camera calibration is described in detail in U.S. Patent Application No. 16 / 295,940 (reference number MJ0021US1) filed on March 7, 2019, in the title of the invention "METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL". And the entire contents are incorporated herein by reference.

図4Aに戻ると、方法400は、ステップ403をさらに含むことができ、そのステップでは、制御回路111が、ロボット制御システム110の通信インターフェース113に第1の動作コマンドを出力することによって、第1のカメラキャリブレーション中又は後に、検証記号(例えば、図5の530)をカメラ(例えば、570)のカメラ視野(例えば、510)内の1つの箇所に動かすようにロボットアームを制御する。通信インターフェース113は、ロボットアームが、第1のカメラキャリブレーション中又は後に、検証記号(例えば、530)をカメラ視野(例えば、510)内のその位置に動かすために、ロボットに動作コマンドを通信するように構成することができる。また、動作コマンドによって、ロボットアームは、検証記号をカメラ(例えば、570)に面するように、又はより一般的には、カメラから視認可能であるように、検証記号を向けることができる。その位置は、第1のカメラキャリブレーションの検証のための1つ以上の参照箇所のうちの1つの参照箇所として使用することができる。例えば、検証プロセスが経時的に検証記号の画像を取得するとき、制御回路111は、1つ以上の位置を1つ以上の参照箇所として使用することができるように、検証記号(例えば、530)を同じ1つ以上の位置に絶えず位置決めするように、ロボットアームを制御することができる。さらに、ステップ405〜459に関して後に説明されるように、検証プロセスは、検証記号の後の画像を、第1のカメラキャリブレーションが実行された直後に得られた画像等の、検証記号(例えば、530)の1組の早期の画像と比較することができる。後の画像は検証画像として使用することができ、一方、後の画像が比較される画像は、参照画像として使用することができる。 Returning to FIG. 4A, method 400 can further include step 403, in which the control circuit 111 outputs a first operation command to the communication interface 113 of the robot control system 110, thereby first. The robot arm is controlled to move the verification symbol (eg, 530 in FIG. 5) to one point in the camera field of view (eg, 510) of the camera (eg, 570) during or after the camera calibration. The communication interface 113 communicates an action command to the robot in order for the robot arm to move the verification symbol (eg, 530) to its position in the camera field of view (eg, 510) during or after the first camera calibration. It can be configured as follows. The motion command also allows the robot arm to point the verification symbol so that it faces the camera (eg, 570) or, more generally, is visible to the camera. The position can be used as one of one or more reference points for verification of the first camera calibration. For example, when the verification process acquires an image of the verification symbol over time, the control circuit 111 may use the verification symbol (eg, 530) so that one or more positions can be used as one or more reference points. The robot arm can be controlled to constantly position one or more of the same positions. Further, as described later with respect to steps 405-459, the verification process takes the image after the verification symbol, such as the image obtained immediately after the first camera calibration is performed, the verification symbol (eg, eg). It can be compared with a set of early images of 530). The later image can be used as a verification image, while the image with which the later images are compared can be used as a reference image.

ステップ405において、制御回路111が、通信インターフェース113を介して、カメラ(例えば、170/270/370/570)から検証記号(例えば、530)の画像を受信する(例えば、読み出す)ことができ、その画像は検証のための参照画像である。画像は、検証記号が参照箇所にあるか、又は参照箇所にあった間に、カメラによって取り込まれている場合がある。一実施形態において、最初に、通信インターフェース113がカメラから参照画像を受信することができ、その後、制御回路111が、通信インターフェース113から参照画像を受信することができる。一実施形態において、ステップ405は、制御回路111がカメラのためのカメラコマンドを生成することなく実行される。一実施形態において、ステップ405は、制御回路111がカメラコマンドを生成することと、通信インターフェース113を介してカメラにカメラコマンドを通信することとを含むことができる。カメラコマンドは、参照箇所において検証記号の画像を取り込むように、カメラを制御することができる。 In step 405, the control circuit 111 can receive (eg, read) an image of the verification symbol (eg, 530) from the camera (eg, 170/270/370/570) via the communication interface 113. The image is a reference image for verification. The image may have been captured by the camera while the verification symbol was at or was at the reference. In one embodiment, the communication interface 113 can first receive the reference image from the camera, and then the control circuit 111 can receive the reference image from the communication interface 113. In one embodiment, step 405 is performed without the control circuit 111 generating camera commands for the camera. In one embodiment, step 405 may include the control circuit 111 generating a camera command and communicating the camera command to the camera via the communication interface 113. The camera command can control the camera to capture the image of the verification symbol at the reference point.

図5A〜図6Bは、ステップ403及びステップ405の態様を例示する。図5Aの実施形態において、第1のカメラキャリブレーションが、例えば、第2のロボットハンド557を用いて実行された後に、第2のロボットハンド557を、その上に配置される検証記号530を有する第3のロボットハンド559と交換することができる。この例において、ロボット制御システム110は、検証記号530をカメラ570のカメラ視野510内の1つ以上の参照箇所に動かすように、ロボット550のロボットアームを(例えば、1つ以上の動作コマンドを介して)制御する。1つ以上の参照箇所は、カメラ視野510内の任意の位置を含むことができるか、又は後にさらに詳細に論じられるような、仮想球の表面上に配置される位置等の1組の1つ以上の特定の位置とすることができる。別の例では、図5Bの実施形態において、第1のカメラキャリブレーション中又は後に、ロボット制御システム110は、検証記号530をカメラ視野510内の1つ以上の参照箇所に動かすようにロボットアームを制御することができる。この例において、1つ以上の参照箇所は、第1のカメラキャリブレーション中に検証記号530が(キャリブレーションパターン520とともに)撮影された任意の位置を含むことができるか、又は第1のカメラキャリブレーションが実行された後に検証記号530が動かされた1組の1つ以上の特定の位置とすることができる。ロボット制御システム110は、第1のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて、カメラ570からの指示によってこのステップにおいてロボット550のロボットアームの動作を制御することができるか、又はそのような指示を用いることなく動作を制御することができる。一実施形態において、参照箇所は、ローカル又はリモート記憶デバイス内に記憶され、読み出すことができる規定された位置とすることができる。参照箇所は、座標(例えば、直交座標)の形で、又はリンク554A〜554Eを回動させるためのモーターコマンドとして、又は何らかの他の態様において記憶することができる。 5A-6B illustrate aspects of steps 403 and 405. In the embodiment of FIG. 5A, after the first camera calibration has been performed, for example, with the second robot hand 557, the second robot hand 557 has a verification symbol 530 placed on it. It can be exchanged for a third robot hand 559. In this example, the robot control system 110 moves the robot arm of the robot 550 (eg, via one or more motion commands) to move the verification symbol 530 to one or more reference points within the camera field of view 510 of the camera 570. To control. One or more reference points may include any position within the camera field of view 510, or one of a set of positions, etc. placed on the surface of the virtual sphere, as discussed in more detail later. It can be the above specific position. In another example, in the embodiment of FIG. 5B, during or after the first camera calibration, the robot control system 110 moves the robot arm to move the verification symbol 530 to one or more reference points within the camera field of view 510. Can be controlled. In this example, one or more reference points can include any position where the verification symbol 530 was taken (along with the calibration pattern 520) during the first camera calibration, or the first camera calibration. The verification symbol 530 can be one or more specific positions in a set that have been moved after the operation has been performed. Based on the camera calibration information obtained from the first camera calibration, the robot control system 110 can control the movement of the robot arm of the robot 550 in this step by an instruction from the camera 570, or so. The operation can be controlled without using any instructions. In one embodiment, the reference location can be a defined location that can be stored and read in a local or remote storage device. Reference points can be stored in the form of coordinates (eg, Cartesian coordinates), as motor commands for rotating links 554A-554E, or in some other form.

一実施形態において、ロボットアームが検証記号(例えば、530)を動かす1つ以上の参照箇所は、複数の参照箇所を含むことができ、複数の参照箇所のそれぞれが、カメラに対して凹形である仮想球の表面上に配置される位置である。そのような実施形態において、制御回路111は、複数の参照箇所の各参照箇所において検証記号が仮想球の表面に対して接線方向に向くように動かすために、ロボットアームを制御するようにさらに構成することができる。例えば、図6A、図6B、図6C、及び図6Dに例示されるように、ロボット制御システム110は、検証記号530を参照箇所610A〜610Iに動かすように、ロボット550のロボットアームを制御することができ、参照箇所610A〜610Iの各々においてそれぞれの参照画像を取り込むようにカメラ570を制御することができる。図6A及び図6Bの参照箇所610A〜610Iは、カメラ視野510内の複数の仮想球の中で分割することができる。参照箇所610A及び610Bは第1の仮想球620の第1の球面621上に配置することができ、ここで、第1の球面621はカメラ視野510内にある。参照箇所610C、610D及び610Eは第2の仮想球630の第2の球面631上に配置することができ、ここで、第2の球面631はカメラ視野510内にある。参照箇所610F、610G、610H及び610Iは、第3の仮想球640の第3の球面641上に配置することができ、ここで、第3の球面641はカメラ視野510内にある。図6A及び図6Bに例示されるように、第1の球面621、第2の球面631、及び第3の球面641はそれぞれ、カメラ570に対して凹形である。図6A及び図6Bの実施例は、3つの球に基づく3つの球面を示すが、参照箇所を配置することができる異なる球面の数は、3つよりも多くすることも、3つよりも少なくすることもできる。一実施形態において、カメラ570は、仮想球620、630、640のそれぞれの中心に存在することができる。 In one embodiment, one or more references in which the robot arm moves the verification symbol (eg, 530) can include multiple references, each of which is concave with respect to the camera. It is a position placed on the surface of a virtual sphere. In such an embodiment, the control circuit 111 is further configured to control the robot arm in order to move the verification symbol tangentially to the surface of the virtual sphere at each reference point of the plurality of reference points. can do. For example, as illustrated in FIGS. 6A, 6B, 6C, and 6D, the robot control system 110 controls the robot arm of the robot 550 to move the verification symbol 530 to reference points 610A-610I. The camera 570 can be controlled so as to capture the respective reference image at each of the reference points 610A to 610I. Reference points 610A to 610I in FIGS. 6A and 6B can be divided among a plurality of virtual spheres in the camera field of view 510. Reference points 610A and 610B can be arranged on the first spherical surface 621 of the first virtual sphere 620, where the first spherical surface 621 is within the camera field of view 510. Reference points 610C, 610D and 610E can be placed on the second spherical surface 631 of the second virtual sphere 630, where the second spherical surface 631 is within the camera field of view 510. Reference points 610F, 610G, 610H and 610I can be placed on the third spherical surface 641 of the third virtual sphere 640, where the third spherical surface 641 is within the camera field of view 510. As illustrated in FIGS. 6A and 6B, the first spherical surface 621, the second spherical surface 631, and the third spherical surface 641 are each concave with respect to the camera 570. The embodiments of FIGS. 6A and 6B show three spheres based on three spheres, but the number of different spheres in which reference points can be placed can be greater than or less than three. You can also do it. In one embodiment, the camera 570 can be at the center of each of the virtual spheres 620, 630, 640.

一実施形態において、図6A〜図6Dに示されるように、検証記号530が或る参照箇所に動かされるとき、ロボット制御システム110は、検証記号530を参照箇所が配置される球面に対して接線方向に位置決めするように、ロボット550のロボットアーム553を(例えば、動作コマンドを介して)制御することができる。例えば、図6A及び図6Bは、参照箇所610Dにおいて第2の球面631に対して接線方向に向いている検証記号530を例示し、図6C及び図6Dは、参照箇所610Cにおいて第2の球面631に対して接線方向に向いている検証記号530を例示する。より具体的には、検証記号530は、平面(例えば、ステッカー)上に配置することができ、検証記号530の平面が、図6A及び図6B内の参照箇所610Dにおいて第2の球面631に対して接線方向に向いていてもよく、図6C及び図6D内の参照箇所610Cにおいて第2の球面631に対して接線方向に向いていてもよい。一実施形態において、ロボットアーム553は、図6A及び図6Bにおいて第1のポーズとすることができ、図6C及び図6Dにおいて第2のポーズとすることができる。ロボットアーム553のポーズは、例えば、ロボットアーム553のリンク又は他のアーム部分によって形成される形状、又はより一般的には幾何学形状を指し得る。例えば、ロボットアーム553のポーズは、ロボットアーム553のリンクが、ロボットアーム553の先行リンクに対して回動又は並進(例えば、伸長又は後退)した角度又は距離の特定の順列化を指し得る。一例として、図6Aに図示される第1のポーズは、ロボットアーム553の一連のリンクの連続するリンクの間に形成される角度の第1の順列に対応し得るが、図6Cに図示される第2のポーズは、ロボットアーム553の一連のリンクの連続するリンクの間の角度の第2の順列に対応し得る。かかる例では、検証記号630の参照箇所610Dは、図6Aに例示されるロボットアーム553のための第1のポーズと関連付けられてもよく、一方、検証記号630の参照箇所610Cは、図6Cに例示されるように、ロボットアーム553のための第2のポーズと関連付けられてもよい。 In one embodiment, as shown in FIGS. 6A-6D, when the verification symbol 530 is moved to a reference point, the robot control system 110 tangents the verification symbol 530 to the spherical surface on which the reference point is located. The robot arm 553 of the robot 550 can be controlled (eg, via motion commands) to position in the direction. For example, FIGS. 6A and 6B illustrate verification symbol 530 tangential to the second spherical surface 631 at reference point 610D, and FIGS. 6C and 6D show the second spherical surface 631 at reference point 610C. The verification symbol 530 facing in the tangential direction with respect to is illustrated. More specifically, the verification symbol 530 can be placed on a plane (eg, a sticker) so that the plane of the verification symbol 530 is relative to the second spherical surface 631 at reference point 610D in FIGS. 6A and 6B. It may be tangentially oriented, or may be tangentially oriented with respect to the second spherical surface 631 at the reference point 610C in FIGS. 6C and 6D. In one embodiment, the robot arm 553 can be in the first pose in FIGS. 6A and 6B and in the second pose in FIGS. 6C and 6D. The pose of the robot arm 553 can refer, for example, to a shape formed by a link or other arm portion of the robot arm 553, or more generally a geometric shape. For example, the pose of the robot arm 553 may refer to a particular permutation of an angle or distance in which the link of the robot arm 553 is rotated or translated (eg, extended or retracted) with respect to the preceding link of the robot arm 553. As an example, the first pose illustrated in FIG. 6A may correspond to a first permutation of angles formed between successive links of a series of links in robot arm 553, which is illustrated in FIG. 6C. The second pose may correspond to a second permutation of angles between successive links of a series of links of robotic arm 553. In such an example, reference point 610D of verification symbol 630 may be associated with a first pose for the robot arm 553 exemplified in FIG. 6A, while reference point 610C of verification symbol 630 is shown in FIG. 6C. As illustrated, it may be associated with a second pose for the robot arm 553.

一実施形態において、制御回路111は、検証記号が参照箇所に動かされるときに、カメラに直接対向するように検証記号(例えば、530)を動かすために、ロボットアームを制御するように構成される。例えば、図6Aに例示されるように、ロボット制御システム110は、検証記号530が参照箇所610Dに動かされるときに、カメラ570に直接対向するように検証記号530を動かすために、ロボット550のロボットアーム553を制御することができる。この例において、ロボット制御システム110は、検証記号530がカメラ570に直接対向するように回動するように、ロボットハンド555を制御することができる。場合によっては、検証記号は、カメラ視野510において球面に対して接線方向に向くことによって、カメラ570に直接対向することができる。検証記号530がカメラ570に直接対向するとき、カメラ570は、検証記号530を真正面から撮影できる場合があり、それにより、結果として生じる検証記号530の画像への斜視効果がないか、又は少ない。 In one embodiment, the control circuit 111 is configured to control the robot arm to move the verification symbol (eg, 530) so that it faces the camera directly when the verification symbol is moved to the reference location. .. For example, as illustrated in FIG. 6A, the robot control system 110 robots the robot 550 to move the verification symbol 530 so that it faces the camera 570 directly when the verification symbol 530 is moved to reference point 610D. The arm 553 can be controlled. In this example, the robot control system 110 can control the robot hand 555 so that the verification symbol 530 rotates so as to directly face the camera 570. In some cases, the verification symbol can face the camera 570 directly by tangentially facing the spherical surface in the camera field of view 510. When the verification symbol 530 directly faces the camera 570, the camera 570 may be able to capture the verification symbol 530 head-on, thereby eliminating or having little perspective effect on the image of the resulting verification symbol 530.

一実施形態において、検証記号(例えば、530)は、第1の色を有する第1の領域と、第2の色を有する第2の領域とを含み、第1の領域の面積と第2の領域の面積との比が規定され、ロボット制御システム110の非一時的コンピューター可読媒体(例えば、記憶デバイス)上に記憶される。そのような実施形態において、制御回路111は、規定された比に基づいて、参照画像又は検証画像内の検証記号を識別するように構成することができる。例えば、図5Cに例示されるように、検証記号530は、リング状であり、第1の色を有する第1の領域531(例えば、黒色領域)を含むことができ、第1の領域531によって包囲され、第2の色を有する第2の領域533(例えば、白色領域)を含む。検証記号530内の黒色の第1の領域531の面積と白色の第2の領域533の面積との比は、識別できる規定値とすることができる。取り込まれた画像内の色を解析することによって、ロボット制御システム110は、その部分が円形領域を包囲するリング状領域であるかどうかを判断し、リング状領域の面積と円形領域の面積との間の比が規定された比に一致するかどうかを判断することによって、検証記号530に対応する画像の部分を識別できる場合がある。これにより、ロボット制御システム110が画像内に取り込まれた他の特徴から、検証記号530を区別することを可能にし得る。例えば、図5Aに例示されるように、ロボット550は、キャリブレーションパターン527及び検証記号530の組み合わせを有する第3のロボットハンド559を利用するように設定することができる。この例において、参照画像は、検証記号530及びキャリブレーションパターン527の両方を示すことができる。この例において、キャリブレーションパターン527は、いかなるリングパターンも有しない場合があるか、又は上記で論じられた規定された比とは異なる比のリングパターンを有する場合がある。制御回路111は、参照画像の部分が第1の色を有する第1の画像領域を有するか、及び第2の色を有する第2の画像領域を有するかを判断し、第1の画像領域の面積と第2の画像領域の面積との比が規定された比に等しいか否かを判断することによって、参照画像のその部分が検証記号530であるか、キャリブレーションパターン527であるかを判断することができる。 In one embodiment, the verification symbol (eg, 530) comprises a first region having a first color and a second region having a second color, the area of the first region and the second region. The ratio to the area of the area is defined and stored on a non-transitory computer-readable medium (eg, storage device) of the robot control system 110. In such an embodiment, the control circuit 111 can be configured to identify the verification symbol in the reference image or verification image based on the defined ratio. For example, as illustrated in FIG. 5C, the verification symbol 530 can include a first region 531 (eg, a black region) that is ring-shaped and has a first color, by the first region 531. Includes a second region 533 (eg, white region) that is surrounded and has a second color. The ratio of the area of the black first region 531 to the area of the white second region 533 within the verification symbol 530 can be a specified value that can be identified. By analyzing the colors in the captured image, the robot control system 110 determines whether the portion is a ring-shaped region surrounding the circular region, and determines whether the portion is a ring-shaped region surrounding the circular region, and the area of the ring-shaped region and the area of the circular region. The portion of the image corresponding to verification symbol 530 may be identified by determining if the ratio between them matches the defined ratio. This may allow the robot control system 110 to distinguish the verification symbol 530 from other features captured in the image. For example, as illustrated in FIG. 5A, the robot 550 can be configured to utilize a third robot hand 559 that has a combination of calibration pattern 527 and verification symbol 530. In this example, the reference image can show both the verification symbol 530 and the calibration pattern 527. In this example, the calibration pattern 527 may not have any ring pattern or may have a ring pattern with a ratio different from the defined ratio discussed above. The control circuit 111 determines whether the portion of the reference image has a first image region having a first color and a second image region having a second color, and determines whether the portion of the reference image has a second image region having a second color. By determining whether the ratio of the area to the area of the second image area is equal to the defined ratio, it is determined whether that part of the reference image is the verification symbol 530 or the calibration pattern 527. can do.

場合によっては、ロボット制御システム110は、取り込まれた画像の特定の部分が第1の色を有する第1の領域を有するか、及び第2の色を有する第2の領域を有するかを判断し、第1の領域の面積と第2の領域の面積との比が規定された範囲内にあるか否かを判断することができる。一例において、規定された比が1.5である場合には、ロボット制御システム110は、特定の領域内の比が1.4〜1.6の範囲内に入る場合に、その特定の領域が検証記号530に対応すると判断することができる。第1の領域及び第2の領域の2つの色は黒及び白には限定されず、ロボット制御システム110によって識別可能である任意の2つの異なる色とすることができる。 In some cases, the robot control system 110 determines whether a particular portion of the captured image has a first area with a first color and a second area with a second color. , It is possible to determine whether or not the ratio of the area of the first region to the area of the second region is within the specified range. In one example, if the defined ratio is 1.5, the robot control system 110 will have the specific area within the range of 1.4 to 1.6. It can be determined that it corresponds to the verification symbol 530. The two colors of the first region and the second region are not limited to black and white, but can be any two different colors that can be identified by the robot control system 110.

一態様において、検証記号(例えば、530)は、互いに同心である第1の形状及び第2の形状を含むことができ、第1の形状及び第2の形状のそれぞれの中心が実質的に同じ位置にある。例えば、検証記号は円形リングとして形成することができ、円形リングは、互いに同心である第1の円及び第2の円を含む。より具体的には、図5Cに示されるように、検証記号530は、第1の形状535(例えば、外円)及び第2の形状537(例えば、内円)を含むことができる。第1の形状535の中心及び第2の形状537の中心が実質的に同じ位置にあるように、第1の形状535及び第2の形状537は互いに同心とすることができる。例えば、第1の形状535の中心が座標

Figure 2021066011
にあり、第2の形状537の中心が座標
Figure 2021066011
にある場合には、座標
Figure 2021066011
及び座標
Figure 2021066011
は、実質的に同じであるとすることができる。 In one embodiment, the verification symbol (eg, 530) can include a first shape and a second shape that are concentric with each other, and the centers of the first and second shapes are substantially the same. In position. For example, the verification symbol can be formed as a circular ring, which includes a first circle and a second circle that are concentric with each other. More specifically, as shown in FIG. 5C, the verification symbol 530 can include a first shape 535 (eg, outer circle) and a second shape 537 (eg, inner circle). The first shape 535 and the second shape 537 can be concentric with each other so that the center of the first shape 535 and the center of the second shape 537 are substantially in the same position. For example, the center of the first shape 535 is the coordinates.
Figure 2021066011
The center of the second shape 537 is the coordinates
Figure 2021066011
If at, the coordinates
Figure 2021066011
And coordinates
Figure 2021066011
Can be substantially the same.

図4Aに戻ると、方法400は、ステップ407をさらに含むことができ、そのステップでは、制御回路111が、検証記号に関する参照画像座標を判断し、参照画像座標は、参照画像内に検証記号(例えば、530)が現れる座標である。例えば、図6Aに例示されるように、検証記号530の画像を参照箇所610Dにおいて取り込むことができ、参照画像として使用することができる。検証記号530は、特定の座標において参照画像内に現れることができ、その座標は参照画像座標と呼ばれる場合がある。 Returning to FIG. 4A, method 400 can further include step 407, in which control circuit 111 determines the reference image coordinates with respect to the verification symbol, and the reference image coordinates are the verification symbol ( For example, it is the coordinate at which 530) appears. For example, as illustrated in FIG. 6A, the image of verification symbol 530 can be captured at reference point 610D and used as a reference image. The verification symbol 530 can appear in the reference image at specific coordinates, which coordinates are sometimes referred to as reference image coordinates.

一実施形態において、上記で論じられたように、検証記号(例えば、530)は、互いに同心である第1の形状及び第2の形状を含むことができ、第1の形状及び第2の形状のそれぞれの中心が、実質的に同じ箇所にある。そのような実施形態において、制御回路111は、ステップ407において、参照画像内の第1の形状の中心の第1の座標を特定することと、参照画像内の第2の形状の中心の第2の座標を特定することと、参照画像内の第1の座標及び第2の座標の平均として参照画像座標を特定することとによって、そのような検証記号に関する参照画像座標を特定するように構成することができる。 In one embodiment, as discussed above, the verification symbol (eg, 530) can include a first shape and a second shape that are concentric with each other, the first shape and the second shape. The centers of each are virtually the same. In such an embodiment, the control circuit 111 identifies the first coordinate of the center of the first shape in the reference image and the second of the center of the second shape in the reference image in step 407. By specifying the coordinates of and specifying the reference image coordinates as the average of the first and second coordinates in the reference image, it is configured to specify the reference image coordinates for such a verification symbol. be able to.

例えば、図7Aは、参照箇所のうちの参照箇所N(ただし、Nは整数)において取り込まれた参照画像710を示す。参照画像710は、検証部分730を含み、検証部分は、図5A、図5B、又は図5Cの検証記号530を示す参照画像710内の画像部分である。図1A又は図1Bのロボット制御システム110は、検証部分730から、図5Cの検証記号530の第1の形状535と同じ、又は実質的に同じである第1の形状735(例えば、外円)を識別するように構成することができる。ロボット制御システム110は、検証部分730から、図5Cの検証記号530の第2の形状537と同じ、又は実質的に同じである第2の形状737(例えば、内円)をさらに識別するように構成することができる。その後、参照箇所Nに関して、ロボット制御システム110は、参照画像710内に示される第1の形状735の中心の第1の座標

Figure 2021066011
(すなわち、第1の形状735の中心座標)と、参照画像710内に示される第2の形状737の中心の第2の座標
Figure 2021066011
(すなわち、第2の形状737の中心座標)とを判断することができる。参照画像710が参照箇所Nにある検証記号530に対応するとき、参照画像710に関する参照画像座標
Figure 2021066011
を全体として判断するために、ロボット制御システム110は、以下のように、参照画像710内の第1の座標
Figure 2021066011
及び第2の座標
Figure 2021066011
の平均を計算することができる。
Figure 2021066011
For example, FIG. 7A shows a reference image 710 captured at a reference point N (where N is an integer) among the reference points. The reference image 710 includes a verification portion 730, which is an image portion within the reference image 710 showing the verification symbol 530 of FIGS. 5A, 5B, or 5C. The robot control system 110 of FIG. 1A or FIG. 1B has a first shape 735 (eg, an outer circle) that is the same as or substantially the same as the first shape 535 of the verification symbol 530 of FIG. 5C from the verification portion 730. Can be configured to identify. The robot control system 110 further identifies from the verification portion 730 a second shape 737 (eg, an inner circle) that is the same as or substantially the same as the second shape 537 of the verification symbol 530 of FIG. 5C. Can be configured. After that, with respect to the reference point N, the robot control system 110 determines the first coordinates of the center of the first shape 735 shown in the reference image 710.
Figure 2021066011
(That is, the center coordinates of the first shape 735) and the second coordinates of the center of the second shape 737 shown in the reference image 710.
Figure 2021066011
(That is, the center coordinates of the second shape 737) can be determined. Reference image coordinates for reference image 710 when reference image 710 corresponds to verification symbol 530 at reference point N.
Figure 2021066011
In order to determine as a whole, the robot control system 110 has the first coordinates in the reference image 710 as follows:
Figure 2021066011
And the second coordinate
Figure 2021066011
Can be calculated on average.
Figure 2021066011

一実施形態において、検証記号に関する参照画像座標は、その中心座標とすることができ、第1の形状735及び第2の形状735のそれぞれの中心座標に基づいて、検証記号530の中心座標を特定することは、画像ノイズに対する検証プロセスのロバストネスを改善することができる。例えば、画像ノイズは、第1の形状735に関する中心座標の決定に誤差を導入する場合があるが、第2の形状737に関する中心座標の特定に誤差を導入しない場合がある。場合によっては、第2の形状737が実際には第1の形状735と同じ中心位置を共有する場合があるが、画像ノイズによって、第2の形状737の中心座標が第1の形状735の中心座標とは異なるように画像内に現れる場合がある。このシナリオにおいて、検証記号530の中心座標として第2の形状737の中心座標を単に使用すると、結果として望ましくない誤差量が生じる場合がある。誤差量は、検証記号530の中心座標として、第1の形状735に関する中心座標と第2の形状737に関する中心座標との平均を使用することによって低減することができる。 In one embodiment, the reference image coordinates relating to the verification symbol can be the center coordinates thereof, and the center coordinates of the verification symbol 530 are specified based on the center coordinates of the first shape 735 and the second shape 735, respectively. This can improve the robustness of the verification process for image noise. For example, image noise may introduce an error in determining the center coordinates for the first shape 735, but may not introduce an error in specifying the center coordinates for the second shape 737. In some cases, the second shape 737 actually shares the same center position as the first shape 735, but due to image noise, the center coordinates of the second shape 737 are the center of the first shape 735. It may appear in the image differently from the coordinates. In this scenario, simply using the center coordinates of the second shape 737 as the center coordinates of the verification symbol 530 may result in an undesired amount of error. The amount of error can be reduced by using the average of the center coordinates of the first shape 735 and the center coordinates of the second shape 737 as the center coordinates of the verification symbol 530.

一実施形態において、上記で論じられた1つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所とすることができる。この実施形態では、参照画像座標は複数の参照画像座標のうちの1つとすることができる。例えば、図6A及び図6Bに例示されるように、検証記号530が動かされるか、又は別の方法で配置される、参照箇所610A〜610I等の複数の参照箇所が存在する場合がある。検証記号530の参照箇所610A〜610Iごとに、ロボット制御システム110は、その箇所において検証記号530の、カメラ570によって取り込まれたそれぞれの参照画像を読み出すか、又は別の方法で受信することができ、それぞれの参照画像内に検証記号530が現れる位置を示すそれぞれの参照画像座標を特定することができる。 In one embodiment, the one or more reference points discussed above may be a plurality of reference points corresponding to a plurality of reference image coordinates. In this embodiment, the reference image coordinates can be one of a plurality of reference image coordinates. For example, as illustrated in FIGS. 6A and 6B, there may be multiple reference points, such as reference points 610A-610I, where the verification symbol 530 is moved or otherwise arranged. For each reference location 610A to 610I of verification symbol 530, the robot control system 110 can read out, or otherwise receive, each reference image of verification symbol 530 captured by the camera 570 at that location. , Each reference image coordinate indicating the position where the verification symbol 530 appears in each reference image can be specified.

図4Aに戻ると、方法400は、ステップ409をさらに含むことができ、そのステップでは、制御回路111が、キャリブレーション情報に基づいて、ロボット操作を実行するように、ロボットアームの動作を制御する。一実施形態において、このステップは、制御回路111が、カメラキャリブレーション情報に基づく第2の動作コマンドを生成することと、第2の動作コマンドを通信インターフェース113に出力することとを含むことができる。通信インターフェース113は、その後、ロボットアームの動作を制御するために、第2の動作コマンドをロボットに通信することができる。例えば、図5Aに例示されるように、第1のカメラキャリブレーション後に、ロボット制御システム110は、物体582A、582B、及び582Cを持ち上げる等の、ロボット作業を含むロボット操作を実行するように、ロボット550を制御する。ロボット550の動作は、第1のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づくことができ、かつカメラ570によって取り込まれる物体582A、582B、582Cの画像に基づくことができる。 Returning to FIG. 4A, method 400 can further include step 409, in which control circuit 111 controls the movement of the robot arm to perform robotic operations based on the calibration information. .. In one embodiment, the step can include the control circuit 111 generating a second operation command based on the camera calibration information and outputting the second operation command to the communication interface 113. .. The communication interface 113 can then communicate a second motion command to the robot in order to control the motion of the robot arm. For example, as illustrated in FIG. 5A, after the first camera calibration, the robot control system 110 is responsible for performing robotic operations, including robotic work, such as lifting objects 582A, 582B, and 582C. Control 550. The operation of the robot 550 can be based on the camera calibration information obtained from the first camera calibration and can be based on the images of the objects 582A, 582B, 582C captured by the camera 570.

ステップ411において、制御回路111がロボット操作中に休止期間を検出する。一態様において、ロボットの休止期間は、ロボット操作中にロボットがロボット作業を実行していない期間とすることができる。場合によっては、ロボット操作がコンベヤベルト573から物体を持ち上げることに基づく場合には、休止期間は、コンベヤベルト573上に物体が存在しないことに基づくことができる。より具体的には、コンベヤベルト573は、ロボットアーム553によって到達可能とすることができ、制御回路111は、コンベヤベルト573上に物体が存在しないこと、又はロボット550とコンベヤベルト573上の最も近い物体との間の距離が規定された距離閾値を超過することを検出することによって、休止期間を検出するように構成される。場合によっては、制御回路111は、休止期間が発生しようとしていることを示す信号を受信することができ、その信号は、ロボット操作を監視する別のデバイス又は構成要素から受信される場合がある。例えば、図5Aに例示されるように、ロボット制御システム110は、第2の物体582Bと第3の物体582Cとの間に長い距離があるために、ロボット操作中に、第2の物体582Bを持ち上げることを含むロボット作業と、第3の物体582Cを持ち上げることを含むロボット作業との間に休止期間を検出することができる。この休止期間中、ロボット550が第2の物体582Bを持ち上げた後に、物体582Cはロボット550によってまだ到達可能でないので、ロボットは、ロボット作業を実行していない休止期間を有することができる。一例において、ロボット制御システム110は、コンベヤベルト573上の物体がロボット550によって到達可能でないときに、及び/又はロボット550とコンベヤベルト573上の上流の最も近い物体(例えば、第3の物体582C)との間の距離が或る特定の閾値を超過するとロボット制御システム110が判断するときに、休止期間を検出することができる。 In step 411, the control circuit 111 detects a pause period during robot operation. In one aspect, the rest period of the robot can be a period during which the robot is not performing robot work during robot operation. In some cases, if the robot operation is based on lifting an object from the conveyor belt 573, the rest period can be based on the absence of an object on the conveyor belt 573. More specifically, the conveyor belt 573 can be made reachable by the robot arm 553, and the control circuit 111 has no object on the conveyor belt 573 or is closest to the robot 550 on the conveyor belt 573. It is configured to detect a rest period by detecting that the distance to the object exceeds a defined distance threshold. In some cases, control circuit 111 may receive a signal indicating that a pause period is about to occur, which signal may be received from another device or component that monitors robot operation. For example, as illustrated in FIG. 5A, the robot control system 110 moves the second object 582B during robot operation due to the long distance between the second object 582B and the third object 582C. A pause period can be detected between the robotic work involving lifting and the robotic work involving lifting the third object 582C. During this pause period, after the robot 550 lifts the second object 582B, the robot 582C is not yet reachable by the robot 550, so that the robot can have a pause period during which it is not performing robot work. In one example, the robot control system 110 is used when an object on the conveyor belt 573 is not reachable by the robot 550 and / or the robot 550 and the closest object upstream on the conveyor belt 573 (eg, a third object 582C). A pause period can be detected when the robot control system 110 determines that the distance to and from exceeds a certain threshold.

図4A及び図4Bに戻ると、方法400はステップ451をさらに含むことができ、そのステップでは、制御回路111が、休止期間中に、検証記号530をステップ403において使用された(参照画像を取り込むために使用された)少なくとも参照箇所に動かすように、ロボットアーム553を制御する。一実施形態において、ステップ451は、制御回路111が第3の動作コマンドを生成することと、第3の動作コマンドを通信インターフェース113に出力することとを含むことができる。通信インターフェース113は、動作コマンドに基づいて、ロボットアーム553が動くように、第3の動作をロボットに通信するように構成することができる。場合によっては、第3の動作コマンドは、参照箇所に対応する1組の記憶されたモーターコマンドを含むことができる。場合によっては、第3の動作コマンドは、ステップ401からのカメラキャリブレーション情報に基づいて生成することができる。場合によっては、ステップ451の第3の動作コマンドは、ステップ401からのカメラキャリブレーション情報に頼らない。 Returning to FIGS. 4A and 4B, the method 400 could further include step 451 in which the control circuit 111 used the verification symbol 530 in step 403 during the pause period (capturing the reference image). Control the robot arm 553 to move it to at least the reference point (used for). In one embodiment, step 451 can include the control circuit 111 generating a third operation command and outputting the third operation command to the communication interface 113. The communication interface 113 can be configured to communicate a third motion to the robot so that the robot arm 553 moves based on the motion command. In some cases, the third action command may include a set of stored motor commands corresponding to the reference location. In some cases, the third operation command can be generated based on the camera calibration information from step 401. In some cases, the third operation command in step 451 does not rely on the camera calibration information from step 401.

ステップ453において、制御回路111が、休止期間中にカメラ(例えば、570)から検証記号(例えば、530)のさらなる画像を読み出すか、又は別の方法で受信し、さらなる画像は、検証のための検証画像であり、休止期間中の少なくとも参照箇所における検証記号の画像である。すなわち、参照箇所に関する検証画像は、検証記号(例えば、530)が参照箇所にあるか、又は参照箇所にあった間に取り込まれる。一実施形態において、ステップ453は、制御回路111が、検証画像を取り込むようにカメラ(例えば、570)を制御するカメラコマンドを生成することを含む。制御回路111は、通信インターフェース113にカメラコマンドを出力することができ、通信インターフェースがカメラコマンドをカメラ(例えば、570)に通信することができる。一実施形態において、ステップ451は、検証記号を複数の参照箇所に動かすようにロボットアームを制御することと、カメラによって取り込まれた複数のそれぞれの検証画像を受信することとを含むことができる。例えば、図6A及び図6Bに例示されるように、休止期間中に、ロボット制御システム110は、検証記号530を参照箇所610A〜610Iのうちの1つに動かし、その箇所における検証記号530の画像を検証画像として取り込むように、ロボット550のロボットアーム553を制御することができる。休止期間がまだ終わっていない場合、より具体的には、休止期間内に十分な長さの時間が残っている場合には、ロボット制御システム110は、検証記号530を参照箇所610A〜610Iのうちの別の箇所に動かし、その他の箇所における検証記号530の画像を別の検証画像として取り込むように、ロボット550のロボットアーム553を制御することができる。休止期間が終了する場合には、ロボット制御システム110は、検証画像を取り込むのを中止することができる。その場合に、各休止期間中に、ロボット制御システム110は、検証記号530を参照箇所610A〜610Iのうちの1つ以上に動かし、参照箇所610A〜610Iの1つ以上のそれぞれの参照箇所において検証画像を取り込むように、ロボット550のロボットアーム553を制御することができる。 In step 453, the control circuit 111 reads an additional image of the verification symbol (eg, 530) from the camera (eg, 570) or otherwise receives it during the rest period, and the additional image is for verification. It is a verification image, and is an image of a verification symbol at least at a reference point during the rest period. That is, the verification image relating to the reference location is captured while the verification symbol (eg, 530) is at the reference location or at the reference location. In one embodiment, step 453 comprises generating a camera command in which the control circuit 111 controls a camera (eg, 570) to capture a verification image. The control circuit 111 can output a camera command to the communication interface 113, and the communication interface can communicate the camera command to the camera (for example, 570). In one embodiment, step 451 can include controlling the robot arm to move the verification symbol to a plurality of reference points and receiving a plurality of each verification image captured by the camera. For example, as illustrated in FIGS. 6A and 6B, during the pause period, the robot control system 110 moves the verification symbol 530 to one of reference points 610A to 610I, and an image of the verification symbol 530 at that location. Can be controlled by the robot arm 553 of the robot 550 so as to capture the image as a verification image. If the dormant period has not yet ended, more specifically, if there is sufficient time remaining within the dormant period, the robot control system 110 will refer to verification symbol 530 from reference points 610A to 610I. The robot arm 553 of the robot 550 can be controlled so as to move to another location of the robot and capture the image of the verification symbol 530 at the other location as another verification image. When the pause period ends, the robot control system 110 can stop capturing the verification image. In that case, during each pause, the robot control system 110 moves the verification symbol 530 to one or more of the reference points 610A to 610I and verifies at each of the one or more reference points of the reference points 610A to 610I. The robot arm 553 of the robot 550 can be controlled so as to capture an image.

図4Bに戻ると、方法400は、ステップ455をさらに含むことができ、そのステップでは、制御回路111が、検証のために使用される検証画像座標を判断し、検証画像座標は、検証画像内に検証記号が現れる座標である。検証記号(例えば、530)が複数の参照箇所(例えば、610A〜610I)に動かされる場合には、カメラ(例えば、570)が複数の参照箇所にそれぞれ対応する複数の検証画像を取り込むことができ、制御回路111が、複数の検証画像にそれぞれ対応し、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定することができる。複数の検証画像は全て、カメラ(例えば、570)によって単一の休止期間において取り込まれる場合があるか(例えば、単一の休止期間が、ロボットアームが検証記号(例えば、530)を全ての参照箇所610A〜610Iに動かすことができるほど十分に長い場合)、又は複数の異なる休止期間において取り込まれる場合がある(例えば、各休止期間が、ロボットアームが検証記号530を全ての参照箇所610A〜610Iに動かすほど十分に長くない場合)。 Returning to FIG. 4B, method 400 can further include step 455, in which control circuit 111 determines the verification image coordinates used for verification, which are in the verification image. This is the coordinate at which the verification symbol appears. When the verification symbol (eg, 530) is moved to a plurality of reference points (eg, 610A to 610I), the camera (eg, 570) can capture a plurality of verification images corresponding to the plurality of reference points, respectively. , The control circuit 111 corresponds to each of the plurality of verification images, and can specify the plurality of verification image coordinates corresponding to the plurality of reference points. All of the verification images may be captured by the camera (eg, 570) in a single pause (eg, a single pause, but the robot arm sees all references to the verification symbol (eg, 530). It may be captured at locations 610A-610I long enough to be moved) or at multiple different pauses (eg, for each pause, the robotic arm applies verification symbol 530 to all reference points 610A-610I. If not long enough to move to).

一実施形態において、検証画像座標は、参照画像座標と同じようにして特定することができる。例えば、検証画像座標は検証記号(例えば、530)の中心座標とすることができ、検証画像(例えば、760)内の検証記号(例えば、530)の第1の形状の中心座標と、検証記号の第2の形状の中心座標との平均として特定することができる。例えば、図7Bは、参照箇所のうちの参照箇所Nにおいて取り込まれた検証画像760を示す。検証画像760は検証部分780を示し、その部分は、検証記号530を示す検証画像760内の画像部分である。ロボット制御システム110は、検証部分780から、図5Cの検証記号530の第1の形状585と同じ、又は実質的に同じである第1の形状785を識別することができる。ロボット制御システム110はさらに、検証部分780から、検証記号530の第2の形状587と同じ、又は実質的に同じである第2の形状787を識別することができる。さらに、ロボット制御システム110は、検証画像760の検証部分780内に示される第1の形状785の中心座標

Figure 2021066011
を判断し、検証画像760の検証部分780内に示される第2の形状787の中心座標
Figure 2021066011
を判断するように構成することができる。ロボット制御システム110はさらに、以下のように、検証画像座標760に関する検証画像座標
Figure 2021066011
を、検証画像760内の第1の形状785の中心座標と第2の形状787の中心座標との平均として判断することができる。
Figure 2021066011
In one embodiment, the verification image coordinates can be specified in the same way as the reference image coordinates. For example, the verification image coordinates can be the center coordinates of the verification symbol (eg, 530), and the center coordinates of the first shape of the verification symbol (eg, 530) in the verification image (eg, 760) and the verification symbol. Can be specified as the average with the center coordinates of the second shape of. For example, FIG. 7B shows a verification image 760 captured at reference point N among reference points. The verification image 760 shows a verification portion 780, which portion is an image portion in the verification image 760 showing the verification symbol 530. The robot control system 110 can identify the first shape 785 which is the same as or substantially the same as the first shape 585 of the verification symbol 530 of FIG. 5C from the verification portion 780. The robot control system 110 can further identify from the verification portion 780 a second shape 787 that is the same as or substantially the same as the second shape 587 of the verification symbol 530. Further, the robot control system 110 has the center coordinates of the first shape 785 shown in the verification portion 780 of the verification image 760.
Figure 2021066011
Is determined, and the center coordinates of the second shape 787 shown in the verification portion 780 of the verification image 760.
Figure 2021066011
Can be configured to determine. The robot control system 110 further provides verification image coordinates with respect to verification image coordinates 760 as follows:
Figure 2021066011
Can be determined as the average of the center coordinates of the first shape 785 and the center coordinates of the second shape 787 in the verification image 760.
Figure 2021066011

図4Bに戻ると、方法400は、ステップ457をさらに含むことができ、そのステップでは、制御回路111が、ステップ403の参照画像座標とステップ455の検証画像座標との間の偏差量に基づいて、偏差パラメーター値を判断し、参照画像座標及び検証画像座標は、両方とも参照箇所Nと関連付けられる。一例では、参照画像座標と検証画像座標との間の偏差は、参照画像座標と検証画像座標との間の距離であってもよい。例えば、参照箇所Nにおける参照画像座標が、

Figure 2021066011
として表され、参照箇所Nにおける検証画像座標が、
Figure 2021066011
として表されると仮定すると、参照箇所Nにおける偏差(例えば、距離)は、
Figure 2021066011
として表すことができる。 Returning to FIG. 4B, method 400 can further include step 457, in which control circuit 111 is based on the amount of deviation between the reference image coordinates of step 403 and the verification image coordinates of step 455. , The deviation parameter value is determined, and both the reference image coordinate and the verification image coordinate are associated with the reference point N. In one example, the deviation between the reference image coordinates and the verification image coordinates may be the distance between the reference image coordinates and the verification image coordinates. For example, the reference image coordinates at the reference point N are
Figure 2021066011
The verification image coordinates at the reference point N are expressed as
Figure 2021066011
Assuming that it is expressed as, the deviation (eg, distance) at reference point N is
Figure 2021066011
Can be expressed as.

上記で論じられたように、1つ以上の参照箇所が複数の参照箇所である態様では、制御回路111は、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように構成することができ、上記で論じられた検証画像座標は複数の検証画像座標のうちの1つである。そのような態様において、偏差パラメーター値は、複数の参照箇所に関する、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づき、それぞれの偏差量のうちの各偏差量は、(a)複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、(b)同じ参照箇所に対応する検証画像座標と、の間にある。複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標とすることができ、上記で論じられた検証画像は複数の検証画像のうちの1つである。制御回路111は、1つの休止期間内に複数の検証画像の全てを取り込むように、カメラを制御するように構成することができ、及び/又は異なる休止期間内に複数の検証画像を取り込むように、カメラを制御するように構成することができる。 As discussed above, in an embodiment in which one or more reference points are a plurality of reference points, the control circuit 111 is configured to identify a plurality of verification image coordinates corresponding to the plurality of reference points. The verified image coordinates discussed above are one of a plurality of verified image coordinates. In such an embodiment, the deviation parameter value is based on the respective deviation amounts between the plurality of reference image coordinates and the plurality of verification image coordinates with respect to the plurality of reference points, and each deviation amount of the respective deviation amounts is , (A) The reference image coordinates corresponding to each reference point of the plurality of reference points, and (b) the verification image coordinates corresponding to the same reference point. The plurality of verification image coordinates can be the coordinates in which the verification symbol appears in the plurality of verification images, and the verification image discussed above is one of the plurality of verification images. The control circuit 111 can be configured to control the camera to capture all of the plurality of verification images within one pause and / or capture the plurality of verification images within different pauses. , Can be configured to control the camera.

例えば、図6A及び図6Bに示されるように、複数の参照箇所が存在するとき、ロボット制御システム110は、複数の参照箇所に対応する複数のそれぞれの参照画像座標を判断することができ、複数の参照箇所に対応する複数のそれぞれの検証画像座標を判断することができ、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量を判断することができる。偏差パラメーター値は、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づくことができる。例えば、偏差パラメーターは、以下のように、それぞれの偏差量の平均とすることができる。

Figure 2021066011
For example, as shown in FIGS. 6A and 6B, when a plurality of reference points exist, the robot control system 110 can determine a plurality of reference image coordinates corresponding to the plurality of reference points, and a plurality of reference points can be determined. It is possible to determine each of the plurality of verification image coordinates corresponding to the reference points of the above, and it is possible to determine the amount of deviation between the plurality of reference image coordinates and the plurality of verification image coordinates. The deviation parameter value can be based on the respective deviation amount between the plurality of reference image coordinates and the plurality of verification image coordinates. For example, the deviation parameter can be the average of each deviation amount as follows.
Figure 2021066011

上記の式において、Nは第Nの参照箇所を指すことができ、一方、Mは参照箇所の全数を指すことができる。 In the above equation, N can refer to the Nth reference point, while M can refer to the total number of reference points.

図4Bに戻ると、方法400は、ステップ459をさらに含むことができ、そのステップでは、制御回路111が、偏差パラメーター値が規定された閾値(規定された偏差閾値と呼ばれる場合もある)を超過するかどうかを判断する。さらに、ステップ461において、制御回路111が、偏差パラメーター値が規定された閾値を超過すると判断するのに応答して、第2のカメラキャリブレーションを実行し、カメラに関する更新されたカメラキャリブレーション情報を特定することができる。例えば、規定された閾値を超過する偏差パラメーター値は、カメラのカメラキャリブレーション情報が古くなり、及び/又はロボット操作において望ましくない誤差量を生じさせる可能性が高いことを示す場合がある。それゆえ、偏差パラメーター値が規定された閾値を超過する場合には、カメラに関する第2のカメラキャリブレーションを実行して、カメラ(例えば、570)に関するカメラキャリブレーション情報を更新することができる。第2のカメラキャリブレーションは第1のカメラキャリブレーションと同じ技法を使用することができるが、カメラによって第1のカメラキャリブレーションより後に取り込まれた画像に基づくことができる。一例において、ステップ459が、偏差パラメーター値が規定された閾値を超過することを示す場合には、ロボット操作を中止又は中断することができ、その後、第2のカメラキャリブレーションを実行し始めることができ、第2のカメラキャリブレーションは、第2のカメラキャリブレーションのための画像を取り込むことによって開始することができる。第2のカメラキャリブレーションが完了し、カメラに関するカメラキャリブレーション情報が更新された後に、ロボット制御システム110は、更新されたカメラキャリブレーション情報を用いて、ロボット操作を再開することができる。 Returning to FIG. 4B, method 400 can further include step 459, at which step the control circuit 111 exceeds a defined threshold (sometimes referred to as a defined deviation threshold) for the deviation parameter value. Decide whether to do it. Further, in step 461, in response to the control circuit 111 determining that the deviation parameter value exceeds a defined threshold, a second camera calibration is performed to provide updated camera calibration information about the camera. Can be identified. For example, a deviation parameter value that exceeds a defined threshold may indicate that the camera calibration information of the camera is out of date and / or is likely to cause an undesired amount of error in robot operation. Therefore, if the deviation parameter value exceeds a defined threshold, a second camera calibration for the camera can be performed to update the camera calibration information for the camera (eg, 570). The second camera calibration can use the same technique as the first camera calibration, but can be based on images captured by the camera after the first camera calibration. In one example, if step 459 indicates that the deviation parameter value exceeds a defined threshold, the robot operation can be stopped or interrupted and then the second camera calibration can be started. Yes, the second camera calibration can be initiated by capturing an image for the second camera calibration. After the second camera calibration is completed and the camera calibration information about the camera is updated, the robot control system 110 can restart the robot operation by using the updated camera calibration information.

一実施形態において、制御回路111は、偏差パラメーター値が規定された閾値を超過しないと判断するのに応答して、さらなるカメラキャリブレーションを実行することなく(例えば、通信インターフェースを介してロボットに第4の動作コマンドを出力することによって)、休止期間後にロボット操作を継続するように、ロボットを制御するように構成することができる。そのような条件は、ステップ401からのカメラキャリブレーション情報が依然として十分に正確であること、及び望ましくない誤差量を受けることなく、ロボット操作が継続できることを示すことができる。 In one embodiment, the control circuit 111 responds to determining that the deviation parameter value does not exceed a defined threshold, without performing further camera calibration (eg, to the robot via a communication interface). (By outputting the operation command of 4), it can be configured to control the robot so that the robot operation is continued after the pause period. Such conditions can indicate that the camera calibration information from step 401 is still sufficiently accurate and that the robot operation can continue without receiving an undesired amount of error.

一実施形態において、制御回路111は、ロボットが位置する環境の温度を特定し、測定された温度に基づいて、規定された偏差閾値(偏差閾値を再規定するとも呼ばれる)又はカメラに関するカメラキャリブレーション情報の少なくとも一方を調整するように構成することができる。例えば、制御回路111は、温度を測定することによって、又は別のデバイス若しくは構成要素から温度データを受信することによって、環境の温度を特定することができる。そのような実施形態において、制御回路111は、測定された温度が規定範囲外にあるとき、規定された閾値を第1の値を有するように設定し、測定された温度が規定範囲内にあるとき、閾値を第1の値より低い第2の値を有するように設定することによって、測定された温度に基づいて、規定された閾値を調整するように構成することができる。例えば、過度に高い温度又は過度に低い温度は、カメラに変化を引き起こす場合がある。より具体的には、温度変化は、カメラの固有パラメーターに影響を及ぼす場合がある。例えば、カメラ内の構成要素は、温度が上昇するときに膨張し、温度が降下するときに収縮する場合があり、それがカメラの固有パラメーターに影響を及ぼす場合がある。それゆえ、温度又は温度変化の量に基づいて、規定された偏差閾値を調整することが有利な場合がある。例えば、温度が正常動作温度の範囲(例えば、周囲の室温に基づいて規定された範囲)内にあるとき、その温度はカメラに悪影響を及ぼさないので、規定された偏差閾値が下げられる場合がある。一方、温度が、正常動作温度の範囲外にあるとき、低温又は高温がカメラに悪影響を及ぼすので、偏差閾値が上げられる場合がある。代替の例において、偏差閾値は、さらなるカメラキャリブレーションをより頻繁にトリガーするために、温度が正常動作温度外にあるとき、より低くなるように規定することができる。この例において、偏差閾値は、温度が正常動作温度内にあるときに、さらなるカメラキャリブレーションをトリガーする頻度を下げるために、偏差閾値は、より高くなるように規定することができる。 In one embodiment, control circuit 111 identifies the temperature of the environment in which the robot is located and based on the measured temperature, a defined deviation threshold (also referred to as redefining the deviation threshold) or camera calibration for the camera. It can be configured to adjust at least one of the information. For example, the control circuit 111 can identify the temperature of the environment by measuring the temperature or by receiving temperature data from another device or component. In such an embodiment, the control circuit 111 sets a defined threshold to have a first value when the measured temperature is outside the specified range, and the measured temperature is within the specified range. When the threshold is set to have a second value lower than the first, it can be configured to adjust the defined threshold based on the measured temperature. For example, overly high or too low temperatures can cause changes in the camera. More specifically, temperature changes can affect the camera's unique parameters. For example, components within a camera may expand as the temperature rises and contract as the temperature drops, which can affect the camera's unique parameters. Therefore, it may be advantageous to adjust the defined deviation threshold based on the temperature or the amount of temperature change. For example, when the temperature is within the normal operating temperature range (eg, the range defined based on the ambient room temperature), the temperature does not adversely affect the camera and may lower the defined deviation threshold. .. On the other hand, when the temperature is outside the normal operating temperature range, the deviation threshold may be raised because the low temperature or the high temperature adversely affects the camera. In an alternative example, the deviation threshold can be specified to be lower when the temperature is outside the normal operating temperature in order to trigger further camera calibration more often. In this example, the deviation threshold can be defined to be higher in order to reduce the frequency of triggering further camera calibration when the temperature is within normal operating temperature.

図8は、カメラキャリブレーション及びカメラキャリブレーションの検証が実行される例示的なタイムライン800を図示する。以下の実施例は、カメラキャリブレーションを検証することを論じているが、これらはより一般的に、ロボット操作システムのために実行される任意のタイプのキャリブレーション操作を検証することに適用され得る。ロボット操作開始前、図1A又は図1Bのロボット制御システム110は、キャリブレーション期間811中に、第1のカメラキャリブレーションを実行して、カメラ(例えば、図5A又は図5Bのカメラ570)に関するカメラキャリブレーション情報を判断する。第1のカメラキャリブレーションが完了した後に、ロボット制御システム110は、参照取得期間813中に、種々の参照箇所において検証記号(例えば、検証記号530)の参照画像を取り込み、それぞれの参照画像(例えば、図7Aの参照画像710)内に検証記号が現れる参照画像座標を判断する。参照画像座標を特定すると、参照取得期間813後に、ロボット操作を開始することができる。 FIG. 8 illustrates an exemplary timeline 800 in which camera calibration and camera calibration verification are performed. The following examples discuss verifying camera calibration, but these can more generally be applied to verify any type of calibration operation performed for a robotic operating system. .. Prior to the start of robot operation, the robot control system 110 of FIG. 1A or FIG. 1B performs a first camera calibration during the calibration period 811 and is associated with a camera (eg, camera 570 of FIG. 5A or FIG. 5B). Determine the calibration information. After the first camera calibration is completed, the robot control system 110 captures reference images of verification symbols (eg, verification symbol 530) at various reference points during the reference acquisition period 813 and each reference image (eg, verification symbol 530). , The reference image coordinates in which the verification symbol appears in the reference image 710) of FIG. 7A are determined. When the reference image coordinates are specified, the robot operation can be started after the reference acquisition period 813.

ロボット操作開始後、作業期間815中に、ロボット制御システム110は、1つの以上のロボット作業を実行するようにロボット(例えば、図5A又は図5Bのロボット550)を制御し、それゆえ、一実施形態において、検証画像(例えば、図7Bの検証画像760)を収集できない場合がある。ロボット制御システム110は、作業期間815後にロボットがロボット作業を実行していない休止期間817を検出する。それゆえ、休止期間817中に、ロボット制御システム110は、参照箇所のうちの第1の組の1つ以上の参照箇所(例えば、610A及び610B)においてそれぞれ、検証記号の1つ以上の検証画像を取り込む。休止期間817が終了した後、作業期間819中に、ロボット制御システム110は、1つ以上のロボット作業を実行するようにロボットを制御するのを再開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム110は、作業期間817後に、ロボットがロボット作業を実行していない休止期間821を検出する。休止期間821中に、ロボット制御システム110は、参照箇所のうちの第2の組の1つ以上の参照箇所(例えば、610C〜610E)においてそれぞれ、検証記号の1つ以上の検証画像を取り込む。休止期間821後、ロボット作業期間823中に、ロボット制御システム110は、1つ以上のロボット作業を実行するようにロボットを制御するのを再開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム110は、作業期間823後にロボットがロボット作業を実行していない休止期間825を検出する。休止期間825中に、ロボット制御システム110は、参照箇所のうちの第3の組の1つ以上の位置(例えば、610F〜610I)においてそれぞれ、検証記号の1つ以上の検証画像を取り込む。 After the start of robot operation, during work period 815, the robot control system 110 controls the robot (eg, robot 550 of FIG. 5A or FIG. 5B) to perform one or more robot tasks, and therefore one implementation. In the form, it may not be possible to collect the verification image (for example, the verification image 760 of FIG. 7B). The robot control system 110 detects a pause period 817 in which the robot is not executing the robot work after the work period 815. Therefore, during the pause period 817, the robot control system 110 will use one or more verification images of verification symbols, respectively, at one or more reference points (eg, 610A and 610B) in the first set of reference points. To capture. After the pause period 817 ends, during the work period 819, the robot control system 110 resumes controlling the robot to perform one or more robot tasks, and therefore may not collect verification images. is there. After the work period 817, the robot control system 110 detects a pause period 821 in which the robot is not executing the robot work. During the pause period 821, the robot control system 110 captures one or more verification images of the verification symbols, respectively, at one or more reference points (eg, 610C to 610E) in the second set of reference points. After the pause period 821, during the robot work period 823, the robot control system 110 may resume controlling the robot to perform one or more robot work, and therefore may not collect verification images. The robot control system 110 detects a pause period 825 in which the robot is not performing robot work after the work period 823. During the pause period 825, the robot control system 110 captures one or more verification images of the verification symbols, respectively, at one or more positions (eg, 610F to 610I) of the third set of reference points.

休止期間817、821及び825中に取り込まれる検証画像(例えば、760)は、参照箇所のうちの異なるそれぞれの位置において取り込むことができる。例えば、第1の組、第2の組及び第3の組の1つ以上の位置は、互いに異なることができ、重ならないようにすることができる。さらに、休止期間825中に、ロボット制御システム110は、検証画像取り込みが完了したと判断することができ、それは、カメラキャリブレーションの検証のために十分な数の検証画像が取り込まれたことを示すことができる。一実施形態において、ロボット制御システム110は、全ての参照箇所(例えば、610A〜610I)において検証画像が取り込まれた場合に、検証画像取り込みが完了したと判断することができる。一実施形態において、ロボット制御システム110は、検証画像の数が規定された目標総数に達した場合に、検証画像取り込みが完了したと判断することができる。 Verification images (eg, 760) captured during the rest periods 817, 821, and 825 can be captured at different locations within the reference location. For example, one or more positions of the first set, the second set, and the third set can be different from each other and can be prevented from overlapping. Further, during the pause period 825, the robot control system 110 can determine that the verification image capture is complete, which indicates that a sufficient number of verification images have been captured for verification of camera calibration. be able to. In one embodiment, the robot control system 110 can determine that the verification image capture is complete when the verification image is captured at all the reference points (for example, 610A to 610I). In one embodiment, the robot control system 110 can determine that the verification image capture is complete when the number of verification images reaches the specified target total number.

検証画像取り込みが完了したと判断すると、ロボット制御システム110は、それぞれの検証画像内に検証記号が現れる検証画像座標を特定する。その後、ロボット制御システム110は、参照画像座標からの検証画像座標のそれぞれの偏差量に基づいて、偏差パラメーター値を特定する。偏差パラメーターが規定された閾値を超過する場合には、ロボット制御システム110は、別のカメラキャリブレーションを実行する。しかしながら、この例では、偏差パラメーターは規定された閾値を超過せず、それゆえ、ロボット制御システム110は、さらなるカメラキャリブレーションを実行することなく、休止期間825後、作業期間827中にロボット作業を実行し続ける。 When it is determined that the verification image acquisition is completed, the robot control system 110 specifies the verification image coordinates in which the verification symbol appears in each verification image. After that, the robot control system 110 specifies the deviation parameter value based on the respective deviation amounts of the verification image coordinates from the reference image coordinates. If the deviation parameter exceeds a defined threshold, the robot control system 110 performs another camera calibration. However, in this example, the deviation parameter does not exceed the defined threshold and therefore the robot control system 110 performs robot work during the work period 827 after the rest period 825 without performing further camera calibration. Keep running.

図9は、図8のタイムラインに関する検証プロセスを示す例示的なフロー図900を図示する。ステップ901において、図1A、図1B、又は図1Cのロボット制御システム110が、カメラ(例えば、図5A又は図5Bのカメラ570)の第1のカメラキャリブレーションを実行して、カメラのカメラキャリブレーション情報を判断する。ステップ903において、ロボット制御システム110が、検証記号(例えば、図5A又は図5Bの検証記号530)を参照箇所に動かすように、ロボット(例えば、図5A又は図5Bのロボット550)を制御して、カメラを介して、それぞれの参照箇所において検証記号の参照画像(例えば、図7Aの参照画像710)のそれぞれの事例を取り込む。ステップ905において、ロボット制御システム110が、第1のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて、ロボットのロボット操作を開始する。 FIG. 9 illustrates an exemplary flow diagram 900 showing the verification process for the timeline of FIG. In step 901, the robot control system 110 of FIG. 1A, FIG. 1B, or FIG. 1C performs a first camera calibration of the camera (eg, camera 570 of FIG. 5A or FIG. 5B) to calibrate the camera. Judge the information. In step 903, the robot control system 110 controls the robot (eg, robot 550 of FIG. 5A or FIG. 5B) to move the verification symbol (eg, verification symbol 530 of FIG. 5A or FIG. 5B) to a reference location. , Each case of the reference image of the verification symbol (for example, the reference image 710 of FIG. 7A) is captured at each reference point via the camera. In step 905, the robot control system 110 starts robot operation of the robot based on the camera calibration information obtained from the first camera calibration.

ステップ907において、ロボット制御システム110が、ロボット操作中に休止期間を検出する。ステップ909において、ロボット制御システム110が、休止期間中に検証記号(例えば、図5A又は図5Bの検証記号530)を参照箇所のうちの1つ以上の参照箇所に動かすように、ロボット(例えば、図5A又は図5Bのロボット550)を制御し、カメラを介して、参照箇所のうちの1つ以上の参照箇所においてそれぞれ1つ以上の検証画像(例えば、図7Bの検証画像760)を取り込む。場合によっては、ロボット制御システム110は、検証記号を、休止期間の持続時間が許すだけ多くの参照箇所に動かすようにロボットを制御することができる。ステップ911において、ロボット制御システム110が、取り込まれた検証画像の全数が規定された目標総数に達したか否かを判断する。取り込まれた検証画像の全数が目標総数に達していなかった場合には、ロボット制御システム110は、より多くの検証画像を取り込むために、ステップ907に戻ることによって、ロボット操作中に別の後続の休止期間を検出しようと試みる。 In step 907, the robot control system 110 detects a pause period during robot operation. In step 909, the robot control system 110 moves the verification symbol (eg, verification symbol 530 of FIG. 5A or FIG. 5B) to one or more of the reference points during the pause period. The robot 550) of FIG. 5A or FIG. 5B is controlled, and one or more verification images (for example, the verification image 760 of FIG. 7B) are captured at one or more reference points among the reference points via the camera. In some cases, the robot control system 110 can control the robot to move the verification symbols to as many reference points as the duration of the pause allows. In step 911, the robot control system 110 determines whether or not the total number of captured verification images has reached the defined target total number. If the total number of captured verification images has not reached the target total number, the robot control system 110 returns to step 907 to capture more verification images, thereby another subsequent subsequent operation during robot operation. Attempts to detect a dormant period.

取り込まれた検証画像の全数が、目標総数に達していた場合には、ステップ913において、ロボット制御システム110は、参照画像(例えば、710)及び検証画像(例えば、760)に基づいて、カメラキャリブレーションの検証を実行する。カメラキャリブレーションの検証は、偏差パラメーターを生成する。ステップ915において、ロボット制御システム110が、偏差パラメーターが規定された閾値を超過するか否かを判断する。偏差パラメーターが閾値を超過していない場合には、ロボット制御システム110は、ステップ919において、取り込まれた検証画像の全数を0にリセットすることができ、休止期間後にロボット操作を継続することができ、その一方で、ステップ907に戻ることによって、新たな1組の検証画像を取り込むために別の休止期間を検出しようと試みる。 If the total number of captured verification images has reached the target total number, in step 913, the robot control system 110 performs camera calibration based on the reference image (eg, 710) and the verification image (eg, 760). Execute verification of the operation. Camera calibration verification produces deviation parameters. In step 915, the robot control system 110 determines whether the deviation parameter exceeds a defined threshold. If the deviation parameter does not exceed the threshold, the robot control system 110 can reset all of the captured verification images to 0 in step 919 and continue the robot operation after the pause period. On the other hand, by returning to step 907, an attempt is made to detect another pause period to capture a new set of verification images.

偏差パラメーターが閾値を超過する場合には、ロボット制御システム110は、ロボット操作を中止し、ステップ917において、第2のカメラキャリブレーションを実行することができる。917における第2のカメラキャリブレーション後に、ロボット制御システム110は、921において、取り込まれた検証画像の全数を0にリセットすることができる。ステップ921後に、そのフロー図はステップ903に戻ることができ、ロボット制御システム110が、検証記号(例えば、530)を参照箇所に動かすように、ロボット(例えば、550)を制御し、カメラ(例えば、570)を介して、それぞれの参照箇所において検証記号の新たな1組の参照画像(例えば、710)を取り込み、それにより、後の検証のために、新たな1組の参照画像を使用できるようになる。 If the deviation parameter exceeds the threshold, the robot control system 110 can stop the robot operation and perform a second camera calibration in step 917. After the second camera calibration in 917, the robot control system 110 can reset the total number of captured verification images to 0 in 921. After step 921, the flow diagram can return to step 903, where the robot control system 110 controls the robot (eg, 550) to move the verification symbol (eg, 530) to the reference location and the camera (eg, 550). Through 570), a new set of reference images of verification symbols (eg, 710) can be captured at each reference location, whereby a new set of reference images can be used for later verification. Will be.

上記で言及されたように、本開示の一態様は、図6A〜図6Dのロボット550のロボットアーム553等のロボットアーム上の物理的位置に配置された、共通の検証記号(例えば、図6A〜図6Dの検証記号530)を取り込むか、又はそれ以外の方法で表す両方の参照画像(例えば、図7Aの参照画像710)及び検証画像(例えば、図7Bの検証画像760)を受信することを含む。一実施形態において、参照画像(例えば、710)は、早期の時点等の、第1の時点において生成され得、一方、検証画像(例えば、760)は、例えば、後の時点等の、第2の時点において生成される新しい画像であり得る。場合によっては、参照画像は、図1Cのロボット制御システム110等の、コンピューティングシステムによって生成される1つ以上のコマンド(又は、1つ以上の命令とも呼ばれる)に基づいて、生成されてもよい。場合によっては、1つ以上のコマンドは、動作コマンド及び/又はカメラコマンドを含むことができる。動作コマンドは、ロボットアームが検証記号を参照箇所に動かすためのものであり得る。例えば、動作コマンドは、ロボットアームに特定のポーズを採用させることができ、それによって検証記号が、ロボットアームの特定のポーズと関連付けられた参照箇所に動かされる。カメラコマンドは、図6A〜図6Dのカメラ570等のカメラに、ロボットアームが特定のポーズにある間、及び/又は検証記号が特定のポーズと関連付けられた参照箇所にある間に参照画像を生成させるためのものであり得る。それゆえ、参照画像は、参照箇所に対応し得る。同様に、検証画像は、動作コマンド及び/又はカメラコマンド等の1つ以上のコマンドに基づいて生成されてもよく、これは、参照画像に関して上記で論じられる動作コマンド及び/又はカメラコマンドと同一又は類似していてもよい。検証画像に関する1つ以上のコマンドは、ロボット制御システム110等の参照画像を生成させた同じコンピューティングシステムによって、又は別のコンピューティングシステムによって生成することができる。この実施例において、検証画像を生成するための1つ以上のコマンドは、検証記号を再び参照箇所に動かすことができる。例えば、1つ以上のコマンドは、ロボットアームに、参照箇所と関連付けられる特定のポーズを再び採用させることができる。 As mentioned above, one aspect of the present disclosure is a common verification symbol (eg, FIG. 6A) located at a physical location on a robot arm, such as the robot arm 553 of the robot 550 of FIGS. 6A-6D. -Receiving both reference images (eg, reference image 710 of FIG. 7A) and verification images (eg, verification image 760 of FIG. 7B) that capture the verification symbol 530) of FIG. 6D or otherwise represent it. including. In one embodiment, the reference image (eg, 710) can be generated at a first time point, such as an early time point, while the verification image (eg, 760) can be generated at a second time point, eg, later time point. It can be a new image generated at the time of. In some cases, the reference image may be generated based on one or more commands (or also referred to as one or more commands) generated by a computing system, such as the robot control system 110 of FIG. 1C. .. In some cases, one or more commands may include operation commands and / or camera commands. The motion command can be for the robot arm to move the verification symbol to the reference point. For example, an action command can cause the robot arm to adopt a particular pose, thereby moving the verification symbol to a reference point associated with the particular pose of the robot arm. The camera command generates a reference image on a camera such as the camera 570 of FIGS. 6A-6D while the robot arm is in a particular pose and / or the verification symbol is in a reference location associated with the particular pose. It can be for letting you. Therefore, the reference image may correspond to a reference location. Similarly, the verification image may be generated based on one or more commands such as motion commands and / or camera commands, which may be the same as the motion commands and / or camera commands discussed above for the reference image. It may be similar. One or more commands for the verification image can be generated by the same computing system that generated the reference image, such as the robot control system 110, or by another computing system. In this embodiment, one or more commands for generating a verification image can move the verification symbol back to the reference point. For example, one or more commands can cause the robot arm to re-adopt a particular pose associated with a reference.

上記の実施例において、検証画像を受信するコンピューティングシステムは、それを参照画像に対して比較して、キャリブレーション情報が依然として十分に正確であるかどうかを判断することができる。キャリブレーション情報は、ロボット操作システムに対して実行されるキャリブレーション操作によって判断され得る。システムキャリブレーションとも呼ばれ得るキャリブレーション操作は、カメラキャリブレーション、ロボットキャリブレーション、又はロボット操作システムの1つ以上の構成要素を制御するための任意の他のキャリブレーションを含むことができる。一実施形態において、キャリブレーション情報は、カメラキャリブレーション情報、ロボットキャリブレーション情報、又は任意の他のキャリブレーション情報を含むことができる。上記で論じられる比較は、例えば、参照画像内に検証記号が現れる箇所と、検証画像内に検証記号が現れる箇所との間の差に基づいている、偏差パラメーター値を判断することを含み得る。偏差パラメーター値が規定された偏差閾値(例えば、所定の偏差閾値)を超過する場合等、大きすぎる場合、コンピューティングシステムは、キャリブレーション情報がもはや十分に正確でないと判断することができる。そのような状況において、キャリブレーション情報は、ミスキャリブレーション又はミスアライメントを反映する、又は含むと称される場合がある。カメラキャリブレーション情報がミスキャリブレーション又はミスアライメントを含む場合、カメラの固有特性(例えば、投影特性又はレンズ歪み特性)を正確に記述することができなくなり、及び/又はカメラとその外部環境との間の関係(例えば、カメラとロボットのベースとの間の空間的関係)を正確に記述することができなる場合がある。ロボットキャリブレーション情報がミスキャリブレーション又はミスアライメントを含むとき、ロボットアーム又は他の構成要素を所望の箇所及び/又は向きに正確に動かすことに関して信頼できない可能性がある。 In the above embodiment, the computing system receiving the verification image can compare it to the reference image to determine if the calibration information is still sufficiently accurate. The calibration information can be determined by the calibration operation performed on the robot operating system. Calibration operations, which may also be referred to as system calibration, can include camera calibration, robot calibration, or any other calibration for controlling one or more components of the robot operating system. In one embodiment, the calibration information can include camera calibration information, robot calibration information, or any other calibration information. The comparison discussed above may include, for example, determining a deviation parameter value based on the difference between where the validation symbol appears in the reference image and where the validation symbol appears in the validation image. If the deviation parameter value is too large, such as when it exceeds a defined deviation threshold (eg, a predetermined deviation threshold), the computing system can determine that the calibration information is no longer sufficiently accurate. In such situations, the calibration information may be referred to as reflecting or including miscalibration or misalignment. If the camera calibration information includes miscalibration or misalignment, it will not be possible to accurately describe the camera's unique characteristics (eg, projection or lens distortion characteristics) and / or between the camera and its external environment. (For example, the spatial relationship between the camera and the base of the robot) may not be able to be accurately described. When robot calibration information includes miscalibration or misalignment, it can be unreliable with respect to accurately moving the robot arm or other component in the desired location and / or orientation.

一実施形態において、上記の参照画像と検証画像とを比較する方法は、複数の検証記号を含むことができる。例えば、図10A〜図10Cは、複数の検証記号530A〜530Cのグループを図示する。より具体的には、検証記号のグループ530A〜530Cは、ロボット操作システム500の一実施形態とすることができる、ロボット操作システム500Aの一部であってもよい。ロボット操作システム500Aは、ロボット550A(ロボット550の一実施形態であり得る)、カメラ視野510を有するカメラ570、及びロボットコントローラー110等のコンピューティングシステムを含み得る。ロボット550と同様に、ロボット550Aは、互いに動作可能に取り付けられる複数のアーム部分を含む、ロボットアーム553を有する。例えば、複数のアーム部分は、リンク554A〜554Eを含み得、リンク554Eに取り付けられるロボットハンド555等のロボットエンドエフェクタを含む。場合によっては、図10A〜図10Cに図示されるように、複数のアーム部分が、ロボット550Aのベース552からロボットエンドエフェクタ(例えば、ロボットハンド555)に直列に接続、又は別様に配置されてもよい。そのような場合、一連のアーム部分は、運動鎖を形成し得、その一連の特定のアーム部分の動作は、その特定のアーム部分の下流のいくつか又は全てのアーム部分の動作を引き起こし得る。特定のアーム部分の下流にあるアーム部分は、一連のアーム部分において特定のアーム部分に続くアーム部分を指し得る。例えば、リンク554B〜554E、及びロボットハンド555は、リンク554Aの下流にあり得る。言い換えると、リンク554Aは、リンク554B〜554Eの上流であり得、ロボットハンド555の上流であり得る。この実施例では、一連のアーム部分又はその部分集合内の各アーム部分は、一連のアーム部分においてアーム部分の直前にあるそれぞれのアーム部分に対して回動可能であり、伸縮可能であり、後退可能であり、又は別様に動作可能であり得る。例えば、リンク554Cは、リンク554Bに対して回動可能であり得、リンク554Bは、図10Aに図示される一連のアーム部分において、リンク554Cの直前にあるアーム部分であり得る。図10A〜図10Cの実施例では、リンク554A〜554E及びロボットハンド555は、ジョイント556A〜556Dを介して互いに動作可能に取り付けることができる。 In one embodiment, the method of comparing the reference image with the verification image may include a plurality of verification symbols. For example, FIGS. 10A-10C illustrate groups of a plurality of verification symbols 530A-530C. More specifically, the verification symbol groups 530A to 530C may be a part of the robot operation system 500A, which can be an embodiment of the robot operation system 500. The robot operating system 500A may include a computing system such as a robot 550A (which may be an embodiment of the robot 550), a camera 570 having a camera field of view 510, and a robot controller 110. Like the robot 550, the robot 550A has a robot arm 553 that includes a plurality of arm portions that are operably attached to each other. For example, the plurality of arm portions may include links 554A-554E and include a robot end effector such as a robot hand 555 attached to the link 554E. In some cases, as illustrated in FIGS. 10A-10C, a plurality of arm portions are connected in series from the base 552 of the robot 550A to a robot end effector (eg, robot hand 555) or otherwise arranged. May be good. In such a case, the series of arm portions may form a chain of motion, and the movement of the series of specific arm portions may cause the movement of some or all of the arm portions downstream of that particular arm portion. An arm portion downstream of a particular arm portion may refer to an arm portion following the particular arm portion in a series of arm portions. For example, links 554B-554E, and robot hand 555 may be downstream of link 554A. In other words, the link 554A can be upstream of the links 554B-554E and can be upstream of the robot hand 555. In this embodiment, each arm portion within a series of arm portions or a subset thereof is rotatable, telescopic, and retractable with respect to each arm portion immediately preceding the arm portion in the series of arm portions. It is possible, or it can operate differently. For example, the link 554C may be rotatable with respect to the link 554B, which may be the arm portion immediately preceding the link 554C in the series of arm portions illustrated in FIG. 10A. In the embodiments of FIGS. 10A-10C, the links 554A-554E and the robot hand 555 can be operably attached to each other via joints 556A-556D.

上記で論じられるように、ロボットアーム(例えば、553)は、異なるポーズに動かされてもよく、ポーズは、ロボットアームのアーム部分(例えば、リンク)によって形成される形状、又はより一般的には幾何学形状を指してもよい。例えば、図10A〜図10Cは、ロボットアーム553に関する3つの異なるそれぞれのポーズを図示する。一実施形態において、図10A〜図10Cにおけるロボット550Aは、互いに対してリンク554A〜554E及びロボットハンド555を回動させる、並進させる(例えば、伸縮若しくは後退させる)、又は別様に動かすように構成される1つ以上のアクチュエータ(例えば、モーター)を含むことができる。そのような実施形態において、図10A〜図10Cのポーズの各々は、1つ以上のアクチュエータによって出力される動作の特定の順列と関連付けられ得る。例えば、順列は、ロボットアーム553の種々のアーム部分が、種々のアーム部分の直前のそれぞれのアーム部分に対して回動された角度値、及び/又は種々のアーム部分が、種々のアーム部分の直前のそれぞれのアーム部分に対して並進された距離を記述し得る。一例として、図10A〜図10Cにおけるポーズは、それぞれ、リンク554Aに対するリンク554Bの回動方向及び量、リンク554Bに対するリンク554Cの回動方向及び量、リンク554Cに対するリンク554Dの回動方向及び量、リンク554Dに対するリンク554Eの回動方向及び量、及びリンク554Eに対するロボットハンド555の方向及び回動を記述する5つの角度値の異なる順列と関連付けられ得る。 As discussed above, the robot arm (eg, 535) may be moved into different poses, where the pose is the shape formed by the arm portions (eg, links) of the robot arm, or more generally. It may refer to a geometric shape. For example, FIGS. 10A-10C illustrate each of the three different poses for the robot arm 553. In one embodiment, the robots 550A in FIGS. 10A-10C are configured to rotate, translate (eg, extend or retract or retract), or otherwise move the links 554A-554E and the robot hand 555 with respect to each other. It can include one or more actuators (eg, motors) that are In such an embodiment, each of the poses of FIGS. 10A-10C may be associated with a particular permutation of motion output by one or more actuators. For example, in a permutation, the various arm portions of the robot arm 553 are rotated with respect to the respective arm portions immediately preceding the various arm portions, and / or the various arm portions are of various arm portions. A translated distance can be described for each arm portion immediately preceding. As an example, the poses in FIGS. 10A-10C are the rotation direction and amount of the link 554B with respect to the link 554A, the rotation direction and amount of the link 554C with respect to the link 554B, the rotation direction and amount of the link 554D with respect to the link 554C, respectively. It can be associated with a different permutation of five angular values that describe the direction and amount of rotation of link 554E with respect to link 554D and the direction and rotation of robot hand 555 with respect to link 554E.

上記で言及されたように、図10A〜図10Cは、ロボットアーム553の1つ以上のアーム部分上に配置される複数の検証記号530A〜530Cのグループを図示する。より具体的には、検証記号530Aは、リンク554B上に配置され得、一方で検証記号530Bは、リンク554C上に配置され得、検証記号530Cは、ロボットハンド555上に配置され得る。場合によっては、ロボット(例えば、ロボット550)は、任意の数の検証記号を有することができ、それらは、任意の方法でロボット上に配置されてもよい。例えば、検証記号530A〜530Cは、ロボット550A上のそれぞれの箇所にランダムに配置され得る。場合によっては、検証記号(例えば、530A〜530C)の数及び相対配置は、1つ以上の規定された制約を受ける場合もある。例えば、それらの相対配置は、隣接する検証記号(例えば、530B及び530C)が、5cmの規定された最小距離等の、規定された最小距離(記号間隔とも呼ばれる)によって区切されることを必要とする、規定された制約の対象となり得る。そのような制約は、コンピューティングシステム(例えば、ロボットコントローラー110)が、隣接する検証記号(例えば、530C)について特定の検証記号(例えば、530B)を混同する可能性を低減し得る。 As mentioned above, FIGS. 10A-10C illustrate a group of plurality of verification symbols 530A-530C arranged on one or more arm portions of the robot arm 553. More specifically, the verification symbol 530A may be placed on the link 554B, while the verification symbol 530B may be placed on the link 554C and the verification symbol 530C may be placed on the robot hand 555. In some cases, the robot (eg, robot 550) can have any number of verification symbols, which may be placed on the robot in any way. For example, the verification symbols 530A to 530C may be randomly placed at each location on the robot 550A. In some cases, the number and relative arrangement of verification symbols (eg, 530A-530C) may be subject to one or more defined constraints. For example, their relative arrangement requires that adjacent verification symbols (eg, 530B and 530C) be separated by a specified minimum distance (also called symbol spacing), such as a specified minimum distance of 5 cm. Can be subject to specified constraints. Such constraints can reduce the likelihood that a computing system (eg, robot controller 110) will confuse a particular verification symbol (eg, 530B) with respect to an adjacent verification symbol (eg, 530C).

図11A〜図11Cは、複数の検証記号1130A〜1130Cのグループを含む別の例を図示する。より具体的には、検証記号1130A〜1130Cは、ロボット1150、カメラ視野1110を有するカメラ1170、及びロボットコントローラー110等のコンピューティングシステムを含むロボット操作システム1100の一部であり得る。ロボット操作システム1100及びカメラ1170は、例えば、各々が、ロボット操作システム500及びカメラ570のそれぞれ一実施形態とすることができる。ロボット1150は、リンク1154A〜1154E等の複数のアーム部分と、ロボットハンド1155(又は他のロボットエンドエフェクタ)と、を含むロボットアーム1153を有し得る。複数のアーム部分は、例えば、ジョイント1156A〜1156Dを介して、互いに動作可能に取り付けられ得る。図11Aは、ロボットアーム1153が第1のポーズであることを示し、図11Bは、ロボットアーム1153が第2のポーズであることを示す。図10A〜図10Cと同様に、複数のアーム部分は、ロボット1150のベース1152からロボットハンド1155まで、直列に接続又は別様に配置されてもよい。一連のアーム部分は、運動鎖を形成し得、その運動鎖において、一連の一アーム部分の動作は、鎖内の下流のアーム部分に伝播し得る。図11Aに図示されるように、検証記号1130Aはリンク1154C上に配置され得、一方、検証記号1130Bは、リンク1154D上に配置され得、検証記号1130Cは、ロボットハンド1155上に配置され得る。 11A-11C illustrate another example that includes a plurality of groups of verification symbols 1130A-1130C. More specifically, the verification symbols 1130A to 1130C may be part of a robot operating system 1100 including a computing system such as a robot 1150, a camera 1170 having a camera field of view 1110, and a robot controller 110. Each of the robot operation system 1100 and the camera 1170 can be an embodiment of the robot operation system 500 and the camera 570, respectively. The robot 1150 may have a robot arm 1153 including a plurality of arm portions such as links 1154A-1154E and a robot hand 1155 (or other robot end effector). The plurality of arm portions may be operably attached to each other, for example, via joints 1156A-1156D. FIG. 11A shows that the robot arm 1153 is in the first pose, and FIG. 11B shows that the robot arm 1153 is in the second pose. Similar to FIGS. 10A-10C, the plurality of arm portions may be connected in series or otherwise arranged from the base 1152 of the robot 1150 to the robot hand 1155. A series of arm portions can form a movement chain, in which the movement of one arm portion of the series can propagate to the downstream arm portion within the chain. As illustrated in FIG. 11A, the verification symbol 1130A may be located on the link 1154C, while the verification symbol 1130B may be located on the link 1154D and the verification symbol 1130C may be located on the robot hand 1155.

一実施形態において、検証記号(例えば、530A〜530C、又は1130A〜1130C)のグループのうちの1つ以上の検証記号は、円形形状を有することができる。例えば、図10A〜図10Cの検証記号530A〜530C又は図11A〜図11Cの検証記号1130A〜1130Cの各々は、図5Cに関して上記で論じられるように、リングパターン、又はより具体的には円形リングであり得る。図5Cの例では、環パターンは、同心円領域(例えば、531及び533)又は同心円(例えば、535及び537)を有し得る。同心円形領域又は同心円形は、例えば、内円領域及び外円領域、又は内円並びに外円を含んでもよい。図11Cに図示される実施例では、検証記号1130Aは、一例では、半径r1,1130Aを有する内円及び半径r2,1130Aを有する外円を有する円形リングとして形成することができる。この実施例において、検証記号1130Bは、半径r1,1130Bを有する内円及び半径r2,1130Bを有する外円を有する別の円形リングであってもよい。検証記号1130Cはまた、半径r1,1130Cを有する内円及び半径r2,1130Cを有する外円を有する円形として成形されてもよい。 In one embodiment, one or more verification symbols in the group of verification symbols (eg, 530A to 530C, or 1130A to 1130C) can have a circular shape. For example, each of the verification symbols 530A-530C of FIGS. 10A-10C or the verification symbols 1130A-1130C of FIGS. 11A-11C is a ring pattern, or more specifically a circular ring, as discussed above with respect to FIG. 5C. Can be. In the example of FIG. 5C, the ring pattern may have concentric regions (eg, 513 and 533) or concentric circles (eg, 535 and 537). The concentric circular region or concentric circle may include, for example, an inner circle region and an outer circle region, or an inner circle and an outer circle. In the example illustrated in FIG. 11C, the verification symbols 1130A, in one example, can be formed as a circular ring having an outer circle having an inner circle and a radius r 2,1130A having a radius r 1,1130A. In this embodiment, verification symbol 1130B is another may be a circular ring having an outer circle having an inner circle and a radius r 2,1130B having a radius r 1,1130B. Verification symbol 1130C may also be shaped as a circle having an outer circle having an inner circle and a radius r 2,1130C having a radius r 1,1130C.

一実施形態において、検証記号(例えば、530A〜530C、又は1130A〜1130C)のグループは、異なるそれぞれのサイズを有するそれぞれの円形リングとして成形されてもよい。例えば、図11Cに図示されるように、検証記号1130A〜1130Cは、それぞれの外円領域又は外円について異なる半径を有し得る。すなわち、それらは、全てが互いに異なるr2,1130A、r2,1130B、及びr2,1130Cを有し得る。一実施形態において、検証記号1130A〜1130Cのための円形リングは、それらの内円領域又は内円のそれぞれの半径と、それらの外円領域又は外円のそれぞれの半径との間に異なる比率を有することができる。すなわち、比r2,1130A/r1,1130A、比r2,1130B/r1,1130B、及び比r2,1130C/r1,1130Cは、全て互いに異なってよい。以下でより詳細に論じられるように、コンピューティングシステム(例えば、ロボット制御システム110)は、検証記号1130A/1130B/1130Cを形成するそれぞれの円形リングのサイズに基づいて、及び/又は円形リングの内円の半径と円形リングの外円の半径との間のそれぞれの比に基づいて、検証記号1130A/1130B/1130Cを識別するように構成されてもよい。 In one embodiment, groups of verification symbols (eg, 530A-530C, or 1130A-1130C) may be molded as respective circular rings with different sizes. For example, as illustrated in FIG. 11C, the verification symbols 1130A-1130C may have different radii for each outer circle region or outer circle. That is, they may have r 2,1130A , r 2,1130B , and r 2,1130C , all of which are different from each other. In one embodiment, the circular rings for verification symbols 1130A-1130C have different ratios between their inner circle regions or their respective radii of the inner circle and their respective outer circle regions or their respective radii of the outer circle. Can have. That is, the ratio r 2,1130A / r 1,1130A , the ratio r 2,1130B / r 1,1130B , and the ratio r 2,1130C / r 1,1130C may all be different from each other. As discussed in more detail below, computing systems (eg, robotic control systems 110) are based on the size of each circular ring forming the verification symbols 1130A / 1130B / 1130C and / or within the circular ring. It may be configured to identify the verification symbols 1130A / 1130B / 1130C based on their respective ratios between the radius of the circle and the radius of the outer circle of the circular ring.

一実施形態において、検証記号(例えば、図10A〜図10Cの530a〜530C、又は図11A〜図11Bの1130A〜1130C)の一部又は全ては、ロボットアーム(例えば、533又は1130)上に永久に取り付けられてもよく、又は別様に配置されてもよい。そのような実施形態は、カメラキャリブレーションを実行するために使用されるキャリブレーションパターン(例えば、図5A及び図5Bの520)を含んでよく、これは、カメラキャリブレーションに関して十分に正確な結果を得るために、非常に複雑であるパターンを収容するのに十分な大きさ、及び/又は十分な数のパターン要素を収容するのに足りる大きさであるサイズを有する。しかしながら、キャリブレーションパターン(例えば、520)のかかる大きいサイズは、キャリブレーションパターン(例えば、520)の大きいサイズが、通常のロボット操作を妨害する可能性があるため、ロボットアームの永久部分又は別様に持続的な部分であるには大きすぎることになり得る。このような例では、キャリブレーションパターン520は、例えば、通常のロボット操作を再開する前に、ロボットアーム(例えば、553)から取り外されてもよい。この実施形態では、検証記号(例えば、530A〜530C又は1130A〜1130C)の一部又は全ては、キャリブレーションパターン(例えば、520)よりも複雑ではなく、及び/又は小さくてもよい。検証記号のより小さいサイズは、通常のロボット操作中に、それらがロボットアーム(例えば、553又は1153)上に留まることを可能にしてもよく、一方で、通常のロボット操作に干渉がない、又は最小限の干渉のみを提示してもよい。それゆえ、そのような例では、検証記号(例えば、530A〜530C、又は1130A〜1130C)の一部又は全ては、場合によっては、ロボットアーム(例えば、533又は1133)上に永久に、又は別様に持続的に配置され得る。そのような配置は、ロボットコントローラー又は他のコンピューティングシステムが、より頻繁に及び/又はより迅速にキャリブレーション検証を実行することができ、更新されたカメラキャリブレーションが判断される必要があるかどうかを評価することができるという利点を提供する。 In one embodiment, some or all of the verification symbols (eg, 530a-530C of FIGS. 10A-10C, or 1130A-1130C of FIGS. 11A-11B) are permanently on the robot arm (eg, 533 or 1130). It may be attached to or otherwise arranged. Such embodiments may include calibration patterns used to perform camera calibration (eg, 520 in FIGS. 5A and 5B), which provides sufficiently accurate results with respect to camera calibration. To obtain, it has a size large enough to accommodate a pattern that is very complex and / or large enough to accommodate a sufficient number of pattern elements. However, such a large size of the calibration pattern (eg, 520) may interfere with normal robot operation because the large size of the calibration pattern (eg, 520) may interfere with normal robot operation, and thus may be a permanent portion of the robot arm or otherwise. Can be too large to be a persistent part. In such an example, the calibration pattern 520 may be removed from the robot arm (eg, 535), for example, before resuming normal robot operation. In this embodiment, some or all of the verification symbols (eg, 530A-530C or 1130A-1130C) may be less complex and / or smaller than the calibration pattern (eg, 520). The smaller size of the verification symbols may allow them to stay on the robot arm (eg, 535 or 1153) during normal robot operation, while there is no interference with normal robot operation, or Only minimal interference may be presented. Therefore, in such an example, some or all of the verification symbols (eg, 530A-530C, or 1130A-1130C) may be permanently or separately on the robot arm (eg, 533 or 1133). Can be continuously placed like this. Whether such an arrangement allows the robot controller or other computing system to perform calibration verification more frequently and / or faster and whether updated camera calibration needs to be determined. Provides the advantage of being able to evaluate.

図12A及び図12Bは、カメラキャリブレーション情報等のキャリブレーション情報を検証するために、複数の検証記号を使用することに関する方法1200を示す。一実施形態において、方法1200は、図10A〜図10C、又は図11A〜図11Bのロボット制御システム110等の、コンピューティングシステムによって実行され、若しくはより具体的には、図1Cのロボット制御システム110の制御回路111等の、コンピューティングシステムの制御回路によって実行され得る。図1Cに示されるように、コンピューティングシステムは、それぞれカメラ視野510又は1110を有する、図10Aのカメラ570若しくは図11Aのカメラ1170等の、カメラ視野を有するカメラと通信するように構成される通信インターフェース113を含んでもよい。通信インターフェース113は、図10A〜図10Cのロボット550A、又は図11A〜図11Cのロボット1150等の、ロボットと通信するようにさらに構成されてもよい。上記で言及されたように、ロボット550A/1150は、互いに動作可能に取り付けられる複数のアーム部分を有するロボットアーム553/1153を含んでもよく、複数のアーム部分のそれぞれのアーム部分上に配置される検証記号のグループを含んでもよい。図10A〜図10Cの実施例では、検証記号のグループは、リンク554B、リンク554C、及びロボットハンド555上にそれぞれ配置される、検証記号530A〜530Cを含んでもよい。図11A〜図11Cの実施例では、検証記号のグループは、リンク1154C、1154D、及びロボットハンド1155上にそれぞれ配置され得る、検証記号1130A〜1130Cを含んでよい。 12A and 12B show a method 1200 relating to the use of a plurality of verification symbols to verify calibration information such as camera calibration information. In one embodiment, method 1200 is performed by a computing system, such as the robot control system 110 of FIGS. 10A-10C, or 11A-11B, or more specifically, the robot control system 110 of FIG. 1C. It can be executed by the control circuit of the computing system, such as the control circuit 111 of. As shown in FIG. 1C, the computing system is configured to communicate with a camera having a camera field of view, such as camera 570 of FIG. 10A or camera 1170 of FIG. 11A, which has a camera field of view 510 or 1110, respectively. Interface 113 may be included. The communication interface 113 may be further configured to communicate with a robot, such as the robot 550A of FIGS. 10A-10C, or the robot 1150 of FIGS. 11A-11C. As mentioned above, the robot 550A / 1150 may include robot arms 553/1153 having multiple arm portions that are operably attached to each other and are located on each arm portion of the plurality of arm portions. It may include a group of verification symbols. In the embodiments of FIGS. 10A-10C, the verification symbol group may include verification symbols 530A-530C, which are located on the link 554B, link 554C, and robot hand 555, respectively. In the embodiments of FIGS. 11A-11C, the group of verification symbols may include verification symbols 1130A-1130C, which may be placed on links 1154C, 1154D, and robot hand 1155, respectively.

一実施形態において、方法1200は、ステップ1201を含むことができ、ステップでは、ロボット制御システム又は他のコンピューティングシステムの制御回路111が、ロボット操作を実行するために、ロボットアーム(例えば、ロボットアーム533/1153)の動作を制御するための動作コマンドを出力する。動作コマンドは、例えば、キャリブレーション情報に基づいてもよい。カメラキャリブレーション情報等のキャリブレーション情報は、第1のカメラキャリブレーション等の、第1のキャリブレーション操作から判断され得る。場合によっては、ステップ1201は、ロボット操作を実行するために、制御回路111がロボットアームの動作を制御する、方法400のステップ409と同一又は類似であり得る。例えば、ロボット操作は、倉庫内の箱又は他の物体を取り出すことを含む場合がある。この例において、制御回路111は、カメラ(例えば、図10A〜図10Cのカメラ570、又は図11A〜図11Bのカメラ1170)によって生成される箱の画像に基づいて、かつキャリブレーション情報、カメラと箱との間の空間関係、及び/又はロボット(例えば、ロボット550A〜1150)と箱との間の空間関係に基づいて判断するように構成され得る。一実施形態において、方法1200は、制御回路111が、キャリブレーション情報を判断するために第1のキャリブレーション操作を実行するステップを含むことができる。第1のキャリブレーション操作を実行するこのようなステップは、図4Aの方法400のステップ401と同様であり得、ステップ1201の前に実行され得る。一例として、第1のキャリブレーション操作は、カメラによって生成されるキャリブレーション画像に基づいて、カメラキャリブレーションパラメーターの推定値を判断することを含むカメラキャリブレーションであってもよい。 In one embodiment, method 1200 can include step 1201, in which a robot arm (eg, a robot arm) for the control circuit 111 of a robot control system or other computing system to perform a robot operation. Outputs an operation command for controlling the operation of 533/1153). The operation command may be based on, for example, calibration information. Calibration information such as camera calibration information can be determined from the first calibration operation such as the first camera calibration. In some cases, step 1201 may be the same as or similar to step 409 of method 400, in which the control circuit 111 controls the movement of the robot arm to perform the robot operation. For example, robotic operation may include removing a box or other object in a warehouse. In this example, the control circuit 111 is based on the image of the box generated by the camera (eg, camera 570 of FIGS. 10A-10C, or camera 1170 of FIGS. 11A-11B) and with calibration information, camera. It may be configured to make a judgment based on the spatial relationship between the box and / or the spatial relationship between the robot (eg, robots 550A-1150) and the box. In one embodiment, the method 1200 can include a step in which the control circuit 111 performs a first calibration operation to determine the calibration information. Such a step of performing the first calibration operation can be similar to step 401 of method 400 of FIG. 4A and can be performed before step 1201. As an example, the first calibration operation may be a camera calibration involving determining an estimated value of a camera calibration parameter based on a calibration image generated by the camera.

一実施形態において、方法1200は、ステップ1203を含むことができ、そのステップでは、制御回路111又はコンピューティングシステムの他の構成要素が、参照画像座標のグループを判断する。参照画像座標のグループは、例えば、参照画像内に検証記号(例えば、530A〜530C/1130A〜1130C)のグループが現れるそれぞれの座標であり得、参照画像は、検証記号(例えば、530A〜530C/1130A〜1130C)のグループを表すための画像であり得る。一実施形態において、参照画像座標のグループを使用して、キャリブレーション情報を検証することができる。 In one embodiment, method 1200 can include step 1203, in which control circuit 111 or other component of the computing system determines a group of reference image coordinates. The group of reference image coordinates can be, for example, the coordinates in which a group of verification symbols (eg, 530A to 530C / 1130A to 1130C) appears in the reference image, and the reference image is a verification symbol (eg, 530A to 530C /). It can be an image to represent a group of 1130A-1130C). In one embodiment, a group of reference image coordinates can be used to verify the calibration information.

例えば、図13Aは、図11Aの検証記号1130A〜1130Cのグループを表す参照画像1120を図示する。図13Aの実施例では、参照画像座標のグループは、第1の参照画像座標、第2の参照画像座標、及び第3の参照画像座標を含み得る。かかる実施例では、第1の参照画像座標は、参照画像1120内に検証記号1130Aが現れる箇所を識別することができ、第2の参照画像座標は、参照画像1120内に検証記号1130Bが現れる箇所を識別することができ、第3の参照画像座標は、参照画像1120内に検証記号1130Cが現れる箇所を識別することができる。より具体的な例では、第1の参照画像座標、第2の参照画像座標、及び第3の参照画像座標の各々は、画素座標[u v]であってもよい。より具体的には、図13Aは、検証記号1130A、1130B、及び1130Cの3つの参照画像座標を、それぞれ、[uref_1ref_1 1130A、[uref_1ref_1 1130B、[uref_1ref_1 1130Cとして図示する。この実施例では、ラベルref_N(例えば、ref_1)は、ロボットアーム1153が、第1のポーズ(N=1のとき)等の、N番目のポーズにあるときに生成される参照画像と関連付けられた座標を指し得る。以下でより詳細に論じられるように、図13Aの参照画像1120は、図11Aに示されるロボットアーム1153の例示的なポーズであり得る、第1のポーズに対応し得るか、又はより一般的に、第1のポーズと関連付けられ得る。異なるポーズは、検証記号1130A〜1130Cをカメラ視野1110内のそれぞれの箇所の異なるグループにおいて配置することができる。例えば、図11Aのポーズは、検証記号1130A〜1130Cを、それぞれ、3Dの箇所、[xref_1ref_1ref_1 1130A、[xref_1ref_1ref_1 1130B、[xref_1ref_1ref_1 1130Cに配置し得る。このような例では、これらの3D箇所[xref_1ref_1ref_1 1130A、[xref_1ref_1ref_1 1130B、[xref_1ref_1ref_1 1130Cは、参照画像1120内の画素座標[uref_1ref_1 1130A、[uref_1ref_1 1130B、[uref_1ref_1 1130Cに投影するか、又は別様にマッピングすることができる。一実施形態において、画素座標 [uref_1ref_1 1130A、[uref_1ref_1 1130B、[uref_1ref_1 1130Cの各々は、参照画像1120内にそのそれぞれの検証記号1130A/1130B/1130Cが現れる中心を識別し得る。 For example, FIG. 13A illustrates a reference image 1120 representing the group of verification symbols 1130A-1130C of FIG. 11A. In the embodiment of FIG. 13A, the group of reference image coordinates may include a first reference image coordinate, a second reference image coordinate, and a third reference image coordinate. In such an embodiment, the first reference image coordinates can identify the location where the verification symbol 1130A appears in the reference image 1120, and the second reference image coordinates are the locations where the verification symbol 1130B appears in the reference image 1120. The third reference image coordinate can identify the place where the verification symbol 1130C appears in the reference image 1120. In a more specific example, each of the first reference image coordinates, the second reference image coordinates, and the third reference image coordinates may be pixel coordinates [uv] T. More specifically, FIG. 13A shows the three reference image coordinates of the verification symbols 1130A, 1130B, and 1130C, which are [u ref_1 v ref_1 ] T 1130A , [u ref_1 v ref_1 ] T 1130B , and [u ref_1 v, respectively. ref_1 ] Illustrated as T 1130C. In this embodiment, the label ref_N (eg, ref_1) is associated with a reference image generated when the robot arm 1153 is in the Nth pose, such as the first pose (when N = 1). Can point to coordinates. As discussed in more detail below, reference image 1120 of FIG. 13A may correspond to a first pose, which may be an exemplary pose of robot arm 1153 shown in FIG. 11A, or more generally. , Can be associated with the first pose. Different poses can be arranged with verification symbols 1130A-1130C in different groups at each location within the camera field of view 1110. For example, the pause in Figure 11A, the verification symbol 1130A~1130C, respectively, 3D locations, [x ref_1 y ref_1 z ref_1 ] T 1130A, [x ref_1 y ref_1 z ref_1] T 1130B, [x ref_1 y ref_1 z ref_1 ] Can be placed at T 1130C. In such an example, these 3D points [x ref_1 y ref_1 z ref_1] T 1130A, [x ref_1 y ref_1 z ref_1] T 1130B, [x ref_1 y ref_1 z ref_1] T 1130C , the pixels in the reference image 1120 It can be projected onto the coordinates [u ref_1 v ref_1 ] T 1130A , [u ref_1 v ref_1 ] T 1130B , [u ref_1 v ref_1 ] T 1130C, or otherwise mapped. In one embodiment, the pixel coordinates [u ref_1 v ref_1 ] T 1130A , [u ref_1 v ref_1 ] T 1130B , and [u ref_1 v ref_1 ] T 1130C each have their respective verification symbols 1130A / 1 in the reference image 1120. The center where / 1130C appears can be identified.

一実施形態において、ステップ1203は、制御回路111が、ロボット制御システム110又は他のコンピューティングシステムの通信インターフェース113及び/又は非一時的コンピューター可読媒体115から参照画像(例えば、1120)を受信することを含むことができる。例えば、図13Aの参照画像1120は、ロボットアーム1153が、図11Aのポーズであるとき、カメラ1170によって生成され得る。コンピューティングシステム110は、通信インターフェース113を介してカメラ1170から参照画像1120を受信することができ、参照画像1120を非一時的コンピューター可読媒体115に記憶することができる。ステップ1203において、制御回路111は、一例において、非一時的コンピューター可読媒体115から参照画像1120を取得するか、又は別様に受信することができる。非一時的コンピューター可読媒体115はまた、検証画像(以下で論じられる)を記憶することができ、制御回路111は、非一時的コンピューター可読媒体115から検証画像を受信することができる。 In one embodiment, in step 1203, the control circuit 111 receives a reference image (eg, 1120) from the robot control system 110 or the communication interface 113 of another computing system and / or the non-transitory computer-readable medium 115. Can be included. For example, the reference image 1120 of FIG. 13A can be generated by the camera 1170 when the robot arm 1153 is in the pose of FIG. 11A. The computing system 110 can receive the reference image 1120 from the camera 1170 via the communication interface 113 and can store the reference image 1120 in the non-temporary computer-readable medium 115. In step 1203, control circuit 111, in one example, can acquire or otherwise receive reference image 1120 from a non-transient computer-readable medium 115. The non-transient computer-readable medium 115 can also store a verification image (discussed below), and the control circuit 111 can receive the verification image from the non-temporary computer-readable medium 115.

一実施形態において、制御回路111は、ロボットアーム(例えば、1153)の幾何学形状を記述する規定されたモデルに基づいて、参照画像(例えば、1120)内の検証記号(例えば、1130A〜1130C)のグループの少なくとも1つの検証記号(例えば、1130A)を識別するように構成することができる。例えば、規定されたモデルは、どのリンク、ロボットエンドエフェクタ、又は他のアーム部分がロボットアームを形成するか、それらのそれぞれのサイズ(例えば、長さ)、及びそれらがどのように接続されているか、を説明することができ、並びに/若しくはどのアーム部分が、その上に配置された少なくとも1つの検証記号(例えば、1130A)を有するか、を記述することができる。そのような実施形態において、制御回路は、モデルに基づいて、少なくとも1つの検証記号が現れることが予想される参照画像(例えば、1120)内の領域を判断し、参照画像の領域内の少なくとも1つの検証記号(例えば、1130A)を検索するように構成することができる。一実施形態において、モデルは、ロボットアーム(例えば、1153)上の検証記号(例えば、1130A)の位置を記憶することができ、又はより一般的に記述することができる。検証記号の位置(記号位置とも呼ばれる)は、ロボットアーム(例えば、1153)上の検証記号のおおよその箇所であり得る。 In one embodiment, the control circuit 111 has verification symbols (eg, 1130A to 1130C) in a reference image (eg, 1120) based on a defined model that describes the geometry of the robot arm (eg, 1153). Can be configured to identify at least one verification symbol (eg, 1130A) in a group of. For example, the defined model is which links, robot end effectors, or other arm parts form the robot arm, their respective sizes (eg, length), and how they are connected. , And / or which arm portion has at least one verification symbol (eg, 1130A) placed on it. In such an embodiment, the control circuit determines, based on the model, a region within the reference image (eg, 1120) where at least one verification symbol is expected to appear, and at least one within the region of the reference image. It can be configured to search for one verification symbol (eg, 1130A). In one embodiment, the model can memorize the position of the verification symbol (eg, 1130A) on the robot arm (eg, 1153), or can be described more generally. The position of the verification symbol (also referred to as the symbol position) can be the approximate location of the verification symbol on the robot arm (eg, 1153).

例えば、参照画像(例えば、1120)が、参照画像と関連付けられたポーズ、又はより具体的には、参照画像内に現れるロボットアームのポーズを生成するために使用される動作コマンドの1つ以上のパラメーター値とともに記憶される場合、1つ以上のパラメーター値及びモデルは、ロボットアームが動作コマンドに従って動かされるとき、ロボットアーム(例えば、1153)のポーズを推定するために使用され得る。以下でより詳細に論じられるように、1つ以上のパラメーター値は、一実施形態において、ロボットアーム(例えば、1153)を動かすために使用される1つ以上のアクチュエータ(例えば、1つ以上のモーター)を制御するために使用される1つ以上のアクチュエータパラメーターに属し得る。推定されるポーズを使用して、ロボットアーム(例えば、1153)上の検証記号(例えば、1130A)の箇所を推定することができ、推定される箇所を使用して、検証記号が参照画像(例えば、1120)内に現れる可能性が高い箇所を推定することができる。 For example, one or more of the motion commands in which the reference image (eg, 1120) is used to generate the pose associated with the reference image, or more specifically, the pose of the robot arm that appears in the reference image. When stored with parameter values, one or more parameter values and models can be used to estimate the pose of the robot arm (eg, 1153) when the robot arm is moved according to an action command. As discussed in more detail below, one or more parameter values, in one embodiment, are one or more actuators (eg, one or more motors) used to move a robot arm (eg, 1153). ) May belong to one or more actuator parameters used to control. The estimated pose can be used to estimate the location of the verification symbol (eg, 1130A) on the robot arm (eg, 1153), and the estimated location can be used to make the verification symbol a reference image (eg, 1130A). It is possible to estimate the location that is likely to appear in 1120).

上記の実施例では、制御回路111は、検証記号又は複数の検証記号が現れることが予想される参照画像(例えば、1120)の領域(複数の場合もある)に焦点を合わせるように構成され得る。かかる技術は、制御回路111が検証記号(例えば、1130A〜1130C)について参照画像(例えば、1120)の全体を検索することを回避し、それゆえ参照画像(例えば、1120)内の検証記号(例えば、1130A〜1130C)をより迅速に識別することを可能にし得る。上記の実施例におけるモデルはまた、検証画像内の検証記号を検索するために使用され得る(以下で論じられる)。 In the above embodiment, the control circuit 111 may be configured to focus on a region (s) of a reference image (eg, 1120) where the verification symbol or the verification symbols are expected to appear. .. Such techniques prevent the control circuit 111 from searching the entire reference image (eg, 1120) for the verification symbol (eg, 1130A-1130C) and therefore the verification symbol (eg, 1120) within the reference image (eg, 1120). It may be possible to identify (1130A to 1130C) more quickly. The model in the above embodiment can also be used to search for validation symbols in the validation image (discussed below).

上記で言及されたように、検証記号(例えば、1130A〜1130C)のグループは、一実施形態において、それぞれの円環として成形されてもよい。そのような実施形態では、制御回路111は、検証記号を形成する円形リングを識別することによって、参照画像(例えば、1120)内の検証記号(例えば、1130A)を認識するか、又はそうでなければ識別するように構成することができる。検証記号のグループが、図11Cに関して、上記に示されるように、異なるそれぞれのサイズを有するそれぞれの円形リングとして成形される場合、制御回路111は、検証記号を形成するそれぞれの円形リングのサイズ(例えば、半径r2,1130A)に基づいて、検証記号(例えば、1130A)を識別するように構成することができる。場合によっては、検証記号(例えば、1130A)が少なくとも第1の円形領域若しくは第1の円形及び第2の円形領域若しくは第2の円形を有する円形リングとして成形される場合、制御回路111は、第1の円形領域若しくは第1の円形の半径と第2の円形領域若しくは第2の円形の半径との間の比に基づいて、検証記号を識別するように構成することができる。例えば、制御回路111は、円形リングを識別し、リングが、比r2,1130A/r1,1130Aを有することを確認することに基づいて、検証記号1130Aを識別するように構成することができる。 As mentioned above, the groups of verification symbols (eg, 1130A-1130C) may be molded as their respective annulus in one embodiment. In such an embodiment, the control circuit 111 recognizes or must recognize the verification symbol (eg, 1130A) in the reference image (eg, 1120) by identifying the circular ring forming the verification symbol. Can be configured to identify. If the group of verification symbols is molded as each circular ring with a different size, as shown above with respect to FIG. 11C, the control circuit 111 will have the size of each circular ring forming the verification symbol ( For example, it can be configured to identify a verification symbol (eg, 1130A) based on radius r 2,1130A). In some cases, if the verification symbol (eg, 1130A) is formed as a circular ring having at least a first circular region or a first circle and a second circular region or a second circle, the control circuit 111 It can be configured to identify the verification symbol based on the ratio between the radius of one circular region or first circle and the radius of the second circular region or second circle. For example, the control circuit 111 can be configured to identify the circular ring and identify the verification symbol 1130A based on ensuring that the ring has a ratio of r 2,1130A / r 1,1130A. ..

上記でさらに言及されたように、ステップ1203の参照画像(例えば、図13Aの1120)は、ロボットアーム(例えば、1153)が、図11Aに図示されるポーズ等の、第1のポーズにあるとき、カメラ(例えば、図11Aの1170)によって生成され得る。参照画像は、第1の期間中、又はより一般的には、第1の時点でカメラによって生成され得る。第1の期間は、参照画像を生成するために使用される、又は別様に関連付けられる期間(例えば、ミリ秒、秒、又は分の期間)を指してもよい。例えば、第1の期間は、参照画像を取り込むためのカメラ動作用の時間を含んでよく、いくつかの例では、検証記号をカメラ視野内に位置決めするためのロボット動作のための時間をさら含んでよい。場合によっては、参照画像が生成される第1の期間は、例えば、ステップ1201及び/又はステップ1203の数時間、数日、又は数週間前であってもよい。一実施形態において、コンピューティングシステム、又はより具体的には、ステップ1201及び1203を実行する制御回路111は、参照画像(例えば、1120)を生成することに非関与であり得る。一実施形態において、コンピューティングシステム、又はより具体的には、ステップ1201及び1203を実行する制御回路111は、参照画像(例えば、1120)の生成に関与することができる。例えば、コンピューティングシステムは、ステップ1201及び/又は1203に先行するステップにおいて、ロボットアーム(例えば、1153)を第1のポーズに動作させるための第1の期間中に動作コマンドを出力し得る。そのような例において、この先行するステップは、方法1200の一部であり得る。第1のポーズは、検証記号(例えば、1130A〜1130C)のグループを、上記で論じられた箇所[xref_1ref_1ref_1 1130A、[xref_1ref_1ref_1 1130B、[xref_1ref_1ref_1 1130C等の、第1のポーズと関連付けられたそれぞれの箇所の第1のグループに動かされ得る。場合によっては、このようなステップは、図4Aのステップ403と同様であってもよい。上記の例では、コンピューティングシステム、又はより具体的には、制御回路111は、このステップにおいて、カメラコマンドをさらに出力することができ、これにより、ロボットアーム(例えば、1153)が第1のポーズにある間に、カメラ(例えば、1170)に参照画像(例えば、1120)を生成させる。一実施形態において、コンピューティングシステムは、参照画像(例えば、1120)を、カメラから受信し、かつ参照画像を、図1Cの非一時的コンピューター可読媒体115又は別の非一時的コンピューター可読媒体に記憶することができる。場合によっては、コンピューティングシステムは、ロボットアーム(例えば、1153)が第1のポーズに戻ること、及び/又は検証記号(例えば、1130A〜1130C)をそれぞれの箇所の第1のグループに戻すことを可能にする情報を、さらに記憶してもよい。例えば、コンピューティングシステムは、それぞれの箇所の第1のグループを記憶し得るか、又はより具体的に、それらの3D座標を記憶し得、及び/若しくはロボットアーム(例えば、1153)を第1のポーズに動かすための動作コマンドのパラメーター値を記憶し得る。一実施形態において、座標及び/又は動作コマンドは、記憶された情報を上記で論じられた参照画像(例えば、1120)と関連付ける態様で、非一時的コンピューター可読媒体115内に記憶することができる。 As further mentioned above, the reference image of step 1203 (eg, 1120 in FIG. 13A) is when the robot arm (eg, 1153) is in a first pose, such as the pose illustrated in FIG. 11A. , Can be generated by a camera (eg, 1170 in FIG. 11A). The reference image can be generated by the camera during the first period, or more generally, at the first point in time. The first period may refer to a period used to generate a reference image or otherwise associated (eg, a period of milliseconds, seconds, or minutes). For example, the first period may include time for camera movement to capture the reference image, and in some examples, further includes time for robot movement to position the verification symbol within the camera field of view. It's fine. In some cases, the first period during which the reference image is generated may be, for example, hours, days, or weeks before step 1201 and / or step 1203. In one embodiment, the computing system, or more specifically, the control circuit 111 that performs steps 1201 and 1203, may be uninvolved in generating the reference image (eg, 1120). In one embodiment, a computing system, or more specifically, a control circuit 111 that performs steps 1201 and 1203, can be involved in the generation of a reference image (eg, 1120). For example, the computing system may output action commands during the first period for moving the robot arm (eg, 1153) into the first pose in steps preceding steps 1201 and / or 1203. In such an example, this preceding step can be part of method 1200. The first pose sets the group of verification symbols (eg, 1130A to 1130C) to the sections discussed above [x ref_1 y ref_1 z ref_1 ] T 1130A , [x ref_1 y ref_1 z ref_1 ] T 1130B , [x ref1 ]. y ref_1 z ref_1 ] It can be moved to the first group of each location associated with the first pose, such as T 1130C. In some cases, such a step may be similar to step 403 in FIG. 4A. In the above example, the computing system, or more specifically the control circuit 111, may further output camera commands in this step, which causes the robot arm (eg, 1153) to make a first pose. While at, have the camera (eg, 1170) generate a reference image (eg, 1120). In one embodiment, the computing system receives a reference image (eg, 1120) from the camera and stores the reference image on the non-transient computer-readable medium 115 of FIG. 1C or another non-transient computer-readable medium. can do. In some cases, the computing system may cause the robot arm (eg, 1153) to return to the first pose and / or the verification symbols (eg, 1130A to 1130C) to return to the first group at their respective locations. Further information that enables it may be stored. For example, a computing system may memorize a first group of each location, or more specifically, its 3D coordinates, and / or a robot arm (eg, 1153). The parameter value of the operation command for moving to the pause can be memorized. In one embodiment, the coordinates and / or operation commands can be stored in the non-transitory computer-readable medium 115 in such a manner that the stored information is associated with the reference image (eg, 1120) discussed above.

一実施形態において、ロボットアームを第1のポーズに動かすために上記で論じられた動作コマンドは、ロボットアーム(例えば、1153)の動作を記述する1つ以上のパラメーター値を含むことができる。上記で言及されたように、場合によっては、1つ以上のパラメーター値は、ロボットアーム(例えば、1153)のために動作を作成する1つ以上のアクチュエータを制御する1つ以上のアクチュエータパラメーターに属し得る。そのような場合、1つ以上のパラメーター値は、1つ以上のアクチュエータパラメーター値(ロボットジョイント値とも呼ばれる)と呼ばれることができる。例えば、1つ以上のアクチュエータパラメーター値は、例えば、互いに対するロボットアームのアーム部分のそれぞれの回動量、互いに対するアーム部分のそれぞれの箇所及び/又は向き、並びに/若しくはアーム部分を接続するジョイントのそれぞれの箇所(例えば、1156A〜1156D)を記述し得る。例えば、動作コマンドの1つ以上のアクチュエータパラメーター値は、それぞれの角度値を記述することができ、それによってロボット1150内のモーターが、それらの直前のアーム部分に対して種々のアーム部分(例えば、リンク1154A〜1154E、及びロボットハンド1155)を回動させる。 In one embodiment, the motion commands discussed above for moving the robot arm to a first pose can include one or more parameter values that describe the motion of the robot arm (eg, 1153). As mentioned above, in some cases, one or more parameter values belong to one or more actuator parameters that control one or more actuators that create motion for a robotic arm (eg, 1153). obtain. In such cases, one or more parameter values can be referred to as one or more actuator parameter values (also referred to as robot joint values). For example, one or more actuator parameter values are, for example, the respective rotation amounts of the arm portions of the robot arm with respect to each other, the respective locations and / or orientations of the arm portions with respect to each other, and / or each of the joints connecting the arm portions. (For example, 1156A to 1156D) can be described. For example, one or more actuator parameter values of an action command can describe their respective angular values so that the motors in the robot 1150 can have different arm parts (eg, for example) with respect to their immediate previous arm parts. The links 1154A to 1154E and the robot hand 1155) are rotated.

一実施形態において、上記で論じられた動作コマンドは、任意のパラメーター値(複数の場合もある)(例えば、ランダムなパラメーター値(複数の場合もある))を有し得、動作コマンドによって引き起こされる第1のポーズは、任意のポーズであり得る。一実施形態において、上記で論じられた動作コマンドは、検証記号(例えば、1130A〜1130C)の一部又は全てが、参照画像(例えば、1120)内に所望の外観を有することを可能にする動作コマンドであってもよい。例えば、上記で論じられたように、検証記号(例えば、1130A〜1130C)のグループの一部又は全ては、同心円形領域又は同心円によって形成されるリング形状等の、円形形状を有し得る。かかる一例では、検証記号のうちの少なくとも1つ(例えば、1130A)が、カメラ(例えば、1170)に対してある特定の向きにあるとき、少なくとも1つの検証記号(例えば、1130A)は、完全に円形に見えるのではなく、得られた参照画像において楕円形に見えることがある。楕円形の外観は、不正確なキャリブレーション検証をもたらす可能性がある。例えば、検証記号1130Aに関する参照画像座標が、参照画像内に記号の中心が現れる箇所である場合、この参照画像座標は、参照画像内に検証記号1130Aが楕円形に現れるときを、正確に判断することがより困難であり得る。さらに、参照画像内の検証記号1130Aを識別する(例えば、参照画像内の他の特徴から検証記号1130Aを区別する)ことが、参照画像内のリングパターンを識別することと、リングパターンが、記号と関連付けられた同心円間の特定の比(例えば、検証記号1130Aと関連付けられた比r2,1130A/r1,1130A)を有することを検証することと、に依存する場合、この識別は、リングパターンが参照画像内に楕円形に見えるとき、正確に実行することがより困難であり得る。それゆえ、制御回路111が、参照画像を生成することと関連付けられた動作コマンドを出力することを含む場合、制御回路111は、検証記号(例えば、1130A〜1130C)のグループを参照画像内に完全に又は実質的に円形に見えるような態様で、位置決めさせる動作コマンドを生成することを試みることができる。 In one embodiment, the action command discussed above can have any parameter value (s) (eg, random parameter value (s)) and is triggered by the action command. The first pose can be any pose. In one embodiment, the operation commands discussed above allow some or all of the verification symbols (eg, 1130A to 1130C) to have the desired appearance within the reference image (eg, 1120). It may be a command. For example, as discussed above, some or all of the groups of verification symbols (eg, 1130A-1130C) may have a circular shape, such as a concentric circular region or a ring shape formed by concentric circles. In such an example, when at least one of the verification symbols (eg, 1130A) is in a particular orientation with respect to the camera (eg, 1170), the at least one verification symbol (eg, 1130A) is completely. Instead of appearing circular, it may appear elliptical in the resulting reference image. The oval appearance can lead to inaccurate calibration verification. For example, if the reference image coordinates for the verification symbol 1130A are where the center of the symbol appears in the reference image, the reference image coordinates accurately determine when the verification symbol 1130A appears in an elliptical shape in the reference image. Can be more difficult. Further, identifying the verification symbol 1130A in the reference image (eg, distinguishing the verification symbol 1130A from other features in the reference image) identifies the ring pattern in the reference image, and the ring pattern is a symbol. If it depends on verifying that it has a specific ratio between the concentric circles associated with (eg, the ratio r 2,1130A / r 1,1130A associated with the verification symbol 1130A), this identification is a ring. When the pattern looks oval in the reference image, it can be more difficult to perform accurately. Therefore, if the control circuit 111 includes outputting an operation command associated with generating a reference image, the control circuit 111 completes the group of verification symbols (eg, 1130A-1130C) in the reference image. Attempts can be made to generate motion commands for positioning in or in a manner that makes them appear substantially circular.

一例として、制御回路111は、ロボットアーム(例えば、1153)を、検証記号(例えば、1130A〜1130C)のグループが、カメラ(例えば、1170)に直接対向するポーズに動作させる、動作コマンドを生成することができる。例えば、ポーズは、検証記号(例えば、1130A〜1130C)のグループのうちの少なくとも1つの検証記号を、カメラ(例えば、1170)に対して凹形である仮想球の表面に対して接線方向に向くようにさせてもよい。図11Aでは、ロボットアーム1153のための図示されたポーズが、検証記号1130A及び検証記号1130Bに、カメラ170に対して凹形である仮想球1121の表面に対して接線方向にあるそれぞれの向きを有することをもたらし得、及び検証記号1130Cに、カメラ1170に対してもまた凹形である仮想球1123の表面に対して接線方向になる向きを有することを可能にし得る。上記で論じられた第1のポーズであり得る、かかるポーズにおいて、検証記号(例えば、1130A〜1130C)のグループは、参照画像(例えば、1120)内にそれぞれの円形形状として現れ得る。より具体的には、かかる実施例における検証記号(例えば、1130A〜1130C)のグループは、参照画像内に偏心率を伴わずに現れるように、又は規定された偏心率閾値未満であるそれぞれの量の偏心率で現れるような態様で位置決めされ得る。上記の実施例において、想像される円1121及び1123は、カメラ(例えば、1170)に中心を置くことができる。一実施形態において、制御回路111は、ランダムな動作コマンドを生成し、ランダムな動作コマンドを通して検索して、検証記号のグループについて上記で論じられた向きを生成することができるものを見出すように構成されてもよい。見出された動作コマンドは、参照画像(例えば、1120)を生成するために、制御回路111によって出力することができる。 As an example, the control circuit 111 generates an action command that causes a group of verification symbols (eg, 1130A to 1130C) to move the robot arm (eg, 1153) into a pose directly facing the camera (eg, 1170). be able to. For example, the pose points at least one of the verification symbols (eg, 1130A to 1130C) in a tangential direction to the surface of the virtual sphere that is concave with respect to the camera (eg, 1170). You may let it. In FIG. 11A, the illustrated poses for the robot arm 1153 are oriented tangentially to the surface of the virtual sphere 1121, which is concave with respect to the camera 170, to the verification symbols 1130A and 1130B. It can result in having, and the verification symbol 1130C can have an orientation tangential to the surface of the virtual sphere 1123, which is also concave with respect to the camera 1170. In such a pose, which may be the first pose discussed above, the groups of verification symbols (eg, 1130A-1130C) may appear as their respective circular shapes in the reference image (eg, 1120). More specifically, the groups of verification symbols (eg, 1130A-1130C) in such embodiments appear in the reference image without eccentricity, or are less than or equal to the defined eccentricity threshold, respectively. It can be positioned in such a way that it appears in the eccentricity of. In the above embodiment, the imagined circles 1121 and 1123 can be centered on a camera (eg, 1170). In one embodiment, the control circuit 111 is configured to generate a random action command and search through the random action command to find one that can generate the orientation discussed above for a group of verification symbols. May be done. The found operation command can be output by the control circuit 111 to generate a reference image (eg, 1120).

図12A〜図12Bに戻ると、一実施形態における方法1200は、ステップ1205を含み、そのステップでは、制御回路111は、図10A又は図11Aに図示される第1のポーズ等の、第1のポーズに動かすように、ロボットアームを制御するための動作コマンドを出力し、第1のポーズは、上記で論じられたように、第1の期間中に参照画像(例えば、1120)が生成されるポーズである。場合によっては、動作コマンドは、通信インターフェース113を介してロボット(例えば、550A/1150)に出力することができる。一実施形態において、ステップ1205における動作コマンドは、ステップ1201の動作コマンドに加えてあるため、追加の動作コマンドと称することができる。追加の動作コマンドは、第1の期間に続く、第2の期間、又はより一般的には、第2の時点の間に出力され得る。第2の期間は、検証画像を生成するために使用される、又は別様に関連付けられる期間(例えば、ミリ秒、秒、又は分の期間)を指し得る。例えば、第2の期間は、検証記号をカメラ視野内に位置決めするロボット動作のための時間及び/又は検証画像を取り込むためのカメラ操作のための時間を含み得る。場合によっては、第2の期間(又はより一般的には、第2の時点)は、第1の期間(又はより一般的には、第1の時点)に数時間、数日、又は数週間にわたって続いてもよい。以下でより詳細に論じられるように、追加の動作コマンドを使用して、第2の期間中に検証画像を生成することができる。一実施形態において、追加の動作コマンドは、検証記号(例えば、1130A〜1130C)のグループがカメラ(例えば、1170)に直接対向するポーズ(例えば、図11Aの第1のポーズ)にロボットアーム(例えば、1153)を動かすことができる。例えば、検証記号のグループは、カメラに対して凹形である1つ以上の仮想球に対して接する、それぞれの向きを有し得る。かかるポーズでは、検証記号(例えば、1130A〜1130C)のグループは、検証画像(例えば、図13Bの1160)内にそれぞれ円形形状として現れ得る。 Returning to FIGS. 12A-12B, method 1200 in one embodiment includes step 1205, in which the control circuit 111 has a first pose, such as the first pose illustrated in FIG. 10A or FIG. 11A. It outputs motion commands to control the robot arm to move it into a pose, and the first pose produces a reference image (eg, 1120) during the first period, as discussed above. It's a pose. In some cases, the operation command can be output to the robot (for example, 550A / 1150) via the communication interface 113. In one embodiment, the operation command in step 1205 is added to the operation command in step 1201, and thus can be referred to as an additional operation command. Additional action commands may be output during a second period, or more generally, a second time point following the first period. The second period can refer to a period used to generate a validation image or otherwise associated (eg, a period of milliseconds, seconds, or minutes). For example, the second period may include time for robot movement to position the verification symbol within the camera field of view and / or time for camera operation to capture the verification image. In some cases, the second period (or more generally, the second time point) is hours, days, or weeks during the first period (or more generally, the first time point). May continue over. Additional action commands can be used to generate a validation image during the second period, as discussed in more detail below. In one embodiment, an additional action command is a robot arm (eg, first pose in FIG. 11A) in which a group of verification symbols (eg, 1130A to 1130C) is in a pose directly facing the camera (eg, 1170). , 1153) can be moved. For example, a group of verification symbols may have their respective orientations in contact with one or more virtual spheres that are concave with respect to the camera. In such a pose, the groups of verification symbols (eg, 1130A-1130C) may each appear as a circular shape in the verification image (eg, 1160 in FIG. 13B).

一実施形態において、方法1200が、上記で論じられたように、第1の期間中に参照画像を生成するための動作コマンドを出力するステップを含む場合、第1の期間中に参照画像を生成するための動作コマンドは、第1の追加の動作コマンドであってもよく、一方で第2の期間中に検証画像を生成するためのステップ1205における動作コマンドは、第2の追加の動作コマンドであってもよい。場合によっては、第1の追加の動作コマンドは、より早い動作コマンドであってもよく、一方で第2の追加の動作コマンドは、より遅い動作コマンドであってもよい。場合によっては、第1の追加の動作コマンドは、第1のポーズに動くようにロボットアームを制御するための1つ以上のアクチュエータパラメーター値(又はロボットジョイント値)を有することができ、第2の追加の動作コマンドはまた、1つ以上のアクチュエータパラメーター値を有することができる。より具体的には、第1の追加の動作コマンド及び第2の追加の動作コマンドは、同じアクチュエータパラメーター値を有し得る。一例として、ロボット(例えば、1150)が、種々のアーム部分(例えば、リンク1154A〜1154E、及びロボットハンド1155)を互いに対して回動させる複数のモーターを含む場合、1つ以上のアクチュエータパラメーター値は、複数のモーターによってどの程度の回動が出力されるかを制御する複数のそれぞれの角度値を含み得る。この実施例では、第1の追加の動作コマンド及び第2の追加の動作コマンドは、両方とも、複数のモーターによってどの程度の回動が出力されるかを制御する、同一の複数のそれぞれの角度値を含んでよい。 In one embodiment, if method 1200 includes a step of outputting an action command for generating a reference image during the first period, as discussed above, then the reference image is generated during the first period. The action command for doing so may be the first additional action command, while the action command in step 1205 for generating the verification image during the second period is the second additional action command. There may be. In some cases, the first additional action command may be a faster action command, while the second additional action command may be a slower action command. In some cases, the first additional motion command can have one or more actuator parameter values (or robot joint values) to control the robot arm to move to the first pose, and a second. Additional action commands can also have one or more actuator parameter values. More specifically, the first additional operation command and the second additional operation command may have the same actuator parameter value. As an example, if the robot (eg, 1150) includes multiple motors that rotate various arm portions (eg, links 1154A to 1154E, and robot hand 1155) with respect to each other, then one or more actuator parameter values , Each may include a plurality of respective angular values that control how much rotation is output by the plurality of motors. In this embodiment, the first additional motion command and the second additional motion command both control how much rotation is output by the plurality of motors, each of the same plurality of angles. May include a value.

一実施形態において、第1の追加の動作コマンド及び/又は第2の追加の動作コマンドは、図4Aのステップ411に関して上記で論じられたアイドル期間等の、それぞれのアイドル期間中に出力することができる。場合によっては、キャリブレーション情報が、キャリブレーション操作を実行することによって判断される場合、第1の追加の動作コマンドは、キャリブレーション操作が実行された直後、又はキャリブレーション操作に続く最も早いアイドル期間中に出力され得る。いくつかの状況において、第2の追加の動作コマンドは、キャリブレーション操作が実行されてからの規定された期間が経過すること、ロボットを含む衝突事象、又はカメラとロボット又はその一部との間の変位若しくはミスアライメントの可能性をもたらし得る任意の他の事象(例えば、地震等の天災)等の、規定されたトリガー条件、若しくはいくつかの他のトリガー条件に応答し得る。検証画像を生成することが、制御回路111がカメラコマンドを出力することを含む場合、いくつかの例において、カメラコマンドはまた、規定されたトリガー条件に応答して出力され得る。 In one embodiment, the first additional action command and / or the second additional action command may be output during each idle period, such as the idle period discussed above with respect to step 411 of FIG. 4A. it can. In some cases, if the calibration information is determined by performing a calibration operation, the first additional action command is the earliest idle period immediately after the calibration operation is performed or following the calibration operation. Can be output inside. In some situations, the second additional action command is that a specified period of time has passed since the calibration operation was performed, a collision event involving the robot, or between the camera and the robot or part of it. It may respond to specified trigger conditions, or some other trigger conditions, such as any other event that may result in the possibility of displacement or misalignment of the robot (eg, a natural disaster such as an earthquake). If generating a verification image involves the control circuit 111 outputting a camera command, in some examples the camera command may also be output in response to a defined trigger condition.

一実施形態において、ロボットアーム(例えば、1153)に関するステップ1205の第1のポーズは、上記で論じられたように、ロボットアーム上に配置される検証記号(例えば、1130A〜1130C)のグループに関するそれぞれの参照箇所の特定のグループと関連付けられ得る。例えば、それぞれの参照箇所のグループは、3D箇所[xref_1ref_1ref_1 1130A、[xref_1ref_1ref_1 1130B、[xref_1ref_1ref_1 1130Cであり得る。参照画像(例えば、1120)が生成されるとき、検証記号(例えば、1130A〜1130C)のグループは、第1のポーズと関連付けられたそれぞれの参照箇所のグループに位置し得る。ステップ1205において、追加の動作コマンドがロボットアームを第1のポーズに戻す場合、検証記号(例えば、1130A〜1130C)のグループは、参照箇所のグループ(例えば、[xref_1ref_1ref_1 1130A、[xref_1ref_1ref_1 1130B、[xref_1ref_1ref_1 1130C)に戻り得る。かかる実施例では、検証記号(例えば、1130A〜1130C)のグループは、参照画像(例えば、1120)が生成されるとき、それぞれの参照箇所のグループに配置することができ、検証画像(例えば、1160)が生成されるとき、再びそれぞれの参照箇所のグループに配置することができる。 In one embodiment, the first pose of step 1205 with respect to the robot arm (eg, 1153) relates to a group of verification symbols (eg, 1130A to 1130C) placed on the robot arm, respectively, as discussed above. Can be associated with a particular group of references. For example, a group of each of the reference points, 3D points [x ref_1 y ref_1 z ref_1] T 1130A, [x ref_1 y ref_1 z ref_1] T 1130B, may be [x ref_1 y ref_1 z ref_1] T 1130C. When a reference image (eg, 1120) is generated, the group of verification symbols (eg, 1130A-1130C) may be located in the group of each reference point associated with the first pose. In step 1205, if the additional motion command returns the robot arm to the first pose, the group of verification symbols (eg, 1130A to 1130C) is the group of references (eg, [x ref_1 y ref_1 z ref_1 ] T 1130A. , [X ref_1 y ref_1 z ref_1 ] T 1130B , [x ref_1 y ref_1 z ref_1 ] T 1130C ). In such an embodiment, groups of verification symbols (eg, 1130A to 1130C) can be placed in groups of respective reference points when reference images (eg, 1120) are generated, and verification images (eg, 1160). ) Is generated, it can be placed again in each reference group.

図12A〜図12Bに戻ると、一実施形態における方法1200は、ステップ1207を含むことができ、そのステップでは、制御回路111が、図13Bにおける検証画像1160等の検証画像を受信する。上記で言及されたように、参照画像(例えば、1160)は、検証記号(例えば、1130A〜1130C)のグループを表すための画像であり得る。この実施例では、検証画像(例えば、1160)は、検証記号(例えば、1130A〜1130C)のグループもまた表すためのさらなる画像であってもよく、図11Aに図示される第1のポーズ等の、ステップ1205の追加の動作コマンドの結果として、ロボットアーム(例えば、1153)が第1のポーズに動かされたときに生成されてもよい。 Returning to FIGS. 12A-12B, the method 1200 in one embodiment can include step 1207, at which step the control circuit 111 receives a verification image such as the verification image 1160 in FIG. 13B. As mentioned above, the reference image (eg, 1160) can be an image to represent a group of verification symbols (eg, 1130A-1130C). In this embodiment, the verification image (eg, 1160) may be a further image for also representing a group of verification symbols (eg, 1130A-1130C), such as the first pose illustrated in FIG. 11A. , May be generated when the robot arm (eg, 1153) is moved to the first pose as a result of the additional action command in step 1205.

一実施形態において、方法1200は、ステップ1209を含むことができ、そのステップでは、制御回路111が、検証画像座標のグループを判断する。この実施形態では、検証画像座標のグループは、検証画像(例えば、図13Bの1160)内に検証記号(例えば、1130A〜1130C)のグループが現れる、それぞれの座標であり得る。一実施形態において、検証画像座標のグループは、カメラキャリブレーション情報等の、キャリブレーション情報を検証するためのものであり得る。ステップ1203における参照画像座標についての上述の論考と同様に、一例における検証画像座標のグループは、第1の検証画像座標、第2の検証画像座標、及び第3の検証画像座標を含んでよい。より具体的な例では、第1の検証画像座標、第2の検証画像座標、及び第3の検証画像座標の各々は、例えば、そのそれぞれの検証記号の中心を識別するピクセル座標であり得る。例えば、図13Bは、3つの検証画像座標、又はより具体的に、ピクセル座標[uverify_1verify_1 1130A、[uverify_1verify_1 1130B、[uverify_1verify_1 1130Cを図示し、検証画像1160内に検証記号1130A〜1130Cのそれぞれの中心が現れる。参照画像座標の論考と同様に、ラベルverify_N(例えば、verify_1)は、ロボットアームが第1のポーズ(N=1)等の、N番目のポーズにあるときに生成される検証画像と関連付けられた座標を指し得る。 In one embodiment, method 1200 can include step 1209, in which control circuit 111 determines a group of verification image coordinates. In this embodiment, the group of verification image coordinates can be the respective coordinates in which the group of verification symbols (eg, 1130A to 1130C) appears in the verification image (eg, 1160 in FIG. 13B). In one embodiment, the group of verification image coordinates may be for verifying calibration information, such as camera calibration information. Similar to the above discussion of reference image coordinates in step 1203, the group of verification image coordinates in one example may include a first verification image coordinate, a second verification image coordinate, and a third verification image coordinate. In a more specific example, each of the first verification image coordinates, the second verification image coordinates, and the third verification image coordinates can be, for example, pixel coordinates that identify the center of the respective verification symbol. For example, FIG. 13B shows three verification image coordinates, or more specifically, pixel coordinates [u verify_1 v verify_1 ] T 1130A , [u verify_1 v verify_1 ] T 1130B , [u verify_1 v verify_1 ] t 1130A . The centers of the verification symbols 1130A to 1130C appear in the verification image 1160. Similar to the reference image coordinate discussion, the label verify_N (eg, verify_1) was associated with a validation image generated when the robot arm was in the Nth pose, such as the first pose (N = 1). Can point to coordinates.

一実施形態において、制御回路111は、複数の参照画像及び複数の検証画像(例えば、5つの参照画像及び5つの検証画像)について、複数回ステップ1203〜1209を実行することができる。複数の参照画像及び複数の検証画像は、複数のそれぞれのポーズに対応し得る。例えば、図10A〜図10Cは、ロボットアーム553のための一連の3つのポーズを図示する。この例では、ロボットコントローラー110又は任意の他のコンピューティングシステムの制御回路111は、図10Aに示されるような、第1のポーズと両方が関連付けられた第1の参照画像及び第1の検証画像を受信し得、図10Bに示されるような、第2のポーズ両方が関連付けられた第2の参照画像及び第2の検証画像、並びに図10Cに示されるような、第3のポーズと両方が関連付けられた第3の参照画像及び第3の検証画像を受信し得る。別の例では、図13Aの参照画像1120は、第1の参照画像であってもよく、図13Bの検証画像1160は、第1の検証画像であってもよく、これらの両方が、ロボットアーム1153について図11Aに図示される第1のポーズと関連付けられてもよい。この例において、制御回路111は、図14Aの第2の参照画像1122、及び図14Bの第2の検証画像1162をさらに受信することができ、これらの両方が、図11Bに図示される第2のポーズと関連付けられてもよい。この実施例では、図13Aの参照画像座標[uref_1ref_1 1130A、[uref_1ref_1 1130B、[uref_1ref_1 1130Cは、第1の参照画像座標のグループであってもよく、一方で図13Bの検証画像座標[uverify_1verify_1 1130A、[uverify_1verify_1 1130B、[uverify_1verify_1 1130Cは、第1の検証画像座標のグループであってもよい。この実施例の制御回路111は、さらに、図14Aの第2の参照画像1122の第2の参照画像座標のグループ[uref_2ref_2 1130A、[uref_2ref_2 1130Cを判断し、図14Bの第2の検証画像1162の第2の検証画像座標のグループ[uverify_2verify_2 1130A、[uverify_2verify_2 1130B、[uverify_2verify_2 1130Cを判断するように構成され得る。上記の実施例において、制御回路111は、いくつかの例において、ロボットアーム(例えば、1153)を複数のそれぞれのポーズに動かすための異なるそれぞれの動作コマンドを出力するように構成することができ、複数の参照画像及び/又は複数の検証画像は、複数のそれぞれのポーズと関連付けられる。 In one embodiment, the control circuit 111 can perform steps 1203 to 1209 multiple times for a plurality of reference images and a plurality of verification images (eg, five reference images and five verification images). The plurality of reference images and the plurality of verification images may correspond to a plurality of respective poses. For example, FIGS. 10A-10C illustrate a series of three poses for the robot arm 553. In this example, the robot controller 110 or the control circuit 111 of any other computing system has a first reference image and a first verification image associated with both the first pose, as shown in FIG. 10A. A second reference image and a second verification image with both second poses associated, as shown in FIG. 10B, and a third pose and both, as shown in FIG. 10C. An associated third reference image and a third verification image may be received. In another example, the reference image 1120 of FIG. 13A may be the first reference image and the verification image 1160 of FIG. 13B may be the first verification image, both of which are robotic arms. The 1153 may be associated with the first pose illustrated in FIG. 11A. In this example, the control circuit 111 can further receive the second reference image 1122 of FIG. 14A and the second verification image 1162 of FIG. 14B, both of which are shown in FIG. 11B. May be associated with the pose of. In this embodiment, the reference image coordinates [u ref_1 v ref_1 ] T 1130A , [u ref_1 v ref_1 ] T 1130B , and [u ref_1 v ref_1 ] T 1130C in FIG. 13A are a group of first reference image coordinates. at best, whereas in Figure 13B the verification image coordinates [u verify_1 v verify_1] T 1130A , [u verify_1 v verify_1] T 1130B, [u verify_1 v verify_1] T 1130C is a group of the first verification image coordinates May be good. The control circuit 111 of this embodiment further determines a group of second reference image coordinates [u ref_2 v ref_2 ] T 1130A , [u ref_2 v ref_2 ] T 1130C of the second reference image 1122 of FIG. 14A. the second group of the verification image coordinates [u verify_2 v verify_2] T 1130A of the second verification image 1162 in FIG. 14B, [u verify_2 v verify_2] T 1130B, configured to determine [u verify_2 v verify_2] T 1130C Can be done. In the above embodiment, the control circuit 111 can be configured to output different operation commands for moving the robot arm (eg, 1153) into a plurality of respective poses in some examples. A plurality of reference images and / or a plurality of verification images are associated with a plurality of respective poses.

図12A〜図12Bに戻ると、一実施形態において、方法1200は、ステップ1211を含んでよく、ここで、制御回路111は、参照画像座標のグループ(例えば、図13Aの[uref_1ref_1 1130A、[uref_1ref_1 1130B、[uref_1ref_1 1130C )と検証画像座標のグループ(例えば、図13Bの[uverify_1verify_1 1130A、[uverify_1verify_1 1130B、[uverify_1verify_1 1130C)との間のそれぞれの偏差量に基づく、それぞれの偏差パラメーター値のグループを判断する。例えば、図13A及び図13Bの文脈におけるそれぞれの偏差パラメーター値のグループは、第1の偏差パラメーター値、第2の偏差パラメーター値、及び第3の偏差パラメーター値を含んでよい。第1の偏差パラメーター値は、参照画像1120内の検証記号1130Aについての第1の参照画像座標[uref_1ref_1 1130Aと、検証画像1160内の検証記号1130Aについての第1の検証画像座標[uverify_1verify_1 1130Aとの間の偏差量に基づいてもよい。例えば、第1の偏差パラメーター値は、図4Bのステップ457に関して上記で論じられたように、第1の参照画像座標と第1の検証画像座標との間の距離に等しく、又はより一般的に距離に基づいてもよい。同様に、第2の偏差パラメーター値は、参照画像1120内の検証記号1130Bについての第2の参照画像座標[uref_1ref_1 1130Bと、検証画像1160内の検証記号1130Bについての第2の検証画像座標[uverify_1verify_1 1130Bとの間の偏差量に基づいて(例えば、等しくとも)よい。さらに、第3の偏差パラメーター値は、参照画像1120内の検証記号1130Cについての第3の参照画像座標[uref_1ref_1 1130Cと、検証画像1160内の検証記号1130Cについての第3の検証画像座標[uverify_1verify_1 1130Cとの間の偏差量に基づいてもよい。上記の実施例において、それぞれの偏差パラメーター値のグループは、検証記号1130A〜1130Cのグループと関連付けられる。すなわち、第1の偏差パラメーター値は、検証記号1130Aと関連付けられ、一方で第2の偏差パラメーター値は、検証記号1130Bと関連付けられ、第3の偏差パラメーター値は、検証記号1130Cと関連付けられる。 Returning to FIGS. 12A-12B, in one embodiment, method 1200 may include step 1211 where the control circuit 111 is a group of reference image coordinates (eg, [u ref_1 v ref_1 ] in FIG. 13A]. T 1130A, [u ref_1 v ref_1 ] T 1130B, [u ref_1 v ref_1] T 1130C) with a group of verification image coordinates (e.g., in Figure 13B [u verify_1 v verify_1] T 1130A, [u verify_1 v verify_1] T 1130B , [ Uverify_1 v verify_1 ] T 1130C ), and determine the group of each deviation parameter value based on the respective deviation amount. For example, each group of deviation parameter values in the context of FIGS. 13A and 13B may include a first deviation parameter value, a second deviation parameter value, and a third deviation parameter value. The first deviation parameter values are the first reference image coordinates [u ref_1 v ref_1 ] T 1130A for the verification symbol 1130A in the reference image 1120 and the first verification image coordinates for the verification symbol 1130A in the verification image 1160. [U verify_1 v verify_1 ] It may be based on the amount of deviation from T 1130A. For example, the first deviation parameter value is equal to, or more generally, the distance between the first reference image coordinates and the first validated image coordinates, as discussed above for step 457 in FIG. 4B. It may be based on distance. Similarly, the second deviation parameter value is the second reference image coordinates [u ref_1 v ref_1 ] T 1130B for the verification symbol 1130B in the reference image 1120 and the second reference image coordinates 1130B for the verification symbol 1130B in the verification image 1160. Verification image coordinates [u verify_1 v verify_1 ] It may be based on the amount of deviation from T 1130B (for example, even if they are equal). Further, the third deviation parameter value is the third verification of the third reference image coordinate [u ref_1 v ref_1 ] T 1130C for the verification symbol 1130C in the reference image 1120 and the verification symbol 1130C in the verification image 1160. It may be based on the amount of deviation from the image coordinates [u verify_1 v verify_1 ] T 1130C. In the above embodiment, each group of deviation parameter values is associated with a group of verification symbols 1130A-1130C. That is, the first deviation parameter value is associated with the verification symbol 1130A, while the second deviation parameter value is associated with the verification symbol 1130B and the third deviation parameter value is associated with the verification symbol 1130C.

一実施形態において、それぞれの偏差パラメーター値のグループのいくつか又は全ては、参照画像及び検証画像の単一の対に上基づいてもよく、これらの両方が、ロボットアームのための共通のポーズと関連付けられてもよい。例えば、上記で論じられた第1の偏差パラメーター値は、検証記号1130Aと関連付けられてもよく、参照画像1120及び検証画像1160の単一の対に基づいてもよく、これらの両方が、図11Aのポーズ等の、共通のポーズと関連付けられる。 In one embodiment, some or all of each group of deviation parameter values may be based on a single pair of reference and validation images, both of which have a common pose for the robotic arm. May be associated. For example, the first deviation parameter value discussed above may be associated with the validation symbol 1130A or may be based on a single pair of reference image 1120 and validation image 1160, both of which are shown in FIG. 11A. Associated with common poses, such as the pose of.

一実施形態において、それぞれの偏差パラメーター値のグループのいくつか又は全ては、それぞれの参照画像及びそれぞれの検証画像の複数の対に基づいてもよく、各対は、ロボットアームのための複数のポーズのそれぞれのポーズと関連付けられる。一例として、検証記号1130Aと関連付けられる上記で論じられた第1の偏差パラメーター値は、(図13A及び図13Bの)参照画像1120及び検証画像1160の第1の対、並びに(図14A及び図14Bの)参照画像1122及び検証画像1162の第2の対に基づいてもよい。第1の対は、図11Aの第1のポーズと関連付けられてもよく、一方、第2の対は、図11Bの第2のポーズと関連付けられてもよい。より具体的には、この例における第1の偏差パラメーター値は、[uref_1ref_1 1130Aと[uverify_1verify_1 1130A(第1のポーズと関連付けられる)との間の偏差量(例えば、距離)に基づき得、[uref_2ref_2 1130Aと[uverify_2verify_2 1130A(第2のポーズと関連付けられる)との間の偏差量に基づくことができる。一例において、第1の偏差パラメーター値は、2つの偏差量の平均に等しくてもよく、又はそれに基づいてもよい。より一般的に、この実施例におけるそれぞれの偏差パラメーター値のグループは、(第1のポーズと関連付けられる)第1の参照画像座標のグループと第1の検証画像座標のグループとの間のそれぞれの偏差量に基づいてもよく、さらに、(第2のポーズと関連付けられる)第2の参照画像座標のグループと第2の検証画像座標のグループとの間のそれぞれの偏差量にさらに基づいてもよい。 In one embodiment, some or all of each group of deviation parameter values may be based on multiple pairs of each reference image and each verification image, each pair having multiple poses for the robot arm. Associated with each pose of. As an example, the first deviation parameter value discussed above associated with verification symbol 1130A is the first pair of reference image 1120 (FIGS. 13A and 13B) and verification image 1160, and (FIGS. 14A and 14B). It may be based on the second pair of reference image 1122 and verification image 1162. The first pair may be associated with the first pose of FIG. 11A, while the second pair may be associated with the second pose of FIG. 11B. More specifically, the first deviation parameter value in this example is the amount of deviation between [u ref_1 v ref_1 ] T 1130A and [u verify_1 v verify_1 ] T 1130A (associated with the first pose). For example, it can be obtained based on distance) and can be based on the amount of deviation between [u ref_2 v ref _2 ] T 1130A and [u verify _2 v verify _2 ] T 1130A (associated with the second pose). In one example, the first deviation parameter value may be equal to or based on the average of the two deviation quantities. More generally, each group of deviation parameter values in this example is between a group of first reference image coordinates (associated with a first pose) and a group of first validation image coordinates, respectively. It may be based on the amount of deviation, and may be further based on the amount of deviation between the group of second reference image coordinates (associated with the second pose) and the group of second verification image coordinates. ..

場合によっては、第1の参照画像内の参照画像座標及び第2の参照画像内の参照画像座標は、上記で論じられた2つの参照画像1120、1122等の、1組の参照画像内に共通の検証記号(例えば、1130A)が現れる箇所を示す1組の参照画像座標の一部であり得る。この実施例における参照画像の組及び参照画像座標の組は、それぞれ、図11A及び図11Bにおける2つのポーズ等の、ロボットアーム(例えば、1153)のためのそれぞれのポーズの組に対応し得る。同様に、第1の検証画像内の検証画像座標及び第2の検証画像内の検証画像座標は、上記で論じられた検証画像1160、1162等の、検証画像の組内に検証記号が現れる箇所を示す検証画像座標の組の一部であり得る。検証画像の組及び検証画像座標の組はまた、ポーズの組に対応し得る。このような場合において、検証記号と関連付けられる偏差パラメーター値は、参照画像座標の組と検証画像座標の組との間のそれぞれの偏差量に基づいてもよい。 In some cases, the reference image coordinates in the first reference image and the reference image coordinates in the second reference image are common in a set of reference images, such as the two reference images 1120, 1122 discussed above. Can be part of a set of reference image coordinates indicating where the verification symbol (eg, 1130A) appears. The set of reference images and the set of reference image coordinates in this embodiment may correspond to the respective set of poses for the robot arm (eg, 1153), such as the two poses in FIGS. 11A and 11B, respectively. Similarly, the verification image coordinates in the first verification image and the verification image coordinates in the second verification image are the places where the verification symbol appears in the set of verification images such as the verification images 1160 and 1162 discussed above. Can be part of a set of verification image coordinates that indicate. The set of verification images and the set of verification image coordinates can also correspond to the set of poses. In such a case, the deviation parameter value associated with the verification symbol may be based on the respective deviation amount between the set of reference image coordinates and the set of verification image coordinates.

図12A〜図12Bに戻ると、方法1200は、ステップ1213を含むことができ、そのステップでは、制御回路111が、それぞれの偏差パラメーター値のグループの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するかどうかを判断する。場合によっては、ステップ1213は、図4Bのステップ459と同様であり得る。一実施形態において、ステップ1213は、それぞれの偏差パラメーター値のグループの各偏差パラメーター値が、それぞれの偏差閾値を超過しているかどうかを判断することを含むことができる。例えば、制御回路111は、検証記号1130Aと関連付けられた偏差パラメーター値が、規定された偏差閾値を超過したかどうか、検証記号1130Bと関連付けられた偏差パラメーター値が、規定された偏差閾値を超過したかどうか、及び/又は検証記号1130Cと関連付けられた偏差パラメーター値が、規定された偏差閾値を超過したかどうかを判断することができる。場合によっては、それぞれの偏差閾値は、同じ値を有することができ、それゆえ、検証記号のための共通の偏差閾値を形成することができるか、又は異なる値を有することができる。 Returning to FIGS. 12A-12B, method 1200 can include step 1213, in which the control circuit 111 has at least one deviation parameter value in each group of deviation parameter values defined deviation. Determine if the threshold is exceeded. In some cases, step 1213 may be similar to step 459 in FIG. 4B. In one embodiment, step 1213 may include determining whether each deviation parameter value in each group of deviation parameter values exceeds each deviation threshold. For example, the control circuit 111 determines whether the deviation parameter value associated with the verification symbol 1130A exceeds the defined deviation threshold, and the deviation parameter value associated with the verification symbol 1130B exceeds the defined deviation threshold. It can be determined whether and / or whether the deviation parameter value associated with the verification symbol 1130C exceeds the defined deviation threshold. In some cases, each deviation threshold can have the same value and therefore can form a common deviation threshold for the validation symbol or have different values.

一実施形態において、方法は、ステップ1215を含んでもよく、そのステップにおいて、制御回路111は、それぞれの偏差パラメーター値のグループの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するという判断に応答して、(a)それぞれの偏差パラメーター値のグループの少なくとも1つが、規定された偏差閾値を超過するという通知を出力すること、及び、(b)更新されたキャリブレーション情報(例えば、更新されたキャリブレーション情報)を判断するためにキャリブレーション操作を実行すること、のうちの少なくとも1つを実行することができる。例えば、ステップ1215は、ロボットコントローラー110と通信する電子ディスプレイ等の、ユーザーインターフェースデバイスに通知を出力することを含み得る。電子ディスプレイは、例えば、少なくとも1つの偏差パラメーター値、又は少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過することの指標を表示し得る。一実施形態において、ステップ1215におけるキャリブレーション操作を実行することは、図4Bにおけるステップ461と同様又は同一であってもよい。一実施形態において、ステップ1201のキャリブレーション情報が、第1のキャリブレーション操作を実行することによって判断される場合、ステップ1215のキャリブレーション操作は、第1のキャリブレーション操作に続く、第2のキャリブレーション操作であり得る。 In one embodiment, the method may include step 1215, in which control circuit 111 determines that at least one deviation parameter value in each group of deviation parameter values exceeds a defined deviation threshold. In response to (a) printing a notification that at least one of the groups of each deviation parameter value exceeds a defined deviation threshold, and (b) updated calibration information (eg, updating). At least one of performing a calibration operation to determine the calibration information) can be performed. For example, step 1215 may include outputting notifications to a user interface device, such as an electronic display that communicates with the robot controller 110. The electronic display may, for example, display an indicator that at least one deviation parameter value, or at least one deviation parameter value, exceeds a defined deviation threshold. In one embodiment, performing the calibration operation in step 1215 may be similar to or identical to step 461 in FIG. 4B. In one embodiment, if the calibration information in step 1201 is determined by performing a first calibration operation, the calibration operation in step 1215 follows the first calibration operation, followed by a second calibration. It can be a calibration operation.

一実施形態において、規定された偏差閾値を超過する少なくとも1つの偏差パラメーター値は、カメラ(例えば、図11A〜図11Bの1170)への変化及び/又はカメラの環境若しくはロボット操作システム(例えば、1100)への変化があることを示すことができる。場合によっては、カメラへの変化は、例えば、カメラのレンズ又はカメラのイメージセンサーが、温度変化又は物理的損傷に起因して、形状又はサイズが変化した場合等の、内部変化であってもよい。場合によっては、カメラへの変化は、カメラ(例えば、170)が装着される箇所への変化、例えば、カメラが装着される構造(例えば、天井)内の振動に起因する等の変化を含み得る。場合によっては、カメラの環境における又はロボット操作システムに対する変化は、ロボットが装着される構造(例えば床)における振動に起因する等の、ロボット(例えば、1150)のベース(例えば、1152)の位置又は向きの変化を含み得る。場合によっては、カメラの環境又はロボット操作システムへの変化は、ロボットアームのアーム部分間(例えば、ロボットアーム1153のリンク1154A〜1154E間)、又はアーム部分自体の関係における変化であり得る。例えば、アーム部分(例えば、リンク1154D又はロボットハンド1155)のうちの1つは、コンピューティングシステム110によって計画されていなかった事象に起因して、湾曲又は別様に変形若しくは損傷する場合がある。計画外の事象は、衝突事象、又はロボット(例えば、1150)若しくはロボット操作システムの他の要素における、変化の可能性につながり得るいくつかの他の予想外の事象であり得る。上記で論じられたキャリブレーション検証は、カメラ(例えば、1170)への変化及び/又はカメラの環境若しくはロボット操作システム1100への変化を検出するための、迅速かつ効率的な技術を提供し得る。例えば、カメラ(例えば、1170)及び/又はロボット(例えば、1150)における変化は、参照画像座標(複数の場合もある)と対応する検証画像座標(複数の場合もある)とを比較して、それらの間の差異を判断することによって検出され得る。多くの場合、このような比較は、コンピューティングシステム110の計算リソースに大きな需要をかけることなく行うことができる。例えば、比較は、限られた量のプロセッサ実行時間及び/又は限られた量のメモリのみを取得する計算で行うことができる。それゆえ、比較は、計算効率的な態様で、キャリブレーション情報の精度の正確な監視を容易にすることができる。 In one embodiment, at least one deviation parameter value that exceeds a defined deviation threshold is a change to a camera (eg, 1170 of FIGS. 11A-11B) and / or a camera environment or robotic operating system (eg, 1100). ) Can be shown to be changed. In some cases, the change to the camera may be an internal change, for example, when the camera lens or camera image sensor changes shape or size due to temperature changes or physical damage. .. In some cases, changes to the camera may include changes to the location where the camera (eg, 170) is mounted, eg, due to vibrations in the structure (eg, ceiling) where the camera is mounted. .. In some cases, changes in the camera environment or to the robot operating system may result from vibrations in the structure (eg, floor) on which the robot is mounted, such as the position of the base (eg, 1152) of the robot (eg, 1150) or. It can include changes in orientation. In some cases, changes to the camera environment or robotic operating system can be changes in the arm portion of the robot arm (eg, between links 1154A to 1154E of the robot arm 1153), or in the relationship of the arm portion itself. For example, one of the arm portions (eg, link 1154D or robot hand 1155) may be curved or otherwise deformed or damaged due to an event unplanned by the computing system 110. An unplanned event can be a collision event, or some other unexpected event that can lead to potential changes in the robot (eg, 1150) or other elements of the robotic operating system. The calibration verification discussed above may provide a fast and efficient technique for detecting changes to the camera (eg, 1170) and / or changes to the camera environment or robotic operating system 1100. For example, changes in a camera (eg, 1170) and / or a robot (eg, 1150) can be compared with reference image coordinates (s) and corresponding verification image coordinates (s). It can be detected by determining the difference between them. In many cases, such comparisons can be made without placing significant demand on the computing resources of the computing system 110. For example, comparisons can be made with calculations that acquire only a limited amount of processor execution time and / or a limited amount of memory. Therefore, the comparison can facilitate accurate monitoring of the accuracy of the calibration information in a computationally efficient manner.

一実施形態において、規定された偏差閾値を超過する少なくとも1つの偏差パラメーター値は、第1のカメラキャリブレーションからのカメラキャリブレーション情報が、もはや十分に正確でないカメラキャリブレーション誤差等の、キャリブレーション誤差があることを示し得る。一実施形態において、方法1200は、制御回路111が、少なくとも1つの偏差パラメーター値に、規定された偏差閾値を超過させるキャリブレーション誤差のタイプ(ミスアライメントのタイプとも呼ばれる)を判断することを含むことができる。キャリブレーション誤差のタイプは、例えば、キャリブレーション情報(例えば、カメラキャリブレーション情報)に対する精度の損失が、ロボットへの変化によって引き起こされるかどうか、又は別様にロボットへの変化を表すものによって引き起こされるかどうか、又は精度の損失が、カメラへの変化によって引き起こされるかどうか、又は別様にカメラへの変化を表すものによって引き起こされるかどうかを示し得る。例えば、カメラ(例えば、1170)への変化は、上記で論じられたように、カメラへの内部変化及び/又はカメラが装着される箇所への変化を含んでもよい。ロボットへの変化は、上記で論じられたように、ロボット(例えば、1150)のベース(例えば、1152)の箇所又は向きへの変化、ロボットアーム(例えば、1153)のアーム部分間の関係への変化、及び/若しくはアーム部分自体への変化を含み得る。 In one embodiment, at least one deviation parameter value that exceeds a defined deviation threshold is a calibration error, such as a camera calibration error in which the camera calibration information from the first camera calibration is no longer sufficiently accurate. Can indicate that there is. In one embodiment, method 1200 comprises the control circuit 111 determining the type of calibration error (also referred to as the type of misalignment) that causes at least one deviation parameter value to exceed a defined deviation threshold. Can be done. The type of calibration error is caused, for example, by whether a loss of accuracy for calibration information (eg, camera calibration information) is caused by a change to the robot, or otherwise represents a change to the robot. It can indicate whether or not the loss of accuracy is caused by a change to the camera, or otherwise by something that represents a change to the camera. For example, changes to a camera (eg, 1170) may include internal changes to the camera and / or changes to where the camera is mounted, as discussed above. Changes to the robot, as discussed above, are changes to the location or orientation of the base (eg, 1152) of the robot (eg, 1150), to the relationship between the arm portions of the robot arm (eg, 1153). It can include changes and / or changes to the arm portion itself.

一実施形態において、キャリブレーション誤差のタイプの判断は、それぞれの偏差パラメーター値のグループ間の比較に基づくことができ、より具体的には、それぞれの偏差パラメーター値のグループが、実質的に均一な態様で規定された偏差閾値を超過するかどうかに基づくことができる。例えば、異なる検証記号(例えば、1130A〜1130C)と関連付けられる偏差パラメーター値のグループが、全て規定された偏差閾値を超過し、実質的に均一な態様で行う場合、制御回路111は、精度の損失が、カメラ(例えば、1170)によって、又はより具体的には、カメラへの変化によって引き起こされると判断することができる。これは、参照画像又は検証画像における検証記号(例えば、1130A〜1130C)の各々の外観が、内部特性及び/又はカメラ(例えば、1170)の位置決めに依存するためである。より具体的には、参照画像又は検証画像内の検証記号(例えば、1130A〜1130C)の参照画像座標及び検証画像座標は、全て、内部特性又はカメラの位置決めに依存し得る。それゆえ、内部特性又はカメラ(例えば、1170)の位置決めへの変化は、多くの場合、全ての検証記号(例えば、1130A〜1130C)に関するそれぞれの偏差パラメーター値に、影響を及ぼし得、より具体的には、多くの場合、実質的に均一な態様で全ての偏差パラメーター値を増加させ得る。比較すると、アーム部分等のロボット(例えば、1150)の一部に損傷、誤動作、又は他の変化がある場合、ロボットの他の部分が全て全く同じように変化する(例えば、損傷又は全ての誤動作)可能性は低い。それゆえ、少なくとも1つの偏差パラメーター値が規定された偏差閾値を上回るであろうロボットの一部に変化がある場合、偏差パラメーター値のグループの他の偏差パラメーター値は、規定された偏差閾値を下回ったままであってもよく、又は偏差パラメーター値のグループは、全て規定された偏差閾値を超過し得るが、不均一な態様で行う。それゆえ、一実施形態では、異なる検証記号(例えば、1130A〜1130C)と関連付けられたそれぞれの偏差パラメーター値のグループのうちの少なくとも1つが、規定された偏差閾値を超過するが、それぞれの偏差パラメーター値のグループが全て、実質的に均一な態様で規定された偏差閾値を超過しない場合、制御回路111は、精度の損失がロボット(例えば、1150)、又はより具体的にはロボットへの変化によって引き起こされると判断することができる。 In one embodiment, the determination of the type of calibration error can be based on a comparison between each group of deviation parameter values, and more specifically, each group of deviation parameter values is substantially uniform. It can be based on whether the deviation threshold specified in the embodiment is exceeded. For example, if a group of deviation parameter values associated with different verification symbols (eg, 1130A-1130C) all exceed a defined deviation threshold and are performed in a substantially uniform manner, the control circuit 111 loses accuracy. However, it can be determined that it is caused by a camera (eg, 1170) or, more specifically, by a change to the camera. This is because the appearance of each of the verification symbols (eg, 1130A-1130C) in the reference or verification image depends on the internal characteristics and / or the positioning of the camera (eg, 1170). More specifically, the reference image coordinates and the verification image coordinates of the verification symbol (for example, 1130A to 1130C) in the reference image or the verification image may all depend on the internal characteristics or the positioning of the camera. Therefore, changes to internal characteristics or positioning of the camera (eg, 1170) can often affect the respective deviation parameter values for all verification symbols (eg, 1130A to 1130C) and are more specific. In many cases, all deviation parameter values can be increased in a substantially uniform manner. By comparison, if part of the robot (eg, 1150), such as the arm, is damaged, malfunctions, or otherwise changes, all other parts of the robot change in exactly the same way (eg, damage or all malfunctions). )Unlikely. Therefore, if there is a change in the part of the robot where at least one deviation parameter value will exceed the specified deviation threshold, the other deviation parameter values in the group of deviation parameter values will be below the specified deviation threshold. It may remain, or a group of deviation parameter values may all exceed the defined deviation threshold, but in a non-uniform manner. Therefore, in one embodiment, at least one of each group of deviation parameter values associated with different verification symbols (eg, 1130A-1130C) exceeds the defined deviation threshold, but each deviation parameter. If all groups of values do not exceed a deviation threshold defined in a substantially uniform manner, the control circuit 111 will lose accuracy due to a change to the robot (eg, 1150), or more specifically to the robot. It can be determined that it is caused.

一実施形態において、制御回路111は、偏差パラメーター値のグループが、全て実質的に均一な態様で規定された偏差閾値を超過するかどうかを評価するために、規定された均一性閾値を使用することができる。例えば、制御回路111は、偏差パラメーター値のうちの少なくとも1つが、規定された偏差閾値を超過するかどうかを判断し得、偏差パラメーター値間(又はそれらが規定された偏差閾値を超過するそれぞれの量間)の差異が、規定された均一性閾値内にあるかどうかをさらに判断し得る。均一性閾値は、(例えば、ロボット操作システムの現在の動作条件に基づいて)動的に規定することができるか、又はあらかじめ規定することができる。規定された均一性閾値を使用する例として、制御回路111が、検証記号1130A〜1130Cに関するそれぞれの偏差パラメーター値が、全て規定された偏差閾値を超過するが、検証記号1130Cと関連付けられた偏差パラメーター値が、規定された均一性閾値を超えて検証記号1130Aと関連付けられた偏差パラメーター値と異なる、及び/又は規定された均一性閾値を超えて検証記号1130Bと関連付けられた偏差パラメーター値と異なると判断する場合、制御回路111は、少なくともロボットハンド1155又は検証記号1130Cが配置される他のアーム部分における変化等の、ロボット1150の変化によって精度の損失が引き起こされると判断することができる。上記の例において、制御回路111は、偏差パラメーター値を直接比較している。他の実施例において、制御回路111は、偏差パラメーター値が、規定された偏差閾値を超過するそれぞれの量、及びそれらのそれぞれの量が規定された均一性閾値を超えて異なるかどうかを比較することができる。別の実施例では、制御回路111が、偏差パラメーター値のグループの第1の偏差パラメーター値が規定された偏差閾値を超過するが、偏差パラメーター値のグループのうちの1つ以上が、規定された偏差閾値を超過しないと判断する場合、制御回路111はまた、キャリブレーション誤差(ミスアライメントとも呼ばれる)が、第1の偏差パラメーター値と関連付けられた検証記号がその上に配置されるアーム部分等の、ロボット(例えば、1150)への変化によって引き起こされると判断し得る。別の実施例において、制御回路111が、偏差パラメーター値のグループが、全て規定された偏差閾値を超過し、それらが規定された均一性閾値を超えて互いに異なることがないと判断する場合、次いで、制御回路111は、キャリブレーション誤差が、カメラ(例えば、1170)の変化によって引き起こされると判断することができる。 In one embodiment, the control circuit 111 uses a defined uniformity threshold to assess whether a group of deviation parameter values all exceed the defined deviation threshold in a substantially uniform manner. be able to. For example, the control circuit 111 may determine whether at least one of the deviation parameter values exceeds a defined deviation threshold, and between the deviation parameter values (or each of them exceeding a defined deviation threshold). It can be further determined whether the difference (between quantities) is within the defined uniformity threshold. The uniformity threshold can be dynamically or pre-defined (eg, based on the current operating conditions of the robotic operating system). As an example of using the defined uniformity threshold, the control circuit 111 has a deviation parameter associated with the verification symbol 1130C, although the respective deviation parameter values for verification symbols 1130A to 1130C all exceed the specified deviation threshold. If the value exceeds the specified uniformity threshold and differs from the deviation parameter value associated with verification symbol 1130A and / or exceeds the specified uniformity threshold and differs from the deviation parameter value associated with verification symbol 1130B. When making a determination, the control circuit 111 can determine that a change in the robot 1150, such as a change in at least the robot hand 1155 or another arm portion on which the verification symbol 1130C is located, causes a loss of accuracy. In the above example, the control circuit 111 directly compares the deviation parameter values. In another embodiment, the control circuit 111 compares the respective quantities of deviation parameter values that exceed the defined deviation thresholds, and whether each of these quantities differs beyond the defined uniformity threshold. be able to. In another embodiment, the control circuit 111 has a first deviation parameter value in a group of deviation parameter values that exceeds a defined deviation threshold, but one or more of the groups of deviation parameter values have been defined. If it determines that the deviation threshold is not exceeded, the control circuit 111 also determines that the calibration error (also called misalignment) is such as the arm portion on which the verification symbol associated with the first deviation parameter value is placed. , Can be determined to be caused by a change to a robot (eg, 1150). In another embodiment, if the control circuit 111 determines that the groups of deviation parameter values all exceed the defined deviation thresholds and they do not exceed the defined uniformity thresholds and differ from each other, then The control circuit 111 can determine that the calibration error is caused by a change in the camera (eg, 1170).

場合によっては、ロボットコントローラー110又は他のコンピューティングシステムの制御回路111は、図11A及び図11Bのコンベヤベルト1173等の、コンベヤベルトと通信することができる。そのような場合では、制御回路111は、少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過すると判断することに応答して、コンベア1173ベルトを停止させるように構成することができる。コンベヤベルト1173を停止することは、不正確なキャリブレーション情報に基づいて、ロボットアーム1153が、コンベヤベルト1173上の物体と望ましくない相互作用を有することを防止し得る。 In some cases, the robot controller 110 or the control circuit 111 of another computing system can communicate with a conveyor belt, such as the conveyor belt 1173 of FIGS. 11A and 11B. In such cases, the control circuit 111 can be configured to stop the conveyor 1173 belt in response to determining that at least one deviation parameter value exceeds a defined deviation threshold. Stopping the conveyor belt 1173 can prevent the robot arm 1153 from having unwanted interactions with objects on the conveyor belt 1173, based on inaccurate calibration information.

一実施形態において、制御回路111は、キャリブレーション情報が、特定のアーム部分(例えば、検証記号1130Aが配置されるリンク1154C、又は検証記号1130Bが配置されるリンク1154D、又は検証記号1130Cが配置されるロボットハンド1155)に対して十分に正確である場合、キャリブレーション情報もまた、その特定のアーム部分の上流にある1つ以上のアーム部分に対して十分に正確であることを判断するように構成することができる。上記で言及されたように、複数のアーム部分は、ロボットのベースからロボットエンドエフェクタまで、一連のアーム部分として配置され得る。前者のアーム部分が一連のアーム部分において後者のアーム部分に先行する場合、アーム部分は、別のアーム部分の上流であってもよい。例えば、図11A〜図11Bのリンク1154Dは、リンク1154E及びロボットハンド1155の上流であり得る。一例において、制御回路111が、キャリブレーション情報(例えば、カメラキャリブレーション情報)が、例えば、ロボットハンド1155に対して十分に正確であると判断する場合、キャリブレーションが、リンク1154E、1154D、1154C、1154B、及び1154A等の、上流アーム部分に対して十分に正確であると判断することができる。この例において、制御回路111は、アーム部分上に配置された検証記号と関連付けられた偏差パラメーター値が、規定された偏差閾値を下回る場合、キャリブレーション情報が、アーム部分にとって十分に正確であると判断することができる。一実施形態において、制御回路111が、そのアーム部分についてキャリブレーション情報が十分に正確でないように、特定のアーム部分についてキャリブレーション誤差があると判断する場合、制御回路111は、いくつか又は全ての下流アーム部分についてキャリブレーション誤差があると判断することができる。例えば、制御回路111が、リンク1154D等の特定のロボット部分についてキャリブレーション情報が十分に正確でないと判断する場合、制御回路111は、リンク1154E及びロボットハンド1155等の下流アーム部分についてキャリブレーション情報が十分に正確でないと判断することができる。 In one embodiment, the control circuit 111 is provided with calibration information such that the link 1154C on which the verification symbol 1130A is arranged, the link 1154D on which the verification symbol 1130B is arranged, or the verification symbol 1130C is arranged. If sufficiently accurate for the robot hand 1155), the calibration information should also be determined to be sufficiently accurate for one or more arm portions upstream of that particular arm portion. Can be configured. As mentioned above, the plurality of arm portions can be arranged as a series of arm portions from the base of the robot to the robot end effector. If the former arm portion precedes the latter arm portion in a series of arm portions, the arm portion may be upstream of another arm portion. For example, link 1154D in FIGS. 11A-11B can be upstream of link 1154E and robot hand 1155. In one example, if the control circuit 111 determines that the calibration information (eg, camera calibration information) is sufficiently accurate for, for example, the robot hand 1155, then the calibration is performed on links 1154E, 1154D, 1154C, It can be determined that it is sufficiently accurate for the upstream arm portions such as 1154B and 1154A. In this example, the control circuit 111 states that the calibration information is sufficiently accurate for the arm portion if the deviation parameter value associated with the verification symbol placed on the arm portion is below the defined deviation threshold. You can judge. In one embodiment, if the control circuit 111 determines that there is a calibration error for a particular arm portion such that the calibration information for that arm portion is not sufficiently accurate, then the control circuit 111 may have some or all. It can be determined that there is a calibration error for the downstream arm portion. For example, if the control circuit 111 determines that the calibration information is not sufficiently accurate for a particular robot portion such as the link 1154D, the control circuit 111 will provide the calibration information for the downstream arm portion such as the link 1154E and the robot hand 1155. It can be judged that it is not accurate enough.

一実施形態において、ステップ1203〜1215等の方法1200の1つ以上のステップは、ユーザーコマンドに応答して、ロボットコントローラー110又は他のコンピューティングシステムによって実行することができる。例えば、ユーザー(例えば、システムオペレータ)は、ステップ1203〜1215を含むキャリブレーション検証操作を手動でトリガーすることができる。一実施形態において、ステップ1203〜1215は、休止期間中に実行され得る。休止期間は、例えば、コンベヤベルト又はパレットから物体を持ち上げる等のロボット操作が実行されていない期間であり得る。一実施形態において、ステップ1203〜1215等の方法1200の1つ以上のステップは、規定されたトリガー条件に応答して、ロボットコントローラー110又は他のコンピューティングシステムによって実行することができる。上記で論じられたように、トリガー条件は、例えば、ロボット(例えば、1150)を含む衝突、地震又は他の天災等の、計画外の事象を含み得、これは、ロボット(例えば、1150)及び/又はカメラ(例えば、1170)における変化をもたらし得る。場合によっては、トリガー条件は、ステップ1201のキャリブレーション情報を判断するために使用されるキャリブレーション操作等の、より早いキャリブレーション操作の後に経過する特定の期間を含むことができる。このような例において、先のキャリブレーション操作は、第1のキャリブレーション操作であってもよく、一方でステップ1215のキャリブレーション操作は、第2のキャリブレーション操作であってもよい。 In one embodiment, one or more steps of method 1200, such as steps 1203-1215, can be performed by the robot controller 110 or other computing system in response to user commands. For example, a user (eg, a system operator) can manually trigger a calibration verification operation that includes steps 1203-1215. In one embodiment, steps 1203-1215 can be performed during the rest period. The rest period can be a period during which no robotic operation, such as lifting an object from a conveyor belt or pallet, is being performed. In one embodiment, one or more steps of method 1200, such as steps 1203-1215, can be performed by the robot controller 110 or other computing system in response to defined trigger conditions. As discussed above, trigger conditions can include unplanned events such as collisions involving robots (eg 1150), earthquakes or other natural disasters, which include robots (eg 1150) and / Or can result in changes in the camera (eg, 1170). In some cases, the trigger condition can include a specific period that elapses after an earlier calibration operation, such as the calibration operation used to determine the calibration information in step 1201. In such an example, the previous calibration operation may be the first calibration operation, while the calibration operation in step 1215 may be the second calibration operation.

種々の実施形態のさらなる論考
実施形態A1は、ベースと、その上に配置される検証記号を有するロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースを備えるロボット制御システムに関連する。ロボット制御システムは、第1のカメラキャリブレーション(又は、より一般的に、キャリブレーション操作)を実行して、カメラと関連付けられるカメラキャリブレーション情報(又は、より一般的に、ロボット制御システムと関連付けられるキャリブレーション情報)を判断するように構成される制御回路をさらに備える。制御回路は、a)通信インターフェースを介して、ロボットに第1の動作コマンドを出力することによって、第1のカメラキャリブレーション中又は後に、検証記号をカメラ視野内の箇所に動かすようにロボットアームを制御することであって、その箇所は、第1のカメラキャリブレーションの検証のための1つ以上の参照箇所のうちの参照箇所である、ロボットアームを制御することと、b)通信インターフェースを介して、カメラから検証記号の画像を受信することであって、カメラは参照箇所において検証記号の画像を取り込むように構成され、画像は検証のための参照画像である、検証記号の画像を受信することと、c)検証のための参照画像座標を判断することであって、参照画像座標は参照画像内に検証記号が現れる座標である、参照画像座標を判断することと、d)通信インターフェースを介して、ロボットにカメラキャリブレーション情報に基づく第2の動作コマンドを出力することによって、カメラキャリブレーション情報に基づいて、ロボット操作を実行するようにロボットアームの動作を制御することと、e)ロボット操作中に休止期間を検出することと、f)通信インターフェースを介して、ロボットに第3の動作コマンドを出力することによって、休止期間中に、検証記号を少なくとも参照箇所に動かすようにロボットアームを制御することと、g)休止期間中に、通信インターフェースを介して、カメラから検証記号のさらなる画像を受信することであって、カメラは少なくともその参照箇所において検証記号のさらなる画像を取り込むように構成され、さらなる画像は検証のための検証画像である、検証記号のさらなる画像を受信することと、h)検証のために使用される検証画像座標を判断することであって、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座標を判断することと、i)参照画像座標と検証画像座標との間の偏差量に基づいて、偏差パラメーター値を判断することであって、参照画像座標及び検証画像座標は両方ともその参照箇所に関連付けられ、偏差パラメーター値は、第1のカメラキャリブレーション以降のカメラの変化、又は第1のカメラキャリブレーション以降のカメラとロボットとの間の関係の変化を示す、偏差パラメーター値を判断することと、i)偏差パラメーター値が規定された閾値を超過するかどうかを判断することと、j)偏差パラメーター値が規定された閾値を超過すると判断することに応答して、第2のカメラキャリブレーションを実行して、更新されたカメラキャリブレーション情報を判断すること(又は、より一般的に、第2のキャリブレーション操作を実行して、更新されたキャリブレーション情報を判断すること)と、を行うように、さらに構成される。
Further Discussion of Various Embodiments Embodiment A1 is a communication interface configured to communicate with a robot having a base and a robot arm having a verification symbol placed on it and to communicate with a camera having a camera field of view. Related to robot control systems equipped with. The robot control system performs a first camera calibration (or more generally, a calibration operation) and is associated with the camera calibration information (or more generally, the robot control system) associated with the camera. A control circuit configured to determine the calibration information) is further provided. The control circuit a) causes the robot arm to move the verification symbol to a location within the camera field of view during or after the first camera calibration by outputting a first action command to the robot via the communication interface. Control is to control the robot arm, which is a reference point of one or more reference points for verification of the first camera calibration, and b) via a communication interface. The camera receives the image of the verification symbol from the camera, the camera is configured to capture the image of the verification symbol at the reference point, and the image receives the image of the verification symbol, which is the reference image for verification. That, c) to determine the reference image coordinates for verification, and the reference image coordinates are the coordinates where the verification symbol appears in the reference image, to determine the reference image coordinates, and d) to determine the communication interface. By outputting a second operation command based on the camera calibration information to the robot via the camera, the operation of the robot arm is controlled so as to execute the robot operation based on the camera calibration information, and e) the robot. By detecting the pause period during operation and f) outputting a third action command to the robot via the communication interface, the robot arm is moved to move the verification symbol to at least the reference point during the pause period. Controlling and g) receiving additional images of the verification symbol from the camera via the communication interface during the pause period, the camera being configured to capture additional images of the verification symbol at least at its reference points. The further image is a verification image for verification, receiving a further image of the verification symbol and h) determining the verification image coordinates used for verification, the verification image coordinates being verified. Judging the verification image coordinates, which are the coordinates at which the verification symbol appears in the image, and i) determining the deviation parameter value based on the amount of deviation between the reference image coordinates and the verification image coordinates. Both the reference image coordinates and the verification image coordinates are associated with the reference point, and the deviation parameter value is the change of the camera after the first camera calibration, or between the camera and the robot after the first camera calibration. Judging the deviation parameter value, which indicates the change in the relationship, i) determining whether the deviation parameter value exceeds the specified threshold, and j) deviation. Performing a second camera calibration in response to determining that the parameter value exceeds a defined threshold to determine updated camera calibration information (or, more generally, a second). To determine the updated calibration information by performing the calibration operation of), and is further configured to perform.

実施形態A2は、実施形態A1のロボット制御システムを含み、制御回路は、偏差パラメーター値が規定された閾値を超過しないという判断に応答して、通信インターフェースを介して、ロボットに第4の動作コマンドを出力することによって、さらなるカメラキャリブレーションを実行することなく、休止期間後にロボット操作を継続するように、ロボットを制御するように構成される。 Embodiment A2 includes the robot control system of embodiment A1, and the control circuit gives the robot a fourth action command via the communication interface in response to the determination that the deviation parameter value does not exceed a defined threshold. Is configured to control the robot so that it continues to operate after a pause without performing further camera calibration.

実施形態A3は、実施形態A1又はA2のロボット制御システムを含み、1つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所であり、参照画像座標は、複数の参照画像座標のうちの1つである。この実施形態では、制御回路は、複数の参照箇所にそれぞれ対応する複数の検証画像座標を判断するようにさらに構成され、検証画像座標は、複数の検証画像座標のうちの1つであり、偏差パラメーター値は、複数の参照箇所に関する複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づき、それぞれの偏差量のうちの各偏差量は、(a)複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、(b)同じ参照箇所に対応する検証画像座標と、の間にある。 The embodiment A3 includes the robot control system of the embodiment A1 or A2, and one or more reference points are a plurality of reference points corresponding to a plurality of reference image coordinates, and the reference image coordinates are a plurality of reference images. It is one of the coordinates. In this embodiment, the control circuit is further configured to determine a plurality of verification image coordinates corresponding to the plurality of reference points, the verification image coordinates being one of the plurality of verification image coordinates, and a deviation. The parameter value is based on the amount of deviation between the plurality of reference image coordinates and the plurality of verification image coordinates for the plurality of reference points, and each deviation amount of the respective deviation amounts is (a) a plurality of reference points. It is between the reference image coordinates corresponding to each reference point of (b) and the verification image coordinates corresponding to the same reference point.

実施形態A4は、実施形態A3のロボット制御システムを含み、複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は、複数の検証画像のうちの1つであり、制御回路は、カメラを制御して、休止期間内に複数の検証画像の全てを取り込むように構成される。 The embodiment A4 includes the robot control system of the embodiment A3, and the plurality of verification image coordinates are the coordinates where the verification symbol appears in the plurality of verification images, and the verification image is one of the plurality of verification images. The control circuit is configured to control the camera and capture all of the plurality of verification images within the pause period.

実施形態A5は、実施形態A3のロボット制御システムを含み、複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は、複数の検証画像のうちの1つであり、制御回路は、カメラを制御して、異なる休止期間内に複数の検証画像を取り込むように構成され、休止期間は、異なる休止期間のうちの1つである。 The embodiment A5 includes the robot control system of the embodiment A3, and the plurality of verification image coordinates are the coordinates in which the verification symbol appears in the plurality of verification images, and the verification image is one of the plurality of verification images. The control circuit is configured to control the camera and capture a plurality of verification images within different pauses, the pause being one of the different pauses.

実施形態A6は、実施形態A1〜A5のいずれか1つのロボット制御システムを含み、検証記号は、第1の色を有する第1の領域と、第2の色を有する第2の領域とを含み、第1の領域の面積と第2の領域の面積との比が規定され、規定された比としてロボット制御システムの記憶デバイス上に記憶される。 The embodiment A6 includes a robot control system according to any one of the embodiments A1 to A5, and the verification symbol includes a first region having a first color and a second region having a second color. , The ratio of the area of the first region to the area of the second region is defined and stored on the storage device of the robot control system as the defined ratio.

実施形態A7は、実施形態A6のロボット制御システムを含み、制御回路は、規定された比に基づいて、参照画像又は検証画像内の検証記号を識別するように構成される。 The A7 embodiment includes the robot control system of the A6 embodiment, the control circuit being configured to identify a verification symbol in a reference image or verification image based on a defined ratio.

実施形態A8は、実施形態A7のロボット制御システムを含み、ロボットアームは、その上に配置されるキャリブレーションパターンを有し、参照画像は、検証記号及びキャリブレーションパターンを含み、制御回路は、参照画像の部分が、第1の色を有する第1の画像領域を有するか、及び第2の色を有する第2の画像領域を有するかどうかを判断し、第1の画像領域の面積と第2の画像領域の面積との比が規定された比に等しいかどうかを判断することによって、参照画像の部分が検証記号であるか、又はキャリブレーションパターンであるかを判断するように構成される。 The embodiment A8 includes the robot control system of the embodiment A7, the robot arm has a calibration pattern arranged on it, the reference image includes a verification symbol and a calibration pattern, and the control circuit is a reference. It is determined whether the image portion has a first image region having a first color and a second image region having a second color, and the area of the first image region and the second image region. It is configured to determine whether the portion of the reference image is a verification symbol or a calibration pattern by determining whether the ratio of to the area of the image region is equal to the defined ratio.

実施形態A9は、実施形態A1〜A8のいずれか1つのロボット制御システムを含み、検証記号は、互いに同心である第1の形状及び第2の形状を含み、第1の形状及び第2の形状のそれぞれの中心は、実質的に同じ箇所である。 The embodiment A9 includes a robot control system according to any one of the embodiments A1 to A8, and the verification symbols include a first shape and a second shape that are concentric with each other, and the first shape and the second shape. The centers of each are substantially the same.

実施形態A10は、実施形態A9のロボット制御システムを含み、制御回路は、a)参照画像内の第1の形状の中心の第1の座標を判断することと、b)参照画像内の第2の形状の中心の第2の座標を判断することと、c)参照画像内の第1の座標及び第2の座標の平均として参照画像座標を判断することとによって、参照画像座標を判断するように構成される。この実施形態では、制御回路は、d)検証画像内の第1の形状の中心の第1の座標を特定することと、e)検証画像内の第2の形状の中心の第2の座標を特定することと、f)検証画像内の第1の座標及び第2の座標の平均として検証画像座標を特定することとによって、検証画像座標を特定するように構成される。 The embodiment A10 includes the robot control system of the embodiment A9, in which the control circuit a) determines the first coordinate of the center of the first shape in the reference image and b) the second in the reference image. To determine the reference image coordinates by determining the second coordinate of the center of the shape of, and c) determining the reference image coordinates as the average of the first and second coordinates in the reference image. It is composed of. In this embodiment, the control circuit d) identifies the first coordinate of the center of the first shape in the verification image and e) determines the second coordinate of the center of the second shape in the verification image. It is configured to specify the verification image coordinates by specifying and f) specifying the verification image coordinates as the average of the first and second coordinates in the verification image.

実施形態A11は、実施形態A1〜A10のいずれか1つのロボット制御システムを含み、制御回路は、円形リングを識別することによって、参照画像又は検証画像内の検証記号を識別するように構成され、検証記号は円形リングとして形成される。 The embodiment A11 includes a robot control system according to any one of the embodiments A1 to A10, and the control circuit is configured to identify a reference image or a verification symbol in a verification image by identifying a circular ring. The verification symbol is formed as a circular ring.

実施形態A12は、実施形態A1〜A11のいずれか1つのロボット制御システムを含み、制御回路は、ロボットが位置する環境の温度を判断し、測定された温度に基づいて、規定された閾値又はキャリブレーション情報のうちの少なくとも一方を調整するようにさらに構成される。 Embodiment A12 includes a robot control system according to any one of embodiments A1 to A11, in which the control circuit determines the temperature of the environment in which the robot is located and determines a defined threshold or calibration based on the measured temperature. It is further configured to adjust at least one of the threshold information.

実施形態A13は、実施形態A12のロボット制御システムを含み、制御回路は、温度が規定範囲外にあるとき、規定された閾値を第1の値を有するように設定し、温度が規定範囲内にあるとき、閾値を第1の値より低い第2の値を有するように設定することによって、温度に基づいて、規定された閾値を調整するように構成される。 The A13 embodiment includes the robot control system of the A12 embodiment, the control circuit sets a defined threshold value to have a first value when the temperature is outside the specified range, and the temperature is within the specified range. At one point, the threshold is configured to adjust a defined threshold based on temperature by setting the threshold to have a second value lower than the first.

実施形態A14は、実施形態A1〜A13のいずれか1つのロボット制御システムを含み、制御回路がロボットアームを介して検証記号を動かすように構成される1つ以上の参照箇所は、カメラに対して凹形である球の表面上に配置される複数の参照箇所を含む。 The embodiment A14 includes any one of the robot control systems of embodiments A1 to A13, and one or more reference points such that the control circuit is configured to move the verification symbol via the robot arm refers to the camera. Includes multiple references located on the surface of a concave sphere.

実施形態A15は、実施形態A14のロボット制御システムを含み、制御回路は、複数の参照箇所の各参照箇所において検証記号が球の表面に対して接線方向に向くように動かすために、ロボットアームを制御するようにさらに構成される。 The A15 embodiment includes the robot control system of the A14 embodiment, in which the control circuit moves the robot arm so that the verification symbol is tangentially oriented with respect to the surface of the sphere at each reference point of the plurality of reference points. Further configured to control.

実施形態A16は、実施形態A1〜A15のいずれか1つのロボット制御システムを含み、制御回路は、検証記号が参照箇所に動かされるときに、カメラに直接対向するように検証記号を動かすために、ロボットアームを制御するように構成される。 The embodiment A16 includes a robotic control system according to any one of embodiments A1 to A15, in order to move the verification symbol so that it faces the camera directly when the verification symbol is moved to a reference point. It is configured to control the robot arm.

実施形態A17は実施形態A1〜A16のいずれか1つのロボット制御システムを含み、制御回路は、ロボット操作中にロボットがロボット作業を実行していない期間を検出することによって、ロボット操作の休止期間を検出するように構成される。 The embodiment A17 includes a robot control system according to any one of the embodiments A1 to A16, and the control circuit detects a period during which the robot is not performing the robot work during the robot operation, thereby setting a pause period for the robot operation. It is configured to detect.

実施形態A18は、実施形態A17のロボット制御システムを含み、制御回路は、ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するように、ロボットアームを制御するように構成され、制御回路は、コンベヤベルト上に物体がないことを検出することによって、又はロボットと、コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超過することを検出することによって、休止期間を検出するように構成される。 Embodiment A18 includes the robotic control system of embodiment A17, the control circuit being configured to control the robot arm to interact with an object on a conveyor belt reachable by the robot arm. The pause period by detecting the absence of an object on the conveyor belt or by detecting that the distance between the robot and the closest object on the conveyor belt exceeds a defined distance threshold. Is configured to detect.

実施形態B1は、通信インターフェース及び制御回路を備えるコンピューティングシステムに関する。通信インターフェースは、(i)カメラ視野を有するカメラと、(ii)互いに動作可能に取り付けられる複数のアーム部分を備え、かつ複数のアーム部分のそれぞれのアーム部分上に配置される検証記号のグループを備える、ロボットアームを有する、ロボットと、通信するように構成される。制御回路は、ロボットアームがカメラ視野にあるとき、ロボット操作を実行するために、ロボットアームの動作を制御するための動作コマンドを出力することであって、動作コマンドが、キャリブレーション情報に基づいている、出力することと、参照画像座標のグループを判断することであって、参照画像座標のグループが、参照画像内に検証記号のグループが現れるそれぞれの座標であり、参照画像が、検証記号のグループを表すための画像であり、ロボットアームが第1のポーズにあるとき、第1の期間中にカメラによって生成される、判断することと、第1の期間に続く第2の期間中に、ロボットアームを第1のポーズに動かすように制御するための追加の動作コマンドを出力することと、検証記号のグループを表すための追加画像であり、かつ前記ロボットアームが、追加の動作コマンドの結果として、第1のポーズに動かされたとき、カメラによって生成される、検証画像を受信することと、検証画像座標のグループを判断することであって、検証画像座標のグループが、検証画像内に検証記号のグループが現れるそれぞれの座標である、判断することと、参照画像座標のグループと検証画像座標のグループとの間のそれぞれの偏差量に基づいている、それぞれの偏差パラメーター値のグループを判断することであって、それぞれの偏差パラメーター値のグループが、検証記号のグループと関連付けられている、判断することと、それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するかどうかを判断することと、それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するという判断に応答して、それぞれの偏差パラメーター値のグループのうちの少なくとも1つが、規定された偏差閾値を超過するという通知を出力すること、及び、更新されたキャリブレーション情報を判断するためにキャリブレーション操作を実行すること、のうちの少なくとも1つを実行することと、を行うように構成される。制御回路は、例えば、非一時的コンピューター可読媒体上で命令を実行することによって、方法を実行することができる。 Embodiment B1 relates to a computing system including a communication interface and a control circuit. The communication interface comprises (i) a camera having a camera field of view and (ii) a group of verification symbols arranged on each arm portion of the plurality of arm portions having a plurality of arm portions operably attached to each other. It is configured to communicate with a robot that has a robot arm. The control circuit is to output an operation command for controlling the operation of the robot arm in order to execute the robot operation when the robot arm is in the camera field of view, and the operation command is based on the calibration information. The reference image coordinates are the coordinates where the verification symbol group appears in the reference image, and the reference image is the verification symbol. An image to represent a group, which is generated by the camera during the first period when the robot arm is in the first pose, and during the second period following the first period. It is an additional image to output an additional motion command to control the robot arm to move to the first pose and to represent a group of verification symbols, and the robot arm is the result of the additional motion command. As a result, when the robot is moved to the first pose, the verification image generated by the camera is received and the verification image coordinate group is determined, and the verification image coordinate group is included in the verification image. Judging that the group of verification symbols is each coordinate in which it appears, and determining each group of deviation parameter values, which is based on the amount of deviation between the group of reference image coordinates and the group of verification image coordinates. To determine that each group of deviation parameter values is associated with a group of validation symbols, and at least one deviation parameter value of each group of deviation parameter values is specified. Responding to the determination of whether the deviation threshold is exceeded and the determination that at least one deviation parameter value in each group of deviation parameter values exceeds the defined deviation threshold, each deviation At least one of a group of parameter values outputs a notification that the specified deviation threshold is exceeded, and performs a calibration operation to determine updated calibration information. It is configured to do and do at least one. The control circuit can execute the method, for example, by executing an instruction on a non-transitory computer-readable medium.

実施形態B2は、実施形態B1に記載のコンピューティングシステムを含み、第1のポーズは、第1の期間中に出力される第1の追加の動作コマンドと関連付けられ、第1の追加の動作コマンドが、ロボットアームを第1のポーズに動かすように制御するための1つ以上の作動パラメーター値を有し、参照画像が、第1の追加の動作コマンドの結果として、ロボットアームが第1のポーズにあるとき、カメラによって生成される。さらにこの実施形態において、第2の期間中に出力される追加の動作コマンドが、第2の追加の動作コマンドであり、また1つ以上の作動パラメーター値も含む。 The first embodiment B2 includes the computing system according to the first embodiment, in which the first pause is associated with the first additional action command output during the first period, and the first additional action command. However, the robot arm has one or more operating parameter values for controlling the robot arm to move to the first pose, and the reference image shows that the robot arm is in the first pose as a result of the first additional motion command. Generated by the camera when in. Further, in this embodiment, the additional operation command output during the second period is the second additional operation command, and also includes one or more operation parameter values.

実施形態B3は、実施形態B2のコンピューティングシステムを含み、検証記号のグループの各検証記号は、円形形状を有し、第1の追加の動作コマンド及び第2の追加の動作コマンドの1つ以上の作動パラメーター値は、参照画像内及び検証画像内で、検証記号のグループが、偏心率を伴わずに、又は規定された偏心閾値未満であるそれぞれの量の偏心率を伴って現れるような様態で検証記号のグループを位置決めさせる。 Embodiment B3 includes the computing system of Embodiment B2, where each verification symbol in the group of verification symbols has a circular shape and is one or more of a first additional action command and a second additional action command. The operating parameter value of is such that the group of verification symbols appears in the reference image and in the verification image without the eccentricity or with the eccentricity of each amount below the defined eccentricity threshold. Position the group of verification symbols with.

実施形態B4は、実施形態B1〜B3のいずれか1つのコンピューティングシステムを含み、制御回路は、検証記号のグループの各検証記号をカメラに直接対向するように動かす、追加の動作コマンドに対する1つ以上の作動パラメーター値を判断するように構成される。 Embodiment B4 includes the computing system of any one of embodiments B1 to B3, where the control circuit is one for an additional action command that moves each verification symbol in the group of verification symbols so that it faces the camera directly. It is configured to judge the above operating parameter values.

実施形態B5は、実施形態B4のコンピューティングシステムを含み、1つ以上の作動パラメーター値は、検証記号のグループを、カメラに対して凹形である1つ以上の仮想球に対して接線方向に向くようにさせる。 Embodiment B5 includes the computing system of Embodiment B4, where one or more operating parameter values tangentially make a group of verification symbols tangential to one or more virtual spheres that are concave with respect to the camera. Make it face.

実施形態B6は、実施形態B1〜B5のいずれか1つのコンピューティングシステムを含み、検証記号のグループの少なくとも1つの検証記号が、円形リングとして形成されているとき、制御回路は、円形リングを識別することによって、参照画像内及び検証画像内の少なくとも1つの検証記号を識別するように構成される。 The control circuit identifies the circular ring when embodiment B6 includes any one of the computing systems of embodiments B1 to B5 and at least one of the verification symbols in the group of verification symbols is formed as a circular ring. By doing so, it is configured to identify at least one verification symbol in the reference image and the verification image.

実施形態B7は、実施形態B6のコンピューティングシステムを含み、検証記号のグループが、異なるそれぞれのサイズを有するそれぞれの円形リングとして形成されているとき、制御回路は、少なくとも1つの検証記号を形成するそれぞれの円形リングのサイズに基づいて、少なくとも1つの検証記号を識別するように構成される。 The control circuit forms at least one verification symbol when embodiment B7 includes the computing system of embodiment B6 and the groups of verification symbols are formed as respective circular rings with different sizes. It is configured to identify at least one verification symbol based on the size of each circular ring.

実施形態B8は、実施形態B1〜B7のいずれか1つのコンピューティングシステムを含み、制御回路は、ロボットアームの幾何学形状を記述する規定されたモデルに基づいて、参照画像内の検証記号のグループの少なくとも1つの検証記号を識別するように構成される。 Embodiment B8 includes any one of the computing systems of Embodiments B1 to B7, where the control circuit is a group of validation symbols in a reference image based on a defined model that describes the geometry of the robot arm. It is configured to identify at least one verification symbol of.

実施形態B9は、実施形態B8のコンピューティングシステムを含み、制御回路は、モデルに基づいて、少なくとも1つの検証記号が現れることが予想される参照画像内の領域を判断し、参照画像の領域内の少なくとも1つの検証記号を検索するように構成される。 Embodiment B9 includes the computing system of Embodiment B8, the control circuit determines the region in the reference image where at least one verification symbol is expected to appear based on the model, and within the region of the reference image. It is configured to search for at least one verification symbol of.

実施形態B10は、実施形態B1〜B9のいずれか1つのコンピューティングシステムを含み、制御回路は、それぞれの偏差パラメーター値のグループ間の比較に基づいて、少なくとも1つの偏差パラメーター値に規定された偏差閾値を超過させるキャリブレーションエラーのタイプを判断するように構成されており、キャリブレーションエラーのタイプは、キャリブレーション情報に対する精度の損失がロボットにおける変化を表すかどうか、又は精度の損失が、カメラにおける変化を表すかどうかを示す。 The embodiment B10 includes any one of the computing systems of embodiments B1 to B9, in which the control circuit has a deviation defined in at least one deviation parameter value based on a comparison between each group of deviation parameter values. It is configured to determine the type of calibration error that causes the threshold to be exceeded, and the type of calibration error is whether the loss of accuracy with respect to the calibration information represents a change in the robot, or the loss of accuracy in the camera. Indicates whether it represents a change.

実施形態B11は、実施形態B10のコンピューティングシステムを含み、制御回路は、それぞれの偏差パラメーター値のグループ全てが、規定された偏差閾値を超過しているかどうか、及びそれぞれの偏差パラメーターのグループが、規定された均一性閾値を超えて互いに異なるかどうかを判断するように構成される。本実施形態における制御回路は、それぞれの偏差パラメーター値のグループが全て、規定された偏差閾値を超過し、かつ規定された均一性閾値を超えて互いに異なることはないという判断に応答して、キャリブレーション誤差のタイプが、カメラにおける変化を表すキャリブレーション誤差であると判断するように構成される。 The embodiment B11 includes the computing system of the embodiment B10, and the control circuit determines whether all the groups of deviation parameter values exceed the specified deviation threshold value, and whether each group of deviation parameter values exceeds the specified deviation threshold value. It is configured to determine if they differ from each other beyond a defined uniformity threshold. The control circuit in this embodiment is calibrated in response to the determination that all groups of deviation parameter values do not exceed a defined deviation threshold and do not differ from each other beyond a defined uniformity threshold. The type of threshold error is configured to determine that it is a calibration error that represents a change in the camera.

実施形態B12は、実施形態B11のコンピューティングシステムを含み、制御回路は、それぞれの偏差パラメーター値のグループのうちの1つ以上が、規定された偏差閾値を超過しないという判断、又はそれぞれの偏差パラメーター値のグループが、規定された均一性閾値を超えて互いに異なるという判断に応答して、キャリブレーション誤差のタイプが、ロボットにおける変化を表すキャリブレーション誤差であると判断するようにさらに構成される。 Embodiment B12 includes the computing system of Embodiment B11, and the control circuit determines that one or more of the groups of deviation parameter values does not exceed a defined deviation threshold, or each deviation parameter. In response to the determination that the groups of values are different from each other beyond the defined uniformity threshold, it is further configured to determine that the type of calibration error is a calibration error that represents a change in the robot.

実施形態B13は、実施形態B1〜B12のいずれか1つのコンピューティングシステムを含む。この実施形態において、キャリブレーション情報は、第1のキャリブレーション操作と関連付けられ、更新されたキャリブレーション情報を生成するためのキャリブレーション操作は、第1のキャリブレーション操作に続く第2のキャリブレーション操作であり、制御回路は、規定されたトリガー条件に応答して、追加の動作コマンドを出力するように、かつ検証画像を受信するためのカメラコマンドを出力するように構成される。規定されたトリガー条件は、第1のキャリブレーション操作以来経過する規定された期間、又はコンピューティングシステムによって計画されず、かつロボット若しくはカメラに変化をもたらす事象、のうちの少なくとも1つを含む。 Embodiment B13 includes any one of the computing systems of embodiments B1 to B12. In this embodiment, the calibration information is associated with the first calibration operation, and the calibration operation for generating the updated calibration information is a second calibration operation following the first calibration operation. The control circuit is configured to output an additional operation command and a camera command to receive the verification image in response to the specified trigger condition. The specified trigger condition includes at least one of a specified period of time that has elapsed since the first calibration operation, or an event that is not planned by the computing system and causes a change in the robot or camera.

実施形態B14は、実施形態B1〜B13のいずれか1つのコンピューティングシステムを含み、複数のロボットアーム部分が、ロボットのベースからロボットエンドエフェクタまでの一連のアーム部分として配置されているとき、制御回路が、検証記号のグループの第1の検証記号に関する偏差パラメーター値が、規定された偏差閾値を超過するかどうかを判断することと、複数のアーム部分の中から、第1の検証記号が配置されている第1のアーム部分を識別することと、第1の検証記号に関する偏差パラメーター値が、規定された偏差閾値を超過しないという判断に応答して、キャリブレーション情報が、第1のアーム部分に関して、及び一連のアーム部分において第1のアーム部分に先行する少なくとも1つの追加のアーム部分に関して正確であると判断することと、を行うように構成される。 The embodiment B14 includes any one of the computing systems of embodiments B1 to B13, and when a plurality of robot arm portions are arranged as a series of arm portions from the base of the robot to the robot end effector, the control circuit. However, it is determined whether the deviation parameter value for the first verification symbol in the group of verification symbols exceeds the specified deviation threshold value, and the first verification symbol is arranged from among the plurality of arm parts. In response to identifying the first arm portion with and determining that the deviation parameter value for the first verification symbol does not exceed the defined deviation threshold, the calibration information is for the first arm portion. , And determining that the series of arm portions is accurate with respect to at least one additional arm portion preceding the first arm portion.

実施形態B15は、実施形態B1〜B14のいずれか1つのコンピューティングシステムを含み、コンピューティングシステムが、ロボット操作に使用されるコンベヤベルトと通信するとき、制御回路は、少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するという判断に応答して、コンベヤベルトを停止させるように構成される。 The embodiment B15 includes any one of the computing systems of embodiments B1 to B14, and when the computing system communicates with a conveyor belt used for robot operation, the control circuit has at least one deviation parameter value. , The conveyor belt is configured to stop in response to a determination that the specified deviation threshold is exceeded.

実施形態B16は、実施形態B1〜B15のいずれか1つのコンピューティングシステムを含み、参照画像は、ロボットアームの第1のポーズと関連付けられた第1の参照画像であり、検証画像は、第1のポーズと関連付けられた第1の検証画像であり、参照画像座標のグループは、第1のポーズと関連付けられた第1の参照画像座標のグループであり、検証画像座標のグループは、第1のポーズと関連付けられた第1の検証画像座標のグループである。本実施形態では、制御回路は、第2の参照画像座標のグループを判断することであって、第2の参照画像座標のグループが、第2の参照画像内に検証記号のグループが現れるそれぞれの座標であり、第2の参照画像が、ロボットアームが第2のポーズにあるとき、カメラによって生成される、判断することと、第2の参照画像が生成されていることに続いて、ロボットアームを第2のポーズに動かすためにロボットアームを制御するためのさらなる動作コマンドを出力することと、第2の検証画像を受信することであって、第2の検証画像がまた、検証記号のグループもまた表し、さらなる動作コマンドの結果として、ロボットアームが第2のポーズに動かされたとき、カメラによって生成される、受信することと、第2の検証画像座標のグループを判断することであって、第2の検証画像座標のグループが、第2の検証画像内に検証記号のグループが現れるそれぞれの座標である、判断することと、を行うように構成される。この実施形態において、それぞれの偏差パラメーター値のグループは、第2の参照画像座標のグループと第2の検証画像座標のグループとの間のそれぞれの偏差量にさらに基づく。 The embodiment B16 includes any one of the computing systems of embodiments B1 to B15, the reference image is the first reference image associated with the first pose of the robot arm, and the verification image is the first. The first validation image associated with the pose, the group of reference image coordinates is the group of first reference image coordinates associated with the first pose, and the group of validation image coordinates is the first. A group of first verified image coordinates associated with the pose. In the present embodiment, the control circuit is to determine the group of the second reference image coordinates, and the group of the second reference image coordinates and the group of the verification symbols appear in the second reference image, respectively. Coordinates, the second reference image is generated by the camera when the robot arm is in the second pose, following the determination and the second reference image being generated, the robot arm To output additional motion commands to control the robot arm to move to the second pose and to receive the second verification image, the second verification image is also a group of verification symbols. Also represents, as a result of further action commands, when the robot arm is moved to the second pose, it is to determine the receiving and the group of second verification image coordinates generated by the camera. , The second group of verification image coordinates is the coordinate at which the group of verification symbols appears in the second verification image. In this embodiment, each group of deviation parameter values is further based on the respective amount of deviation between the group of second reference image coordinates and the group of second verification image coordinates.

種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の単なる説明及び例として提示されていることを理解すべきである。形式及び細部における種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができることは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考された各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書において論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部をなす。 Although various embodiments have been described above, it should be understood that these embodiments are presented as mere explanations and examples of the present invention, not as a limitation. It will be apparent to those skilled in the art that various changes in form and detail can be made within the invention without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should not be limited by any of the exemplary embodiments described above, but only by the appended claims and their equivalents. .. It will also be appreciated that each of the embodiments discussed herein, and each feature of each cited document cited herein, can be used in combination with the features of any other embodiment. All patents and publications discussed herein are hereby incorporated by reference in their entirety.

Claims (20)

コンピューティングシステムであって、
通信インターフェースであって、(i)カメラ視野を有するカメラと、(ii)互いに動作可能に取り付けられている複数のアーム部分を備え、かつ前記複数のアーム部分のそれぞれのアーム部分上に配置されている検証記号のグループを備える、ロボットアームとを有する、ロボットと、通信するように構成されている、通信インターフェースと、
制御回路と、を備え、
前記制御回路は、前記ロボットアームが前記カメラ視野にあるとき、
ロボット操作を実行するために、前記ロボットアームの動作を制御するための動作コマンドを出力することであって、前記動作コマンドが、キャリブレーション情報に基づいていることと、
参照画像座標のグループを判断することであって、前記参照画像座標のグループが、参照画像内に前記検証記号のグループが現れるそれぞれの座標であり、前記参照画像が、前記検証記号のグループを表すための画像であり、かつ、前記ロボットアームが第1のポーズにあるとき、第1の期間中に前記カメラによって生成されることと、
前記第1の期間に続く第2の期間中に、前記ロボットアームを前記第1のポーズに動かすように制御するための追加の動作コマンドを出力することと、
前記検証記号のグループを表すための追加画像であり、かつ、前記ロボットアームが、前記追加の動作コマンドの結果として、前記第1のポーズに動かされたとき、前記カメラによって生成される、検証画像を受信することと、
検証画像座標のグループを判断することであって、前記検証画像座標のグループが、前記検証画像内に前記検証記号のグループが現れるそれぞれの座標であることと、
前記参照画像座標のグループと前記検証画像座標のグループとの間のそれぞれの偏差量に基づいている、それぞれの偏差パラメーター値のグループを判断することであって、前記それぞれの偏差パラメーター値のグループが、前記検証記号のグループと関連付けられていることと、
前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するかどうかを判断することと、
前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、前記規定された偏差閾値を超過するという判断に応答して、前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つが、前記規定された偏差閾値を超過するという通知を出力すること、及び、更新されたキャリブレーション情報を判断するためにキャリブレーション操作を実行すること、のうちの少なくとも1つを実行することと、
を行うように構成されている、コンピューティングシステム。
It ’s a computing system,
A communication interface comprising (i) a camera having a camera field of view and (ii) a plurality of arm portions operably attached to each other, and arranged on each arm portion of the plurality of arm portions. With a robot arm, with a group of verification symbols, configured to communicate with the robot, with a communication interface,
With a control circuit,
The control circuit provides when the robot arm is in the camera field of view.
In order to execute the robot operation, it is to output an operation command for controlling the operation of the robot arm, and the operation command is based on the calibration information.
To determine a group of reference image coordinates, the group of reference image coordinates is the coordinate at which the group of verification symbols appears in the reference image, and the reference image represents the group of verification symbols. And when the robot arm is in the first pose, it is generated by the camera during the first period.
To output additional motion commands to control the robot arm to move to the first pose during the second period following the first period.
An additional image for representing the group of verification symbols and a verification image generated by the camera when the robot arm is moved to the first pose as a result of the additional motion command. To receive and
It is to determine the group of the verification image coordinates, that the group of the verification image coordinates is each coordinate in which the group of the verification symbols appears in the verification image.
Determining a group of deviation parameter values based on the amount of deviation between the group of reference image coordinates and the group of verification image coordinates. , Being associated with the group of verification symbols
Determining whether at least one deviation parameter value in each of the above groups of deviation parameter values exceeds a defined deviation threshold.
In response to the determination that at least one of the groups of deviation parameter values exceeds the defined deviation threshold, at least one of the groups of deviation parameter values said. To output a notification that the specified deviation threshold is exceeded, and to perform a calibration operation to determine the updated calibration information, and to perform at least one of them.
A computing system that is configured to do.
前記第1のポーズが、前記第1の期間中に出力される第1の追加の動作コマンドと関連付けられ、
前記第1の追加の動作コマンドが、前記ロボットアームを前記第1のポーズに動かすように制御するための1つ以上の作動パラメーター値を有し、
前記参照画像が、前記第1の追加の動作コマンドの結果として、前記ロボットアームが前記第1のポーズにあるとき、前記カメラによって生成され、
前記第2の期間中に出力される前記追加の動作コマンドが、第2の追加の動作コマンドであり、また、前記1つ以上の作動パラメーター値も含む、請求項1に記載のコンピューティングシステム。
The first pose is associated with a first additional action command output during the first period.
The first additional motion command has one or more action parameter values for controlling the robot arm to move to the first pose.
The reference image is generated by the camera when the robot arm is in the first pose as a result of the first additional motion command.
The computing system according to claim 1, wherein the additional operation command output during the second period is the second additional operation command and also includes the one or more operation parameter values.
前記検証記号のグループの各検証記号が、円形形状を有し、
前記第1の追加の動作コマンド及び前記第2の追加の動作コマンドの前記1つ以上の作動パラメーター値は、前記参照画像内及び前記検証画像内で、前記検証記号のグループが、偏心率を伴わずに、又は規定された偏心閾値未満であるそれぞれの量の偏心率を伴って現れるような様態で前記検証記号のグループを位置決めさせる、請求項2に記載のコンピューティングシステム。
Each verification symbol in the group of verification symbols has a circular shape and has a circular shape.
The first additional operation command and the one or more operation parameter values of the second additional operation command are such that in the reference image and in the verification image, the group of verification symbols is accompanied by an eccentricity. The computing system of claim 2, wherein the group of verification symbols is positioned without or in a manner such that it appears with an eccentricity of each amount below a defined eccentricity threshold.
前記制御回路が、前記検証記号のグループの各検証記号を前記カメラに直接対向するように動かす、前記追加の動作コマンドに対する1つ以上の作動パラメーター値を判断するように構成されている、請求項1に記載のコンピューティングシステム。 Claimed, the control circuit is configured to determine one or more operating parameter values for the additional operation command that move each verification symbol in the group of verification symbols so that it faces the camera directly. The computing system according to 1. 前記1つ以上の作動パラメーター値が、前記検証記号のグループを、前記カメラに対して凹形である1つ以上の仮想球に対して接線方向に向くようにさせる、請求項4に記載のコンピューティングシステム。 The compute according to claim 4, wherein the one or more operating parameter values cause the group of verification symbols to point tangentially to one or more virtual spheres that are concave with respect to the camera. Ring system. 前記検証記号のグループの少なくとも1つの検証記号が、円形リングとして形成されているとき、前記制御回路が、前記円形リングを識別することによって、前記参照画像内及び前記検証画像内の前記少なくとも1つの検証記号を識別するように構成されている、請求項1に記載のコンピューティングシステム。 When at least one of the verification symbols in the group of verification symbols is formed as a circular ring, the control circuit identifies the circular ring so that the at least one in the reference image and in the verification image. The computing system according to claim 1, which is configured to identify a verification symbol. 前記検証記号のグループが、異なるそれぞれのサイズを有するそれぞれの円形リングとして形成されているとき、前記制御回路が、前記少なくとも1つの検証記号を形成するそれぞれの円形リングのサイズに基づいて、前記少なくとも1つの検証記号を識別するように構成されている、請求項6に記載のコンピューティングシステム。 When the group of verification symbols is formed as each circular ring having a different size, the control circuit is based on the size of each circular ring forming the at least one verification symbol. The computing system according to claim 6, which is configured to identify one verification symbol. 前記制御回路が、前記ロボットアームの幾何学形状を記述する規定されたモデルに基づいて、前記参照画像内の前記検証記号のグループの少なくとも1つの検証記号を識別するように構成されている、請求項1に記載のコンピューティングシステム。 The control circuit is configured to identify at least one verification symbol of the group of verification symbols in the reference image, based on a defined model that describes the geometry of the robot arm. Item 1. The computing system according to item 1. 前記制御回路が、
前記モデルに基づいて、前記少なくとも1つの検証記号が現れることが予想される前記参照画像内の領域を判断することと、
前記参照画像の前記領域内の前記少なくとも1つの検証記号を検索することと、を行うように構成されている、請求項8に記載のコンピューティングシステム。
The control circuit
Determining the region in the reference image where the at least one verification symbol is expected to appear based on the model.
The computing system according to claim 8, wherein the computing system is configured to search for and perform the at least one verification symbol in the region of the reference image.
前記制御回路が、前記それぞれの偏差パラメーター値のグループ間の比較に基づいて、前記少なくとも1つの偏差パラメーター値に前記規定された偏差閾値を超過させるキャリブレーション誤差のタイプを判断するように構成されており、
前記キャリブレーション誤差のタイプは、前記キャリブレーション情報に対する精度の損失が前記ロボットにおける変化を表すかどうか、又は、前記精度の損失が前記カメラにおける変化を表すかどうかを示す、請求項1に記載のコンピューティングシステム。
The control circuit is configured to determine the type of calibration error that causes the at least one deviation parameter value to exceed the defined deviation threshold, based on a comparison between each group of deviation parameter values. Ori,
The type of calibration error according to claim 1, wherein the loss of accuracy with respect to the calibration information represents a change in the robot, or whether the loss of accuracy represents a change in the camera. Computing system.
前記制御回路は、前記それぞれの偏差パラメーター値のグループ全てが、前記規定された偏差閾値を超過しているかどうか、及び前記それぞれの偏差パラメーターのグループが、規定された均一性閾値を超えて互いに異なるかどうかを判断することと、
前記それぞれの偏差パラメーター値のグループが全て、前記規定された偏差閾値を超過し、かつ、前記規定された均一性閾値を超えて互いに異ならない、という判断に応答して、前記キャリブレーション誤差のタイプが、前記カメラにおける変化を表すキャリブレーション誤差であると判断することと、を行うように構成されている、請求項10に記載のコンピューティングシステム。
In the control circuit, whether or not all the groups of the respective deviation parameter values exceed the specified deviation threshold value, and the groups of the respective deviation parameter values differ from each other beyond the specified uniformity threshold value. Judging whether or not
The type of calibration error in response to the determination that all of the respective groups of deviation parameter values exceed the defined deviation threshold and are not different from each other beyond the defined uniformity threshold. The computing system according to claim 10, wherein the computing system is configured to determine that it is a calibration error representing a change in the camera.
前記制御回路は、前記それぞれの偏差パラメーター値のグループのうちの1つ以上が、前記規定された偏差閾値を超過しないという判断、又は前記それぞれの偏差パラメーター値のグループが、前記規定された均一性閾値を超えて互いに異なるという判断に応答して、前記キャリブレーション誤差のタイプが、前記ロボットにおける変化を表すキャリブレーション誤差であると判断するようにさらに構成されている、請求項11に記載のコンピューティングシステム。 The control circuit determines that one or more of the respective groups of deviation parameter values does not exceed the defined deviation threshold, or the respective groups of deviation parameter values are said to have the defined uniformity. The computer according to claim 11, further configured to determine that the type of calibration error is a calibration error representing a change in the robot in response to the determination that the thresholds are exceeded and differ from each other. Ing system. 前記キャリブレーション情報が、第1のキャリブレーション操作と関連付けられており、
前記更新されたキャリブレーション情報を生成するための前記キャリブレーション操作が、前記第1のキャリブレーション操作に続く第2のキャリブレーション操作であり、
前記制御回路が、規定されたトリガー条件に応答して、前記追加の動作コマンドを出力するように、かつ前記検証画像を受信するためのカメラコマンドを出力するように構成されており、
前記規定されたトリガー条件が、
前記第1のキャリブレーション操作以来経過している規定された期間、及び
前記コンピューティングシステムによって計画されず、かつ前記ロボット若しくは前記カメラへの変化をもたらす事象、
のうちの少なくとも1つを含む、請求項1に記載のコンピューティングシステム。
The calibration information is associated with the first calibration operation.
The calibration operation for generating the updated calibration information is a second calibration operation following the first calibration operation.
The control circuit is configured to output the additional operation command and a camera command to receive the verification image in response to a defined trigger condition.
The specified trigger condition is
A defined period of time that has passed since the first calibration operation, and events that are not planned by the computing system and result in changes to the robot or camera.
The computing system of claim 1, comprising at least one of.
前記複数のロボットアーム部分が、前記ロボットのベースからロボットエンドエフェクタまでの一連のアーム部分として配置されているとき、前記制御回路は、
前記検証記号のグループの第1の検証記号に関する偏差パラメーター値が、前記規定された偏差閾値を超過するかどうかを判断することと、
前記複数のアーム部分の中から、前記第1の検証記号が配置されている第1のアーム部分を識別することと、
第1の検証記号に関する前記偏差パラメーター値が、前記規定された偏差閾値を超過しないという判断に応答して、前記キャリブレーション情報が、前記第1のアーム部分に関して、及び前記一連のアーム部分において前記第1のアーム部分に先行する少なくとも1つの追加のアーム部分に関して正確であると判断することと、を行うように構成されている、請求項1に記載のコンピューティングシステム。
When the plurality of robot arm portions are arranged as a series of arm portions from the base of the robot to the robot end effector, the control circuit
Determining whether the deviation parameter value for the first verification symbol of the verification symbol group exceeds the defined deviation threshold.
Identifying the first arm portion on which the first verification symbol is arranged from the plurality of arm portions, and
In response to the determination that the deviation parameter value with respect to the first verification symbol does not exceed the defined deviation threshold, the calibration information is provided with respect to the first arm portion and in the series of arm portions. The computing system of claim 1, wherein the computing system is configured to determine that it is accurate with respect to at least one additional arm portion preceding the first arm portion.
前記コンピューティングシステムが、前記ロボット操作に使用されるコンベヤベルトと通信するとき、前記制御回路は、前記少なくとも1つの偏差パラメーター値が、前記規定された偏差閾値を超過するという判断に応答して、前記コンベヤベルトを停止させるように構成されている、請求項1に記載のコンピューティングシステム。 When the computing system communicates with a conveyor belt used to operate the robot, the control circuit responds to a determination that the at least one deviation parameter value exceeds the defined deviation threshold. The computing system according to claim 1, which is configured to stop the conveyor belt. 前記参照画像が、前記ロボットアームの前記第1のポーズと関連付けられた第1の参照画像であり、
前記検証画像が、前記第1のポーズと関連付けられた第1の検証画像であり、
前記参照画像座標のグループが、前記第1のポーズと関連付けられた第1の参照画像座標のグループであり、
前記検証画像座標のグループが、前記第1のポーズと関連付けられた第1の検証画像座標のグループであり、
前記制御回路が、
第2の参照画像座標のグループを判断することであって、前記第2の参照画像座標のグループが、第2の参照画像内に前記検証記号のグループが現れるそれぞれの座標であり、前記第2の参照画像が、前記ロボットアームが第2のポーズにあるとき、前記カメラによって生成されることと、
前記第2の参照画像が生成されていることに続いて、前記ロボットアームを前記第2のポーズに動かすために前記ロボットアームを制御するためのさらなる動作コマンドを出力することと、
第2の検証画像を受信することであって、前記第2の検証画像がまた、前記検証記号のグループも表し、前記さらなる動作コマンドの結果として、前記ロボットアームが前記第2のポーズに動かされたとき、前記カメラによって生成されることと、
第2の検証画像座標のグループを判断することであって、前記第2の検証画像座標のグループが、前記第2の検証画像内に前記検証記号のグループが現れるそれぞれの座標であることと、
を行うように構成されており、
前記それぞれの偏差パラメーター値のグループが、前記第2の参照画像座標のグループと前記第2の検証画像座標のグループとの間のそれぞれの偏差量にさらに基づいている、請求項1に記載のコンピューティングシステム。
The reference image is a first reference image associated with the first pose of the robot arm.
The verification image is a first verification image associated with the first pose.
The group of reference image coordinates is a group of first reference image coordinates associated with the first pose.
The group of verification image coordinates is a group of first verification image coordinates associated with the first pose.
The control circuit
The second reference image coordinate group is determined, and the second reference image coordinate group is the coordinate at which the verification symbol group appears in the second reference image, and the second reference image coordinate group is determined. The reference image of is generated by the camera when the robot arm is in the second pose.
Following the generation of the second reference image, an additional motion command for controlling the robot arm to move the robot arm to the second pose is output.
By receiving the second verification image, the second verification image also represents the group of verification symbols, and as a result of the further action command, the robot arm is moved to the second pose. When it is generated by the camera,
To determine the group of the second verification image coordinates, that the group of the second verification image coordinates is the coordinate at which the group of the verification symbols appears in the second verification image.
Is configured to do
The computing according to claim 1, wherein each of the groups of deviation parameter values is further based on the amount of deviation between the group of the second reference image coordinates and the group of the second verification image coordinates. Ing system.
内部に記憶された命令を有する、非一時的コンピューター可読媒体であって、コンピューティングシステムの制御回路によって実行されるとき、前記制御回路に、
キャリブレーション情報に基づいている動作コマンドを出力することであって、前記コンピューティングシステムが、(i)カメラ視野を有するカメラと、(ii)互いに動作可能に取り付けられている複数のアーム部分を含み、前記複数のアーム部分のそれぞれのアーム部分上に配置されている検証記号のグループを含むロボットアームとを有するロボットと、通信するように構成されており、前記動作コマンドが、ロボット操作を実行するために前記ロボットアームの動作を制御するためであることと、
参照画像座標のグループを判断することであって、前記参照画像座標のグループが、参照画像内に前記検証記号のグループが現れるそれぞれの座標であり、前記参照画像が、前記検証記号のグループを表すための画像であり、かつ、前記ロボットアームが第1のポーズにあるとき、第1の期間中に前記カメラによって生成されることと、
前記第1の期間に続く第2の期間中に、前記ロボットアームを前記第1のポーズに動かすように制御するための追加の動作コマンドを出力することと、
前記検証記号のグループを表すための追加画像であり、かつ、前記ロボットアームが、前記追加の動作コマンドの結果として、前記第1のポーズに動かされたとき、前記カメラによって生成される検証画像を受信することと、
検証画像座標のグループを判断することであって、前記検証画像座標のグループが、前記検証画像内に前記検証記号のグループが現れるそれぞれの座標であることと、
前記参照画像座標のグループと前記検証画像座標のグループとの間のそれぞれの偏差量に基づいている、それぞれの偏差パラメーター値のグループを判断することであって、前記それぞれの偏差パラメーター値のグループが、前記検証記号のグループと関連付けられていることと、
前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過するかどうかを判断することと、
前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、前記規定された偏差閾値を超過するという判断に応答して、前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つが、前記規定された偏差閾値を超過するという通知を出力すること、及び、更新されたキャリブレーション情報を判断するためにキャリブレーション操作を実行すること、のうちの少なくとも1つを実行することと、
を行うようにさせる、非一時的コンピューター可読媒体。
A non-transitory computer-readable medium with internally stored instructions that, when executed by a control circuit of a computing system, the control circuit.
To output an operation command based on calibration information, the computing system includes (i) a camera having a camera field of view and (ii) a plurality of arm portions operably attached to each other. The robot is configured to communicate with a robot having a robot arm including a group of verification symbols arranged on each of the plurality of arm portions, and the operation command executes the robot operation. To control the operation of the robot arm
To determine a group of reference image coordinates, the group of reference image coordinates is the coordinate at which the group of verification symbols appears in the reference image, and the reference image represents the group of verification symbols. And when the robot arm is in the first pose, it is generated by the camera during the first period.
To output additional motion commands to control the robot arm to move to the first pose during the second period following the first period.
An additional image for representing the group of verification symbols, and a verification image generated by the camera when the robot arm is moved to the first pose as a result of the additional motion command. To receive and
It is to determine the group of the verification image coordinates, that the group of the verification image coordinates is each coordinate in which the group of the verification symbols appears in the verification image.
Determining a group of deviation parameter values based on the amount of deviation between the group of reference image coordinates and the group of verification image coordinates. , Being associated with the group of verification symbols
Determining whether at least one deviation parameter value in each of the above groups of deviation parameter values exceeds a defined deviation threshold.
In response to the determination that at least one of the groups of deviation parameter values exceeds the defined deviation threshold, at least one of the groups of deviation parameter values said. To output a notification that the specified deviation threshold is exceeded, and to perform a calibration operation to determine the updated calibration information, and to perform at least one of them.
A non-transitory computer-readable medium that allows you to do so.
前記第1のポーズが、前記第1の期間中に出力される第1の追加の動作コマンドと関連付けられており、
前記第1の追加の動作コマンドが、前記ロボットアームを前記第1のポーズに動かすように制御するための1つ以上の作動パラメーター値を有し、
前記第2の期間中に出力される前記追加の動作コマンドが、第2の追加の動作コマンドであり、また、前記1つ以上の作動パラメーター値も含む、請求項17に記載の非一時的コンピューター可読媒体。
The first pose is associated with a first additional action command output during the first period.
The first additional motion command has one or more action parameter values for controlling the robot arm to move to the first pose.
The non-transient computer according to claim 17, wherein the additional operation command output during the second period is the second additional operation command and also includes the one or more operation parameter values. Readable medium.
前記命令が、前記制御回路によって実行されるとき、前記制御回路に、前記それぞれの偏差パラメーター値のグループ間の比較に基づいて、前記少なくとも1つの偏差パラメーター値を前記規定された偏差閾値を超過するようにさせるキャリブレーション誤差のタイプをさらに判断させ、
前記キャリブレーション誤差のタイプが、前記キャリブレーション情報に対する精度の損失が、前記ロボットにおける変化を表すかどうか、又は前記精度の損失が前記カメラにおける変化を表すかどうかを示す、請求項17に記載の非一時的コンピューター可読媒体。
When the instruction is executed by the control circuit, the control circuit exceeds the defined deviation threshold by causing the control circuit to exceed the at least one deviation parameter value based on a comparison between the respective groups of deviation parameter values. Lets you further determine the type of calibration error to make
17. The type of calibration error of claim 17, wherein the loss of accuracy with respect to the calibration information indicates whether the loss of accuracy represents a change in the robot, or whether the loss of accuracy represents a change in the camera. Non-temporary computer-readable medium.
コンピューティングシステムによって実行される方法であって、
前記コンピューティングシステムによって、キャリブレーション情報に基づく動作コマンドを出力することであって、前記コンピューティングシステムが、(i)カメラ視野を有するカメラと、(ii)互いに動作可能に取り付けられている複数のアーム部分を備え、かつ前記複数のアーム部分のそれぞれのアーム部分上に配置されている検証記号のグループを備える、ロボットアームとを有する、ロボットと、通信するように構成されており、前記動作コマンドが、ロボット操作を実行するために前記ロボットアームの動作を制御するためであることと、
前記コンピューティングシステムによって、参照画像座標のグループを判断することであって、前記参照画像座標のグループが、参照画像内に前記検証記号のグループが現れるそれぞれの座標であり、前記参照画像が、前記検証記号のグループを表すための画像であり、かつ、前記ロボットアームが第1のポーズにあるとき、第1の期間中に前記カメラによって生成されることと、
前記第1の期間に続く第2の期間中に、前記コンピューティングシステムによって、前記ロボットアームを前記第1のポーズに動かすように制御するための追加の動作コマンドを出力することと、
前記コンピューティングシステムによって検証画像を受信することであって、前記検証画像が、前記検証記号のグループを表すための追加画像であり、かつ、前記ロボットアームが前記追加の動作コマンドの結果として、前記第1のポーズに動かされたとき、前記カメラによって生成されることと、
前記コンピューティングシステムによって、検証画像座標のグループを判断することであって、前記検証画像座標のグループが、前記検証画像内に前記検証記号のグループが現れるそれぞれの座標であることと、
前記コンピューティングシステムによって、前記参照画像座標のグループと前記検証画像座標のグループとの間のそれぞれの偏差量に基づいている、それぞれの偏差パラメーター値のグループを判断することであって、前記それぞれの偏差パラメーター値のグループが、前記検証記号のグループと関連付けられていることと、
前記コンピューティングシステムによって、前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、規定された偏差閾値を超過することを判断することと、
前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つの偏差パラメーター値が、前記規定された偏差閾値を超過するという判断に応答して、前記コンピューティングシステムによって、前記それぞれの偏差パラメーター値のグループのうちの少なくとも1つが、前記規定された偏差閾値を超過するという通知を出力すること、及び、更新されたキャリブレーション情報を判断するためにキャリブレーション操作を実行すること、のうちの少なくとも1つを実行することと、を含む、方法。
The method performed by the computing system,
The computing system outputs operation commands based on calibration information, wherein the computing system is (i) a camera having a camera field of view and (ii) a plurality of robots mounted so as to be operable with each other. It is configured to communicate with a robot, including a robot arm, comprising an arm portion and comprising a group of verification symbols arranged on each of the plurality of arm portions, said operation command. Is to control the operation of the robot arm in order to execute the robot operation.
The computing system determines a group of reference image coordinates, wherein the reference image coordinate group is each coordinate in which the verification symbol group appears in the reference image, and the reference image is the reference image. An image to represent a group of verification symbols and to be generated by the camera during the first period when the robot arm is in the first pose.
During the second period following the first period, the computing system outputs additional action commands for controlling the robot arm to move to the first pose.
Receiving a verification image by the computing system, wherein the verification image is an additional image for representing the group of verification symbols, and the robot arm is the result of the additional action command. What is generated by the camera when moved to the first pose
The computing system determines a group of verification image coordinates, that the group of verification image coordinates is the coordinate at which the group of verification symbols appears in the verification image.
The computing system determines each group of deviation parameter values based on their respective deviation amounts between the group of reference image coordinates and the group of verification image coordinates. That the group of deviation parameter values is associated with the group of verification symbols
Determining by the computing system that at least one deviation parameter value in each of the groups of deviation parameter values exceeds a defined deviation threshold.
In response to the determination that at least one of the respective groups of deviation parameter values exceeds the defined deviation threshold, the computing system determines that each of the groups of deviation parameter values. At least one of outputting a notification that the specified deviation threshold is exceeded and performing a calibration operation to determine updated calibration information. How to do and include.
JP2020194057A 2019-10-18 2020-11-24 Method and control system for verifying and updating calibration information for robot control Pending JP2021066011A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962916798P 2019-10-18 2019-10-18
US62/916,798 2019-10-18
US16/864,071 US10906184B2 (en) 2019-03-29 2020-04-30 Method and control system for verifying and updating camera calibration for robot control
US16/864,071 2020-04-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020120957A Division JP6803633B1 (en) 2019-10-18 2020-07-14 Methods and control systems for verifying and updating calibration information for robot control

Publications (2)

Publication Number Publication Date
JP2021066011A true JP2021066011A (en) 2021-04-30
JP2021066011A5 JP2021066011A5 (en) 2023-10-13

Family

ID=73836090

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020120957A Active JP6803633B1 (en) 2019-10-18 2020-07-14 Methods and control systems for verifying and updating calibration information for robot control
JP2020194057A Pending JP2021066011A (en) 2019-10-18 2020-11-24 Method and control system for verifying and updating calibration information for robot control

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020120957A Active JP6803633B1 (en) 2019-10-18 2020-07-14 Methods and control systems for verifying and updating calibration information for robot control

Country Status (3)

Country Link
JP (2) JP6803633B1 (en)
CN (1) CN112677146A (en)
DE (2) DE102020119453B4 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022224358A1 (en) * 2021-04-20 2022-10-27 ファナック株式会社 Robot
CN118043174A (en) * 2021-09-27 2024-05-14 发那科株式会社 Correction device for correcting mechanism error parameter and determination device for determining necessity of correcting mechanism error parameter
JP7326401B2 (en) * 2021-10-28 2023-08-15 株式会社安川電機 Anomaly estimation system, anomaly estimation method, and program
CN114378825B (en) * 2022-01-21 2023-05-12 四川长虹智能制造技术有限公司 Multi-camera visual positioning method and system and electronic equipment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120211B2 (en) * 1986-12-26 1995-12-20 トヨタ自動車株式会社 Coordinate alignment method in intelligent robot
JPH02183102A (en) * 1989-01-10 1990-07-17 Fanuc Ltd Automatic calibration adjusting system for visual sensor
JP2806604B2 (en) * 1990-06-29 1998-09-30 ファナック株式会社 Camera displacement detection method
JPH0511822A (en) * 1991-07-03 1993-01-22 Fanuc Ltd Cooperative operation system for robot
JPH05301195A (en) * 1992-04-23 1993-11-16 Fanuc Ltd Camera position slippage detecting method in visual sensor
JP2003117861A (en) 2001-10-15 2003-04-23 Denso Corp Position correcting system of robot
JP5949242B2 (en) * 2012-07-11 2016-07-06 セイコーエプソン株式会社 Robot system, robot, robot control apparatus, robot control method, and robot control program
DE102014209371B4 (en) 2013-05-17 2018-11-15 pmdtechnologies ag System for controlling a work machine with a boom
DE102014215321A1 (en) 2014-08-04 2016-02-04 Bayerische Motoren Werke Aktiengesellschaft Robot system and method for calibrating axes of a robot
JP2016078195A (en) * 2014-10-21 2016-05-16 セイコーエプソン株式会社 Robot system, robot, control device and control method of robot
US9916506B1 (en) * 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
DE102015221337A1 (en) * 2015-10-30 2017-05-04 Keba Ag Method and control system for controlling the movements of articulated arms of an industrial robot as well as motion specification means used thereby
JP2018001333A (en) * 2016-06-30 2018-01-11 セイコーエプソン株式会社 Calibration board, robot and detection method
DE102016225613A1 (en) 2016-12-20 2018-06-21 Kuka Roboter Gmbh Method for calibrating a manipulator of a diagnostic and / or therapeutic manipulator system
JP6707485B2 (en) * 2017-03-22 2020-06-10 株式会社東芝 Object handling device and calibration method thereof
DE102017209178B4 (en) 2017-05-31 2021-09-02 Carl Zeiss Industrielle Messtechnik Gmbh Method for determining the spatial position of a moving coordinate system, a measuring point of its sensor or an operating point of a tool in a robot
JP7109161B2 (en) * 2017-06-13 2022-07-29 川崎重工業株式会社 Mechanism Model Parameter Estimation Method for Articulated Robots
US10369698B1 (en) 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control

Also Published As

Publication number Publication date
DE102020119453B4 (en) 2022-06-09
DE102020127343A1 (en) 2021-04-22
DE102020119453A1 (en) 2021-04-22
CN112677146A (en) 2021-04-20
JP2021066008A (en) 2021-04-30
JP6803633B1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
JP6803633B1 (en) Methods and control systems for verifying and updating calibration information for robot control
JP6688517B1 (en) Method and control system for verifying and updating camera calibration for robot control
US10906184B2 (en) Method and control system for verifying and updating camera calibration for robot control
JP2020183035A (en) Method and control system for updating camera calibration for robot control
JP2021062978A (en) Robotic system with automatic package scan and registration mechanism, and method of operating the same
US10414048B2 (en) Noncontact safety sensor and method of operation
JP2020142367A (en) Method and system for performing automatic camera calibration for robot control
US20180141213A1 (en) Anti-collision system and anti-collision method
CN111890371B (en) Method for verifying and updating calibration information for robot control and control system
JP2021066011A5 (en)
US20210272269A1 (en) Control device, control method, and program
US20230061945A1 (en) Mode architecture for general purpose robotics
EP4377911A1 (en) Machine learning-based environment fail-safes through multiple camera views

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231004