JP2017213644A - 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体 - Google Patents

教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2017213644A
JP2017213644A JP2016109321A JP2016109321A JP2017213644A JP 2017213644 A JP2017213644 A JP 2017213644A JP 2016109321 A JP2016109321 A JP 2016109321A JP 2016109321 A JP2016109321 A JP 2016109321A JP 2017213644 A JP2017213644 A JP 2017213644A
Authority
JP
Japan
Prior art keywords
model
virtual
node
teaching
robot
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
JP2016109321A
Other languages
English (en)
Inventor
聡 菅谷
Satoshi Sugaya
聡 菅谷
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016109321A priority Critical patent/JP2017213644A/ja
Publication of JP2017213644A publication Critical patent/JP2017213644A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ロボットにより製造する製造品の機種毎の仮想環境を容易に構築する。【解決手段】教示装置600の処理部は、仮想ロボット、仮想周辺物、TCP及び教示点をそれぞれ構成要素とし、各構成要素を、各仮想環境に共通に用いるか個別に用いるかをユーザに選択操作させる画像を、画面710に表示させる。処理部は、ユーザの操作に従って、各構成要素を、各仮想環境に共通に用いる共通構成要素、又は各仮想環境に個別に用いる個別構成要素のいずれかに分類する。処理部は、分類処理により分類した、共通構成要素と、対象となる個別構成要素とで、仮想環境を構築する。【選択図】図1

Description

本発明は、ロボットのオフライン教示に関する。
近年、ロボットを使用した生産ラインにおいて、多品種少量生産化が進められており、複数種類の製品を生産可能な汎用のロボットシステムの開発が進められている。中でも、複数の部品の組み立てに対応した多能工化されたロボットシステムの開発が進められている。
多能工化されたロボットシステムの特徴として、以下のような制約事項が生じることが多い。まず、ロボットの動作領域内に、部品、部品を供給する供給機、部品の組み立てで利用するドライバーや部品の固定台などの治工具を配置しなければならない。また、複数台のロボットで協調して作業を行う場合、製品の受け渡しをロボット同士に行わせる関係上、ロボット同士の可動範囲が重なるため、ロボット同士が衝突しないようにしなければならない。さらに、生産が開始された後にメンテナンスを行い易くするため、ロボット、及びその周辺物の配置を考慮しなければならない。このように、開発に伴う制約事項も多いため、多能工化されたロボットシステムの開発には細心の注意が必要であり、直接実機で検討できず、事前検証が必要となっている。
そこで、実機と同様の装置構成をコンピュータの仮想空間内に用意し、ユーザの操作により、ロボットの教示及び動作確認をオフラインで行うことができる教示装置が利用されるようになった(例えば特許文献1参照)。この教示装置では、3Dコンピュータグラフィックスによる演算で表示装置に仮想空間内の仮想構造物を2次元画像で表示させ、視覚的に確認が可能となっている。
特開2005−145095号公報
近年では、治工具やロボットの一部の構成(例えばロボットハンドの爪など)を、製造する製造品の機種に応じて変更するだけで、製造する製造品の機種を拡大することができるロボット開発が進められている。
このような場合、オフライン教示で用いる仮想環境は1つでは済まず、製造品の機種毎に、ロボットやワーク、治工具等の構造物に対応する仮想構造物の形状や配置等が異なる仮想環境を用意しなければならない場合がある。一方、これら複数の機種の製造で共通に用いる構造物もあり、各仮想環境において同じ仮想構造物を用意することになる。
しかし、ある仮想環境において、複数の仮想環境で共通に用いる仮想構造物を新たに追加したり編集したりした場合、ユーザの手作業で残りの仮想環境に反映させる必要があった。したがって、ユーザはこの反映作業を行う際に入力ミスが発生しないように注意を払わなければならず、作業が煩雑であり、作業に要する時間が長くなっていた。
そこで、本発明は、ロボットにより製造する製造品の機種毎の仮想環境を容易に構築することを目的とする。
本発明の教示装置は、ユーザの操作により、ロボットに対応する仮想ロボット、及び前記ロボットの周辺に存在する周辺物に対応する仮想周辺物を仮想空間に配置して構成された仮想環境を、前記ロボットにより製造する製造品の機種毎にそれぞれ設定するとともに、前記機種毎の各仮想環境に前記ロボットの基準点、及び前記基準点の動作目標位置を表す教示点を設定する処理部を備え、前記処理部は、前記仮想ロボット、前記仮想周辺物、前記基準点及び前記教示点をそれぞれ構成要素とし、前記各構成要素を、前記各仮想環境に共通に用いるか個別に用いるかをユーザに選択操作させる画像を、画面に表示させる分類表示処理と、ユーザの操作に従って、前記各構成要素を、前記各仮想環境に共通に用いる共通構成要素、又は前記各仮想環境に個別に用いる個別構成要素のいずれかに分類する分類処理と、前記分類処理により分類した、前記共通構成要素と、対象となる前記個別構成要素とで、前記仮想環境を構築する構築処理と、を実行することを特徴とする。
本発明によれば、ロボットにより製造する製造品の機種毎の仮想環境を容易に構築することができる。
第1実施形態に係るロボットシステムの概略構成を示す説明図である。 第1実施形態に係る製造品の製造方法を示すフローチャートである。 第1実施形態に係る教示装置の構成を示すブロック図である。 第1実施形態に係る表示装置の画面に表示される画像を示す説明図である。 (a)は教示装置の処理部を機能別にブロック化した教示システムの制御ブロック図である。(b)は教示装置の記憶部を示す説明図である。 第1実施形態において各仮想環境の構成要素を新規作成するフローチャートである。 (a)は第1実施形態において仮想環境の構成要素を新規作成する前の画面における表示状態を示す説明図である。(b)は第1実施形態において機種Aに対応する仮想環境の構成要素を作成完了したときの画面における表示状態を示す説明図である。 第1実施形態に係る教示装置の処理部において構成要素を分類するときの制御を示すフローチャートである。 (a)及び(b)は分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。 (a)及び(b)は記憶部に記憶されている機種Aに対応する仮想環境のデータをリスト化した説明図である。 (a)は機種Aから機種Bに切り替える際の画面における表示状態を示す説明図である。(b)は機種Bに切り替え完了したときの画面における表示状態を示す説明図である。(c)は機種Bに対応する仮想環境の各構成要素の作成が完了したときの画面における表示状態を示す説明図である。 分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。 (a)及び(b)は記憶部に記憶されている機種Bに対応する仮想環境のデータをリスト化した説明図である。 (a)は機種Bから機種Cに切り替える際の画面における表示状態を示す説明図である。(b)は、機種Cに切り替え完了したときの画面における表示状態を示す説明図である。(c)は機種Cに対応する仮想環境の各構成要素の作成が完了したときの画面における表示状態を示す説明図である。 分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。 (a)及び(b)は記憶部に記憶されている機種Cに対応する仮想環境のデータをリスト化した説明図である。 第2実施形態において干渉確認を行うフローチャートである。 (a)〜(c)は第2実施形態における干渉確認を行うときの画面の表示を示す説明図である。 (a)は干渉確認の際の警告画像の一例を示す説明図である。(b)は姿勢確認の際の警告画像の一例を示す説明図である。 第2実施形態において姿勢確認を行うフローチャートである。 (a)〜(c)は第2実施形態における姿勢確認を行うときの画面の表示を示す説明図である。 第3実施形態における分類処理を示すフローチャートである。 (a)及び(b)は分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。 (a)及び(b)はフラグ変更確認ダイアログを示す説明図である。 (a)及び(b)はフラグ変更確認ダイアログを示す説明図である。 (a)は分類処理確定後の機種Aに対応する分類設定画像を示す説明図である。(b)は分類処理確定後の機種Bに対応する分類設定画像を示す説明図である。(c)は分類処理確定後の機種Cに対応する分類設定画像を示す説明図である。 第4実施形態における削除処理を示すフローチャートである。 (a)は構成要素の削除前の画面における表示状態を示す説明図である。(b)は構成要素の削除後の画面における表示状態を示す説明図である。 削除処理の際の警告画像の一例を示す説明図である。 第5実施形態における機種間の同一名称のノードを一覧表示及び編集する処理を示すフローチャートである。 第5実施形態において画面表示の初期状態を示す説明図である。 (a)及び(b)は第5実施形態において画面にリスト表示させたリスト画像を示す説明図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るロボットシステムの概略構成を示す説明図である。図1に示すように、ロボットシステム100は、ロボット200、ツール300、制御装置400及び教示システム500を有して構成されており、製造品を生産する生産ラインに設けられる。ツール300は、例えば塗料などを塗布する塗布装置である。制御装置400は、ロボット200やツール300の動作を制御する。
教示システム500は、コンピュータで構成された教示装置600と、教示装置600に接続された表示装置700と、教示装置600に接続されたポインティングデバイスであるマウス801やキーボード802等の操作装置800とを有している。教示装置600は、ロボット200のオフライン教示を行う装置である。表示装置700は、例えば液晶モニタ等のモニタであり、教示装置600の制御により画像を画面710に表示する。
制御装置400は、このオフライン教示により作成されたロボットプログラムに基づき、ロボット200の動作を制御する。
ロボット200は、ロボットアーム201と、ロボットアーム201の先端部に取り付けられたエンドエフェクタであるロボットハンド202とを有する。ロボットアーム201は、垂直多関節のロボットアームであり、複数(例えば6つ)の関節を有する。
ロボット200及びツール300は、架台110上に固定され、架台110上には、ワークWやワークWを保持する治工具130が設けられる。なお、架台110上には、ロボット200に隣接する壁120が設けられている。
制御装置400と教示装置600とは、データ通信可能に有線(又は無線)で接続されている。なお、不図示の外部記憶装置を用いて制御装置400と教示装置600との間でデータの受け渡しを行うようにしてもよい。
ここで、ロボット200の手先、つまりロボットハンド202のフィンガーの先端近傍には、基準点であるツールセンターポイント(TCP)が設定される。TCPは、位置を表す3つのパラメータ(x,y,z)と、姿勢を表す3つのパラメータ(α,β,γ)、即ち6つのパラメータ(x,y,z,α,β,γ)で表され、タスク空間上では、1つの点としてみなすことができる。つまり、タスク空間は、これら6つの座標軸で規定された空間である。このTCPの動作目標位置として、教示点が設定される。
教示点は、例えば「P001」、「P002」等の名称と、名称に対応させたパラメータ(数値)とのデータで構成される。ロボットプログラムは、教示点のデータと、ロボット(TCP)を動作させる命令を含む動作プログラムと、を有してなる。この命令には、教示点間を補間する補間命令が含まれている。動作プログラム中にも教示点は用いられるが、動作プログラムに用いられる教示点は、パラメータではなく、名称で記述されるのが好ましい。そして、教示点のデータは、動作プログラムとは別ファイルにしておくのが好ましい。
制御装置400は、動作プログラムに含まれる補間命令に従って教示点間を補間し、TCPが辿る経路データを生成する。ここで、教示点間を補間する補間方法としては、直線補間、円弧補間、Spline補間、B−Spline補間、ベジェ曲線など、種々の方法がある。
そして、制御装置400は、動作プログラムに含まれる命令に従い、TCPの軌道データを計算する。TCPの軌道データとは、時間をパラメータとしてTCPの経路データを表したものである。具体的には、制御装置400は、TCPの速度命令や加速度命令等の時間命令に基づき、TCPの軌道データを計算する。軌道データは、時刻毎(例えば1ms毎)のTCPの位置指令の集合である。位置指令は、6つのパラメータ(x,y,z,α,β,γ)で表される。
制御装置400は、最終的には位置指令を各関節の関節角度を示す関節指令に逆運動学計算に基づき変換する。そして、制御装置400は、関節指令をロボットアーム201の各関節の関節駆動装置に出力することで、ロボット200(ロボットアーム201)の動作を制御する。
以下、製造品の製造方法について説明する。図2は、第1実施形態に係る製造品の製造方法を示すフローチャートである。教示装置600は、第1実施形態の教示方法によるオフライン教示を行うことで、教示点のデータを含む仮想環境のデータ作成し、制御装置400に送信する(S1:オフライン教示工程)。制御装置400は、取得した仮想環境のデータと、動作プログラムとからなるロボットプログラムに基づき、軌道データを生成する(S2:軌道生成工程)。そして、制御装置400は、軌道データに従ってロボット200を動作させて、ロボット200に製造品を製造させる(S3:生産工程)。以上、ステップS2及びステップS3において、ロボットプログラムに基づき、ロボット200に製造品を製造させる。
図3は、第1実施形態に係る教示装置の構成を示すブロック図である。オフライン教示を行う教示装置600は、処理部としてのCPU(Central Processing Unit)601を備えている。また、教示装置600は、内部記憶装置として、ROM(Read Only Memory)602、RAM(Random Access Memory)603、HDD(Hard Disk Drive)604を備えている。また、教示装置600は、記録ディスクドライブ605及び各種のインタフェース611〜614を備えている。
CPU601には、ROM602、RAM603、HDD604、記録ディスクドライブ605及びインタフェース611〜614が、バス610を介して接続されている。ROM602には、BIOS等の基本プログラムが格納されている。RAM603は、CPU601の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD604は、CPU601の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU601に、後述する各種演算処理を実行させるためのプログラム640を記録する記録媒体でもある。CPU601は、HDD604に記録(格納)されたプログラム640に基づいて、オフライン教示を行う教示方法の各工程を実行する。
記録ディスクドライブ605は、記録ディスク641に記録された各種データやプログラム等を読み出すことができる。
インタフェース611には、表示装置700が接続されている。表示装置700は、CPU601の制御に従って画面710(図1)に画像を表示するモニタである。インタフェース612には、操作装置800が接続されている。操作装置800は、ユーザの操作を受け付けるデバイスであり、前述のマウス801やキーボード802(図1)で構成されている。第1実施形態では、ユーザインタフェースは、表示装置700の画面710に操作画像を表示して、操作装置800により各種の操作を可能とするグラフィカルユーザインターフェース(GUI)となっている。
インタフェース613には、制御装置400が接続されている。制御装置400は、CPU601からインタフェース613を介して仮想環境のデータと、動作プログラムとからなるロボットプログラムを取得し、ロボット200の軌道を計算して、軌道データに従ってロボット200の動作を制御する。インタフェース614には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置900が接続されている。
なお、第1実施形態では、コンピュータ読み取り可能な記録媒体がHDD604であり、HDD604にプログラム640が格納されるが、これに限定するものではない。プログラム640は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム640を供給するための記録媒体としては、図3に示すROM602や、記録ディスク641、外部記憶装置900を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、DVD−ROM、CD−R、DVD−R、磁気テープ、USBメモリ等の不揮発性メモリ、ROM等を用いることができる。
内部記憶装置であるHDD604又は外部記憶装置900には、予めロボット200、ツール300、架台110、壁120、治工具130、ワークW等の3次元の形状データ(モデル)を示す3D−CADデータが記憶されている。コンピュータ上の仮想空間には、3D−CADデータに基づく仮想モデルが配置される。
ここで、ロボット200に対応する仮想空間内の仮想モデルを仮想ロボットといい、ツール300、架台110、壁120、治工具130、ワークW等の、ロボット200の周辺に存在する周辺物に対応する仮想空間内の仮想モデルを仮想周辺物という。そして、仮想ロボットや仮想周辺物を総称して仮想構造物という。
CPU601は、複数の仮想構造物を仮想空間に配置して構成された仮想環境において、TCPと教示点を設定する。仮想ロボット、仮想周辺物、TCP及び教示点をどの位置に配置するかは、ポインティングデバイスであるマウス801やキーボード802を用いたユーザの操作により行われる。
第1実施形態では、CPU601は、ロボット200により製造する製造品の機種毎にそれぞれ仮想環境を設定する。つまり、製造する製造品の機種に応じて、ロボットハンド202を取り替えたり、治工具130やツール300の位置を変えたりすることがあり、製造する製造品の機種毎にそれぞれ仮想環境を設定する必要がある。
図4は、第1実施形態に係る表示装置の画面に表示される画像を示す説明図である。表示装置700の画面710には、CPU601の制御の下、仮想環境Gを2次元で表したモデル表示部10と、パラメータ設定部20と、モデル管理部30と、マウスのカーソル40とが表示される。モデル表示部10、パラメータ設定部20及びモデル管理部30は、GUIであり、表示と操作を兼ねている。
モデル表示部10には、3D−CADデータに基づく仮想モデルで再現された複数の仮想構造物を仮想空間に配置して構成された仮想環境Gが表示される。
モデル管理部30は、製造対象の機種を選択する画像を表示する機種設定部31と、機種にて選択された機種に対応するノードをツリー表示するノード表示部32とを有する。また、モデル管理部30は、分類ボタン(第1ボタン)33と、干渉確認ボタン(第2ボタン)34と、姿勢確認ボタン(第3ボタン)35とを有する。
CPU601は、仮想ロボット、仮想周辺物、TCP及び教示点をそれぞれ構成要素とし、各構成要素をノードとして樹形図形式で管理する。CPU601は、ユーザの操作に従って各構成要素にノード名を付与し、モデル管理部30のノード表示部32に、ノード名を樹形図形式で表示させる。各ノード名は、カーソル40により選択可能となっている。
具体例を挙げて説明すると、ロボット200に対応する仮想ロボットに対しては「Robot」、ロボット200のロボットハンド202に対応する仮想ロボットハンドに対しては「Hand」の名称が付与される。また、ワークWに対応する仮想ワークに対しては「Work」、治工具130に対応する仮想治工具に対しては「Box」、ツール300に対応する仮想ツールに対しては「Tool」、壁120に対応する仮想壁に対しては「Wall」の名称が付与される。また、TCPに対しては「TCP」、教示点に対しては「P001」〜「P005」の名称が付与される。そして、CPU601は、これらノード名を樹形図形式で表示させる。
ユーザがマウス801を操作して、カーソル40をノード表示部32のノード名を示す画像に移動させて選択(例えば左クリック)すると、CPU601は、パラメータ設定部20に、ユーザに選択されたノード名に対応するノードのパラメータを表示させる。このように、パラメータ設定部20には、モデル管理部30で選択されたノードの配置情報を表したパラメータが表示される。例えば、モデル管理部30において「P001」が選択された場合、パラメータ設定部20には、「P001」が表示されるとともに、「P001」の名称が付与された教示点のパラメータが表示される。
ここで、CPU601は、ユーザの操作により、仮想空間において仮想周辺物の位置が変更された際に仮想周辺物との相対位置関係を維持しつつ教示点の位置が変更されるよう、教示点と仮想周辺物とを関連付けておく。
具体例を挙げて説明すると、ノード名が「P001」,「P002」である教示点は、ノード名が「Work」である仮想ワークと関連付けられている。更に詳細に説明すると、ノード名が「P001」である教示点は、ノード名が「Work」である仮想ワークと直接関連付けられており、ノード名が「P002」である教示点も同様に、ノード名が「Work」である仮想ワークと直接関連付けられている。
ノード名が「P003」,「P004」である教示点は、ノード名が「Box」である仮想治工具と関連付けられている。更に詳細に説明すると、ノード名が「P003」である教示点は、ノード名が「Box」である仮想治工具と直接関連付けられており、ノード名が「P004」である教示点も同様に、ノード名が「Box」である仮想治工具と直接関連付けられている。ノード名が「P005」である教示点は、ノード名が「Tool」である仮想ツールと関連付けられている。
このように、CPU601は、モデル表示部10に表示させる仮想モデルや、パラメータ設定部20に表示させる教示点パラメータなどの情報を一括でノード管理し、モデル管理部30に樹形図形式で表示している。ノード管理は、一番上の根のノード情報を原点(ROOT)とし、根のノードを「親ノード」と、枝のノードを「子ノード」とする。
第1実施形態では、CPU601は、教示点を、仮想周辺物を親ノードとする子ノードとし、TCPを、仮想ロボット(具体的には仮想ロボットハンド)を親ノードとする子ノードとし、ノード名を樹形図形式で表示装置700の画面に表示させる。
具体例を挙げて説明すると、CPU601は、ノード名が「P001」,「P002」である教示点を、ノード名が「Work」の仮想ワークを親ノードとする子ノードとして管理する。また、CPU601は、ノード名が「P003」,「P004」である教示点を、ノード名が「Box」の仮想治工具を親ノードとする子ノードとして管理する。また、CPU601は、ノード名が「P005」である教示点を、ノード名が「Tool」の仮想ツールを親ノードとする子ノードとして管理する。
また、第1実施形態では、ノード名が「Robot」である仮想ロボットを親ノードとし、仮想ロボットの構成の一部である、ノード名が「Hand」である仮想ロボットハンドを子ノードとして管理する。更に、ノード名が「Hand」である仮想ロボットハンドを親ノードとし、ノード名が「TCP」であるTCPを子ノードとして管理する。このように、CPU601は、ノード名が「Robot」である仮想ロボット、より具体的には、ノード名が「Hand」である仮想ロボットハンドを親ノードとし、TCPを子ノードとして管理する。
親子間のノードの配置情報は、相対値情報または絶対値情報で保有される。具体的に説明すると、架台110に固定して設定された絶対座標系がある。ロボット200の配置は、絶対値情報として、絶対座標系を基準としてパラメータを設定する。教示点も同様に、絶対値情報として、絶対座標系を基準にパラメータを設定する。制御装置400は、ロボット200の絶対値情報と教示点の絶対値情報を基に、ロボット200を基準とした教示点の相対値(パラメータ)を計算する。その後、計算した教示点の相対値(パラメータ)を基に、軌道を計算して、逆運動学計算により各関節の関節指令を計算することになる。この絶対値情報とは別に、親ノードに対する相対値情報を設定することも可能である。例えば、ノード名が「P001」,「P002」である教示点は、ノード名が「Work」の仮想ワークと関連付けられており、親ノードである仮想ワークを基準とした相対値(パラメータ)を設定することが可能である。
ここで、子ノードにおいてユーザにより設定されるのは、絶対値情報又は相対値情報のいずれであってもよい。ユーザにより絶対値情報又は相対値情報のいずれか一方が設定された場合、CPU601は、行列演算により、他方を演算することができる。図4の例では、ユーザがキーボード802を操作して絶対値情報を入力した例を示している。なお、教示点として、各関節の関節値で指定することも可能である。この場合、CPU601は、順運動学計算により、タスク空間における絶対値情報(パラメータ)を求めることができ、また、行列演算により、相対値情報を求めることができる。
親ノードの配置(絶対値情報)が編集された場合、CPU601は、親ノードとの相対値情報を一定に維持して子ノードの配置(絶対値情報)を変更する。例えば、仮想治工具へのアプローチ姿勢となる、ノード名が「P003」,「P004」の教示点を、ノード名が「Box」である仮想治工具の子ノードと定義した場合、仮想治工具を移動させると、教示点も相対値関係を維持して配置が変更されることになる。よって、親ノードの配置を変更した際に、子ノードの配置をCPU601が自動的に変更するので、ユーザが変更する必要が無くなる。これにより、ユーザの作業回数を減らし、教示工数を削減できる。
ここで、仮想環境の構成要素を示すノードには、3Dモデルノードとパラメータノードとが存在する。3Dモデルノードは、主に仮想ロボットや仮想ワークなど、物理的な構成を持つノードであり、配置情報と、モデル表示部10に表示される3Dモデル情報を持つノードである。パラメータノードは、主に教示点やTCPなど、物理的な構成を持たないノードであり、配置情報(パラメータ)のみを持つノードである。
なお、教示点とTCPは、3Dモデル情報を持たないが、仮想空間のどの場所に配置されているのか、モデル表示部10で目視できるようにする必要がある。そのため、3Dモデル情報とは別に、仮想環境Gに定義された標準の3Dベクトルモデルを自動的に表示するものとする。
次に、教示システムの制御ブロックについて説明する。図5(a)は、教示装置の処理部を機能別にブロック化した教示システムの制御ブロック図である。図5(b)は、教示装置の記憶部を示す説明図である。
教示システム500は、前述したとおり、教示装置600と、表示装置700と、操作装置800とを有する。教示装置600の処理部であるCPU601(図3)は、図5(a)に示すように、操作入力部642、制御部643、計算部644、及び入出力部646として機能する。教示装置600のRAM603(図3)は、図5(a)に示すように、記憶部645として機能する。なお、記憶部645は、CPU601により読み書き可能であればよく、RAMに限定するものではない。
表示装置700には、前述したとおり、モデル表示部10やパラメータ設定部20、モデル管理部30(図4)などのGUIが表示されている。操作装置800は、前述したとおり、マウス801やキーボード802(図1)からなる。
操作入力部642は、操作装置800による表示装置700のGUIの操作を認識する。制御部643は、操作入力部642で入力した情報を元に、計算部644へ計算処理の依頼、計算結果より表示装置700へ情報の更新依頼、記憶部645から情報入出力など、教示システム500全体の制御を行う。計算部644は、制御部643から依頼のあった計算処理を行い、制御部643に計算結果を出力する。また、計算部644は、計算結果を記憶部645に保存する。
記憶部645には、モデル表示部10に表示されているノードのモデル情報や配置情報が保存されており、制御部643からの要求に応じて情報を出力する。
入出力部646は、制御部643からの保存要求に応じ、記憶部645に保存されたノード情報を、ファイルHとして出力する。また、入出力部646は、制御部643からの読込要求に応じ、過去に出力したファイルHを読み込み、記憶部645を更新し、読み込んだ仮想環境Gを再現する。ファイルHには、仮想環境Gを構成する構成要素のデータが記述されている。
記憶部645には、図5(b)に示すように、共通記憶領域651と機種別記憶領域652,652,…,652とが確保される。
共通記憶領域451は、製造する製造品の全機種に対応する全仮想環境で共通に用いる構成要素として定義するノード情報(共通ノード、共通構成要素)を保存する領域である。共通記憶領域451に記憶されたノード情報である共通ノードは、機種に関わらず全ての仮想環境Gの構築に用いられ、作成、編集を行うことができる。これにより、特定の機種に対応する仮想環境を構築するときに1回だけ作成又は編集するだけで、他の機種に対応する仮想環境を構築するときのノードとして利用することができ、自動的に登録が可能となり、入力ミスと教示工数の削減を図ることができる。
機種別記憶領域652,652,…,652は、各仮想環境の構築で個別に用いる構成要素として定義するノード情報(機種別ノード、個別構成要素)を保存する領域であり、製造する機種の数(N個)だけ、動的に確保されるものである。機種別記憶領域652,652,…,652は、機種毎にアクセスされる領域が切り替えられる。切り替えられた領域を機種別記憶領域652とする。なお、iは、1〜Nの整数であり、設定対象を表す数字である。機種別記憶領域652に格納された機種別ノードは、切り替えられた機種のみの仮想環境Gの構築に用いられ、作成、編集することができる。
これにより、特定の機種のみで使用されるノード情報を機種別に登録することができ、仮想環境の作成対象となる機種を切り替えると、その機種別のノード情報の表示も変更され、作業が簡単になり、教示工数の削減を図ることができる。
以下、機種毎に異なる仮想環境Gを構築する際にノードを新規作成する手順について説明する。なお、機種A、機種B、機種Cの3機種の製造品のそれぞれの仮想環境Gを構築する作業を例に説明する。
図6は、第1実施形態において各仮想環境の構成要素を新規作成するフローチャートである。まず、機種Aで初期構成を新規に作成する(S11)。次に、新規に作成した構成要素を、共通ノードと機種Aの機種別ノードに分類する(S12)。次に、機種Bに切り替えて(S13)、機種Bの機種別ノードを追加する(S14)。最後に、機種Cに切り替えて(S15)、機種Cの機種別ノードを追加する(S16)。
以下、各ステップについて詳細に説明する。図7(a)は、第1実施形態において仮想環境の構成要素を新規作成する前の画面における表示状態を示す説明図である。ステップS11(図6)において、CPU601は、オフライン教示を行うソフトウェアが起動すると、GUIであるモデル表示部10、パラメータ設定部20及びモデル管理部30を表示装置700の画面710に表示させる。モデル管理部30には、分類ボタン(第1ボタン)33と、干渉確認ボタン(第2ボタン)34と、姿勢確認ボタン(第3ボタン)35とが含まれている。したがって、CPU601は、ステップS11において、これらボタン33,34,35も表示させることになる(第1ボタン表示処理、第2ボタン表示処理、第3ボタン表示処理)。
ユーザが機種設定部31をマウスのカーソル40で操作(例えばマウスを左クリック)すると、「機種A」、「機種B」、「機種C」の機種選択リストが表示される。機種選択リストとして表示された「機種A」、「機種B」、「機種C」のうち、「機種A」がマウスのカーソル40により選択されるか、又は初期状態として「機種A」が自動選択される。すると、ノード表示部32には、原点を示す文字「ROOT」のみが表示される状態となる。つまり、機種Aに対応する仮想環境Gに構成要素が配置されていない空の状態である。モデル表示部10には、文字「ROOT」に対応する仮想架台110Gが表示される。この状態で、ユーザは、操作装置800を操作することにより、機種Aに対応する仮想環境に含まれる構成要素を新規作成する。
図7(b)は、第1実施形態において機種Aに対応する仮想環境の構成要素を作成完了したときの画面における表示状態を示す説明図である。機種Aに対応する仮想環境の構成要素を作成完了した状態で、仮想架台110G上に、仮想ロボット200G、仮想ワークWG、仮想治工具130G、仮想ツール300G、仮想壁120Gが定義されている。仮想ロボット200G、仮想ロボットハンド202G、仮想ワークWG、仮想治工具130G、仮想ツール300G、仮想壁120Gにはそれぞれ「Robot」、「Hand」、「Work」、「Box」、「Tool」、「Wall」の名称が付与される。また、TCP、5つの教示点P1,P2,P3,P4,P5にはそれぞれ「TCP」,「P001」,「P002」,「P003」,「P004」,「P005」の名称が付与される。これら名称をノード名という。
仮想ロボット200Gには仮想ロボットハンド202Gが関連付けられ、仮想ロボットハンド202GにはTCPが関連付けられている。仮想ワークWGには教示点P1が関連付けられ、教示点P1には教示点P2が関連付けられている。仮想治工具130Gには、教示点P3が関連付けられ、教示点P3には教示点P4が関連付けられている。仮想ツール300Gには教示点P5が関連付けられている。
CPU601は、ノード名が「P001」,「P002」である教示点P1,P2を、ノード名が「Work」の仮想ワークWGを親ノードとする子ノードとして管理する。また、CPU601は、ノード名が「P003」,「P004」である教示点P3,P4を、ノード名が「Box」の仮想治工具130Gを親ノードとする子ノードとして管理する。また、CPU601は、ノード名が「P005」である教示点P5を、ノード名が「Tool」の仮想ツール300Gを親ノードとする子ノードとして管理する。
また、CPU601は、ノード名が「Robot」である仮想ロボット200Gを親ノードとし、仮想ロボット200Gの構成の一部である、ノード名が「Hand」である仮想ロボットハンド202Gを子ノードとして管理する。更に、ノード名が「Hand」である仮想ロボットハンド202Gを親ノードとし、ノード名が「TCP」であるTCPを子ノードとして管理する。
ノード表示部32には、これらノード名「ROOT」,「Robot」,「Hand」,「Work」,「Box」,「Tool」,「Wall」,「TCP」,「P001」〜「P005」が樹形図形式で表示され、カーソル40により選択可能となっている。
モデル表示部10には、機種Aに対応する仮想環境として定義した各ノード(構成要素)の3Dモデル情報が表示され、一目で配置環境の確認を行うことができる。モデル表示部10中の教示点がカーソル40で選択されると、CPU601により選択のタイミングで仮想ロボット200Gの姿勢計算が行われ、選択した教示点の姿勢に仮想ロボット200G(TCP)を移動させ、モデル表示部10の表示を更新する。図7(b)では、モデル表示部10には教示点P1が選択された時の仮想ロボット200Gの姿勢を示している。全ての教示点P1〜P5は、TCPの目標動作位置として関連付けられている。
次に、ステップS12(図6)におけるCPU601の制御動作について説明する。図8は、第1実施形態に係る教示装置の処理部において構成要素を分類するときの制御を示すフローチャートである。
CPU601は、モデル管理部30の分類ボタン33がカーソル40で操作(例えばマウスを左クリック)されたか否かを判断する(S21)。つまり、CPU601は、ユーザにより分類ボタン33が操作されたか否かを判断する。
CPU601は、ユーザにより分類ボタン33が操作されたと判断したとき(S21:Yes)、各構成要素を各仮想環境に共通に用いるか個別に用いるかをユーザに選択操作させる分類設定画像を、画面に表示させる(S22:分類表示処理、分類表示工程)。つまり、CPU601は、ノードの「共通」,「機種別」の分類設定を行うための分類設定画像を表示装置700の画面710に表示させる。
CPU601は、ユーザの操作に従って、各ノード(構成要素)を、各仮想環境Gに共通に用いる共通ノード(共通構成要素)、又は各仮想環境Gに個別に用いる機種別ノード(個別構成要素)のいずれかに分類する(S23,S24:分類処理、分類工程)。
図9(a)及び図9(b)は、分類ボタン33が操作されたときに画面に表示する分類設定画像を示す説明図である。図9(a)は分類前、図9(b)は分類後を示す。
分類設定画像50には、追加したノード名が列挙され、各ノード名に対応して、「共通」の選択欄51と「機種別」の選択欄52が設けられている。また、確定ボタン55とキャンセルボタン56が表示され、確定ボタン55で変更が確定し、キャンセルボタン56で変更がキャンセルされる。
あるノード名においてユーザがマウスのカーソル40で「共通」の選択欄51を選択(例えば左クリック)すれば、「共通」の選択欄51にフラグ53が設定される。また、あるノード名においてユーザがマウスのカーソル40で「機種別」の選択欄52を選択(例えば左クリック)すれば、「機種別」の選択欄52にフラグ53が設定される。
なお、各機種に対応する仮想環境においてノードが新規追加されると、追加されたノードは全て機種別ノードとして登録され、機種別記憶領域452に記憶される。したがって、ノードを新規に追加完了した状態では、図9(a)に示すように、全てのノード名において、「機種別」の選択欄52にフラグ53が設定される。よって、ユーザは、共通ノードにする対象のノードについては、フラグ53を「共通」の選択欄51に設定変更し、機種別ノードにする対象のノードについては、フラグ53の変更を行わなければよい。
親ノードにおける「機種別」の選択欄52にフラグ53が設定されている場合、子ノードについては「共通」の選択欄51にフラグ53を設定することはできないため、インターロックされる。また、子ノードにおける「共通」の選択欄51にフラグ53が設定されている場合、親ノードについいては「機種別」の選択欄52にフラグ53を設定することはできないため、インターロックされる。
第1実施形態では、図9(b)に示すように、ノード名「Robot」(仮想ロボット200G)、「Box」(仮想治工具130G)、「Tool」(仮想ツール300G)、「Wall」(仮想壁120G)を共通ノードとする。また、図9(b)に示すように、ノード名「P003」(教示点P3)、「P004」(教示点P4)、「P005」(教示点P5)を共通ノードとする。これら以外を機種Aに対応する仮想環境に設定する機種別ノードとする。
CPU601は、確定ボタン55が操作(例えば左クリック)されたか否かを判断する(S23)。CPU601は、確定ボタン55が操作されたときに、分類設定画像50に従い、フラグ53が「共通」又は「機種別」の選択欄51,52のいずれに設定されたかに応じて、ノードを、共通ノード又は機種別ノードに分類する(S24)。このステップS24において、CPU601は、分類した結果を記憶部645(図5(b))に記憶させる。
このように、分類設定画像50の確定ボタン55を操作することで、分類設定を完了することができる。なお、分類設定画像50のキャンセルボタン56を操作することで、分類ボタン33の操作前の状態に戻すことができる。
図10(a)及び図10(b)は、記憶部に記憶されている機種Aに対応する仮想環境のデータをリスト化した説明図である。図10(a)は分類前、図10(b)は分類後を示す。分類前において、機種Aに対応する機種別記憶領域652に、追加された全ての構成要素が記憶され、共通記憶領域651には何も記憶されていない状態である。分類設定後、図10(b)に示すように、上記した共通ノードが共通記憶領域651に記憶され、機種Aに対応する機種別記憶領域652には、機種別ノードが記憶されている。
CPU601は、ステップS24で分類した、共通ノード(共通構成要素)と、対象となる「機種A」に対応する機種別ノード(個別構成要素)とで、「機種A」に対応する仮想環境Gを構築する(S25:構築処理、構築工程)。具体的には、CPU601は、記憶部645に記憶させた分類の結果に基づいて、「機種A」に対応する仮想環境Gを構築する。ここで、構築するとは、本実施形態では、教示点のデータを含む仮想環境Gのデータが記述されたファイルHを作成することである。CPU601は、この仮想環境Gのデータが記述されたファイルHと、動作の命令が記述された動作プログラムとでロボットプログラムを作成する。なお、動作プログラムは、教示装置600において作成してもよいが、制御装置400において作成してもよいし、別のコンピュータにおいて作成してもよい。
次に、ステップS13(図6)について説明する。ステップS13では、機種Bに対応する仮想環境の構成要素を作成するため、機種Bに切り替えられる。
図11(a)は、機種Aから機種Bに切り替える際の画面における表示状態を示す説明図である。設定対象の仮想環境(機種)の切り替えは、モデル管理部30の機種設定部31をカーソル40で操作(例えばマウスを左クリック)し、機種選択リスト36を表示させる。機種選択リスト36には、「機種A」、「機種B」、「機種C」が表示されるので、「機種B」をカーソル40で選択することで切り替えることができる。
機種設定部31において「機種A」に設定されている状態では、図5(a)及び図5(b)において、制御部643は、共通記憶領域651と機種Aに対応する機種別記憶領域652にアクセスする。機種設定部31を「機種B」に切り替えると、機種Aに対応する機種別記憶領域652から機種Bに対応する機種別記憶領域652にアクセスが切り替えられる。切り替え後、共通記憶領域651と機種Bに対応する機種別記憶領域652に記憶されたノード情報を制御部643が読み込み、表示装置700の画面710に表示される。
図11(b)は、機種Bに切り替え完了したときの画面における表示状態を示す説明図である。機種設定部31が機種Bになっている状態である。機種設定部31において「機種B」に切り替えられたタイミングでは、機種Bに対応する機種別記憶領域452にはノード情報(構成要素)が何も存在しない。そのため、モデル表示部10には、「機種A」で設定した共通ノードのうち、3Dモデルノードである仮想ロボット200G、仮想治工具130G、仮想ツール300G、仮想壁120Gが表示される。
共通ノードのうち、パラメータノードである教示点P3、教示点P4及び教示点P5は、教示点に対応するTCPが存在しないため、仮想ロボット200Gの姿勢計算ができない。したがって、CPU601は、移動不可能であることを示す印「×」をノード表示部32の教示点P3を示すノード名「P003」、教示点P4を示すノード名「P004」及び教示点P5を示すノード名「P005」の隣に表示させる。
この状態で移動不可能であることを示す印「×」が表示された教示点のノードを、カーソル40で選択しても、モデル表示部10における仮想ロボット200Gは、TCPが設定されていないので、選択された教示点の姿勢とはならない。また、モデル表示部10において、教示点P3、P4、P5は非表示となる。
以上、機種設定部31において「機種A」に設定された状態で作成した共通ノードは、「機種B」に切り替えても、編集可能な状態で表示されるようになり、新たに作成する必要がなく、入力ミスや教示工数を大幅に削減することができる。
次に、ステップS14(図6)について説明する。ステップS14では、機種設定部31において「機種B」に設定された状態で仮想環境Gに機種別ノードを追加する。
図11(c)は、機種Bに対応する仮想環境の各構成要素の作成が完了したときの画面における表示状態を示す説明図である。原点であるノード名「ROOT」の仮想架台110G上に、ノード名「Work」の仮想ワークWGと、ノード名「Tool2」の仮想ツール302Gとが追加されている。ノード名「Robot」の仮想ロボット200Gには、ノード名「Hand」の仮想ロボットハンド202Gが関連付けられて追加され、ノード名「Hand」の仮想ロボットハンド202Gにはノード名「TCP」のTCPが関連付けられて追加されている。ノード名「Work」の仮想ワークWGには、ノード名「P001」の教示点P1と、ノード名「P002」の教示点P2が関連付けられて追加されている。「機種B」のTCPは、「機種A」のTCPと同一名称のノードとして定義されている。これらノード(構成要素)は、追加された時点で、CPU601により自動的に機種別ノード(個別構成要素)に分類される。つまり、「機種A」に対応する仮想環境Gの設定において共通ノードを分類したので、「機種B」に対応する仮想環境Gの設定においても同様の共通ノードが分類されており、その後追加する構成要素は、機種別ノードに分類すればよい。よって、追加された構成要素をCPU601により自動的に機種別ノードに分類するが、共通ノードはユーザが分類しているので、機種別ノードもユーザの意思で分類したことになる。
ここで、共通ノードの教示点には、ノード名「TCP」であるTCPが関連付けられており、同一のノード名「TCP」の構成要素が作成されたとき、自動的にその構成要素が適応される。そのため、同一名称「TCP」でTCP(構成要素)を定義したことで、教示点P3、P4、P5にTCPを移動させたときの仮想ロボット200Gの姿勢を計算できる状態になり、移動不可能を示す印「×」がノード表示部32から削除される。
図12は、分類ボタン33が操作されたときに画面に表示する分類設定画像を示す説明図である。「機種B」で構成要素を作成完了した状態で分類ボタン33が操作されると、図12の分類設定画像50が画面に表示される。「機種B」で新たに追加したノード(構成要素)は、全て機種別ノードとなっているので、分類設定画像50において、新たに追加したノードのノード名に対応する「機種別」の選択欄52には、フラグ53が設定される。
図13(a)及び図13(b)は、記憶部に記憶されている機種Bに対応する仮想環境のデータをリスト化した説明図である。図13(a)はノード(構成要素)の追加前、図13(b)はノード(構成要素)の追加後を示す。ノードの追加前において、機種Bに対応する機種別記憶領域652には何も記憶されていない状態である。ノード追加後、図13(b)に示すように、機種Bに対応する機種別記憶領域652には、機種別ノードが記憶されている。
そして、CPU601は、共通ノード(共通構成要素)と、対象となる「機種B」に対応する機種別ノード(個別構成要素)とで、「機種B」に対応する仮想環境Gを構築する。具体的には、CPU601は、記憶部645に記憶させた分類の結果に基づいて、「機種B」に対応する仮想環境Gを構築する。
次に、ステップS15(図6)について説明する。ステップS15では、機種Cに対応する仮想環境の構成要素を作成するため、機種Cに切り替えられる。
図14(a)は、機種Bから機種Cに切り替える際の画面における表示状態を示す説明図である。設定対象の仮想環境(機種)の切り替えは、モデル管理部30の機種設定部31をカーソル40で操作(例えばマウスを左クリック)し、機種選択リスト36を表示させる。機種選択リスト36には、「機種A」、「機種B」、「機種C」が表示されるので、「機種C」をカーソル40で選択することで切り替えることができる。
機種設定部31において「機種B」に設定されている状態では、図5(a)及び図5(b)において、制御部643は、共通記憶領域651と機種Bに対応する機種別記憶領域652にアクセスする。機種設定部31を「機種C」に切り替えると、機種Bに対応する機種別記憶領域652から機種Cに対応する機種別記憶領域652にアクセスが切り替えられる。切り替え後、共通記憶領域651と機種Cに対応する機種別記憶領域652に記憶されたノード情報を制御部643が読み込み、表示装置700の画面710に表示される。
図14(b)は、機種Cに切り替え完了したときの画面における表示状態を示す説明図である。機種設定部31が機種Cになっている状態である。
機種設定部31において「機種C」に切り替えられたタイミングでは、機種Cに対応する機種別記憶領域452にはノード情報(構成要素)が何も存在しない。そのため、モデル表示部10には、「機種A」で設定した共通ノードのうち、3Dモデルノードである仮想ロボット200G、仮想治工具130G、仮想ツール300G、仮想壁120Gが表示される。
共通ノードのうち、パラメータノードである教示点P3、教示点P4及び教示点P5は、教示点に対応するTCPが存在しないため、仮想ロボット200Gの姿勢計算ができない。したがって、CPU601は、移動不可能であることを示す印「×」をノード表示部32の教示点P3を示すノード名「P003」、教示点P4を示すノード名「P004」及び教示点P5を示すノード名「P005」の隣に表示させる。
この状態で移動不可能であることを示す印「×」が表示された教示点のノードを、カーソル40で選択しても、モデル表示部10における仮想ロボット200Gは、TCPが設定されていないので、選択された教示点の姿勢とはならない。また、モデル表示部10において、教示点P3,P4,P5は非表示となる。
以上、機種設定部31において「機種A」に設定された状態で作成した共通ノードは、「機種C」に切り替えても、編集可能な状態で表示されるようになり、新たに作成する必要がなく、入力ミスや教示工数を大幅に削減することができる。
次に、ステップS16(図6)について説明する。ステップS16では、機種設定部31において「機種C」に設定された状態で仮想環境Gに機種別ノードを追加する。
図14(c)は、機種Cに対応する仮想環境の各構成要素の作成が完了したときの画面における表示状態を示す説明図である。原点であるノード名「ROOT」の仮想架台110G上に、ノード名「Work」の仮想ワークWGが追加されている。ノード名「Robot」の仮想ロボット200Gには、ノード名「Hand」の仮想ロボットハンド202Gが関連付けられて追加され、ノード名「Hand」の仮想ロボットハンド202Gにはノード名「TCP」のTCPが関連付けられて追加されている。ノード名「Work」の仮想ワークWGには、ノード名「P001」の教示点P1と、ノード名「P002」の教示点P2が関連付けられて追加されている。「機種C」のTCPは、「機種A」,「機種B」のTCPと同一名称のノードとして定義されている。これらノード(構成要素)は、追加された時点で、CPU601により自動的に機種別ノード(個別構成要素)に分類される。つまり、「機種A」に対応する仮想環境Gの設定において共通ノードを分類したので、「機種C」に対応する仮想環境Gの設定においても同様の共通ノードが分類されており、その後追加する構成要素は、機種別ノードに分類すればよい。よって、追加された構成要素をCPU601により自動的に機種別ノードに分類するが、共通ノードはユーザが分類しているので、機種別ノードもユーザの意思で分類したことになる。
ここで、共通ノードの教示点には、ノード名「TCP」であるTCPが関連付けられており、同一のノード名「TCP」の構成要素が作成されたとき、自動的にその構成要素が適応される。そのため、同一名称「TCP」でTCP(構成要素)を定義したことで、教示点P3、P4、P5にTCPを移動させたときの仮想ロボット200Gの姿勢を計算できる状態になり、移動不可能を示す印「×」がノード表示部32から削除される。
図15は、分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。「機種C」で構成要素を作成完了した状態で分類ボタン33が操作されると、図15の分類設定画像50が画面に表示される。「機種C」で新たに追加したノード(構成要素)は、全て機種別ノードとなっているので、分類設定画像50において、新たに追加したノードのノード名に対応する「機種別」の選択欄52には、フラグ53が設定される。
図16(a)及び図16(b)は、記憶部に記憶されている機種Cに対応する仮想環境のデータをリスト化した説明図である。図16(a)はノード(構成要素)の追加前、図16(b)はノード(構成要素)の追加後を示す。ノードの追加前において、機種Cに対応する機種別記憶領域652には何も記憶されていない状態である。ノード追加後、図16(b)に示すように、機種Cに対応する機種別記憶領域652には、機種別ノードが記憶されている。
そして、CPU601は、共通ノード(共通構成要素)と、対象となる「機種C」に対応する機種別ノード(個別構成要素)とで、「機種C」に対応する仮想環境Gを構築する。具体的には、CPU601は、記憶部645に記憶させた分類の結果に基づいて、「機種C」に対応する仮想環境Gを構築する。
以降、モデル管理部30の機種設定部31をカーソル40で選択し、機種選択リスト36で「機種A」をカーソル40で選択すると図7(b)の表示となる。また、モデル管理部30の機種設定部31をカーソル40で選択し、機種選択リスト36で「機種B」をカーソル40で選択すると図11(c)の表示となる。また、モデル管理部30の機種設定部31をカーソル40で選択し、機種選択リスト36で「機種C」をカーソル40で選択すると図14(c)の表示となる。
記憶部645に関しては、共通記憶領域651は全ての機種でアクセスされる。機種別記憶領域652は機種設定部31にて「機種A」が選択されたときに、機種別記憶領域652は機種設定部31にて「機種B」が選択されたときに、機種別記憶領域652は機種設定部31にて「機種C」が選択されたときにアクセスされる。
以上で3つ(全て)の仮想環境Gの新規作成を終了する。新規作成された機種A、機種B、機種Cに対応する各仮想環境Gは、前述した保存要求を行うことによりファイルHとして出力することができ、読込要求を行うことにより機種A、機種B、機種Cの各仮想環境Gを再現することができる。
以上、ノード情報(構成要素)を共通ノード(共通構成要素)と機種別ノード(個別構成要素)とに分類するようにしたので、各仮想環境の構築の際に各仮想環境で共通する共通ノードについては、一括管理することができ、入力ミスを低減することができる。また、共通ノードについては各仮想環境で共有されるので、教示工数を削減することができる。よって、ロボット200により製造する製造品の機種毎の仮想環境Gを容易に構築することができる。
なお、ファイルHは、全機種の仮想環境Gのデータを1ファイルで記録する場合と、1機種毎に仮想環境Gのデータを1ファイルずつ記録する場合とを切り替えることもできる。例えば、制御装置400が1機種毎の仮想環境Gのデータしか取得できないような場合には、ファイルHは、機種毎にファイルを分けて、3つのファイルで記録する必要がある。この場合、記憶部645にある共通記憶領域451の情報と、機種設定部31で選択された機種の機種別記憶領域452の情報とを入出力部646に受け渡し、1つのファイルHとして保存する。ファイルHには、どの機種の情報を出力しているものか機種情報も保存する。出力したファイルHを、制御装置400で読み込むことで、選択した機種の製造品を製造するようにロボット200を動作させることができる。
さらに、制御装置400でファイルHを編集した後、ファイルHを仮想環境Gに反映させることも可能である。この場合、制御装置400で編集した後のファイルHを入出力部46で読み込み、記憶部645の共通記憶領域651と機種別記憶領域652に分類して上書き保存を行えばよい。このとき、ファイルHには機種情報も保存されているため、保存された機種の機種別記憶領域452に上書き保存を行い、仮想環境Gに反映させることもできる。
また、第1実施形態では、仮想ロボット200Gは共通ノードとして定義しているが、仮想ロボット200Gを機種別ノードとして定義することも可能である。例えば、既存の装置に対して新しい装置に入れ替える場合、ロボット200のみを入れ替えるケースも考えられる。この場合、ロボット200のみ入れ替えを行うので、仮想ロボット200Gは機種別ノードに分類し、それ以外の構成要素(3Dモデルノード)は共通ノードに分類すればよい。これにより、仮想環境の構築が簡略化され、教示工数の削減を図ることもできる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボットシステムについて説明する。第1実施形態では、仮想環境を新規作成する手順について説明した。新規作成した各機種に対応する仮想環境について、仮想ロボットや仮想周辺物の形状や配置、又はTCPや教示点の配置を変更する必要が生じる場合がある。
このように、仮想環境を作成した後に、仮想環境に含まれる構成要素を変更すると、複数の仮想環境のうち、仮想構造物同士が干渉する仮想環境が生じることがある。具体的には、仮想ロボットと仮想周辺物、仮想周辺物が複数ある場合は仮想周辺物同士が干渉することがある。また、仮想環境を作成した後に仮想ロボットの形状や配置を変更したことで、教示点に仮想ロボットがアプローチするときの姿勢が変わり、その姿勢に移動できない状態が発生することがある。第2実施形態では、干渉確認や姿勢確認を行う場合について説明する。なお、ロボットシステムの構成は、第1実施形態と同様であるため、説明を省略する。
第2実施形態では、第1実施形態で説明した製造品の機種A、機種B、機種Cに対応する各仮想環境Gの構成要素に対して、変更を施したときに、干渉確認や姿勢確認を行う場合を例に説明する。具体的には、機種別ノードの仮想構造物と共通ノードの仮想構造物とが干渉するか否かを判断する場合と、共通ノードの教示点を変更した際に仮想環境間で仮想ロボットの姿勢確認をする場合を例に説明する。
まず、最初に干渉確認について説明する。図17は、第2実施形態において干渉確認を行うフローチャートである。図18(a)〜図18(c)は、第2実施形態における干渉確認を行うときの画面の表示を示す説明図である。
CPU601は、図18(a)に示す干渉確認ボタン34がユーザによってカーソル40で操作(例えば左クリック)されることで、干渉確認をするON状態となる(S31)。このとき、CPU601は、干渉確認をするON状態となっていることがユーザにより視認可能なように、図18(a)に示す干渉確認ボタン34の色やトーンなどの表示を変更する。これにより、CPU601は、干渉チェックを自動的に行い、警告表示を行う状態に設定される。なお、CPU601は、再度干渉確認ボタン34がユーザによってカーソル40で操作(例えば左クリック)されることで、干渉確認をしないOFF状態となる。また、干渉確認ボタン34により干渉チェックの実行をON、OFFしているが、干渉確認ボタン34を無くし、初期状態から常時、ON状態に設定してもよい。
次に、ユーザが、機種設定部31において「機種A」に設定されている状態で、共通ノード、例えばノード名「Tool」の仮想ツール300Gの配置を編集する(S32)。図18(a)には、機種設定部31において「機種A」に設定されている状態で、ノード名「Tool」の仮想ツール300Gの配置を編集している状態を示している。
CPU601は、機種Aに対応する仮想環境Gにおいて、仮想構成物同士が干渉(接触)しているか否かを総当たりで確認を行う(S33:干渉判断処理、干渉判断工程)。つまり、仮想ロボット及び仮想周辺物で干渉が生じているか否かを判断する。CPU601は、干渉確認ボタン34によりON状態となっているため、干渉チェックは常時行っており、共通記憶領域651に記憶されている3Dモデルノードと機種Aの機種別記憶領域652に記憶されている3Dモデルノードの総当たりの干渉確認を行う。
CPU601は、ステップS33で仮想構造物同士が干渉すると判断した場合(S33:Yes)、表示装置700の画面710に警告画像を表示させる(S34:干渉警告処理、干渉警告工程)。この警告画像を見たユーザは、機種Aで干渉が無くなるまで繰り返し再編集を行う(S32に戻る)。
干渉確認の結果、干渉がなければ(S33:No)、ユーザは、干渉状態を未確認である他機種に切り替える(S35)。例えば、図18(b)に示すように、機種設定部31において「機種A」から「機種B」に切り替える。機種Bに切り替えると、図18(c)のように、機種Aで編集した共通ノードの仮想ツール300Gが反映された状態で、表示が行われる。そして、CPU601は、ステップS33と同様、機種Bに対応する仮想環境Gにおいて、仮想構成物同士が干渉(接触)しているか否かを総当たりで確認を行う(S36)。
CPU601は、ステップS36で仮想構造物同士が干渉すると判断した場合(S36:Yes)、表示装置700の画面710に警告画像を表示させる(S34)。この警告画像を見たユーザは、機種Bで干渉が無くなるまで繰り返し再編集を行う(S32に戻る)。
図18(c)の例では、機種別ノードのノード名「Tool2」である仮想ツール302Gと共通ノードのノード名「Tool」である仮想ツール300Gとが干渉している。したがって、ステップS32に戻ったときには、機種別ノードのノード名「Tool2」である仮想ツール302Gと共通ノードのノード名「Tool」である仮想ツール300Gのいずれか一方又は両方の配置を編集すればよい。
図19(a)は、干渉確認の際の警告画像の一例を示す説明図である。図19(a)に示すように、警告画像として警告表示ダイアログ60が表示される。警告表示ダイアログ60内の詳細表示ボックス61に干渉した対象のノードのノード名が表示され、ユーザは、どのノード同士が干渉しているのかが、一目して理解することができる。なお、警告表示ダイアログ60は、干渉の度に表示されると、手間になるため、機種切り替えを行うタイミングでのみ表示が行われるようにするのが好ましい。警告表示ダイアログ60は確認ボタン62を操作することで非表示にでき、次の処理に進む。
また、図18(c)に示すように、モデル表示部10においては、両方の仮想モデル300G,302Gの表示色が変更されている。干渉確認の結果、干渉が有りの場合は、モデル表示部11でも確認することができる。
ステップS32で干渉したノードの配置を再編集した結果、干渉が発生していない場合は、機種Bにおいて干渉しているノードを変更したので、再び機種Aに切り替える(S35)。そして、ステップS36で干渉確認を行い、その結果、干渉が発生していない場合(S36:No)は、ステップS37で未確認機種を判断し、機種Cが未確認であるので、再びステップS35に戻る。「機種A」、「機種B」及び「機種C」の干渉確認が終了した場合は、未確認機種は存在しないため、干渉確認は終了となる。
以上のようにCPU601が各仮想環境Gに対して干渉確認を行うことで、ユーザは各仮想環境Gにおいて干渉しないように構成要素を変更することができ、入力ミスを低減することができる。また、干渉確認を瞬時に行えるため、教示工数を削減することができる。
次に、姿勢確認について説明する。図20は、第2実施形態において姿勢確認を行うフローチャートである。図21(a)〜図21(c)は、第2実施形態における姿勢確認を行うときの画面の表示を示す説明図である。
ところで、第2実施形態では、機種Aの製造品を製造する場合と機種Bの製造品を製造する場合では、ロボット200を同一構成としている。一方、機種A,Bの製造品を製造する場合と機種Cの製造品を製造する場合とでは、ロボット200、より具体的にはロボットハンド202の構成、例えばフィンガーの長さを異ならせている。即ち、機種A,Bの製造品を製造する場合と機種Cの製造品を製造する場合とでロボットハンド202全体又はフィンガーのみを、取り替えるようにしている。したがって、仮想ロボット200G、より具体的には仮想ロボットハンド202Gの構成が、機種設定部31において「機種A」,「機種B」を選択した場合と、「機種C」を選択した場合とで異ならせている。
TCPは、フィンガーの先端付近に設定するため、各仮想環境においてノード名は「TCP」で同じものの、機種A,Bを製造する場合の仮想環境におけるTCPの位置情報と、機種Cを製造する場合の仮想環境におけるTCPの位置情報とが異なっている。よって、ノード名「TCP」であるTCP(構成要素)は、機種別ノード(個別構成要素)に分類されている。そのため、各仮想環境下で同一の教示点にTCPが移動するよう仮想ロボット200Gを動作させようとしても、その姿勢に動作できるかどうか不明である。そこで、第2実施形態では、仮想ロボット200Gの姿勢確認を行うようにしている。
まず、CPU601は、図21(a)に示す姿勢確認ボタン35がユーザによってカーソル40で操作(例えば左クリック)されることで、各教示点にTCPを移動させたときの仮想ロボット200Gの姿勢確認をするON状態となる(S41)。このとき、CPU601は、姿勢確認をするON状態となっていることがユーザにより視認可能なように、図21(a)に示す姿勢確認ボタン35の色やトーンなどの表示を変更する。これにより、CPU601は、姿勢チェックを自動的に行い、警告表示を行う状態に設定される。なお、CPU601は、再度姿勢確認ボタン35がユーザによってカーソル40で操作(例えば左クリック)されることで、姿勢確認をしないOFF状態となる。また、姿勢確認ボタン35により姿勢チェックの実行をON、OFFしているが、姿勢確認ボタン35を無くし、初期状態から常時、ON状態に設定してもよい。
次に、ユーザが、機種設定部31において「機種A」に設定されている状態で、共通ノード、例えばノード名「Box」である仮想治工具130Gの配置を編集する(S42)。図21(a)には、機種設定部31において「機種A」に設定されている状態で、ノード名「Box」の仮想治工具130Gの配置を編集している状態を示している。
ノード名「Box」の仮想治工具130Gが変更されると、仮想治工具130Gに関連付けされた教示点P3と教示点P4が相対値情報を維持して仮想治工具130Gと共に変更される。
CPU601は、機種Aに対応する仮想環境Gにおいて、TCPを教示点に移動させたときに仮想ロボット200Gの各関節が可動域内に収まっているか否かを判断する(S43:姿勢判断処理、姿勢判断工程)。
教示点における仮想ロボット200Gの姿勢確認は、モデル表示部10において教示点がカーソル40にて選択(例えば左クリック)されたときに行う。仮想ロボット200Gの各関節が可動域内に収まっている場合は、モデル表示部10に表示されている仮想ロボット200Gをその姿勢に瞬時に動作させる。
CPU601は、ステップS43で仮想ロボットの各関節が可動域内に収まっていないと判断した場合(S43:No)、表示装置700の画面710に警告画像を表示させる(S44:姿勢警告処理、姿勢警告工程)。この警告画像を見たユーザは、仮想ロボット200Gの姿勢が許容されるまで繰り返し仮想治工具130Gの再編集を行う(S42に戻る)。
図21(b)には、モデル表示部10において、教示点P3がユーザに選択され、仮想ロボット200G(TCP)がその姿勢に動作している状態が図示されている。
姿勢確認の結果、仮想ロボット200Gの姿勢が許容されれば(S43:Yes)、ユーザは、姿勢状態を未確認である他機種に切り替える(S45)。例えば、図21(b)に示すように、機種設定部31において「機種A」から「機種C」にカーソル40で切り替える。機種Cに切り替えると、図21(c)のように、機種Aで編集した共通ノードの仮想治工具130Gが反映された状態で、表示が行われる。そして、CPU601は、機種Cに対応する仮想環境Gにおいて、TCPを教示点に移動させたときに仮想ロボット200Gの各関節が可動域内に収まっているか否かを判断する(S46)。
CPU601は、姿勢確認ボタン35によりON状態となっているため、機種設定部31にて切り替えられた時に、TCPを各教示点に移動させたときの仮想ロボット200Gの姿勢計算を自動的に行う。具体的に説明すると、まず、CPU601は、共通記憶領域651と機種Cに対応する機種別記憶領域452に記憶されている全ての教示点のリストを取得する。そして、CPU601は、取得した全ての教示点リストに対して仮想ロボット200Gの姿勢計算を行う。これにより、TCPを各教示点に移動させたときに仮想ロボット200Gの各関節が可動域内に収まっているか否かを判断する。
CPU601は、ステップS46で仮想ロボット200Gの各関節が可動域内に収まっていないと判断した場合(S46:Yes)、表示装置700の画面710に警告画像を表示させる(S44)。この警告画像を見たユーザは、仮想ロボット200Gの姿勢が許容されるまで繰り返し仮想治工具130Gの再編集を行う(S42に戻る)。
図21(c)の例では、共通ノードのノード名「P003」である教示点P3に仮想ロボット200Gに関連付けられたTCPを移動させたときに、リミットオーバーとなっている。したがって、ステップS42に戻ったときには、教示点P3が関連付けられた共通ノードのノード名「Box」である仮想治工具130Gの配置を編集すればよい。
図19(b)は、姿勢確認の際の警告画像の一例を示す説明図である。図19(b)に示すように、警告画像として警告表示ダイアログ70が表示される。警告表示ダイアログ70内の詳細表示ボックス71に、姿勢が取れない教示点のノード名「P003」が表示され、ユーザは、どの教示点で仮想ロボット200Gの姿勢が取れないのかが、一目して理解することができる。なお、警告表示ダイアログ70は、姿勢が取れない教示点が発生する度に表示されると、手間になるため、機種切り替えを行うタイミングでのみ表示が行われるようにするのが好ましい。警告表示ダイアログ70は確認ボタン72を操作することで非表示にでき、次の処理に進む。
また、図21(c)に示すように、ノード表示部32においては、TCPが移動不可能であることを示す印「×」が、ノード名「P003」の隣に表示される。これにより、姿勢確認の結果、仮想ロボット200Gの姿勢が取れない教示点がある場合は、ノード表示部32でも確認することができる。
ステップS42で共通ノードのノード名「Box」である仮想治工具130Gの配置を再編集した結果、仮想ロボット200Gの各関節が可動域であれば、機種Cにおいて共通ノードである仮想治工具130Gを変更したので再び機種Aに切り替える(S45)。そして、ステップS46で姿勢確認を行い、その結果、仮想ロボット200Gの各関節が可動域であれば、ステップS47で未確認機種を判断し、機種Bが未確認であるので、再びステップS45に戻る。「機種A」、「機種B」及び「機種C」の姿勢確認が終了した場合は、未確認機種は存在しないため、姿勢確認は終了となる。
以上のようにCPU601が各仮想環境Gに対して姿勢確認を行うことで、ユーザは各仮想環境Gにおいて仮想ロボット200Gの各関節が可動域に収まるように構成要素を変更することができ、入力ミスを低減することができる。また、姿勢確認を瞬時に行えるため、教示工数を削減することができる。
[第3実施形態]
次に、本発明の第3実施形態に係るロボットシステムについて説明する。第1実施形態で説明した通り、フラグ53を「機種別」の選択欄52から「共通」の選択欄51に変更すると、機種別記憶領域652から共通記憶領域651にノード情報を移動させる分類処理が行われる。
第1実施形態で説明した分類処理は、統合するノードが存在せず、機種別ノード(個別構成要素)が1つの仮想環境のみで定義されていた場合に適応できる。「統合するノード」とは、機種A、機種B、機種Cそれぞれに対応する機種別記憶領域652,652,652に記憶されている同一名称のノードのことである。
複数の仮想環境で同一名称の機種別ノード(個別構成要素)が定義されており、このノード(構成要素)を共通ノード(共通構成要素)に変更したい場合がある。この場合、同一名称だが、各仮想環境で異なるパラメータが定義されている可能性がある。また、共通ノードから機種別ノードに変更したい場合もある。この場合、表示している仮想環境に対してだけ機種別ノードに変更するのであれば容易であるが、他の仮想環境においても機種別ノードを設定したい場合もある。
以下、分類処理として、第1実施形態で作成した仮想環境に対して、仮想環境を構成するノード(構成要素)の分類を変更の手順ついて説明する。ロボットシステムの構成は、第1実施形態と同様であるため、説明を省略する。
図22は、第3実施形態における分類処理を示すフローチャートである。図23(a)及び図23(b)は、分類ボタンが操作されたときに画面に表示する分類設定画像を示す説明図である。図23(a)は変更前、図23(b)は変更後を示す。
CPU601は、機種設定部31において「機種A」、「機種B」、「機種C」のいずれか、例えば「機種A」に設定された状態で分類ボタン33が操作されると、図23(a)に示す分類設定画像50を表示装置700(図1)の画面710に表示する。そして、CPU601は、フラグ53の変更を受け付ける(S51)。
例えば、図23(b)に示すように、ノード名「Hand」に対応するフラグ53が「機種別」の選択欄52から「共通」の選択欄51に変更されているものとする。即ち、全仮想環境のうちいずれかの仮想環境に含まれるノード(構成要素)として、仮想ロボットハンドについて、機種別ノード(個別構成要素)から共通ノード(共通構成要素)に分類を変更する操作がユーザによりなされているものとする。また、図23(b)に示すように、ノード名「Tool」の仮想ツールに関連付けされた教示点のノード名「P005」に対応するフラグ53が「共通」の選択欄51から「機種別」の選択欄52に変更されているものとする。即ち、全仮想環境のうちいずれかの仮想環境に含まれるノード(構成要素)として、教示点P5について、共通ノード(共通構成要素)から機種別ノード(個別構成要素)に分類を変更する操作がユーザによりなされているものとする。
確定ボタン55がユーザにより操作されると、CPU601は、変更したノードのリストを取得する(S52)。変更したノードのリストにおいては、変更したフラグとノード名とが紐付けられている。よって、リストには、ノード名「Hand」、「P005」が含まれている。
CPU601は、リストの中から未選択のノード名を1つ選択する(S53)。そして、CPU601は、選択したノード名について、「機種別」の選択欄52から「共有」の選択欄51にフラグ53が変更されたものであるか否かを判断する(S54)。
ノード名「Hand」が選択されている場合、「機種別」の選択欄52から「共有」の選択欄51にフラグ53が変更されている(S54:Yes)。この場合、CPU601は、統合するノードが存在するか否かを判断する(S55)。即ち、全仮想環境のうち、ある仮想環境において「機種別」の選択欄52から「共有」の選択欄51にフラグ53の変更が行われるが、残りの仮想環境で、変更対象とする構成要素のノード名と同じノード名の構成要素が存在するか否かを判断する。よって、CPU601は、ステップS55では、ノード名「Hand」と同一名称のノードが機種A以外の機種B,Cに対応する機種別記憶領域652,652に記憶されているか否かを確認する。CPU601は、統合するノードが存在すると判断した場合(S55:Yes)、同じノード名のノード同士(構成要素同士)が一致するか否かを判断する(S56)。
例えば、ノード名「Hand」と同一名称のノードが機種別記憶領域652,652に記憶されているので、CPU601は、統合するノードが存在すると判断し、ステップS56の処理に移行する。なお、CPU601は、同一名称の機種別ノードが他の機種別記憶領域452に記憶されていない場合(S55:No)は、後述するステップS62の処理に移行する。
CPU601は、ステップS56において、同一名称の機種別ノードが一致すると判断した場合(S56:Yes)、自動で統合する処理を実行する(S57)。ステップS57の処理は、機種別記憶領域652に保存されている1機種の機種別ノードを共通記憶領域651に格納し、それ以外の機種別記憶領域652,652に格納されている機種別ノードは削除する。CPU601は、ステップS57の処理が完了すると、後述するステップS62の処理に移行する。
CPU601は、ステップS56において、同一名称の機種別ノードが一致しないと判断した場合、即ち同じノード名の構成要素同士が異なると判断した場合(S56:No)、ユーザの操作に応じて同じノード名の構成要素の中から1つを選択する(S58)。即ち、CPU601は、統合対象の機種を選択する。CPU601は、このユーザの操作を受け付ける画像として、フラグ変更確認ダイアログを表示装置700(図1)の画面710に表示させる。
図24(a)及び図24(b)は、フラグ変更確認ダイアログを示す説明図である。図24(a)及び図24(b)に示すフラグ変更確認ダイアログ80には、確認項目の文章が記述されている。そして、フラグ変更確認ダイアログ80は、確認すべき対象のノードを示す詳細表示ボックス81と、どの仮想環境のノード(構成要素)に統一するかをユーザに選択させる統合機種選択82とを備えている。
対象であるノード名「Hand」の仮想ロボットハンドの情報は、機種B,Cに対応する機種別記憶領域652,652にも記憶されている。共通記憶領域651に移動させるためには、どの機種の機種別記憶領域452に記憶されているノード情報を統合すべきかを、ユーザに選択させる必要がある。図24(b)では、統合機種選択82の「機種A」がカーソル40で選択(例えば左クリック)されている。そのため、CPU601は、統合機種選択82で共通記憶領域451に統合する、機種別記憶領域452の選択状況に応じて、対象となる仮想環境のノード(構成要素)を選択する。統合機種選択82のいずれかが選択されると、確定ボタン83及びキャンセルボタン84をアクティブとし、いずれかに確定できる状態となる。
CPU601は、確定ボタン83及びキャンセルボタン84のうち、ユーザに操作されたのが確定ボタン83か否かを判断する(S59)。CPU601は、確定ボタン83が操作されたと判断した場合(S59:Yes)、統合処理を実行し(S60)、選択した、機種Aに対応する機種別記憶領域652に格納されたノード名「Hand」のノード情報を、共通記憶領域651に移動させる。即ちCPU601は、選択したノード情報を、共通ノード(共通構成要素)に設定する。
このように、共通ノードに変更する機種の機種別ノードだけを選択して変更し、その他の機種の機種別ノードを自動的に削除することにより、簡易的に分類の変更を行うことができるようになる。
CPU601は、統合処理が終了すると、次のステップS62の処理に移行する。CPU601は、確定ボタン83が操作されていない、即ちキャンセルボタン84が操作されたと判断した場合(S59:No)、図23(b)で行った、ノード名「Hand」に対するフラグ53の変更をキャンセルする(S61)。そして、CPU601は、次のステップS62の処理に移行する。
次に、CPU601は、ステップS62において、変更したノードのリストの全てのノードの処理を完了したか否かを判断する。CPU601は、ステップS62において、完了していないと判断した場合(S62:No)、ステップS53の処理に戻る。上述の例では、リストに存在するノード名「P005」の処理が完了していないため、ステップS53の処理に戻る。CPU601は、ステップS53においてノード名「P005」を選択し、ステップS54の判断処理を行う。
ノード名「P005」が選択されている場合、「共有」の選択欄51から「機種別」の選択欄52にフラグ53が変更されている(S54:No)。共通ノード(共通構成要素)から機種別ノード(個別構成要素)に分類を変更する操作がユーザによりなされている。この場合、CPU601は、複製対象とする機種の選択を行う(S63)。CPU601は、複数の仮想環境のうち、機種別ノード(個別構成要素)として設定させる仮想環境をユーザに選択させるフラグ変更確認ダイアログを表示装置700(図1)の画面710に表示させる。
図25(a)及び図25(b)は、フラグ変更確認ダイアログを示す説明図である。図25(a)及び図25(b)に示すフラグ変更確認ダイアログ85には、確認項目の文章が記述されている。そして、フラグ変更確認ダイアログ85は、確認すべき対象のノードを示す詳細表示ボックス86と、どの仮想環境に変更対象のノード情報を機種別ノード(個別構成要素)として設定するかをユーザに選択させる複製機種選択87とを備えている。
対象であるノード名「P005」の教示点の情報は、共通記憶領域651に格納(記憶)されている。したがって、共通記憶領域651からいずれの機種別記憶領域652,652,652にノード情報を複製すべきかを選択させる必要がある。図25(b)では、複製機種選択87の「機種A」、「機種B」及び「機種C」がカーソル40で選択(例えば左クリック)されている。そのため、CPU601は、複製機種選択87における選択状況に応じて、複製の対象となる仮想環境を選択する。複製機種選択87のいずれかが選択されると、確定ボタン88及びキャンセルボタン89をアクティブとし、いずれかに確定できる状態となる。
CPU601は、確定ボタン88及びキャンセルボタン89のうち、ユーザに操作されたのが確定ボタン88か否かを判断する(S64)。CPU601は、確定ボタン88が操作されたと判断した場合(S64:Yes)、複製処理を実行する(S65)。具体的には、共通記憶領域651に記憶されているノード名「P005」の教示点のデータ(ノード情報)を、各機種別記憶領域652,652,652に複製して記憶させ、共通記憶領域651のノード名「P005」の教示点のデータを削除する。このように、CPU601は、複数の仮想環境のうち、ユーザの操作により選択した仮想環境に対して、共有ノードとして設定されている分類の変更対象となるノード情報(構成要素)を、機種別ノード(個別構成要素)として設定する。
CPU601は、確定ボタン88が操作されていない、即ちキャンセルボタン89が操作されたと判断した場合(S64:No)、図23(b)で行った、ノード名「P005」に対するフラグ53の変更をキャンセルする(S66)。そして、CPU601は、次のステップS62の処理に移行する。
CPU601は、ステップS62において、変更したノードのリストの全てのノードの処理を完了したと判断した場合、分類処理を終了する。このように、機種別ノードに変更する機種選択して、選択された機種の機種別ノードとして自動で複製して作成することで、簡易的に分類の変更を行うことができるようになる。
図26(a)は、分類処理確定後の機種Aに対応する分類設定画像を示す説明図である。図26(b)は、分類処理確定後の機種Bに対応する分類設定画像を示す説明図である。図26(c)は、分類処理確定後の機種Cに対応する分類設定画像を示す説明図である。各機種ともに、ノード名「Hand」のフラグ53は「共通」の選択欄51に、ノード名「Tool」に関連付けした「P005」のフラグ53は「機種別」の選択欄52に設定される。
以上、第3実施形態によれば、「共通」から「機種別」又は「機種別」から「共通」に分類変更するとき(つまり、分類処理時)に発生する入力ミスを低減させることができ、また作業に必要な教示工数を削減することができる。
[第4実施形態]
次に、本発明の第4実施形態に係るロボットシステムについて説明する。第4実施形態では、不要なノードを削除する際に、削除対象となるノードが、子ノードが存在する親ノードである場合について説明する。なお、各仮想環境におけるノード(構成要素)の設定は、第3実施形態で説明した図26(a)〜図26(c)の状態として説明する。ロボットシステムの構成は、第1実施形態と同様であるため、説明を省略する。
図27は、第4実施形態における削除処理を示すフローチャートである。図28(a)は、構成要素の削除前の画面における表示状態を示す説明図である。図28(b)は、構成要素の削除後の画面における表示状態を示す説明図である。なお、機種設定部31において「機種A」、「機種B」、「機種C」のいずれか、例えば「機種A」に設定された状態であるとする。
図28(a)に示すように、カーソル40により例えばノード表示部32のノード名「Tool」が選択され、キーボード802(図1)の削除コマンドである「Delete」キーが操作され、CPU601に、削除の指示がなされたとする(S71)。即ち、CPU601には、ユーザの操作装置800(図1)の操作により、ノード(構成要素)を削除する指示がなされる。この場合、削除対象としているのは、共有ノードに分類された構成要素である。
CPU601は、ユーザの操作により削除の指示がなされたノード(構成要素)、例えばノード名「Tool」のノードに子ノードが存在するか否かを確認する(S72)。CPU601は、子ノードが存在しない場合(S72:No)、指示されたノードのみ削除を行い、削除処理を完了する。
CPU601は、子ノードが存在する場合(S72:Yes)、子ノードのリスト取得処理を行う(S73)。子ノードは、共通記憶領域651、及び機種別記憶領域652,652,652(図5(a)及び図5(b))にそれぞれ存在する可能性があるため、記憶領域ごとの子ノードのリストを取得する。
CPU601は、リスト取得後、表示装置700(図1)の画面710に警告画像の表示を行う(S74:削除警告処理、削除警告工程)。
図29は、削除処理の際の警告画像の一例を示す説明図である。図29に示すように、警告画像として警告表示ダイアログ90が表示される。警告表示ダイアログ90は、削除対象の子ノードの詳細が記される警告詳細ボックス91を含んでいる。
図26(a)〜図26(c)に示す例の場合、ノード名「Tool」のノードには、それぞれの機種において、ノード名「P005」の教示点が子ノードとして関連付けられている。したがって、図29の警告詳細ボックス91には、機種別記憶領域652,652,652にそれぞれ記憶されているノード名「Tool」のノードに関連づけられたノード名「P005」の教示点の情報が記される。よって、ユーザは、警告表示ダイアログ90を見ることにより、削除対象のノードに関連付けられた子ノードが存在するか否かを確認することができる。
なお、図示は省略するが、共通記憶領域651に記憶されている子ノードが存在する場合には、「対象」の表示の代わりに「共通」の表示がなされる。
図29に示す警告表示ダイアログ90には、削除を許可する許可ボタンである確定ボタン92と、削除を許可しない不許可ボタンを示すキャンセルボタン93が含まれている。即ち、CPU601は、ステップS74において、画面710(図1)に確定ボタン92とキャンセルボタン93とを表示させる。
ステップS74の後、CPU601は、確定ボタン92とキャンセルボタン93のうち、ユーザに確定ボタン92が操作されたか否かを判断する(S75)。CPU601は、ユーザに確定ボタン92が操作された場合(S75:Yes)、削除対象の構成要素を削除するとともに、削除対象の構成要素に対する子ノードの構成要素を削除する。即ち、確定ボタン92が操作されると、削除が確定し、ノード名「Tool」のノード情報と関連付けられたノード名「P005」のノード情報が削除される。そして、図28(b)に示すように、仮想ツール300Gと教示点P5の表示がモデル表示部10から削除され、ノード名「Tool」及びノード名「P005」の表示がモデル管理部30から削除される。
CPU601は、キャンセルボタン93が操作された場合(S75:No)、削除をキャンセルし、削除指示前の状態に戻る。この場合、図28(a)の削除指示前の状態を維持する。
以上のように、関連する子ノードの存在の有無を確認し、子ノードが存在する場合、削除されることを警告することで、削除ミスが低減する。また、共有ノードを削除する場合には、それぞれの仮想環境に対して個別に削除作業を行わなくてもよいので、削除を行う教示工数を削減することができる。
なお、機種A,B,Cに対応する仮想環境を作成した後、不要になったノードを削除する必要が生じた場合、最端の枝である子ノードの削除であれば、そのまま削除しても問題ない。
[第5実施形態]
次に、本発明の第5実施形態に係るロボットシステムについて説明する。第5実施形態では、同一名称のノード情報を一覧表示で確認及び編集を行う場合について説明する。図30は、第5実施形態における機種間の同一名称のノードを一覧表示及び編集する処理を示すフローチャートである。図31は、第5実施形態において画面表示の初期状態を示す説明図である。なお、第5実施形態において、初期状態は、第3実施形態で説明した図26(a)〜図26(c)の状態として説明する。ロボットシステムの構成は、第1実施形態と同様であるため、説明を省略する。
ここで、CPU601は、前述したとおり、オフライン教示を行うソフトウェアが起動すると、GUIであるモデル表示部10、パラメータ設定部20及びモデル管理部30を表示装置700(図1)の画面710に表示させる。第4実施形態では、モデル管理部30には、分類ボタン(第1ボタン)33と、干渉確認ボタン(第2ボタン)34と、姿勢確認ボタン(第3ボタン)35と、機種間編集ボタン(第4ボタン)37とが含まれている。したがって、CPU601は、これらボタン33,34,35,37も表示させることになる(第1ボタン表示処理、第2ボタン表示処理、第3ボタン表示処理、第4ボタン表示処理)。また、機種設定部31では、「機種A」が選択されているものとする。
CPU601は、図31に示す機種間編集ボタン37がユーザの操作によってカーソル40で操作(例えば左クリック)されることで、編集対象とするノードの選択が可能な状態となる(S81)。よって、ステップS81では、ユーザにより、機種間編集ボタン37が操作され、かつノード表示部32に表示された複数のノード名のうちいずれかのノード名が選択される。以下、例えばノード表示部32においてユーザによりノード名「Work」が選択された場合について説明する。
CPU601は、各仮想環境の間で、選択されたノード名「Work」と同じノード名の構成要素の情報を、画面710(図1)にリスト表示させる(S82:リスト表示処理、リスト表示工程)。
図32(a)及び図32(b)は、第5実施形態において画面にリスト表示させたリスト画像を示す説明図である。図32(a)は編集前、図32(b)は編集後を示す。
図32(a)に示すリスト画像94には、編集中のノード名を表示する編集ボックス95と、編集中の仮想環境毎のパラメータリスト96とが含まれている。編集ボックス95と、パラメータリスト96の内容を、ユーザがキーボード802等を操作することにより編集することで、仮想環境間で同一名称のノード(パラメータや名称)を編集することができる。
よって、CPU601は、リスト画像94を表示させたとき、表示対象となっている各仮想環境のノード(構成要素)の情報の編集を受け付け、編集されたときには、編集後の情報を表示させる(S83)。即ち、CPU601は、編集結果をリスト画像94に反映させる。
例えば、図32(b)に示すように、編集ボックス95でノード名を「Work」から「Work1」に変更する。また、機種BのY軸のパラメータ値を「−80」から「0」に変更する。
次にCPU601は、リスト画像94として表示させている確定ボタン97及びキャンセルボタン98のうち、ユーザに操作されたのが確定ボタン97か否かを判断する(S84)。CPU601は、確定ボタン97が操作されたと判断した場合(S84:Yes)、編集結果を機種別記憶領域のそれぞれに反映する(S85)。
CPU601は、確定ボタン97が操作されていない、即ちキャンセルボタン98が操作されたと判断した場合(S84:No)、編集結果を削除して、リスト画像94を非表示にし、機種間編集ボタンが操作される前の状態(S82)まで戻る。
以上のように、複数の仮想環境間で同一名称のノードを一覧で表示し、編集可能としたことで、一目で確認を行えるようになり、教示作業の効率が向上する。また、複数の仮想環境間で共通する名称などを一括して変更することができるので、入力ミスが低減し、教示工数を削減することができる。また、複数の仮想環境間で対比しながらパラメータの編集を行うことができ、教示作業の効率が向上する。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態では、分類ボタン(第1ボタン)33、干渉確認ボタン(第2ボタン)34、姿勢確認ボタン(第3ボタン)35、機種間編集ボタン(第4ボタン)37がソフトウェアで実現した画面上のボタンとしたが、これに限定するものではない。ソフトウェアで構成されたボタンの代わりにハードウェアで構成されたボタン(実ボタン)で構成してもよい。この場合、教示装置が実ボタンを備えていることになる。
また、上述の実施形態では、表示装置700が液晶モニタ等のモニタであり、操作装置800がマウス801及びキーボード802である場合について説明したが、これに限定するものではない。表示装置と操作装置とでタッチパネルディスプレイが構成されていてもよい。この場合、ユーザが直接画面をタッチ操作することで、画面に表示されたボタン等を選択することが可能である。
100…ロボットシステム、120…壁(周辺物)、130…治工具(周辺物)、200…ロボット、300…ツール(周辺物)、400…制御装置、500…教示システム、600…教示装置、601…CPU(処理部)、700…表示装置、710…画面、800…操作装置、801…マウス、802…キーボード、W…ワーク(周辺物)

Claims (21)

  1. ユーザの操作により、ロボットに対応する仮想ロボット、及び前記ロボットの周辺に存在する周辺物に対応する仮想周辺物を仮想空間に配置して構成された仮想環境を、前記ロボットにより製造する製造品の機種毎にそれぞれ設定するとともに、前記機種毎の各仮想環境に前記ロボットの基準点、及び前記基準点の動作目標位置を表す教示点を設定する処理部を備え、
    前記処理部は、
    前記仮想ロボット、前記仮想周辺物、前記基準点及び前記教示点をそれぞれ構成要素とし、前記各構成要素を、前記各仮想環境に共通に用いるか個別に用いるかをユーザに選択操作させる画像を、画面に表示させる分類表示処理と、
    ユーザの操作に従って、前記各構成要素を、前記各仮想環境に共通に用いる共通構成要素、又は前記各仮想環境に個別に用いる個別構成要素のいずれかに分類する分類処理と、
    前記分類処理により分類した、前記共通構成要素と、対象となる前記個別構成要素とで、前記仮想環境を構築する構築処理と、を実行することを特徴とする教示装置。
  2. 前記処理部により読み書き可能な記憶部を備え、
    前記処理部は、前記分類処理では、分類した結果を前記記憶部に記憶させ、前記構築処理では、前記記憶部に記憶させた分類の結果に基づいて、前記仮想環境を構築することを特徴とする請求項1に記載の教示装置。
  3. 前記処理部は、第1ボタンを前記画面に表示する第1ボタン表示処理を実行し、ユーザにより前記第1ボタンが操作されたときに、前記分類表示処理を実行することを特徴とする請求項1又は2に記載の教示装置。
  4. 前記処理部は、
    前記各仮想環境において、前記仮想ロボット及び前記仮想周辺物で干渉するか否かを判断する干渉判断処理と、
    前記干渉判断処理にて前記仮想ロボット及び前記仮想周辺物で干渉すると判断した場合には、前記画面に警告画像を表示させる干渉警告処理と、を実行することを特徴とする請求項1乃至3のいずれか1項に記載の教示装置。
  5. 前記処理部は、第2ボタンを前記画面に表示する第2ボタン表示処理を実行し、ユーザにより前記第2ボタンが操作されたときに、前記干渉判断処理を実行することを特徴とする請求項4に記載の教示装置。
  6. 前記処理部は、
    前記基準点を前記教示点に移動させたときに前記仮想ロボットの各関節が可動域内に収まっているか否かを判断する姿勢判断処理と、
    前記仮想ロボットの各関節が可動域内に収まっていないと判断した場合には、前記画面に警告画像を表示させる姿勢警告処理と、を実行することを特徴とする請求項1乃至5のいずれか1項に記載の教示装置。
  7. 前記処理部は、第3ボタンを前記画面に表示する第3ボタン表示処理を実行し、ユーザにより前記第3ボタンが操作されたときに、前記姿勢判断処理を実行することを特徴とする請求項6に記載の教示装置。
  8. 前記処理部は、前記仮想空間において前記仮想周辺物の位置が変更された際に前記仮想周辺物との相対位置関係を維持しつつ前記教示点の位置が変更されるよう、前記教示点と前記仮想周辺物とを関連付けることを特徴とする請求項1乃至7のいずれか1項に記載の教示装置。
  9. 前記処理部は、前記各仮想環境において、前記構成要素をノードとする樹形図形式で管理し、ユーザの操作に従って前記各構成要素にノード名を付与し、前記教示点を、前記仮想周辺物を親ノードとする子ノードとし、前記基準点を、前記仮想ロボットを親ノードとする子ノードとして、ノード名を樹形図形式で前記画面に表示させる請求項8に記載の教示装置。
  10. 前記処理部は、前記分類処理において、前記各仮想環境のうちいずれかの仮想環境に含まれる構成要素について、前記個別構成要素から前記共通構成要素に分類を変更する操作がユーザによりなされた場合であって、残りの仮想環境で、変更対象とする構成要素のノード名と同じノード名の構成要素が存在し、かつ同じノード名の構成要素同士が異なる場合には、ユーザの操作に応じて同じノード名の構成要素の中から1つを選択して、前記共通構成要素とすることを特徴とする請求項9に記載の教示装置。
  11. 前記処理部は、前記分類処理において、前記仮想環境に前記共通構成要素として含まれる構成要素について、前記共通構成要素から前記個別構成要素に分類を変更する操作がユーザによりなされた場合には、複数の前記仮想環境のうち、ユーザの操作により選択した仮想環境に対して、分類の変更対象となる構成要素を、前記個別構成要素として設定することを特徴とする請求項9又は10に記載の教示装置。
  12. 前記処理部は、ユーザの操作により前記構成要素を削除する指示がなされたとき、削除の指示がなされた前記構成要素に子ノードが存在するか否かを確認し、子ノードが存在する場合には、前記画面に警告画像の表示を行う削除警告処理を実行することを特徴とする請求項9乃至11のいずれか1項に記載の教示装置。
  13. 前記処理部は、前記削除警告処理において、前記画面に削除を許可する許可ボタンと許可しない不許可ボタンの表示を行い、ユーザに前記許可ボタンが操作された場合には、削除対象の構成要素を削除するとともに、削除対象の構成要素に対する子ノードの構成要素を削除することを特徴とする請求項12に記載の教示装置。
  14. 前記処理部は、
    第4ボタンを前記画面に表示する第4ボタン表示処理と、
    ユーザにより、前記第4ボタンが操作され、かつ前記画面に表示されたノード名のうちいずれかが選択されたとき、前記各仮想環境の間で、選択されたノード名と同じノード名の構成要素の情報を、前記画面にリスト表示させるリスト表示処理と、を実行することを特徴とする請求項9乃至13のいずれか1項に記載の教示装置。
  15. 前記処理部は、前記リスト表示処理にて、表示対象となっている前記各仮想環境の構成要素の情報の編集を受け付け、編集されたときには、編集後の情報を表示させることを特徴とする請求項14に記載の教示装置。
  16. 請求項1乃至15のいずれか1項に記載の教示装置と、
    前記画面を有する表示装置と、
    ユーザの操作を受け付ける操作装置と、を備えた教示システム。
  17. 請求項1乃至15のいずれか1項に記載の教示装置と、
    前記ロボットと、
    前記教示点のデータ、及び前記ロボットを動作させる命令を含む動作プログラムに基づき、前記ロボットの動作を制御する制御装置と、を備えたロボットシステム。
  18. 処理部が、ユーザの操作により、ロボットに対応する仮想ロボット、及び前記ロボットの周辺に存在する周辺物に対応する仮想周辺物を仮想空間に配置して構成された仮想環境を、前記ロボットにより製造する製造品の機種毎にそれぞれ設定するとともに、前記機種毎の各仮想環境に前記ロボットの基準点、及び前記基準点の動作目標位置を表す教示点を設定する教示方法であって、
    前記処理部が、前記仮想ロボット、前記仮想周辺物、前記基準点及び前記教示点をそれぞれ構成要素とし、前記各構成要素を、前記各仮想環境に共通に用いるか個別に用いるかをユーザに選択操作させる画像を、画面に表示させる分類表示工程と、
    前記処理部が、ユーザの操作に従って、前記各構成要素を、前記各仮想環境に共通に用いる共通構成要素、又は前記各仮想環境に個別に用いる個別構成要素のいずれかに分類する分類工程と、
    前記処理部が、前記分類工程により分類した、前記共通構成要素と、対象となる前記個別構成要素とで、前記仮想環境を構築する構築工程と、を備えたことを特徴とする教示方法。
  19. 請求項18に記載の教示方法により設定された前記教示点のデータ、及び前記ロボットを動作させる命令を含む動作プログラムに基づき、前記ロボットを動作させて、前記ロボットに製造品を製造させる製造品の製造方法。
  20. コンピュータに請求項18に記載の教示方法の各工程を実行させるためのプログラム。
  21. 請求項20に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2016109321A 2016-05-31 2016-05-31 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体 Pending JP2017213644A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016109321A JP2017213644A (ja) 2016-05-31 2016-05-31 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016109321A JP2017213644A (ja) 2016-05-31 2016-05-31 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2017213644A true JP2017213644A (ja) 2017-12-07

Family

ID=60576184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016109321A Pending JP2017213644A (ja) 2016-05-31 2016-05-31 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2017213644A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI660255B (zh) * 2018-01-19 2019-05-21 所羅門股份有限公司 Workpiece processing method and processing system
JP2019153246A (ja) * 2018-03-06 2019-09-12 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2019209435A (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
CN110682288A (zh) * 2018-07-06 2020-01-14 发那科株式会社 机器人程序生成装置
CN111673732A (zh) * 2019-03-11 2020-09-18 精工爱普生株式会社 控制装置以及机器人系统
JP2022097575A (ja) * 2017-12-28 2022-06-30 株式会社Fuji 情報提供装置及び情報提供方法
CN114800482A (zh) * 2021-01-20 2022-07-29 精工爱普生株式会社 创建机器人的控制程序的方法、及其系统、以及记录介质

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022097575A (ja) * 2017-12-28 2022-06-30 株式会社Fuji 情報提供装置及び情報提供方法
JP7358550B2 (ja) 2017-12-28 2023-10-10 株式会社Fuji 情報提供装置及び情報提供方法
TWI660255B (zh) * 2018-01-19 2019-05-21 所羅門股份有限公司 Workpiece processing method and processing system
JP2019153246A (ja) * 2018-03-06 2019-09-12 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
WO2019172101A1 (ja) * 2018-03-06 2019-09-12 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
US11762679B2 (en) 2018-03-06 2023-09-19 Omron Corporation Information processing device, information processing method, and non-transitory computer-readable storage medium
JP2019209435A (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
JP7131092B2 (ja) 2018-06-05 2022-09-06 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
CN110682288A (zh) * 2018-07-06 2020-01-14 发那科株式会社 机器人程序生成装置
US11345026B2 (en) 2018-07-06 2022-05-31 Fanuc Corporation Robot program generation apparatus
DE102019117877B4 (de) 2018-07-06 2022-11-10 Fanuc Corporation Roboterprogrammgenerierungsvorrichtung
CN110682288B (zh) * 2018-07-06 2023-07-28 发那科株式会社 机器人程序生成装置
JP2020006472A (ja) * 2018-07-06 2020-01-16 ファナック株式会社 ロボットプログラム生成装置
CN111673732B (zh) * 2019-03-11 2023-08-25 精工爱普生株式会社 控制装置以及机器人系统
CN111673732A (zh) * 2019-03-11 2020-09-18 精工爱普生株式会社 控制装置以及机器人系统
CN114800482A (zh) * 2021-01-20 2022-07-29 精工爱普生株式会社 创建机器人的控制程序的方法、及其系统、以及记录介质
CN114800482B (zh) * 2021-01-20 2023-12-29 精工爱普生株式会社 创建机器人的控制程序的方法、及其系统、以及记录介质

Similar Documents

Publication Publication Date Title
JP2017213644A (ja) 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
US11958190B2 (en) Information processing method and information processing apparatus
JP6857145B2 (ja) 軌道計画装置、軌道計画方法、及び生産システム
US11135720B2 (en) Method and system for programming a cobot for a plurality of industrial cells
JP7145057B2 (ja) デジタルコンピュータを用いたハイブリッド製造のためのプロセスプランを構築するためのシステムおよび方法
JP3143278B2 (ja) 組立図作成方法及び装置
CN105291107A (zh) 机器人模拟器及机器人模拟器的文件生成方法
EP3673334B1 (en) Method for engineering autonomous system with reusable skills
US20200246975A1 (en) Method and system for teaching a robot in reaching a given target in robot manufacturing
JPWO2020066949A1 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
US7567850B2 (en) Method and system for creating a product parts catalog
JPWO2019064919A1 (ja) ロボット教示装置
JP6900533B2 (ja) 情報処理方法、情報処理装置、ロボット装置、情報処理プログラム、およびコンピュータ読み取り可能な記録媒体
CN103823922A (zh) 设计对象的圆形交错图案
JP7322099B2 (ja) 情報処理方法、情報処理装置、ロボット装置、プログラム、およびコンピュータ読み取り可能な記録媒体
WO2023162300A1 (ja) 軌道計画装置及び軌道計画方法
TWI819989B (zh) 三維物件的建模裝置及建模方法
JP7099470B2 (ja) ロボット教示装置
JP2023084182A (ja) 情報処理装置、システム、情報処理方法、物品の製造方法、プログラム、及び記録媒体
WO2023031649A1 (en) A method and a system for enabling a user to review simulation data of an industrial environment
JPH0399371A (ja) 回路図入力編集方式および信号波形入出力編集方式
JP2022019615A (ja) 3dシーンにおいて3次元メッシュを設計するための方法
WO2019064915A1 (ja) ロボット教示装置
JPWO2019064914A1 (ja) ロボット教示装置
JPH05314222A (ja) 3次元cadシステム