(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】撮像条件調整装置、及び撮像条件調整方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20240109BHJP
G06T 7/00 20170101ALI20240109BHJP
【FI】
H04N23/60
G06T7/00 300E
(21)【出願番号】P 2022551995
(86)(22)【出願日】2021-09-21
(86)【国際出願番号】 JP2021034570
(87)【国際公開番号】W WO2022065302
(87)【国際公開日】2022-03-31
【審査請求日】2023-04-05
(31)【優先権主張番号】P 2020162038
(32)【優先日】2020-09-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】吉田 順一郎
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2019-138822(JP,A)
【文献】特開2019-138817(JP,A)
【文献】特開2019-161553(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
対象物の距離画像を撮像する撮像条件を調整する撮像条件調整装置であって、
3次元カメラの視野内に配置された前記対象物を含む距離画像を前記3次元カメラから取得する取得部と、
前記対象物のCADモデルを読み込む読込部と、
生成された複数の撮像条件に基づいてそれぞれ前記3次元カメラにより撮像された距離画像と前記CADモデルとのマッチングを行い、撮像された前記距離画像と前記CADモデルとの一致度を算出する算出処理部と、
前記算出処理部により算出された一致度が予め設定された所定値以上となる撮像条件を前記3次元カメラに設定する撮像条件最適化部と、
を備える撮像条件調整装置。
【請求項2】
前記撮像条件最適化部は、前記算出処理部により算出された前記複数の撮像条件それぞれの一致度のうち最も高い一致度の撮像条件を決定する、請求項1に記載の撮像条件調整装置。
【請求項3】
前記撮像条件は、露光時間、光源の光量、ブロックマッチングのサイズ、ブロックマッチングのスコアの閾値の少なくとも1つを含む、請求項1又は請求項2に記載の撮像条件調整装置。
【請求項4】
コンピュータにより実現される、対象物の距離画像を撮像する撮像条件を調整する撮像条件調整方法であって、
3次元カメラの視野内に配置された前記対象物を含む距離画像を前記3次元カメラから取得する取得工程と、
前記対象物のCADモデルを読み込む読込工程と、
生成された複数の撮像条件に基づいてそれぞれ前記3次元カメラにより撮像された距離画像と前記CADモデルとのマッチングを行い、撮像された前記距離画像と前記CADモデルとの一致度を算出する算出処理工程と、
算出された一致度が予め設定された所定値以上となる撮像条件を前記3次元カメラに設定する撮像条件最適化工程と、
を備える撮像条件調整方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像条件調整装置、及び撮像条件調整方法に関する。
【背景技術】
【0002】
3次元カメラを使ってワーク等の対象物の3次元位置を検知し、ロボットで取り出し等の作業を行う技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
対象物の3次元位置を検知するために最も好適な画像が撮像できるように、3次元カメラによる対象物の撮像の撮像条件は、予め作業者により設定される。
撮像条件としては、露光時間、光源の光量、ブロックマッチングのサイズ、ブロックマッチングのスコアの閾値等があり、最適な設定を行うには作業者に高いスキルが求められる。このため、作業者にとって撮像条件の設定は大きな負担となっている。
【0005】
そこで、作業者のスキルによらず、最適な撮像条件を自動で決定することが望まれている。
【課題を解決するための手段】
【0006】
本開示の撮像条件調整装置の一態様は、対象物の距離画像を撮像する撮像条件を調整する撮像条件調整装置であって、3次元カメラの視野内に配置された前記対象物を含む距離画像を前記3次元カメラから取得する取得部と、前記対象物のCADモデルを読み込む読込部と、生成された複数の撮像条件に基づいてそれぞれ前記3次元カメラにより撮像された距離画像と前記CADモデルとのマッチングを行い、撮像された前記距離画像と前記CADモデルとの一致度を算出する算出処理部と、前記算出処理部により算出された一致度が予め設定された所定値以上となる撮像条件を前記3次元カメラに設定する撮像条件最適化部と、を備える。
【0007】
本開示の撮像条件調整方法の一態様は、コンピュータにより実現される、対象物の距離画像を撮像する撮像条件を調整する撮像条件調整方法であって、3次元カメラの視野内に配置された前記対象物を含む距離画像を前記3次元カメラから取得する取得工程と、前記対象物のCADモデルを読み込む読込工程と、生成された複数の撮像条件に基づいてそれぞれ前記3次元カメラにより撮像された距離画像と前記CADモデルとのマッチングを行い、撮像された前記距離画像と前記CADモデルとの一致度を算出する算出処理工程と、算出された一致度が予め設定された所定値以上となる撮像条件を前記3次元カメラに設定する撮像条件最適化工程と、を備える。
【発明の効果】
【0008】
一態様によれば、作業者のスキルによらず、最適な撮像条件を自動で決定することができる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係るロボットシステムの構成の一例を示す図である。
【
図3】画像処理部の距離画像生成処理を説明する一例を示す図である。
【
図4】画像処理部の距離画像生成処理を説明する一例を示す図である。
【
図5】一実施形態に係る撮像条件調整装置としての情報処理装置の機能的構成例を示す機能ブロック図である。
【
図7】
図6のワークの形状のうち三角形部分における距離画像とCADモデルとマッチングの一例を示す図である。
【
図9】情報処理装置の撮像条件調整処理の一例について説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下、一実施形態について図面を用いて説明する。
<一実施形態>
図1は、一実施形態に係るロボットシステム1の構成の一例を示す図である。
図1に示すように、ロボットシステム1は、撮像条件調整装置としての情報処理装置10、ロボット制御装置20、ロボット30、3次元カメラ40、ワーク50、及び作業台60を有する。
情報処理装置10、ロボット制御装置20、ロボット30、及び3次元カメラ40は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、情報処理装置10、ロボット制御装置20、ロボット30、及び3次元カメラ40は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、情報処理装置10、ロボット制御装置20、ロボット30、及び3次元カメラ40は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。また、説明しやすくするために、
図1は情報処理装置10とロボット制御装置20をそれぞれ独立に描いていて、この場合の情報処理装置10は例えば撮像条件調整装置として動作するコンピュータより構成されてもよい。このような構成に限定されず、例えば、情報処理装置10はロボット制御装置20の内部に実装され、ロボット制御装置20と一体化されてもよい。
【0011】
<ロボット制御装置20>
ロボット制御装置20は、ロボット30の動作を制御するための当業者にとって公知の装置である。ロボット制御装置20は、例えば、後述する情報処理装置10によって設定された撮像条件で後述する3次元カメラ40により撮像されたワーク50の距離画像を、情報処理装置10から受信する。ロボット制御装置20は、情報処理装置10から受信した距離画像と公知の手法とに基づいて、対象物であるワーク50の位置及び形状を特定する。ロボット制御装置20は、特定したワーク50の位置及び形状からワーク50を把持したり加工したりするようにロボット30の動作を制御するための制御信号を生成する。そして、ロボット制御装置20は、生成した制御信号をロボット30に対して出力する。
なお、ロボット制御装置20は、後述するように、情報処理装置10を含んでもよい。
【0012】
<ロボット30>
ロボット30は、ロボット制御装置20の制御に基づいて動作するロボットである。ロボット30は、鉛直方向の軸を中心に回転するためのベース部、移動及び回転するアーム、及びアームに装着される、例えば溶接ガン、握持ハンド、レーザ照射装置等のエンドエフェクタ31等を備える。
ロボット30は、ロボット制御装置20が出力する制御信号に応じて、アームやエンドエフェクタ31を駆動して、ワーク50を把持したり加工したりする。
なお、ロボット30の具体的な構成については、当業者によく知られているので、詳細な説明は省略する。
また、情報処理装置10やロボット制御装置20は、予め行われたキャリブレーションにより、ロボット30を制御するための機械座標系と、ワーク50の3次元位置を示すカメラ座標系とを対応付けているものとする。
【0013】
<3次元カメラ40>
図2は、3次元カメラ40の一例を示す図である。
図2に示すように、3次元カメラ40は、2つの内部カメラ41、42と、プロジェクタ43と、制御部44と、を有する。また、制御部44は、撮像制御部441、及び画像処理部442を有する。また、内部カメラ41、42とプロジェクタ43とはそれぞれレンズを有する。
内部カメラ41、42は、後述する撮像制御部441からの制御指示に基づいて、対象物であるワーク50にプロジェクタ43により投影されたパターンを、内部カメラ41、42それぞれの光軸に対して垂直な平面に投影した2次元画像を撮像する。内部カメラ41、42は、撮像した2次元画像を撮像制御部441に出力する。
プロジェクタ43は、後述する撮像制御部441からの制御指示に基づいて、予め設定された光量で所定のパターン光を対象物であるワーク50に照射する。
なお、3次元カメラ40は、後述するように、ステレオカメラ等でもよい。
また、3次元カメラ40は、架台等に固定設置されてもよく、ロボット30のアームに搭載されてもよい。
【0014】
<制御部44>
制御部44は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは3次元カメラ40を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って3次元カメラ40全体を制御することで、
図2に示すように、制御部44が、撮像制御部441、及び画像処理部442の機能を実現するように構成される。RAMには一時的な計算データや、内部カメラ41、42により撮像された2次元画像、後述する情報処理装置10により設定された撮像条件等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、3次元カメラ40の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0015】
撮像制御部441は、例えば、後述する情報処理装置10により設定された撮像条件に基づいて、内部カメラ41、42の撮像動作を制御する。また、撮像制御部441は、情報処理装置10により設定された撮像条件に基づいて、プロジェクタ43の光量を制御する。
【0016】
画像処理部442は、例えば、内部カメラ41、42それぞれから得られた2枚の2次元画像を用いてステレオ計測を行うことで、対象物であるワーク50までの距離を計測し距離画像を生成する。
具体的には、画像処理部442は、当業者にとって公知の距離の計測アルゴリズム(例えば、ブロックマッチング等)を用いて、内部カメラ41、42それぞれで撮像された2枚の2次元画像から距離画像を生成する。
図3及び
図4は、画像処理部442の距離画像生成処理を説明する一例を示す図である。
図3に示すように、画像処理部442は、内部カメラ41により撮像されたワーク50の2次元画像(以下、「画像IM1」ともいう)のうち、例えば、距離の測定対象の注目画素を中心とする5画素×5画素の画像範囲(以下、「小領域A」ともいう)を抽出する。画像処理部442は、内部カメラ42により撮像されたワーク50の2次元画像(以下、「画像IM2」ともいう)から、画像IM1の小領域Aと同じパターンが映っている領域を画像IM2の探索領域から探索する。
なお、探索領域は、画像IM1の注目画素と同じX座標を中心とする、例えば5画素幅の領域である。また、画像IM1の小領域Aのサイズ(5画素×5画素)は、ブロックマッチングのサイズである。
【0017】
画像処理部442は、画像IM1の小領域Aの各画素の濃淡値(画素値)と、画像IM2の探索領域においてY軸方向に1画素ずつずらしながら5画素×5画素毎の各画素の濃淡値(画素値)との差の絶対値を、ブロックマッチングのスコア(SAD(Sum of Absolute Difference)法)として算出する。
例えば、画像IM1の小領域Aの5画素×5画素それぞれが
図4の上段に示す濃淡値(画素値)を有し、対応する画像IM2の探索領域の各画素が
図4の下段に示す濃淡値(画素値)を有する場合、画像処理部442は、画像IM2の探索領域のうち太い実線で示す領域と画像IM1の小領域Aとの、|5-4|+|3-3|+|4-4|+|7-8|+|2-2|+・・・+|4-3|=「16」のブロックマッチングのスコアを算出する。また、画像処理部442は、太い破線で示す領域と画像IM1の小領域Aとの、|5-3|+|3-4|+|4-8|+|7-2|+|2-8|+・・・+|4-1|=「34」のブロックマッチングのスコアを算出する。なお、濃淡値(画素値)は、例えば、0から255の範囲の値である。
画像処理部442は、画像IM2の探索領域で算出したブロックマッチングのスコア(一致度)のうち最小となる、例えば太い実線で示す領域、すなわち
図3の小領域Bを、画像IM1の小領域Aと最も一致度が高い領域を判定するようにしてもよい。
【0018】
ここで、
図2に示すように、内部カメラ41、42は異なる位置からワーク50を撮像するため、
図3に示すように、画像IM1、IM2上に映るパターンの位置、すなわち画像IM1の小領域Aの位置と画像IM2の小領域Bの位置とが異なる。例えば、画像IM1の小領域Aの注目画素の位置(X,Y)が(200,150)で、画像IM2の小領域Bの中心画素の位置(X,Y)が(200,300)である場合、画像IM1の小領域Aの位置と画像IM2の小領域Bの位置との差(以下、「視差」ともいう)は、150(=300-150)となる。
そこで、画像処理部442は、算出した視差に基づいて、画像IM1の小領域Aの注目画素の位置に対応するワーク50上の位置と、3次元カメラ40との間の距離を算出することができる。このことから、画像処理部442は、画像IM1における注目画素の位置を変更しつつ、画像IM1全体に対してブロックマッチングを行うことにより、3次元カメラ40の視野内の3次元点群を距離画像として生成することができる。画像処理部442は、生成した距離画像を、後述する情報処理装置10に出力する。
なお、画像処理部442は、距離画像とともに、内部カメラ41、42により撮像された2次元画像も情報処理装置10に出力してもよい。
【0019】
ワーク50は、例えば、作業台60に置かれる。ワーク50は、ロボット30のアームに装着されたエンドエフェクタ31で把持又は加工可能なものであればよく、その形状等は特に限定されない。
【0020】
<情報処理装置10>
図5は、一実施形態に係る撮像条件調整装置としての情報処理装置10の機能的構成例を示す機能ブロック図である。
情報処理装置10は、当業者にとって公知のコンピュータであり、撮像条件調整装置として動作する。情報処理装置10は、
図5に示すように、制御部11、入力部12、表示部13、及び記憶部14を有する。また、制御部11は、取得部110、読込部111、撮像条件生成部112、算出処理部113、及び撮像条件最適化部114を有する。
【0021】
<入力部12>
入力部12は、例えば、キーボードや、後述する表示部13に配置されたタッチパネル等であり、作業者からの入力を受け付ける。具体的には、作業者は、例えば、入力部12を介して、3次元カメラ40の撮像条件を調整する指示等を入力する。
【0022】
<表示部13>
表示部13は、例えば、液晶ディスプレイ等であり、取得部110が取得した3次元カメラ40の距離画像、及び後述する読込部111により読み込まれたワーク50の形状を示すCADモデル等を表示する。
【0023】
<記憶部14>
記憶部14は、ROMやHDD(Hard Disk Drive)等であり、各種の制御用プログラムとともに、撮像条件データ141を記憶してもよい。
撮像条件データ141は、3次元カメラ40の内部カメラ41、42に適用可能な撮像条件で、後述する撮像条件生成部112により予め生成された複数の撮像条件を格納してもよい。撮像条件データ141に格納される複数の撮像条件それぞれには、露光時間、光源であるプロジェクタ43の光量、ブロックマッチングのサイズ、ブロックマッチングのスコアの閾値等の少なくとも1つを含む。
露光時間は、内部カメラ41、42の露光時間が短い程、明色系の対象物を認識しやすくなり、露光時間が長い程、暗色系の対象物を認識しやすくなる。
プロジェクタ43の光量は、光量が大きくなる程外乱光の影響を受けにくくなるが、強い光線が当たる部分が白くぼやけるハレーションを起こしやすくなる。
ブロックマッチングのスコアは、小さな値に設定すると、一致度が高い小領域の3次元点からなる距離画像が得られる。ただし、ブロックマッチングのスコアは、小さくしすぎると、一致度を満たす小領域の数が減少するため、3次元点が不足する可能性がある。
小領域のサイズは、例えば、5画素×5画素等の小さく設定すると対象物であるワーク50の細かな形状変化をとらえやすくなるが、ノイズのような3次元点が距離画像に発生する。
【0024】
<制御部11>
制御部11は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは情報処理装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って情報処理装置10全体を制御する。これにより、
図5に示すように、制御部11が、取得部110、読込部111、撮像条件生成部112、算出処理部113、及び撮像条件最適化部114の機能を実現するように構成される。
【0025】
取得部110は、3次元カメラ40の視野内に配置された対象物としてのワーク50を含む距離画像を3次元カメラ40から取得する。
【0026】
読込部111は、CAD/CAM装置等の外部装置(図示しない)からワーク50の形状を示すCADモデルのデータを読み込む。
【0027】
撮像条件生成部112は、複数の撮像条件を生成し、生成した複数の撮像条件を撮像条件データ141に格納する。
具体的には、撮像条件生成部112は、例えば、標準的な撮像条件を基準にして、撮像条件に含まれる露光時間、プロジェクタ43の光量、ブロックマッチングのサイズ、ブロックマッチングのスコアの閾値等の少なくとも1つのパラメータを予め設定された数値の幅で変化させることにより、複数の撮像条件を生成するようにしてもよい。撮像条件生成部112は、生成した複数の撮像条件を撮像条件データ141に格納するようにしてもよい。
【0028】
算出処理部113は、例えば、撮像条件データ141に格納された複数の撮像条件に基づいてそれぞれ3次元カメラ40により撮像された距離画像とCADモデルとのマッチングを行い、撮像された距離画像とCADモデルとの一致度を算出する。
具体的には、算出処理部113は、例えば、複数の撮像条件から標準的な撮像条件を選択し、選択された撮像条件に基づいて3次元カメラ40により撮像(生成)された距離画像を最初に取得部110を介して取得する。算出処理部113は、取得した距離画像と、読込部111により読み込まれたCADモデルとのマッチングを行い、距離画像の各3次元点と対応するCADモデルの位置との距離が予め設定された所定値(例えば、1mm等)以上離間しているか否かを判定する。算出処理部113は、所定値以上離間した3次元点をエラー点として累積したり、離間した長さを累積したりすることにより、距離画像とCADモデルとの一致度をCADモデルマッチングのスコアとして算出する。
【0029】
次に、算出処理部113は、例えば、ブロックマッチングのサイズを小さくする等のパラメータが変更された撮像条件を選択し、選択された撮像条件に基づいて3次元カメラ40により撮像(生成)された距離画像を取得するようにしてもよい。算出処理部113は、取得した距離画像とCADモデルとのマッチングを行い、一致度(CADモデルマッチングのスコア)を算出する。算出処理部113は、後述する撮像条件最適化部114による今回の撮像条件での一致度が前回の撮像条件での一致度より高くなったか否かの判定に基づいて次の撮像条件を選択するようにしてもよい。例えば、今回の撮像条件での一致度が前回の撮像条件での一致度より高くなった場合、算出処理部113は、撮像条件が良くなっていることから、さらにブロックマッチングのサイズを小さくする等の同じ方向でパラメータが変更された撮像条件を選択し、選択された撮像条件に基づいて3次元カメラ40により撮像(生成)された距離画像を取得してもよい。そして、算出処理部113は、取得した距離画像とCADモデルとのマッチングを行い、一致度(CADモデルマッチングのスコア)を算出してもよい。
一方、今回の撮像条件での一致度が前回の撮像条件での一致度より低くなった場合、算出処理部113は、撮像条件が悪くなっていることから、例えばブロックマッチングのサイズを大きくする等の異なる方向でパラメータが変更された撮像条件を選択し、選択された撮像条件に基づいて3次元カメラ40により撮像(生成)された距離画像を取得してもよい。そして、算出処理部113は、取得した距離画像とCADモデルとのマッチングを行い、一致度(CADモデルマッチングのスコア)を算出してもよい。
そうすることで、情報処理装置10は、最適な撮像条件を見つけ出すことができる。
【0030】
ここで、算出処理部113が算出する一致度(CADモデルマッチングのスコア)は、撮像条件が同一の場合であってもワーク50の形状に応じて変化する。
図6は、ワーク50の形状の一例を示す図である。
図7は、
図6のワーク50の形状のうち三角形部分における距離画像とCADモデルとマッチングの一例を示す図である。
図6に示すように、ワーク50の形状のうち破線で示すZX平面の領域Cの三角形部分等の稜線部分、すなわち形状変化が大きい部分では、
図7に示すように、実線で示すCADモデルと黒丸で示す3次元点との距離が所定値以上離間することから、CADモデルマッチングの一致度が低くなる。
この場合、
図6のワーク50における三角形部分等の細やかな特徴を敏感に捉えるようにするには、例えば、ブロックマッチングのサイズが小さく設定された撮像条件を選択し、選択された撮像条件に基づいて3次元カメラ40にワーク50を撮像させてもよい。そうすることで、3次元カメラ40は、
図6のワーク50における三角形部分等の細やかな特徴を敏感に捉えた距離画像を撮像(生成)することができ、算出処理部113は、より高い一致度を算出することができる。
【0031】
また、例えば、
図8に示すように、ワーク50が曲面部分等の形状を有する場合、3次元カメラ40は、曲面部分を正確に距離画像化することが難しいため、ブロックマッチングのスコアを厳しく設定した撮像条件を選択するようにしてもよい。そうすることで、3次元カメラ40により撮像(生成)される距離画像は、曲面部分の情報があえて削減され、それ以外の平面部分が支配的になり、CADモデルとの一致度を高くすることができる。
【0032】
なお、撮像条件は、例えば、撮像条件データ141に格納される複数の撮像条件のうち、作業者による入力部12を介した入力に応じて選択されるようにしてもよい。
【0033】
撮像条件最適化部114は、算出処理部113により算出された一致度が予め設定された所定値以上となる撮像条件を3次元カメラ40に設定する。
具体的には、撮像条件最適化部114は、例えば、算出処理部113により各撮像条件における一致度が順次に算出される場合に、算出された一致度が設定された所定値以上となった時点の撮像条件を最適な撮像条件として3次元カメラ40に設定するようにしてもよい。
なお、所定値は、要求される距離画像の精度等に応じて適宜決定されることが好ましい。
【0034】
<情報処理装置10の撮像条件調整処理>
次に、情報処理装置10の撮像条件調整処理に係る動作の一例について説明する。
図9は、情報処理装置10の撮像条件調整処理の一例について説明するフローチャートである。
【0035】
ステップS11において、情報処理装置10は、ロボット制御装置20に対してロボット30を動作させることで、3次元カメラ40の視野内に対象物であるワーク50を作業台60に配置させる。
【0036】
ステップS12において、読込部111は、CAD/CAM装置等の外部装置(図示しない)からワーク50の形状を示すCADモデルを読み込む。
【0037】
ステップS13において、撮像条件生成部112は、複数の撮像条件を生成し、生成した複数の撮像条件を撮像条件データ141に格納する。
【0038】
ステップS14において、算出処理部113は、撮像条件データ141に格納された複数の撮像条件から選択された撮像条件に基づいて3次元カメラ40により撮像(生成)された距離画像と、ステップS12で読み込まれたCADモデルとのマッチングを行い、距離画像とCADモデルとの一致度(CADモデルマッチングのスコア)を算出する。
【0039】
ステップS15において、撮像条件最適化部114は、ステップS14で算出された一致度が所定値以上か否かを判定する。一致度が所定値以上の場合、処理はステップS16に進む。一方、一致度が所定値より小さい場合、次の撮像条件での一致度(CADモデルマッチングのスコア)を算出するために、処理はステップS14に戻る。
【0040】
ステップS16において、撮像条件最適化部114は、一致度が所定値以上の撮像条件を3次元カメラ40に設定する。
【0041】
以上により、一実施形態の情報処理装置10は、生成した複数の撮像条件から選択された撮像条件に基づいて3次元カメラ40により生成された距離画像と、読み込まれたCADモデルとのマッチングを行い、距離画像とCADモデルとの一致度(CADモデルマッチングのスコア)を算出する。情報処理装置10は、算出した一致度が所定値以上となった時点で、当該時点の撮像条件を3次元カメラ40に設定する。
これにより、情報処理装置10は、作業者のスキルによらず、最適な撮像条件を自動で決定することができ、作業者による撮像条件の設定作業の負担を軽減することができる。
【0042】
以上、一実施形態について説明したが、情報処理装置10は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0043】
<変形例1>
上述の実施形態では、情報処理装置10は、ロボット制御装置20と異なる装置としたが、これに限定されない。例えば、情報処理装置10は、ロボット制御装置20に含まれてもよい。
【0044】
<変形例2>
また例えば、上述の実施形態では、撮像条件最適化部114は、一致度が所定値以上となった時点の撮像条件を3次元カメラ40に設定したが、これに限定されない。例えば、算出処理部113は、撮像条件生成部112により生成され撮像条件データ141に格納された全ての複数の撮像条件における距離画像とCADモデルとの一致度を算出してもよい。そして、撮像条件最適化部114は、算出された全ての一致度のうち、最も高い一致度の撮像条件を決定するようにしてもよい。
そうすることで、情報処理装置10は、より最適な撮像条件を3次元カメラ40に設定することができる。
【0045】
<変形例3>
また例えば、上述の実施形態では、複数の撮像条件を作成して、その中から随時選択された撮像条件に基づいて撮像する構成を例示したが、これに限定されない。例えば、今回の撮像条件での一致度と前回の撮像条件での一致度との比較に基づいて、次回の撮像条件を生成するようにしてもよい。具体的には、一致度が良くなっている場合は、前回と同じ方向で撮像条件を修正し、一致度が悪くなっている場合は、前回とは逆の方向で撮像条件を修正するようにしてもよい。
【0046】
<変形例4>
また例えば、距離画像とCADモデルとの一致度の比較前に、距離画像を加工して比較を実施してもよい。例えば、距離画像の一部を切り出したり、縮小することで、一致度の計算を高速化してもよい。また、CADモデルとの比較が効果的になるのであれば距離画像にフィルタをかけてぼかす等の加工を施してもよい。
【0047】
なお、一実施形態における、情報処理装置10に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0048】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0049】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0050】
以上を換言すると、本開示の撮像条件調整装置、及び撮像条件調整方法は、次のような構成を有する各種各様の実施形態を取ることができる。
【0051】
(1)本開示の撮像条件調整装置(情報処理装置10)は、ワーク50の距離画像を撮像する撮像条件を調整する撮像条件調整装置であって、3次元カメラ40の視野内に配置されたワーク50を含む距離画像を3次元カメラ40から取得する取得部110と、ワーク50のCADモデルを読み込む読込部111と、生成された複数の撮像条件に基づいてそれぞれ3次元カメラ40により撮像された距離画像とCADモデルとのマッチングを行い、撮像された距離画像とCADモデルとの一致度を算出する算出処理部113と、算出処理部113により算出された一致度が予め設定された所定値以上となる撮像条件を3次元カメラ40に設定する撮像条件最適化部114と、を備える。
この撮像条件調整装置によれば、作業者のスキルによらず、最適な撮像条件を自動で決定することができる。
【0052】
(2) (1)に記載の撮像条件調整装置において、撮像条件最適化部114は、算出処理部113により算出された複数の撮像条件それぞれの一致度のうち最も高い一致度の撮像条件を決定してもよい。
そうすることで、撮像条件調整装置は、より最適な撮像条件を3次元カメラ40に設定することができる。
【0053】
(3) (1)又は(2)に記載の撮像条件調整装置において、撮像条件は、露光時間、プロジェクタ43の光量、ブロックマッチングのサイズ、ブロックマッチングのスコアの閾値の少なくとも1つを含んでもよい。
そうすることで、撮像条件調整装置は、より最適な距離画像を取得することができる。
【0054】
(4)本開示の撮像条件調整方法は、コンピュータにより実現される、ワーク50の距離画像を撮像する撮像条件を調整する撮像条件調整方法であって、3次元カメラ40の視野内に配置されたワーク50を含む距離画像を3次元カメラ40から取得する取得工程と、ワーク50のCADモデルを読み込む読込工程と、生成された複数の撮像条件に基づいてそれぞれ3次元カメラ40により撮像された距離画像とCADモデルとのマッチングを行い、撮像された距離画像とCADモデルとの一致度を算出する算出処理工程と、算出された一致度が予め設定された所定値以上となる撮像条件を3次元カメラ40に設定する撮像条件最適化工程と、を備える。
この撮像条件調整方法によれば、(1)と同様の効果を奏することができる。
【符号の説明】
【0055】
1 ロボットシステム
10 情報処理装置
11 制御部
110 取得部
111 読込部
112 撮像条件生成部
113 算出処理部
114 撮像条件最適化部
12 入力部
13 表示部
14 記憶部
141 撮像条件データ
20 ロボット制御装置
30 ロボット
40 3次元カメラ