(57)【要約】【課題】カメラキャリブレーションを検証するロボット制御システム及び方法を提示する。【解決手段】ロボット制御システムは、第１のカメラキャリブレーションを実行するように構成され、検証記号を参照箇所に動かすように、ロボットアームを制御するように構成される。ロボット制御システムは更に、カメラから、検証記号の参照画像を受信し、検証記号に関する参照画像座標を特定する。ロボット制御システムは更に、休止期間中に、検証記号を再び参照箇所に動かすようにロボットアームを制御し、検証記号の更なる画像を受信し、検証画像座標を特定する。ロボット制御システムは、参照画像座標及び検証画像座標に基づいて偏差パラメーター値を特定し、偏差パラメーター値が規定された閾値を超えるか否かを判断し、閾値を超える場合には第２のカメラキャリブレーションを実行する。【選択図】図５Ａ
2020163556.tif 000002
【特許請求の範囲】
【請求項１】
ロボット制御システムであって、
ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースと、
制御回路と、
を備え、
該制御回路は、
第１のカメラキャリブレーションを実行し、前記カメラと関連付けられるカメラキャリブレーション情報を特定することと、
前記通信インターフェースを介して、前記ロボットに第１の動作コマンドを出力することによって、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットアームを制御することであって、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、前記ロボットアームを制御することと、
前記通信インターフェースを介して、前記カメラから前記検証記号の画像を受信することであって、前記カメラは、前記参照箇所において前記検証記号の該画像を取り込むように構成され、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記検証記号に関する参照画像座標を特定することであって、該参照画像座標は前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記通信インターフェースを介して、前記ロボットに前記カメラキャリブレーション情報に基づく第２の動作コマンドを出力することによって、前記カメラキャリブレーション情報に基づいて、ロボット操作を実行するように前記ロボットアームの動作を制御することと、
前記ロボット操作中に休止期間を検出することと、
前記通信インターフェースを介して、前記ロボットに第３の動作コマンドを出力することによって、前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように前記ロボットアームを制御することと、
前記休止期間中に前記通信インターフェースを介して、前記カメラから前記検証記号の更なる画像を受信することであって、前記カメラは、少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記第１のカメラキャリブレーション以降の前記カメラの変化、又は前記第１のカメラキャリブレーション以降の前記カメラと前記ロボットとの間の関係の変化を示す、偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を行うように構成される、ロボット制御システム。
【請求項２】
前記制御回路は、前記偏差パラメーター値が前記規定された閾値を超えないと判断することに応答して、前記通信インターフェースを介して、前記ロボットに第４の動作コマンドを出力することによって、更なるカメラキャリブレーションを実行することなく、前記休止期間後に前記ロボット操作を継続するように、前記ロボットを制御するように構成される、請求項１に記載のロボット制御システム。
【請求項３】
前記１つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所であり、前記参照画像座標は該複数の参照画像座標のうちの１つであり、
前記制御回路は、前記複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように更に構成され、前記検証画像座標は該複数の検証画像座標のうちの１つであり、
前記偏差パラメーター値は、前記複数の参照箇所に関する前記複数の参照画像座標と前記複数の検証画像座標との間のそれぞれの偏差量に基づき、前記それぞれの偏差量のうちの各偏差量は、（ａ）前記複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量である、請求項１に記載のロボット制御システム。
【請求項４】
前記複数の検証画像座標は、複数の検証画像内に前記検証記号が現れるそれぞれの座標であり、前記検証画像は前記複数の検証画像のうちの１つであり、前記制御回路は、前記休止期間内に前記複数の検証画像の全てを取り込むように、前記カメラを制御するように構成される、請求項３に記載のロボット制御システム。
【請求項５】
前記複数の検証画像座標は、複数の検証画像内に前記検証記号が現れるそれぞれの座標であり、前記検証画像は前記複数の検証画像のうちの１つであり、前記制御回路は、異なる休止期間内に前記複数の検証画像を取り込むように、前記カメラを制御するように構成され、前記休止期間は前記異なる休止期間のうちの１つである、請求項３に記載のロボット制御システム。
【請求項６】
前記検証記号は第１の色を有する第１の領域と第２の色を有する第２の領域とを含み、前記第１の領域の面積と前記第２の領域の面積との比は規定され、規定された比として前記ロボット制御システムの記憶デバイス上に記憶される、請求項１に記載のロボット制御システム。
【請求項７】
前記制御回路は、前記規定された比に基づいて、前記参照画像又は前記検証画像内の前記検証記号を識別するように構成される、請求項６に記載のロボット制御システム。
【請求項８】
前記ロボットアームは、その上に配置されるキャリブレーションパターンを有し、前記参照画像は前記検証記号及び該キャリブレーションパターンを含み、
前記制御回路は、前記参照画像の部分が、前記第１の色を有する第１の画像領域を有するか、及び前記第２の色を有する第２の画像領域を有するかを判断し、且つ前記第１の画像領域の面積と前記第２の画像領域の面積との比が前記規定された比に等しいか否かを判断することによって、前記参照画像の該部分が前記検証記号であるか、又は前記キャリブレーションパターンであるかを判断するように構成される、請求項７に記載のロボット制御システム。
【請求項９】
前記検証記号は、互いに同心である第１の形状及び第２の形状を含み、前記第１の形状及び前記第２の形状のそれぞれ中心は実質的に同じ位置にある、請求項１に記載のロボット制御システム。
【請求項１０】
前記制御回路は、
前記参照画像内の前記第１の形状の中心の第１の座標を特定することと、
前記参照画像内の前記第２の形状の中心の第２の座標を特定することと、
前記参照画像内の前記第１の座標及び前記第２の座標の平均として前記参照画像座標を特定することと、
によって前記参照画像座標を特定するように構成され、
前記制御回路は、
前記検証画像内の前記第１の形状の中心の第１の座標を特定することと、
前記検証画像内の前記第２の形状の中心の第２の座標を特定することと、
前記検証画像内の前記第１の座標及び前記第２の座標の平均として前記検証画像座標を特定することと、
によって、前記検証画像座標を特定するように構成される、請求項９に記載のロボット制御システム。
【請求項１１】
前記制御回路は、円形リングを識別することによって前記参照画像又は前記検証画像内の前記検証記号を識別するように構成され、前記検証記号は前記円形リングとして形成される、請求項１に記載のロボット制御システム。
【請求項１２】
前記制御回路は、
前記ロボットが位置する環境の温度を特定し、
測定された前記温度に基づいて、前記規定された閾値又は前記カメラキャリブレーション情報のうちの少なくとも一方を調整する、
ように更に構成される、請求項１に記載のロボット制御システム。
【請求項１３】
前記制御回路は、
前記温度が規定範囲外にあるときに、前記規定された閾値を第１の値を有するように設定することと、
前記温度が前記規定範囲内にあるときに、前記閾値を前記第１の値より低い第２の値を有するように設定することと、
によって、前記温度に基づいて、前記規定された閾値を調整するように構成される、請求項１２に記載のロボット制御システム。
【請求項１４】
前記制御回路が前記ロボットアームを介して前記検証記号を動かすように構成される前記１つ以上の参照箇所は、前記カメラに対して凹形である球の表面上に配置される複数の参照箇所を含む、請求項１に記載のロボット制御システム。
【請求項１５】
前記制御回路は、前記複数の参照箇所の各参照箇所において前記検証記号が前記球の前記表面に対して接線方向に向くように動かすために、前記ロボットアームを制御するように更に構成される、請求項１４に記載のロボット制御システム。
【請求項１６】
前記制御回路は、前記検証記号が前記参照箇所に動かされるときに、前記カメラの真正面を向くように前記検証記号を動かすために、前記ロボットアームを制御するように構成される、請求項１に記載のロボット制御システム。
【請求項１７】
前記制御回路は、前記ロボット操作中に前記ロボットがロボット作業を実行していない期間を検出することによって、前記ロボット操作の前記休止期間を検出するように構成される、請求項１に記載のロボット制御システム。
【請求項１８】
前記制御回路は、前記ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するように、前記ロボットアームを制御するように構成され、
前記制御回路は、前記コンベヤベルト上に物体が存在しないことを検出するか、又は前記ロボットと、前記コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することによって、前記休止期間を検出するように構成される、請求項１７に記載のロボット制御システム。
【請求項１９】
ロボット制御のためにカメラキャリブレーション検証を実行する方法であって、該方法は、
ロボット制御システムによって、第１のカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定することであって、該ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、第１のカメラキャリブレーションを実行することと、
前記ロボット制御システムによって、前記通信インターフェースに第１の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットに該第１の動作コマンドを通信するように構成され、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、第１の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の画像を受信することであって、前記通信インターフェースは、前記カメラから該画像を受信するように構成され、前記カメラは前記参照箇所において前記検証記号の該画像を取り込むように構成され、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記ロボット制御システムによって、前記検証記号のための参照画像座標を特定することであって、該参照画像座標は前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記ロボット制御システムによって、前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームを動かしてロボット操作を実行するために、前記ロボットに該第２の動作コマンドを通信するように構成される、第２の動作コマンドを出力することと、
前記ロボット制御システムによって、前記ロボット操作中に休止期間を検出することと、
前記ロボット制御システムによって、前記通信インターフェースに第３の動作コマンドを出力することであって、前記通信インターフェースは、前記休止期間中に前記ロボットアームが前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の動作コマンドを通信するように構成される、第３の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の更なる画像を受信することであって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、前記カメラは前記休止期間中に少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記ロボット制御システムによって、前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記ロボット制御システムによって、前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、偏差パラメーター値を特定することと、
前記ロボット制御システムによって、前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記ロボット制御システムによって、前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を含む、方法。
【請求項２０】
非一時的コンピューター可読媒体であって、ロボット制御システムの制御回路によって実行されるときに、前記制御回路に、
第１のカメラキャリブレーションを実行させ、カメラキャリブレーション情報を特定させる命令であって、前記ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、命令と、
前記通信インターフェースに第１の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットに前記第１の動作コマンドを通信するように構成され、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、命令と、
前記通信インターフェースから、前記検証記号の画像を受信させる命令であって、前記通信インターフェースは前記カメラから該画像を受信するように構成され、前記カメラは前記検証記号の該画像を前記参照箇所において取り込むように構成され、該画像は前記検証のための参照画像である、命令と、
前記検証記号に関する参照画像座標を特定させる命令であって、該参照画像座標は、前記参照画像内に前記検証記号が現れる座標である、命令と、
前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームを動かしてロボット操作を実行するために、前記ロボットに該第２の動作コマンドを通信するように構成される、命令と、
前記ロボット操作中に休止期間を検出させる命令と、
前記通信インターフェースに第３の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の動作コマンドを通信するように構成される、命令と、
前記通信インターフェースから、前記検証記号の更なる画像を受信させる命令であって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、前記カメラは前記休止期間中に少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、命令と、
前記検証のために使用される検証画像座標を特定させる命令であって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、命令と、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて偏差パラメーター値を特定させる命令であって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、命令と、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断させる命令と、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行させ、更新されたカメラキャリブレーション情報を特定させる命令と、
を記憶している、非一時的コンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御のためのカメラキャリブレーションを検証及び更新する方法及び制御システムに関する。
【背景技術】
【０００２】
自動化がより一般的になるに従い、倉庫保管及び製造環境等、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫において物品をパレットに積むか若しくはパレットから降ろすために、又は、工場においてコンベヤベルトから物体を持ち上げるために使用される場合がある。ロボットの移動は、一定である場合があり、又は、倉庫若しくは工場においてカメラによって撮影される画像等の入力に基づく場合がある。後者の状況では、カメラの特性を求めるために、かつ、カメラとロボットが位置する環境との関係を求めるために、キャリブレーション（較正）が行われる場合がある。キャリブレーションは、カメラキャリブレーションと呼ばれる場合があり、カメラによって取り込まれた画像に基づいてロボットを制御するために使用されるカメラキャリブレーション情報を生成することができる。いくつかの実施態様では、カメラキャリブレーションは、人による手動操作を必要とする場合があり、人は、ロボットの移動を手動で制御するか、又は、カメラを手動で制御して、ロボットの画像を取り込むことができる。
【発明の概要】
【０００３】
本明細書における実施形態の一態様は、ロボット制御のためのカメラキャリブレーション検証を実行することに関する。カメラキャリブレーション検証は、通信インターフェース及び制御回路を備えるロボット制御システムによって実行することができる。通信インターフェースは、ベースと、その上に検証記号（verification symbol）が配置されるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成することができる。ロボット制御システムの制御回路は、ａ）第１のカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定することと、ｂ）通信インターフェースに第１の動作コマンドを出力することであって、通信インターフェースは、第１のカメラキャリブレーション中又は後に、ロボットアームが検証記号をカメラ視野内の位置に動かすように、ロボットに第１の動作コマンドを通信するように構成され、その位置は第１のカメラキャリブレーションを検証するための１つ以上の参照箇所のうちの参照箇所である、第１の動作コマンドを出力することと、ｃ）通信インターフェースを介して、カメラから検証記号の画像を受信することであって、カメラは参照箇所において検証記号の画像を取り込むように構成され、画像は検証のための参照画像である、検証記号の画像を受信することと、ｄ）検証記号のための参照画像座標を特定することであって、参照画像座標は参照画像内に参照記号が現れる座標である、参照画像座標を特定することと、ｅ）通信インターフェースに、カメラキャリブレーション情報に基づく第２の動作コマンドを出力することであって、通信インターフェースは、ロボットアームを動かし、ロボット動作を実行するように、ロボットに第２の動作コマンドを通信するように構成される、第２の動作コマンドを出力することとによって、カメラキャリブレーション検証を実行するように構成することができる。
【０００４】
一実施形態において、制御回路は、ｆ）ロボット操作中に休止期間を検出することと、ｇ）通信インターフェースに第３の動作コマンドを出力することであって、通信インターフェースは、休止期間中にロボットアームが検証記号を少なくとも参照箇所に動かすように、ロボットに第３の動作コマンドを通信するように構成される、第３の動作コマンドを出力することと、ｈ）通信インターフェースを介して、カメラから検証記号の更なる画像を受信することであって、カメラは休止期間中に少なくとも参照箇所において検証記号の更なる画像を取り込むように構成され、更なる画像は検証のための検証画像である、検証記号の更なる画像を受信することと、ｉ）検証のために使用される検証画像座標を特定することであって、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座標を特定することと、ｊ）参照画像座標と検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、参照画像座標及び検証画像座標はいずれも参照箇所に関連付けられ、偏差パラメーター値は、通信インターフェースが通信するように構成されるカメラの第１のカメラキャリブレーション以降の変化、又は通信インターフェースが通信するように構成されるカメラとロボットとの間の関係の第１のカメラキャリブレーション以降の変化を示す、偏差パラメーター値を特定することと、ｋ）偏差パラメーター値が規定された閾値を超えるか否かを判断することと、ｌ）偏差パラメーター値が規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することとによって、カメラキャリブレーション検証を更に実行するように構成される。
【０００５】
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとともに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮尺ではない。
【図面の簡単な説明】
【０００６】
【図１Ａ】本明細書の実施形態による、カメラキャリブレーションの検証が実行されるシステムのブロック図である。
【図１Ｂ】本明細書の実施形態による、カメラキャリブレーションの検証が実行されるシステムのブロック図である。
【図１Ｃ】本明細書の一実施形態による、カメラキャリブレーションの検証を実行するように構成されるロボット制御システムのブロック図である。
【図１Ｄ】本明細書の一実施形態による、カメラキャリブレーションが実行されるカメラのブロック図である。
【図２】本明細書の一実施形態による、カメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて制御されるロボットを例示するシステムを示す図である。
【図３】本明細書の一実施形態による、カメラキャリブレーションを実行するシステムを示す図である。
【図４Ａ】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する方法を例示するフロー図である。
【図４Ｂ】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する方法を例示するフロー図である。
【図５Ａ】本明細書の一実施形態による、検証記号がロボット上に配置され、カメラキャリブレーションの検証を実行するために検証記号が使用されるシステムを示す図である。
【図５Ｂ】本明細書の一実施形態による、検証記号がロボット上に配置され、カメラキャリブレーションの検証を実行するために検証記号が使用されるシステムを示す図である。
【図５Ｃ】本明細書の一実施形態による、例示的な検証記号を示す図である。
【図６Ａ】本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の例を示す図である。
【図６Ｂ】本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の例を示す図である。
【図７Ａ】本明細書の一実施形態による、参照画像座標を特定する一例を示す図である。
【図７Ｂ】本明細書一の実施形態による、検証画像座標を特定する一例を示す図である。
【図８】本明細書の一実施形態による、カメラキャリブレーションの検証のための例示的なタイムラインを示す図である。
【図９】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する例示的な方法を示すフロー図である。
【発明を実施するための形態】
【０００７】
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論によっても限定する意図はない。
【０００８】
本明細書に記載する実施形態は、倉庫、製造工場において、又は他の何らかの環境において使用されるロボット等、ロボットを制御するために使用されるカメラのキャリブレーションを検証及び／又は更新することに関する。キャリブレーションは、カメラキャリブレーションと呼ばれる場合があり、例えば、ロボット制御システム（ロボットコントローラーとも呼ぶ）が、カメラによって取り込まれる（例えば、撮影される）画像に基づいてロボットを制御するロボット制御システムの能力を促進するカメラキャリブレーション情報を生成するために実施することができる。例えば、ロボットは、倉庫において包装品を持ち上げるために使用される場合があり、そこでは、ロボットのロボットアーム又は他の構成要素の配置は、カメラによって取り込まれる包装品の画像に基づくことができる。その場合、カメラキャリブレーション情報は、例えば、ロボットのロボットアームに対する包装品の位置及び向きを求めるために、包装品の画像とともに使用することができる。カメラキャリブレーションは、カメラの固有パラメーター（内部パラメーターと呼ばれる場合もある）のそれぞれの推定値を特定することと、カメラとその外部環境との間の関係の推定値を特定することとを含むことができる。カメラの固有パラメーターは、行列、ベクトル又はスカラー値等の１つ以上のパラメーター値を有することができる。さらに、固有パラメーターの例は、射影行列及びひずみパラメーターを含む。一例において、カメラキャリブレーションは、外部環境内の或る定位置（fixed position）に対するカメラの位置を特定することを含むことができ、それは、カメラと外部環境内の定位置との間の関係を表す変換関数（transformation function）として表すことができる。場合によっては、カメラキャリブレーションは、キャリブレーションパターンの助けを借りて実行することができ、キャリブレーションパターンは、キャリブレーションパターン上の規定された位置に配置されるパターン要素を有することができる。カメラはキャリブレーションパターンのパターン要素の画像（キャリブレーション画像とも呼ばれる）を取り込むことができ、カメラキャリブレーションは、パターン要素の画像をパターン要素の規定された位置と比較することに基づいて実行することができる。カメラキャリブレーションは、２０１９年３月７日に出願の「METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL」と題する米国特許出願第１６／２９５，９４０号（整理番号ＭＪ００２１ＵＳ１）においてより詳細に論じられており、その内容全体が引用することにより本明細書の一部をなす。
【０００９】
上記で言及されたように、本開示の一態様は、早期の時点において実行されたカメラキャリブレーションが後の時点において依然として正確であることを検証することに関する。早期の時点において実行されるカメラキャリブレーションは、カメラの固有パラメーター、又はその時点におけるカメラとその外部環境との間の関係等の、その時点のカメラの特性を反映するカメラキャリブレーション情報を生成することができる。場合によっては、カメラの特性が経時的に変化する場合があるため、早期のカメラキャリブレーションは経時的に精度を維持できなくなる場合がある。第１の例において、カメラの固有パラメーターが経時的に変化する場合がある。そのような変化は、例えば、温度変化によって引き起こされる場合があり、温度変化が、カメラのハウジング及び／又はレンズの形状を変更する。第２の例において、カメラとその外部環境との間の関係が経時的に変化する場合がある。例えば、カメラが、例えば、ロボットのベース、又は倉庫内の位置に対して位置又は向きを変える場合がある。そのような変化は、例えば、カメラを搭載するために使用される任意の構成要素を膨張又は収縮させる温度変化、カメラに衝突する人又は他の物体、カメラの外部環境（例えば、倉庫）内の振動、カメラの自らの重量に起因する力（すなわち、重力によって）、又は何らかの他の要因によって引き起こされる場合がある。これらの変化によって、カメラキャリブレーション情報が古くなる場合があり、このカメラキャリブレーション情報を用いて、後の時点においてロボットアーム又はロボットの他の構成要素を位置決めする結果として、誤差が生じる恐れがある。言い換えると、カメラに関連付けられる特性が経時的に変化しているが、そのような変化を反映するようにカメラキャリブレーション情報が更新されない場合には、ロボットは、古くなったか、又は別の事情で不正確なカメラキャリブレーション情報に基づいて動作する場合があり、それにより、ロボットの動作に望ましくない誤差を引き起こす恐れがある。カメラの１つ以上の特性に変化が生じる場合がある可能性に対処するために、ロボット制御システムが、カメラキャリブレーションからのカメラキャリブレーション情報がもはや十分に正確でない時点を検出する検証を自動的に実行することができる。そのような条件を検出することにより、カメラの特性の変化に関する指標（indication）を与えることができる。その検証が、カメラキャリブレーション情報がもはや十分に正確でないことを検出する場合には、ロボット制御システムは、カメラキャリブレーションを再び実行して、カメラのより最新の単数又は複数の特性を反映することができる、更新されたカメラキャリブレーション情報を特定することができる。更新されたカメラキャリブレーション情報を用いて、ロボットアームの配置、又はロボットの動作の何らかの他の態様を制御することができる。したがって、カメラキャリブレーションの自動検証及び／又はカメラキャリブレーションの更新を実行して、カメラに関連付けられる１つ以上の特性についての正確な情報に基づいてロボットが動作するのを確実にする。
【００１０】
本明細書の実施形態の一態様は、カメラによって取り込まれた参照画像とカメラによって取り込まれた検証画像とを比較することによってカメラに関するカメラキャリブレーションを検証することに関する。場合によっては、参照画像は、物体が早期の時点において特定の位置にあるときに取り込まれた物体の画像とすることができ、検証画像は、同じ位置において後の時点において取り込まれたその物体の画像とすることができる。検証は、偏差が或る特定の閾値を超えるか否か等の、参照画像と検証画像との間の偏差が大きすぎるか否かを判断することができる。いくつかの実施態様において、物体は検証記号とすることができる。より具体的には、ロボットアーム又はロボットの他の構成要素が、カメラキャリブレーションを検証するために使用される検証記号を有することができる。参照画像及び検証画像はいずれも、検証記号を取り込むか、又は別の方法で含むことができ、ロボット制御システムは、参照画像内の検証記号の外観を検証画像内の検証記号の外観と比較することによって２つの画像を比較することができる。例えば、ロボット制御システムが、特定の時点においてカメラキャリブレーション情報を生成するカメラキャリブレーションを実行した後に、ロボット制御システムは、検証記号をカメラの視野（カメラのカメラ視野とも呼ばれる）内の１組の所定の位置まで動かすように、ロボットアームを（例えば、動作コマンドを介して）制御することができ、これらの位置は、検証のための１組の参照箇所として使用することができる。カメラは、１組の参照箇所において、検証記号のそれぞれの参照画像を取り込むことができる。場合によっては、参照画像は、カメラキャリブレーションが実行された直後に取り込むことができる。ロボットアームの動作、又はより具体的には、ロボットアームを動かすために使用される動作コマンドは、実行されたばかりのカメラキャリブレーションからのカメラキャリブレーション情報に基づくことができるか、又はカメラキャリブレーション情報から独立していることができる。場合によっては、参照画像は、ロボットがロボット操作（robot operation）を開始する前に取り込むことができる。参照画像が取り込まれた後に、ロボットは、作業を実行するためにロボット操作を開始する準備ができたと見なすことができ、ロボット制御システムは、例えば、カメラによって次に取り込まれる画像に基づいて、ロボットアームの位置決めを制御することができる。
【００１１】
上記で言及されたように、参照画像は、次に取り込まれる検証画像と比較することができる。一実施形態において、検証画像は、ロボット制御システムによって検出される１つ以上の休止期間中に取り込むことができる。より具体的には、ロボット操作が開始すると、ロボットはロボット作業（robot task）を実行し始めることができる（例えば、荷物又は他の物体との相互作用による）。ロボットがロボット操作を実行しているとき、ロボット制御システムは、ロボットに関する１つ以上の休止期間を検出することができる。場合によっては、休止期間は、ロボット操作中にロボットがロボット作業を実行していない期間とすることができる。場合によっては、ロボット制御システムは、ロボットが相互作用する必要がある物体を検出するか、又は別の方法で予測するのに基づいて、ロボット操作をスケジューリングすることができ、ロボットが相互作用する必要がある物体が存在しないことを検出するか、又は別の方法で予測するのに基づいて、休止期間を検出することができる。
【００１２】
休止期間（複数の場合もある）中に、ロボット制御システムは、ロボットアーム又はロボットの他の構成要素を（例えば、動作コマンドを介して）参照箇所まで動かし、各参照箇所において、それぞれの検証画像を（例えば、カメラコマンドを介して）取り込むように制御することができる。ロボットが、その上に配置される検証記号を有する場合、ロボット制御システムは、より具体的には、検証記号を参照箇所まで動かし、検証画像を取り込むようにロボットアームを制御することができる。その後、ロボット制御システムは、それぞれの参照箇所においてそれぞれの検証画像が対応する参照画像からどれだけ外れるかを判断することができる。場合によっては、検証画像とそれぞれの参照画像との間の偏差は、偏差パラメーターとして表すことができる。偏差パラメーターの値（偏差パラメーター値とも呼ばれる）が偏差パラメーターに関して規定された閾値（規定された偏差閾値と呼ばれる場合もある）を超える場合には、ロボット制御システムは、更なるカメラキャリブレーションを実行して、カメラに関する更新されたカメラキャリブレーション情報を特定することができる。偏差パラメーターの値が規定された偏差閾値を超えるとき、この条件は、古いカメラキャリブレーション情報を使用すると、結果としてロボット操作に望ましくない量の誤差が生じる恐れがあることを示すことができる。したがって、場合によっては、更なるキャリブレーションが実行される間、ロボット操作は中断又は中止される場合がある（中断は別の休止期間と見なすことができる）。更なるキャリブレーションが完了した後に、新たな１組の参照画像を取り込むことができ、更新されたカメラキャリブレーション情報を用いてロボット操作を継続することができる。後続の休止期間（複数の場合もある）中に、新たな１組の検証画像を取り込むことができ、ロボット制御システムは、新たな１組の参照画像を新たな１組の検証画像と比較することによって、更なるカメラキャリブレーションの検証を実行することができる。
【００１３】
上記で言及されたように、偏差パラメーターの値が規定された偏差閾値を超えるとき、ロボット制御システムは、更なるカメラキャリブレーションを実行することができる。偏差パラメーターの値が偏差閾値を超えない場合には、ロボット制御システムが更なるキャリブレーションを実行することなく、休止期間後にロボット操作を継続することができる。このシナリオにおいて、カメラは、後続の休止期間（複数の場合もある）中にそれぞれの参照箇所において新たな１組の検証画像を取り込むことができる。新たな１組の検証画像が取り込まれると、ロボット制御システムは、それぞれの参照箇所において新たな１組の検証画像がそれぞれの参照画像からどれだけ外れるかを判断することによって、カメラキャリブレーションの検証を再び実行することができる。
【００１４】
上記で言及されたように、ロボットアームは、その上に配置される、リングパターン等の検証記号を有することができ、検証記号は、参照画像及び検証画像によって取り込まれる場合があるか、又は別の方法でそれらの画像内に含まれる場合がある。一実施形態において、ロボット制御システムは、参照画像内に検証記号が現れるそれぞれの位置に基づいて、かつ検証画像内に検証記号が現れるそれぞれの位置に基づいて、参照画像とそれぞれの検証画像との間の偏差を特定することができる。例えば、ロボット制御システムは、参照箇所ごとに参照画像座標を特定することができる。特定の箇所に関する参照画像座標は、検証記号がその参照箇所に配置されたときに取り込まれた参照画像内に検証記号が現れる座標とすることができる。より具体的には、参照画像座標は特定の参照箇所に関連付けることができ、その参照箇所に検証記号が配置されたときにカメラによって取り込まれた参照画像内に検証記号が現れる画像座標を指すことができる。上記の例において、画像座標は、ピクセル座標等の、画像内の座標を指す場合がある。ロボット制御システムが、その後、特定の参照箇所に検証記号を再び配置し、対応する検証画像を取得すると、ロボット制御システムは、検証画像座標を特定することができる。また、検証画像座標も参照箇所に関連付けることができ、検証記号が参照箇所に配置されたときにカメラによって取り込まれた検証画像内に検証記号が現れる画像座標（例えば、ピクセル座標）を指すことができる。ロボット制御システムは、特定の参照箇所に関連付けられる参照画像座標を、同じ参照箇所に関連付けられる検証画像座標と比較することができる。この比較は、検証画像及び参照画像が取り込まれた参照箇所ごとに行うことができる。
【００１５】
一例において、参照画像内に検証記号が現れる参照画像座標は、参照画像内の検証記号の中心の座標とすることができる（参照画像内の検証記号の中心座標とも呼ばれる）。同様に、検証画像内に検証記号が現れる検証画像座標は、検証画像内の検証記号の中心の座標とすることができる（検証画像内の検証記号の中心座標とも呼ばれる）。対応する検証画像が取り込まれたときにロボットアーム及び／又は検証記号が位置した参照箇所ごとに、ロボット制御システムは、参照箇所に関連付けられる参照画像座標と、同じ参照箇所に関連付けられる検証画像座標との間の偏差を特定することができる。ロボットアーム及び／又は検証記号が複数の参照箇所に配置されてきた場合には、ロボット制御システムは、複数の参照箇所に関して、それぞれの参照画像座標とそれぞれの検証画像座標との間のそれぞれの偏差量を特定することができる。ロボット制御システムは更に、参照箇所ごとの参照画像座標とそれぞれの検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラメーターの値を特定することができる。
【００１６】
一例において、検証記号内の複数の形状のそれぞれの中心が同じ、又は実質的に同じ位置にあるように、検証記号は互いに同心である複数の形状を含むことができる。例えば、検証記号は、２つ以上の同心円を含むリングパターンとすることができる。場合によっては、検証記号の参照画像座標が参照画像内の検証記号の中心座標である場合には、ロボット制御システムは、参照画像内の複数の形状のそれぞれの中心座標に基づいて、検証記号の中心座標を特定することができ、特定の形状の中心座標は、その形状の中心の座標である。検証記号がリングパターンである場合には、参照画像内のリングパターンを形成する第１の円の中心座標と、リングパターンを形成する第２の円の中心座標との平均として、参照画像内のリングパターンの中心座標を特定することができる。同様に、検証画像内の検証記号の中心座標は、検証画像内の検証記号を形成する複数の形状のそれぞれの中心座標に基づいて特定することができる。場合によっては、複数の形状を用いて、検証記号を形成することにより、検証の精度を改善することができる。例えば、１つの画像内の複数の形状のそれぞれの中心座標を用いて、検証記号の中心座標を特定することにより、画像ノイズに対する検証のロバストネスを改善することができる。より具体的には、検証記号の画像が画像ノイズを含む場合には、画像ノイズによって、ロボット制御システムが検証記号の特定の形状の中心座標を検出する精度が低下する場合がある。しかしながら、その形状の中心座標が別の形状の中心座標と平均され、検証記号の中心座標が特定される場合には、平均した中心座標は、画像ノイズの影響を低減することができる。結果として、検証記号の中心座標を特定する際の精度を改善することができる。
【００１７】
一例において、検証記号はそれぞれ色が異なる複数の領域を有することができ、複数の領域のそれぞれの面積が、識別できる規定された比を有することができる。例えば、検証記号は、第１の色（例えば、黒）を有する第１の領域と、第２の色（例えば、白）を有する第２の領域とを有することができ、第１の領域の面積と第２の領域の面積との比が規定されるか、又は別の方法で既知である。識別できる比は、画像がキャリブレーションパターンのドット等の他の特徴を取り込むか、又は別の方法で含む場合には特に、画像内の検証記号を識別するのを容易にすることができる。例えば、検証記号を動かしているロボットアームが、ロボットアーム上に配置されるキャリブレーションパターンを有する場合もある。ロボット制御システムは、その比を用いて、検証記号と、キャリブレーションパターンのドットとを区別することができる。より具体的には、検証記号の複数の領域の面積の比が識別できる比として規定されるので、ロボット制御システムは、規定された比に基づいて、画像内の検証記号を識別することができる。画像内に現れる検証記号の識別中に、ロボット制御システムは、規定された比に基づいて、検証記号と、キャリブレーションパターン又は他の特徴とを区別することができる。場合によっては、検証記号は、それぞれ異なる色の複数の領域を有し、複数の領域のそれぞれの面積間に規定された比を有する画像の部分として、その画像内で識別することができる。ロボット制御システム又は他のシステム若しくはデバイスが、画像の特定の部分が、それぞれ色が異なる複数の領域を有しないと判断する場合には、又は複数の領域のそれぞれの面積が規定された比とは異なる比を有すると判断する場合には、ロボット制御システムは、画像の部分が検証記号でないと判断することができる。
【００１８】
一例において、ロボット制御システムは、ロボットの周囲の温度に基づいて、検証を実行することができる。例えば、ロボット制御システムは、温度に基づいて、規定された偏差閾値を調整する（すなわち、偏差閾値に関する新たな値を規定する）ことができる。例えば、或る材料が温度の影響を受けやすい場合があり、及び／又は温度に応じて膨張／収縮する場合があるので、温度はカメラ内、及び／又はロボット内の種々の部品に影響を及ぼす場合がある。温度の変化によって、カメラの固有パラメーター（複数の場合もある）が変化する場合があり、及び／又はカメラとその外部環境との間の関係が変化する場合がある。一実施形態において、偏差閾値は、温度が規定範囲外にあるときに第１の値を有するように設定することができ、一方、偏差閾値は、温度が規定範囲内にあるときに、第１の値より低い第２の値を有するように設定することができる。例えば、温度が規定された正常動作温度範囲内（例えば、室温の１０度以内に）あるとき、偏差閾値は、第１の値とすることができる。温度が正常動作温度範囲外にあるとき、偏差閾値は、第１の値より低い第２の値を有することができる。正常動作温度範囲外の温度では、カメラに、又はカメラと外部環境との関係に変化が生じる可能性が高くなる場合があり、それゆえ、古いカメラキャリブレーション情報でロボットを動作させる際に誤差が生じる可能性が高くなる場合があるので、温度が正常動作範囲外にあるときに、更なるカメラキャリブレーションをより容易にトリガーするために、第２の値は第１の値より低くすることができる。
【００１９】
一実施形態において、カメラキャリブレーションの検証は、単一の参照箇所にのみ頼る場合がある。代替的には、カメラキャリブレーションの検証は、複数の参照箇所に頼ることができる。参照箇所は、カメラ視野内の任意の位置とすることができるか、又は特定の規定された位置とすることができる。例えば、参照箇所は、カメラに対して凹形である少なくとも１つの仮想球の表面上の位置として規定することができる。このシナリオにおける各参照箇所において、検証記号が、カメラに面するときに少なくとも１つの仮想球の表面に対して接線方向に位置決めされるように、検証記号を位置決めするようにロボットアームを制御することができる。この位置決めによれば、検証記号をカメラによって真正面から、より良好に撮影できるか、又は別の方法で取り込めるようになる場合がある（検証記号がカメラの真正面を向く）ので、検証記号の画像が、検証記号の斜視図ではなく、平面図に近くなる。例えば、検証記号がリングパターンである場合には、リングパターンを仮想球の表面に対して接線方向に位置決めすることによって、結果として生じるリングパターン画像が、楕円形に見えるのではなく、依然として円形に見えるようにすることができる。結果として生じる画像は、（リングパターンが画像内で楕円形に見えるシナリオに対して）少ない射影ひずみを示す場合があるか、又は全く射影ひずみを示さない場合がある。射影ひずみがないことは、リングパターンの中心座標の正確な特定を助長することができる。場合によっては、参照箇所は、カメラに対して全て凹形である複数の仮想球の中に分割することができる。複数の仮想球は共通の中心を共有することができ、異なるサイズとすることができ、それにより、各仮想球は、カメラからそれぞれ異なる距離を有する球面を有する。場合によっては、カメラは、全ての仮想球のための共通の中心とすることができる。
【００２０】
図１Ａは、自動カメラキャリブレーション及びカメラキャリブレーションの自動検証を実行するロボット運用システム１００（システム１００とも呼ばれる）のブロック図を示す。ロボット運用システム１００は、ロボット１５０と、ロボット制御システム１１０（ロボットコントローラーとも呼ばれる）と、カメラ１７０とを含む。一実施形態において、システム１００は倉庫内に、製造工場内に、又は他の施設内に位置することができる。ロボット制御システム１１０は、後に更に詳細に論じられるカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定するように構成することができ、カメラキャリブレーション情報は、倉庫内で荷物を持ち上げる等のロボット操作を実行するようにロボット１５０を制御するために後に使用される。ロボット制御システム１１０は、同じく後に更に詳細に論じられるカメラキャリブレーション検証を実行し、カメラキャリブレーション情報が依然として十分に正確であるか否かを検証するように更に構成することができる。場合によっては、ロボット制御システム１１０は、カメラキャリブレーションを実行し、カメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロボット１５０を制御するように構成される。場合によっては、ロボット制御システム１１０は、ロボット１５０及びカメラ１７０と通信する単一のデバイス（例えば、単一のコンソール又は単一のコンピューター）を形成することができる。場合によっては、ロボット制御システム１１０は複数のデバイスを含むことができる。
【００２１】
場合によっては、ロボット制御システム１１０は、カメラキャリブレーション及び／又はカメラキャリブレーションの検証を実行する専用システムとすることができ、最新のカメラキャリブレーション情報を別の制御システム（別のコントローラーとも呼ばれる、図示せず）に通信することができ、その後、別の制御システムが、最新のカメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロボット１５０を制御する。ロボット１５０は、カメラ１７０によって取り込まれた画像に基づいて、かつカメラキャリブレーション情報に基づいて位置決めすることができる。より具体的には、ロボット制御システム１１０は、一実施形態において、画像に基づいて、かつカメラキャリブレーション情報に基づいて、動作コマンドを生成し、動作コマンドをロボット１５０に通信し、そのロボットアームの動作を制御するように構成することができる。場合によっては、ロボット制御システム１１０は、ロボット操作時の休止期間中にカメラキャリブレーションの検証を実行するように構成される。場合によっては、ロボット制御システム１１０は、ロボット１５０でロボット操作を実行している間に検証を実行するように構成される。
【００２２】
一実施形態において、ロボット制御システム１１０は、有線通信又はワイヤレス通信を介して、ロボット１５０及びカメラ１７０と通信するように構成することができる。例えば、ロボット制御システム１１０は、ＲＳ−２３２インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、イーサネット（登録商標）インターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＩＥＥＥ８０２．１１インターフェース又はその任意の組み合わせを介して、ロボット１５０及び／又はカメラ１７０と通信するように構成することができる。一実施形態において、ロボット制御システム１１０は、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス等のローカルコンピューターバスを介して、ロボット１５０及び／又はカメラ１７０と通信するように構成することができる。
【００２３】
一実施形態において、ロボット制御システム１１０は、ロボット１５０とは別に存在することができ、上記で論じられたワイヤレス接続又は有線接続を介して、ロボットと通信することができる。例えば、ロボット制御システム１１０は、有線接続又はワイヤレス接続を介してロボット１５０及びカメラ１７０と通信するように構成されるスタンドアローンコンピューターとすることができる。一実施形態において、ロボット制御システム１１０は、ロボット１５０と一体の構成要素とすることができ、上記で論じられたローカルコンピューターバスを介して、ロボット１５０の他の構成要素と通信することができる。場合によっては、ロボット制御システム１１０は、ロボット１５０のみを制御する専用制御システム（専用コントローラーとも呼ばれる）とすることができる。他の場合には、ロボット制御システム１１０は、ロボット１５０を含む、複数のロボットを制御するように構成することができる。一実施形態において、ロボット制御システム１１０、ロボット１５０及びカメラ１７０は同じ施設（例えば、倉庫）内に位置する。一実施形態において、ロボット制御システム１１０は、ロボット１５０及びカメラ１７０から遠隔とすることができ、ネットワーク通信（例えば、ローカルエリアネットワーク（ＬＡＮ）接続）を介して、ロボット１５０及びカメラ１７０と通信するように構成することができる。
【００２４】
一実施形態において、ロボット制御システム１１０は、カメラ１７０から、ロボット１５０上（例えば、ロボットのロボットアーム上）に配置されるキャリブレーションパターン１６０及び／又は検証記号１６５の画像を読み出す（retrieve）か、又は別の方法で受信するように構成することができる。場合によっては、ロボット制御システム１１０は、そのような画像を取り込むように、カメラ１７０を制御するように構成することができる。例えば、ロボット制御システム１１０は、カメラ１７０にカメラ１７０の視野（カメラ視野とも呼ばれる）の画像を取り込ませるカメラコマンドを生成し、有線接続又はワイヤレス接続を介して、カメラコマンドをカメラ１７０に通信するように構成することができる。同じコマンドによって、カメラ１７０に、ロボット制御システム１１０、又はより一般的には、ロボット制御システム１１０によってアクセス可能な記憶デバイスに画像を通信させることもできる。代替的には、ロボット制御システム１１０は、カメラコマンドを受信すると、カメラ１７０が取り込んだ画像（複数の場合もある）をロボット制御システム１１０に通信する別のカメラコマンドを生成することができる。一実施形態において、カメラ１７０は、ロボット制御システム１１０からのカメラコマンドを必要とすることなく、定期的に、又は規定されたトリガー条件に応答して、自らのカメラ視野内の画像を自動的に取り込むことができる。そのような実施形態において、カメラ１７０は、ロボット制御システム１１０からのカメラコマンドを用いることなく、ロボット制御システム１１０に、又はより一般的にはロボット制御システム１１０によってアクセス可能な記憶デバイスに画像を自動的に通信するように構成することもできる。
【００２５】
一実施形態において、ロボット制御システム１１０は、ロボット制御システム１１０によって生成され、有線接続又はワイヤレス接続を介してロボット１５０に通信される動作コマンドを介して、ロボット１５０の動作を制御するように構成することができる。ロボット１５０は、ロボット１５０上にキャリブレーションパターン１６０及び検証記号１６５の一方又は両方を有するように構成することができる。例えば、図１Ｂは、図１Ａのキャリブレーションパターン１６０が存在しない場合の、ロボット１５０上に検証記号１６５が配置されるロボット運用システム１００Ａを示す。一例において、検証記号１６５は、ロボット１５０の一部とすることができ、ロボット１５０上に永久に配置することができる。例えば、検証記号１６５は、ロボット１５０上に永久に塗布することができるか、又はロボット１５０に永久に取り付けられるステッカー又はボードの一部とすることができる。別の例において、検証記号１６５は、ロボット１５０に着脱可能である別の構成要素とすることができる。検証記号１６５は、ロボット１５０上に永久に配置することができるか、又はロボット１５０に着脱可能である別の構成要素とすることができる。
【００２６】
一実施形態において、ロボット１５０を制御するためにシステム１００において使用される唯一の画像が、カメラ１７０によって取り込まれた画像である場合がある。別の実施形態において、システム１００は、複数のカメラを含むことができ、ロボット１５０は、複数のカメラからの画像によって制御することができる。
【００２７】
図１Ｂは、ロボット制御システム１１０がユーザーインターフェースデバイス１８０と通信する実施形態を更に示す。ユーザーインターフェースデバイス１８０は、ロボット１５０が位置する倉庫にいる従業員等の、ロボット１５０の運用者とのインターフェースを構成することができる。ユーザーインターフェースデバイス１８０は、ロボット１５０の運用に関連する情報を表示するユーザーインターフェースを提供する、例えば、タブレットコンピューター又はデスクトップコンピューターを含むことができる。上記で言及されたように、ロボット制御システム１１０は、偏差パラメーター値が規定された偏差閾値を超える時点を検出するように構成することができる。一実施形態において、ユーザーインターフェースデバイス１８０は、偏差パラメーター値が規定された偏差閾値を超えることを運用者に通知する警報又は他の警告を与えることができる。
【００２８】
図１Ｃは、ロボット制御システム１１０のブロック図を示す。ブロック図に示されるように、ロボット制御システム１１０は、制御回路１１１と、通信インターフェース１１３と、非一時的コンピューター可読媒体１１５（例えば、メモリ）とを含む。一実施形態において、制御回路１１１は１つ以上のプロセッサ、プログラマブル論理回路（ＰＬＣ）又はプログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、又は任意の他の制御回路を含むことができる。
【００２９】
一実施形態において、通信インターフェース１１３は、図１Ａ又は図１Ｂのカメラ１７０及び図１Ａ又は図１Ｂのロボット１５０と通信するように構成される１つ以上の構成要素を含むことができる。例えば、通信インターフェース１１３は、有線プロトコル又はワイヤレスプロトコルを介して通信を実行するように構成される通信回路を含むことができる。一例として、通信回路は、ＲＳ−２３２ポートコントローラー、ＵＳＢコントローラー、イーサネットコントローラー、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラー、ＰＣＩバスコントローラー、任意の他の通信回路、又はその組み合わせを含むことができる。一実施形態において、制御回路１１１は、動作コマンド（例えば、モーター動作コマンド）を生成し、動作コマンドを通信インターフェース１１３に出力するように構成することができる。この実施形態において、通信インターフェース１１３は、ロボット１５０のロボットアーム又は他の構成要素の動作を制御するために、動作コマンドをロボット１５０に通信するように構成することができる。一実施形態において、制御回路１１１は、カメラコマンドを生成し、カメラコマンド（例えば、画像取込コマンド）を通信インターフェース１１３に出力するように構成することができる。この実施形態において、通信インターフェース１１３は、カメラの視野内の物体の画像を撮影するか、又は別の方法で取り込むようにカメラ１７０を制御するために、カメラコマンドをカメラ１７０に通信するように構成することができる。一実施形態において、通信インターフェース１１３は、カメラ１７０から画像又は他のデータを受信するように構成することができ、制御回路１１１は、通信インターフェース１１３から画像を受信するように構成することができる。
【００３０】
一実施形態において、非一時的コンピューター可読媒体１１５はコンピューターメモリを含むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、半導体集積メモリ（solid state integrated memory）、及び／又はハードディスクドライブ（ＨＤＤ）を含むことができる。場合によっては、カメラキャリブレーションは、非一時的コンピューター可読媒体１１５上に記憶されるコンピューター実行可能命令（例えば、コンピューターコード）を通して実施することができる。そのような場合に、制御回路１１１は、コンピューター実行可能命令を実行し、カメラキャリブレーションの検証（例えば、図４Ａ、図４Ｂ及び図９に示されるステップ）を実行するように構成される１つ以上のプロセッサを含むことができる。
【００３１】
図１Ｄは、１つ以上のレンズ１７１と、イメージセンサー１７３と、通信インターフェース１７５とを含むカメラ１７０のブロック図を示す。通信インターフェース１７５は、図１Ａ、図１Ｂ又は図１Ｃのロボット制御システム１１０と通信するように構成することができ、ロボット制御システム１１０の図１Ｃの通信インターフェース１１３に類似とすることができる。一実施形態において、１つ以上のレンズ１７１は、カメラ１７０の外部から到来している光をイメージセンサー１７３上に合焦することができる。一実施形態において、イメージセンサー１７３は、それぞれのピクセル強度値を介して画像を表すように構成されるピクセルのアレイを含むことができる。イメージセンサー１７３は、電荷結合素子（ＣＣＤ）センサー、相補型金属酸化膜半導体（ＣＭＯＳ）センサー、量子イメージセンサー（ＱＩＳ：quanta image sensor）又は任意の他のイメージセンサーを含むことができる。
【００３２】
上記で言及されたように、カメラによって取り込まれた画像に基づいて、ロボットの制御を助長するために、カメラキャリブレーションを実行することができる。例えば、図２はロボット運用システム２００（システム２００とも呼ばれる）を示しており、そのシステムでは、画像を用いて、倉庫内の物体２９２を持ち上げる操作等の、ロボット操作を実行するようにロボット２５０を制御する。より具体的には、システム２００は、図１Ａのシステム１００の一実施形態とすることができ、カメラ２７０、ロボット２５０及びロボット制御システム１１０を含む。カメラ２７０は、図１Ａ、図１Ｂ又は図１Ｄのカメラ１７０の一実施形態とすることができ、ロボット２５０は、図１Ａ又は図１Ｂのロボット１５０の一実施形態とすることができる。カメラ２７０は、倉庫内のコンベヤベルト２９３上に配置される物体２９２（例えば、出荷するための荷物）の画像を取り込むように構成することができ、ロボット制御システム１１０は、物体２９２を持ち上げるように、ロボット２５０を制御するように構成することができる。コンベヤベルト２９３上に１つ以上の物体が存在するとき、ロボット制御システム１１０は、物体を持ち上げるロボット２５０の動作をスケジューリングするように構成することができる。ロボット制御システム１１０は、場合によっては、コンベヤベルト２９３上に物体が存在しない時点、又はコンベヤベルト２９３上の、ロボット２５０の届く範囲内に物体が存在しない時点を検出することによって、ロボット操作のための休止期間を検出するように構成することができる。
【００３３】
図２の実施形態において、ロボット２５０は、ベース２５２と、ベース２５２に対して移動可能であるロボットアームとを有することができる。より具体的には、ロボットアームは複数のリンク２５４Ａ〜２５４Ｅと、リンク２５４Ｅに取り付けられるロボットハンド２５５とを備えることができる。複数のリンク２５４Ａ〜２５４Ｅは互いに対して回動可能とすることができ、及び／又は互いに対して直線的に移動可能である直動リンク（prismatic links）とすることができる。図２は、物体を持ち上げるために使用されるロボット２５０に関わるため、ロボットハンド２５５は、物体２９２を掴むために使用される把持部２５５Ａ及び２５５Ｂを含むことができる。一実施形態において、ロボット制御システム１１０は、リンク２５４Ａ〜２５４Ｅのうちの１つ以上を回動させる動作コマンドを通信するように構成することができる。動作コマンドは、モーター動作コマンド等のローレベルコマンド、又はハイレベルコマンドとすることができる。ロボット制御システム１１０からの動作コマンドがハイレベルコマンドである場合には、ロボット１５０は、ハイレベルコマンドをローレベルコマンドに変換するように構成することができる。
【００３４】
一実施形態において、カメラキャリブレーションから特定されるカメラキャリブレーション情報は、カメラ２７０とロボット２５０との間の関係、又はより具体的には、カメラ２７０と、ロボット２５０のベース２５２に対して静止しているワールド点（world point）２９４との間の関係を記述する。ワールド点２９４は、ロボット２５０が位置する世界又は他の環境を表すことができ、ベース２５２に対して静止している任意の仮想点（imaginary point）とすることができる。言い換えると、カメラキャリブレーション情報は、カメラ２７０とワールド点２９４との間の関係を記述する情報を含むことができる。一実施形態において、その関係は、ワールド点２９４に対するカメラ２７０の位置と、ロボット２５０のための参照方向に対するカメラ２７０の向きとを指すことができる。カメラ２７０とワールド点２９４との間の上記の関係はカメラ−ワールド関係と呼ばれる場合があり、カメラ２７０とロボット２５０との間の関係を表すために使用することができる。場合によっては、カメラ−ワールド関係を用いて、カメラ２７０と物体２９２との間の関係（カメラ−物体関係とも呼ばれる）、及び物体２９２とワールド点２９４との間の関係（物体−ワールド関係とも呼ばれる）を特定することができる。カメラ−物体関係及び物体−ワールド関係を用いて、物体２９２を持ち上げるようにロボット２５０を制御することができる。
【００３５】
一実施形態において、カメラキャリブレーション情報は、カメラ２７０の固有パラメーターを記述することができ、固有パラメーターは、その値がカメラ２７０の位置及び向きから独立している任意のパラメーターとすることができる。固有パラメーターは、カメラの焦点距離、カメラのイメージセンサーのサイズ、又はカメラ２７０によって導入されるレンズひずみの影響等の、カメラ２７０の特性を特徴付けることができる。
【００３６】
ロボット３５０の一例の詳細な構造を示す一例が図３に示され、図３は、カメラ３７０及びロボット３５０と通信するロボット制御システム１１０を含むロボット運用システム３００を示す。カメラ３７０は、図１Ａ、図１Ｂ、図１Ｄ又は図２のそれぞれカメラ１７０／２７０の一実施形態とすることができ、ロボット３５０は、図１Ａ、図１Ｂ又は図２のそれぞれロボット１５０／２５０の一実施形態とすることができる。カメラ３７０は、カメラ視野３３０内の画像を取り込むことができる場合がある。ロボット３５０は、ベース３５２と、ベース３５２に対して移動可能であるロボットアームとを含むことができる。ロボットアームは、リンク３５４Ａ〜３５４Ｅ等の１つ以上のリンクと、ロボットハンド３５５とを含む。一実施形態において、リンク３５４Ａ〜３５４Ｅは互いに回動可能に取り付けることができる。例えば、リンク３５４Ａは、ジョイント３５６Ａを介して、ロボットベース３５２に回動可能に取り付けることができる。残りのリンク３５４Ｂ〜３５４Ｅは、ジョイント３５６Ｂ〜３５６Ｅを介して、互いに回動可能に取り付けることができる。一実施形態において、ベース３５２を用いて、ロボット３５０を、例えば、取付フレーム又は取付面（例えば、倉庫の床）に取り付けることができる。一実施形態において、ロボット３５０は、リンク３５４Ａ〜３５４Ｅを回動させることによってロボットアームを動かすように構成される複数のモーターを含むことができる。例えば、モーターのうちの１つは、図３において破線矢印で示されるように、ジョイント３５６Ａ及びベース３０２に対して第１のリンク３５４Ａを回動させるように構成することができる。同様に、複数のモーターのうちの他のモーターも、リンク３５４Ｂ〜３５４Ｅを回動させるように構成することができる。複数のモーターはロボット制御システム１１０によって制御することができる。図３は、第５のリンク３５４Ｅ上に固定されるように配置されるロボットハンド３５５を更に示す。ロボットハンド３５５は、その上にキャリブレーションパターン３２０を有することができ、ロボット制御システム１１０がカメラ３７０を介してキャリブレーションパターン３２０の画像を取り込み、キャリブレーションパターン３２０の取り込まれた画像に基づいて、カメラキャリブレーションを実行できるようにする。例えば、ロボット制御システム１１０は、キャリブレーションパターン３２０の画像（キャリブレーション画像とも呼ばれる）を取り込むためにカメラ３７０が使用されているときに、キャリブレーションパターン３２０がカメラ視野３３０内に存在することができ、カメラ３７０から視認可能であるように、ロボットアームを動かすことができる。カメラキャリブレーションが実行された後に、ロボットハンド３５５を取り外し、後に更に詳細に論じられるように、その上に配置される検証記号を有するロボットハンド等の別のロボットハンドと交換することができる。
【００３７】
上記で言及されたように、一実施形態によれば、カメラキャリブレーション検証は、参照画像内に検証記号が現れる参照画像座標と、検証画像内に検証記号が現れる検証画像座標とを比較することを含むことができる。その比較は、検証画像座標と参照画像座標との間の偏差を特定することができ、その偏差を用いて、更なるカメラキャリブレーションを実行すべきか否かを判断することができる。検証画像は、ロボット操作の休止期間中に取り込むことができる。図４Ａ及び図４Ｂは、一実施形態による、カメラキャリブレーションの検証の方法４００を示すフロー図を示す。一実施形態において、方法４００は、ロボット制御システム１１０の制御回路１１１によって実行することができる。上記で言及されたように、ロボット制御システム１１０は、図１Ｃの通信インターフェース１１３を含むことができ、通信インターフェースは、図１Ａ又は図１Ｂのロボット１５０、及び図１Ａ、図１Ｂ又は図１Ｄのカメラ１７０と通信するように構成される。一実施形態において、ロボットはベース（例えば、図２のベース２５２又は図３のベース３５２）と、その上に検証記号が配置されるロボットアーム（例えば、図２又は図３のロボットアーム）とを有することができ、ロボットアームはベースに対して移動可能である。
【００３８】
方法４００が実行される例示的な環境が図５Ａ及び図５Ｂに示されており、その図は、カメラ５７０及びロボット５５０と通信するロボット制御システム１１０をそれぞれ含むロボット運用システム５００／５００Ａを示す。カメラ５７０は、図１、図２又は図３のそれぞれカメラ１７０／２７０／３７０の一実施形態とすることができ、ロボット５５０は、図１Ａ、図１Ｂ、図２又は図３のそれぞれロボット１５０／２５０／３５０の一実施形態とすることができる。ロボット５５０は、ベース５５２と、ベース５５２に対して移動可能であるロボットアームとを含むことができる。ロボットアームは、リンク５５４Ａ〜リンク５５４Ｅ等の１つ以上のリンクを含む。一実施形態において、リンク５５４Ａ〜５５４Ｅは互いに回動可能に取り付けることができる。例えば、リンク５５４Ａは、ロボットベース５５２に回動可能に取り付けることができる。残りのリンク５５４Ｂ〜５５４Ｅは、複数のジョイントを介して、互いに回動可能に取り付けることができる。一実施形態において、ベース５５２を用いて、ロボット５５０を、例えば、取付フレーム又は取付面（例えば、倉庫の床）に取り付けることができる。ロボット５５０は、図３のロボット３５０と同じように動作することができる。例えば、ロボット５５０は、互いに対してリンク５５４Ａ〜５５４Ｅを回動させることによってロボットアームを動かすように構成される複数のモーターを含むことができる。ロボットアームは、リンク５５４Ｅに取り付けられるロボットハンドを更に含むことができる。例えば、図５Ａは、第１のロボットハンド５５５、第２のロボットハンド５５７及び第３のロボットハンド５５９を示し、それぞれ第５のリンク５５４Ｅに着脱可能とすることができる。ロボットハンド５５５／５５７／５５９は、コンベヤベルト５７３から物体（例えば、５８２Ａ、５８２Ｂ、５８２Ｃ）を持ち上げるように構成される、例えば、把持部又は吸引デバイスを含むことができる。ロボットハンド５５５／５５７／５５９が第５のリンク５５４Ｅに取り付けられるとき、その取付は混在するように行うことができる。その着脱は手動で、又は自動的に実行することができる。一例において、第５のリンク５５４Ｅは、図５Ａ及び図５Ｂに示されるように、第１のロボットハンド５５５に取り付けることができ、ロボット制御システム１１０は、第５のリンク５５４Ｅに第１のロボットハンド５５５を解放させて、第５のリンク５５４Ｅを第２のロボットハンド５５７に取り付けるように、ロボット５５０を制御することができる。別の実施形態では、第５のリンク５５４Ｅは、ロボットハンド（例えば、ロボットハンド５５９）に永久に取り付けることができる。
【００３９】
一実施形態において、ロボット５５０は、その上に配置される検証記号５３０を有することができる。場合によっては、検証記号５３０はロボット５５０上に永久に配置することができる。場合によっては、検証記号５３０は、リンク５５４Ａ〜５５４Ｅのうちの１つ等のロボット５５０のロボットアーム上に、又はロボットハンド上に配置することができる。例えば、図５Ａは、第１のロボットハンド５５５及び第３のロボットハンド５５９上に配置される検証記号５３０を示し、一方、図５Ｂは、リンク５５４Ｅ上に配置される検証記号５３０を示す。検証記号５３０は、ロボット５５０上に直接塗布することができるか、又はステッカー又は平板等を介して、ロボット５５０に取り付けることができる。図５Ａに示される例において、第２のロボットハンド５５７又は第３のロボットハンド５５９はそれぞれその上に配置されるキャリブレーションパターン５２０／５２７を有するので、それらのロボットハンドを用いて、カメラキャリブレーションを実行することができ、一方、第１のロボットハンド５５５又は第３のロボットハンド５５９はそれぞれその上に配置される検証記号５３０を有するので、それらのロボットハンドを用いて、カメラキャリブレーションの検証を実行することができる。
【００４０】
図４Ａに戻ると、一実施形態において、方法４００はステップ４０１から開始することができ、そのステップでは、制御回路１１１が、第１のカメラキャリブレーションを実行して、カメラ（例えば、図１、図２、図３又は図５のそれぞれカメラ１７０／２７０／３７０／５７０）に関連付けられるカメラキャリブレーション情報を特定する。より具体的には、カメラキャリブレーション情報は、カメラに関するカメラキャリブレーション値を含むことができる。この実施形態において、制御回路１１１は、キャリブレーションパターンの画像（キャリブレーション画像とも呼ばれる）に基づいて、第１のカメラキャリブレーションを実行することができる。
【００４１】
例えば、第１のカメラキャリブレーションを実行するために、図５Ａのロボット５５０は、キャリブレーションパターン５２０を有する第２のロボットハンド５５７に、又はキャリブレーションパターン５２７を有する第３のロボットハンド５５９に取り付けることができる。図３は、第１のカメラキャリブレーションを実行することができる類似の環境を示す。このステップ中に、カメラキャリブレーションを実行するためにそのキャリブレーションパターン３２０が使用される第１のロボットハンド５５５を、第５のリンク５５４Ｅから取り外すことができる。第１のカメラキャリブレーションは、ロボット操作を開始する前に実行することができる。例えば、ロボット操作は、第１のロボットハンド５５５がコンベヤベルト上の第１の物体５８２Ａと相互作用する等のロボット作業から開始することができる。第１のカメラキャリブレーション中に、ロボット５５０は第２のロボットハンド５５７を備えることができる。ロボット制御システム１１０は、キャリブレーションパターン５２０をカメラ５７０のカメラ視野５１０内の種々の位置に動かし、そのような位置においてキャリブレーションパターン５２０のそれぞれの画像を取り込むように、動作コマンドを介して、ロボット５５０のロボットアームを制御することができる。ロボット制御システム１１０は、キャリブレーションパターン５２０の取り込まれた画像に基づいて、第１のカメラキャリブレーションを実行し、カメラ５７０に関するカメラキャリブレーション情報を特定することができる。一例において、カメラキャリブレーション情報は、カメラ５７０とロボット５５０との間の関係を記述する情報を含むことができる。一例において、カメラキャリブレーション情報は、カメラ５７０の固有パラメーターを記述することができる。カメラキャリブレーションは、２０１９年３月７日に出願の「METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL」と題する米国特許出願第１６／２９５，９４０号（整理番号ＭＪ００２１ＵＳ１）においてより詳細に論じられており、その内容全体が引用することにより本明細書の一部をなす。
【００４２】
図４Ａに戻ると、方法４００はステップ４０３を更に含むことができ、そのステップでは、制御回路１１１が、ロボット制御システム１１０の通信インターフェース１１３に第１の動作コマンドを出力することによって、第１のカメラキャリブレーション中又は後に、検証記号（例えば、図５の５３０）をカメラ（例えば、５７０）のカメラ視野（例えば、５１０）内の１つの位置に動かすようにロボットアームを制御する。通信インターフェース１１３は、ロボットアームが、第１のカメラキャリブレーション中又は後に、検証記号（例えば、５３０）をカメラ視野（例えば、５１０）内のその位置に動かすために、ロボットに動作コマンドを通信するように構成することができる。また、動作コマンドによって、ロボットアームは、検証記号をカメラ（例えば、５７０）に面するように、又はより一般的には、カメラから視認可能であるように、検証記号を向けることができる。その位置は、第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの１つの参照箇所として使用することができる。例えば、検証プロセスが経時的に検証記号の画像を取得するとき、制御回路１１１は、１つ以上の位置を１つ以上の参照箇所として使用することができるように、検証記号（例えば、５３０）を同じ１つ以上の位置に絶えず位置決めするように、ロボットアームを制御することができる。さらに、ステップ４０５〜４５９に関して後に説明されるように、検証プロセスは、検証記号の後の画像を、第１のカメラキャリブレーションが実行された直後に得られた画像等の、検証記号（例えば、５３０）の１組の早期の画像と比較することができる。後の画像は検証画像として使用することができ、一方、後の画像が比較される画像は、参照画像として使用することができる。
【００４３】
ステップ４０５において、制御回路１１１が、通信インターフェース１１３を介して、カメラ（例えば、１７０／２７０／３７０／５７０）から検証記号（例えば、５３０）の画像を受信する（例えば、読み出す）ことができ、その画像は検証のための参照画像である。画像は、検証記号が参照箇所にあるか、又は参照箇所にあった間に、カメラによって取り込まれている場合がある。一実施形態において、最初に、通信インターフェース１１３がカメラから参照画像を受信することができ、その後、制御回路１１１が、通信インターフェース１１３から参照画像を受信することができる。一実施形態において、ステップ４０５は、制御回路１１１がカメラのためのカメラコマンドを生成することなく実行される。一実施形態において、ステップ４０５は、制御回路１１１がカメラコマンドを生成することと、通信インターフェース１１３を介してカメラにカメラコマンドを通信することとを含むことができる。カメラコマンドは、参照箇所において検証記号の画像を取り込むように、カメラを制御することができる。
【００４４】
図５Ａ〜図６Ｂはステップ４０３及び４０５の態様を示す。図５Ａの実施形態において、第１のカメラキャリブレーションが、例えば、第２のロボットハンド５５７を用いて実行された後に、第２のロボットハンド５５７を、その上に配置される検証記号５３０を有する第３のロボットハンド５５９と交換することができる。この例において、ロボット制御システム１１０は、検証記号５３０をカメラ５７０のカメラ視野５１０内の１つ以上の参照箇所に動かすように、ロボット５５０のロボットアームを（例えば、１つ以上の動作コマンドを介して）制御する。１つ以上の参照箇所は、カメラ視野５１０内の任意の位置を含むことができるか、又は後に更に詳細に論じられるような、仮想球の表面上に配置される位置等の１組の１つ以上の特定の位置とすることができる。別の例では、図５Ｂの実施形態において、第１のカメラキャリブレーション中又は後に、ロボット制御システム１１０は、検証記号５３０をカメラ視野５１０内の１つ以上の参照箇所に動かすようにロボットアームを制御することができる。この例において、１つ以上の参照箇所は、第１のカメラキャリブレーション中に検証記号５３０が（キャリブレーションパターン５２０とともに）撮影された任意の位置を含むことができるか、又は第１のカメラキャリブレーションが実行された後に検証記号５３０が動かされた１組の１つ以上の特定の位置とすることができる。ロボット制御システム１１０は、第１のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて、カメラ５７０からの指示によってこのステップにおいてロボット５５０のロボットアームの動作を制御することができるか、又はそのような指示を用いることなく動作を制御することができる。一実施形態において、参照箇所は、ローカル又はリモート記憶デバイス内に記憶され、読み出すことができる規定された位置とすることができる。参照箇所は、座標（例えば、直交座標）の形で、又はリンク５５４Ａ〜５５４Ｅを回動させるためのモーターコマンドとして、又は何らかの他の態様において記憶することができる。
【００４５】
一実施形態において、ロボットアームが検証記号（例えば、５３０）を動かす１つ以上の参照箇所は、複数の参照箇所を含むことができ、複数の参照箇所のそれぞれが、カメラに対して凹形である仮想球の表面上に配置される位置である。そのような実施形態において、制御回路１１１は、複数の参照箇所の各参照箇所において検証記号が仮想球の表面に対して接線方向に向くように動かすために、ロボットアームを制御するように更に構成することができる。例えば、図６Ａ及び図６Ｂに示されるように、ロボット制御システム１１０は、検証記号５３０を参照箇所６１０Ａ〜６１０Ｉに動かすように、ロボット５５０のロボットアームを制御することができ、参照箇所６１０Ａ〜６１０Ｉのそれぞれにおいてそれぞれの参照画像を取り込むようにカメラ５７０を制御することができる。図６Ａ及び図６Ｂの参照箇所６１０Ａ〜６１０Ｉは、カメラ視野５１０内の複数の仮想球の中で分割することができる。参照箇所６１０Ａ及び６１０Ｂは第１の仮想球６２０の第１の球面６２１上に配置することができ、ここで、第１の球面６２１はカメラ視野５１０内にある。参照箇所６１０Ｃ、６１０Ｄ及び６１０Ｅは第２の仮想球６３０の第２の球面６３１上に配置することができ、ここで、第２の球面６３１はカメラ視野５１０内にある。参照箇所６１０Ｆ、６１０Ｇ、６１０Ｈ及び６１０Ｉは、第３の仮想球６４０の第３の球面６４１上に配置することができ、ここで、第３の球面６４１はカメラ視野５１０内にある。図６Ａ及び図６Ｂに示されるように、第１の球面６２１、第２の球面６３１及び第３の球面６４１はそれぞれ、カメラ５７０に対して凹形である。図６Ａ及び図６Ｂの例は３つの球に基づく３つの球面を示すが、参照箇所を配置することができる異なる球面の数は、３つより多くすることも、少なくすることもできる。一実施形態において、カメラ５７０は、仮想球６２０、６３０、６４０のそれぞれの中心に存在することができる。
【００４６】
一実施形態において、図６Ａ及び図６Ｂに示されるように、検証記号５３０が或る参照箇所に動かされるときに、ロボット制御システム１１０は、検証記号５３０を参照箇所が配置される球面に対して接線方向に位置決めするように、ロボット５５０のロボットアームを（例えば、動作コマンドを介して）制御することができる。例えば、図６Ｂは、検証記号５３０が参照箇所６１０Ｄの第２の球面６３１に対して接線方向にあることを示す。より詳細には、検証記号５３０は平面（例えば、ステッカー）上に配置することができ、検証記号５３０の平面が、参照箇所６１０Ｄにおいて第２の球面６３１に対して接線方向に向くことができる。
【００４７】
一実施形態において、制御回路１１１は、検証記号が参照箇所に動かされるときに、カメラの真正面を向くように検証記号（例えば、５３０）を動かすために、ロボットアームを制御するように構成される。例えば、図６Ａに示されるように、ロボット制御システム１１０は、検証記号５３０が参照箇所６１０Ｄに動かされるときに、カメラ５７０の真正面を向くように検証記号５３０を動かすために、ロボット５５０のロボットアームを制御することができる。この例において、ロボット制御システム１１０は、検証記号５３０がカメラ５７０の真正面を向くように回動するように、ロボットハンド５５５を制御することができる。場合によっては、検証記号は、カメラ視野５１０において球面に対して接線方向に向くことによって、カメラ５７０の真正面を向くことができる。検証記号５３０がカメラ５７０の真正面を向くとき、カメラ５７０は、検証記号５３０を真正面から撮影できる場合があり、それにより、結果として生じる検証記号５３０の画像への斜視効果がないか、又は少ない。
【００４８】
一実施形態において、検証記号（例えば、５３０）は、第１の色を有する第１の領域と、第２の色を有する第２の領域とを含み、第１の領域の面積と第２の領域の面積との比が規定され、ロボット制御システム１１０の非一時的コンピューター可読媒体（例えば、記憶デバイス）上に記憶される。そのような実施形態において、制御回路１１１は、規定された比に基づいて、参照画像又は検証画像内の検証記号を識別するように構成することができる。例えば、図５Ｃに示されるように、検証記号５３０は、リング状であり、第１の色を有する第１の領域５３１（例えば、黒色領域）を含むことができ、第１の領域５３１によって包囲され、第２の色を有する第２の領域５３３（例えば、白色領域）を含む。検証記号５３０内の黒色の第１の領域５３１の面積と白色の第２の領域５３３の面積との比は、識別できる規定値とすることができる。取り込まれた画像内の色を解析することによって、ロボット制御システム１１０は、その部分が円形領域を包囲するリング状領域であるか否かを判断し、リング状領域の面積と円形領域の面積との比が規定された比に一致するか否かを判断することによって、検証記号５３０に対応する画像の部分を識別できる場合がある。これにより、ロボット制御システム１１０は、検証記号５３０と画像内の取り込まれた他の特徴とを区別できるようになる場合がある。例えば、図５Ａに示されるように、ロボット５５０は、キャリブレーションパターン５２７及び検証記号５３０の組み合わせを有する第３のロボットハンド５５９を利用するように設定することができる。この例において、参照画像は、検証記号５３０及びキャリブレーションパターン５２７の両方を示すことができる。この例において、キャリブレーションパターン５２７は、いかなるリングパターンも有しない場合があるか、又は上記で論じられた規定された比とは異なる比のリングパターンを有する場合がある。制御回路１１１は、参照画像の部分が第１の色を有する第１の画像領域を有するか、及び第２の色を有する第２の画像領域を有するかを判断し、第１の画像領域の面積と第２の画像領域の面積との比が規定された比に等しいか否かを判断することによって、参照画像のその部分が検証記号５３０であるか、キャリブレーションパターン５２７であるかを判断することができる。
【００４９】
場合によっては、ロボット制御システム１１０は、取り込まれた画像の特定の部分が第１の色を有する第１の領域を有するか、及び第２の色を有する第２の領域を有するかを判断し、第１の領域の面積と第２の領域の面積との比が規定された範囲内にあるか否かを判断することができる。一例において、規定された比が１．５である場合には、ロボット制御システム１１０は、特定の領域内の比が１．４〜１．６の範囲内に入る場合に、その特定の領域が検証記号５３０に対応すると判断することができる。第１の領域及び第２の領域の２つの色は黒及び白には限定されず、ロボット制御システム１１０によって識別可能である任意の２つの異なる色とすることができる。
【００５０】
一態様において、検証記号（例えば、５３０）は、互いに同心である第１の形状及び第２の形状を含むことができ、第１の形状及び第２の形状のそれぞれの中心が実質的に同じ位置にある。例えば、検証記号は円形リングとして形成することができ、円形リングは、互いに同心である第１の円及び第２の円を含む。より具体的には、図５Ｃに示されるように、検証記号５３０は、第１の形状５３５（例えば、外円）及び第２の形状５３７（例えば、内円）を含むことができる。第１の形状５３５の中心及び第２の形状５３７の中心が実質的に同じ位置にあるように、第１の形状５３５及び第２の形状５３７は互いに同心とすることができる。例えば、第１の形状５３５の中心が座標
【数１】
2020163556.tif 000003
にあり、第２の形状５３７の中心が座標
【数２】
2020163556.tif 000004
にある場合には、座標
【数３】
2020163556.tif 000005
及び座標
【数４】
2020163556.tif 000006
は実質的に同じとすることができる。
【００５１】
図４Ａに戻ると、方法４００はステップ４０７を更に含むことができ、そのステップでは、制御回路１１１が、検証記号に関する参照画像座標を特定し、参照画像座標は、参照画像内に検証記号（例えば、５３０）が現れる座標である。例えば、図６Ａに示されるように、検証記号５３０の画像を参照箇所６１０Ｄにおいて取り込むことができ、参照画像として使用することができる。検証記号５３０は、特定の座標において参照画像内に現れることができ、その座標は参照画像座標と呼ばれる場合がある。
【００５２】
一実施形態において、上記で論じられたように、検証記号（例えば、５３０）は互いに同心である第１の形状及び第２の形状を含むことができ、第１の形状及び第２の形状のそれぞれの中心が実質的に同じ位置にある。そのような実施形態において、制御回路１１１は、ステップ４０７において、参照画像内の第１の形状の中心の第１の座標を特定することと、参照画像内の第２の形状の中心の第２の座標を特定することと、参照画像内の第１の座標及び第２の座標の平均として参照画像座標を特定することとによって、そのような検証記号に関する参照画像座標を特定するように構成することができる。
【００５３】
例えば、図７Ａは、参照箇所のうちの参照箇所Ｎ（ただし、Ｎは整数）において取り込まれた参照画像７１０を示す。参照画像７１０は検証部分７３０を含み、検証部分は、図５Ａ、図５Ｂ又は図５Ｃの検証記号５３０を示す参照画像７１０内の画像部分である。図１Ａ又は図１Ｂのロボット制御システム１１０は、検証部分７３０から、図５Ｃの検証記号５３０の第１の形状５３５と同じ、又は実質的に同じである第１の形状７３５（例えば、外円）を識別するように構成することができる。ロボット制御システム１１０は、検証部分７３０から、図５Ｃの検証記号５３０の第２の形状５３７と同じ、又は実質的に同じである第２の形状７３７（例えば、内円）を更に識別するように構成することができる。その後、参照箇所Ｎに関して、ロボット制御システム１１０は、参照画像７１０内に示される第１の形状７３５の中心の第１の座標
【数５】
2020163556.tif 000007
（すなわち、第１の形状７３５の中心座標）と、参照画像７１０内に示される第２の形状７３７の中心の第２の座標
【数６】
2020163556.tif 000008
（すなわち、第２の形状７３７の中心座標）とを特定することができる。参照画像７１０が参照箇所Ｎにある検証記号５３０に対応するとき、参照画像７１０に関する参照画像座標
【数７】
2020163556.tif 000009
を全体として特定するために、ロボット制御システム１１０は、以下のように、参照画像７１０内の第１の座標
【数８】
2020163556.tif 000010
及び第２の座標
【数９】
2020163556.tif 000011
の平均を計算することができる。
【数１０】
2020163556.tif 000012
【００５４】
一実施形態において、検証記号に関する参照画像座標は、その中心座標とすることができ、第１の形状７３５及び第２の形状７３７のそれぞれの中心座標に基づいて、検証記号５３０の中心座標を特定することは、画像ノイズに対する検証プロセスのロバストネスを改善することができる。例えば、画像ノイズは、第１の形状７３５に関する中心座標の決定に誤差を導入する場合があるが、第２の形状７３７に関する中心座標の特定に誤差を導入しない場合がある。場合によっては、第２の形状７３７が実際には第１の形状７３５と同じ中心位置を共有する場合があるが、画像ノイズによって、第２の形状７３７の中心座標が第１の形状７３５の中心座標とは異なるように画像内に現れる場合がある。このシナリオにおいて、検証記号５３０の中心座標として第２の形状７３７の中心座標を単に使用すると、結果として望ましくない誤差量が生じる場合がある。誤差量は、検証記号５３０の中心座標として、第１の形状７３５に関する中心座標と第２の形状７３７に関する中心座標との平均を使用することによって低減することができる。
【００５５】
一実施形態において、上記で論じられた１つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所とすることができる。この実施形態では、参照画像座標は複数の参照画像座標のうちの１つとすることができる。例えば、図６Ａ及び図６Ｂに示されるように、検証記号５３０が動かされるか、又は別の方法で配置される、参照箇所６１０Ａ〜６１０Ｉ等の複数の参照箇所が存在する場合がある。検証記号５３０の参照箇所６１０Ａ〜６１０Ｉごとに、ロボット制御システム１１０は、その箇所において検証記号５３０の、カメラ５７０によって取り込まれたそれぞれの参照画像を読み出すか、又は別の方法で受信することができ、それぞれの参照画像内に検証記号５３０が現れる位置を示すそれぞれの参照画像座標を特定することができる。
【００５６】
図４Ａに戻ると、方法４００はステップ４０９を更に含むことができ、そのステップでは、制御回路１１１が、カメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロボットアームの動作を制御する。一実施形態において、このステップは、制御回路１１１が、カメラキャリブレーション情報に基づく第２の動作コマンドを生成することと、第２の動作コマンドを通信インターフェース１１３に出力することとを含むことができる。通信インターフェース１１３は、その後、ロボットアームの動作を制御するために、第２の動作コマンドをロボットに通信することができる。例えば、図５Ａに示されるように、第１のカメラキャリブレーション後に、ロボット制御システム１１０は、物体５８２Ａ、５８２Ｂ及び５８２Ｃを持ち上げる等の、ロボット作業を含むロボット操作を実行するように、ロボット５５０を制御する。ロボット５５０の動作は、第１のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づくことができ、かつカメラ５７０によって取り込まれる物体５８２Ａ、５８２Ｂ、５８２Ｃの画像に基づくことができる。
【００５７】
ステップ４１１において、制御回路１１１がロボット操作中に休止期間を検出する。一態様において、ロボットの休止期間は、ロボット操作中にロボットがロボット作業を実行していない期間とすることができる。場合によっては、ロボット操作がコンベヤベルト５７３から物体を持ち上げることに基づく場合には、休止期間は、コンベヤベルト５７３上に物体が存在しないことに基づくことができる。より具体的には、コンベヤベルト５７３は、ロボットアームによって到達可能とすることができ、制御回路１１１は、コンベヤベルト５７３上に物体が存在しないこと、又はロボット５５０とコンベヤベルト５７３上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することによって、休止期間を検出するように構成される。場合によっては、制御回路１１１は、休止期間が発生しようとしていることを示す信号を受信することができ、その信号は、ロボット操作を監視する別のデバイス又は構成要素から受信される場合がある。例えば、図５Ａに示されるように、ロボット制御システム１１０は、第２の物体５８２Ｂと第３の物体５８２Ｃとの間に長い距離があるために、ロボット操作中に、第２の物体５８２Ｂを持ち上げることを含むロボット作業と、第３の物体５８２Ｃを持ち上げることを含むロボット作業との間に休止期間を検出することができる。この休止期間中、ロボット５５０が第２の物体５８２Ｂを持ち上げた後に、物体５８２Ｃはロボット５５０によってまだ到達可能でないので、ロボットは、ロボット作業を実行していない休止期間を有することができる。一例において、ロボット制御システム１１０は、コンベヤベルト５７３上の物体がロボット５５０によって到達可能でないときに、及び／又はロボット５５０とコンベヤベルト５７３上の上流の最も近い物体（例えば、第３の物体５８２Ｃ）との間の距離が或る特定の閾値を超えるとロボット制御システム１１０が判断するときに、休止期間を検出することができる。
【００５８】
図４Ａ及び図４Ｂに戻ると、方法４００はステップ４５１を更に含むことができ、そのステップでは、制御回路１１１が、休止期間中に、検証記号５３０をステップ４０３において使用された（参照画像を取り込むために使用された）少なくとも参照箇所に動かすように、ロボットアームを制御する。一実施形態において、ステップ４５１は、制御回路１１１が第３の動作コマンドを生成することと、第３の動作コマンドを通信インターフェース１１３に出力することとを含むことができる。通信インターフェース１１３は、動作コマンドに基づいてロボットアームが動くように、その後、第３の動作をロボットに通信するように構成することができる。場合によっては、第３の動作コマンドは、参照箇所に対応する１組の記憶されたモーターコマンドを含むことができる。場合によっては、第３の動作コマンドは、ステップ４０１からのカメラキャリブレーション情報に基づいて生成することができる。場合によっては、ステップ４５１の第３の動作コマンドは、ステップ４０１からのカメラキャリブレーション情報に頼らない。
【００５９】
ステップ４５３において、制御回路１１１が、休止期間中にカメラ（例えば、５７０）から検証記号（例えば、５３０）の更なる画像を読み出すか、又は別の方法で受信し、更なる画像は検証のための検証画像であり、休止期間中の少なくとも参照箇所における検証記号の画像である。すなわち、参照箇所に関する検証画像は、検証記号（例えば、５３０）が参照箇所にあるか、又は参照箇所にあった間に取り込まれる。一実施形態において、ステップ４５３は、制御回路１１１が、検証画像を取り込むようにカメラ（例えば、５７０）を制御するカメラコマンドを生成することを含む。制御回路１１１は、通信インターフェース１１３にカメラコマンドを出力することができ、通信インターフェースがカメラコマンドをカメラ（例えば、５７０）に通信することができる。一実施形態において、ステップ４５１は、検証記号を複数の参照箇所に動かすようにロボットアームを制御することと、カメラによって取り込まれた複数のそれぞれの検証画像を受信することとを含むことができる。例えば、図６Ａ及び図６Ｂに示されるように、休止期間中に、ロボット制御システム１１０は、検証記号５３０を参照箇所６１０Ａ〜６１０Ｉのうちの１つに動かし、その位置における検証記号５３０の画像を検証画像として取り込むように、ロボット５５０のロボットアームを制御することができる。休止期間がまだ終わっていない場合、より具体的には、休止期間に十分な長さの時間が残っている場合には、ロボット制御システム１１０は、検証記号５３０を参照箇所６１０Ａ〜６１０Ｉのうちの別の位置に動かし、その位置における検証記号５３０の画像を別の検証画像として取り込むように、ロボット５５０のロボットアームを制御することができる。休止期間が終了する場合には、ロボット制御システム１１０は、検証画像を取り込むのを中止することができる。その場合に、各休止期間中に、ロボット制御システム１１０は、検証記号５３０を参照箇所６１０Ａ〜６１０Ｉのうちの１つ以上に動かし、参照箇所６１０Ａ〜６１０Ｉの１つ以上のそれぞれの参照箇所において検証画像を取り込むように、ロボット５５０のロボットアームを制御することができる。
【００６０】
図４Ｂに戻ると、方法４００はステップ４５５を更に含むことができ、そのステップでは、制御回路１１１が、検証のために使用される検証画像座標を特定し、検証画像座標は、検証画像内に検証記号が現れる座標である。検証記号（例えば、５３０）が複数の参照箇所（例えば、６１０Ａ〜６１０Ｉ）に動かされる場合には、カメラ（例えば、５７０）が複数の参照箇所にそれぞれ対応する複数の検証画像を取り込むことができ、制御回路１１１が、複数の検証画像にそれぞれ対応し、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定することができる。複数の検証画像は全て、カメラ（例えば、５７０）によって単一の休止期間において取り込まれる場合があるか（例えば、単一の休止期間が、ロボットアームが検証記号（例えば、５３０）を全ての参照箇所６１０Ａ〜６１０Ｉに動かすことができるほど十分に長い場合）、又は複数の異なる休止期間において取り込まれる場合がある（例えば、各休止期間が、ロボットアームが検証記号５３０を全ての参照箇所６１０Ａ〜６１０Ｉに動かすほど十分に長くない場合）。
【００６１】
一実施形態において、検証画像座標は、参照画像座標と同じようにして特定することができる。例えば、検証画像座標は検証記号（例えば、５３０）の中心座標とすることができ、検証画像（例えば、７６０）内の検証記号（例えば、５３０）の第１の形状の中心座標と、検証記号の第２の形状の中心座標との平均として特定することができる。例えば、図７Ｂは、参照箇所のうちの参照箇所Ｎにおいて取り込まれた検証画像７６０を示す。検証画像７６０は検証部分７８０を示し、その部分は、検証記号５３０を示す検証画像７６０内の画像部分である。ロボット制御システム１１０は、検証部分７８０から、図５Ｃの検証記号５３０の第１の形状５８５と同じ、又は実質的に同じである第１の形状７８５を識別することができる。ロボット制御システム１１０は更に、検証部分７８０から、検証記号５３０の第２の形状５８７と同じ、又は実質的に同じである第２の形状７８７を識別することができる。さらに、ロボット制御システム１１０は、検証画像７６０の検証部分７８０内に示される第１の形状７８５の中心座標
【数１１】
2020163556.tif 000013
を特定し、検証画像７６０の検証部分７８０内に示される第２の形状７８７の中心座標
【数１２】
2020163556.tif 000014
を特定するように構成することができる。ロボット制御システム１１０は更に、以下のように、検証画像座標７６０に関する検証画像座標
【数１３】
2020163556.tif 000015
を、検証画像７６０内の第１の形状７８５の中心座標と第２の形状７８７の中心座標との平均として特定することができる。
【数１４】
2020163556.tif 000016
【００６２】
図４Ｂに戻ると、方法４００はステップ４５７を更に含むことができ、そのステップでは、制御回路１１１が、ステップ４０３の参照画像座標とステップ４５５の検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定し、参照画像座標及び検証画像座標はいずれも参照箇所Ｎに関連付けられる。一例において、参照画像座標と検証画像座標との間の偏差は、参照画像座標と検証画像座標との間の距離とすることができる。例えば、参照箇所Ｎにおける参照画像座標が
【数１５】
2020163556.tif 000017
と表され、参照箇所Ｎにおける検証画像座標が
【数１６】
2020163556.tif 000018
と表されると仮定すると、参照箇所Ｎにおける偏差（例えば、距離）は
【数１７】
2020163556.tif 000019
と表すことができる。
【００６３】
上記で論じられたように、１つ以上の参照箇所が複数の参照箇所である態様では、制御回路１１１は、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように構成することができ、上記で論じられた検証画像座標は複数の検証画像座標のうちの１つである。そのような態様において、偏差パラメーター値は、複数の参照箇所に関する複数の参照画像座標と複数の検証画像座標との間の複数のそれぞれの偏差量に基づき、複数のそれぞれの偏差量のうちの各偏差量は、（ａ）複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量である。複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標とすることができ、上記で論じられた検証画像は複数の検証画像のうちの１つである。制御回路１１１は、１つの休止期間内に複数の検証画像の全てを取り込むように、カメラを制御するように構成することができ、及び／又は異なる休止期間内に複数の検証画像を取り込むように、カメラを制御するように構成することができる。
【００６４】
例えば、図６Ａ及び図６Ｂに示されるように、複数の参照箇所が存在するとき、ロボット制御システム１１０は、複数の参照箇所に対応する複数のそれぞれの参照画像座標を特定することができ、複数の参照箇所に対応する複数のそれぞれの検証画像座標を特定することができ、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量を特定することができる。偏差パラメーター値は、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づくことができる。例えば、偏差パラメーターは、以下のように、それぞれの偏差量の平均とすることができる。
【数１８】
2020163556.tif 000020
【００６５】
上記の式において、Ｎは第Ｎの参照箇所を指すことができ、一方、Ｍは参照箇所の全数を指すことができる。
【００６６】
図４Ｂに戻ると、方法４００はステップ４５９を更に含むことができ、そのステップでは、制御回路１１１が、偏差パラメーター値が規定された閾値（規定された偏差閾値と呼ばれる場合もある）を超えるか否かを判断する。さらに、ステップ４６１において、制御回路１１１が、偏差パラメーター値が規定された閾値を超えると判断するのに応答して、第２のカメラキャリブレーションを実行し、カメラに関する更新されたカメラキャリブレーション情報を特定することができる。例えば、規定された閾値を超える偏差パラメーター値は、カメラのカメラキャリブレーション情報が古くなり、及び／又はロボット操作において望ましくない誤差量を生じさせる可能性が高いことを示す場合がある。それゆえ、偏差パラメーター値が規定された閾値を超える場合には、カメラに関する第２のカメラキャリブレーションを実行して、カメラ（例えば、５７０）に関するカメラキャリブレーション情報を更新することができる。第２のカメラキャリブレーションは第１のカメラキャリブレーションと同じ技法を使用することができるが、カメラによって第１のカメラキャリブレーションより後に取り込まれた画像に基づくことができる。一例において、ステップ４５９が、偏差パラメーター値が規定された閾値を超えることを示す場合には、ロボット操作を中止又は中断することができ、その後、第２のカメラキャリブレーションを実行し始めることができ、第２のカメラキャリブレーションは、第２のカメラキャリブレーションのための画像を取り込むことによって開始することができる。第２のカメラキャリブレーションが完了し、カメラに関するカメラキャリブレーション情報が更新された後に、ロボット制御システム１１０は、更新されたカメラキャリブレーション情報を用いて、ロボット操作を再開することができる。
【００６７】
一実施形態において、制御回路１１１は、偏差パラメーター値が規定された閾値を超えないと判断するのに応答して、更なるカメラキャリブレーションを実行することなく（例えば、通信インターフェースを介してロボットに第４の動作コマンドを出力することによって）、休止期間後にロボット操作を継続するように、ロボットを制御するように構成することができる。そのような条件は、ステップ４０１からのカメラキャリブレーション情報が依然として十分に正確であること、及び望ましくない誤差量を受けることなく、ロボット操作が継続できることを示すことができる。
【００６８】
一実施形態において、制御回路１１１は、ロボットが位置する環境の温度を特定し、測定された温度に基づいて、規定された偏差閾値（偏差閾値を再規定するとも呼ばれる）又はカメラに関するカメラキャリブレーション情報の少なくとも一方を調整するように構成することができる。例えば、制御回路１１１は、温度を測定することによって、又は別のデバイス若しくは構成要素から温度データを受信することによって、環境の温度を特定することができる。そのような実施形態において、制御回路１１１は、測定された温度が規定範囲外にあるとき、規定された閾値を第１の値を有するように設定し、測定された温度が規定範囲内にあるとき、閾値を第１の値より低い第２の値を有するように設定することによって、測定された温度に基づいて、規定された閾値を調整するように構成することができる。例えば、過度に高い温度又は過度に低い温度は、カメラに変化を引き起こす場合がある。より具体的には、温度変化は、カメラの固有パラメーターに影響を及ぼす場合がある。例えば、カメラ内の構成要素は、温度が上昇するときに膨張し、温度が降下するときに収縮する場合があり、それがカメラの固有パラメーターに影響を及ぼす場合がある。それゆえ、温度又は温度変化の量に基づいて、規定された偏差閾値を調整することが有利な場合がある。例えば、温度が正常動作温度の範囲（例えば、周囲の室温に基づいて規定された範囲）内にあるとき、その温度はカメラに悪影響を及ぼさないので、規定された偏差閾値が下げられる場合がある。一方、温度が、正常動作温度の範囲外にあるとき、低温又は高温がカメラに悪影響を及ぼすので、偏差閾値が上げられる場合がある。代替の例において、偏差閾値は、更なるカメラキャリブレーションをより頻繁にトリガーするために、温度が正常動作温度外にあるとき、より低くなるように規定することができる。この例において、偏差閾値は、温度が正常動作温度内にあるときに、更なるカメラキャリブレーションをトリガーする頻度を下げるために、偏差閾値は、より高くなるように規定することができる。
【００６９】
図８は、カメラキャリブレーション及びカメラキャリブレーションの検証が実行される例示的なタイムライン８００を示す。ロボット操作が開始する前に、図１Ａ又は図１Ｂのロボット制御システム１１０は、キャリブレーション期間８１１中に、第１のカメラキャリブレーションを実行し、カメラ（例えば、図５Ａ又は図５Ｂのカメラ５７０）に関するカメラキャリブレーション情報を特定する。第１のカメラキャリブレーションが完了した後に、ロボット制御システム１１０は、参照取得期間８１３中に、種々の参照箇所において検証記号（例えば、検証記号５３０）の参照画像を取り込み、それぞれの参照画像（例えば、図７Ａの参照画像７１０）内に検証記号が現れる参照画像座標を特定する。参照画像座標を特定すると、参照取得期間８１３後に、ロボット操作を開始することができる。
【００７０】
ロボット操作が開始した後に、作業期間８１５中に、ロボット制御システム１１０は１つの以上のロボット作業を実行するようにロボット（例えば、図５Ａ又は図５Ｂのロボット５５０）を制御し、それゆえ、一実施形態では、検証画像（例えば、図７Ｂの検証画像７６０）を収集できない場合がある。ロボット制御システム１１０は、作業期間８１５後にロボットがロボット作業を実行していない休止期間８１７を検出する。それゆえ、休止期間８１７中に、ロボット制御システム１１０は、参照箇所のうちの第１の組の１つ以上の参照箇所（例えば、６１０Ａ及び６１０Ｂ）においてそれぞれ、検証記号の１つ以上の検証画像を取り込む。休止期間８１７が終了した後、作業期間８１９中に、ロボット制御システム１１０は、１つ以上のロボット作業を実行するようにロボットを制御するのを再開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム１１０は、作業期間８１９後に、ロボットがロボット作業を実行していない休止期間８２１を検出する。休止期間８２１中に、ロボット制御システム１１０は、参照箇所のうちの第２の組の１つ以上の参照箇所（例えば、６１０Ｃ〜６１０Ｅ）においてそれぞれ、検証記号の１つ以上の検証画像を取り込む。休止期間８２１後、ロボット作業期間８２３中に、ロボット制御システム１１０は、１つ以上のロボット作業を実行するようにロボットを制御するのを再開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム１１０は、作業期間８２３後にロボットがロボット作業を実行していない休止期間８２５を検出する。休止期間８２５中に、ロボット制御システム１１０は、参照箇所のうちの第３の組の１つ以上の位置（例えば、６１０Ｆ〜６１０Ｉ）においてそれぞれ、検証記号の１つ以上の検証画像を取り込む。
【００７１】
休止期間８１７、８２１及び８２５中に取り込まれる検証画像（例えば、７６０）は、参照箇所のうちの異なるそれぞれの位置において取り込むことができる。例えば、第１の組、第２の組及び第３の組の１つ以上の位置は、互いに異なることができ、重ならないようにすることができる。さらに、休止期間８２５中に、ロボット制御システム１１０は、検証画像取込が完了したと判断することができ、それは、カメラキャリブレーションの検証のために十分な数の検証画像が取り込まれたことを示すことができる。一実施形態において、ロボット制御システム１１０は、全ての参照箇所（例えば、６１０Ａ〜６１０Ｉ）において検証画像が取り込まれた場合に、検証画像取込が完了したと判断することができる。一実施形態において、ロボット制御システム１１０は、検証画像の数が規定された目標総数に達した場合に、検証画像取込が完了したと判断することができる。
【００７２】
検証画像取込が完了したと判断すると、ロボット制御システム１１０は、それぞれの検証画像内に検証記号が現れる検証画像座標を特定する。その後、ロボット制御システム１１０は、参照画像座標からの検証画像座標のそれぞれの偏差量に基づいて、偏差パラメーター値を特定する。偏差パラメーターが規定された閾値を超える場合には、ロボット制御システム１１０は、別のカメラキャリブレーションを実行する。しかしながら、この例では、偏差パラメーターは規定された閾値を超えず、それゆえ、ロボット制御システム１１０は、更なるカメラキャリブレーションを実行することなく、休止期間８２５後、作業期間８２７中にロボット作業を実行し続ける。
【００７３】
図９は、図８のタイムラインに関連する検証プロセスを示す例示的なフロー図９００を示す。ステップ９０１において、図１Ａ、図１Ｂ又は図１Ｃのロボット制御システム１１０が、カメラ（例えば、図５Ａ又は図５Ｂのカメラ５７０）の第１のカメラキャリブレーションを実行し、カメラのカメラキャリブレーション情報を特定する。ステップ９０３において、ロボット制御システム１１０が、検証記号（例えば、図５Ａ又は図５Ｂの検証記号５３０）を参照箇所に動かすように、ロボット（例えば、図５Ａ又は図５Ｂのロボット５５０）を制御し、カメラを介して、それぞれの参照箇所において検証記号の参照画像（例えば、図７Ａの参照画像７１０）のそれぞれの事例を取り込む。ステップ９０５において、ロボット制御システム１１０が、第１のカメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて、ロボットのロボット操作を開始する。
【００７４】
ステップ９０７において、ロボット制御システム１１０が、ロボット操作中に休止期間を検出する。ステップ９０９において、ロボット制御システム１１０が、休止期間中に検証記号（例えば、図５Ａ又は図５Ｂの検証記号５３０）を参照箇所のうちの１つ以上の参照箇所に動かすように、ロボット（例えば、図５Ａ又は図５Ｂのロボット５５０）を制御し、カメラを介して、参照箇所のうちの１つ以上の参照箇所においてそれぞれ１つ以上の検証画像（例えば、図７Ｂの検証画像７６０）を取り込む。場合によっては、ロボット制御システム１１０は、検証記号を、休止期間の持続時間が許すだけ多くの参照箇所に動かすようにロボットを制御することができる。ステップ９１１において、ロボット制御システム１１０が、取り込まれた検証画像の全数が規定された目標総数に達したか否かを判断する。取り込まれた検証画像の全数が目標総数に達していなかった場合には、ロボット制御システム１１０は、より多くの検証画像を取り込むために、ステップ９０７に戻ることによって、ロボット操作中に別の後続の休止期間を検出しようと試みる。
【００７５】
取り込まれた検証画像の全数が目標総数に達していた場合には、ステップ９１３において、ロボット制御システム１１０は、参照画像（例えば、７１０）及び検証画像（例えば、７６０）に基づいて、カメラキャリブレーションの検証を実行する。カメラキャリブレーションの検証は、偏差パラメーターを生成する。ステップ９１５において、ロボット制御システム１１０が、偏差パラメーターが規定された閾値を超えるか否かを判断する。偏差パラメーターが閾値を超えていない場合には、ロボット制御システム１１０は、ステップ９１９において、取り込まれた検証画像の全数を０にリセットすることができ、休止期間後にロボット操作を継続することができ、その一方で、ステップ９０７に戻ることによって、新たな１組の検証画像を取り込むために別の休止期間を検出しようと試みる。
【００７６】
偏差パラメーターが閾値を超える場合には、ロボット制御システム１１０は、ロボット操作を中止し、ステップ９１７において、第２のカメラキャリブレーションを実行することができる。９１７における第２のカメラキャリブレーション後に、ロボット制御システム１１０は、９２１において、取り込まれた検証画像の全数を０にリセットすることができる。ステップ９２１後に、そのフロー図はステップ９０３に戻ることができ、ロボット制御システム１１０が、検証記号（例えば、５３０）を参照箇所に動かすように、ロボット（例えば、５５０）を制御し、カメラ（例えば、５７０）を介して、それぞれの参照箇所において検証記号の新たな１組の参照画像（例えば、７１０）を取り込み、それにより、後の検証のために、新たな１組の参照画像を使用できるようになる。
【００７７】
種々の実施形態の更なる検討
実施形態１は、ベースと、その上に配置される検証記号を有するロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースを備えるロボット制御システムに関連する。ロボット制御システムは、第１のカメラキャリブレーションを実行し、カメラに関連付けられるカメラキャリブレーション情報を特定するように構成される制御回路を更に備える。制御回路は、ａ）通信インターフェースを介して、ロボットに第１の動作コマンドを出力することによって、第１のカメラキャリブレーション中又は後に、検証記号をカメラ視野内の位置に動かすようにロボットアームを制御することであって、その位置は第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、ロボットアームを制御することと、ｂ）通信インターフェースを介して、カメラから検証記号の画像を受信することであって、カメラは参照箇所において検証記号の画像を取り込むように構成され、画像は検証のための参照画像である、検証記号の画像を受信することと、ｃ）検証のための参照画像座標を特定することであって、参照画像座標は参照画像内に検証記号が現れる座標である、参照画像座標を特定することと、ｄ）通信インターフェースを介して、ロボットにカメラキャリブレーション情報に基づく第２の動作コマンドを出力することによって、カメラキャリブレーション情報に基づいて、ロボット操作を実行するようにロボットアームの動作を制御することと、ｅ）ロボット操作中に休止期間を検出することと、ｆ）通信インターフェースを介して、ロボットに第３の動作コマンドを出力することによって、休止期間中に、検証記号を少なくとも参照箇所に動かすようにロボットアームを制御することと、ｇ）休止期間中に、通信インターフェースを介して、カメラから検証記号の更なる画像を受信することであって、カメラは少なくともその参照箇所において検証記号の更なる画像を取り込むように構成され、更なる画像は検証のための検証画像である、検証記号の更なる画像を受信することと、ｈ）検証のために使用される検証画像座標を特定することであって、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座標を特定することと、ｉ）参照画像座標と検証画像座標との間の偏差量に基づいて偏差パラメーター値を特定することであって、参照画像座標及び検証画像座標はいずれもその参照箇所に関連付けられ、偏差パラメーター値は、第１のカメラキャリブレーション以降のカメラの変化、又は第１のカメラキャリブレーション以降のカメラとロボットとの間の関係の変化を示す、偏差パラメーター値を特定することと、ｊ）偏差パラメーター値が規定された閾値を超えるか否かを判断することと、ｋ）偏差パラメーター値が規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することとを行うように更に構成される。
【００７８】
実施形態２は、実施形態１のロボット制御システムを含み、制御回路は、偏差パラメーター値が規定された閾値を超えないと判断することに応答して、通信インターフェースを介して、ロボットに第４の動作コマンドを出力することによって、更なるカメラキャリブレーションを実行することなく、休止期間後にロボット操作を継続するように、ロボットを制御するように構成される。
【００７９】
実施形態３は実施形態１又は２のロボット制御システムを含み、１つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所であり、前述の参照画像座標は複数の参照画像座標のうちの１つである。この実施形態では、制御回路は、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように更に構成され、検証画像座標は複数の検証画像座標のうちの１つであり、偏差パラメーター値は、複数の参照箇所に関する複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づき、それぞれの偏差量のうちの各偏差量は、（ａ）複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量である。
【００８０】
実施形態４は実施形態３のロボット制御システムを含み、複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は複数の検証画像のうちの１つであり、制御回路は、休止期間内に複数の検証画像の全てを取り込むように、カメラを制御するように構成される。
【００８１】
実施形態５は実施形態３のロボット制御システムを含み、複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は複数の検証画像のうちの１つであり、制御回路は、異なる休止期間内に複数の検証画像を取り込むように、カメラを制御するように構成され、休止期間は異なる休止期間のうちの１つである。
【００８２】
実施形態６は実施形態１〜５のいずれか１つのロボット制御システムを含み、検証記号は第１の色を有する第１の領域と、第２の色を有する第２の領域とを含み、第１の領域の面積と第２の領域の面積との比が規定され、規定された比としてロボット制御システムの記憶デバイス上に記憶される。
【００８３】
実施形態７は実施形態６のロボット制御システムを含み、制御回路が、規定された比に基づいて、参照画像又は検証画像内の検証記号を識別するように構成される。
【００８４】
実施形態８は実施形態７のロボット制御システムを含み、ロボットアームがその上に配置されるキャリブレーションパターンを有し、参照画像は検証記号及びキャリブレーションパターンを含み、制御回路は、参照画像の部分が第１の色を有する第１の画像領域を有するか、及び第２の色を有する第２の画像領域を有するかを判断し、第１の画像領域の面積と第２の画像領域の面積との比が規定された比に等しいか否かを判断することによって、参照画像の部分が検証記号であるか、又はキャリブレーションパターンであるかを判断するように構成される。
【００８５】
実施形態９は実施形態１〜８のいずれか１つのロボット制御システムを含み、検証記号は、互いに同心である第１の形状及び第２の形状を含み、第１の形状及び第２の形状のそれぞれの中心は実質的に同じ位置である。
【００８６】
実施形態１０は実施形態９のロボット制御システムを含み、制御回路は、ａ）参照画像内の第１の形状の中心の第１の座標を特定することと、ｂ）参照画像内の第２の形状の中心の第２の座標を特定することと、ｃ）参照画像内の第１の座標及び第２の座標の平均として参照画像座標を特定することとによって、参照画像座標を特定するように構成される。この実施形態では、制御回路は、ｄ）検証画像内の第１の形状の中心の第１の座標を特定することと、ｅ）検証画像内の第２の形状の中心の第２の座標を特定することと、ｆ）検証画像内の第１の座標及び第２の座標の平均として検証画像座標を特定することとによって、検証画像座標を特定するように構成される。
【００８７】
実施形態１１は実施形態１〜１０のいずれか１つのロボット制御システムを含み、制御回路は、円形リングを識別することによって、参照画像又は検証画像内の検証記号を識別するように構成され、検証記号は円形リングとして形成される。
【００８８】
実施形態１２は実施形態１〜１１のいずれか１つのロボット制御システムを含み、制御回路は、ロボットが位置する環境の温度を特定し、測定された温度に基づいて、規定された閾値又はカメラキャリブレーション情報のうちの少なくとも一方を調整するように更に構成される。
【００８９】
実施形態１３は実施形態１２のロボット制御システムを含み、制御回路は、温度が規定範囲外にあるとき、規定された閾値を第１の値を有するように設定し、温度が規定範囲内にあるとき、閾値を第１の値より低い第２の値を有するように設定することによって、温度に基づいて、規定された閾値を調整するように構成される。
【００９０】
実施形態１４は実施形態１〜１３のいずれか１つのロボット制御システムを含み、制御回路が、ロボットアームを介して検証記号を動かすように構成される１つ以上の参照箇所は、カメラに対して凹形である球の表面上に配置される複数の参照箇所を含む。
【００９１】
実施形態１５は実施形態１４のロボット制御システムを含み、制御回路は、複数の参照箇所の各参照箇所において検証記号が球の表面に対して接線方向に向くように動かすために、ロボットアームを制御するように更に構成される。
【００９２】
実施形態１６は実施形態１〜１５のいずれか１つのロボット制御システムを含み、制御回路は、検証記号が参照箇所に動かされるときに、カメラの真正面を向くように検証記号を動かすために、ロボットアームを制御するように構成される。
【００９３】
実施形態１７は実施形態１〜１６のいずれか１つのロボット制御システムを含み、制御回路は、ロボット操作中にロボットがロボット作業を実行していない期間を検出することによって、ロボット操作の休止期間を検出するように構成される。
【００９４】
実施形態１８は実施形態１７のロボット制御システムを含み、制御回路は、ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するように、ロボットアームを制御するように構成され、制御回路は、コンベヤベルト上に物体がないことを検出することによって、又はロボットと、コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することによって、休止期間を検出するように構成される。
【００９５】
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の単なる説明及び例として提示されていることを理解すべきである。形式及び細部における種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができることは当業者には明らかであろう。したがって、本発明の範囲（breadth and scope）は、上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考された各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書において論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部をなす。
【図１Ａ】
2020163556.tif 000021
【図１Ｂ】
2020163556.tif 000022
【図１Ｃ】
2020163556.tif 000023
【図１Ｄ】
2020163556.tif 000024
【図２】
2020163556.tif 000025
【図３】
2020163556.tif 000026
【図４Ａ】
2020163556.tif 000027
【図４Ｂ】
2020163556.tif 000028
【図５Ａ】
2020163556.tif 000029
【図５Ｂ】
2020163556.tif 000030
【図５Ｃ】
2020163556.tif 000031
【図６Ａ】
2020163556.tif 000032
【図６Ｂ】
2020163556.tif 000033
【図７Ａ】
2020163556.tif 000034
【図７Ｂ】
2020163556.tif 000035
【図８】
2020163556.tif 000036
【図９】
2020163556.tif 000037
【手続補正書】
【提出日】令和2年1月16日(2020.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボット制御システムであって、
ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースと、
制御回路と、
を備え、
該制御回路は、前記ロボット及び前記カメラと通信する際に、
第１のカメラキャリブレーションを実行し、前記カメラと関連付けられるカメラキャリブレーション情報を特定することと、
前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットアームを制御する第１の動作コマンドを出力することであって、該第１の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力され、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、第１の動作コマンドを出力することと、
前記通信インターフェースを介して、前記カメラから前記検証記号の画像を受信することであって、前記カメラは、前記参照箇所において前記検証記号の該画像を取り込むように構成され、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記検証記号に関する参照画像座標を特定することであって、該参照画像座標は前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記カメラキャリブレーション情報に基づいて、前記ロボットアームが、前記ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するロボット操作を実行するように前記ロボットアームの動作を制御する第２の動作コマンドを出力することであって、該第２の動作コマンドは、前記カメラキャリブレーション情報に基づき、かつ、前記通信インターフェースを介して前記ロボットに出力される、第２の動作コマンドを出力することと、
前記コンベヤベルト上に物体が存在しないことを検出するか、又は前記ロボットと、前記コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することによって、前記ロボット操作中に休止期間を検出することと、
前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように前記ロボットアームを制御する第３の動作コマンドを出力することであって、該第３の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力される、第３の動作コマンドを出力することと、
前記休止期間中に前記通信インターフェースを介して、前記カメラから前記検証記号の更なる画像を受信することであって、前記カメラは、少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記第１のカメラキャリブレーション以降の前記カメラの変化、又は前記第１のカメラキャリブレーション以降の前記カメラと前記ロボットとの間の関係の変化を示す、偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を行うように構成される、ロボット制御システム。
【請求項２】
前記制御回路は、前記偏差パラメーター値が前記規定された閾値を超えないと判断することに応答して、前記通信インターフェースを介して、前記ロボットに第４の動作コマンドを出力することによって、更なるカメラキャリブレーションを実行することなく、前記休止期間後に前記ロボット操作を継続するように、前記ロボットを制御するように構成される、請求項１に記載のロボット制御システム。
【請求項３】
前記１つ以上の参照箇所は、複数の参照画像座標にそれぞれ対応する複数の参照箇所であり、前記参照画像座標は該複数の参照画像座標のうちの１つであり、
前記制御回路は、前記複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように更に構成され、前記検証画像座標は該複数の検証画像座標のうちの１つであり、
前記偏差パラメーター値は、前記複数の参照箇所に関する前記複数の参照画像座標と前記複数の検証画像座標との間のそれぞれの偏差量に基づき、前記それぞれの偏差量のうちの各偏差量は、（ａ）前記複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量である、請求項１に記載のロボット制御システム。
【請求項４】
前記複数の検証画像座標は、複数の検証画像内に前記検証記号が現れるそれぞれの座標であり、前記検証画像は前記複数の検証画像のうちの１つであり、前記制御回路は、前記休止期間内に前記複数の検証画像の全てを取り込むように、前記カメラを制御するように構成される、請求項３に記載のロボット制御システム。
【請求項５】
ロボット制御システムであって、
ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースと、
制御回路と、
を備え、
該制御回路は、前記ロボット及び前記カメラと通信する際に、
第１のカメラキャリブレーションを実行し、前記カメラと関連付けられるカメラキャリブレーション情報を特定することと、
前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットアームを制御する第１の組の１つ以上の動作コマンドを出力することであって、該第１の組の１つ以上の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所である、第１の組の１つ以上の動作コマンドを出力することと、
前記通信インターフェースを介して、前記カメラから前記検証記号の複数の画像を受信することであって、前記検証記号の該複数の画像は、それぞれ、前記検証記号が前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の画像は前記検証のための複数の参照画像である、前記検証記号の複数の画像を受信することと、
前記検証記号に関する複数の参照画像座標を特定することであって、該複数の参照画像座標は、前記複数の参照箇所に対応し、かつ、前記複数の参照画像内に前記検証記号が現れるそれぞれの座標である、複数の参照画像座標を特定することと、
前記カメラキャリブレーション情報に基づいて、ロボット操作を実行するように前記ロボットアームの動作を制御する第２の組の１つ以上の動作コマンドを出力することであって、該第２の組の１つ以上の動作コマンドは、前記カメラキャリブレーション情報に基づき、かつ、前記通信インターフェースを介して前記ロボットに出力される、第２の組の１つ以上の動作コマンドを出力することと、
前記ロボット操作中に複数の異なる休止期間を検出することと、
前記複数の異なる休止期間中に前記検証記号を少なくとも前記複数の参照箇所に動かすように前記ロボットアームを制御する第３の組の１つ以上の動作コマンドを出力することであって、該第３の組の１つ以上の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力される、第３の組の１つ以上の動作コマンドを出力することと、
前記複数の異なる休止期間中に前記通信インターフェースを介して、前記カメラから前記検証記号の複数の更なる画像を受信することであって、該複数の更なる画像は、それぞれ、前記検証記号が少なくとも前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の更なる画像は、それぞれ、前記検証のための複数の検証画像である、前記検証記号の複数の更なる画像を受信することと、
前記検証のために使用される複数の検証画像座標を特定することであって、該複数の検証画像座標は、前記複数の検証画像内に前記検証記号が現れるそれぞれの座標である、複数の検証画像座標を特定することと、
前記複数の参照画像座標と前記複数の検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラメーター値を特定することであって、前記複数の参照画像座標及び前記複数の検証画像座標は前記複数の参照箇所に関連付けられ、該それぞれの偏差量の各偏差量は、（ａ）前記複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量であり、該偏差パラメーター値は、前記第１のカメラキャリブレーション以降の前記カメラの変化、又は前記第１のカメラキャリブレーション以降の前記カメラと前記ロボットとの間の関係の変化を示す、偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を行うように構成される、ロボット制御システム。
【請求項６】
前記検証記号は第１の色を有する第１の領域と第２の色を有する第２の領域とを含み、前記第１の領域の面積と前記第２の領域の面積との比は規定され、規定された比として前記ロボット制御システムの記憶デバイス上に記憶される、請求項１に記載のロボット制御システム。
【請求項７】
前記制御回路は、前記規定された比に基づいて、前記参照画像又は前記検証画像内の前記検証記号を識別するように構成される、請求項６に記載のロボット制御システム。
【請求項８】
前記ロボットアームは、その上に配置されるキャリブレーションパターンを有し、前記参照画像は前記検証記号及び該キャリブレーションパターンを含み、
前記制御回路は、前記参照画像の部分が、前記第１の色を有する第１の画像領域を有するか、及び前記第２の色を有する第２の画像領域を有するかを判断し、且つ前記第１の画像領域の面積と前記第２の画像領域の面積との比が前記規定された比に等しいか否かを判断することによって、前記参照画像の該部分が前記検証記号であるか、又は前記キャリブレーションパターンであるかを判断するように構成される、請求項７に記載のロボット制御システム。
【請求項９】
前記検証記号は、互いに同心である第１の形状及び第２の形状を含み、前記第１の形状及び前記第２の形状のそれぞれ中心は実質的に同じ位置にある、請求項１に記載のロボット制御システム。
【請求項１０】
前記制御回路は、
前記参照画像内の前記第１の形状の中心の第１の座標を特定することと、
前記参照画像内の前記第２の形状の中心の第２の座標を特定することと、
前記参照画像内の前記第１の座標及び前記第２の座標の平均として前記参照画像座標を特定することと、
によって前記参照画像座標を特定するように構成され、
前記制御回路は、
前記検証画像内の前記第１の形状の中心の第１の座標を特定することと、
前記検証画像内の前記第２の形状の中心の第２の座標を特定することと、
前記検証画像内の前記第１の座標及び前記第２の座標の平均として前記検証画像座標を特定することと、
によって、前記検証画像座標を特定するように構成される、請求項９に記載のロボット制御システム。
【請求項１１】
前記制御回路は、円形リングを識別することによって前記参照画像又は前記検証画像内の前記検証記号を識別するように構成され、前記検証記号は前記円形リングとして形成される、請求項１に記載のロボット制御システム。
【請求項１２】
前記制御回路は、
前記ロボットが位置する環境の温度を特定し、
測定された前記温度に基づいて、前記規定された閾値又は前記カメラキャリブレーション情報のうちの少なくとも一方を調整する、
ように更に構成される、請求項１に記載のロボット制御システム。
【請求項１３】
前記制御回路は、
前記温度が規定範囲外にあるときに、前記規定された閾値を第１の値を有するように設定することと、
前記温度が前記規定範囲内にあるときに、前記閾値を前記第１の値より低い第２の値を有するように設定することと、
によって、前記温度に基づいて、前記規定された閾値を調整するように構成される、請求項１２に記載のロボット制御システム。
【請求項１４】
ロボット制御システムであって、
ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信インターフェースと、
制御回路と、
を備え、
該制御回路は、前記ロボット及び前記カメラと通信する際に、
第１のカメラキャリブレーションを実行し、前記カメラと関連付けられるカメラキャリブレーション情報を特定することと、
前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットアームを制御する第１の組の１つ以上の動作コマンドを出力することであって、該第１の組の１つ以上の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所であり、該複数の参照箇所は、前記カメラに対して凹形である仮想球の表面上に配置される、第１の組の１つ以上の動作コマンドを出力することと、
前記通信インターフェースを介して、前記カメラから前記検証記号の画像を受信することであって、該画像は、前記検証記号が前記複数の参照箇所うちの参照箇所にある間に前記カメラによって取り込まれ、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記検証記号に関する参照画像座標を特定することであって、該参照画像座標は、前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記カメラキャリブレーション情報に基づいて、ロボット操作を実行するように前記ロボットアームの動作を制御する第２の組の１つ以上の動作コマンドを出力することであって、該第２の組の１つ以上の動作コマンドは、前記カメラキャリブレーション情報に基づき、かつ、前記通信インターフェースを介して前記ロボットに出力される、第２の組の１つ以上の動作コマンドを出力することと、
前記ロボット操作中に休止期間を検出することと、
前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように前記ロボットアームを制御する第３の組の１つ以上の動作コマンドを出力することであって、該第３の組の１つ以上の動作コマンドは、前記通信インターフェースを介して前記ロボットに出力される、第３の組の１つ以上の動作コマンドを出力することと、
前記休止期間中に前記通信インターフェースを介して、前記カメラから前記検証記号の更なる画像を受信することであって、該更なる画像は、前記検証記号が少なくとも前記参照箇所にあるときに前記カメラによって取り込まれ、該更なる画像は、前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記第１のカメラキャリブレーション以降の前記カメラの変化、又は前記第１のカメラキャリブレーション以降の前記カメラと前記ロボットとの間の関係の変化を示す、偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を行うように構成される、ロボット制御システム。
【請求項１５】
前記制御回路は、前記複数の参照箇所の各参照箇所において前記検証記号が前記球の前記表面に対して接線方向に向くように動かすために、前記ロボットアームを制御するように更に構成される、請求項１４に記載のロボット制御システム。
【請求項１６】
前記制御回路は、前記検証記号が前記参照箇所に動かされるときに、前記カメラの真正面を向くように前記検証記号を動かすために、前記ロボットアームを制御するように構成される、請求項１に記載のロボット制御システム。
【請求項１７】
ロボット制御のためにカメラキャリブレーション検証を実行する方法であって、該方法は、
ロボット制御システムによって、第１のカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定することであって、該ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、第１のカメラキャリブレーションを実行することと、
前記ロボット制御システムによって、前記通信インターフェースに第１の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットに該第１の動作コマンドを通信するように構成され、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、第１の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の画像を受信することであって、前記通信インターフェースは、前記カメラから該画像を受信するように構成され、前記カメラは前記参照箇所において前記検証記号の該画像を取り込むように構成され、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記ロボット制御システムによって、前記検証記号に関する参照画像座標を特定することであって、該参照画像座標は前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記ロボット制御システムによって、前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームを動かして、前記ロボットアームが、前記ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するロボット操作を実行するように、前記ロボットに該第２の動作コマンドを通信するように構成される、第２の動作コマンドを出力することと、
前記ロボット制御システムによって、前記コンベヤベルト上に物体が存在しないことを検出するか、又は前記ロボットと、前記コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することにより、前記ロボット操作中に休止期間を検出することと、
前記ロボット制御システムによって、前記通信インターフェースに第３の動作コマンドを出力することであって、前記通信インターフェースは、前記休止期間中に前記ロボットアームが前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の動作コマンドを通信するように構成される、第３の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の更なる画像を受信することであって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、前記カメラは前記休止期間中に少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記ロボット制御システムによって、前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記ロボット制御システムによって、前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、偏差パラメーター値を特定することと、
前記ロボット制御システムによって、前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記ロボット制御システムによって、前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を含む、方法。
【請求項１８】
非一時的コンピューター可読媒体であって、ロボット制御システムの制御回路によって実行されるときに、前記制御回路に、
第１のカメラキャリブレーションを実行させ、カメラキャリブレーション情報を特定させる命令であって、前記ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、命令と、
前記通信インターフェースに第１の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の位置に動かすように、前記ロボットに前記第１の動作コマンドを通信するように構成され、該位置は前記第１のカメラキャリブレーションの検証のための１つ以上の参照箇所のうちの参照箇所である、命令と、
前記通信インターフェースから、前記検証記号の画像を受信させる命令であって、前記通信インターフェースは前記カメラから該画像を受信するように構成され、前記カメラは前記検証記号の該画像を前記参照箇所において取り込むように構成され、該画像は前記検証のための参照画像である、命令と、
前記検証記号に関する参照画像座標を特定させる命令であって、該参照画像座標は、前記参照画像内に前記検証記号が現れる座標である、命令と、
前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームを動かして、前記ロボットアームが、前記ロボットアームによって到達可能であるコンベヤベルト上の物体と相互作用するロボット操作を実行するように、前記ロボットに該第２の動作コマンドを通信するように構成される、命令と、
前記コンベヤベルト上に物体が存在しないことを検出するか、又は前記ロボットと、前記コンベヤベルト上の最も近い物体との間の距離が規定された距離閾値を超えることを検出することにより、前記ロボット操作中に休止期間を検出させる命令と、
前記通信インターフェースに第３の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の動作コマンドを通信するように構成される、命令と、
前記通信インターフェースから、前記検証記号の更なる画像を受信させる命令であって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、前記カメラは前記休止期間中に少なくとも前記参照箇所において前記検証記号の該更なる画像を取り込むように構成され、該更なる画像は前記検証のための検証画像である、命令と、
前記検証のために使用される検証画像座標を特定させる命令であって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、命令と、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて偏差パラメーター値を特定させる命令であって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、命令と、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断させる命令と、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行させ、更新されたカメラキャリブレーション情報を特定させる命令と、
を記憶している、非一時的コンピューター可読媒体。
【請求項１９】
ロボット制御のためにカメラキャリブレーション検証を実行する方法であって、該方法は、
ロボット制御システムによって、第１のカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定することであって、該ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、第１のカメラキャリブレーションを実行することと、
前記ロボット制御システムによって、第１の組の１つ以上の動作コマンドを前記通信インターフェースに出力することであって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットに該第１の組の１つ以上の動作コマンドを通信するように構成され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所である、第１の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の複数の画像を受信することであって、前記通信インターフェースは、前記カメラから該複数の画像を受信するように構成され、前記検証記号の該複数の画像は、それぞれ、前記検証記号が前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の画像は前記検証のための複数の参照画像である、前記検証記号の複数の画像を受信することと、
前記ロボット制御システムによって、前記検証記号に関する複数の参照画像座標を特定することであって、該複数の参照画像座標は、前記複数の参照箇所に対応し、かつ、前記複数の参照画像内に前記検証記号が現れるそれぞれの座標である、参照画像座標を特定することと、
前記ロボット制御システムによって、前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の組の１つ以上の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームを動かして、ロボット操作を実行するように、前記ロボットに該第２の組の１つ以上の動作コマンドを通信するように構成される、第２の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記ロボット操作中に複数の異なる休止期間を検出することと、
前記ロボット制御システムによって、前記通信インターフェースに第３の組の１つ以上の動作コマンドを出力することであって、前記通信インターフェースは、前記複数の異なる休止期間中に前記ロボットアームが前記検証記号を少なくとも前記複数の参照箇所に動かすように、前記ロボットに該第３の組の１つ以上の動作コマンドを通信するように構成される、第３の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の複数の更なる画像を受信することであって、前記通信インターフェースは、前記カメラから該複数の更なる画像を受信するように構成され、該複数の更なる画像は、前記複数の異なる休止期間中に、それぞれ、前記検証記号が少なくとも前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の更なる画像は、前記検証のための複数の検証画像である、前記検証記号の複数の更なる画像を受信することと、
前記ロボット制御システムによって、前記検証のために使用される複数の検証画像座標を特定することであって、該複数の検証画像座標は、前記複数の検証画像内に前記検証記号が現れるそれぞれの座標である、複数の検証画像座標を特定することと、
前記ロボット制御システムによって、前記複数の参照画像座標と前記複数の検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラメーター値を特定することであって、前記複数の参照画像座標及び前記複数の検証画像座標は前記複数の参照箇所に関連付けられ、該それぞれの偏差量の各偏差量は、（ａ）前記複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量であり、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、偏差パラメーター値を特定することと、
前記ロボット制御システムによって、前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記ロボット制御システムによって、前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を含む、方法。
【請求項２０】
非一時的コンピューター可読媒体であって、ロボット制御システムの制御回路によって実行されるときに、前記制御回路に、
第１のカメラキャリブレーションを実行させ、カメラキャリブレーション情報を特定させる命令であって、前記ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、命令と、
前記通信インターフェースに第１の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットに前記第１の組の１つ以上の動作コマンドを通信するように構成され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所である、命令と、
前記通信インターフェースから、前記検証記号の複数の画像を受信させる命令であって、前記通信インターフェースは前記カメラから該複数の画像を受信するように構成され、前記検証記号の該複数の画像は、それぞれ、前記検証記号が前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の画像は前記検証のための複数の参照画像である、命令と、
前記検証記号に関する複数の参照画像座標を特定させる命令であって、該複数の参照画像座標は、前記複数の参照箇所に対応し、かつ、前記複数の参照画像内に前記検証記号が現れるそれぞれの座標である、命令と、
前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームを動かして、ロボット操作を実行するように、前記ロボットに該第２の組の１つ以上の動作コマンドを通信するように構成される、命令と、
前記ロボット操作中に複数の異なる休止期間を検出させる命令と、
前記通信インターフェースに第３の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記複数の異なる休止期間中に前記ロボットアームが前記検証記号を少なくとも前記複数の参照箇所に動かすように、前記ロボットに該第３の組の１つ以上の動作コマンドを通信するように構成される、命令と、
前記通信インターフェースから、前記検証記号の複数の更なる画像を受信させる命令であって、前記通信インターフェースは、前記カメラから該複数の更なる画像を受信するように構成され、該複数の更なる画像は、前記複数の異なる休止期間中に、それぞれ、前記検証記号が少なくとも前記複数の参照箇所にあるときに前記カメラによって取り込まれ、該複数の更なる画像は、前記検証のための複数の検証画像である、命令と、
前記検証のために使用される複数の検証画像座標を特定させる命令であって、該複数の検証画像座標は、前記複数の検証画像内に前記検証記号が現れるそれぞれの座標である、命令と、
前記複数の参照画像座標と前記複数の検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラメーター値を特定させる命令であって、前記複数の参照画像座標及び前記複数の検証画像座標は前記複数の参照箇所に関連付けられ、該それぞれの偏差量の各偏差量は、（ａ）前記複数の参照箇所のそれぞれの参照箇所に対応する参照画像座標と、（ｂ）同じ参照箇所に対応する検証画像座標との間の偏差量であり、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、命令と、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断させる命令と、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行させ、更新されたカメラキャリブレーション情報を特定させる命令と、
を記憶している、非一時的コンピューター可読媒体。
【請求項２１】
ロボット制御のためにカメラキャリブレーション検証を実行する方法であって、該方法は、
ロボット制御システムによって、第１のカメラキャリブレーションを実行し、カメラキャリブレーション情報を特定することであって、該ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、第１のカメラキャリブレーションを実行することと、
前記ロボット制御システムによって、前記通信インターフェースに第１の組の１つ以上の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットに該第１の組の１つ以上の動作コマンドを通信するように構成され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所であり、該複数の参照箇所は、前記カメラに対して凹形である仮想球の表面上に配置される、第１の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の画像を受信することであって、前記通信インターフェースは、前記カメラから該画像を受信するように構成され、該画像は、前記検証記号が前記複数の参照箇所うちの参照箇所にある間に前記カメラによって取り込まれ、該画像は前記検証のための参照画像である、前記検証記号の画像を受信することと、
前記ロボット制御システムによって、前記検証記号に関する参照画像座標を特定することであって、該参照画像座標は前記参照画像内に前記検証記号が現れる座標である、参照画像座標を特定することと、
前記ロボット制御システムによって、前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の組の１つ以上の動作コマンドを出力することであって、前記通信インターフェースは、前記ロボットアームを動かして、ロボット操作を実行するように、前記ロボットに該第２の組の１つ以上の動作コマンドを通信するように構成される、第２の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記ロボット操作中に休止期間を検出することと、
前記ロボット制御システムによって、前記通信インターフェースに第３の組の１つ以上の動作コマンドを出力することであって、前記通信インターフェースは、前記休止期間中に前記ロボットアームが前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の組の１つ以上の動作コマンドを通信するように構成される、第３の組の１つ以上の動作コマンドを出力することと、
前記ロボット制御システムによって、前記通信インターフェースから、前記検証記号の更なる画像を受信することであって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、該更なる画像は、前記休止期間中に前記検証記号が少なくとも前記参照箇所にあるときに前記カメラによって取り込まれ、該更なる画像は、前記検証のための検証画像である、前記検証記号の更なる画像を受信することと、
前記ロボット制御システムによって、前記検証のために使用される検証画像座標を特定することであって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、検証画像座標を特定することと、
前記ロボット制御システムによって、前記参照画像座標と前記検証画像座標との間の偏差量に基づいて、偏差パラメーター値を特定することであって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、偏差パラメーター値を特定することと、
前記ロボット制御システムによって、前記偏差パラメーター値が規定された閾値を超えるか否かを判断することと、
前記ロボット制御システムによって、前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行し、更新されたカメラキャリブレーション情報を特定することと、
を含む、方法。
【請求項２２】
非一時的コンピューター可読媒体であって、ロボット制御システムの制御回路によって実行されるときに、前記制御回路に、
第１のカメラキャリブレーションを実行させ、カメラキャリブレーション情報を特定させる命令であって、前記ロボット制御システムは、ベースと、その上に配置される検証記号を備えるロボットアームとを有するロボットと通信し、カメラ視野を有し、該カメラキャリブレーション情報に関連付けられるカメラと通信するように構成される通信インターフェースを備える、命令と、
前記通信インターフェースに第１の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが、前記第１のカメラキャリブレーション中又は後に、前記検証記号を前記カメラ視野内の複数の位置に動かすように、前記ロボットに前記第１の組の１つ以上の動作コマンドを通信するように構成され、該複数の位置は前記第１のカメラキャリブレーションの検証のための複数の参照箇所であり、該複数の参照箇所は、前記カメラに対して凹形である仮想球の表面上に配置される、命令と、
前記通信インターフェースから、前記検証記号の画像を受信させる命令であって、前記通信インターフェースは前記カメラから該画像を受信するように構成され、該画像は、前記検証記号が前記複数の参照箇所うちの参照箇所にある間に前記カメラによって取り込まれ、該画像は前記検証のための参照画像である、命令と、
前記検証記号に関する参照画像座標を特定させる命令であって、該参照画像座標は、前記参照画像内に前記検証記号が現れる座標である、命令と、
前記通信インターフェースに、前記カメラキャリブレーション情報に基づく第２の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームを動かして、ロボット操作を実行するように、前記ロボットに該第２の組の１つ以上の動作コマンドを通信するように構成される、命令と、
前記ロボット操作中に休止期間を検出させる命令と、
前記通信インターフェースに第３の組の１つ以上の動作コマンドを出力させる命令であって、前記通信インターフェースは、前記ロボットアームが前記休止期間中に前記検証記号を少なくとも前記参照箇所に動かすように、前記ロボットに該第３の組の１つ以上の動作コマンドを通信するように構成される、命令と、
前記通信インターフェースから、前記検証記号の更なる画像を受信させる命令であって、前記通信インターフェースは、前記カメラから該更なる画像を受信するように構成され、該更なる画像は、前記休止期間中に前記検証記号が少なくとも前記参照箇所にあるときに前記カメラによって取り込まれ、該更なる画像は、前記検証のための検証画像である、命令と、
前記検証のために使用される検証画像座標を特定させる命令であって、該検証画像座標は、前記検証画像内に前記検証記号が現れる座標である、命令と、
前記参照画像座標と前記検証画像座標との間の偏差量に基づいて偏差パラメーター値を特定させる命令であって、前記参照画像座標及び前記検証画像座標はいずれも前記参照箇所に関連付けられ、該偏差パラメーター値は、前記通信インターフェースが通信するように構成される前記カメラの前記第１のカメラキャリブレーション以降の変化、又は前記通信インターフェースが通信するように構成される前記カメラと前記ロボットとの間の関係の前記第１のカメラキャリブレーション以降の変化を示す、命令と、
前記偏差パラメーター値が規定された閾値を超えるか否かを判断させる命令と、
前記偏差パラメーター値が前記規定された閾値を超えると判断することに応答して、第２のカメラキャリブレーションを実行させ、更新されたカメラキャリブレーション情報を特定させる命令と、
を記憶している、非一時的コンピューター可読媒体。
【外国語明細書】
2020163556.tif 000038
2020163556.tif 000039
2020163556.tif 000040
2020163556.tif 000041
2020163556.tif 000042
2020163556.tif 000043
2020163556.tif 000044
2020163556.tif 000045
2020163556.tif 000046
2020163556.tif 000047
2020163556.tif 000048
2020163556.tif 000049
2020163556.tif 000050
2020163556.tif 000051
2020163556.tif 000052
2020163556.tif 000053
2020163556.tif 000054
2020163556.tif 000055
2020163556.tif 000056
2020163556.tif 000057
2020163556.tif 000058
2020163556.tif 000059
2020163556.tif 000060
2020163556.tif 000061
2020163556.tif 000062
2020163556.tif 000063
2020163556.tif 000064
2020163556.tif 000065
2020163556.tif 000066
2020163556.tif 000067
2020163556.tif 000068
2020163556.tif 000069
2020163556.tif 000070
2020163556.tif 000071
2020163556.tif 000072
2020163556.tif 000073
2020163556.tif 000074
2020163556.tif 000075
2020163556.tif 000076
2020163556.tif 000077
2020163556.tif 000078
2020163556.tif 000079
2020163556.tif 000080
2020163556.tif 000081
2020163556.tif 000082
2020163556.tif 000083
2020163556.tif 000084
2020163556.tif 000085
2020163556.tif 000086
2020163556.tif 000087
2020163556.tif 000088
2020163556.tif 000089
2020163556.tif 000090
2020163556.tif 000091
2020163556.tif 000092
2020163556.tif 000093
2020163556.tif 000094
2020163556.tif 000095
2020163556.tif 000096
2020163556.tif 000097
2020163556.tif 000098
2020163556.tif 000099
2020163556.tif 000100
2020163556.tif 000101
2020163556.tif 000102
2020163556.tif 000103
2020163556.tif 000104