(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-19
(45)【発行日】2024-01-29
(54)【発明の名称】較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置
(51)【国際特許分類】
B25J 19/04 20060101AFI20240122BHJP
B25J 13/08 20060101ALI20240122BHJP
G06T 7/80 20170101ALI20240122BHJP
【FI】
B25J19/04
B25J13/08 A
G06T7/80
(21)【出願番号】P 2020064455
(22)【出願日】2020-03-31
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】110001771
【氏名又は名称】弁理士法人虎ノ門知的財産事務所
(72)【発明者】
【氏名】中野 芳宏
【審査官】松浦 陽
(56)【参考文献】
【文献】特許第6671694(JP,B2)
【文献】特開2017-102755(JP,A)
【文献】特開2019-150911(JP,A)
【文献】特開2014-199584(JP,A)
【文献】特開2012-218119(JP,A)
【文献】特開2015-024480(JP,A)
【文献】特開平06-203166(JP,A)
【文献】特開2018-001393(JP,A)
【文献】特開2015-100868(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G06T 7/80
(57)【特許請求の範囲】
【請求項1】
ロボットアームと、撮像装置と、較正装置と、を備える較正システムであって、
前記ロボットアームは、
把持対象物を把持する把持部を先端に備え、
前記撮像装置は、
前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成し、
前記較正装置は、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する変換部と、
を備える、較正システム。
【請求項2】
前記所定の方向
及び所定の位置からの撮像に応じて前記ロボットアームを所定量だけ駆動させるロボット制御部と、
前記撮像に関する所定のタイミングにおける前記第2座標情報を前記ロボットアームの関節角に基づいて生成する第2座標生成部と、
1つ以上の前記第1座標情報と
、前記第1座標情報と同じ数の前記ロボットアームの関節角に基づいて生成された前記第2座標情報とに基づいて、前記第1座標情報を前記第2座標情報に座標変換する前記座標変換情報を生成する座標変換情報生成部と、
をさらに備える、請求項1に記載の較正システム。
【請求項3】
前記座標変換情報生成部は、前記第1座標情報と前記第2座標情報との差分が所定の条件を満たすように前記座標変換情報を生成する、請求項2に記載の較正システム。
【請求項4】
前記第2座標生成部は、前記関節角の回転方向及び並進位置における誤差に関する情報を含む誤差第2座標情報を生成し、
前記座標変換情報生成部は、前記第1座標情報と前記誤差第2座標情報とに基づいて前記座標変換情報を生成する、請求項2又は3に記載の較正システム。
【請求項5】
ロボットアームと、撮像装置と、較正装置と、を備える情報処理システムであって、
前記ロボットアームは、
把持対象物を把持する把持部を先端に備え、
前記撮像装置は、
前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成し、
前記較正装置は、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記撮像に関する所定のタイミングにおける第2座標情報を前記ロボットアームの関節角に基づいて生成する第2座標生成部と、
1つ以上の前記第1座標情報と
、前記第1座標情報と同じ数の前記ロボットアームの関節角に基づいて生成された前記第2座標情報とに基づいて、前記第1座標情報を前記第2座標情報に座標変換する座標変換情報を生成する座標変換情報生成部と、
を備える、情報処理システム。
【請求項6】
ロボットアームと、撮像装置と、較正装置と、を備えるロボット制御システムであって、
前記ロボットアームは、
把持対象物を把持する把持部を先端に備え、
前記撮像装置は、
前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成し、
前記較正装置は、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する変換部と、
前記所定の方向
及び所定の位置からの撮像に応じて前記ロボットアームを所定量だけ駆動させるロボット制御部と、
を備える、ロボット制御システム。
【請求項7】
把持対象物を把持する把持部を先端に備えたロボットアームと、前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する撮像装置と、較正装置と、を備える較正システムが実行する較正方法であって、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成し、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する、
較正方法。
【請求項8】
把持対象物を把持する把持部を先端に備えたロボットアームと、前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する撮像装置と、較正装置と、を備える情報処理システムが実行する情報処理方法であって、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成し、
前記撮像に関する所定のタイミングにおける第2座標情報を前記ロボットアームの関節角に基づいて生成し、
1つ以上の前記第1座標情報と
、前記第1座標情報と同じ数の前記ロボットアームの関節角に基づいて生成された前記第2座標情報とに基づいて、前記第1座標情報を前記第2座標情報に座標変換する座標変換情報を生成する、
情報処理方法。
【請求項9】
把持対象物を把持する把持部を先端に備えたロボットアームと、前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する撮像装置と、較正装置と、を備えるロボット制御システムが実行するロボット制御方法であって、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する変換部と、
前記所定の方向
及び所定の位置からの撮像に応じて前記ロボットアームを所定量だけ駆動させるロボット制御部と、
を備える、ロボット制御方法。
【請求項10】
把持対象物を把持する把持部を先端に備えたロボットアームと、前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する撮像装置と接続される較正装置により実行される較正プログラムであって、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成し、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する、
較正プログラム。
【請求項11】
把持対象物を把持する把持部を先端に備えたロボットアームと、前記ロボットアームを所定の方向
及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する撮像装置と接続される情報処理装置により実行される情報処理プログラムであって、
前記ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成し、
前記撮像に関する所定のタイミングにおける第2座標情報を前記ロボットアームの関節角に基づいて生成し、
1つ以上の前記第1座標情報と
、前記第1座標情報と同じ数の前記ロボットアームの関節角に基づいて生成された前記第2座標情報とに基づいて、前記第1座標情報を前記第2座標情報に座標変換する座標変換情報を生成する、
情報処理プログラム。
【請求項12】
把持対象物を把持する把持部を先端に備えたロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される、前記ロボットアームを撮像する撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する第2座標生成部と、
を備える較正装置。
【請求項13】
把持対象物を把持する把持部を先端に備えたロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される、前記ロボットアームを撮像する撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記撮像に関する所定のタイミングにおける第2座標情報を前記ロボットアームの関節角に基づいて生成する第2座標生成部と、
1つ以上の前記第1座標情報と
、前記第1座標情報と同じ数の前記ロボットアームの関節角に基づいて生成された前記第2座標情報とに基づいて、前記第1座標情報を前記第2座標情報に座標変換する座標変換情報を生成する座標変換情報生成部と、
を備えた情報処理装置。
【請求項14】
把持対象物を把持する把持部を先端に備えたロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と
X’軸、Y’軸及びZ’軸により規定される、前記ロボットアームを撮像する撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向
及び所定の位置から撮像した撮像画像と、に基づいて、前
記カメラ座標系における前記把持部の位置を示す第1座標情報を生成する第1座標生成部と、
前記第1座標情報を前記ロボットアームを基準とするロボット座標系における前記把持部の位置を示す第2座標情報
に座標変換する座標変換処理に用いられる座標変換情
報に基づいて、前記第1座標情報を第2座標情報に座標変換する変換部と、
前記所定の方向
及び所定の位置からの撮像に応じて前記ロボットアームを所定量だけ駆動させるロボット制御部と、
を備える、ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置に関する。
【背景技術】
【0002】
バラ積みされた複数の対象物(ワーク)をロボットアーム等により把持するために、ロボットアームの3次元位置を認識する技術が知られている。その際、ロボットアームを撮像した画像を含む教師データを用いて、ロボットアームの位置を画像から推定するための学習モデルを生成する技術が知られている。ロボットアームとカメラとの位置関係を調整する際に、カメラによる認識対象となる二次元コードやカラーパターン等のマーカをロボットアームに付して、マーカをカメラで検出する場合がある。この場合において、カメラで撮像することにより検出されたマーカの位置が、学習処理における教師データとして用いられる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-144152号公報
【文献】特開2019-171540号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、検出対象となるロボットアームの指先である把持部の位置にマーカを付することは難しいため、位置関係の調整を正確に行えない場合がある。正確に位置関係の調整を行うには、例えば、ロボットアームの把持部を専用の治具に取り換える等の作業が必要となる。
【0005】
本発明は、上記課題を一例とするものであり、ロボットアームとカメラとの位置関係を容易に調整できる較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る画像処理装置は、ロボットアームと、撮像装置と、較正装置とを備える。ロボットアームは、把持対象物を把持する把持部を先端に備える。撮像装置は、ロボットアームを所定の方向及び所定の位置から撮像することで少なくとも1つの撮像画像を生成する。較正装置は、第1座標生成部と、変換部とを備える。第1座標生成部は、ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像とX’軸、Y’軸及びZ’軸により規定される前記撮像装置を基準としたカメラ座標系における前記仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向及び所定の位置から撮像した撮像画像と、に基づいて、カメラ座標系における把持部の位置を示す第1座標情報を生成する。変換部は、前記第1座標情報をロボットアームを基準とするロボット座標系における把持部の位置を示す第2座標情報に座標変換する座標変換処理に用いられる座標変換情報に基づいて、第1座標情報を第2座標情報に座標変換する。
【発明の効果】
【0007】
本発明の一態様によれば、ロボットアームとカメラとの位置関係を容易に調整できる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1の実施形態に係る較正システムの一例を示す図である。
【
図2】
図2は、ロボット座標系とカメラ座標系との関係の一例を示す図である。
【
図3】
図3は、第1の実施形態に係る較正システムの構成の一例を示すブロック図である。
【
図4】
図4は、把持部の3次元モデルの一例を示す図である。
【
図5】
図5は、把持部の3次元モデルが配置された仮想空間のキャプチャ画像の一例を示す図である。
【
図6】
図6は、第1の実施形態に係る学習処理の一例を示すフローチャートである。
【
図7】
図7は、第1の実施形態に係る較正処理の一例を示すフローチャートである。
【
図8】
図8は、第2の実施形態に係る較正システムの構成の一例を示すブロック図である。
【
図9】
図9は、第2の実施形態に係る較正処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、実施形態に係る較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置について図面を参照して説明する。なお、この実施形態によりこの発明が限定されるものではない。また、図面における各要素の寸法の関係、各要素の比率などは、現実と異なる場合がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。また、1つの実施形態や変形例に記載された内容は、原則として他の実施形態や変形例にも同様に適用される。
【0010】
(第1の実施形態)
図1は、第1の実施形態に係る較正システムの一例を示す図である。
図1に示す較正システム1は、撮像装置20と、ロボットアーム30と、後に説明する、図示しない較正装置10とを備える。較正処理は、例えば、撮像装置20を設置するタイミングや、ロボットアーム30を起動するタイミングで実行される。
【0011】
撮像装置20は、ロボットアーム30の把持部31を含む画像を撮像し、較正装置10に出力する。第1の実施形態における撮像装置20には、例えば公知のステレオカメラ等、複数の画像を撮像できるカメラが用いられる。撮像装置20は、ロボットアーム30の把持部31及びワーク41、42等の両方を撮像可能な位置に設置される。撮像装置20は、後に説明するように、較正処理が実行される際に、ロボットアーム30の把持部31を含む作業領域を所定の回数(n回)撮像する。なお、第1の実施形態においては、撮像装置20の個別のレンズの歪みや、輝度の正規化、撮像装置20に含まれる複数のレンズ(ステレオセット)間での平行化等については、それぞれ既に較正済みであるものとする。
【0012】
較正装置10は、撮像装置20から出力された画像を用いて、ロボットアーム30等の位置を推定する。較正装置10は、例えば、較正処理において、撮像装置20から出力されたn枚の画像における座標系と、ロボットアーム30の関節角を基準とする座標系とに基づいて、後に説明する座標変換行列Dを生成する。較正装置10は、例えば、生成された座標変換行列Dを用いて、撮像装置20から出力された画像における座標系を、ロボットアーム30の関節角を基準とする座標系に座標変換する。また、較正装置10は、座標変換されたロボットアーム30の把持部31の位置やワーク41、42等の位置に基づいて、ロボットアーム30の動作を制御する信号を出力する。
【0013】
ロボットアーム30は、対象物を把持する把持部(グリッパ)31と、把持部31の位置を変化させる複数の関節32a乃至32fとを備える。ロボットアーム30は、例えば、較正装置10から出力された信号に基づいて、公知の制御手段により、複数の関節32a乃至32fの関節角を変化させる。これにより、ロボットアーム30は、把持部31を移動させ、ワーク41、42等を把持する動作を行う。ロボットアーム30は、例えば、後に説明するように、較正処理の際に撮像装置20が作業領域を撮像する前に、把持部31を移動させる。なお、ワーク41、42は、対象物の一例である。
【0014】
較正装置10により制御されたロボットアーム30及び把持部31の位置、すなわち実際にロボットアーム30及び把持部31が存在する位置は、
図1に示すX軸、Y軸及びZ軸により規定される座標系(以下において「ロボット座標系V」と表記する場合がある)により示される。また、撮像装置20により撮像されたロボットアーム30及び把持部31の位置、すなわち撮像された画像上におけるロボットアーム30及び把持部31の位置は、
図1に示すX’軸、Y’軸及びZ’軸により規定される座標系(以下において「カメラ座標系V’」と表記する場合がある。)により示される。カメラ座標系V’、及びロボット座標系Vは、例えば、それぞれ、以下の式(1)により示される。
【0015】
【0016】
較正装置10により制御されたロボットアーム30の把持部31の位置と、撮像装置20により撮像された把持部31の位置31’の、設計上の位置関係と実際に設置した際の位置関係との間には、ずれが生じる場合がある。この位置のずれは、例えば、撮像装置20に含まれるステレオセットの設計値と現物の機械的な誤差や、撮像装置20とロボットアーム30を設置した際の距離等の設計値との誤差に応じて生じる。
図2は、ロボット座標系とカメラ座標系との関係の一例を示す図である。
図2に示すように、実線で示すカメラ座標系V’におけるロボットアーム30の位置30’及び把持部31の位置31’と、破線で示すロボット座標系Vにおけるロボットアーム30及び把持部31の位置との間に、ずれが生じる。
【0017】
そこで、以下に示す式(2)により、カメラ座標系V’がロボット座標系Vに変換される。式(2)に示す座標変換行列Dは、例えば式(3)に示されるような、座標を変換するための回転並進行列である。なお、以下において、カメラ座標系V’とロボット座標系Vとのずれを調整するための座標の変換を、「較正」と表記する場合がある。
V = DV’ ・・・(2)
【0018】
【0019】
なお、式(3)において、例えば、tは3行1列の並進ベクトルである。また、例えば、Rは式(4)に示すような3行3列の回転行列である。すなわち、座標変換行列Dは、4行4列の行列で示される。なお、式(4)に示す回転行列は、カメラ座標系V’をX軸周りに回転させる行列の一例である。
【0020】
【0021】
座標変換行列Dを算出するには、まず、カメラ座標系V’における把持部31の位置31’と、ロボット座標系Vにおける把持部31の位置とを特定する必要がある。ロボット座標系Vにおける把持部31の位置は、例えば、各関節の座標系から見た、他の関節の座標系の回転及び並進により特定される。一方、上で述べたように、カメラ座標系V’における把持部31の位置31’を正確に特定するには、専用の治具等を用いる必要がある。
【0022】
そこで、第1の実施形態において、較正システム1は、学習モデルを用いて、カメラ座標系V’における把持部31の位置31’を推定する。その際、第1の実施形態においては、仮想空間上にロボットアーム30の把持部31の3次元モデルを配置し、仮想空間上でのロボットアーム30の把持部31の3次元モデルの位置の情報を画像から特定することにより、学習モデルの作成に用いられる教師データを取得する。第1の実施形態においては、把持部31の3次元モデルが配置された仮想空間をキャプチャしたキャプチャ画像と、キャプチャ画像における3次元モデルの位置情報(座標)との組み合わせが、教師データとして用いられる。
【0023】
また、第1の実施形態において、較正システム1は、i回目に撮像された画像から、学習モデルを用いて推定されたカメラ座標系V’における把持部31の位置31’を示す座標V’iを、ロボット座標系における把持部31のi回目の撮像時の位置31’を示す座標Viに変換する。その際、例えば、較正システム1は、座標V’iに対応する画像が撮像された際の把持部31のロボット座標系における位置を示す座標Viを算出する。座標Viは、例えば、ロボットアーム30の各関節の座標系から見た、他の関節の座標系の回転及び並進等に基づいて算出される。そして、較正システム1は、例えば、カメラ座標系V’における座標V’iと、ロボット座標系Vにおける座標Viとの誤差を用いて、座標変換行列Dを推定する。なお、以下において、各関節の座標系から見た、他の関節の座標系の回転及び並進を、「関節角の変位」と表記する場合がある。また、以下において、カメラ座標系V’における把持部31の位置31’に関する座標を「第1座標情報」と表記し、ロボット座標系Vにおける把持部31の位置に関する座標を「第2座標情報」と表記する場合がある。
【0024】
図3は、第1の実施形態に係る較正システムの構成の一例を示すブロック図である。
図3に示すように、較正装置10は、撮像装置20及びロボットアーム30と、ネットワークNWを通じて通信可能に接続されている。また、
図3に示すように、較正装置10は、通信部11と、入力部12と、表示部13と、記憶部14と、処理部15とを備える。
【0025】
通信部11は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信部11は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現され、撮像装置20から出力される画像のデータを受信するとともに、ロボットアーム30に出力する信号を送信する。
【0026】
入力部12は、処理部15に接続され、較正装置10の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理部15に出力する。例えば、入力部12は、スイッチ、ボタン、マウス、キーボード、タッチパネル等である。また、入力部12は、外部の入力装置を較正装置10に接続するためのインターフェース等であってもよい。
【0027】
表示部13は、処理部15に接続され、処理部15から出力される各種情報及び各種画像データを表示する。例えば、表示部13は、液晶モニタ、CRT(Cathode Ray Tube)モニタ、タッチパネル又は有機EL(Electro Luminescence)等によって実現される。
【0028】
記憶部14は、例えば、RAM(Random Access Memory)又は磁気記憶装置等の記憶装置により実現される。記憶部14には、処理部15により実行される各種のプログラムが記憶されている。また、記憶部14には、処理部15により各種のプログラムが実行される際に用いられる各種の数式や、撮像装置20から出力された画像等の各種のデータが一時的に記憶される。記憶部14は、学習モデル141と、座標変換情報142とを記憶する。
【0029】
学習モデル141は、撮像装置20から出力された画像から、ロボットアーム30の把持部31のカメラ座標系V’上の位置31’を推定する処理に用いられる。学習モデル141は、例えば、ニューラルネットワーク構造141aと学習パラメータ141bを備えている。ニューラルネットワーク構造141aは、例えば、畳み込みニューラルネットワークのような公知のネットワークを応用したネットワーク構造である。学習パラメータ141bは、例えば、畳み込みニューラルネットワークの畳み込みフィルタの重みであり、ロボットアームの把持部31のカメラ座標系V’における位置31’を推定するために学習され、最適化されるパラメータである。
【0030】
学習モデル141は、例えば、上で述べたような把持部31の3次元モデルが配置された仮想空間をキャプチャしたキャプチャ画像と、キャプチャ画像における3次元モデルの位置情報(座標)との組み合わせを教師データとして学習することにより生成される。学習モデル141は、例えば、後に説明する学習部152により生成され、又は更新される。
【0031】
座標変換情報142は、例えば、上で述べた、カメラ座標系V’をロボット座標系Vに変換するために用いられる座標変換行列Dである。座標変換情報142は、例えば、後に説明する変換情報生成部156により生成される。
【0032】
処理部15は、CPU(Central Processing Unit)等のプロセッサにより実現される。処理部15は、較正装置10全体を制御する。処理部15は、記憶部14に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理部15は、空間生成部151と、学習部152と、ロボット制御部153と、第1座標生成部154と、第2座標生成部155と、変換情報生成部156と、変換部157とを有することとなる。
【0033】
空間生成部151は、ロボットアーム30の把持部31の3次元モデルを含む仮想空間を生成する。空間生成部151は、ロボットアーム30の把持部31の3次元モデルを取得する。3次元モデルは、例えば公知の3Dスキャン等の手法により取得することができる。
【0034】
図4は、把持部の3次元モデルの一例を示す図である。
図4に示すように、ロボットアーム30の把持部31の3次元モデルにおいては、例えば、一対の把持部31a及び31bが示される。なお、
図4において破線で示されたマーカ33a及び33bは、把持部31a及び31bの位置を示すもので、後に説明する仮想空間においては図示されない。マーカ33a及び33bの位置情報は、例えば、生成された仮想空間に付加されるメタデータとして示される。
【0035】
次に、空間生成部151は、把持部31の3次元モデルを仮想空間上に配置する際の各種条件を設定する。配置する3次元モデルの数、位置、姿勢などの条件は、画像生成ソフトウェアがランダムに対象物を生成するように設定することも可能だが、これに限らず、較正装置10の管理者が任意に設定してもよい。
【0036】
次に、空間生成部151は、設定された条件に従い、仮想空間上に3次元モデルを配置する。仮想空間への3次元モデルの配置は、例えば公知の画像生成ソフトウェア等を用いて行うことができる。3次元モデルが配置された仮想空間については、後に詳しく説明する。
【0037】
空間生成部151は、学習処理を行うために必要な数の教師データを確保するために、後に説明する学習部152におけるキャプチャが行われた後に、3次元モデルを配置する条件の設定と、仮想空間への3次元モデルの配置とを繰り返す。このように、3次元モデルを取得し、仮想空間上に配置することにより、仮想空間上において、任意のロボット座標系V上の位置に配置されるロボットアーム30の把持部31のカメラ座標系V’における位置をより正確に特定することができる。
【0038】
図3に戻って、学習部152は、ロボットアーム30の把持部31の3次元モデルが配置された仮想空間のデータを用いて、学習モデル141を生成又は更新するための学習処理を行う。学習部152は、例えば、ロボットアーム30の把持部31の3次元モデルが配置された仮想空間をキャプチャすることにより、配置されたロボットアーム30の把持部31の3次元モデルの位置を示す画像を取得する。
【0039】
図5は、把持部の3次元モデルが配置された仮想空間のキャプチャ画像の一例を示す図である。
図5に示すように、ロボットアーム30の把持部31の3次元モデルは、仮想空間上の設定された条件に従う位置に配置される。また、上で述べたように、仮想空間上に配置される3次元モデルが配置された仮想空間をキャプチャしたキャプチャ画像と、キャプチャ画像における3次元モデルの位置情報(座標)との組み合わせが、学習処理における教師データとして用いられる。
【0040】
なお、
図5に示すように、仮想空間上には、ワーク41、42等や、ワーク41、42が配置されるトレイ等のその他の物体の3次元モデルがさらに配置されていてもよい。また、
図5の把持部31a及び把持部91aに示すように、仮想空間上には、複数の把持部の3次元モデルがさらに配置されていてもよい。この場合、把持部31aの位置情報に加えて、把持部91aの位置情報や、ワーク41、42、トレイ等の位置情報も、教師データの一部として用いられる。
【0041】
なお、仮想空間において、複数の把持部の3次元モデルは、例えば
図4に示す把持部31a及び31bの3次元モデルと同様に、左右一対で配置されるが、これに限られない。例えば、把持部の3次元モデルは、1本(把持部31aのみ)ずつ配置されてもよい。例えば、把持部の3次元モデルは、3本1組で配置されてもよいし、4本以上1組で配置されてもよい。例えば、仮想空間には、複数の把持部31a及び91aの3次元モデルが、
図5に示すようにランダムな位置に配置されていてもよい。また、仮想空間上に配置される把持部の3次元モデルの数は1つ又は2つに限られず、3つ以上であってもよい。
【0042】
第1の実施形態において、ロボットアーム30の把持部31の3次元モデルの位置は、例えば3次元座標(x,y,z)により示される。また、学習部152は、取得した画像と、配置するロボットアーム30の把持部31の3次元モデルの位置、姿勢などの条件とを対応付けて、記憶部14に格納する。
【0043】
学習部152は、学習処理に必要な数の教師データを確保するために、対応付けられた画像と条件との格納を所定の回数繰り返す。そして、学習部152は、生成された教師データを用いて所定の回数学習処理を行うことにより、ニューラルネットワーク構造141aにおいて重み付けとして用いられる学習パラメータ141bを生成し、又は更新する。
【0044】
ロボット制御部153は、ロボットアーム30及び把持部31の動作を制御する。ロボット制御部153は、例えば、ロボットアーム30の各関節32a乃至32fの回転量や、把持部31の開閉角度を示す情報を出力することにより、ロボットアーム30の動作を制御する。
【0045】
ロボット制御部153は、例えば、較正処理を行う際に、撮像装置20が画像を撮像する前に、ロボットアーム30の各関節32a乃至32fを所定量ずつ回転させる。これにより、ロボット制御部153は、把持部31の位置を移動させる。そして、移動後の把持部31が撮像装置20により撮像される。この把持部31の移動と撮像とをn回繰り返すことにより、位置が異なるn枚のロボットアーム30の把持部31の画像と、ロボット座標系Vにおけるロボットアーム30の把持部31の位置に関するn個の情報とが得られる。
【0046】
また、ロボット制御部153は、把持部31がワーク41、42等を把持する動作を行う際に、ロボットアーム30を制御する情報を生成し、ロボットアーム30に出力する。その際、ロボット制御部153は、変換部157により変換されたロボット座標系Vにおける、ワーク41、42等、ロボットアーム30の把持部31の位置を示す座標に基づいて、ロボットアーム30を制御する情報を生成する。なお、ロボット制御部153は、例えば、複数(p個)の把持部31の位置を移動させるような構成であってもよい。
【0047】
第1座標生成部154は、撮像装置20により撮像された把持部31を含む画像と、学習モデルとを用いて、カメラ座標系V’における座標情報である第1座標情報を生成する。第1座標生成部154は、例えば、撮像装置20が撮像したn枚の画像を、通信部11を介して取得する。第1座標生成部154は、取得したn枚の画像から、n個の第1座標情報V’1、V’2・・・V’nを生成する。その際、第1座標生成部154は、例えば、撮像装置20により撮像された左右の画像の視差に基づいて、カメラ座標系V’における撮像装置20からの距離を測定してもよい。なお、例えばロボット制御部153が複数の把持部31の位置を移動させる場合など、撮像装置20により撮像された画像に、複数の把持部31が含まれる場合、第1座標生成部154は、1つの画像に対し、複数の第1座標情報V’nを生成する。例えば、第1座標生成部154は、p個の把持部31を含むn枚の画像から、n×p個の第1座標情報V’npを生成する。
【0048】
第2座標生成部155は、例えば、式(5)に示すロボット関節角を合成することにより、第2座標情報を生成する。式(5)の
0Q
mが第2座標情報Vとなる。式(5)において、jは関節32aから把持部31までの関節の順番を示す。したがって、式(5)において、mはロボットアーム30が有する関節の数に1(求めたい位置)を加えた数を示す。求めたい位置とは、例えば把持部31の先端の位置である。式(5)において、0はロボット座標系における原点をあらわす。例えば、
0Q
1は、ロボット座標系の原点からみた1番目の関節(関節32a)の変位を示す。例えば、
j-1Q
jは、j-1番目の関節のロボット座標系からみたj番目の関節の変位を示す。例えば、
m-1Q
mは、m-1番目の関節のロボット座標系からみた把持部31の先端までの変位を示す。例えば、
図1に示すような6個の関節32a乃至32fとp本の把持部31とを備えるロボットアーム30の第2座標情報V
n1、V
n2・・・V
npを生成する際においては、それぞれm=7(関節の数+1(各把持部))となり、jは0<j≦mの範囲の整数となる。
【0049】
【0050】
式(6)において、個別の関節の変位を示す座標変換行列j-1Qjは、例えば以下のような式(6)により示される。式(6)においても式(3)と同様に、例えば、tは3行1列の並進ベクトルであり、Rは3行3列の回転行列である。すなわち、個別の関節の変位を示す座標変換行列j-1Qjも、4行4列の行列で示される。なお、式(6)において、tは関節の位置、Rは関節の回転を示す。
【0051】
【0052】
第2座標生成部155は、例えば、n個の第1座標情報V’1、V’2・・・V’nの生成に用いられたn枚の各画像が撮像された時点における、ロボットアーム30の把持部31のロボット座標系Vにおけるn個の第2座標情報V1、V2・・・Vnを生成する。なお、例えばロボット制御部153が複数の把持部31の位置を移動させる場合、第2座標生成部155は、複数の第2座標情報Vnを生成する。例えば、第2座標生成部155は、p個の把持部31を含むn枚の画像から、n×p個の第2座標情報Vnpを生成する。
【0053】
変換情報生成部156は、例えば、式(7)において、誤差Eが最小となるような座標変換行列Dを、近似手段等を用いて推定し、又は更新する。式(7)において、Xiは、第2座標情報のX成分を示し、X(D,X’i)は、座標変換行列Dと第1座標情報との乗算結果のX成分を示す。同様に、Yiは、第2座標情報のY成分を示し、Y(D,Y’i)は、座標変換行列Dと第1座標情報との乗算結果のY成分を示す。また、Ziは、第2座標情報のZ成分を示し、Z(D,Z’i)は、座標変換行列Dと第1座標情報との乗算結果のZ成分を示す。すなわち、変換情報生成部156は、式(7)により、n個の第1座標情報V’nとn個の第2座標情報Vnとの間の誤差Eが最小になるような座標変換行列Dを推定する。近似手段としては、例えば、ニュートン法や勾配効果法、LM法、最小二乗法などの公知の数値解析手法が用いられる。なお、座標変換行列Dを推定する際には、座標変換行列Dの初期値をできるだけ小さい値とすることが望ましい。
【0054】
【0055】
変換部157は、第1座標情報を第2座標情報に変換する。変換部157は、例えば、変換情報生成部156により生成された座標変換行列Dを用いて、式(2)により、第1座標情報V’を第2座標情報Vに変換する。
【0056】
(処理の流れ)
次に、第1の実施形態における学習処理及び較正処理について、
図6及び
図7を用いて説明する。
図6は、第1の実施形態に係る学習処理の一例を示すフローチャートである。
図6に示すように、まず、空間生成部151は、ロボットアーム30の把持部31の3次元モデルを取得する(ステップS101)。次に、空間生成部151は、3次元モデルを取得したロボットアーム30の把持部31を配置する条件である、3次元モデルの位置及び姿勢等を設定する(ステップS102)。そして、空間生成部151は、仮想空間上に、位置及び姿勢が決定されたロボットアーム30の把持部31を少なくとも1以上配置する(ステップS103)。
【0057】
次に、学習部152は、例えば、ロボットアーム30の把持部31の3次元モデルが配置された仮想空間をキャプチャすることにより、ロボットアーム30の把持部31のキャプチャ画像、位置、姿勢を取得する(ステップS104)。そして、学習部152は、取得された画像と、配置された把持部31の位置及び姿勢との組み合わせを、教師データとして記憶部14に保存する(ステップS105)。さらに、学習部152は、ステップS102からステップS105を所定の回数繰り返す(ステップS106:No)。ステップS102からステップS105までの処理を所定の回数繰り返すことにより、学習処理を繰り返し行うために十分な数の教師データが生成される。
【0058】
学習部152は、ステップS102からステップS105を繰り返した回数が所定の回数に到達したと判定した場合(ステップS106:Yes)、生成された教師データを用いて、学習処理を行う(ステップS107)。これにより、学習モデル141が生成され、又は更新される。
【0059】
次に、較正システム1における較正処理について説明する。
図7は、第1の実施形態に係る較正処理の一例を示すフローチャートである。
図7に示すように、まず、ロボット制御部153は、ロボットアーム30の把持部31を、所定の位置に移動させる(ステップS201)。次に、撮像装置20は、把持部31を含む作業領域を撮像し、較正装置10に出力する(ステップS202)。
【0060】
次に、第1座標生成部154は、撮像装置20から取得した、把持部31を含む画像から、学習モデルを用いて、カメラ座標系V’上の把持部31の位置31’及び姿勢を示す第1座標情報V’nを生成する(ステップS203)。また、第2座標生成部155は、ロボットアーム30の把持部31のロボット座標系Vにおける位置及び姿勢を示す第2座標情報V1nを、ロボットアーム30の各関節角の変位に基づいて算出する(ステップS204)。
【0061】
変換情報生成部156は、ステップS201からステップS204を所定の回数繰り返したか否かを判定する(ステップS210)。所定の回数に到達していないと判定された場合(ステップS210:No)。ステップS201に戻って処理を繰り返す。
【0062】
変換情報生成部156は、ステップS201からステップS204を繰り返した回数が所定の回数に到達したと判定した場合(ステップS210:Yes)、第1変換情報と第2変換情報とを用いて、座標変換行列Dを生成し、又は更新する(ステップS220)。
【0063】
以上述べたように、第1の実施形態における較正装置10は、ロボットアームと、撮像装置と、較正装置とを備える。ロボットアームは、把持対象物を把持する把持部を先端に備える。撮像装置は、ロボットアームを所定の方向から撮像することで少なくとも1つの撮像画像を生成する。較正装置は、第1座標生成部と、変換部とを備える。第1座標生成部は、ロボットアームに関する3次元モデルを含む仮想空間をキャプチャした画像と仮想空間に含まれるロボットアームの把持部の位置を示す情報とを有する複数の教師データを機械学習することで生成される学習モデルと、ロボットアームを所定の方向から撮像した撮像画像と、に基づいて、撮像画像を基準とした撮像画像座標系における把持部の位置を示す第1座標情報を生成する。変換部は、ロボットアームを基準とするロボット座標系における把持部の位置を示す第2座標情報に第1座標情報を座標変換する座標変換処理に用いられる座標変換情報と第1座標情報とに基づいて、第1座標情報を第2座標情報に座標変換する。これにより、ロボットアームとカメラとの位置関係を容易に調整できる。また、第1の実施形態における較正システム1による較正処理は、同等の構成を有する他の較正システムにおいても応用することができる。
【0064】
(第2の実施形態)
第1の実施形態では、較正システム1が、ロボットアーム30の各関節角の変位を合成することで、ロボットアーム30のロボット座標系Vにおける位置を算出する構成について説明した。しかし、ロボットアーム30の製造上の誤差や電源投入時の初期化のずれ等により、ロボットアーム30を動作した際のロボット座標系Vにおける位置が、ロボットアーム30の設計値に基づく位置からずれる場合がある。第2の実施形態では、ロボットアーム30の回転角度や並進位置の誤差も考慮して、座標変換情報を算出する構成について説明する。なお、以下において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【0065】
図8は、第2の実施形態に係る較正システムの構成の一例を示すブロック図である。
図8に示すように、第2の実施形態における較正システム1aは、第1の実施形態における較正装置10に代えて、較正装置10aを備える。較正装置10aの処理部15aは、第1の実施形態における変換情報生成部156に代えて、変換情報生成部156aを備える。また、処理部15aは、誤差付与部158aをさらに備える。
【0066】
誤差付与部158aは、第2座標生成部155により生成された第2座標情報Vnに誤差を付与して、誤差第2座標情報V”nを生成する。誤差付与部158aは、第2座標情報Vnを、式(5)に示すような各関節の座標変換行列に分解する。誤差付与部158aは、分解された個別の座標変換行列j-1Qjの回転行列j-1Rjに、誤差を示すオフセットΔj-1Rjを追加する。同様に、誤差付与部158aは、個別の座標変換行列j-1Qjの並進ベクトルtにも、誤差を示すオフセットΔj-1tjを追加する。オフセットが追加された個別の座標変換行列j-1Q”jを、式(8)に示す。なお、以下において、オフセットΔj-1Rj及びΔj-1tjを、単にオフセットΔR、Δtと表記する場合がある。
【0067】
【0068】
誤差付与部158aは、式(8)に示すような座標変換行列を合成することで、式(9)に示すような誤差第2座標情報Q”を生成する。
【0069】
【0070】
変換情報生成部156aは、第1座標情報と誤差第2座標情報とに基づいて、変換情報を生成する。変換情報生成部156aは、例えば、式(10)において、誤差Eが最小となるような座標変換行列D”、オフセットΔR、及びオフセットΔtを、近似手段等を用いて推定し、又は更新する。式(10)において、X”iは、誤差第2座標情報のX成分を示し、X(D”,X’i)は、座標変換行列D”と第1座標情報の乗算結果のX成分を示す。同様に、Y”iは、誤差第2座標情報のY成分を示し、Y(D”,Y’i)は、座標変換行列D”と第1座標情報との乗算結果のY成分を示す。また、Z”iは、誤差第2座標情報のZ成分を示し、Z(D”,Z’i)は、座標変換行列D”と第1座標情報との乗算結果のZ成分を示す。なお、座標変換行列Dを単独で推定する場合と同様に、座標変換行列D”、オフセットΔR及びΔtの初期値もできるだけ小さい値とすることが望ましい。
【0071】
【0072】
図9は、第2の実施形態に係る較正処理の一例を示すフローチャートである。なお、ステップS201乃至S210における処理については、第1の実施形態に係る較正処理と同様であるため、詳細な説明は省略する。
図9に示すように、まず、誤差付与部158aは、ステップS201からステップS204を繰り返した回数が所定の回数に到達したと判定した場合(ステップS210:Yes)、第2座標情報を関節ごとの座標変換行列に分解する(ステップS301)。次に、誤差付与部158aは、分解された各座標変換行列の回転行列と並進ベクトルのそれぞれに、オフセットΔR及びΔtを追加する(ステップS302)。そして、誤差付与部158aは、オフセットΔR及びΔtが付加された座標変換行列を乗算して、誤差第2座標情報V”を算出する(ステップS303)。
【0073】
そして、変換情報生成部156aは、第1座標情報V’と、誤差第2座標情報V”とに基づいて、座標変換情報として、座標変換行列D”を生成する(ステップS320)。
【0074】
このように、第2の実施形態において、第2座標生成部は、前記関節角の回転方向、角度及び並進位置における誤差に関する情報を含む誤差第2座標情報を生成し、座標変換情報生成部は、前記第1座標情報と前記誤差第2座標情報とに基づいて前記座標変換情報を生成するする。これにより、座標変換行列D”を生成する際に、カメラ座標系V’とロボット座標系Vとの誤差に加えて、ロボットアーム30に由来する回転方向、角度や並進位置の誤差も反映できる。
【0075】
(変形例)
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能である。例えば、
図6に示すような学習処理を、他の装置が行うような構成であってもよい。すなわち、
図3に示す空間生成部151及び学習部152が、
図3に示す較正装置10ではなく他の装置に備えられていてもよい。この場合において、較正装置10は、外部の装置から学習モデル141を取得して記憶部14に格納するような構成であってもよい。
【0076】
また、ロボット制御処理についても、他の装置が行うような構成であってもよい。すなわち、
図3に示すロボット制御部153も、較正装置10ではなく他の装置に備えられていてもよい。さらに、較正システム1が撮像装置20を有さず、外部のカメラ等から取得した画像を用いても較正処理を行ってもよい。
【0077】
なお、例えばロボット制御部153が複数(p個)の把持部31の位置を移動させる場合において、第1座標生成部154は、1つの画像に対して検出された把持部31のうち、中心の値に該当するものだけを第1座標情報V’nとして採用するような構成であってもよい。この場合、例えば、第1座標生成部154は、p個の把持部31を含むn枚の画像から、n×1個の第1座標情報V’nを生成する。
【0078】
また、上で述べた、仮想空間上に3次元モデルを配置する際の各種条件は、把持部31及びワーク41、42の3次元モデルの位置や姿勢に限られず、例えば、カメラの画角、ピクセル数、ステレオセットのベースライン(基線)の距離等の設定であってもよい。また、各種条件は、カメラの位置や回転のランダム化の範囲、仮想空間におけるライトの輝度と角度と位置のランダム化の範囲、仮想空間上に配置される把持部31及びワーク41、42の3次元モデルの位置、角度や数等であってもよい。さらに、各種条件は、ワーク41、42が配置されるトレイ等のその他障害物の有無及び障害物の数、クラス等であってもよい。クラスは、仮想空間に配置された配置物を一意に識別する情報である。なお、各種条件におけるクラスは、例えば、文字、数字及び記号等の組み合わせである。クラスは、他のクラスと重複しない情報であればどのような情報であってもよい。配置物は、例えば、3次元モデル、ワーク又は障害物である。
【0079】
なお、
図1においては、複数の異なる種類のワーク41、42等が開示されているが、ワークの種類は1種類であってもよい。また、ワーク41、42等は、位置及び姿勢が不規則であるように配置されているが、規則的に配置されていてもよい。また、
図1に示すように、例えば、複数のワークが上面視において重なるように配置されていてもよい。
【0080】
また、学習モデル141は、グリッパの位置を示す座標に加えて、グリッパの傾きを示す角度情報を出力してもよい。なお、較正処理において、ロボット制御部153がロボットアーム30の各関節32a乃至32fを動作させる回転量は、毎回異なる量であってもよい。また、学習モデル141を生成又は最適化する際の機械学習処理に畳み込みニューラルネットワークを用いる例について説明したが、これに限られず、深層学習などの上述の出力が可能な学習アルゴリズムであればどのようなアルゴリズムを用いてもよい。
【0081】
なお、学習処理及び較正処理において、ロボットアーム30の把持部31の位置や3次元モデルを用いる構成について説明したが、これに加えて、ロボットアーム30の把持部31以外の部分の位置や3次元モデルをさらに用いるような構成であってもよい。例えば、仮想空間上に3次元モデルを配置する際の各種条件として、把持部31をキャプチャする際にロボットアーム30が障害物となるような条件が設けられてもよい。
【0082】
また、フローチャートに示す処理の順番は前後してもよく、同時に実行してもよい。例えば、
図7及び
図9に示すような較正処理において、較正装置10が、第1座標情報よりも先に第2座標情報を生成してもよく、第1座標情報と第2座標情報とを同時並行で生成してもよい。また、較正処理の際に、撮像装置20による撮像が行われる前にロボットアーム30が把持部31を移動させる構成について説明したが、実施の形態はこれに限られない。例えば、撮像装置20による撮像が行われ、第1座標情報と第2座標情報とを生成した後に、ロボットアーム30が把持部31を移動させるような構成であってもよい。
【0083】
また、上記実施の形態により本発明が限定されるものではない。上述した各構成要素を適宜組み合わせて構成したものも本発明に含まれる。また、さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、上記の実施の形態に限定されるものではなく、様々な変更が可能である。
【符号の説明】
【0084】
1 較正システム,10 較正装置,20 撮像装置,30 ロボットアーム,41、42 ワーク