(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】ロボットシミュレーション装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20240514BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2023500830
(86)(22)【出願日】2022-02-14
(86)【国際出願番号】 JP2022005753
(87)【国際公開番号】W WO2022176816
(87)【国際公開日】2022-08-25
【審査請求日】2023-09-12
(31)【優先権主張番号】P 2021024351
(32)【優先日】2021-02-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】米山 寛之
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2016-129915(JP,A)
【文献】特開平9-160616(JP,A)
【文献】特開2019-76972(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
作業空間内に把持物を把持したロボット、及び作業対象物を有するロボットシステムにおいて、前記把持物の面を前記作業対象物の面に押し当て、前記把持物の面上に配置された転写物を前記作業対象物の面上に転写する前記ロボットの動作プログラムのシミュレーションを行うロボットシミュレーション装置であって、
前記作業空間を三次元的に表現した仮想空間内に前記ロボットのロボットモデルを配置するロボットモデル配置部と、
前記仮想空間において、前記把持物の把持物モデルを前記ロボットモデルに把持されるように配置する把持物モデル配置部と、
前記仮想空間において、前記作業対象物の作業対象物モデルを前記ロボットモデルに把持された前記把持物モデルが届く位置に配置する作業対象物モデル配置部と、
前記動作プログラムに従い前記ロボットシミュレーション装置上で動作する前記ロボットシステムの画像を生成する画像生成部と、
前記画像生成部により生成されたロボットシステムの画像を表示する表示部と、
前記把持物モデルの面上に前記転写物の転写物画像を表示する第1転写物画像表示部と、
前記把持物モデルの面が前記作業対象物モデルの面に接したとき、前記把持物モデルの面上に表示した前記転写物画像に対して反転させた関係になるよう、前記作業対象物モデルの面上に前記転写物画像を表示する第2転写物画像表示部と、
を備えるロボットシミュレーション装置。
【請求項2】
前記ロボットシステムは、さらに、前記作業対象物を搬送する搬送装置、及び前記搬送装置により搬送中の前記作業対象物を検出する検出装置を有し、
前記ロボットシミュレーション装置は、さらに、
前記仮想空間において、前記搬送装置の搬送装置モデルを配置する搬送装置モデル配置部と、
前記仮想空間において、前記作業対象物の作業対象物モデルを前記搬送装置モデル上に配置する作業対象物モデル配置部と、
前記仮想空間において、前記搬送装置モデルが搬送する前記作業対象物モデルを検出する検出装置の検出装置モデルを、前記搬送装置モデルが搬送する前記作業対象物モデルを検出できるように、前記仮想空間に配置する検出装置モデル配置部と、
を備え、
前記第2転写物画像表示部は、さらに、
前記把持物モデルの面が前記搬送装置モデルによって搬送される前記作業対象物モデルの面に接したとき、前記把持物モデルの面上に表示した前記転写物画像に対して反転させた関係になるよう、前記作業対象物モデルの面上に前記転写物画像を表示する、請求項1に記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシミュレーション装置に関する。
【背景技術】
【0002】
ツールを搭載したロボット、ワーク、及び周辺機器を有するロボットシステムの三次元モデルを画面に配置して同時に表示し、ロボットの動作プログラムの動作をコンピュータ上でシミュレーションする技術が提案されている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、ロボットが把持したローラーを平面ブロックのワークに押し当て、ローラーの模様(例えば、シール等)を平面ブロックに貼り付ける動作プログラムを確認する場合や、ロボットがベルトコンベヤを流れてくるワークにシールやスタンプ等のラベルを張り付ける動作プログラムを確認する場合には、ローラーの模様を平面ブロックに貼り付ける様子やワークにラベルを張り付ける様子をシミュレーションで事前に確認できず、作業者が現場で直接確認しなければならない。
【0005】
そこで、動作プログラムの動作とともに、ワークに模様やラベル等が確実に転写されていることを容易に確認できることが望まれている。
【課題を解決するための手段】
【0006】
本開示のロボットシミュレーション装置の一態様は、作業空間内に把持物を把持したロボット、及び作業対象物を有するロボットシステムにおいて、前記把持物の面を前記作業対象物の面に押し当て、前記把持物の面上に配置された転写物を前記作業対象物の面上に転写する前記ロボットの動作プログラムのシミュレーションを行うロボットシミュレーション装置であって、前記作業空間を三次元的に表現した仮想空間内に前記ロボットのロボットモデルを配置するロボットモデル配置部と、前記仮想空間において、前記把持物の把持物モデルを前記ロボットモデルに把持されるように配置する把持物モデル配置部と、前記仮想空間において、前記作業対象物の作業対象物モデルを前記ロボットモデルに把持された前記把持物モデルが届く位置に配置する作業対象物モデル配置部と、前記動作プログラムに従い前記ロボットシミュレーション装置上で動作する前記ロボットシステムの画像を生成する画像生成部と、前記画像生成部により生成されたロボットシステムの画像を表示する表示部と、前記把持物モデルの面上に前記転写物の転写物画像を表示する第1転写物画像表示部と、前記把持物モデルの面が前記作業対象物モデルの面に接したとき、前記把持物モデルの面上に表示した前記転写物画像に対して反転させた関係になるよう、前記作業対象物モデルの面上に前記転写物画像を表示する第2転写物画像表示部と、を備える。
【発明の効果】
【0007】
一態様によれば、動作プログラムの動作とともに、ワークに模様やラベル等が確実に転写されていることが容易に確認できる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係るロボットシミュレーション装置の機能的構成例を示す機能ブロック図である。
【
図2】画像生成部により生成されるロボットシステムの画像の一例を示す図である。
【
図5】把持物モデルの面上に表示された
図4の転写物画像の一例を示す図である。
【
図6A】ロボットモデルの動作に応じて作業対象物モデルの面上に転写された転写物画像の一例を示す図である。
【
図6B】ロボットモデルの動作に応じて作業対象物モデルの面上に転写された転写物画像の一例を示す図である。
【
図6C】ロボットモデルの動作に応じて作業対象物モデルの面上に転写された転写物画像の一例を示す図である。
【
図7】反転して転写された転写物全体の転写物画像の一例を示す図である。
【
図8】ロボットシミュレーション装置1のシミュレーション処理について説明するフローチャートである。
【
図9】第2実施形態に係るロボットシミュレーション装置の機能的構成例を示す機能ブロック図である。
【
図10】表示部に表示される仮想空間の画面の一例を示す図である。
【
図11】画像生成部により生成されたロボットシステムの画像の一例を示す図である。
【
図12】
図10のロボットシステムの画像に重畳して表示された転写物の転写物画像の一例を示す図である。
【
図13】作業対象物モデルの面上に転写された転写物画像の一例を示す図である。
【
図14】
図13の画像に重畳して表示された反転して転写された全体の転写物画像の一例を示す図である。
【発明を実施するための形態】
【0009】
<第1実施形態>
本実施形態の構成について図面を用いて詳細に説明する。ここでは、作業空間においてロボットがローラーを把持し、把持したローラーを平面板状のワークである平面ブロックに押し当てて、ローラーに設置されたシール等を平面ブロックに貼り付ける場合を例示する。なお、本発明は、ロボットが把持したローラーに設置されたシール等を任意の形状のワークに貼り付ける場合に対しても適用可能である。
【0010】
図1は、第1実施形態に係るロボットシミュレーション装置の機能的構成例を示す機能ブロック図である。
図1に示すように、ロボットシミュレーション装置1は、公知のコンピュータであり、制御部10、入力部11、表示部12、及び記憶部13を含む。制御部10は、仮想空間作成部101、モデル配置部102、画像生成部103、第1転写物画像表示部104、及び第2転写物画像表示部105を含む。また、記憶部13は、モデルデータ131を含む。
なお、ロボットシミュレーション装置1は、ロボット(図示しない)の動作を制御するロボット制御装置(図示しない)とLAN(Local Area Network)やインターネット等のネットワークを介して相互に接続されていてもよい。あるいは、ロボットシミュレーション装置1は、ロボット制御装置(図示しない)と図示しない接続インターフェースを介して互いに直接接続されてもよい。
【0011】
<入力部11>
入力部11は、例えば、キーボードや、後述する表示部12に配置されたタッチパネル等であり、作業者からの入力を受け付ける。
【0012】
<表示部12>
表示部12は、例えば、液晶ディスプレイ等である。表示部12は、後述するように、例えば入力部11を介して作業者により入力(選択)されたロボット(図示しない)、当該ロボットが把持するローラー等の把持物、及び当該把持物を押し当てる平面ブロック等の作業対象物の3D CADデータ等を表示する。
【0013】
<記憶部13>
記憶部13は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等であり、各種の制御用プログラムとともに、ローラー等の把持物の面を平面ブロックの作業対象物の面に押し当て、把持物の面上に配置された転写物を作業対象物の面上に転写するロボットの動作プログラム、及びモデルデータ131等を記憶してもよい。
モデルデータ131は、上述したように、例えば入力部11を介して作業者により入力(選択)され、表示部12に表示されるロボット(図示しない)の3D CADデータ(以下、「ロボットモデル」ともいう)、当該ロボットが把持するローラー等の把持物の3D CADデータ(以下、「把持物モデル」ともいう)、及び当該把持物を押し当てる平面ブロック等の作業対象物の3D CADデータ(以下、「作業対象物モデル」ともいう)等を記憶する。
【0014】
<制御部10>
制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUはロボットシミュレーション装置1を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってロボットシミュレーション装置1全体を制御する。これにより、
図1に示すように、制御部10が、仮想空間作成部101、モデル配置部102、画像生成部103、第1転写物画像表示部104、及び第2転写物画像表示部105の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、ロボットシミュレーション装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0015】
仮想空間作成部101は、ロボット(図示しない)、ローラーの把持物、及び平面ブロックの作業対象物が配置される作業空間を3次元的に表現した仮想空間を作成する。
【0016】
モデル配置部102は、例えば、入力部11を介したユーザの入力操作に応じて、仮想空間作成部101により作成された3次元の仮想空間内に、ロボット(図示しない)のロボットモデルを配置するロボットモデル配置部としての機能と、ローラー(把持物)の把持物モデルを配置する把持物モデル配置部としての機能と、平面ブロック(作業対象物)の作業対象物モデルを配置する作業対象物モデル配置部としての機能と、有する。
具体的には、モデル配置部102(ロボットモデル配置部)は、仮想空間内に図示しないロボットを配置するために、ロボットのロボットモデルを記憶部13のモデルデータ131から読み込む。モデル配置部102(ロボットモデル配置部)は、読み込んだロボットのロボットモデルを仮想空間内に配置する。
また、モデル配置部102(把持物モデル配置部)は、仮想空間内に図示しないローラーの把持物モデルを配置するために、ローラーの把持物モデルを記憶部13のモデルデータ131から読み込む。モデル配置部102(把持物モデル配置部)は、読み込んだローラーの把持物モデルを仮想空間内に配置する。
また、モデル配置部102(作業対象物モデル配置部)は、仮想空間内に図示しない平面ブロックの作業対象物モデルを配置するために、平面ブロックの作業対象物モデルを記憶部13のモデルデータ131から読み込む。モデル配置部102(作業対象物モデル配置部)は、読み込んだ平面ブロックの作業対象物モデルを仮想空間内に配置する。
【0017】
画像生成部103は、動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成する。
図2は、画像生成部103により生成されるロボットシステムの画像の一例を示す図である。
図2に示すように、生成された画像には、ロボットモデル200、把持物モデル210、及び作業対象物モデル220が配置されている。
ロボットモデル200は、ローラー等の把持物を把持して移動する垂直多関節ロボットの3次元モデルであって、ロボットベースモデル201、旋回胴モデル202、ロボットアームモデル203、及び手首部モデル204を有する。
ロボットアームモデル203は、旋回胴モデル202に回動可能に接続される上腕部モデル203aと、上腕部モデル203aの先端に回動可能に接続される前腕部モデル203bとを有する。
手首部モデル204は、前腕部モデル203bの先端に設けられ、仮想空間内で把持物モデル210を3軸周りに回動可能に支持する。
なお、ロボットの動作プログラムは、ロボットモデル200を動作させるための仮想ロボット動作パラメータを有する。仮想ロボット動作パラメータは、ロボット座標系Σrの原点及び軸方向、把持物座標系Σhの原点及び軸方向、最大駆動速度、及び仮想可動範囲等のパラメータを含む。
【0018】
ロボット座標系Σrは、仮想空間においてロボットモデル200を動作させるときに基準となる座標系であって、仮想ロボット動作パラメータに含まれる、該ロボット座標系Σrの原点及び軸方向によって仮想空間内で定義される。
図2に示すように、ロボット座標系Σrの原点は、ロボットベースモデル201の中心に配置され、旋回胴モデル202は、ロボット座標系ΣrのZ軸周りに回動する。
把持物座標系Σhは、仮想空間における把持物モデル210の位置及び姿勢を規定する座標系であって、仮想ロボット動作パラメータに含まれる、把持物座標系Σhの原点及び軸方向によって仮想空間内で定義される。
図2に示すように、把持物座標系Σhの原点は、ローラーの把持物モデル210の回転軸であるツール先端点に一致するように配置され、把持物モデル210は、把持物座標系ΣhのX軸周りに回転する。
作業対象物座標系Σkは、仮想空間における作業対象物モデル220を配置するときに基準となる座標系であって、仮想ロボット動作パラメータに含まれる、作業対象物座標系Σkの原点及び軸方向によって仮想空間内で定義される。
図2に示すように、作業対象物座標系Σkの原点は、作業対象物モデル220の上面に配置され、作業対象物座標系Σkの軸方向は、後述する転写物の転写物画像が把持物モデル210により転写される方向がX軸で、作業対象物モデル220の上面の鉛直方向がZ軸となるように設定されている。
これにより、ロボットシミュレーション装置1は、ロボットの動作プログラムを実行することで、例えばローラーを平面ブロックに押し当ててローラーに設置されたシール等を貼り付けるように、把持物モデル210のツール先端点の位置を制御することができる。そして、画像生成部103は、当該動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成する。
図3A及び
図3Bは、生成された画像の一例を示す図である。
画像生成部103は、生成した画像を表示部12に表示する。
【0019】
第1転写物画像表示部104は、把持物モデル210の面上に作業対象物モデル220に転写する転写物の転写物画像を表示する。
図4は、転写物の転写物画像の一例を示す図である。
図5は、把持物モデル210の面上に表示された
図4の転写物画像の一例を示す図である。
図5に示すように、第1転写物画像表示部104は、
図2の画像に把持物モデル210の面上に巻き付けるように転写物の転写物画像を表示する。
なお、第1転写物画像表示部104は、把持物モデル210の面上に転写物の転写物画像を表示するとともに、
図2の画像に
図4の転写物全体の転写物画像を重畳して表示してもよい。
【0020】
第2転写物画像表示部105は、把持物モデル210の面が作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、作業対象物モデル220の面上に転写物画像を表示部12に表示する。
図6Aから
図6Cは、ロボットモデル200の動作に応じて作業対象物モデル220の面上に転写された転写物画像の一例を示す図である。
なお、第2転写物画像表示部105は、
図6Aから
図6Cの画像を表示部12に表示するとともに、作業対象物モデル220に反転して転写された全体の転写物画像を重畳して表示部12に表示してもよい。
図7は、反転して転写された転写物全体の転写物画像の一例を示す図である。
【0021】
そして、ロボットシミュレーション装置1(第2転写物画像表示部105)は、
図6Aから
図6Cに示すように、作業対象物モデル220の上面に転写物を貼り付けられた場合、ロボットの動作プログラムが適切に構築されていると判定してもよい。
一方、ロボットシミュレーション装置1(第2転写物画像表示部105)は、作業対象物モデル220の上面に転写物を張り付け損なうような場合、ロボットの動作プログラムが適切に構築されていないと判定してもよい。この場合、ロボットシミュレーション装置1は、表示部12に警告画像を表示するようにしてもよい。
そうすることで、ロボットシミュレーション装置1は、実空間におけるロボットの動作を実際の作業に近い形態でシミュレーションすることができ、ワークに模様やラベル等が確実に転写されていることが容易に確認できる。
【0022】
<ロボットシミュレーション装置1のシミュレーション処理>
次に、
図8を参照しながら、ロボットシミュレーション装置1のシミュレーション処理の流れを説明する。
図8は、ロボットシミュレーション装置1のシミュレーション処理について説明するフローチャートである。ここで示すフローは、ロボットの動作プログラムが実行される度に実行される。
【0023】
ステップS1において、仮想空間作成部101は、ロボット、ローラー、及び平面ブロックが配置される作業空間を3次元的に表現した仮想空間を作成する。
【0024】
ステップS2において、モデル配置部102は、ステップS1で作成された3次元の仮想空間内にロボットのロボットモデル200、ローラーの把持物モデル210、及び平面ブロックの作業対象物モデル220を配置する。
【0025】
ステップS3において、画像生成部103は、動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成する。
【0026】
ステップS4において、画像生成部103は、ステップS3で生成したロボットシステムの画像を表示部12に表示する。
【0027】
ステップS5において、第1転写物画像表示部104は、ステップS4で表示された画像のうち、把持物モデル210の面上に転写物の転写物画像を表示する。
【0028】
ステップS6において、第2転写物画像表示部105は、把持物モデル210の面が作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、ロボットモデル200及び把持物モデル210の動作に応じて作業対象物モデル220の面上に転写物画像を表示部12に表示する。
【0029】
以上のように、第1実施形態に係るロボットシミュレーション装置1は、仮想空間内にロボットモデル200、把持物モデル210、及び作業対象物モデル220を配置する。ロボットシミュレーション装置1は、動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成して表示部12に表示し、表示した画像の把持物モデル210の面上に転写物の転写物画像を表示する。ロボットシミュレーション装置1は、把持物モデル210の面が作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、ロボットモデル200の動作に応じて作業対象物モデル220の面上に転写物画像を表示部12に表示する。
これにより、ロボットシミュレーション装置1は、動作プログラムの動作とともに、ワークに模様やラベル等が確実に転写されていることが容易に確認できる。
以上、第1実施形態について説明した。
【0030】
次に、第2実施形態について説明する。第2実施形態では、ロボットシステムは、さらに、作業対象物を搬送する搬送装置、及び搬送装置により搬送中の作業対象物を検出する検出装置を有し、ロボットシミュレーション装置は、さらに、仮想空間において、搬送装置の搬送装置モデルを配置する搬送装置モデル配置部と、作業対象物の作業対象物モデルを搬送装置モデルの上に配置する作業対象物モデル配置部と、搬送装置モデルが搬送する作業対象物モデルを検出する検出装置の検出装置モデルを、搬送装置モデルが搬送する作業対象物モデルを検出できるように配置する検出装置モデル配置部と、を有し、第2転写物画像表示部は、さらに把持物モデルの面が搬送装置によって搬送される作業対象物モデルの面に接したとき、把持物モデルの面上に表示した転写物画像に対して反転させた関係になるよう、作業対象物モデルの面上に転写物画像を表示する点で、第1実施形態と相違する。
これにより、第2実施形態に係るロボットシミュレーション装置1Aは、動作プログラムの動作とともに、ワークに模様やラベル等が確実に転写されていることが容易に確認できる。
以下、第2実施形態について説明する。
【0031】
図9は、第2実施形態に係るロボットシミュレーション装置の機能的構成例を示す機能ブロック図である。なお、
図1のロボットシミュレーション装置1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
ロボットシミュレーション装置1Aは、制御部10、入力部11、表示部12、及び記憶部13を含む。制御部10は、仮想空間作成部101、モデル配置部102a、画像生成部103、第1転写物画像表示部104、及び第2転写物画像表示部105aを含む。また、記憶部13は、モデルデータ131を含む。
制御部10、入力部11、表示部12、及び記憶部13は、第1実施形態に係る制御部10、入力部11、表示部12、及び記憶部13と同等の機能を有する。
なお、記憶部13は、ロボットの動作プログラムとともに、搬送装置を動作させる搬送装置の動作プログラムを記憶してもよい。また、記憶部13のモデルデータ131は、表示部12に表示されるロボット(図示しない)の3D CADデータ(ロボットモデル)、当該ロボットが把持する把持物の3D CADデータ(把持物モデル)、及び当該把持物を押し当てる作業対象物の3D CADデータ(作業対象物モデル)とともに、ベルトコンベヤ等の搬送装置の3D CADデータ(以下、「搬送装置モデル」ともいう)、及び搬送装置モデルが搬送する作業対象物モデルを検出する3次元視覚センサ等の検出装置の3D CADデータ(以下、「検出装置モデル」ともいう)を記憶するようにしてもよい。
また、仮想空間作成部101、画像生成部103、及び第1転写物画像表示部104は、第1実施形態に係る仮想空間作成部101、画像生成部103、及び第1転写物画像表示部104と同等の機能を有する。
【0032】
モデル配置部102aは、例えば、入力部11を介したユーザの入力操作に応じて、仮想空間作成部101により作成された3次元の仮想空間内に、ロボット(図示しない)のロボットモデルを配置するロボットモデル配置部としての機能、及び把持物の把持物モデルを配置する把持物モデル配置部としての機能とともに、搬送装置の搬送装置モデルを配置する搬送装置モデル配置部としての機能と、ワーク(作業対象物)の作業対象物モデルを搬送装置モデル上に配置する作業対象物モデル配置部としての機能と、3次元視覚センサ等の検出装置の検出装置モデルを搬送装置モデルが搬送する作業対象物モデルを検出できるように配置する検出装置モデル配置部としての機能と、を有する。
図10は、表示部12に表示される仮想空間の画面の一例を示す図である。なお、
図10の把持物モデル210のワークは、直方体の形状を有するが、円筒形等の任意の形状を有してもよい。
ロボットモデル200は、第1実施形態の場合と同様に、スタンプ等の把持物を把持して移動する垂直多関節ロボットの3次元モデルであって、ロボットベースモデル201、旋回胴モデル202、ロボットアームモデル203、手首部モデル204、及びロボットハンドモデル205を有する。
ロボットハンドモデル205は、例えば、開閉可能な複数の指部、又は吸着部を有し、スタンプ等の把持物モデル210を保持する。
また、搬送装置モデル230は、ワークを搬送可能な搬送装置(例えば、ベルトコンベア)の3次元モデルであって、支持部モデル231、232と、該支持部モデル231、232に可動に設けられるコンベアモデル233とを有し、作業対象物モデル220を搬送する。
また、検出装置モデル240は、例えば3次元視覚センサ等であって、搬送装置モデル230の鉛直上方に設置され、搬送装置モデル230によって搬送される作業対象物モデル220を検出する。
【0033】
なお、ロボットの動作プログラムは、ロボットモデル200を動作させるための仮想ロボット動作パラメータを有する。仮想ロボット動作パラメータは、ロボット座標系Σrの原点及び軸方向、把持物座標系Σhの原点及び軸方向、検出装置座標系Σcの原点及び軸方向、最大駆動速度、及び仮想可動範囲等のパラメータを含む。
また、搬送装置の動作プログラムは、搬送装置モデル230を動作させるための仮想搬送装置動作パラメータを有する。仮想搬送装置動作パラメータは、搬送装置座標系Σbの原点及び軸方向、及び搬送速度等のパラメータを含む。
搬送装置座標系Σbは、仮想空間においてコンベアモデル233を模擬的に動作させるときに基準となる座標系であって、仮想搬送装置動作パラメータに含まれる、該搬送装置座標系Σbの原点及び軸方向によって仮想空間内で定義される。
図10に示すように、搬送装置座標系Σbの原点は、コンベアモデル233の上流端の一角に配置され、コンベアモデル233は、搬送装置座標系ΣbのY軸方向に作業対象物モデル220を搬送する。
また、検出装置座標系Σcは、
図10に示すように、Z軸方向が検出装置モデル240の視線方向と一致し、かつ実空間の鉛直下方に一致するように設定される。
これにより、ロボットシミュレーション装置1Aは、ロボットの動作プログラム及び搬送装置の動作プログラムを実行することで、例えばスタンプをワークに押し当ててスタンプ等を張り付けるように、把持物モデル210のツール先端点の位置を制御することができる。
【0034】
画像生成部103は、第1実施形態の場合と同様に、動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成する。
図11は、画像生成部103により生成されたロボットシステムの画像の一例を示す図である。
図11に示すように、例えば、ロボットの動作プログラム及び搬送装置の動作プログラムを実行することにより、動作プログラムに予め設定された単位時間(例えば、1分間等)当たりの作業対象物の供給量に基づいて、作業対象物モデル220が搬送装置モデル230上に順次配置される。そして、搬送装置モデル230は、順次配置された作業対象物モデル220を動作プログラムに予め設定された搬送速度で搬送装置座標系ΣbのY軸方向に搬送する。
【0035】
なお、作業対象物モデル220は、
図11に示すように、搬送装置モデル230の面上に配置されるとき、搬送装置座標系ΣbのXY平面上の位置(及び/又はZ軸周りの回転角)のランダムなオフセット量が与えられてもよい。
【0036】
第1転写物画像表示部104は、第1実施形態の場合と同様に、把持物モデル210の面上に作業対象物モデル220に転写する転写物の転写物画像を表示する。
図12は、
図10のロボットシステムの画像に重畳して表示された転写物の転写物画像の一例を示す図である。
なお、
図12に示す転写物画像は、把持物モデル210の把持物座標系ΣhのマイナスZ軸方向から見た画像である。
【0037】
第2転写物画像表示部105aは、把持物モデル210の面が搬送装置モデル230によって搬送される作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、作業対象物モデル220の面上に転写物画像を表示部12に表示する。
図13は、作業対象物モデル220の面上に転写された転写物画像の一例を示す図である。
なお、第2転写物画像表示部105aは、
図13の画像を表示部12に表示するとともに、作業対象物モデル220に反転して転写された全体の転写物画像を重畳して表示部12に表示してもよい。
図14は、
図13の画像に重畳して表示された反転して転写された全体の転写物画像の一例を示す図である。
【0038】
すなわち、ロボットシミュレーション装置1Aは、例えば仮想空間において検出装置モデル240を動作させ、検出装置モデル240は、搬送中の作業対象物モデル220を検出する。シミュレーション装置1Aは、検出装置モデル240の視線データと、作業対象物モデル220の配置情報とに基づいて、検出装置モデル240が仮想空間内で作業対象物モデル220を検出したときに得られるべき仮想検出画像(仮想検出結果)を生成する。
ロボットシミュレーション装置1Aは、生成した仮想検出画像から、ロボット座標系Σrにおける作業対象物モデル220の位置及び姿勢を取得する。そして、ロボットシミュレーション装置1Aは、取得した作業対象物モデル220の位置及び姿勢と、ロボットの動作プログラムと、に基づいてロボットモデル200を仮想空間内で動作させる。
ロボットシミュレーション装置1Aは、把持物座標系Σhの原点を搬送中の作業対象物モデル220の所定位置(例えば作業対象物モデル220の中心)に継続して配置するように、把持物座標系Σhを順次設定する。
ロボットシミュレーション装置1Aは、把持物座標系Σhによって規定される位置及び姿勢に把持物モデル210を配置するように、ロボットモデル200を仮想空間内で動作させる。
【0039】
これにより、ロボットモデル200は、仮想空間において、把持物モデル210を作業対象物モデル220に追従させることができる。
そして、ロボットシミュレーション装置1A(第2転写物画像表示部105a)は、
図13に示すように、作業対象物モデル220の上面に転写物を張り付けられた場合、ロボットの動作プログラムが適切に構築されていると判定してもよい。
一方、ロボットシミュレーション装置1A(第2転写物画像表示部105a)は、作業対象物モデル220の上面に転写物を張り付け損なうような場合、ロボットの動作プログラムが適切に構築されていないと判定してもよい。この場合、ロボットシミュレーション装置1Aは、表示部12に警告画像を表示するようにしてもよい。
そうすることで、ロボットシミュレーション装置1Aは、実空間におけるロボットの動作を実際の作業に近い形態でシミュレーションすることができ、ワークに模様やラベル等が確実に転写されていることが容易に確認できる。
【0040】
なお、ロボットシミュレーション装置1Aのシミュレーション処理は、
図8の場合と同様であり、詳細な説明は省略する。
【0041】
以上のように、第2実施形態に係るロボットシミュレーション装置1Aは、仮想空間内にロボットモデル200、把持物モデル210、作業対象物モデル220、搬送装置モデル230、及び検出装置モデル240を配置する。ロボットシミュレーション装置1Aは、動作プログラムに従いロボットシミュレーション装置1A上で動作するロボットシステムの画像を生成して表示部12に表示し、表示した画像の把持物モデル210の面上に転写物の転写物画像を表示する。ロボットシミュレーション装置1Aは、把持物モデル210の面が搬送装置モデル230によって搬送される作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、ロボットモデル200及び把持物モデル210の動作に応じて作業対象物モデル220の面上に転写物画像を表示部12に表示する。
これにより、ロボットシミュレーション装置1Aは、動作プログラムの動作とともに、ワークに所望の模様やラベル等が確実に転写されていることが容易に確認できる。
以上、第2実施形態について説明した。
【0042】
以上、第1実施形態及び第2実施形態について説明したが、ロボットシミュレーション装置1、1Aは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0043】
<変形例>
上述の第1実施形態及び第2実施形態では、ロボットシミュレーション装置1、1Aは、ロボット制御装置(図示しない)と異なる装置としたが、これに限定されない。例えば、ロボットシミュレーション装置1、1Aは、ロボット制御装置(図示しない)に含まれてもよい。
【0044】
なお、第1実施形態及び第2実施形態における、ロボットシミュレーション装置1、1Aに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0045】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0046】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0047】
以上を換言すると、本開示のロボットシミュレーション装置は、次のような構成を有する各種各様の実施形態を取ることができる。
【0048】
(1)本開示のロボットシミュレーション装置1は、作業空間内に把持物を把持したロボット、及び作業対象物を有するロボットシステムにおいて、把持物の面を作業対象物の面に押し当て、把持物の面上に配置された転写物を作業対象物の面上に転写するロボットの動作プログラムのシミュレーションを行うロボットシミュレーション装置であって、作業空間を三次元的に表現した仮想空間内にロボットのロボットモデル200を配置するロボットモデル配置部と、仮想空間において、把持物の把持物モデル210をロボットモデル200に把持されるように配置する把持物モデル配置部と、仮想空間において、作業対象物の作業対象物モデル220をロボットモデル200に把持された把持物モデル210が届く位置に配置する作業対象物モデル配置部と、動作プログラムに従いロボットシミュレーション装置1上で動作するロボットシステムの画像を生成する画像生成部103と、画像生成部103により生成されたロボットシステムの画像を表示する表示部12と、把持物モデル210の面上に転写物の転写物画像を表示する第1転写物画像表示部104と、把持物モデル210の面が作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、作業対象物モデル220の面上に転写物画像を表示する第2転写物画像表示部105と、を備える。
このロボットシミュレーション装置1によれば、動作プログラムの動作とともに、ワークに所望の模様やラベル等が確実に転写されていることが容易に確認できる。
(2) (1)に記載のロボットシミュレーション装置1Aにおいて、ロボットシステムは、さらに、作業対象物を搬送する搬送装置、及び搬送装置により搬送中の作業対象物を検出する検出装置を有し、ロボットシミュレーション装置1Aは、さらに、仮想空間において、搬送装置の搬送装置モデル230を配置する搬送装置モデル配置部と、仮想空間において、作業対象物の作業対象物モデル220を搬送装置モデル230上に配置する作業対象物モデル配置部と、仮想空間において、搬送装置モデル230が搬送する作業対象物モデル220を検出する検出装置の検出装置モデル240を、搬送装置モデル230が搬送する作業対象物モデル220を検出できるように、仮想空間に配置する検出装置モデル配置部と、を備え、第2転写物画像表示部105aは、さらに把持物モデル210の面が搬送装置モデル230によって搬送される作業対象物モデル220の面に接したとき、把持物モデル210の面上に表示した転写物画像に対して反転させた関係になるよう、作業対象物モデル220の面上に転写物画像を表示してもよい。
そうすることで、ロボットシミュレーション装置1Aは、(1)と同様の効果を奏することができる。
【符号の説明】
【0049】
1、1A ロボットシミュレーション装置
10 制御部
101 仮想空間作成部
102、102a モデル配置部
103 画像生成部
104 第1転写物画像表示部
105、105a 第2転写物画像表示部
11 入力部
12 表示部
13 記憶部
131 モデルデータ