IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社MUJINの特許一覧

特許7561363ロボット制御のためのカメラキャリブレーションを検証及び更新する方法及び制御システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】ロボット制御のためのカメラキャリブレーションを検証及び更新する方法及び制御システム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240927BHJP
【FI】
B25J13/08 A
【請求項の数】 16
【外国語出願】
(21)【出願番号】P 2020060522
(22)【出願日】2020-03-30
(62)【分割の表示】P 2019126578の分割
【原出願日】2019-07-08
(65)【公開番号】P2020163565
(43)【公開日】2020-10-08
【審査請求日】2022-07-01
(31)【優先権主張番号】16/369,630
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】515182347
【氏名又は名称】株式会社Mujin
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100134371
【弁理士】
【氏名又は名称】中塚 隆志
(72)【発明者】
【氏名】ラッセル イスラム
(72)【発明者】
【氏名】シュタオ イエ
(72)【発明者】
【氏名】ローゼン,ダイナコフ
【審査官】尾形 元
(56)【参考文献】
【文献】国際公開第2018/163450(WO,A1)
【文献】再公表特許第2017/033247(JP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムであって、
検証記号が配置されたロボットと通信すると共に、カメラと通信するように構成される通信インターフェースと、
制御回路と、
を備え、
前記制御回路は、
前のキャリブレーション操作に基づいて決定された前のキャリブレーション情報を受信することと、
複数の参照画像を受信することであって、前記複数の参照画像は、前記前のキャリブレーション情報に基づいて複数の参照箇所に前記ロボットによって配置された検証記号を表すことと、
ロボット操作を実行するように前記ロボットの動作を制御するための動作コマンドを出力することであって、前記動作コマンドは、前記前のキャリブレーション操作に基づいて決定された前記前のキャリブレーション情報に基づいて生成されることと、
前記動作コマンドの出力後に、前記前のキャリブレーション情報の検証のための前記検証記号を表す検証画像を受信することであって、前記検証画像は、前記通信インターフェースを介して前記カメラから受信されることと、
前記複数の参照画像内の前記検証記号の位置情報を特定することと、
前記検証画像内の前記検証記号の位置情報を特定することであって、前記位置情報は、前記検証画像における前記検証記号の位置を示すことと、
前記複数の参照画像のそれぞれにおける前記検証記号の前記位置情報のそれぞれと、前記検証画像内の前記検証記号の前記位置情報との間に、1つ以上の偏差が存在するかどうかを特定することと、
前記1つ以上の偏差に基づく偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるかどうかに基づいて、前記前のキャリブレーション情報を更新するかどうかを判断することと、
前記前のキャリブレーション情報を更新するとの判断に応じて、後のキャリブレーションとして後のキャリブレーション操作を実行して、更新されたキャリブレーション情報を特定することと、
を行うように構成されている、コンピューティングシステム。
【請求項2】
前記検証記号が前記前のキャリブレーション情報の検証のために使用される複数の参照箇所のうちの1つの参照箇所にある場合、前記複数の参照画像の1つの参照画像は前記カメラを介して生成され、
前記制御回路は、前記検証記号を前記複数の参照箇所の少なくとも1つの箇所に動かすように前記ロボットを制御するための追加の動作コマンドを出力し、前記検証記号が前記少なくとも1つの箇所にある場合に前記カメラを介して前記検証画像が生成されるように構成されている、請求項に記載のコンピューティングシステム。
【請求項3】
前記制御回路は、前記ロボット操作中に休止期間を検出するように更に構成され、
前記検証記号を少なくとも前記参照箇所に動かすように前記ロボットを制御するための前記追加の動作コマンドは、前記休止期間中に出力される、請求項に記載のコンピューティングシステム。
【請求項4】
前記制御回路は、前記ロボット操作中に前記ロボットがロボット作業を実行していない期間を検出することで、前記ロボット操作の前記休止期間を検出するように構成されている、請求項に記載のコンピューティングシステム。
【請求項5】
前記制御回路が前記ロボットを介して前記検証記号を動かすように構成されている前記複数の参照箇所は、前記カメラに対して凹形である仮想球の表面に沿って配置されている複数の参照箇所を含む、請求項に記載のコンピューティングシステム。
【請求項6】
前記制御回路は、前記複数の参照箇所の各箇所において前記仮想球の前記表面に対して接線方向を向くように前記検証記号を動かすことを前記ロボットに行わせるように構成されている、請求項に記載のコンピューティングシステム。
【請求項7】
前記複数の参照画像の各参照画像内の前記検証記号の前記位置情報は、前記各参照画像内に現れる前記検証記号の参照座標であり、
前記検証画像内の前記検証記号の前記位置情報は、前記検証画像内に現れる前記検証記号の検証座標であり、
前記制御回路は、前記参照座標と前記検証座標との間の偏差に基づいて、前記前のキャリブレーション情報を更新するかどうかを判断するように構成されている、請求項2に記載のコンピューティングシステム。
【請求項8】
前記偏差パラメーター値は、前記のキャリブレーション操作以降の前記カメラの変化、又は前記のキャリブレーション操作以降の前記カメラと前記ロボットとの間の関係の変化を示す、請求項に記載のコンピューティングシステム。
【請求項9】
前記制御回路は、
前記ロボットが位置する環境の温度を特定することと、
特定された前記温度に基づいて、前記規定された閾値又は前記前のキャリブレーション情報のうちの少なくとも一方を調整することと、
を更に行うように構成されている、請求項に記載のコンピューティングシステム。
【請求項10】
前記検証記号は、第1の色を有する第1の領域と、第2の色を有する第2の領域とを含み、前記第1の領域の面積と前記第2の領域の面積との比は規定され、規定された比として記憶され、
前記制御回路は、前記規定された比に基づいて、前記複数の参照画像の特定の参照画像内の前記検証記号及び/又は前記検証画像内の前記検証記号を識別するように構成されている、請求項1に記載のコンピューティングシステム。
【請求項11】
前記動作コマンドが第1の動作コマンドであり、
前記制御回路は、前記前のキャリブレーション情報を更新しないとの判断に応じて、追加のキャリブレーション操作を行うことなく前記ロボット操作を継続するように前記ロボットを制御するための第2の動作コマンドを出力するように構成されている、請求項1に記載のコンピューティングシステム。
【請求項12】
ロボット制御のためのキャリブレーション検証を実行する方法であって、
検証記号が配置されたロボットと通信すると共にカメラと通信するように構成された通信インターフェースを含むコンピューティングシステムによって、前のキャリブレーション操作に基づいて決定された前のキャリブレーション情報を受信することと、
前記コンピューティングシステムによって、複数の参照画像を受信することであって、前記複数の参照画像は、前記前のキャリブレーション情報に基づいて複数の参照箇所に前記ロボットによって配置された検証記号を表すことと、
前記コンピューティングシステムによって動作コマンドを出力することであって、前記動作コマンドは、前記コンピューティングシステムによって、ロボット操作を実行するように前記ロボットを制御するために生成され、かつ前記前のキャリブレーション操作に基づいて決定された前記前のキャリブレーション情報に基づいていることと、
前記コンピューティングシステムによって、前記通信インターフェースから、前記動作コマンドの出力後に、前記前のキャリブレーション情報の検証のための前記検証記号を表す検証画像を受信することであって、前記検証画像は、前記通信インターフェースを介して前記カメラから受信されることと、
前記コンピューティングシステムによって、前記複数の参照画像内の前記検証記号の位置情報を特定することと、
前記コンピューティングシステムによって、前記検証画像内の前記検証記号の位置情報を特定することであって、前記位置情報は、前記検証画像における前記検証記号の位置を示すことと、
前記コンピューティングシステムによって、前記複数の参照画像内のそれぞれにおける前記検証記号の前記位置情報のそれぞれと、前記検証画像内の前記検証記号の前記位置情報との間に、1つ以上の偏差が存在するかどうかを特定することと、
前記コンピューティングシステムによって、前記1つ以上の偏差に基づく偏差パラメーター値を特定することと、
前記コンピューティングシステムによって、前記偏差パラメーター値が規定された閾値を超えるかどうかに基づいて、前記前のキャリブレーション情報を更新するかどうかを判断することと、
前記前のキャリブレーション情報を更新するとの判断に応じて、前記コンピューティングシステムによって、後のキャリブレーションとして後のキャリブレーション操作を実行して、更新されたキャリブレーション情報を特定することと、
を含む、方法。
【請求項13】
前記検証記号が前記前のキャリブレーション情報の検証のために使用される前記複数の参照箇所のうちの1つの参照箇所にある場合、前記複数の参照画像の1つの参照画像は前記カメラを介して生成され、
前記コンピューティングシステムによって、前記検証記号を前記複数の参照箇所の少なくとも1つの箇所に動かすように前記ロボットを制御するための追加の動作コマンドを出力し、前記検証記号が前記少なくとも1つの箇所にある場合に前記カメラを介して前記検証画像が生成されるようにすることを更に含む、請求項12に記載の方法。
【請求項14】
前記コンピューティングシステムによって、前記ロボット操作中に休止期間を検出することを更に含み、前記検証記号を少なくとも前記参照箇所に動かすように前記ロボットを制御するための前記追加の動作コマンドは、前記休止期間中に出力される、請求項13に記載の方法。
【請求項15】
前記ロボット操作の前記休止期間を検出することは、前記ロボット操作中に前記ロボットがロボット作業を実行していない期間を検出することを含む、請求項14に記載の方法。
【請求項16】
命令を記憶している非一時的コンピューター可読媒体であって、
前記命令は、コンピューティングシステムの制御回路によって実行可能であり、
前記コンピューティングシステムは、検証記号が配置されたロボットと通信すると共に、カメラと通信するように構成される通信インターフェースを含み、
前記命令は、前記制御回路によって実行されるときに、
前のキャリブレーション操作に基づいて決定された前のキャリブレーション情報を受信することと、
複数の参照画像を受信することであって、前記複数の参照画像は、前記前のキャリブレーション情報に基づいて複数の参照箇所に前記ロボットによって配置された検証記号を表すことと、
動作コマンドを出力することであって、前記動作コマンドは、ロボット操作を実行するように前記ロボットを制御するために生成され、かつ前記前のキャリブレーション操作に基づいて決定された前記前のキャリブレーション情報に基づいていることと、
前記動作コマンドの出力後に、前記前のキャリブレーション情報の検証のための前記検証記号を表す検証画像を前記通信インターフェースから受信することであって、前記検証画像は、前記通信インターフェースを介して前記カメラから受信されることと、
前記複数の参照画像内のそれぞれにおける前記検証記号の位置情報のそれぞれと、前記検証画像内の前記検証記号の前記位置情報との間に、1つ以上の偏差が存在するかどうかを特定することと、
前記1つ以上の偏差に基づく偏差パラメーター値を特定することと、
前記偏差パラメーター値が規定された閾値を超えるかどうかに基づいて、前記前のキャリブレーション情報を更新するかどうかを判断することと、
前記検証画像内の前記検証記号の前記位置情報を特定することであって、前記位置情報は、前記検証画像における前記検証記号の位置を示すことと、
前記前のキャリブレーション情報を更新するとの判断に応じて、後のキャリブレーションとして後のキャリブレーション操作を実行して、更新されたキャリブレーション情報を特定することと、
を前記制御回路に行わせる、非一時的コンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御のためのカメラキャリブレーションを検証及び更新する方法及
び制御システムに関する。
【背景技術】
【0002】
自動化がより一般的になるに従い、倉庫保管及び製造環境等、より多くの環境において
ロボットが使用されている。例えば、ロボットは、倉庫において物品をパレットに積むか
若しくはパレットから降ろすために、又は、工場においてコンベヤベルトから物体を持ち
上げるために使用される場合がある。ロボットの移動は、一定である場合があり、又は、
倉庫若しくは工場においてカメラによって撮影される画像等の入力に基づく場合がある。
後者の状況では、カメラの特性を求めるために、かつ、カメラとロボットが位置する環境
との関係を求めるために、キャリブレーション(較正)が行われる場合がある。キャリブ
レーションは、カメラキャリブレーションと呼ばれる場合があり、カメラによって取り込
まれた画像に基づいてロボットを制御するために使用されるカメラキャリブレーション情
報を生成することができる。いくつかの実施態様では、カメラキャリブレーションは、人
による手動操作を必要とする場合があり、人は、ロボットの移動を手動で制御するか、又
は、カメラを手動で制御して、ロボットの画像を取り込むことができる。
【発明の概要】
【0003】
本明細書における実施形態の一態様は、ロボット制御のためのカメラキャリブレーショ
ン検証を実行することに関する。カメラキャリブレーション検証は、通信インターフェー
ス及び制御回路を備えるロボット制御システムによって実行することができる。通信イン
ターフェースは、ベースと、その上に検証記号(verification symbol)が配置されるロ
ボットアームとを有するロボットと通信し、カメラ視野を有するカメラと通信するように
構成することができる。ロボット制御システムの制御回路は、a)第1のカメラキャリブ
レーションを実行し、カメラキャリブレーション情報を特定することと、b)通信インタ
ーフェースに第1の動作コマンドを出力することであって、通信インターフェースは、第
1のカメラキャリブレーション中又は後に、ロボットアームが検証記号をカメラ視野内の
位置に動かすように、ロボットに第1の動作コマンドを通信するように構成され、その位
置は第1のカメラキャリブレーションを検証するための1つ以上の参照箇所のうちの参照
箇所である、第1の動作コマンドを出力することと、c)通信インターフェースを介して
、カメラから検証記号の画像を受信することであって、カメラは参照箇所において検証記
号の画像を取り込むように構成され、画像は検証のための参照画像である、検証記号の画
像を受信することと、d)検証記号のための参照画像座標を特定することであって、参照
画像座標は参照画像内に参照記号が現れる座標である、参照画像座標を特定することと、
e)通信インターフェースに、カメラキャリブレーション情報に基づく第2の動作コマン
ドを出力することであって、通信インターフェースは、ロボットアームを動かし、ロボッ
ト動作を実行するように、ロボットに第2の動作コマンドを通信するように構成される、
第2の動作コマンドを出力することとによって、カメラキャリブレーション検証を実行す
るように構成することができる。
【0004】
一実施形態において、制御回路は、f)ロボット操作中に休止期間を検出することと、
g)通信インターフェースに第3の動作コマンドを出力することであって、通信インター
フェースは、休止期間中にロボットアームが検証記号を少なくとも参照箇所に動かすよう
に、ロボットに第3の動作コマンドを通信するように構成される、第3の動作コマンドを
出力することと、h)通信インターフェースを介して、カメラから検証記号の更なる画像
を受信することであって、カメラは休止期間中に少なくとも参照箇所において検証記号の
更なる画像を取り込むように構成され、更なる画像は検証のための検証画像である、検証
記号の更なる画像を受信することと、i)検証のために使用される検証画像座標を特定す
ることであって、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座
標を特定することと、j)参照画像座標と検証画像座標との間の偏差量に基づいて、偏差
パラメーター値を特定することであって、参照画像座標及び検証画像座標はいずれも参照
箇所に関連付けられ、偏差パラメーター値は、通信インターフェースが通信するように構
成されるカメラの第1のカメラキャリブレーション以降の変化、又は通信インターフェー
スが通信するように構成されるカメラとロボットとの間の関係の第1のカメラキャリブレ
ーション以降の変化を示す、偏差パラメーター値を特定することと、k)偏差パラメータ
ー値が規定された閾値を超えるか否かを判断することと、l)偏差パラメーター値が規定
された閾値を超えると判断することに応答して、第2のカメラキャリブレーションを実行
し、更新されたカメラキャリブレーション情報を特定することとによって、カメラキャリ
ブレーション検証を更に実行するように構成される。
【0005】
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図
面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み
込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとと
もに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮
尺ではない。
【図面の簡単な説明】
【0006】
図1A】本明細書の実施形態による、カメラキャリブレーションの検証が実行されるシステムのブロック図である。
図1B】本明細書の実施形態による、カメラキャリブレーションの検証が実行されるシステムのブロック図である。
図1C】本明細書の一実施形態による、カメラキャリブレーションの検証を実行するように構成されるロボット制御システムのブロック図である。
図1D】本明細書の一実施形態による、カメラキャリブレーションが実行されるカメラのブロック図である。
図2】本明細書の一実施形態による、カメラキャリブレーションから得られるカメラキャリブレーション情報に基づいて制御されるロボットを例示するシステムを示す図である。
図3】本明細書の一実施形態による、カメラキャリブレーションを実行するシステムを示す図である。
図4A】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する方法を例示するフロー図である。
図4B】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する方法を例示するフロー図である。
図5A】本明細書の一実施形態による、検証記号がロボット上に配置され、カメラキャリブレーションの検証を実行するために検証記号が使用されるシステムを示す図である。
図5B】本明細書の一実施形態による、検証記号がロボット上に配置され、カメラキャリブレーションの検証を実行するために検証記号が使用されるシステムを示す図である。
図5C】本明細書の一実施形態による、例示的な検証記号を示す図である。
図6A】本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の例を示す図である。
図6B】本明細書の一実施形態による、検証記号のそれぞれの画像が取り込まれる参照箇所の例を示す図である。
図7A】本明細書の一実施形態による、参照画像座標を特定する一例を示す図である。
図7B】本明細書一の実施形態による、検証画像座標を特定する一例を示す図である。
図8】本明細書の一実施形態による、カメラキャリブレーションの検証のための例示的なタイムラインを示す図である。
図9】本明細書の一実施形態による、カメラキャリブレーションの検証を実行する例示的な方法を示すフロー図である。
【発明を実施するための形態】
【0007】
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使
用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の
概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論に
よっても限定する意図はない。
【0008】
本明細書に記載する実施形態は、倉庫、製造工場において、又は他の何らかの環境にお
いて使用されるロボット等、ロボットを制御するために使用されるカメラのキャリブレー
ションを検証及び/又は更新することに関する。キャリブレーションは、カメラキャリブ
レーションと呼ばれる場合があり、例えば、ロボット制御システム(ロボットコントロー
ラーとも呼ぶ)が、カメラによって取り込まれる(例えば、撮影される)画像に基づいて
ロボットを制御するロボット制御システムの能力を促進するカメラキャリブレーション情
報を生成するために実施することができる。例えば、ロボットは、倉庫において包装品を
持ち上げるために使用される場合があり、そこでは、ロボットのロボットアーム又は他の
構成要素の配置は、カメラによって取り込まれる包装品の画像に基づくことができる。そ
の場合、カメラキャリブレーション情報は、例えば、ロボットのロボットアームに対する
包装品の位置及び向きを求めるために、包装品の画像とともに使用することができる。カ
メラキャリブレーションは、カメラの固有パラメーター(内部パラメーターと呼ばれる場
合もある)のそれぞれの推定値を特定することと、カメラとその外部環境との間の関係の
推定値を特定することとを含むことができる。カメラの固有パラメーターは、行列、ベク
トル又はスカラー値等の1つ以上のパラメーター値を有することができる。さらに、固有
パラメーターの例は、射影行列及びひずみパラメーターを含む。一例において、カメラキ
ャリブレーションは、外部環境内の或る定位置(fixed position)に対するカメラの位置
を特定することを含むことができ、それは、カメラと外部環境内の定位置との間の関係を
表す変換関数(transformation function)として表すことができる。場合によっては、
カメラキャリブレーションは、キャリブレーションパターンの助けを借りて実行すること
ができ、キャリブレーションパターンは、キャリブレーションパターン上の規定された位
置に配置されるパターン要素を有することができる。カメラはキャリブレーションパター
ンのパターン要素の画像(キャリブレーション画像とも呼ばれる)を取り込むことができ
、カメラキャリブレーションは、パターン要素の画像をパターン要素の規定された位置と
比較することに基づいて実行することができる。カメラキャリブレーションは、2019
年3月7日に出願の「METHOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATIO
N FOR ROBOT CONTROL」と題する米国特許出願第16/295,940号(整理番号MJ
0021US1)においてより詳細に論じられており、その内容全体が引用することによ
り本明細書の一部をなす。
【0009】
上記で言及されたように、本開示の一態様は、早期の時点において実行されたカメラキ
ャリブレーションが後の時点において依然として正確であることを検証することに関する
。早期の時点において実行されるカメラキャリブレーションは、カメラの固有パラメータ
ー、又はその時点におけるカメラとその外部環境との間の関係等の、その時点のカメラの
特性を反映するカメラキャリブレーション情報を生成することができる。場合によっては
、カメラの特性が経時的に変化する場合があるため、早期のカメラキャリブレーションは
経時的に精度を維持できなくなる場合がある。第1の例において、カメラの固有パラメー
ターが経時的に変化する場合がある。そのような変化は、例えば、温度変化によって引き
起こされる場合があり、温度変化が、カメラのハウジング及び/又はレンズの形状を変更
する。第2の例において、カメラとその外部環境との間の関係が経時的に変化する場合が
ある。例えば、カメラが、例えば、ロボットのベース、又は倉庫内の位置に対して位置又
は向きを変える場合がある。そのような変化は、例えば、カメラを搭載するために使用さ
れる任意の構成要素を膨張又は収縮させる温度変化、カメラに衝突する人又は他の物体、
カメラの外部環境(例えば、倉庫)内の振動、カメラの自らの重量に起因する力(すなわ
ち、重力によって)、又は何らかの他の要因によって引き起こされる場合がある。これら
の変化によって、カメラキャリブレーション情報が古くなる場合があり、このカメラキャ
リブレーション情報を用いて、後の時点においてロボットアーム又はロボットの他の構成
要素を位置決めする結果として、誤差が生じる恐れがある。言い換えると、カメラに関連
付けられる特性が経時的に変化しているが、そのような変化を反映するようにカメラキャ
リブレーション情報が更新されない場合には、ロボットは、古くなったか、又は別の事情
で不正確なカメラキャリブレーション情報に基づいて動作する場合があり、それにより、
ロボットの動作に望ましくない誤差を引き起こす恐れがある。カメラの1つ以上の特性に
変化が生じる場合がある可能性に対処するために、ロボット制御システムが、カメラキャ
リブレーションからのカメラキャリブレーション情報がもはや十分に正確でない時点を検
出する検証を自動的に実行することができる。そのような条件を検出することにより、カ
メラの特性の変化に関する指標(indication)を与えることができる。その検証が、カメ
ラキャリブレーション情報がもはや十分に正確でないことを検出する場合には、ロボット
制御システムは、カメラキャリブレーションを再び実行して、カメラのより最新の単数又
は複数の特性を反映することができる、更新されたカメラキャリブレーション情報を特定
することができる。更新されたカメラキャリブレーション情報を用いて、ロボットアーム
の配置、又はロボットの動作の何らかの他の態様を制御することができる。したがって、
カメラキャリブレーションの自動検証及び/又はカメラキャリブレーションの更新を実行
して、カメラに関連付けられる1つ以上の特性についての正確な情報に基づいてロボット
が動作するのを確実にする。
【0010】
本明細書の実施形態の一態様は、カメラによって取り込まれた参照画像とカメラによっ
て取り込まれた検証画像とを比較することによってカメラに関するカメラキャリブレーシ
ョンを検証することに関する。場合によっては、参照画像は、物体が早期の時点において
特定の位置にあるときに取り込まれた物体の画像とすることができ、検証画像は、同じ位
置において後の時点において取り込まれたその物体の画像とすることができる。検証は、
偏差が或る特定の閾値を超えるか否か等の、参照画像と検証画像との間の偏差が大きすぎ
るか否かを判断することができる。いくつかの実施態様において、物体は検証記号とする
ことができる。より具体的には、ロボットアーム又はロボットの他の構成要素が、カメラ
キャリブレーションを検証するために使用される検証記号を有することができる。参照画
像及び検証画像はいずれも、検証記号を取り込むか、又は別の方法で含むことができ、ロ
ボット制御システムは、参照画像内の検証記号の外観を検証画像内の検証記号の外観と比
較することによって2つの画像を比較することができる。例えば、ロボット制御システム
が、特定の時点においてカメラキャリブレーション情報を生成するカメラキャリブレーシ
ョンを実行した後に、ロボット制御システムは、検証記号をカメラの視野(カメラのカメ
ラ視野とも呼ばれる)内の1組の所定の位置まで動かすように、ロボットアームを(例え
ば、動作コマンドを介して)制御することができ、これらの位置は、検証のための1組の
参照箇所として使用することができる。カメラは、1組の参照箇所において、検証記号の
それぞれの参照画像を取り込むことができる。場合によっては、参照画像は、カメラキャ
リブレーションが実行された直後に取り込むことができる。ロボットアームの動作、又は
より具体的には、ロボットアームを動かすために使用される動作コマンドは、実行された
ばかりのカメラキャリブレーションからのカメラキャリブレーション情報に基づくことが
できるか、又はカメラキャリブレーション情報から独立していることができる。場合によ
っては、参照画像は、ロボットがロボット操作(robot operation)を開始する前に取り
込むことができる。参照画像が取り込まれた後に、ロボットは、作業を実行するためにロ
ボット操作を開始する準備ができたと見なすことができ、ロボット制御システムは、例え
ば、カメラによって次に取り込まれる画像に基づいて、ロボットアームの位置決めを制御
することができる。
【0011】
上記で言及されたように、参照画像は、次に取り込まれる検証画像と比較することがで
きる。一実施形態において、検証画像は、ロボット制御システムによって検出される1つ
以上の休止期間中に取り込むことができる。より具体的には、ロボット操作が開始すると
、ロボットはロボット作業(robot task)を実行し始めることができる(例えば、荷物又
は他の物体との相互作用による)。ロボットがロボット操作を実行しているとき、ロボッ
ト制御システムは、ロボットに関する1つ以上の休止期間を検出することができる。場合
によっては、休止期間は、ロボット操作中にロボットがロボット作業を実行していない期
間とすることができる。場合によっては、ロボット制御システムは、ロボットが相互作用
する必要がある物体を検出するか、又は別の方法で予測するのに基づいて、ロボット操作
をスケジューリングすることができ、ロボットが相互作用する必要がある物体が存在しな
いことを検出するか、又は別の方法で予測するのに基づいて、休止期間を検出することが
できる。
【0012】
休止期間(複数の場合もある)中に、ロボット制御システムは、ロボットアーム又はロ
ボットの他の構成要素を(例えば、動作コマンドを介して)参照箇所まで動かし、各参照
箇所において、それぞれの検証画像を(例えば、カメラコマンドを介して)取り込むよう
に制御することができる。ロボットが、その上に配置される検証記号を有する場合、ロボ
ット制御システムは、より具体的には、検証記号を参照箇所まで動かし、検証画像を取り
込むようにロボットアームを制御することができる。その後、ロボット制御システムは、
それぞれの参照箇所においてそれぞれの検証画像が対応する参照画像からどれだけ外れる
かを判断することができる。場合によっては、検証画像とそれぞれの参照画像との間の偏
差は、偏差パラメーターとして表すことができる。偏差パラメーターの値(偏差パラメー
ター値とも呼ばれる)が偏差パラメーターに関して規定された閾値(規定された偏差閾値
と呼ばれる場合もある)を超える場合には、ロボット制御システムは、更なるカメラキャ
リブレーションを実行して、カメラに関する更新されたカメラキャリブレーション情報を
特定することができる。偏差パラメーターの値が規定された偏差閾値を超えるとき、この
条件は、古いカメラキャリブレーション情報を使用すると、結果としてロボット操作に望
ましくない量の誤差が生じる恐れがあることを示すことができる。したがって、場合によ
っては、更なるキャリブレーションが実行される間、ロボット操作は中断又は中止される
場合がある(中断は別の休止期間と見なすことができる)。更なるキャリブレーションが
完了した後に、新たな1組の参照画像を取り込むことができ、更新されたカメラキャリブ
レーション情報を用いてロボット操作を継続することができる。後続の休止期間(複数の
場合もある)中に、新たな1組の検証画像を取り込むことができ、ロボット制御システム
は、新たな1組の参照画像を新たな1組の検証画像と比較することによって、更なるカメ
ラキャリブレーションの検証を実行することができる。
【0013】
上記で言及されたように、偏差パラメーターの値が規定された偏差閾値を超えるとき、
ロボット制御システムは、更なるカメラキャリブレーションを実行することができる。偏
差パラメーターの値が偏差閾値を超えない場合には、ロボット制御システムが更なるキャ
リブレーションを実行することなく、休止期間後にロボット操作を継続することができる
。このシナリオにおいて、カメラは、後続の休止期間(複数の場合もある)中にそれぞれ
の参照箇所において新たな1組の検証画像を取り込むことができる。新たな1組の検証画
像が取り込まれると、ロボット制御システムは、それぞれの参照箇所において新たな1組
の検証画像がそれぞれの参照画像からどれだけ外れるかを判断することによって、カメラ
キャリブレーションの検証を再び実行することができる。
【0014】
上記で言及されたように、ロボットアームは、その上に配置される、リングパターン等
の検証記号を有することができ、検証記号は、参照画像及び検証画像によって取り込まれ
る場合があるか、又は別の方法でそれらの画像内に含まれる場合がある。一実施形態にお
いて、ロボット制御システムは、参照画像内に検証記号が現れるそれぞれの位置に基づい
て、かつ検証画像内に検証記号が現れるそれぞれの位置に基づいて、参照画像とそれぞれ
の検証画像との間の偏差を特定することができる。例えば、ロボット制御システムは、参
照箇所ごとに参照画像座標を特定することができる。特定の箇所に関する参照画像座標は
、検証記号がその参照箇所に配置されたときに取り込まれた参照画像内に検証記号が現れ
る座標とすることができる。より具体的には、参照画像座標は特定の参照箇所に関連付け
ることができ、その参照箇所に検証記号が配置されたときにカメラによって取り込まれた
参照画像内に検証記号が現れる画像座標を指すことができる。上記の例において、画像座
標は、ピクセル座標等の、画像内の座標を指す場合がある。ロボット制御システムが、そ
の後、特定の参照箇所に検証記号を再び配置し、対応する検証画像を取得すると、ロボッ
ト制御システムは、検証画像座標を特定することができる。また、検証画像座標も参照箇
所に関連付けることができ、検証記号が参照箇所に配置されたときにカメラによって取り
込まれた検証画像内に検証記号が現れる画像座標(例えば、ピクセル座標)を指すことが
できる。ロボット制御システムは、特定の参照箇所に関連付けられる参照画像座標を、同
じ参照箇所に関連付けられる検証画像座標と比較することができる。この比較は、検証画
像及び参照画像が取り込まれた参照箇所ごとに行うことができる。
【0015】
一例において、参照画像内に検証記号が現れる参照画像座標は、参照画像内の検証記号
の中心の座標とすることができる(参照画像内の検証記号の中心座標とも呼ばれる)。同
様に、検証画像内に検証記号が現れる検証画像座標は、検証画像内の検証記号の中心の座
標とすることができる(検証画像内の検証記号の中心座標とも呼ばれる)。対応する検証
画像が取り込まれたときにロボットアーム及び/又は検証記号が位置した参照箇所ごとに
、ロボット制御システムは、参照箇所に関連付けられる参照画像座標と、同じ参照箇所に
関連付けられる検証画像座標との間の偏差を特定することができる。ロボットアーム及び
/又は検証記号が複数の参照箇所に配置されてきた場合には、ロボット制御システムは、
複数の参照箇所に関して、それぞれの参照画像座標とそれぞれの検証画像座標との間のそ
れぞれの偏差量を特定することができる。ロボット制御システムは更に、参照箇所ごとの
参照画像座標とそれぞれの検証画像座標との間のそれぞれの偏差量に基づいて、偏差パラ
メーターの値を特定することができる。
【0016】
一例において、検証記号内の複数の形状のそれぞれの中心が同じ、又は実質的に同じ位
置にあるように、検証記号は互いに同心である複数の形状を含むことができる。例えば、
検証記号は、2つ以上の同心円を含むリングパターンとすることができる。場合によって
は、検証記号の参照画像座標が参照画像内の検証記号の中心座標である場合には、ロボッ
ト制御システムは、参照画像内の複数の形状のそれぞれの中心座標に基づいて、検証記号
の中心座標を特定することができ、特定の形状の中心座標は、その形状の中心の座標であ
る。検証記号がリングパターンである場合には、参照画像内のリングパターンを形成する
第1の円の中心座標と、リングパターンを形成する第2の円の中心座標との平均として、
参照画像内のリングパターンの中心座標を特定することができる。同様に、検証画像内の
検証記号の中心座標は、検証画像内の検証記号を形成する複数の形状のそれぞれの中心座
標に基づいて特定することができる。場合によっては、複数の形状を用いて、検証記号を
形成することにより、検証の精度を改善することができる。例えば、1つの画像内の複数
の形状のそれぞれの中心座標を用いて、検証記号の中心座標を特定することにより、画像
ノイズに対する検証のロバストネスを改善することができる。より具体的には、検証記号
の画像が画像ノイズを含む場合には、画像ノイズによって、ロボット制御システムが検証
記号の特定の形状の中心座標を検出する精度が低下する場合がある。しかしながら、その
形状の中心座標が別の形状の中心座標と平均され、検証記号の中心座標が特定される場合
には、平均した中心座標は、画像ノイズの影響を低減することができる。結果として、検
証記号の中心座標を特定する際の精度を改善することができる。
【0017】
一例において、検証記号はそれぞれ色が異なる複数の領域を有することができ、複数の
領域のそれぞれの面積が、識別できる規定された比を有することができる。例えば、検証
記号は、第1の色(例えば、黒)を有する第1の領域と、第2の色(例えば、白)を有す
る第2の領域とを有することができ、第1の領域の面積と第2の領域の面積との比が規定
されるか、又は別の方法で既知である。識別できる比は、画像がキャリブレーションパタ
ーンのドット等の他の特徴を取り込むか、又は別の方法で含む場合には特に、画像内の検
証記号を識別するのを容易にすることができる。例えば、検証記号を動かしているロボッ
トアームが、ロボットアーム上に配置されるキャリブレーションパターンを有する場合も
ある。ロボット制御システムは、その比を用いて、検証記号と、キャリブレーションパタ
ーンのドットとを区別することができる。より具体的には、検証記号の複数の領域の面積
の比が識別できる比として規定されるので、ロボット制御システムは、規定された比に基
づいて、画像内の検証記号を識別することができる。画像内に現れる検証記号の識別中に
、ロボット制御システムは、規定された比に基づいて、検証記号と、キャリブレーション
パターン又は他の特徴とを区別することができる。場合によっては、検証記号は、それぞ
れ異なる色の複数の領域を有し、複数の領域のそれぞれの面積間に規定された比を有する
画像の部分として、その画像内で識別することができる。ロボット制御システム又は他の
システム若しくはデバイスが、画像の特定の部分が、それぞれ色が異なる複数の領域を有
しないと判断する場合には、又は複数の領域のそれぞれの面積が規定された比とは異なる
比を有すると判断する場合には、ロボット制御システムは、画像の部分が検証記号でない
と判断することができる。
【0018】
一例において、ロボット制御システムは、ロボットの周囲の温度に基づいて、検証を実
行することができる。例えば、ロボット制御システムは、温度に基づいて、規定された偏
差閾値を調整する(すなわち、偏差閾値に関する新たな値を規定する)ことができる。例
えば、或る材料が温度の影響を受けやすい場合があり、及び/又は温度に応じて膨張/収
縮する場合があるので、温度はカメラ内、及び/又はロボット内の種々の部品に影響を及
ぼす場合がある。温度の変化によって、カメラの固有パラメーター(複数の場合もある)
が変化する場合があり、及び/又はカメラとその外部環境との間の関係が変化する場合が
ある。一実施形態において、偏差閾値は、温度が規定範囲外にあるときに第1の値を有す
るように設定することができ、一方、偏差閾値は、温度が規定範囲内にあるときに、第1
の値より低い第2の値を有するように設定することができる。例えば、温度が規定された
正常動作温度範囲内(例えば、室温の10度以内に)あるとき、偏差閾値は、第1の値と
することができる。温度が正常動作温度範囲外にあるとき、偏差閾値は、第1の値より低
い第2の値を有することができる。正常動作温度範囲外の温度では、カメラに、又はカメ
ラと外部環境との関係に変化が生じる可能性が高くなる場合があり、それゆえ、古いカメ
ラキャリブレーション情報でロボットを動作させる際に誤差が生じる可能性が高くなる場
合があるので、温度が正常動作範囲外にあるときに、更なるカメラキャリブレーションを
より容易にトリガーするために、第2の値は第1の値より低くすることができる。
【0019】
一実施形態において、カメラキャリブレーションの検証は、単一の参照箇所にのみ頼る
場合がある。代替的には、カメラキャリブレーションの検証は、複数の参照箇所に頼るこ
とができる。参照箇所は、カメラ視野内の任意の位置とすることができるか、又は特定の
規定された位置とすることができる。例えば、参照箇所は、カメラに対して凹形である少
なくとも1つの仮想球の表面上の位置として規定することができる。このシナリオにおけ
る各参照箇所において、検証記号が、カメラに面するときに少なくとも1つの仮想球の表
面に対して接線方向に位置決めされるように、検証記号を位置決めするようにロボットア
ームを制御することができる。この位置決めによれば、検証記号をカメラによって真正面
から、より良好に撮影できるか、又は別の方法で取り込めるようになる場合がある(検証
記号がカメラの真正面を向く)ので、検証記号の画像が、検証記号の斜視図ではなく、平
面図に近くなる。例えば、検証記号がリングパターンである場合には、リングパターンを
仮想球の表面に対して接線方向に位置決めすることによって、結果として生じるリングパ
ターン画像が、楕円形に見えるのではなく、依然として円形に見えるようにすることがで
きる。結果として生じる画像は、(リングパターンが画像内で楕円形に見えるシナリオに
対して)少ない射影ひずみを示す場合があるか、又は全く射影ひずみを示さない場合があ
る。射影ひずみがないことは、リングパターンの中心座標の正確な特定を助長することが
できる。場合によっては、参照箇所は、カメラに対して全て凹形である複数の仮想球の中
に分割することができる。複数の仮想球は共通の中心を共有することができ、異なるサイ
ズとすることができ、それにより、各仮想球は、カメラからそれぞれ異なる距離を有する
球面を有する。場合によっては、カメラは、全ての仮想球のための共通の中心とすること
ができる。
【0020】
図1Aは、自動カメラキャリブレーション及びカメラキャリブレーションの自動検証を
実行するロボット運用システム100(システム100とも呼ばれる)のブロック図を示
す。ロボット運用システム100は、ロボット150と、ロボット制御システム110(
ロボットコントローラーとも呼ばれる)と、カメラ170とを含む。一実施形態において
、システム100は倉庫内に、製造工場内に、又は他の施設内に位置することができる。
ロボット制御システム110は、後に更に詳細に論じられるカメラキャリブレーションを
実行し、カメラキャリブレーション情報を特定するように構成することができ、カメラキ
ャリブレーション情報は、倉庫内で荷物を持ち上げる等のロボット操作を実行するように
ロボット150を制御するために後に使用される。ロボット制御システム110は、同じ
く後に更に詳細に論じられるカメラキャリブレーション検証を実行し、カメラキャリブレ
ーション情報が依然として十分に正確であるか否かを検証するように更に構成することが
できる。場合によっては、ロボット制御システム110は、カメラキャリブレーションを
実行し、カメラキャリブレーション情報に基づいて、ロボット操作を実行するように、ロ
ボット150を制御するように構成される。場合によっては、ロボット制御システム11
0は、ロボット150及びカメラ170と通信する単一のデバイス(例えば、単一のコン
ソール又は単一のコンピューター)を形成することができる。場合によっては、ロボット
制御システム110は複数のデバイスを含むことができる。
【0021】
場合によっては、ロボット制御システム110は、カメラキャリブレーション及び/又
はカメラキャリブレーションの検証を実行する専用システムとすることができ、最新のカ
メラキャリブレーション情報を別の制御システム(別のコントローラーとも呼ばれる、図
示せず)に通信することができ、その後、別の制御システムが、最新のカメラキャリブレ
ーション情報に基づいて、ロボット操作を実行するように、ロボット150を制御する。
ロボット150は、カメラ170によって取り込まれた画像に基づいて、かつカメラキャ
リブレーション情報に基づいて位置決めすることができる。より具体的には、ロボット制
御システム110は、一実施形態において、画像に基づいて、かつカメラキャリブレーシ
ョン情報に基づいて、動作コマンドを生成し、動作コマンドをロボット150に通信し、
そのロボットアームの動作を制御するように構成することができる。場合によっては、ロ
ボット制御システム110は、ロボット操作時の休止期間中にカメラキャリブレーション
の検証を実行するように構成される。場合によっては、ロボット制御システム110は、
ロボット150でロボット操作を実行している間に検証を実行するように構成される。
【0022】
一実施形態において、ロボット制御システム110は、有線通信又はワイヤレス通信を
介して、ロボット150及びカメラ170と通信するように構成することができる。例え
ば、ロボット制御システム110は、RS-232インターフェース、ユニバーサルシリ
アルバス(USB)インターフェース、イーサネット(登録商標)インターフェース、B
luetooth(登録商標)インターフェース、IEEE802.11インターフェー
ス又はその任意の組み合わせを介して、ロボット150及び/又はカメラ170と通信す
るように構成することができる。一実施形態において、ロボット制御システム110は、
ペリフェラルコンポーネントインターコネクト(PCI)バス等のローカルコンピュータ
ーバスを介して、ロボット150及び/又はカメラ170と通信するように構成すること
ができる。
【0023】
一実施形態において、ロボット制御システム110は、ロボット150とは別に存在す
ることができ、上記で論じられたワイヤレス接続又は有線接続を介して、ロボットと通信
することができる。例えば、ロボット制御システム110は、有線接続又はワイヤレス接
続を介してロボット150及びカメラ170と通信するように構成されるスタンドアロー
ンコンピューターとすることができる。一実施形態において、ロボット制御システム11
0は、ロボット150と一体の構成要素とすることができ、上記で論じられたローカルコ
ンピューターバスを介して、ロボット150の他の構成要素と通信することができる。場
合によっては、ロボット制御システム110は、ロボット150のみを制御する専用制御
システム(専用コントローラーとも呼ばれる)とすることができる。他の場合には、ロボ
ット制御システム110は、ロボット150を含む、複数のロボットを制御するように構
成することができる。一実施形態において、ロボット制御システム110、ロボット15
0及びカメラ170は同じ施設(例えば、倉庫)内に位置する。一実施形態において、ロ
ボット制御システム110は、ロボット150及びカメラ170から遠隔とすることがで
き、ネットワーク通信(例えば、ローカルエリアネットワーク(LAN)接続)を介して
、ロボット150及びカメラ170と通信するように構成することができる。
【0024】
一実施形態において、ロボット制御システム110は、カメラ170から、ロボット1
50上(例えば、ロボットのロボットアーム上)に配置されるキャリブレーションパター
ン160及び/又は検証記号165の画像を読み出す(retrieve)か、又は別の方法で受
信するように構成することができる。場合によっては、ロボット制御システム110は、
そのような画像を取り込むように、カメラ170を制御するように構成することができる
。例えば、ロボット制御システム110は、カメラ170にカメラ170の視野(カメラ
視野とも呼ばれる)の画像を取り込ませるカメラコマンドを生成し、有線接続又はワイヤ
レス接続を介して、カメラコマンドをカメラ170に通信するように構成することができ
る。同じコマンドによって、カメラ170に、ロボット制御システム110、又はより一
般的には、ロボット制御システム110によってアクセス可能な記憶デバイスに画像を通
信させることもできる。代替的には、ロボット制御システム110は、カメラコマンドを
受信すると、カメラ170が取り込んだ画像(複数の場合もある)をロボット制御システ
ム110に通信する別のカメラコマンドを生成することができる。一実施形態において、
カメラ170は、ロボット制御システム110からのカメラコマンドを必要とすることな
く、定期的に、又は規定されたトリガー条件に応答して、自らのカメラ視野内の画像を自
動的に取り込むことができる。そのような実施形態において、カメラ170は、ロボット
制御システム110からのカメラコマンドを用いることなく、ロボット制御システム11
0に、又はより一般的にはロボット制御システム110によってアクセス可能な記憶デバ
イスに画像を自動的に通信するように構成することもできる。
【0025】
一実施形態において、ロボット制御システム110は、ロボット制御システム110に
よって生成され、有線接続又はワイヤレス接続を介してロボット150に通信される動作
コマンドを介して、ロボット150の動作を制御するように構成することができる。ロボ
ット150は、ロボット150上にキャリブレーションパターン160及び検証記号16
5の一方又は両方を有するように構成することができる。例えば、図1Bは、図1Aのキ
ャリブレーションパターン160が存在しない場合の、ロボット150上に検証記号16
5が配置されるロボット運用システム100Aを示す。一例において、検証記号165は
、ロボット150の一部とすることができ、ロボット150上に永久に配置することがで
きる。例えば、検証記号165は、ロボット150上に永久に塗布することができるか、
又はロボット150に永久に取り付けられるステッカー又はボードの一部とすることがで
きる。別の例において、検証記号165は、ロボット150に着脱可能である別の構成要
素とすることができる。検証記号165は、ロボット150上に永久に配置することがで
きるか、又はロボット150に着脱可能である別の構成要素とすることができる。
【0026】
一実施形態において、ロボット150を制御するためにシステム100において使用さ
れる唯一の画像が、カメラ170によって取り込まれた画像である場合がある。別の実施
形態において、システム100は、複数のカメラを含むことができ、ロボット150は、
複数のカメラからの画像によって制御することができる。
【0027】
図1Bは、ロボット制御システム110がユーザーインターフェースデバイス180と
通信する実施形態を更に示す。ユーザーインターフェースデバイス180は、ロボット1
50が位置する倉庫にいる従業員等の、ロボット150の運用者とのインターフェースを
構成することができる。ユーザーインターフェースデバイス180は、ロボット150の
運用に関連する情報を表示するユーザーインターフェースを提供する、例えば、タブレッ
トコンピューター又はデスクトップコンピューターを含むことができる。上記で言及され
たように、ロボット制御システム110は、偏差パラメーター値が規定された偏差閾値を
超える時点を検出するように構成することができる。一実施形態において、ユーザーイン
ターフェースデバイス180は、偏差パラメーター値が規定された偏差閾値を超えること
を運用者に通知する警報又は他の警告を与えることができる。
【0028】
図1Cは、ロボット制御システム110のブロック図を示す。ブロック図に示されるよ
うに、ロボット制御システム110は、制御回路111と、通信インターフェース113
と、非一時的コンピューター可読媒体115(例えば、メモリ)とを含む。一実施形態に
おいて、制御回路111は1つ以上のプロセッサ、プログラマブル論理回路(PLC)又
はプログラマブル論理アレイ(PLA)、フィールドプログラマブルゲートアレイ(FP
GA)、特定用途向け集積回路(ASIC)、又は任意の他の制御回路を含むことができ
る。
【0029】
一実施形態において、通信インターフェース113は、図1A又は図1Bのカメラ17
0及び図1A又は図1Bのロボット150と通信するように構成される1つ以上の構成要
素を含むことができる。例えば、通信インターフェース113は、有線プロトコル又はワ
イヤレスプロトコルを介して通信を実行するように構成される通信回路を含むことができ
る。一例として、通信回路は、RS-232ポートコントローラー、USBコントローラ
ー、イーサネットコントローラー、Bluetooth(登録商標)コントローラー、P
CIバスコントローラー、任意の他の通信回路、又はその組み合わせを含むことができる
。一実施形態において、制御回路111は、動作コマンド(例えば、モーター動作コマン
ド)を生成し、動作コマンドを通信インターフェース113に出力するように構成するこ
とができる。この実施形態において、通信インターフェース113は、ロボット150の
ロボットアーム又は他の構成要素の動作を制御するために、動作コマンドをロボット15
0に通信するように構成することができる。一実施形態において、制御回路111は、カ
メラコマンドを生成し、カメラコマンド(例えば、画像取込コマンド)を通信インターフ
ェース113に出力するように構成することができる。この実施形態において、通信イン
ターフェース113は、カメラの視野内の物体の画像を撮影するか、又は別の方法で取り
込むようにカメラ170を制御するために、カメラコマンドをカメラ170に通信するよ
うに構成することができる。一実施形態において、通信インターフェース113は、カメ
ラ170から画像又は他のデータを受信するように構成することができ、制御回路111
は、通信インターフェース113から画像を受信するように構成することができる。
【0030】
一実施形態において、非一時的コンピューター可読媒体115はコンピューターメモリ
を含むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセス
メモリ(DRAM)、半導体集積メモリ(solid state integrated memory)、及び/又
はハードディスクドライブ(HDD)を含むことができる。場合によっては、カメラキャ
リブレーションは、非一時的コンピューター可読媒体115上に記憶されるコンピュータ
ー実行可能命令(例えば、コンピューターコード)を通して実施することができる。その
ような場合に、制御回路111は、コンピューター実行可能命令を実行し、カメラキャリ
ブレーションの検証(例えば、図4A図4B及び図9に示されるステップ)を実行する
ように構成される1つ以上のプロセッサを含むことができる。
【0031】
図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)又は任意の他のイメージセンサーを含むこ
とができる。
【0032】
上記で言及されたように、カメラによって取り込まれた画像に基づいて、ロボットの制
御を助長するために、カメラキャリブレーションを実行することができる。例えば、図2
はロボット運用システム200(システム200とも呼ばれる)を示しており、そのシス
テムでは、画像を用いて、倉庫内の物体292を持ち上げる操作等の、ロボット操作を実
行するようにロボット250を制御する。より具体的には、システム200は、図1A
システム100の一実施形態とすることができ、カメラ270、ロボット250及びロボ
ット制御システム110を含む。カメラ270は、図1A図1B又は図1Dのカメラ1
70の一実施形態とすることができ、ロボット250は、図1A又は図1Bのロボット1
50の一実施形態とすることができる。カメラ270は、倉庫内のコンベヤベルト293
上に配置される物体292(例えば、出荷するための荷物)の画像を取り込むように構成
することができ、ロボット制御システム110は、物体292を持ち上げるように、ロボ
ット250を制御するように構成することができる。コンベヤベルト293上に1つ以上
の物体が存在するとき、ロボット制御システム110は、物体を持ち上げるロボット25
0の動作をスケジューリングするように構成することができる。ロボット制御システム1
10は、場合によっては、コンベヤベルト293上に物体が存在しない時点、又はコンベ
ヤベルト293上の、ロボット250の届く範囲内に物体が存在しない時点を検出するこ
とによって、ロボット操作のための休止期間を検出するように構成することができる。
【0033】
図2の実施形態において、ロボット250は、ベース252と、ベース252に対して
移動可能であるロボットアームとを有することができる。より具体的には、ロボットアー
ムは複数のリンク254A~254Eと、リンク254Eに取り付けられるロボットハン
ド255とを備えることができる。複数のリンク254A~254Eは互いに対して回動
可能とすることができ、及び/又は互いに対して直線的に移動可能である直動リンク(pr
ismatic links)とすることができる。図2は、物体を持ち上げるために使用されるロボ
ット250に関わるため、ロボットハンド255は、物体292を掴むために使用される
把持部255A及び255Bを含むことができる。一実施形態において、ロボット制御シ
ステム110は、リンク254A~254Eのうちの1つ以上を回動させる動作コマンド
を通信するように構成することができる。動作コマンドは、モーター動作コマンド等のロ
ーレベルコマンド、又はハイレベルコマンドとすることができる。ロボット制御システム
110からの動作コマンドがハイレベルコマンドである場合には、ロボット150は、ハ
イレベルコマンドをローレベルコマンドに変換するように構成することができる。
【0034】
一実施形態において、カメラキャリブレーションから特定されるカメラキャリブレーシ
ョン情報は、カメラ270とロボット250との間の関係、又はより具体的には、カメラ
270と、ロボット250のベース252に対して静止しているワールド点(world poin
t)294との間の関係を記述する。ワールド点294は、ロボット250が位置する世
界又は他の環境を表すことができ、ベース252に対して静止している任意の仮想点(im
aginary point)とすることができる。言い換えると、カメラキャリブレーション情報は
、カメラ270とワールド点294との間の関係を記述する情報を含むことができる。一
実施形態において、その関係は、ワールド点294に対するカメラ270の位置と、ロボ
ット250のための参照方向に対するカメラ270の向きとを指すことができる。カメラ
270とワールド点294との間の上記の関係はカメラ-ワールド関係と呼ばれる場合が
あり、カメラ270とロボット250との間の関係を表すために使用することができる。
場合によっては、カメラ-ワールド関係を用いて、カメラ270と物体292との間の関
係(カメラ-物体関係とも呼ばれる)、及び物体292とワールド点294との間の関係
(物体-ワールド関係とも呼ばれる)を特定することができる。カメラ-物体関係及び物
体-ワールド関係を用いて、物体292を持ち上げるようにロボット250を制御するこ
とができる。
【0035】
一実施形態において、カメラキャリブレーション情報は、カメラ270の固有パラメー
ターを記述することができ、固有パラメーターは、その値がカメラ270の位置及び向き
から独立している任意のパラメーターとすることができる。固有パラメーターは、カメラ
の焦点距離、カメラのイメージセンサーのサイズ、又はカメラ270によって導入される
レンズひずみの影響等の、カメラ270の特性を特徴付けることができる。
【0036】
ロボット350の一例の詳細な構造を示す一例が図3に示され、図3は、カメラ370
及びロボット350と通信するロボット制御システム110を含むロボット運用システム
300を示す。カメラ370は、図1A図1B図1D又は図2のそれぞれカメラ17
0/270の一実施形態とすることができ、ロボット350は、図1A図1B又は図2
のそれぞれロボット150/250の一実施形態とすることができる。カメラ370は、
カメラ視野330内の画像を取り込むことができる場合がある。ロボット350は、ベー
ス352と、ベース352に対して移動可能であるロボットアームとを含むことができる
。ロボットアームは、リンク354A~354E等の1つ以上のリンクと、ロボットハン
ド355とを含む。一実施形態において、リンク354A~354Eは互いに回動可能に
取り付けることができる。例えば、リンク354Aは、ジョイント356Aを介して、ロ
ボットベース352に回動可能に取り付けることができる。残りのリンク354B~35
4Eは、ジョイント356B~356Eを介して、互いに回動可能に取り付けることがで
きる。一実施形態において、ベース352を用いて、ロボット350を、例えば、取付フ
レーム又は取付面(例えば、倉庫の床)に取り付けることができる。一実施形態において
、ロボット350は、リンク354A~354Eを回動させることによってロボットアー
ムを動かすように構成される複数のモーターを含むことができる。例えば、モーターのう
ちの1つは、図3において破線矢印で示されるように、ジョイント356A及びベース3
02に対して第1のリンク354Aを回動させるように構成することができる。同様に、
複数のモーターのうちの他のモーターも、リンク354B~354Eを回動させるように
構成することができる。複数のモーターはロボット制御システム110によって制御する
ことができる。図3は、第5のリンク354E上に固定されるように配置されるロボット
ハンド355を更に示す。ロボットハンド355は、その上にキャリブレーションパター
ン320を有することができ、ロボット制御システム110がカメラ370を介してキャ
リブレーションパターン320の画像を取り込み、キャリブレーションパターン320の
取り込まれた画像に基づいて、カメラキャリブレーションを実行できるようにする。例え
ば、ロボット制御システム110は、キャリブレーションパターン320の画像(キャリ
ブレーション画像とも呼ばれる)を取り込むためにカメラ370が使用されているときに
、キャリブレーションパターン320がカメラ視野330内に存在することができ、カメ
ラ370から視認可能であるように、ロボットアームを動かすことができる。カメラキャ
リブレーションが実行された後に、ロボットハンド355を取り外し、後に更に詳細に論
じられるように、その上に配置される検証記号を有するロボットハンド等の別のロボット
ハンドと交換することができる。
【0037】
上記で言及されたように、一実施形態によれば、カメラキャリブレーション検証は、参
照画像内に検証記号が現れる参照画像座標と、検証画像内に検証記号が現れる検証画像座
標とを比較することを含むことができる。その比較は、検証画像座標と参照画像座標との
間の偏差を特定することができ、その偏差を用いて、更なるカメラキャリブレーションを
実行すべきか否かを判断することができる。検証画像は、ロボット操作の休止期間中に取
り込むことができる。図4A及び図4Bは、一実施形態による、カメラキャリブレーショ
ンの検証の方法400を示すフロー図を示す。一実施形態において、方法400は、ロボ
ット制御システム110の制御回路111によって実行することができる。上記で言及さ
れたように、ロボット制御システム110は、図1Cの通信インターフェース113を含
むことができ、通信インターフェースは、図1A又は図1Bのロボット150、及び図1
A、図1B又は図1Dのカメラ170と通信するように構成される。一実施形態において
、ロボットはベース(例えば、図2のベース252又は図3のベース352)と、その上
に検証記号が配置されるロボットアーム(例えば、図2又は図3のロボットアーム)とを
有することができ、ロボットアームはベースに対して移動可能である。
【0038】
方法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に対して移
動可能であるロボットアームとを含むことができる。ロボットアームは、リンク554A
~リンク554E等の1つ以上のリンクを含む。一実施形態において、リンク554A~
554Eは互いに回動可能に取り付けることができる。例えば、リンク554Aは、ロボ
ットベース552に回動可能に取り付けることができる。残りのリンク554B~554
Eは、複数のジョイントを介して、互いに回動可能に取り付けることができる。一実施形
態において、ベース552を用いて、ロボット550を、例えば、取付フレーム又は取付
面(例えば、倉庫の床)に取り付けることができる。ロボット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に取り付けることができ、ロボット制御システム11
0は、第5のリンク554Eに第1のロボットハンド555を解放させて、第5のリンク
554Eを第2のロボットハンド557に取り付けるように、ロボット550を制御する
ことができる。別の実施形態では、第5のリンク554Eは、ロボットハンド(例えば、
ロボットハンド559)に永久に取り付けることができる。
【0039】
一実施形態において、ロボット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のロボットハンド5
59はそれぞれその上に配置されるキャリブレーションパターン520/527を有する
ので、それらのロボットハンドを用いて、カメラキャリブレーションを実行することがで
き、一方、第1のロボットハンド555又は第3のロボットハンド559はそれぞれその
上に配置される検証記号530を有するので、それらのロボットハンドを用いて、カメラ
キャリブレーションの検証を実行することができる。
【0040】
図4Aに戻ると、一実施形態において、方法400はステップ401から開始すること
ができ、そのステップでは、制御回路111が、第1のカメラキャリブレーションを実行
して、カメラ(例えば、図1図2図3又は図5のそれぞれカメラ170/270/3
70/570)に関連付けられるカメラキャリブレーション情報を特定する。より具体的
には、カメラキャリブレーション情報は、カメラに関するカメラキャリブレーション値を
含むことができる。この実施形態において、制御回路111は、キャリブレーションパタ
ーンの画像(キャリブレーション画像とも呼ばれる)に基づいて、第1のカメラキャリブ
レーションを実行することができる。
【0041】
例えば、第1のカメラキャリブレーションを実行するために、図5Aのロボット550
は、キャリブレーションパターン520を有する第2のロボットハンド557に、又はキ
ャリブレーションパターン527を有する第3のロボットハンド559に取り付けること
ができる。図3は、第1のカメラキャリブレーションを実行することができる類似の環境
を示す。このステップ中に、カメラキャリブレーションを実行するためにそのキャリブレ
ーションパターン320が使用される第1のロボットハンド555を、第5のリンク55
4Eから取り外すことができる。第1のカメラキャリブレーションは、ロボット操作を開
始する前に実行することができる。例えば、ロボット操作は、第1のロボットハンド55
5がコンベヤベルト上の第1の物体582Aと相互作用する等のロボット作業から開始す
ることができる。第1のカメラキャリブレーション中に、ロボット550は第2のロボッ
トハンド557を備えることができる。ロボット制御システム110は、キャリブレーシ
ョンパターン520をカメラ570のカメラ視野510内の種々の位置に動かし、そのよ
うな位置においてキャリブレーションパターン520のそれぞれの画像を取り込むように
、動作コマンドを介して、ロボット550のロボットアームを制御することができる。ロ
ボット制御システム110は、キャリブレーションパターン520の取り込まれた画像に
基づいて、第1のカメラキャリブレーションを実行し、カメラ570に関するカメラキャ
リブレーション情報を特定することができる。一例において、カメラキャリブレーション
情報は、カメラ570とロボット550との間の関係を記述する情報を含むことができる
。一例において、カメラキャリブレーション情報は、カメラ570の固有パラメーターを
記述することができる。カメラキャリブレーションは、2019年3月7日に出願の「ME
THOD AND DEVICE FOR PERFORMING AUTOMATIC CAMERA CALIBRATION FOR ROBOT CONTROL」
と題する米国特許出願第16/295,940号(整理番号MJ0021US1)におい
てより詳細に論じられており、その内容全体が引用することにより本明細書の一部をなす
【0042】
図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組の早期の画像と比較することができる。後の画像は検証画像として使用す
ることができ、一方、後の画像が比較される画像は、参照画像として使用することができ
る。
【0043】
ステップ405において、制御回路111が、通信インターフェース113を介して、
カメラ(例えば、170/270/370/570)から検証記号(例えば、530)の
画像を受信する(例えば、読み出す)ことができ、その画像は検証のための参照画像であ
る。画像は、検証記号が参照箇所にあるか、又は参照箇所にあった間に、カメラによって
取り込まれている場合がある。一実施形態において、最初に、通信インターフェース11
3がカメラから参照画像を受信することができ、その後、制御回路111が、通信インタ
ーフェース113から参照画像を受信することができる。一実施形態において、ステップ
405は、制御回路111がカメラのためのカメラコマンドを生成することなく実行され
る。一実施形態において、ステップ405は、制御回路111がカメラコマンドを生成す
ることと、通信インターフェース113を介してカメラにカメラコマンドを通信すること
とを含むことができる。カメラコマンドは、参照箇所において検証記号の画像を取り込む
ように、カメラを制御することができる。
【0044】
図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のカメラキャリブレーション中又は後に、ロボット制御システム1
10は、検証記号530をカメラ視野510内の1つ以上の参照箇所に動かすようにロボ
ットアームを制御することができる。この例において、1つ以上の参照箇所は、第1のカ
メラキャリブレーション中に検証記号530が(キャリブレーションパターン520とと
もに)撮影された任意の位置を含むことができるか、又は第1のカメラキャリブレーショ
ンが実行された後に検証記号530が動かされた1組の1つ以上の特定の位置とすること
ができる。ロボット制御システム110は、第1のカメラキャリブレーションから得られ
るカメラキャリブレーション情報に基づいて、カメラ570からの指示によってこのステ
ップにおいてロボット550のロボットアームの動作を制御することができるか、又はそ
のような指示を用いることなく動作を制御することができる。一実施形態において、参照
箇所は、ローカル又はリモート記憶デバイス内に記憶され、読み出すことができる規定さ
れた位置とすることができる。参照箇所は、座標(例えば、直交座標)の形で、又はリン
ク554A~554Eを回動させるためのモーターコマンドとして、又は何らかの他の態
様において記憶することができる。
【0045】
一実施形態において、ロボットアームが検証記号(例えば、530)を動かす1つ以上
の参照箇所は、複数の参照箇所を含むことができ、複数の参照箇所のそれぞれが、カメラ
に対して凹形である仮想球の表面上に配置される位置である。そのような実施形態におい
て、制御回路111は、複数の参照箇所の各参照箇所において検証記号が仮想球の表面に
対して接線方向に向くように動かすために、ロボットアームを制御するように更に構成す
ることができる。例えば、図6A及び図6Bに示されるように、ロボット制御システム1
10は、検証記号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の球面64
1上に配置することができ、ここで、第3の球面641はカメラ視野510内にある。図
6A及び図6Bに示されるように、第1の球面621、第2の球面631及び第3の球面
641はそれぞれ、カメラ570に対して凹形である。図6A及び図6Bの例は3つの球
に基づく3つの球面を示すが、参照箇所を配置することができる異なる球面の数は、3つ
より多くすることも、少なくすることもできる。一実施形態において、カメラ570は、
仮想球620、630、640のそれぞれの中心に存在することができる。
【0046】
一実施形態において、図6A及び図6Bに示されるように、検証記号530が或る参照
箇所に動かされるときに、ロボット制御システム110は、検証記号530を参照箇所が
配置される球面に対して接線方向に位置決めするように、ロボット550のロボットアー
ムを(例えば、動作コマンドを介して)制御することができる。例えば、図6Bは、検証
記号530が参照箇所610Dの第2の球面631に対して接線方向にあることを示す。
より詳細には、検証記号530は平面(例えば、ステッカー)上に配置することができ、
検証記号530の平面が、参照箇所610Dにおいて第2の球面631に対して接線方向
に向くことができる。
【0047】
一実施形態において、制御回路111は、検証記号が参照箇所に動かされるときに、カ
メラの真正面を向くように検証記号(例えば、530)を動かすために、ロボットアーム
を制御するように構成される。例えば、図6Aに示されるように、ロボット制御システム
110は、検証記号530が参照箇所610Dに動かされるときに、カメラ570の真正
面を向くように検証記号530を動かすために、ロボット550のロボットアームを制御
することができる。この例において、ロボット制御システム110は、検証記号530が
カメラ570の真正面を向くように回動するように、ロボットハンド555を制御するこ
とができる。場合によっては、検証記号は、カメラ視野510において球面に対して接線
方向に向くことによって、カメラ570の真正面を向くことができる。検証記号530が
カメラ570の真正面を向くとき、カメラ570は、検証記号530を真正面から撮影で
きる場合があり、それにより、結果として生じる検証記号530の画像への斜視効果がな
いか、又は少ない。
【0048】
一実施形態において、検証記号(例えば、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であるかを判断することができる。
【0049】
場合によっては、ロボット制御システム110は、取り込まれた画像の特定の部分が第
1の色を有する第1の領域を有するか、及び第2の色を有する第2の領域を有するかを判
断し、第1の領域の面積と第2の領域の面積との比が規定された範囲内にあるか否かを判
断することができる。一例において、規定された比が1.5である場合には、ロボット制
御システム110は、特定の領域内の比が1.4~1.6の範囲内に入る場合に、その特
定の領域が検証記号530に対応すると判断することができる。第1の領域及び第2の領
域の2つの色は黒及び白には限定されず、ロボット制御システム110によって識別可能
である任意の2つの異なる色とすることができる。
【0050】
一態様において、検証記号(例えば、530)は、互いに同心である第1の形状及び第
2の形状を含むことができ、第1の形状及び第2の形状のそれぞれの中心が実質的に同じ
位置にある。例えば、検証記号は円形リングとして形成することができ、円形リングは、
互いに同心である第1の円及び第2の円を含む。より具体的には、図5Cに示されるよう
に、検証記号530は、第1の形状535(例えば、外円)及び第2の形状537(例え
ば、内円)を含むことができる。第1の形状535の中心及び第2の形状537の中心が
実質的に同じ位置にあるように、第1の形状535及び第2の形状537は互いに同心と
することができる。例えば、第1の形状535の中心が座標
【数1】
にあり、第2の形状537の中心が座標
【数2】
にある場合には、座標
【数3】
及び座標
【数4】
は実質的に同じとすることができる。
【0051】
図4Aに戻ると、方法400はステップ407を更に含むことができ、そのステップで
は、制御回路111が、検証記号に関する参照画像座標を特定し、参照画像座標は、参照
画像内に検証記号(例えば、530)が現れる座標である。例えば、図6Aに示されるよ
うに、検証記号530の画像を参照箇所610Dにおいて取り込むことができ、参照画像
として使用することができる。検証記号530は、特定の座標において参照画像内に現れ
ることができ、その座標は参照画像座標と呼ばれる場合がある。
【0052】
一実施形態において、上記で論じられたように、検証記号(例えば、530)は互いに
同心である第1の形状及び第2の形状を含むことができ、第1の形状及び第2の形状のそ
れぞれの中心が実質的に同じ位置にある。そのような実施形態において、制御回路111
は、ステップ407において、参照画像内の第1の形状の中心の第1の座標を特定するこ
とと、参照画像内の第2の形状の中心の第2の座標を特定することと、参照画像内の第1
の座標及び第2の座標の平均として参照画像座標を特定することとによって、そのような
検証記号に関する参照画像座標を特定するように構成することができる。
【0053】
例えば、図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の座標
【数5】
(すなわち、第1の形状735の中心座標)と、参照画像710内に示される第2の形状
737の中心の第2の座標
【数6】
(すなわち、第2の形状737の中心座標)とを特定することができる。参照画像710
が参照箇所Nにある検証記号530に対応するとき、参照画像710に関する参照画像座

【数7】
を全体として特定するために、ロボット制御システム110は、以下のように、参照画像
710内の第1の座標
【数8】
及び第2の座標
【数9】
の平均を計算することができる。
【数10】
【0054】
一実施形態において、検証記号に関する参照画像座標は、その中心座標とすることがで
き、第1の形状735及び第2の形状737のそれぞれの中心座標に基づいて、検証記号
530の中心座標を特定することは、画像ノイズに対する検証プロセスのロバストネスを
改善することができる。例えば、画像ノイズは、第1の形状735に関する中心座標の決
定に誤差を導入する場合があるが、第2の形状737に関する中心座標の特定に誤差を導
入しない場合がある。場合によっては、第2の形状737が実際には第1の形状735と
同じ中心位置を共有する場合があるが、画像ノイズによって、第2の形状737の中心座
標が第1の形状735の中心座標とは異なるように画像内に現れる場合がある。このシナ
リオにおいて、検証記号530の中心座標として第2の形状737の中心座標を単に使用
すると、結果として望ましくない誤差量が生じる場合がある。誤差量は、検証記号530
の中心座標として、第1の形状735に関する中心座標と第2の形状737に関する中心
座標との平均を使用することによって低減することができる。
【0055】
一実施形態において、上記で論じられた1つ以上の参照箇所は、複数の参照画像座標に
それぞれ対応する複数の参照箇所とすることができる。この実施形態では、参照画像座標
は複数の参照画像座標のうちの1つとすることができる。例えば、図6A及び図6Bに示
されるように、検証記号530が動かされるか、又は別の方法で配置される、参照箇所6
10A~610I等の複数の参照箇所が存在する場合がある。検証記号530の参照箇所
610A~610Iごとに、ロボット制御システム110は、その箇所において検証記号
530の、カメラ570によって取り込まれたそれぞれの参照画像を読み出すか、又は別
の方法で受信することができ、それぞれの参照画像内に検証記号530が現れる位置を示
すそれぞれの参照画像座標を特定することができる。
【0056】
図4Aに戻ると、方法400はステップ409を更に含むことができ、そのステップで
は、制御回路111が、カメラキャリブレーション情報に基づいて、ロボット操作を実行
するように、ロボットアームの動作を制御する。一実施形態において、このステップは、
制御回路111が、カメラキャリブレーション情報に基づく第2の動作コマンドを生成す
ることと、第2の動作コマンドを通信インターフェース113に出力することとを含むこ
とができる。通信インターフェース113は、その後、ロボットアームの動作を制御する
ために、第2の動作コマンドをロボットに通信することができる。例えば、図5Aに示さ
れるように、第1のカメラキャリブレーション後に、ロボット制御システム110は、物
体582A、582B及び582Cを持ち上げる等の、ロボット作業を含むロボット操作
を実行するように、ロボット550を制御する。ロボット550の動作は、第1のカメラ
キャリブレーションから得られるカメラキャリブレーション情報に基づくことができ、か
つカメラ570によって取り込まれる物体582A、582B、582Cの画像に基づく
ことができる。
【0057】
ステップ411において、制御回路111がロボット操作中に休止期間を検出する。一
態様において、ロボットの休止期間は、ロボット操作中にロボットがロボット作業を実行
していない期間とすることができる。場合によっては、ロボット操作がコンベヤベルト5
73から物体を持ち上げることに基づく場合には、休止期間は、コンベヤベルト573上
に物体が存在しないことに基づくことができる。より具体的には、コンベヤベルト573
は、ロボットアームによって到達可能とすることができ、制御回路111は、コンベヤベ
ルト573上に物体が存在しないこと、又はロボット550とコンベヤベルト573上の
最も近い物体との間の距離が規定された距離閾値を超えることを検出することによって、
休止期間を検出するように構成される。場合によっては、制御回路111は、休止期間が
発生しようとしていることを示す信号を受信することができ、その信号は、ロボット操作
を監視する別のデバイス又は構成要素から受信される場合がある。例えば、図5Aに示さ
れるように、ロボット制御システム110は、第2の物体582Bと第3の物体582C
との間に長い距離があるために、ロボット操作中に、第2の物体582Bを持ち上げるこ
とを含むロボット作業と、第3の物体582Cを持ち上げることを含むロボット作業との
間に休止期間を検出することができる。この休止期間中、ロボット550が第2の物体5
82Bを持ち上げた後に、物体582Cはロボット550によってまだ到達可能でないの
で、ロボットは、ロボット作業を実行していない休止期間を有することができる。一例に
おいて、ロボット制御システム110は、コンベヤベルト573上の物体がロボット55
0によって到達可能でないときに、及び/又はロボット550とコンベヤベルト573上
の上流の最も近い物体(例えば、第3の物体582C)との間の距離が或る特定の閾値を
超えるとロボット制御システム110が判断するときに、休止期間を検出することができ
る。
【0058】
図4A及び図4Bに戻ると、方法400はステップ451を更に含むことができ、その
ステップでは、制御回路111が、休止期間中に、検証記号530をステップ403にお
いて使用された(参照画像を取り込むために使用された)少なくとも参照箇所に動かすよ
うに、ロボットアームを制御する。一実施形態において、ステップ451は、制御回路1
11が第3の動作コマンドを生成することと、第3の動作コマンドを通信インターフェー
ス113に出力することとを含むことができる。通信インターフェース113は、動作コ
マンドに基づいてロボットアームが動くように、その後、第3の動作をロボットに通信す
るように構成することができる。場合によっては、第3の動作コマンドは、参照箇所に対
応する1組の記憶されたモーターコマンドを含むことができる。場合によっては、第3の
動作コマンドは、ステップ401からのカメラキャリブレーション情報に基づいて生成す
ることができる。場合によっては、ステップ451の第3の動作コマンドは、ステップ4
01からのカメラキャリブレーション情報に頼らない。
【0059】
ステップ453において、制御回路111が、休止期間中にカメラ(例えば、570)
から検証記号(例えば、530)の更なる画像を読み出すか、又は別の方法で受信し、更
なる画像は検証のための検証画像であり、休止期間中の少なくとも参照箇所における検証
記号の画像である。すなわち、参照箇所に関する検証画像は、検証記号(例えば、530
)が参照箇所にあるか、又は参照箇所にあった間に取り込まれる。一実施形態において、
ステップ453は、制御回路111が、検証画像を取り込むようにカメラ(例えば、57
0)を制御するカメラコマンドを生成することを含む。制御回路111は、通信インター
フェース113にカメラコマンドを出力することができ、通信インターフェースがカメラ
コマンドをカメラ(例えば、570)に通信することができる。一実施形態において、ス
テップ451は、検証記号を複数の参照箇所に動かすようにロボットアームを制御するこ
とと、カメラによって取り込まれた複数のそれぞれの検証画像を受信することとを含むこ
とができる。例えば、図6A及び図6Bに示されるように、休止期間中に、ロボット制御
システム110は、検証記号530を参照箇所610A~610Iのうちの1つに動かし
、その位置における検証記号530の画像を検証画像として取り込むように、ロボット5
50のロボットアームを制御することができる。休止期間がまだ終わっていない場合、よ
り具体的には、休止期間に十分な長さの時間が残っている場合には、ロボット制御システ
ム110は、検証記号530を参照箇所610A~610Iのうちの別の位置に動かし、
その位置における検証記号530の画像を別の検証画像として取り込むように、ロボット
550のロボットアームを制御することができる。休止期間が終了する場合には、ロボッ
ト制御システム110は、検証画像を取り込むのを中止することができる。その場合に、
各休止期間中に、ロボット制御システム110は、検証記号530を参照箇所610A~
610Iのうちの1つ以上に動かし、参照箇所610A~610Iの1つ以上のそれぞれ
の参照箇所において検証画像を取り込むように、ロボット550のロボットアームを制御
することができる。
【0060】
図4Bに戻ると、方法400はステップ455を更に含むことができ、そのステップで
は、制御回路111が、検証のために使用される検証画像座標を特定し、検証画像座標は
、検証画像内に検証記号が現れる座標である。検証記号(例えば、530)が複数の参照
箇所(例えば、610A~610I)に動かされる場合には、カメラ(例えば、570)
が複数の参照箇所にそれぞれ対応する複数の検証画像を取り込むことができ、制御回路1
11が、複数の検証画像にそれぞれ対応し、複数の参照箇所にそれぞれ対応する複数の検
証画像座標を特定することができる。複数の検証画像は全て、カメラ(例えば、570)
によって単一の休止期間において取り込まれる場合があるか(例えば、単一の休止期間が
、ロボットアームが検証記号(例えば、530)を全ての参照箇所610A~610Iに
動かすことができるほど十分に長い場合)、又は複数の異なる休止期間において取り込ま
れる場合がある(例えば、各休止期間が、ロボットアームが検証記号530を全ての参照
箇所610A~610Iに動かすほど十分に長くない場合)。
【0061】
一実施形態において、検証画像座標は、参照画像座標と同じようにして特定することが
できる。例えば、検証画像座標は検証記号(例えば、530)の中心座標とすることがで
き、検証画像(例えば、760)内の検証記号(例えば、530)の第1の形状の中心座
標と、検証記号の第2の形状の中心座標との平均として特定することができる。例えば、
図7Bは、参照箇所のうちの参照箇所Nにおいて取り込まれた検証画像760を示す。検
証画像760は検証部分780を示し、その部分は、検証記号530を示す検証画像76
0内の画像部分である。ロボット制御システム110は、検証部分780から、図5C
検証記号530の第1の形状585と同じ、又は実質的に同じである第1の形状785を
識別することができる。ロボット制御システム110は更に、検証部分780から、検証
記号530の第2の形状587と同じ、又は実質的に同じである第2の形状787を識別
することができる。さらに、ロボット制御システム110は、検証画像760の検証部分
780内に示される第1の形状785の中心座標
【数11】
を特定し、検証画像760の検証部分780内に示される第2の形状787の中心座標
【数12】
を特定するように構成することができる。ロボット制御システム110は更に、以下のよ
うに、検証画像座標760に関する検証画像座標
【数13】
を、検証画像760内の第1の形状785の中心座標と第2の形状787の中心座標との
平均として特定することができる。
【数14】
【0062】
図4Bに戻ると、方法400はステップ457を更に含むことができ、そのステップで
は、制御回路111が、ステップ403の参照画像座標とステップ455の検証画像座標
との間の偏差量に基づいて、偏差パラメーター値を特定し、参照画像座標及び検証画像座
標はいずれも参照箇所Nに関連付けられる。一例において、参照画像座標と検証画像座標
との間の偏差は、参照画像座標と検証画像座標との間の距離とすることができる。例えば
、参照箇所Nにおける参照画像座標が
【数15】
と表され、参照箇所Nにおける検証画像座標が
【数16】
と表されると仮定すると、参照箇所Nにおける偏差(例えば、距離)は
【数17】
と表すことができる。
【0063】
上記で論じられたように、1つ以上の参照箇所が複数の参照箇所である態様では、制御
回路111は、複数の参照箇所にそれぞれ対応する複数の検証画像座標を特定するように
構成することができ、上記で論じられた検証画像座標は複数の検証画像座標のうちの1つ
である。そのような態様において、偏差パラメーター値は、複数の参照箇所に関する複数
の参照画像座標と複数の検証画像座標との間の複数のそれぞれの偏差量に基づき、複数の
それぞれの偏差量のうちの各偏差量は、(a)複数の参照箇所のそれぞれの参照箇所に対
応する参照画像座標と、(b)同じ参照箇所に対応する検証画像座標との間の偏差量であ
る。複数の検証画像座標は、複数の検証画像内に検証記号が現れるそれぞれの座標とする
ことができ、上記で論じられた検証画像は複数の検証画像のうちの1つである。制御回路
111は、1つの休止期間内に複数の検証画像の全てを取り込むように、カメラを制御す
るように構成することができ、及び/又は異なる休止期間内に複数の検証画像を取り込む
ように、カメラを制御するように構成することができる。
【0064】
例えば、図6A及び図6Bに示されるように、複数の参照箇所が存在するとき、ロボッ
ト制御システム110は、複数の参照箇所に対応する複数のそれぞれの参照画像座標を特
定することができ、複数の参照箇所に対応する複数のそれぞれの検証画像座標を特定する
ことができ、複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量を特定
することができる。偏差パラメーター値は、複数の参照画像座標と複数の検証画像座標と
の間のそれぞれの偏差量に基づくことができる。例えば、偏差パラメーターは、以下のよ
うに、それぞれの偏差量の平均とすることができる。
【数18】
【0065】
上記の式において、Nは第Nの参照箇所を指すことができ、一方、Mは参照箇所の全数
を指すことができる。
【0066】
図4Bに戻ると、方法400はステップ459を更に含むことができ、そのステップで
は、制御回路111が、偏差パラメーター値が規定された閾値(規定された偏差閾値と呼
ばれる場合もある)を超えるか否かを判断する。さらに、ステップ461において、制御
回路111が、偏差パラメーター値が規定された閾値を超えると判断するのに応答して、
第2のカメラキャリブレーションを実行し、カメラに関する更新されたカメラキャリブレ
ーション情報を特定することができる。例えば、規定された閾値を超える偏差パラメータ
ー値は、カメラのカメラキャリブレーション情報が古くなり、及び/又はロボット操作に
おいて望ましくない誤差量を生じさせる可能性が高いことを示す場合がある。それゆえ、
偏差パラメーター値が規定された閾値を超える場合には、カメラに関する第2のカメラキ
ャリブレーションを実行して、カメラ(例えば、570)に関するカメラキャリブレーシ
ョン情報を更新することができる。第2のカメラキャリブレーションは第1のカメラキャ
リブレーションと同じ技法を使用することができるが、カメラによって第1のカメラキャ
リブレーションより後に取り込まれた画像に基づくことができる。一例において、ステッ
プ459が、偏差パラメーター値が規定された閾値を超えることを示す場合には、ロボッ
ト操作を中止又は中断することができ、その後、第2のカメラキャリブレーションを実行
し始めることができ、第2のカメラキャリブレーションは、第2のカメラキャリブレーシ
ョンのための画像を取り込むことによって開始することができる。第2のカメラキャリブ
レーションが完了し、カメラに関するカメラキャリブレーション情報が更新された後に、
ロボット制御システム110は、更新されたカメラキャリブレーション情報を用いて、ロ
ボット操作を再開することができる。
【0067】
一実施形態において、制御回路111は、偏差パラメーター値が規定された閾値を超え
ないと判断するのに応答して、更なるカメラキャリブレーションを実行することなく(例
えば、通信インターフェースを介してロボットに第4の動作コマンドを出力することによ
って)、休止期間後にロボット操作を継続するように、ロボットを制御するように構成す
ることができる。そのような条件は、ステップ401からのカメラキャリブレーション情
報が依然として十分に正確であること、及び望ましくない誤差量を受けることなく、ロボ
ット操作が継続できることを示すことができる。
【0068】
一実施形態において、制御回路111は、ロボットが位置する環境の温度を特定し、測
定された温度に基づいて、規定された偏差閾値(偏差閾値を再規定するとも呼ばれる)又
はカメラに関するカメラキャリブレーション情報の少なくとも一方を調整するように構成
することができる。例えば、制御回路111は、温度を測定することによって、又は別の
デバイス若しくは構成要素から温度データを受信することによって、環境の温度を特定す
ることができる。そのような実施形態において、制御回路111は、測定された温度が規
定範囲外にあるとき、規定された閾値を第1の値を有するように設定し、測定された温度
が規定範囲内にあるとき、閾値を第1の値より低い第2の値を有するように設定すること
によって、測定された温度に基づいて、規定された閾値を調整するように構成することが
できる。例えば、過度に高い温度又は過度に低い温度は、カメラに変化を引き起こす場合
がある。より具体的には、温度変化は、カメラの固有パラメーターに影響を及ぼす場合が
ある。例えば、カメラ内の構成要素は、温度が上昇するときに膨張し、温度が降下すると
きに収縮する場合があり、それがカメラの固有パラメーターに影響を及ぼす場合がある。
それゆえ、温度又は温度変化の量に基づいて、規定された偏差閾値を調整することが有利
な場合がある。例えば、温度が正常動作温度の範囲(例えば、周囲の室温に基づいて規定
された範囲)内にあるとき、その温度はカメラに悪影響を及ぼさないので、規定された偏
差閾値が下げられる場合がある。一方、温度が、正常動作温度の範囲外にあるとき、低温
又は高温がカメラに悪影響を及ぼすので、偏差閾値が上げられる場合がある。代替の例に
おいて、偏差閾値は、更なるカメラキャリブレーションをより頻繁にトリガーするために
、温度が正常動作温度外にあるとき、より低くなるように規定することができる。この例
において、偏差閾値は、温度が正常動作温度内にあるときに、更なるカメラキャリブレー
ションをトリガーする頻度を下げるために、偏差閾値は、より高くなるように規定するこ
とができる。
【0069】
図8は、カメラキャリブレーション及びカメラキャリブレーションの検証が実行される
例示的なタイムライン800を示す。ロボット操作が開始する前に、図1A又は図1B
ロボット制御システム110は、キャリブレーション期間811中に、第1のカメラキャ
リブレーションを実行し、カメラ(例えば、図5A又は図5Bのカメラ570)に関する
カメラキャリブレーション情報を特定する。第1のカメラキャリブレーションが完了した
後に、ロボット制御システム110は、参照取得期間813中に、種々の参照箇所におい
て検証記号(例えば、検証記号530)の参照画像を取り込み、それぞれの参照画像(例
えば、図7Aの参照画像710)内に検証記号が現れる参照画像座標を特定する。参照画
像座標を特定すると、参照取得期間813後に、ロボット操作を開始することができる。
【0070】
ロボット操作が開始した後に、作業期間815中に、ロボット制御システム110は1
つの以上のロボット作業を実行するようにロボット(例えば、図5A又は図5Bのロボッ
ト550)を制御し、それゆえ、一実施形態では、検証画像(例えば、図7Bの検証画像
760)を収集できない場合がある。ロボット制御システム110は、作業期間815後
にロボットがロボット作業を実行していない休止期間817を検出する。それゆえ、休止
期間817中に、ロボット制御システム110は、参照箇所のうちの第1の組の1つ以上
の参照箇所(例えば、610A及び610B)においてそれぞれ、検証記号の1つ以上の
検証画像を取り込む。休止期間817が終了した後、作業期間819中に、ロボット制御
システム110は、1つ以上のロボット作業を実行するようにロボットを制御するのを再
開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム110は、作
業期間819後に、ロボットがロボット作業を実行していない休止期間821を検出する
。休止期間821中に、ロボット制御システム110は、参照箇所のうちの第2の組の1
つ以上の参照箇所(例えば、610C~610E)においてそれぞれ、検証記号の1つ以
上の検証画像を取り込む。休止期間821後、ロボット作業期間823中に、ロボット制
御システム110は、1つ以上のロボット作業を実行するようにロボットを制御するのを
再開し、それゆえ、検証画像を収集しない場合がある。ロボット制御システム110は、
作業期間823後にロボットがロボット作業を実行していない休止期間825を検出する
。休止期間825中に、ロボット制御システム110は、参照箇所のうちの第3の組の1
つ以上の位置(例えば、610F~610I)においてそれぞれ、検証記号の1つ以上の
検証画像を取り込む。
【0071】
休止期間817、821及び825中に取り込まれる検証画像(例えば、760)は、
参照箇所のうちの異なるそれぞれの位置において取り込むことができる。例えば、第1の
組、第2の組及び第3の組の1つ以上の位置は、互いに異なることができ、重ならないよ
うにすることができる。さらに、休止期間825中に、ロボット制御システム110は、
検証画像取込が完了したと判断することができ、それは、カメラキャリブレーションの検
証のために十分な数の検証画像が取り込まれたことを示すことができる。一実施形態にお
いて、ロボット制御システム110は、全ての参照箇所(例えば、610A~610I)
において検証画像が取り込まれた場合に、検証画像取込が完了したと判断することができ
る。一実施形態において、ロボット制御システム110は、検証画像の数が規定された目
標総数に達した場合に、検証画像取込が完了したと判断することができる。
【0072】
検証画像取込が完了したと判断すると、ロボット制御システム110は、それぞれの検
証画像内に検証記号が現れる検証画像座標を特定する。その後、ロボット制御システム1
10は、参照画像座標からの検証画像座標のそれぞれの偏差量に基づいて、偏差パラメー
ター値を特定する。偏差パラメーターが規定された閾値を超える場合には、ロボット制御
システム110は、別のカメラキャリブレーションを実行する。しかしながら、この例で
は、偏差パラメーターは規定された閾値を超えず、それゆえ、ロボット制御システム11
0は、更なるカメラキャリブレーションを実行することなく、休止期間825後、作業期
間827中にロボット作業を実行し続ける。
【0073】
図9は、図8のタイムラインに関連する検証プロセスを示す例示的なフロー図900
示す。ステップ901において、図1A図1B又は図1Cのロボット制御システム11
0が、カメラ(例えば、図5A又は図5Bのカメラ570)の第1のカメラキャリブレー
ションを実行し、カメラのカメラキャリブレーション情報を特定する。ステップ903に
おいて、ロボット制御システム110が、検証記号(例えば、図5A又は図5Bの検証記
号530)を参照箇所に動かすように、ロボット(例えば、図5A又は図5Bのロボット
550)を制御し、カメラを介して、それぞれの参照箇所において検証記号の参照画像(
例えば、図7Aの参照画像710)のそれぞれの事例を取り込む。ステップ905におい
て、ロボット制御システム110が、第1のカメラキャリブレーションから得られるカメ
ラキャリブレーション情報に基づいて、ロボットのロボット操作を開始する。
【0074】
ステップ907において、ロボット制御システム110が、ロボット操作中に休止期間
を検出する。ステップ909において、ロボット制御システム110が、休止期間中に検
証記号(例えば、図5A又は図5Bの検証記号530)を参照箇所のうちの1つ以上の参
照箇所に動かすように、ロボット(例えば、図5A又は図5Bのロボット550)を制御
し、カメラを介して、参照箇所のうちの1つ以上の参照箇所においてそれぞれ1つ以上の
検証画像(例えば、図7Bの検証画像760)を取り込む。場合によっては、ロボット制
御システム110は、検証記号を、休止期間の持続時間が許すだけ多くの参照箇所に動か
すようにロボットを制御することができる。ステップ911において、ロボット制御シス
テム110が、取り込まれた検証画像の全数が規定された目標総数に達したか否かを判断
する。取り込まれた検証画像の全数が目標総数に達していなかった場合には、ロボット制
御システム110は、より多くの検証画像を取り込むために、ステップ907に戻ること
によって、ロボット操作中に別の後続の休止期間を検出しようと試みる。
【0075】
取り込まれた検証画像の全数が目標総数に達していた場合には、ステップ913におい
て、ロボット制御システム110は、参照画像(例えば、710)及び検証画像(例えば
、760)に基づいて、カメラキャリブレーションの検証を実行する。カメラキャリブレ
ーションの検証は、偏差パラメーターを生成する。ステップ915において、ロボット制
御システム110が、偏差パラメーターが規定された閾値を超えるか否かを判断する。偏
差パラメーターが閾値を超えていない場合には、ロボット制御システム110は、ステッ
プ919において、取り込まれた検証画像の全数を0にリセットすることができ、休止期
間後にロボット操作を継続することができ、その一方で、ステップ907に戻ることによ
って、新たな1組の検証画像を取り込むために別の休止期間を検出しようと試みる。
【0076】
偏差パラメーターが閾値を超える場合には、ロボット制御システム110は、ロボット
操作を中止し、ステップ917において、第2のカメラキャリブレーションを実行するこ
とができる。917における第2のカメラキャリブレーション後に、ロボット制御システ
ム110は、921において、取り込まれた検証画像の全数を0にリセットすることがで
きる。ステップ921後に、そのフロー図はステップ903に戻ることができ、ロボット
制御システム110が、検証記号(例えば、530)を参照箇所に動かすように、ロボッ
ト(例えば、550)を制御し、カメラ(例えば、570)を介して、それぞれの参照箇
所において検証記号の新たな1組の参照画像(例えば、710)を取り込み、それにより
、後の検証のために、新たな1組の参照画像を使用できるようになる。
【0077】
種々の実施形態の更なる検討
実施形態1は、ベースと、その上に配置される検証記号を有するロボットアームとを有
するロボットと通信し、カメラ視野を有するカメラと通信するように構成される通信イン
ターフェースを備えるロボット制御システムに関連する。ロボット制御システムは、第1
のカメラキャリブレーションを実行し、カメラに関連付けられるカメラキャリブレーショ
ン情報を特定するように構成される制御回路を更に備える。制御回路は、a)通信インタ
ーフェースを介して、ロボットに第1の動作コマンドを出力することによって、第1のカ
メラキャリブレーション中又は後に、検証記号をカメラ視野内の位置に動かすようにロボ
ットアームを制御することであって、その位置は第1のカメラキャリブレーションの検証
のための1つ以上の参照箇所のうちの参照箇所である、ロボットアームを制御することと
、b)通信インターフェースを介して、カメラから検証記号の画像を受信することであっ
て、カメラは参照箇所において検証記号の画像を取り込むように構成され、画像は検証の
ための参照画像である、検証記号の画像を受信することと、c)検証のための参照画像座
標を特定することであって、参照画像座標は参照画像内に検証記号が現れる座標である、
参照画像座標を特定することと、d)通信インターフェースを介して、ロボットにカメラ
キャリブレーション情報に基づく第2の動作コマンドを出力することによって、カメラキ
ャリブレーション情報に基づいて、ロボット操作を実行するようにロボットアームの動作
を制御することと、e)ロボット操作中に休止期間を検出することと、f)通信インター
フェースを介して、ロボットに第3の動作コマンドを出力することによって、休止期間中
に、検証記号を少なくとも参照箇所に動かすようにロボットアームを制御することと、g
)休止期間中に、通信インターフェースを介して、カメラから検証記号の更なる画像を受
信することであって、カメラは少なくともその参照箇所において検証記号の更なる画像を
取り込むように構成され、更なる画像は検証のための検証画像である、検証記号の更なる
画像を受信することと、h)検証のために使用される検証画像座標を特定することであっ
て、検証画像座標は検証画像内に検証記号が現れる座標である、検証画像座標を特定する
ことと、i)参照画像座標と検証画像座標との間の偏差量に基づいて偏差パラメーター値
を特定することであって、参照画像座標及び検証画像座標はいずれもその参照箇所に関連
付けられ、偏差パラメーター値は、第1のカメラキャリブレーション以降のカメラの変化
、又は第1のカメラキャリブレーション以降のカメラとロボットとの間の関係の変化を示
す、偏差パラメーター値を特定することと、j)偏差パラメーター値が規定された閾値を
超えるか否かを判断することと、k)偏差パラメーター値が規定された閾値を超えると判
断することに応答して、第2のカメラキャリブレーションを実行し、更新されたカメラキ
ャリブレーション情報を特定することとを行うように更に構成される。
【0078】
実施形態2は、実施形態1のロボット制御システムを含み、制御回路は、偏差パラメー
ター値が規定された閾値を超えないと判断することに応答して、通信インターフェースを
介して、ロボットに第4の動作コマンドを出力することによって、更なるカメラキャリブ
レーションを実行することなく、休止期間後にロボット操作を継続するように、ロボット
を制御するように構成される。
【0079】
実施形態3は実施形態1又は2のロボット制御システムを含み、1つ以上の参照箇所は
、複数の参照画像座標にそれぞれ対応する複数の参照箇所であり、前述の参照画像座標は
複数の参照画像座標のうちの1つである。この実施形態では、制御回路は、複数の参照箇
所にそれぞれ対応する複数の検証画像座標を特定するように更に構成され、検証画像座標
は複数の検証画像座標のうちの1つであり、偏差パラメーター値は、複数の参照箇所に関
する複数の参照画像座標と複数の検証画像座標との間のそれぞれの偏差量に基づき、それ
ぞれの偏差量のうちの各偏差量は、(a)複数の参照箇所のそれぞれの参照箇所に対応す
る参照画像座標と、(b)同じ参照箇所に対応する検証画像座標との間の偏差量である。
【0080】
実施形態4は実施形態3のロボット制御システムを含み、複数の検証画像座標は、複数
の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は複数の検証画像のう
ちの1つであり、制御回路は、休止期間内に複数の検証画像の全てを取り込むように、カ
メラを制御するように構成される。
【0081】
実施形態5は実施形態3のロボット制御システムを含み、複数の検証画像座標は、複数
の検証画像内に検証記号が現れるそれぞれの座標であり、検証画像は複数の検証画像のう
ちの1つであり、制御回路は、異なる休止期間内に複数の検証画像を取り込むように、カ
メラを制御するように構成され、休止期間は異なる休止期間のうちの1つである。
【0082】
実施形態6は実施形態1~5のいずれか1つのロボット制御システムを含み、検証記号
は第1の色を有する第1の領域と、第2の色を有する第2の領域とを含み、第1の領域の
面積と第2の領域の面積との比が規定され、規定された比としてロボット制御システムの
記憶デバイス上に記憶される。
【0083】
実施形態7は実施形態6のロボット制御システムを含み、制御回路が、規定された比に
基づいて、参照画像又は検証画像内の検証記号を識別するように構成される。
【0084】
実施形態8は実施形態7のロボット制御システムを含み、ロボットアームがその上に配
置されるキャリブレーションパターンを有し、参照画像は検証記号及びキャリブレーショ
ンパターンを含み、制御回路は、参照画像の部分が第1の色を有する第1の画像領域を有
するか、及び第2の色を有する第2の画像領域を有するかを判断し、第1の画像領域の面
積と第2の画像領域の面積との比が規定された比に等しいか否かを判断することによって
、参照画像の部分が検証記号であるか、又はキャリブレーションパターンであるかを判断
するように構成される。
【0085】
実施形態9は実施形態1~8のいずれか1つのロボット制御システムを含み、検証記号
は、互いに同心である第1の形状及び第2の形状を含み、第1の形状及び第2の形状のそ
れぞれの中心は実質的に同じ位置である。
【0086】
実施形態10は実施形態9のロボット制御システムを含み、制御回路は、a)参照画像
内の第1の形状の中心の第1の座標を特定することと、b)参照画像内の第2の形状の中
心の第2の座標を特定することと、c)参照画像内の第1の座標及び第2の座標の平均と
して参照画像座標を特定することとによって、参照画像座標を特定するように構成される
。この実施形態では、制御回路は、d)検証画像内の第1の形状の中心の第1の座標を特
定することと、e)検証画像内の第2の形状の中心の第2の座標を特定することと、f)
検証画像内の第1の座標及び第2の座標の平均として検証画像座標を特定することとによ
って、検証画像座標を特定するように構成される。
【0087】
実施形態11は実施形態1~10のいずれか1つのロボット制御システムを含み、制御
回路は、円形リングを識別することによって、参照画像又は検証画像内の検証記号を識別
するように構成され、検証記号は円形リングとして形成される。
【0088】
実施形態12は実施形態1~11のいずれか1つのロボット制御システムを含み、制御
回路は、ロボットが位置する環境の温度を特定し、測定された温度に基づいて、規定され
た閾値又はカメラキャリブレーション情報のうちの少なくとも一方を調整するように更に
構成される。
【0089】
実施形態13は実施形態12のロボット制御システムを含み、制御回路は、温度が規定
範囲外にあるとき、規定された閾値を第1の値を有するように設定し、温度が規定範囲内
にあるとき、閾値を第1の値より低い第2の値を有するように設定することによって、温
度に基づいて、規定された閾値を調整するように構成される。
【0090】
実施形態14は実施形態1~13のいずれか1つのロボット制御システムを含み、制御
回路が、ロボットアームを介して検証記号を動かすように構成される1つ以上の参照箇所
は、カメラに対して凹形である球の表面上に配置される複数の参照箇所を含む。
【0091】
実施形態15は実施形態14のロボット制御システムを含み、制御回路は、複数の参照
箇所の各参照箇所において検証記号が球の表面に対して接線方向に向くように動かすため
に、ロボットアームを制御するように更に構成される。
【0092】
実施形態16は実施形態1~15のいずれか1つのロボット制御システムを含み、制御
回路は、検証記号が参照箇所に動かされるときに、カメラの真正面を向くように検証記号
を動かすために、ロボットアームを制御するように構成される。
【0093】
実施形態17は実施形態1~16のいずれか1つのロボット制御システムを含み、制御
回路は、ロボット操作中にロボットがロボット作業を実行していない期間を検出すること
によって、ロボット操作の休止期間を検出するように構成される。
【0094】
実施形態18は実施形態17のロボット制御システムを含み、制御回路は、ロボットア
ームによって到達可能であるコンベヤベルト上の物体と相互作用するように、ロボットア
ームを制御するように構成され、制御回路は、コンベヤベルト上に物体がないことを検出
することによって、又はロボットと、コンベヤベルト上の最も近い物体との間の距離が規
定された距離閾値を超えることを検出することによって、休止期間を検出するように構成
される。
【0095】
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の
単なる説明及び例として提示されていることを理解すべきである。形式及び細部における
種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができるこ
とは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、
上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の
範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考され
た各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施
形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書にお
いて論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部
をなす。
図1A
図1B
図1C
図1D
図2
図3
図4A
図4B
図5A
図5B
図5C
図6A
図6B
図7A
図7B
図8
図9