JP2018020412A - シミュレーション装置、ロボット制御装置およびロボット - Google Patents

シミュレーション装置、ロボット制御装置およびロボット Download PDF

Info

Publication number
JP2018020412A
JP2018020412A JP2016153944A JP2016153944A JP2018020412A JP 2018020412 A JP2018020412 A JP 2018020412A JP 2016153944 A JP2016153944 A JP 2016153944A JP 2016153944 A JP2016153944 A JP 2016153944A JP 2018020412 A JP2018020412 A JP 2018020412A
Authority
JP
Japan
Prior art keywords
robot
virtual
format
line segment
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016153944A
Other languages
English (en)
Inventor
西谷 正信
Masanobu Nishitani
正信 西谷
努 萩原
Tsutomu Hagiwara
努 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016153944A priority Critical patent/JP2018020412A/ja
Priority to US15/663,954 priority patent/US20180036883A1/en
Publication of JP2018020412A publication Critical patent/JP2018020412A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems

Abstract

【課題】作業の効率が高いシミュレーション装置、このシミュレーション装置の結果に基づきロボットを制御するロボット制御装置およびかかるロボット制御装置により制御されるロボットを提供すること。【解決手段】ロボットを仮想した仮想ロボットの動作を行うシミュレーション装置であって、前記ロボットの作業対象物を仮想した仮想対象物の外形が有する複数の線分を特定する処理部を備え、前記仮想対象物のデータは、第1形式から前記第1形式よりもデータ量が1/10以下に圧縮された第2形式に変換されており、前記処理部は、前記複数の線分のうちの選択された線分に基づいて前記仮想ロボットを動作させることを特徴とするシミュレーション装置。【選択図】図3

Description

本発明は、シミュレーション装置、ロボット制御装置およびロボットに関するものである。
従来から、実物のロボット(実機)を用いずに、仮想空間内における仮想ロボットを用いて実機による作業等をシミュレーションする技術が知られている。かかるシミュレーションを行う装置では、仮想ロボットの他に、周辺機器等の3次元のCAD(computer aided design)データを取り込み、実物の周辺機器を仮想した仮想周辺機器を仮想空間内に配置する。これにより、ロボットのオフラインティーチング、周辺機器のレイアウト確認および周辺機器とロボットとの衝突確認等の検証が行われている。
このようなシミュレーション装置の一例が、特許文献1に開示されている。特許文献1に係るシミュレーション装置では、シミュレーション装置とは別のCAD装置から読み込んだワーク(対象物)の3次元モデルと、シミュレーション装置に予め記録されたロボットの3次元モデルとを用いて、ワークに対するロボットのオフラインティーチングを行うことができる。
特開2003−150220公報
しかし、周辺機器やワーク等の構成が複雑であると、3次元のCADデータの容量は例えば数GByteにも達する場合がある。そのようなデータをシミュレーション装置に読み込むと時間がかかり、また、読み込み後のシミュレーションの動作が重い。また、低スペックのPC(パーソナルコンピューター)によっては、応答できず、制御不能になるという不具合が生じる。このような不具合の対策として、例えば、CADデータをメカCADで削除して軽量化する方法が考えられる。しかし、この方法では、作業に時間がかかり、また、作業者の負担も大きい。そのため、シミュレーション装置による作業効率が低下するという問題があった。
本発明は、上述の課題を解決するためになされたものであり、以下により実現することが可能である。
本発明のシミュレーション装置は、ロボットを仮想した仮想ロボットの動作を行うシミュレーション装置であって、
前記ロボットの作業対象物を仮想した仮想対象物の外形が有する複数の線分を特定する処理部を備え、
前記仮想対象物のデータは、第1形式から前記第1形式よりもデータ量が1/10以下に圧縮された第2形式に変換されており、
前記処理部は、前記複数の線分のうちの選択された線分に基づいて前記仮想ロボットを動作させることを特徴とする。
このような本発明のシミュレーション装置によれば、仮想対象物のデータを読み込む時間や読み出す時間等を大幅に削減することができる。また、不要なデータを手作業で削除する作業を省くことができる。また、線分の情報を基にして仮想ロボットの教示点(ティーチングポイント)や設定経路を生成することができ、また、これらを生成する作業を比較的簡単に行うことができる。さらに、教示点を用いて仮想ロボットの動作プログラムを作成することができるため、大量の教示点と仮想ロボットの動作命令とを組み合わせたプログラムの記述作業の工数を著しく減らすことができる。このようなことから、本発明のシミュレーション装置による作業効率を高めることができる。
本発明のシミュレーション装置では、前記第2形式は、前記第1形式のデータ量の1/100以下であることが好ましい。
これにより、データを読み込む時間や読み出す時間等を大幅に削減することができ、よって、シミュレーション装置による作業効率をより高めることができる。
本発明のシミュレーション装置では、前記第2形式は、XVL形式であることが好ましい。
このようなXVL(eXtensible Virtual world description Language)形式であることで、データを読み込む時間や読み出す時間等を大幅に削減することができる。
本発明のシミュレーション装置では、前記処理部は、前記選択された線分上にある教示点における前記仮想ロボットの位置および姿勢を設定する機能と、設定された前記仮想ロボットの位置および姿勢を表示するような信号を出力する機能とを有することが好ましい。
これにより、教示点における仮想ロボットの位置および姿勢(具体的には、ロボットアーム先端の位置および姿勢)を表示部を介して作業者が視認することができ、作業中における仮想ロボットと周辺機器との干渉等の有無を容易に検討することができる。
本発明のシミュレーション装置では、前記教示点での前記仮想ロボットの姿勢の設定を変更可能であることが好ましい。
これにより、仮想ロボットと周辺機器との干渉等の有無に応じて、作業中における仮想ロボットの最適な姿勢を設定することができる。
本発明のシミュレーション装置では、前記教示点での前記仮想ロボットの位置の設定を変更可能であることが好ましい。
これにより、作業内容に応じて、教示点における仮想ロボットの最適な位置を設定することができる。
本発明のシミュレーション装置では、前記選択された線分に基づいた前記仮想ロボットの動作の設定経路を生成可能であり、生成した前記設定経路の位置を変更可能であることが好ましい。
これにより、作業内容に応じて、最適な設定経路を生成することができる。
本発明のシミュレーション装置では、前記選択された線分に基づいた前記仮想ロボットの動作の設定経路を生成可能であり、生成した前記設定経路の縮小および拡大の少なくとも一方を行うことが可能であることが好ましい。
これにより、作業内容に応じて、最適な設定経路を設定することができる。
本発明のシミュレーション装置では、前記設定経路が円弧を含む場合、前記円弧の中心を変えずに前記円弧の半径を変えることにより、前記設定経路の縮小および拡大の少なくとも一方を行うことが可能であることが好ましい。
これにより、作業内容に応じて、円弧状(曲線状)を含む設定経路を容易に設定および変更することができる。
本発明のロボット制御装置は、本発明のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とする。
これにより、より適正なロボットの制御を行うことができるロボット制御装置を提供することができる。
本発明のロボットは、本発明のロボット制御装置によって制御されることを特徴とする。
これにより、より適正に動作するロボットを提供することができる。
本発明の好適な実施形態に係るロボットを示す図である。 図1に示すロボット制御装置およびロボットのシステム構成図である。 本発明の好適な実施形態に係るシミュレーション装置のシステム構成図である。 表示部が有する画面に表示されるウィンドウの一例を示す図である。 仮想オフラインティーチングの設定の流れを示すフローチャートである。 仮想対象物を説明するための図である。 線分の記憶の際に用いられるウィンドウを示す図である。 線分の記憶の際に用いられるウィンドウを示す図である。 設定経路の補正を説明するための図である。 ポイントファイルのウィンドウを示す図である。 ポイントの補正の際に用いられるウィンドウを示す図である。 ツールの位置や姿勢、教示点を確認しながら作業を進める際に用いられるウィンドウを示す図である。 教示点における仮想塗布器具の座標系の表示の例を示す図である。 ロボット動作プログラムを実行するために用いられるウィンドウを示す図である。
以下、本発明のシミュレーション装置、ロボット制御装置およびロボットを添付図面に示す好適な実施形態に基づいて詳細に説明する。
1.ロボットシステム
図1は、本発明の好適な実施形態に係るロボットを示す図である。図2は、図1に示すロボット制御装置およびロボットのシステム構成図である。なお、以下では、説明の都合上、図1中の下側(基台110側)を「基端」、その反対側を「先端」と言う。
図1に示すロボットシステム100は、ロボット1と、本発明のロボット制御装置の一例であるロボット制御装置2とを有する。ロボット1の動作は、ロボット制御装置2により制御される。
[ロボット]
ロボット1は、6軸の垂直多関節ロボットであり、基台110と、基台110に接続されたロボットアーム10(マニピュレーター)とを有する。また、ロボットアーム10の先端部には、ハンド91(ツール)が取り付けられている。また、図2に示すように、ロボット1は、図1に示すロボットアーム10を駆動させる動力を発生させる複数の駆動部120および複数のモータードライバー130を備えている。
図1に示す基台110は、ロボット1をその作業する作業領域X内の所定の箇所に取り付ける部分である。また、本実施形態では、基台110にロボット制御装置2が内蔵されている。ただし、ロボット制御装置2は、ロボット1にその一部または全部が内蔵されていてもよく、また、ロボット1とは、別体であってもよい。
ロボットアーム10は、第1アーム11(アーム)と、第2アーム12(アーム)と、第3アーム13(アーム)と、第4アーム14(アーム)と、第5アーム15(アーム)と、第6アーム16(アーム)とを有する。第1アーム11は、基台110に接続されている。第1アーム11と第2アーム12と第3アーム13と第4アーム14と第5アーム15と第6アーム16とは、基端側から先端側に向ってこの順に連結されている。第6アーム16の先端部には、ハンド91が取り付けられている。また、本実施形態では、接着剤を塗布する塗布器具92(付属部材)がハンド91に取り付けられている。
第1アーム11は、基台110に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として基台110に対して回動可能となっている。また、第2アーム12は、第1アーム11に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として第1アーム11に対して回動可能となっている。また、第3アーム13は、第2アーム12に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として第2アーム12に対して回動可能となっている。また、第4アーム14は、第3アーム13に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として第3アーム13に対して回動可能となっている。また、第5アーム15は、第4アーム14に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として第4アーム14に対して回動可能となっている。また、第6アーム16は、第5アーム15に連結された回動軸部材(図示せず)を有し、回動軸部材の中心軸を回動中心として第5アーム15に対して回動可能となっている。
各アーム11〜16には、それぞれ、サーボモーター等のモーター(図示せず)および減速機(図示せず)を有する複数の駆動部120が設けられている。すなわち、図2に示すように、ロボット1は、各アーム11〜16に対応した数(本実施形態では6つ)の駆動部120を有している。そして、各アーム11〜16は、それぞれ、対応する駆動部120に電気的に接続された複数(本実施形態では6つ)のモータードライバー130を介してロボット制御装置2により制御されている。
また、各駆動部120には、例えば、エンコーダー、ロータリーエンコーダー等の角度センサー(図示せず)が設けられている。これにより、各駆動部120が有するモーターまたは減速機の回転軸の回転角度を検出することができる。
[ロボット制御装置]
ロボット制御装置2は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROM(Read Only Memory)等を備えるパーソナルコンピューター(PC)等で構成することができる。
図2に示すように、ロボット制御装置2は、駆動制御部21と、処理部22と、記憶部23と、I/F24(インターフェース)とを有する。駆動制御部21および処理部22は、CPUで構成されており、駆動制御部21は、複数の駆動部120の駆動を制御する機能を有し、処理部22は、各種信号を基に各種演算等を行う機能を有する。記憶部23は、RAMおよびROMで構成され、駆動部120の駆動(ロボット1の動作)を制御するロボットプログラムや、信号等の各種情報等を記憶または記録する機能を有する。I/F24は、ハードウェアインターフェースおよびソフトウェアインターフェース等で構成されている。
また、図示はしないが、ロボット制御装置2は、上記機能を有すれば、上記構成以外の機器等を有していてもよい。例えば、HDD(Hard Disk Drive)等の外部記憶装置、ディスプレイ等のモニターを有する表示部、および、作業者が前記PCへの指示をするための入力部(例えばマウスやキーボード等)等を有していてもよい。
このようなロボット制御装置2は、後述する本発明のシミュレーション装置の一例であるシミュレーション装置5によるシミュレーション結果に基づいてロボット1を制御する。例えば、I/F24または外部記憶装置を介してシミュレーション装置5によるシミュレーション結果を入手し、その結果に基づいて、記憶部23に記憶されたロボットプログラムを処理部22により修正等してもよい。また、ロボット制御装置2は、シミュレーション結果に基づいて作成され、または、修正されたロボットプログラムを入手してもよい。このように、ロボット制御装置2は、シミュレーション装置5による結果を利用しているため、より適正なロボット1の制御を行うことができる。
なお、ロボット制御装置2とシミュレーション装置5とは接続(有線または無線を問わず)されていてもよいし、接続されていなくてもよい。
また、前述したロボット1は、本発明のロボット制御装置の一例であるロボット制御装置2によって制御される。そのため、より適正な作業を行うロボット1を提供することができる。
このような構成のロボットシステム100は、例えば、電子部品および電子機器等の対象物80の把持および搬送や、対象物80に対する接着剤の塗布等の作業で用いられる。
2.シミュレーション装置
図3は、本発明の好適な実施形態に係るシミュレーション装置のシステム構成図である。図4は、表示部が有する画面に表示されるウィンドウの一例を示す図である。
図3に示すシミュレーション装置5は、仮想ロボット1Aの動作を行うことにより、実機であるロボット1の動作のシミュレーションを行う。
シミュレーション装置5は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)およびHDD(Hard Disk Drive)等を備えるパーソナルコンピューター(PC)等で構成することができる。このシミュレーション装置5は、図1に示すように、作業領域Xの外部に設定されていることが好ましい。
図3に示すように、シミュレーション装置5は、CPUで構成された中央処理装置51と、中央処理装置51を中心にバス57により相互に接続されたメインメモリー52、ファイル装置53、表示制御部54、入力制御部55およびI/F56(インターフェース)とを有する。
また、シミュレーション装置5には、画面610(図4参照)を有するディスプレイ等のモニター(図示せず)を備える表示部61(画像表示装置)と、マウスやキーボード等の入力部62(入力装置)とがそれぞれ接続(無線通信を含む)されている。
なお、本実施形態では、表示部61および入力部62はシミュレーション装置5に属していないものとして説明するが、これらはシミュレーション装置5が有していてもよい。
中央処理装置51は、例えば、メインメモリー52やファイル装置53に記憶または記録されている各種データやプログラム等に従って各種処理を行う。この中央処理装置51は、変換部501、処理部502および実行部503を有する。変換部501は、ファイル形式の変換を行う。処理部502は、各種演算および設定等の処理を行う。実行部503は、処理部502による処理に基づいて各種プログラムの実行を行う。
I/F56は、ハードウェアインターフェースおよびソフトウェアインターフェース等で構成されている。
メインメモリー52は、RAMで構成され、各種データやプログラム等を記憶する機能を有し、中央処理装置51の作業領域となる。
ファイル装置53は、ROMおよびHDD等で構成され、各種データおよびプログラム等を一旦記録する機能を有する。ファイル装置53には、ロボットシミュレータープログラムファイル531、第1形式のCADデータファイル532(中間ファイル)、第2形式のCADデータファイル534等を記録することができる。
ロボットシミュレータープログラムファイル531は、ロボット1の動作を制御するロボット制御装置2のロボットプログラムと同様のプログラムである。
また、第2形式のCADデータファイル534は、仮想対象物80Aの3次元モデルを含む。この第2形式のCADデータファイル534は、第1形式のCADデータファイル532(中間ファイル)を軽量化したファイルである。第1形式のCADデータファイル532は、シミュレーション装置5とは別のCAD装置(図示せず)で生成したCADデータファイルを互換性の目的等で変換したファイルである。
本実施形態では、CAD装置にて第1形式のCADデータファイル532の変換を行い、シミュレーション装置5にて第1形式のCADデータファイル532をそれよりもデータ量の少ない第2形式のCADデータファイル534に変換している。
前記の第2形式は、第1形式のデータ量の1/10以下であり、1/100以下であることが好ましい。これにより、データを読み込む時間や読み出す時間等を大幅に削減することができ、よって、シミュレーション装置5による作業効率をより高めることができる。
具体的には、前記のCAD装置を用いて生成したCADデータファイルの形式としては、例えば、SOLDWORKS形式等が挙げられる。また、前記の第1形式としては、IGES形式、Step形式、VRML形式およびDXF形式等が挙げられる。また、前記の第2形式としては、XVL(eXtensible Virtual world description Language)形式が挙げられる。第2形式がXVL形式であることで、データを読み込む時間や読み出す時間等を大幅に削減することができる。特に、複雑な構成の構造物(例えば、複雑な構成の周辺機器)のデータ等を読み込む場合に有効である。
ロボットシミュレータープログラムファイル531等の各種ファイルは、例えばCD−ROM等の記録媒体(図示せず)に格納されており、この記録媒体から提供される。なお、ロボットシミュレータープログラムファイル531等の各種ファイルは、記録媒体に格納されておらず、ネットワーク等を介して提供されてもよい。
表示制御部54は、例えばグラフィックコントローラーで構成されており、表示部61に接続されている。表示制御部54は、表示部61が有する画面610に各種操作画面等を表示させる機能を有する。例えば、表示制御部54は、図4に示すように、画面610に、実機であるロボット1および対象物80に対応(仮想)した仮想ロボット1Aおよび仮想対象物80Aの画像を表示させる。
また、入力制御部55は、マウスやキーボード等を有する入力部62からの入力を受け付ける機能を有する。したがって、作業者は、入力部62を用いてシミュレーション装置5に対して各種処理等の指示を行うことができる。
このようなシミュレーション装置5を用いることで、画面610上(仮想空間上)でロボット1を仮想した仮想ロボット1Aの動作の確認および検証を行うことができる。また、シミュレーション装置5により、仮想ロボット1Aに対して所定の作業を教示し、その教示された作業を検証することができる。そして、仮想ロボット1Aの教示を基にすれば、実機であるロボット1のオフラインティーチングを行うことができる。このため、実機であるロボット1を用いずとも、実際のロボット1のオフラインティーチングおよび実際の作業におけるロボット1のサイクルタイム(装置の動作時間)等を検討することができる。
≪シミュレーション装置による教示≫
次に、上記のシミュレーション装置5による仮想ロボット1Aの教示、すなわち仮想オフラインティーチングについて説明する。
図5は、仮想オフラインティーチングの設定の流れを示すフローチャートである。図6は、仮想対象物を説明するための図である。図7は、線分の記憶の際に用いられるウィンドウを示す図である。図8は、線分の記憶の際に用いられるウィンドウを示す図である。図9は、設定経路の補正を説明するための図である。図10は、ポイントファイルのウィンドウを示す図である。図11は、ポイントの補正の際に用いられるウィンドウを示す図である。図12は、ツールの位置や姿勢、教示点を確認しながら作業を進める際に用いられるウィンドウを示す図である。図13は、教示点における仮想塗布器具の座標系の表示の例を示す図である。図14は、ロボット動作プログラムを実行するために用いられるウィンドウを示す図である。
なお、図4に示すように、仮想ロボット1Aは、前述した実機であるロボット1に対応している。具体的には、仮想ロボット1Aは、仮想基台110Aと、仮想ロボットアーム10A(仮想マニピュレーター)と、仮想ハンド91A(仮想ツール)と、仮想塗布器具92A(仮想付属部材)とを有する。また、仮想ロボット1Aの各部の符号は、それぞれ、実際のロボット1の対応する各部の符号の後に「A」を付けて表記する。また、仮想ロボット1Aの各部の名称は、それぞれ、実際のロボット1の対応する各部の名称の前に「仮想」を付けて表記する仮想対象物80Aについても同様である。
以下では、図5を参照しつつ、仮想ロボット1Aが仮想対象物80Aに対して接着剤を塗布する作業の教示を例に説明する。教示の設定および教示された作業は、作業者による画面610に表示されたGUI(グラフィカルユーザーインターフェース)を用いた指示に基づいて行われる。
まず、処理部502は、ファイル装置53に保存されているロボットシミュレータープログラムファイル531および第1形式のCADデータファイル532を読み込み(図5:ステップS11)、仮想ロボット1Aおよび仮想対象物80Aの各3次元モデルを画面610上に表示(出力)する。この読み込みは、作業者の入力部62による画面610を介した指示を受けて行う。この処理により、画面610には、図4に示すようなウィンドウWD、WD1が表示され、ウィンドウWD1に仮想ロボット1Aおよび仮想対象物80Aの各3次元モデルが表示される。
次いで、作業者による画面610を介した指示を受けて、変換部501は、第1形式のCADデータファイルをそれとは異なる第2形式のCADデータファイル534に変換する。処理部502は、第2形式のCADデータファイル534のデータに基づく仮想対象物80Aを画面610に表示する。これにより、図6に示すように、ウィンドウWD1に第2形式のCADデータに基づく仮想対象物80Aが表示される。また、処理部502は、作業者による画面610を介した指示を受けて、第2形式のCADデータファイル534を記憶する処理を行う。
図6に示すように、仮想対象物80Aは、平面視形状が四角形のトレイ状(開口を有する)をなす。仮想対象物80Aの開口端は、4つの直線上の線分81A、82A、83A、84Aを有する。線分81Aと83Aとは互いに開口を介して対向し、線分82Aと84Aとは互いに開口を介して対向している。また、仮想対象物80Aの開口端は、線分81Aと線分82Aとを繋ぐ円弧状(曲線状)の線分85Aと、線分82Aと線分83Aとを繋ぐ円弧状の線分86Aと、線分83Aと線分84Aとを繋ぐ円弧状の線分87Aと、線分84Aと線分81Aとを繋ぐ円弧状の線分88Aと、を有する。本実施形態では、このような仮想対象物80Aの開口端に対して接着剤を仮想ロボット1Aが塗布する作業の教示を行う。
次に、処理部502は、図7に示すようなウィンドウWD2を表示し、線分の記憶の処理を行う(図5:ステップS12)。ウィンドウWD2を表示は、ウィンドウWD1が有するメニューバーに表示された「CAD to Point」を作業者がマウス等の入力部62で行ったクリック(指示)を受けて行う。また、線分の記憶は、仮想対象物80Aの開口端を作業者がマウス等の入力部62で行ったクリック(指示)を受けて行う。
具体的には、先ず、作業者の指示を受けて、処理部502は、線分81Aを記憶する。また、線分81Aの一端および他端をそれぞれ教示点P8として記憶する。この際、処理部502は、図7に示すように、作業者が選択した線分81A上に選択したことを示す線状のポインターMを表示し、2つの教示点P8にそれぞれポインターM1を表示する。また、処理部502は、ウィンドウWD2を表示し、そのウィンドウWD2内の「Selected Edge」のボックスB20に、選択した線分81Aを示すナンバー「Edge1」を表示する。線分82A〜88Aについても上記と同様である。なお、円弧状をなす線分85A〜88Aについては、それぞれ、5つの教示点P8を記憶する。
作業者は、例えば、線分81Aから始まり、線分85Aと続いて線分88Aまで一周するように、すなわち仮想対象物80Aの開口端を反時計回りに一筆書きで一周するように全ての線分81A〜88Aを選択する。この選択に応じて、処理部502は、全ての線分81A〜88Aを記憶し、図8に示すように、ウィンドウWD1に複数の教示点P8、複数のポインターM、M1を表示する。また、処理部502は、上記のような作業者の選択した順番に応じて、ウィンドウWD2のボックスB20に、線分81A〜88Aに対応するナンバーを順次表示する。すなわち、選択順に付番される。したがって、本実施形態では、線分81Aがナンバー「Edge1」に対応し、線分85Aがナンバー「Edge2」に対応し、線分82Aがナンバー「Edge3」に対応し、線分86Aがナンバー「Edge4」に対応し、線分83Aがナンバー「Edge5」に対応し、線分87Aがナンバー「Edge6」に対応し、線分84Aがナンバー「Edge7」に対応し、線分88Aがナンバー「Edge8」に対応している。なお、処理部502は、後に説明するポイントファイルを生成して出力する処理(ステップS15)で、ボックスB20に並んでいる順にポイントファイルを生成して出力する。
次に、処理部502は線分81A〜88Aの順番と、各線分81A〜88Aの向きを設定する(図5:ステップS13)。これは、作業者によるウィンドウWD2を介した指示を受けて行う。作業者は、ウィンドウWD2の「Up」のボタンB23と「Down」のボタンB24とを用いて、線分81A〜88Aの順番を設定することができる。また、作業者は、ウィンドウWD2の「Revers」のボタンB21を用いて、各線分81A〜88Aの向きを設定することができる。なお、本実施形態では、作業者が全ての線分81A〜88Aを選択した後に、順番および向きの設定を行う場合について説明したが、作業者は、各線分81A〜88Aを選択する毎に、順番および向きの設定を行ってもよい。
このようにして、線分81A〜88Aに基づいた仮想ロボット1Aの動作の設定経路、本実施形態では、仮想ロボットアーム10Aの先端の動作の設定経路が生成される。
次に、処理部502は、設定経路の補正を行う(図5:ステップS14)。この補正では、設定経路の縮小および拡大の少なくとも一方を行う。例えば、図9に示すように、円弧状をなす線分85Aが円弧を含む場合、線分85Aの円弧の中心Oを変えずにその半径を小さくする。これにより、線分85Aの円弧を縮小した線分85A’の円弧を生成する。すなわち、線分85Aを線分85A’に補正する。この補正により、線分85Aに基づく5つの教示点P8も線分85A’に基づく5つの教示点P8’に補正される。
なお、拡大する場合は、円弧の半径を大きくすればよい。また、線分86A〜88Aについても前記線分85Aの処理と同様の処理を行うことができる。
また、前記のような補正に伴い、補正された円弧の両端のそれぞれに繋がる線分は、円弧の拡大または縮小に追従して位置が変わる。例えば、線分85Aが拡大されると、それに伴って、線分81A、82Aの位置が補正される。
また、以下では説明の便宜上、線分85A’および教示点P8’もそれぞれ線分85Aおよび教示点P8として説明および図示する。
また、本実施形態では、向きおよび順番の設定(ステップS13)の後に、設定経路の補正(ステップS14)を行っているが、設定経路の補正は、例えば、後述するポイントファイルの出力(ステップS15)の後に行ってもよい。その場合には、設定経路の補正を行った後、ポイントファイルの上書きを行う。
次に、処理部502は、ポイントファイルを生成して出力する(図5:ステップS15)。これは、図7に示すウィンドウWD2の「ポイント登録」のボタンB22を作業者がマウス等の入力部62で行ったクリック(指示)を受けて行う。これにより、図10に示すようなポイントファイルのウィンドウWD3を表示する。このウィンドウWD3には、各教示点P8における仮想ロボットアーム10Aの先端(具体的にはツールセンターポイント)における位置および姿勢(座標系)を示す群71と仮想ロボットアーム10Aの位置および姿勢を示す群72とが表示される。より具体的には、各ポイントの位置データ(X、Y、Z)と、ロール(Z軸の回転)、ピッチ(Y軸の回転)、ヨー(X軸の回転)によって表わされる姿勢データ(U、V、W)と、ローカル座標系と、仮想ロボットアーム10Aの姿勢(Hand、ElbowおよびWrist)と、Joint1とJoint4とJoint6のフラグ(J1Flag、J4Flag、J6Flag)とが表示される。また、ウィンドウWD3の「Number」列が各教示点P8を示している。
ここで、ポイントが含まれる曲面が持っている法線ベクトル、uベクトル、vベクトル(なお、u、vベクトルは平面をなす単位ベクトルである)から、U、V、Wの各値を自動的に算出してポイントファイルに出力する。また、ポイントが曲線に含まれている場合には、接線ベクトルおよび曲率ベクトルからU、V、Wの各値を自動で算出してポイントファイルに出力する。これらU、V、Wの各値は、CADデータが持つポイント(頂点)の法線や接線から自動的に計算することができる。または、U、V、Wの各値は、仮想オフラインティーチングに入る前の仮想ロボット1Aの姿勢(U、V、W)であってもよい。このCADデータが持つポイントから計算された値を用いるか、仮想オフラインティーチングに入る前の仮想ロボット1Aの姿勢を用いるかは、例えばウィンドウWD1に設けられたスイッチ等で切替ることができる。
また、このポイントファイルを生成して出力する際、繋がる線分同士で重複するポイントのうちいずれか一方は削除される。重複の判断基準としては、重複する2点の位置データ(X、Y、Z)および姿勢データ(U、V、W)を見比べて、許容誤差が所定値(例えば、0.001mm)以下の場合、重複している点とみなす。
次に、処理部502は、ポイントを有効化する(図5:ステップS16)。
次に、処理部502は、付属部材におけるポイント設定を行う(図5:ステップS17)。ここで、上記ポイントファイルに出力された各値は、仮想ロボットアーム10Aの先端(より具体的にはツールセンターポイント)における座標系等を示している。そこで、本処理にて、上記ポイントファイルを基に、付属部材としての仮想塗布器具92Aの所定の箇所(本実施形態では先端)におけるポイントの設定を行う。言い換えれば、処理部502は、上記ポイントファイルに出力された各値を基にして、仮想ロボットアーム10Aの先端における設定経路を、仮想塗布器具92Aの先端における設定箇所に変更する。
作業者は、図11に示すようなウィンドウWD4が有する「Manually define tools」のボックスB40の「X」列、「Y」列、「Z」列、「U」列、「V」列および「W」列に、所望の値を入力する。ボックスB40の「X」列、「Y」列、「Z」列、「U」列、「V」列および「W」列に入力された数値は、図10に示すポイントファイルの「X」列、「Y」列、「Z」列、「U」列、「V」列および「W」列に示された各数値に加える値である。すなわち、ボックスB40に入力された数値分、対応するポイントファイルの「X」列、「Y」列、「Z」列、「U」列、「V」列および「W」列の数値が補正される。このような作業者によるボックスB40内への入力を受け、処理部502はツールのポイント設定を行う。これにより、仮想塗布器具92Aの所定の箇所(本実施形態では先端)で仮想対象物90Aの表面をなぞる動作が設定される。なお、本処理の代わりに、前述したポイントファイルを直接編集したり、ポイントファイルのデータを例えば表計算ソフトにコピーして貼り付けて編集し、編集したデータを再度ポイントファイルに戻す処理を行ってもよい。このような方法でも、仮想塗布器具92Aの所定の箇所で仮想対象物80Aの表面をなぞる動作を設定することができる。
このような処理を経て、ロボット動作プログラムが生成される。
ここで、作業者による指示を受けて、処理部502は、図12に示すように、例えばウィンドウWD1に仮想塗布器具92Aの位置および姿勢を示す座標系76を表示したり、仮想ロボット1Aのベース座標系75を表示する。また、仮想対象物80Aにおける各教示点P8を表示する。また、処理部502は、図13に示すように、各教示点P8を表示することに加えて、各教示点P8における仮想塗布器具92Aの座標系76を表示することができる。
そして、実行部503は、ロボット動作プログラムを実行(出力)する(図5:ステップS18)。作業者は、図14に示すようなウィンドウWD5の「start」のボタンB51をマウス等の入力部62を用いてクリック(指示)する。この作業者による指示を受け、実行部503がロボット動作プログラムを出力(実行)することにより、仮想オフラインティーチングを実行することができる。この仮想オフラインティーチングの実行において、処理部502は、設定経路に沿った仮想塗布器具92Aの軌跡77を表示することができる。
以上のようにして、仮想オフラインティーチングの設定および実行を行うことができる。
以上、シミュレーション装置5による仮想オフラインティーチングの設定および実行の一例を説明した。
以上説明したように、本発明のシミュレーション装置の一例であるシミュレーション装置5は、ロボット1を仮想した仮想ロボット1Aの動作を行う装置であり、仮想対象物80Aのデータは、第1形式から第1形式よりもデータ量が1/10以下に圧縮された第2形式に変換されている。また、シミュレーション装置5は、仮想対象物80Aの外形が有する複数の線分(外形を構成する複数の線分)を特定する処理部502を有する。そして、処理部502は、複数の線分のうちの選択された線分81A〜88Aに基づいて仮想ロボット1Aを動作させる。このようなシミュレーション装置5によれば、仮想対象物80Aのデータを読み込む時間や読み出す時間等を大幅に削減することができる。また、不要なデータを手作業で削除する作業を省くことができる。また、シミュレーション装置5は、第1形式のCADデータファイル532が含む仮想対象物80A等の3次元CADデータをインポートする機能を有する。さらに、インポートした第1形式のCADデータファイル532を第2形式のCADデータファイル534が含む仮想対象物80A等の3次元CADデータに変換することができる。そして、変換した第2形式のCADデータに基づく仮想対象物80Aの外形を構成する輪郭を選択して各ポイントおよび各ポイントにおける座標系等を生成し、合わせて設定経路も生成できる機能を有する。そのため、本実施形態のように、線分81A〜88Aの情報を基にして仮想ロボット1Aの複数の教示点P8(ティーチングポイント)や設定経路を生成することができ、その生成する作業を比較的簡単に行うことができる。また、別途CADソフトやCAD/CAMソフト等を用意することを省くことができる。また、各ポイントを手作業でプログラムに記述する必要がなく効率的である。さらには、上述した手順により生成した教示点P8を用いた仮想ロボット1Aの動作プログラムを作成することができるため、大量の教示点P8と仮想ロボット1Aの動作命令とを組み合わせたプログラムの記述作業の工数を著しく減らすことができる。このようなことから、シミュレーション装置5による作業効率を高めることができる。
また、前述したように、処理部502は、選択された各線分81A〜88A上の教示点P8における仮想ロボット1Aの位置および姿勢を設定する機能を有する。本実施形態では、線分81A〜88Aに基づく教示点P8に仮想塗布器具92Aの先端が位置したときの仮想塗布器具92Aの位置および姿勢(仮想ロボット1Aの位置および姿勢に基づいた仮想塗布器具92Aの位置および姿勢)を設定している。また、設定された仮想ロボット1Aの位置および姿勢(本実施形態では、仮想塗布器具92Aの位置および姿勢)を表示するような信号を出力する機能を有する。これにより、表示制御部54を介して、仮想ロボット1Aの位置および姿勢(本実施形態では、仮想塗布器具92Aの位置および姿勢)を表示部61の画面610に表示させることができる。本実施形態では、図13に示すように、仮想塗布器具92Aの位置および姿勢を座標系76で示すことができる。これにより、作業者は、各教示点P8における仮想ロボット1Aの仮想塗布器具92Aの位置および姿勢を表示部61を介して視認することができる。それゆえ、仮想ロボット1Aの作業中における仮想ロボット1Aと周辺機器との干渉等の有無を容易に検討することができる。
本発明のシミュレーション装置では、教示点P8での仮想ロボット1Aの姿勢(本実施形態では、仮想塗布器具92Aの姿勢)を変更可能である。また、教示点P8での仮想ロボット1Aの位置(本実施形態では、仮想塗布器具92Aの位置)を変更可能である。具体的には、前述したように、作業者の図11に示すウィンドウWD4を用いた指示を受けて行う。これにより、仮想ロボット1Aと周辺機器との干渉等の有無に応じて、作業中における仮想ロボット1Aの最適な位置および姿勢を設定することができる。また、仮想空間上(画面610上)のウィンドウWD4を用いて仮想塗布器具92Aの位置および姿勢を簡単に変更することができるため、順キネマのみでオフラインティーチングを行うことができ、逆キネマ演算をする必要が無いため、全て(複数)の解を求める必要がなく、負荷を低減でき、処理時間を短くすることができる。また、仮想塗布器具92Aの位置および姿勢を簡単に変更することができるため、実機であるロボット1のオフラインティーチングを行う前に、作業中における仮想ロボット1Aの様々な位置および姿勢を簡単に検討することができ、有効である。
また、シミュレーション装置5では、選択された線分81A〜88Aに基づいて仮想ロボット1Aの動作の設定経路を生成し、生成した設定経路の位置を変更可能である。具体的には、前述したように、シミュレーション装置5は、作業者による図11に示すウィンドウWD4を用いた指示に応じて、仮想ロボットアーム10Aの先端(仮想ロボットの所定の箇所)における設定経路を、仮想塗布器具92Aの先端(仮想ツールまたは仮想付属部材の所定の箇所)における設定箇所に変更することができる。これにより、作業内容や、ツールまたは付属部材の種類等に応じた最適な設定経路を生成することができる。
また、シミュレーション装置では、選択された線分81A〜88Aに基づいて仮想ロボット1Aの動作の設定経路を生成し、生成した設定経路の縮小および拡大の少なくとも一方を行うことが可能である。特に、生成した設定経路が円弧をなす線分85A〜88Aを含む場合、円弧の中心を変えずに円弧の半径を変えることにより、設定経路の縮小および拡大の少なくとも一方を行うことが可能である。これにより、作業内容に応じて、円弧状(曲線状)の線分85A〜88Aを含む設定経路を容易に設定および変更することができる。
以上、本発明のシミュレーション装置、ロボット制御装置およびロボットについて、図示の実施形態に基づいて説明したが、本発明は、これらに限定されるものではなく、例えば、前述した実施形態の各部の構成は、同様の機能を発揮する任意の構成のものに置換することができ、また、任意の構成を付加することもできる。
また、前記実施形態では、ロボットの一例として、6軸の垂直多関節ロボットを例に説明したが、ロボットはこれに限定されず、例えば水平多関節ロボット等の他の形式のロボットであってもよい。
また、前記実施形態では、第1形式のCADデータファイルとしては、仮想対象物のデータを含むものを例に説明したが、第1形式のCADデータファイルは仮想対象物のデータ以外に周辺機器を仮想した仮想周辺機器のデータ等を含んでいてもよい。
また、前記実施形態では、第1の形式のCADデータファイルを読み込んだ後に、それよりデータ容量が小さい第2形式のデータファイルに変換したが、読み込む前に第2形式のデータファイルに変換してもよい。
また、前記実施形態における仮想ロボットのシミュレーション(仮想オフラインティーチングを含む)では、対象物に対する接着剤の塗布作業を行う場合を例について説明したが、例えば、研磨作業や溶接作業等の対象物等の物体の形状に沿う作業のシミュレーションを行ってもよい。
1…ロボット、1A…仮想ロボット、2…ロボット制御装置、5…シミュレーション装置、10…ロボットアーム、10A…仮想ロボットアーム、11…第1アーム、12…第2アーム、13…第3アーム、14…第4アーム、15…第5アーム、16…第6アーム、21…駆動制御部、22…処理部、23…記憶部、24…I/F、51…中央処理装置、52…メインメモリー、53…ファイル装置、54…表示制御部、55…入力制御部、56…I/F、57…バス、61…表示部、62…入力部、71…群、72…群、75…ベース座標系、76…座標系、77…軌跡、80…対象物、80A…仮想対象物、81A…線分、82A…線分、83A…線分、84A…線分、85A…線分、85A’…線分、86A…線分、87A…線分、88A…線分、91…ハンド、91A…仮想ハンド、92…塗布器具、92A…仮想塗布器具、100…ロボットシステム、110…基台、110A…仮想基台、120…駆動部、130…モータードライバー、501…変換部、502…処理部、503…実行部、531…ロボットシミュレータープログラムファイル、532…CADデータファイル、534…CADデータファイル、610…画面、B20…ボックス、B21…ボタン、B22…ボタン、B23…ボタン、B24…ボタン、B40…ボックス、B51…ボタン、L1…ドロップダウンメニュー、M…ポインター、M1…ポインター、O…中心、P8…教示点、P8’…教示点、S11…ステップ、S12…ステップ、S13…ステップ、S14…ステップ、S15…ステップ、S16…ステップ、S17…ステップ、S18…ステップ、WD…ウィンドウ、WD1…ウィンドウ、WD2…ウィンドウ、WD3…ウィンドウ、WD4…ウィンドウ、WD5…ウィンドウ、X…作業領域

Claims (11)

  1. ロボットを仮想した仮想ロボットの動作を行うシミュレーション装置であって、
    前記ロボットの作業対象物を仮想した仮想対象物の外形が有する複数の線分を特定する処理部を備え、
    前記仮想対象物のデータは、第1形式から前記第1形式よりもデータ量が1/10以下に圧縮された第2形式に変換されており、
    前記処理部は、前記複数の線分のうちの選択された線分に基づいて前記仮想ロボットを動作させることを特徴とするシミュレーション装置。
  2. 前記第2形式は、前記第1形式のデータ量の1/100以下である請求項1に記載のシミュレーション装置。
  3. 前記第2形式は、XVL形式である請求項1または2に記載のシミュレーション装置。
  4. 前記処理部は、前記選択された線分上にある教示点における前記仮想ロボットの位置および姿勢を設定する機能と、設定された前記仮想ロボットの位置および姿勢を表示するような信号を出力する機能とを有する請求項1ないし3のいずれか1項に記載のシミュレーション装置。
  5. 前記教示点での前記仮想ロボットの姿勢の設定を変更可能である請求項4に記載のシミュレーション装置。
  6. 前記教示点での前記仮想ロボットの位置の設定を変更可能である請求項4または5に記載のシミュレーション装置。
  7. 前記選択された線分に基づいた前記仮想ロボットの動作の設定経路を生成可能であり、生成した前記設定経路の位置を変更可能である請求項1ないし6のいずれか1項に記載のシミュレーション装置。
  8. 前記選択された線分に基づいた前記仮想ロボットの動作の設定経路を生成可能であり、生成した前記設定経路の縮小および拡大の少なくとも一方を行うことが可能である請求項1ないし7のいずれか1項に記載のシミュレーション装置。
  9. 前記設定経路が円弧を含む場合、前記円弧の中心を変えずに前記円弧の半径を変えることにより、前記設定経路の縮小および拡大の少なくとも一方を行うことが可能である請求項8に記載のシミュレーション装置。
  10. 請求項1ないし9のいずれか1項に記載のシミュレーション装置によるシミュレーション結果に基づいてロボットを制御することを特徴とするロボット制御装置。
  11. 請求項10に記載のロボット制御装置によって制御されることを特徴とするロボット。
JP2016153944A 2016-08-04 2016-08-04 シミュレーション装置、ロボット制御装置およびロボット Pending JP2018020412A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016153944A JP2018020412A (ja) 2016-08-04 2016-08-04 シミュレーション装置、ロボット制御装置およびロボット
US15/663,954 US20180036883A1 (en) 2016-08-04 2017-07-31 Simulation apparatus, robot control apparatus and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016153944A JP2018020412A (ja) 2016-08-04 2016-08-04 シミュレーション装置、ロボット制御装置およびロボット

Publications (1)

Publication Number Publication Date
JP2018020412A true JP2018020412A (ja) 2018-02-08

Family

ID=61071411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016153944A Pending JP2018020412A (ja) 2016-08-04 2016-08-04 シミュレーション装置、ロボット制御装置およびロボット

Country Status (2)

Country Link
US (1) US20180036883A1 (ja)
JP (1) JP2018020412A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235313A1 (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6464204B2 (ja) * 2017-01-17 2019-02-06 ファナック株式会社 オフラインプログラミング装置及び位置パラメータ補正方法
JP6469162B2 (ja) * 2017-04-17 2019-02-13 ファナック株式会社 ロボットのオフライン教示装置
JP6568169B2 (ja) * 2017-09-12 2019-08-28 ファナック株式会社 溶接ロボットプログラミング装置および溶接ロボットのプログラミング方法
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
US11358282B2 (en) * 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
KR20210007774A (ko) * 2019-07-12 2021-01-20 엘지전자 주식회사 로봇 시뮬레이터의 표시 방법
KR20210040613A (ko) 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
JP2022181974A (ja) * 2021-05-27 2022-12-08 株式会社ジャノメ 経路教示データ作成装置及び経路教示データ作成方法並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235313A1 (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
JP2019209435A (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
JP7131092B2 (ja) 2018-06-05 2022-09-06 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム

Also Published As

Publication number Publication date
US20180036883A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
JP2018020412A (ja) シミュレーション装置、ロボット制御装置およびロボット
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
US10525594B2 (en) Teaching system, robot system, and teaching method
JP3732494B2 (ja) シミュレーション装置
US9311608B2 (en) Teaching system and teaching method
JP3537362B2 (ja) ロボットシステム用グラフィック表示装置
JP3971773B2 (ja) ロボットのオフライン教示装置
JP5729404B2 (ja) ティーチングシステムおよびティーチング方法
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
JP6598454B2 (ja) 教示データの作成方法、作成装置、及び作成プログラム
JP5458115B2 (ja) 加工経路生成方法及びその装置
US20070242073A1 (en) Robot simulation apparatus
JPH11242513A (ja) ロボットの位置決めを行うインタフェース装置
JP6469159B2 (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
JP2009274148A (ja) シミュレーション装置
JP2019034352A (ja) シミュレーション装置、ロボット制御装置およびロボット
JP2019010706A (ja) 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
JPS6179589A (ja) ロボツト運転装置
JPS60195615A (ja) 多関節ロボツトの姿勢教示方法
US20220395985A1 (en) Information processing apparatus, information processing method, display apparatus, display method, robot system, article production method, program, and storage medium
JP5970434B2 (ja) 教示データ作成システムおよびプログラム
JP2517553B2 (ja) ロボツトのオフライン教示方法
US20220355478A1 (en) Robot slider position setting device, robot slider position setting method, and robot slider position setting program
WO2022269927A1 (ja) プログラム作成装置
JPH03288211A (ja) ハンドリングロボットのオフライン教示システム