(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】シミュレーション装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20250107BHJP
B25J 19/04 20060101ALN20250107BHJP
【FI】
B25J9/22 A
B25J19/04
(21)【出願番号】P 2023537821
(86)(22)【出願日】2021-07-28
(86)【国際出願番号】 JP2021027920
(87)【国際公開番号】W WO2023007621
(87)【国際公開日】2023-02-02
【審査請求日】2024-02-06
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】米山 寛之
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開2015-136781(JP,A)
【文献】特開2005-135278(JP,A)
【文献】特開2008-021092(JP,A)
【文献】特開2011-065399(JP,A)
【文献】特開2006-010312(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
B25J 19/04
(57)【特許請求の範囲】
【請求項1】
作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部と、
前記仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する計測対象物モデル配置部と、
前記計測対象物モデルにおいて計測箇所を指定する計測箇所指定部と、
前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置する視覚センサモデル配置部と、
前記計測箇所の位置に基づいて、前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定する位置決定部と、
前記視覚センサモデルの画像サイズ内で、前記視覚センサモデルによって前記計測箇所が撮像される撮像領域を指定する撮像領域指定部と、
を備えるシミュレーション装置。
【請求項2】
前記視覚センサモデル位置において、前記計測箇所の三次元位置を、前記視覚センサモデルにより前記計測箇所を撮像した場合の二次元位置に変換する位置変換部を更に備え、
前記位置決定部は、全ての前記二次元位置が前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定する、
請求項1に記載のシミュレーション装置。
【請求項3】
前記仮想空間内にロボットを三次元的に表現したロボットモデルを配置するロボットモデル配置部と、
前記視覚センサモデルが前記ロボットモデルに取り付けられている場合、前記視覚センサモデルの配置位置における前記ロボットモデルの姿勢を算出するロボット姿勢算出部と、
を更に備える請求項1又は2に記載のシミュレーション装置。
【請求項4】
前記視覚センサモデルを前記計測箇所の上方に配置する際の姿勢を指定するセンサ姿勢指定部を更に備える請求項1から
3のいずれか一項に記載のシミュレーション装置。
【請求項5】
前記視覚センサモデルと前記計測箇所との距離を指定する距離指定部を更に備える請求項1から
4のいずれか一項に記載のシミュレーション装置。
【請求項6】
作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部と、
前記仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する計測対象物モデル配置部と、
前記計測対象物モデルにおいて計測箇所を指定する計測箇所指定部と、
前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置する視覚センサモデル配置部と、
前記計測箇所の位置に基づいて、前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定する位置決定部と、
前記視覚センサモデルを前記計測箇所の上方に配置する際の姿勢を指定するセンサ姿勢指定部と、
を備え、
前記センサ姿勢指定部は、前記仮想空間の基準平面に対して、前記視覚センサモデルの光軸が垂直になる姿勢を基準として前記視覚センサモデルの座標系周りの角度を指定する
、シミュレーション装置。
【請求項7】
作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部と、
前記仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する計測対象物モデル配置部と、
前記計測対象物モデルにおいて計測箇所を指定する計測箇所指定部と、
前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置する視覚センサモデル配置部と、
前記計測箇所の位置に基づいて、前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定する位置決定部と、
前記視覚センサモデル位置において、前記計測箇所の三次元位置を、前記視覚センサモデルにより前記計測箇所を撮像した場合の二次元位置に変換する位置変換部と、
を備え、
前記位置決定部は、全ての前記二次元位置が前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定し、
前記位置決定部は、全ての前記二次元位置が前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデルの位置が複数存在する場合、前記計測箇所が前記視覚センサモデルの画像に最も大きく写る位置を、前記視覚センサモデルの配置位置として決定する
、シミュレーション装置。
【請求項8】
前記位置変換部は、前記視覚センサモデルの
前記視覚センサモデル位置、前記視覚センサモデルのレンズの焦点距離、前記視覚センサモデルの撮像素子の1ピクセルあたりの長さ及び前記視覚センサモデルのレンズの中心位置を含む撮像条件を使用して、前記計測箇所の三次元位置を、前記視覚センサモデルにより
前記計測箇所を撮像した場合の
前記二次元位置に変換する、請求項2に記載のシミュレーション装置。
【請求項9】
作業空間を三次元的に表現した仮想空間において、計測対象物を三次元的に表現した計測対象物モデルにおいて計測箇所を指定し、
前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置するための入力操作を受け付け、
前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定するための入力操作を受け付け
、前記視覚センサモデルの画像サイズ内で、前記視覚センサモデルによって前記計測箇所が撮像される撮像領域を指定するための入力操作を受け付ける機能を実行する制御部を備えるシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーション装置に関する。
【背景技術】
【0002】
従来、ロボットモデルによって計測対象物モデルに対して作業を行う動作をシミュレーションする技術が提案されている(例えば、特許文献1参照)。特許文献1に記載のシミュレーション装置は、作業空間を三次元的に表現した仮想空間内にロボットのロボットモデル、視覚センサの視覚センサモデル、及び計測対象物の計測対象物モデルを配置し、視覚センサモデルにより計測対象物モデルを計測し、ロボットモデルによって計測対象物モデルに対して作業を行う動作をシミュレーションする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、仮想空間内で視覚センサモデルにより計測対象物モデルを計測し、ロボットモデルが計測対象物モデルに対して作業を行うシミュレーションを行うことができる。しかし、作業者は、視覚センサモデルにより計測対象物モデルを撮像した画像を見ながら、適切な視覚センサモデルの位置を決定しなければならない。そのため、視覚センサモデルの位置の調整に手間及び時間が掛かるという課題があった。
【0005】
よって、視覚センサモデルの位置の調整を効率良く行うことができるシミュレーション装置が求められている。
【課題を解決するための手段】
【0006】
本開示の一態様に係るシミュレーション装置は、作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部と、前記仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する計測対象物モデル配置部と、前記計測対象物モデルにおいて計測箇所を指定する計測箇所指定部と、前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置する視覚センサモデル配置部と、前記計測箇所の位置に基づいて、前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定する位置決定部と、を備える。
【0007】
本開示の一態様に係るシミュレーション装置は、作業空間を三次元的に表現した仮想空間において、計測対象物を三次元的に表現した計測対象物モデルにおいて計測箇所を指定し、前記計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを任意の視覚センサモデル位置に配置するための入力操作を受け付け、前記視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、前記視覚センサモデルの配置位置として決定するための入力操作を受け付ける機能を実行する制御部を備える。
【発明の効果】
【0008】
本発明によれば、視覚センサモデルの位置の調整を効率良く行うことができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係るシミュレーション装置の構成を示すブロック図である。
【
図2】第1実施形態に係る仮想空間内のロボットモデル、視覚センサモデル及び計測対象物モデルを示す図である。
【
図4】視覚センサモデルを配置する処理を示す図である。
【
図5】視覚センサモデルの姿勢を指定する処理を示す図である。
【
図6】計測箇所の三次元位置を二次元位置に変換する処理を示す図である。
【
図7】計測箇所の三次元位置を二次元位置に変換する処理を示す図である。
【
図8】視覚センサモデル位置を視覚センサモデルの配置位置として決定する処理を示す図である。
【
図9】視覚センサモデル位置を視覚センサモデルの配置位置として決定する処理を示す図である。
【
図10】視覚センサモデルがロボットモデルに取り付けられている例を示す図である。
【
図11】第2実施形態に係る仮想空間内のロボットモデル、視覚センサモデル及び計測対象物モデルを示す図である。
【
図13】視覚センサモデルを配置する処理を示す図である。
【
図14】視覚センサモデルの姿勢を指定する処理を示す図である。
【
図15】計測箇所の三次元位置を二次元位置に変換する処理を示す図である。
【
図16】計測箇所の三次元位置を二次元位置に変換する処理を示す図である。
【
図17】視覚センサモデル位置を視覚センサモデルの配置位置として決定する処理を示す図である。
【
図18】視覚センサモデル位置を視覚センサモデルの配置位置として決定する処理を示す図である。
【
図19】視覚センサモデルがロボットモデルに取り付けられている例を示す図である。
【
図20】本実施形態に係るシミュレーション装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係るシミュレーション装置1の構成を示すブロック図である。
図1に示すように、シミュレーション装置1は、制御部11と、記憶部12と、表示部13と、操作部14と、を備える。
【0011】
制御部11は、CPU(Central Processing Unit)等のプロセッサであり、記憶部12に記憶されたプログラムを実行することによって各種の機能を実現する。
【0012】
記憶部12は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。
【0013】
表示部13は、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等で構成され、各種の画像を表示する。
操作部14は、マウス、キーボード等で構成され、各種の入力を受け付ける。
【0014】
制御部11は、仮想空間作成部111と、計測対象物モデル配置部112と、ロボットモデル配置部113と、計測箇所指定部114と、視覚センサモデル配置部115と、撮像領域指定部116と、センサ姿勢指定部117と、距離指定部118と、位置変換部119と、位置決定部120と、ロボット姿勢算出部121、シミュレーション実行部122と、を備える。
【0015】
仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。
計測対象物モデル配置部112は、仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する。
【0016】
ロボットモデル配置部113は、仮想空間内にロボットを三次元的に表現したロボットモデルを配置する。
計測箇所指定部114は、計測対象物モデルにおいて1以上の計測箇所を指定する。計測箇所指定部114は、例えば、操作部14の操作に従って、計測対象物モデルにおいて1以上の任意の計測箇所を指定する。
【0017】
視覚センサモデル配置部115は、計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを、任意の視覚センサモデル位置に配置する。視覚センサモデル配置部115は、例えば、操作部14の操作に従って、視覚センサモデルの視覚センサモデル位置を任意の位置に変更することができる。
【0018】
撮像領域指定部116は、例えば、操作部14の操作に従って、視覚センサモデルの画像サイズ内で、視覚センサモデルによって計測箇所が撮像される領域を指定する。
センサ姿勢指定部117は、例えば、操作部14の操作に従って、視覚センサモデルを計測箇所の上方に配置する際の姿勢を指定する。
距離指定部118は、例えば、操作部14の操作に従って、視覚センサモデルと計測箇所との距離を指定する。
【0019】
位置変換部119は、視覚センサモデル位置において、計測箇所の三次元位置を、視覚センサモデルにより計測箇所を撮像した場合の二次元位置に変換する。
位置決定部120は、測定箇所の位置に基づいて、視覚センサモデルの画像サイズ内に含まれる視覚センサモデル位置を、視覚センサモデルの配置位置として決定する。
【0020】
ロボット姿勢算出部121は、視覚センサモデルがロボットモデルに取り付けられている場合、視覚センサモデル位置におけるロボットモデルの姿勢を算出する。
【0021】
シミュレーション実行部122は、ロボットモデル、視覚センサモデル及び計測対象物モデルを用いて、動作プログラムに基づいて、ロボットモデルが計測対象物モデルに対して作業を行うシミュレーションを実行する。
【0022】
[第1実施形態]
図2から
図10は、第1実施形態に係るシミュレーション装置1の処理を示す図である。
図2は、第1実施形態に係る仮想空間内のロボットモデルR1、視覚センサモデルV1及び計測対象物モデルW1を示す図である。
【0023】
図2に示すように、仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。そして、計測対象物モデル配置部112は、仮想空間内に計測対象物を三次元的に表現した計測対象物モデルW1を配置する。計測対象物モデルW1は、例えば、箱に収容された複数のワークであってもよい。基準座標系Kは、仮想空間内の基準となる座標系を示す。
【0024】
また、ロボットモデル配置部113は、仮想空間内にロボットを三次元的に表現したロボットモデルR1を配置する。ロボットモデル座標系CR1は、ロボットモデルR1の座標系を示す。ロボットモデルR1は、例えば、多関節ロボットであってもよい。
【0025】
図3は、計測箇所M1を指定する処理を示す図である。
図3に示すように、計測箇所指定部114は、計測対象物モデルW1において計測箇所M1を指定する。
図3に示す例では、計測箇所指定部114は、計測対象物モデルW1の上面を計測箇所M1として指定する。
【0026】
計測箇所指定部114は、例えば、計測対象物モデルW1がワークの場合、ワーク全体又はワークの一部を直方体で囲むことによって計測箇所M1を指定する。また、計測箇所指定部114は、計測対象物モデルW1が籠又はコンテナの場合、計測対象物モデルW1の上面を選択することによって計測箇所M1を指定する。
【0027】
図4は、視覚センサモデルV1を配置する処理を示す図である。
図4に示すように、視覚センサモデル配置部115は、視覚センサモデルV1を、計測箇所M1上方の1以上の任意の視覚センサモデル位置に配置する。
【0028】
また、距離指定部118は、視覚センサモデルV1と計測箇所M1との距離D1を指定する。例えば、距離指定部118は、操作部14の操作に従って、固定した距離を指定する又は距離の範囲を指定することによって距離D1を指定する。
【0029】
図5は、視覚センサモデルV1の姿勢を指定する処理を示す図である。
図5に示すように、センサ姿勢指定部117は、視覚センサモデルV1を計測箇所M1の上方に配置する際の姿勢を指定する。
【0030】
具体的には、センサ姿勢指定部117は、仮想空間の基準平面(例えば、仮想空間のXY平面)に対して、視覚センサモデルV1の光軸が垂直になる姿勢(すなわち、
図4における視覚センサモデルV1の姿勢)を基準として視覚センサモデル座標系CV1周りの角度θ1を指定する。なお、視覚センサモデルV1の姿勢を指定する処理は、視覚センサモデルV1の姿勢を指定する必要がない場合、省略されてもよい。
【0031】
図6及び
図7は、計測箇所M1の三次元位置P1を二次元位置P11に変換する処理を示す図である。
図6及び
図7に示すように、計測箇所M1の三次元位置P1は、仮想空間内の基準座標系Kにおいて、座標(X1,Y1,Z1)と表される。
【0032】
そして、位置変換部119は、視覚センサモデルV1の視覚センサモデル位置において、計測箇所M1の三次元位置P1(X1,Y1,Z1)を、視覚センサモデルV1により計測箇所M1を撮像した場合の二次元位置P11(X11,Y11)に変換する。
【0033】
具体的には、位置変換部119は、視覚センサモデルV1の視覚センサモデル位置、視覚センサモデルV1のレンズの焦点距離、視覚センサモデルV1の撮像素子の1ピクセルあたりの長さ、視覚センサモデルV1のレンズの中心位置等を含む撮像条件を使用して、計測箇所の三次元位置P1を、視覚センサモデルV1により計測箇所を撮像した場合の二次元位置P11に変換する。なお、撮像条件は、視覚センサモデルV1に関する他の条件を含んでもよい。
【0034】
また、視覚センサモデル配置部115によって視覚センサモデルV1の視覚センサモデル位置が、任意の位置に変更されると、位置変換部119は、変更された視覚センサモデル位置において、計測箇所の三次元位置P1(X1,Y1,Z1)を二次元位置P11(X11,Y11)に変換する。
【0035】
すなわち、シミュレーション装置1は、ユーザによる操作部14への入力操作に応じて、視覚センサモデル配置部115によって配置される視覚センサモデル位置を変更しながら、位置変換部119による三次元位置P1の二次元位置P11への変換を繰り返す。
【0036】
更に、
図6及び
図7に示すように、位置決定部120は、変換された二次元位置P11が、視覚センサモデルV1の画像サイズA1内に含まれるかを判定する。
図6に示す例では、位置決定部120は、変換された二次元位置P11が、視覚センサモデルV1の画像サイズA1内に含まれないと判定する。一方、
図7に示す例では、位置決定部120は、変換された二次元位置P11が、視覚センサモデルV1の画像サイズA1内に含まれると判定する。
【0037】
図8及び
図9は、視覚センサモデル位置を視覚センサモデルV1の配置位置として決定する処理を示す図である。
図8及び
図9に示すように、位置変換部119は、視覚センサモデルV1の視覚センサモデル位置において、計測箇所M1の三次元位置P1(X1,Y1,Z1)、P2(X2,Y2,Z2)及びP3(X3,Y3,Z3)を、それぞれ二次元位置P11(X11,Y11)、P21(X21,Y21)及びP31(X31,Y31)に変換する。
【0038】
なお、
図8及び
図9に示す例では、位置変換部119は、3つの三次元位置P1、P2及びP3をそれぞれ二次元位置P11、P21及びP31に変換しているが、三次元位置の数は、これに限定されない。
【0039】
位置決定部120は、変換された二次元位置P11、P21及びP31が、視覚センサモデルV1の画像サイズA1内に含まれるかを判定する。
図8に示す例では、位置決定部120は、変換された全ての二次元位置P11、P21及びP31が、視覚センサモデルV1の画像サイズA1内に含まれると判定する。
【0040】
そして、位置決定部120は、全ての二次元位置P11、P21及びP31が視覚センサモデルV1の画像サイズA1内に含まれる視覚センサモデル位置を、視覚センサモデルV1の配置位置として決定する。
【0041】
ここで、位置決定部120は、全ての二次元位置P11、P21及びP31が視覚センサモデルV1の画像サイズA1内に含まれる視覚センサモデルの位置が複数存在する場合、計測箇所M1が視覚センサモデルV1の画像に最も大きく写る位置を、視覚センサモデルV1の配置位置として決定する。
【0042】
また、
図9に示すように、撮像領域指定部116は、視覚センサモデルV1の画像サイズA1内で、視覚センサモデルV1によって計測箇所M1が撮像される撮像領域A2を指定する。そして、計測箇所M1が、視覚センサモデルV1の画像サイズA1よりも狭い撮像領域A2に含まれるように撮像される場合、位置決定部120は、全ての二次元位置P11、P21及びP31が視覚センサモデルV1の撮像領域A2内に含まれる視覚センサモデル位置を、視覚センサモデルV1の配置位置として決定する。
【0043】
図10は、視覚センサモデルV1がロボットモデルR1に取り付けられている例を示す図である。
図10に示すように、視覚センサモデルV1がロボットモデルR1のアームの先端に取り付けられている場合、ロボット姿勢算出部121は、視覚センサモデルV1の配置位置におけるロボットモデルR1の姿勢を算出する。
【0044】
そして、シミュレーション実行部122は、上述したロボットモデルR1、視覚センサモデルV1、計測対象物モデルW1を用いて、動作プログラムに基づいて、ロボットモデルR1が計測対象物モデルW1に対して作業を行うシミュレーションを実行する。
【0045】
[第2実施形態]
図11から
図19は、第2実施形態に係るシミュレーション装置1の処理を示す図である。第2実施形態は、計測対象物モデルW2の計測箇所M2が立体的な形状を有している点が第1実施形態とは異なる。
【0046】
図11は、第2実施形態に係る仮想空間内のロボットモデルR2、視覚センサモデルV2及び計測対象物モデルW2を示す図である。
図11に示すように、仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。そして、計測対象物モデル配置部112は、仮想空間内に計測対象物を三次元的に表現した計測対象物モデルW2を配置する。計測対象物モデルW2は、例えば、複数の直方体及び円柱等の立体的な形状を含むワークであってもよい。基準座標系Kは、仮想空間内の基準となる座標系を示す。
【0047】
また、ロボットモデル配置部113は、仮想空間内にロボットを三次元的に表現したロボットモデルR2を配置する。ロボットモデル座標系CR2は、ロボットモデルR2の座標系を示す。ロボットモデルR2は、例えば、多関節ロボットであってもよい。
【0048】
図12は、計測箇所M2を指定する処理を示す図である。
図12に示すように、計測箇所指定部114は、計測対象物モデルW2において計測箇所M2を指定する。
図12に示す例では、計測箇所指定部114は、計測対象物モデルW2の全部又は一部を計測箇所M2として指定する。
【0049】
計測箇所指定部114は、例えば、計測対象物モデルW2の全部又は一部を直方体で囲むことによって計測箇所M2を指定する。
【0050】
図13は、視覚センサモデルV2を配置する処理を示す図である。
図13に示すように、視覚センサモデル配置部115は、視覚センサモデルV2を、計測箇所M2上方の1以上の任意の視覚センサモデル位置に配置する。
【0051】
また、距離指定部118は、視覚センサモデルV2と計測箇所M2との距離D2を指定する。例えば、距離指定部118は、操作部14の操作に従って、固定した距離を指定する又は距離の範囲を指定することによって距離D2を指定する。
【0052】
図14は、視覚センサモデルV2の姿勢を指定する処理を示す図である。
図14に示すように、センサ姿勢指定部117は、視覚センサモデルV2を計測箇所M2の上方に配置する際の姿勢を指定する。
【0053】
具体的には、センサ姿勢指定部117は、仮想空間の基準平面(例えば、仮想空間のXY平面)に対して、視覚センサモデルV2の光軸が垂直になる姿勢(すなわち、
図13における視覚センサモデルV2の姿勢)を基準として視覚センサモデル座標系CV2周りの角度θ2を指定する。なお、視覚センサモデルV2の姿勢を指定する処理は、視覚センサモデルV2の姿勢を指定する必要がない場合、省略されてもよい。
【0054】
図15及び
図16は、計測箇所M2の三次元位置P4を二次元位置P41に変換する処理を示す図である。
図15及び
図16に示すように、計測箇所M2の三次元位置P4は、仮想空間内の基準座標系Kにおいて、座標(X4,Y4,Z4)と表される。
【0055】
そして、位置変換部119は、視覚センサモデルV2の視覚センサモデル位置において、計測箇所M2の三次元位置P4(X4,Y4,Z4)を、視覚センサモデルV1により計測箇所M1を撮像した場合の二次元位置P41(X41,Y41)に変換する。
【0056】
具体的には、位置変換部119は、視覚センサモデルV2の視覚センサモデル位置、視覚センサモデルV2のレンズの焦点距離、視覚センサモデルV2の撮像素子の1ピクセルあたりの長さ、視覚センサモデルV2のレンズの中心位置等を含む撮像条件を使用して、計測箇所の三次元位置P4を、視覚センサモデルV2により計測箇所を撮像した場合の二次元位置P41に変換する。なお、撮像条件は、視覚センサモデルV2に関する他の条件を含んでもよい。
【0057】
また、視覚センサモデル配置部115によって視覚センサモデルV2の視覚センサモデル位置が、任意の位置に変更されると、位置変換部119は、変更された視覚センサモデル位置において、計測箇所の三次元位置P4(X4,Y4,Z4)を二次元位置P41(X41,Y41)に変換する。
【0058】
すなわち、シミュレーション装置1は、ユーザによる操作部14への入力操作に応じて、視覚センサモデル配置部115によって配置される視覚センサモデル位置を変更しながら、位置変換部119による三次元位置P4の二次元位置P41への変換を繰り返す。
【0059】
更に、
図15及び
図16に示すように、位置決定部120は、変換された二次元位置P41が、視覚センサモデルV2の画像サイズA3内に含まれるかを判定する。
図15に示す例では、位置決定部120は、変換された二次元位置P41が、視覚センサモデルV2の画像サイズA3内に含まれないと判定する。一方、
図16に示す例では、位置決定部120は、変換された二次元位置P41が、視覚センサモデルV2の画像サイズA3内に含まれると判定する。
【0060】
図17及び
図18は、視覚センサモデル位置を視覚センサモデルV2の配置位置として決定する処理を示す図である。
図17及び
図18に示すように、位置変換部119は、視覚センサモデルV2の視覚センサモデル位置において、計測箇所M2の三次元位置P4(X4,Y4,Z4)、P5(X5,Y5,Z5)及びP6(X6,Y6,Z6)を、それぞれ二次元位置P41(X41,Y41)、P51(X51,Y51)及びP61(X61,Y61)に変換する。
【0061】
なお、
図17及び
図18に示す例では、位置変換部119は、3つの三次元位置P4、P5及びP6をそれぞれ二次元位置P41、P51及びP61に変換しているが、三次元位置の数は、これに限定されない。
【0062】
位置決定部120は、変換された二次元位置P41、P51及びP61が、視覚センサモデルV2の画像サイズA3内に含まれるかを判定する。
図17に示す例では、位置決定部120は、変換された全ての二次元位置P41、P51及びP61が、視覚センサモデルV2の画像サイズA3内に含まれると判定する。
【0063】
そして、位置決定部120は、全ての二次元位置P41、P51及びP61が視覚センサモデルV2の画像サイズA3内に含まれる視覚センサモデル位置を、視覚センサモデルV2の配置位置として決定する。
【0064】
ここで、位置決定部120は、全ての二次元位置P41、P51及びP61が視覚センサモデルV2の画像サイズA3内に含まれる視覚センサモデルの位置が複数存在する場合、計測箇所M2が視覚センサモデルV2の画像に最も大きく写る位置を、視覚センサモデルV2の配置位置として決定する。
【0065】
また、
図18に示すように、撮像領域指定部116は、視覚センサモデルV2の画像サイズA3内で、視覚センサモデルV2によって計測箇所M2が撮像される撮像領域A4を指定する。
【0066】
そして、計測箇所M2が、視覚センサモデルV2の画像サイズA3よりも狭い撮像領域A4に含まれるように撮像される場合、位置決定部120は、全ての二次元位置P41、P51及びP61が視覚センサモデルV2の撮像領域A4内に含まれる視覚センサモデル位置を、視覚センサモデルV2の配置位置として決定する。
【0067】
図19は、視覚センサモデルV2がロボットモデルR2に取り付けられている例を示す図である。
図19に示すように、視覚センサモデルV2がロボットモデルR2のアームの先端に取り付けられている場合、ロボット姿勢算出部121は、視覚センサモデルV2の配置位置におけるロボットモデルR2の姿勢を算出する。
【0068】
そして、シミュレーション実行部122は、上述したロボットモデルR2、視覚センサモデルV2及び計測対象物モデルW2を用いて、動作プログラムに基づいて、ロボットモデルR2が計測対象物モデルW2に対して作業を行うシミュレーションを実行する。
【0069】
[処理の流れ]
図20は、第1実施形態及び第2実施形態に共通するシミュレーション装置1の処理の流れを示すフローチャートである。
ステップS1において、仮想空間作成部111は、作業空間を三次元的に表現した仮想空間を作成する。
【0070】
ステップS2において、計測対象物モデル配置部112は、仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する。ロボットモデル配置部113は、仮想空間内にロボットを三次元的に表現したロボットモデルを配置する。
【0071】
ステップS3において、計測箇所指定部114は、計測対象物モデルにおいて1以上の計測箇所を指定する。視覚センサモデル配置部115は、計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを、計測箇所上方の1以上の任意の視覚センサモデル位置に配置する。
【0072】
ステップS4において、位置変換部119は、視覚センサモデル位置において、計測箇所の三次元位置を、視覚センサモデルにより計測箇所を撮像した場合の二次元位置に変換する。
【0073】
ステップS5において、位置決定部120は、全ての二次元位置が視覚センサモデルの画像サイズ内に含まれる視覚センサモデル位置を、視覚センサモデルの配置位置として決定する。
【0074】
[他の実施形態]
また、他の実施形態に係るシミュレーション装置1は、オペレータの操作に従って以下のような機能を実行する制御部11を備えてもよい。すなわち、制御部11は、作業空間を三次元的に表現した仮想空間において、計測対象物を三次元的に表現した計測対象物モデルにおいて1以上の計測箇所を指定する。
【0075】
次に、制御部11は、計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを、計測箇所上方の1以上の任意の視覚センサモデル位置に配置するための入力操作を受け付ける。
【0076】
更に、制御部11は、視覚センサモデルの画像サイズ内に含まれる視覚センサモデル位置を、視覚センサモデルの配置位置として決定するための入力操作を受け付ける。これにより、他の実施形態に係るシミュレーション装置1は、上述した第1実施形態及び第2実施形態において説明した処理を実行することができる。
【0077】
上述した実施形態によれば、シミュレーション装置1は、作業空間を三次元的に表現した仮想空間を作成する仮想空間作成部111と、仮想空間内に計測対象物を三次元的に表現した計測対象物モデルを配置する計測対象物モデル配置部112と、計測対象物モデルにおいて計測箇所を指定する計測箇所指定部114と、計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを、任意の視覚センサモデル位置に配置する視覚センサモデル配置部115と、計測箇所の位置に基づいて、視覚センサモデルの画像サイズ内に含まれる前記視覚センサモデル位置を、視覚センサモデルの配置位置として決定する位置決定部120と、を備える。
【0078】
これにより、シミュレーション装置1は、視覚センサモデルの位置を自動的に決定でき、視覚センサモデルの位置の調整の手間及び調整時間を削減し、視覚センサモデルの位置の調整を効率良く行うことができる。
【0079】
また、シミュレーション装置1は、視覚センサモデル位置において、計測箇所の三次元位置を、視覚センサモデルにより計測箇所を撮像した場合の二次元位置に変換する位置変換部119を更に備え、位置決定部120は、全ての二次元位置が視覚センサモデルの画像サイズ内に含まれる視覚センサモデル位置を、視覚センサモデルの配置位置として決定する。これにより、シミュレーション装置1は、計測箇所を適切に撮像することができる視覚センサモデル位置を、視覚センサモデルの配置位置として自動的に決定することができる。
【0080】
また、シミュレーション装置1は、仮想空間内にロボットを三次元的に表現したロボットモデルを配置するロボットモデル配置部113と、視覚センサモデルがロボットモデルに取り付けられている場合、視覚センサモデルの配置位置におけるロボットモデルの姿勢を算出するロボット姿勢算出部121と、を更に備える。これにより、シミュレーション装置1は、計測箇所を適切に撮像することができる視覚センサモデル位置を用いて、ロボットモデルの姿勢を算出することができる。
【0081】
また、シミュレーション装置1は、視覚センサモデルの画像サイズ内で、視覚センサモデルによって計測箇所が撮像される撮像領域を指定する撮像領域指定部116を更に備える。これにより、シミュレーション装置1は、所望の撮像領域を指定し、計測箇所を適切に撮像することができる。
【0082】
また、シミュレーション装置1は、視覚センサモデルを計測箇所の上方に配置する際の姿勢を指定するセンサ姿勢指定部117を更に備える。これにより、シミュレーション装置1は、所望の視覚センサモデルの姿勢を指定し、計測箇所を適切に撮像することができる。
【0083】
また、シミュレーション装置1は、視覚センサモデルと計測箇所との距離を指定する距離指定部118を更に備える。これにより、シミュレーション装置1は、所望の視覚センサモデルと計測箇所との距離を指定し、計測箇所を適切に撮像することができる。
【0084】
また、センサ姿勢指定部117は、仮想空間の基準平面に対して、視覚センサモデルの光軸が垂直になる姿勢を基準として視覚センサモデルの座標系周りの角度を指定する。これにより、シミュレーション装置1は、所望の視覚センサモデルの角度を指定し、計測箇所を適切に撮像することができる。
【0085】
また、位置決定部120は、全ての二次元位置が視覚センサモデルの画像サイズ内に含まれる視覚センサモデルの位置が複数存在する場合、計測箇所が視覚センサモデルの画像に最も大きく写る位置を、視覚センサモデルの配置位置として決定する。これにより、シミュレーション装置1は、最も適切な視覚センサモデル位置を、視覚センサモデルの配置位置として自動的に決定することができる。
【0086】
また、位置変換部119は、視覚センサモデルの視覚センサモデル位置、視覚センサモデルのレンズの焦点距離、視覚センサモデルの撮像素子の1ピクセルあたりの長さ及び視覚センサモデルのレンズの中心位置を含む撮像条件を使用して、計測箇所の三次元位置を、視覚センサモデルにより計測箇所を撮像した場合の二次元位置に変換する。これにより、シミュレーション装置1は、計測箇所の三次元位置を二次元位置に変換することができる。
【0087】
また、制御部11は、作業空間を三次元的に表現した仮想空間において、計測対象物を三次元的に表現した計測対象物モデルにおいて1以上の計測箇所を指定する。次に、制御部11は、計測対象物を撮像する視覚センサを三次元的に表現した視覚センサモデルを、計測箇所上方の1以上の任意の視覚センサモデル位置に配置するための入力操作を受け付ける。更に、制御部11は、視覚センサモデルの画像サイズ内に含まれる視覚センサモデル位置を、視覚センサモデルの配置位置として決定するための入力操作を受け付ける。
【0088】
これにより、シミュレーション装置1は、視覚センサモデルの位置を自動的に決定でき、視覚センサモデルの位置の調整の手間及び調整時間を削減し、視覚センサモデルの位置の調整を効率良く行うことができる。
【0089】
以上、本発明の実施形態について説明したが、上記のロボット1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のロボット1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0090】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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(random access memory))を含む。
【0091】
また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【符号の説明】
【0092】
1 シミュレーション装置
11 制御部
12 記憶部
13 表示部
14 操作部
111 仮想空間作成部
112 計測対象物モデル配置部
113 ロボットモデル配置部
114 計測箇所指定部
115 視覚センサモデル配置部
116 撮像領域指定部
117 センサ姿勢指定部
118 距離指定部
119 位置変換部
120 位置決定部
121 ロボット姿勢算出部
122 シミュレーション実行部