(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】工作機械システム
(51)【国際特許分類】
G05B 19/414 20060101AFI20221129BHJP
B25J 9/22 20060101ALI20221129BHJP
G05B 19/42 20060101ALI20221129BHJP
【FI】
G05B19/414 R
B25J9/22 A
G05B19/42 D
(21)【出願番号】P 2018203203
(22)【出願日】2018-10-29
【審査請求日】2021-06-08
(73)【特許権者】
【識別番号】000149066
【氏名又は名称】オークマ株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】鈴木 健司
【審査官】山本 忠博
(56)【参考文献】
【文献】特開2001-154717(JP,A)
【文献】特開2017-027501(JP,A)
【文献】特開平06-028019(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416,19/42-19/46;
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
工作機械を制御する工作機械コントローラと、
前記工作機械コントローラとデータ送受信可能に接続されるロボットプリプロセッサと、
を備え、
前記工作機械コントローラは、
ロボットの動作パラメータを設定するとともに、ロボットの手動操作が可能な操作パネルと、
設定された前記動作パラメータ及び前記手動操作を用いてロボットプリプログラムを作成するロボットプリプログラム作成手段と、
工作機械プログラムを実行して工作機械を制御するとともに、前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する制御手段と、
ロボットに手動操作情報を通知する通知手段と、
を備え、
前記ロボットプリプロセッサは、
前記工作機械コントローラから送信された前記ロボットプリプログラムを受信し、前記ロボットプリプログラムに従ってロボットを制御するロボットコントローラに制御指令を出力するロボットプリプログラム実行手段と、
前記手動操作情報に基づきロボット制御指令を出力する制御指令出力手段と、
を備え
、
前記工作機械コントローラは、
前記工作機械及び前記ロボットの3Dモデルに基づいて前記工作機械と前記ロボットの干渉の有無を確認する干渉確認手段
を備え、
前記ロボットプリプロセッサは、
前記ロボットの関節角度を前記工作機械コントローラに送信する通信手段
を備え、
前記干渉確認手段は、前記ロボットの関節角度を用いて前記工作機械と前記ロボットの干渉の有無を確認する工作機械システム。
【請求項2】
工作機械を制御する工作機械コントローラと、
前記工作機械コントローラとデータ送受信可能に接続されるロボットプリプロセッサと、
を備え、
前記工作機械コントローラは、
ロボットの動作パラメータを設定するとともに、ロボットの手動操作が可能な操作パネルと、
設定された前記動作パラメータ及び前記手動操作を用いてロボットプリプログラムを作成するロボットプリプログラム作成手段と、
工作機械プログラムを実行して工作機械を制御するとともに、前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する制御手段と、
ロボットに手動操作情報を通知する通知手段と、
を備え、
前記ロボットプリプロセッサは、
前記工作機械コントローラから送信された前記ロボットプリプログラムを受信し、前記ロボットプリプログラムに従ってロボットを制御するロボットコントローラに制御指令を出力するロボットプリプログラム実行手段と、
前記手動操作情報に基づきロボット制御指令を出力する制御指令出力手段と、
を備え、
前記工作機械コントローラは、
前記工作機械及び前記ロボットの3Dモデルに基づいて前記工作機械と前記ロボットの干渉の有無を確認する干渉確認手段
を備え、
前記工作機械コントローラは、
前記工作機械の前記3Dモデルを前記ロボットプリプロセッサに送信する通信手段
を備え、
前記ロボットプリプログラム実行手段は、前記3Dモデルに基づいて前記工作機械との干渉を回避する前記ロボットの経路を生成して前記制御指令を出力する工作機械システム。
【請求項3】
前記工作機械コントローラの前記制御手段は、工作機械プログラムを実行し、前記工作機械プログラムにおいて記述された前記ロボットプリプログラム名に基づいて前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する
請求項
1、2のいずれかに記載の工作機械システム。
【請求項4】
前記工作機械コントローラの前記ロボットプリプログラム作成手段は、前記ロボットの定型化された動作毎にテンプレート画面を作成して前記操作パネルの表示部に表示し、前記テンプレート画面で前記動作パラメータを設定する
請求項1~
3のいずれかに記載の工作機械システム。
【請求項5】
前記工作機械コントローラの前記ロボットプリプログラム作成手段は、設定された前記動作パラメータを用いて前記ロボットを割り出し、割り出された前記ロボットの位置が前記手動操作により微調整された場合に、微調整後の位置を前記動作パラメータに反映させて前記ロボットプリプログラムを作成する
請求項
4に記載の工作機械システム。
【請求項6】
前記工作機械コントローラは、
前記ロボットプリプログラム及び前記3Dモデルを記憶する第1記憶手段
を備え、
前記ロボットプリプロセッサは、
前記工作機械コントローラから送信された前記ロボットプリプログラム及び前記3Dモデルを記憶する第2記憶手段
を備える請求項1~
5のいずれかに記載の工作機械システム。
【請求項7】
前記ロボットプリプログラム及び前記3Dモデルは、前記工作機械プログラムの実行中に前記ロボットプリプログラムの実行要求がある毎に、前記工作機械コントローラの前記第1記憶手段から読み出されて前記ロボットプリプロセッサに送信され、前記第2記憶手段に格納される
請求項
6に記載の工作機械システム。
【請求項8】
前記ロボットプリプロセッサは、前記工作機械コントローラに搭載される
請求項1~
7のいずれかに記載の工作機械システム。
【請求項9】
前記ロボットプリプロセッサは、前記ロボットコントローラに搭載される
請求項1~
7のいずれかに記載の工作機械システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は工作機械システムに関し、特にロボット教示機能を備える工作機械システムに関する。
【背景技術】
【0002】
近年では、人手不足を背景として、製造業、特に中小企業や町工場などの小規模工場において産業用ロボットを導入して自動化・省人化を進めることが必須課題となっている。
【0003】
産業用ロボットを動作させる為には、各移動点を教示して移動経路をプログラミングする必要があるが、ロボットを使用したことが無い工作機械ユーザにとっては、新たにロボットの操作方法とプログラミングを覚える必要があり、ロボット導入の障壁となっている。
【0004】
特許文献1には、ロボット搭載の機械のロボットの操作を機械制御部で可能とする技術が記載されている。ロボットを搭載する射出成形機の制御部とロボット制御部を通信回線で接続し、射出成形機の制御部及び表示装置、入力手段、操作盤には、ロボットの動作プログラムを作成する手段、ロボットと射出成形機の座標系を関係付けるキャリブレーション手段等を備える。射出成形機の制御部で作成されたロボット動作プログラムは通信回線を介してロボット制御部に送られ、ロボットは当該プログラムに基づいて動作する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、ロボットを使用したことが無い工作機械ユーザが、ロボットを導入し、加工セルを運用していく際には下記が問題となる。すなわち、
(1)ロボットの操作方法・教示方法・プログラミングを一から学ぶ必要があり、それに加えて工作機械と操作系が異なるため、習熟までに時間を要する。
(2)工作機械とロボットは、それぞれの制御装置で動作が実行され、各制御装置には制御対象を動作させる場合の干渉確認を行う機能を備えることが一般的になっている。しかし、工作機械とロボットが相互に動作する場合、干渉確認するための環境が常に変化することになり干渉確認ができなくなる。処理能力に優れるPC(パーソナルコンピュータ)でのオフライン作業において、工作機械やロボットを含めた加工セルのシミュレーションを実施してプログラムを生成可能な機能も実現されているが、そのシミュレーションは決まったシーケンスでの動作確認であるため、突発的な状態の変化には対応できない。
(3)工作機械とロボットのプログラムは各制御装置で管理する必要があり煩雑になる。ロボットプログラムを実行するためにはロボットコントローラの記憶領域にプログラムを予め読み込ませておき、どの記憶領域のプログラムを実行するかを指令する手法が一般的である。ライン生産方式では段取り替えを行う頻度が少ないため問題となりにくいが、多品種少量生産が必要となる工作機械ユーザでは必然的にプログラム数が増加し、記憶領域に読み込ませる際のヒューマンエラーが発生しやすくなる。この点、FMS(フレキシブル生産システム)やFMC(フレキシブル生産セル)等の上位装置を設けることで自動選択は実現可能であるものの、ロボット導入コストを上げる要因となるため障壁となる。
【0007】
本発明の目的は、ロボットを使用したことが無い、あるいは必ずしもロボット操作に習熟していない工作機械のユーザでも、ロボットプログラム作成に要する時間を短縮できる技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明は、工作機械を制御する工作機械コントローラと、前記工作機械コントローラとデータ送受信可能に接続されるロボットプリプロセッサとを備え、前記工作機械コントローラは、ロボットの動作パラメータを設定するとともに、ロボットの手動操作が可能な操作パネルと、設定された前記動作パラメータ及び前記手動操作を用いてロボットプリプログラムを作成するロボットプリプログラム作成手段と、工作機械プログラムを実行して工作機械を制御するとともに、前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する制御手段と、ロボットに手動操作情報を通知する通知手段とを備え、前記ロボットプリプロセッサは、前記工作機械コントローラから送信された前記ロボットプリプログラムを受信し、前記ロボットプリプログラムに従ってロボットを制御するロボットコントローラに制御指令を出力するロボットプリプログラム実行手段と、前記手動操作情報に基づきロボット制御指令を出力する制御指令出力手段とを備え、前記工作機械コントローラは、前記工作機械及び前記ロボットの3Dモデルに基づいて前記工作機械と前記ロボットの干渉の有無を確認する干渉確認手段を備え、前記ロボットプリプロセッサは、前記ロボットの関節角度を前記工作機械コントローラに送信する通信手段を備え、前記干渉確認手段は、前記ロボットの関節角度を用いて前記工作機械と前記ロボットの干渉の有無を確認する工作機械システムである。
【0009】
また、本発明は、工作機械を制御する工作機械コントローラと、前記工作機械コントローラとデータ送受信可能に接続されるロボットプリプロセッサと、を備え、前記工作機械コントローラは、ロボットの動作パラメータを設定するとともに、ロボットの手動操作が可能な操作パネルと、設定された前記動作パラメータ及び前記手動操作を用いてロボットプリプログラムを作成するロボットプリプログラム作成手段と、工作機械プログラムを実行して工作機械を制御するとともに、前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する制御手段と、ロボットに手動操作情報を通知する通知手段と、を備え、前記ロボットプリプロセッサは、前記工作機械コントローラから送信された前記ロボットプリプログラムを受信し、前記ロボットプリプログラムに従ってロボットを制御するロボットコントローラに制御指令を出力するロボットプリプログラム実行手段と、前記手動操作情報に基づきロボット制御指令を出力する制御指令出力手段と、を備え、前記工作機械コントローラは、前記工作機械及び前記ロボットの3Dモデルに基づいて前記工作機械と前記ロボットの干渉の有無を確認する干渉確認手段を備え、前記工作機械コントローラは、前記工作機械の前記3Dモデルを前記ロボットプリプロセッサに送信する通信手段を備え、
前記ロボットプリプログラム実行手段は、前記3Dモデルに基づいて前記工作機械との干渉を回避する前記ロボットの経路を生成して前記制御指令を出力する工作機械システムである。
【0012】
本発明の実施形態では、前記工作機械コントローラの前記制御手段は、工作機械プログラムを実行し、前記工作機械プログラムにおいて記述された前記ロボットプリプログラム名に基づいて前記ロボットプリプログラムを前記ロボットプリプロセッサに送信する。
【0013】
本発明のさらに他の実施形態では、前記工作機械コントローラの前記ロボットプリプログラム作成手段は、前記ロボットの定型化された動作毎にテンプレート画面を作成して前記操作パネルの表示部に表示し、前記テンプレート画面で前記動作パラメータを設定する。
【0014】
本発明のさらに他の実施形態では、前記工作機械コントローラの前記ロボットプリプログラム作成手段は、設定された前記動作パラメータを用いて前記ロボットを割り出し、割り出された前記ロボットの位置が前記手動操作により微調整された場合に、微調整後の位置を前記動作パラメータに反映させて前記ロボットプリプログラムを作成する。
【0015】
本発明のさらに他の実施形態では、前記工作機械コントローラは、前記ロボットプリプログラム及び前記3Dモデルを記憶する第1記憶手段を備え、前記ロボットプリプロセッサは、前記工作機械コントローラから送信された前記ロボットプリプログラム及び前記3Dモデルを記憶する第2記憶手段を備える。
【0016】
本発明のさらに他の実施形態では、前記ロボットプリプログラム及び前記3Dモデルは、前記工作機械プログラムの実行中に前記ロボットプリプログラムの実行要求がある毎に、前記工作機械コントローラの前記第1記憶手段から読み出されて前記ロボットプリプロセッサに送信され、前記第2記憶手段に格納される。
【0017】
本発明の工作機械コントローラとロボットプリプロセッサは、別個に形成される他に、ロボットプリプロセッサが工作機械コントローラに搭載されていてもよく、あるいはロボットプリプロセッサがロボットコントローラに搭載されていてもよい。
【発明の効果】
【0018】
本発明によれば、工作機械のユーザは、工作機械コントローラの操作パネルを用いてロボットを手動操作でき、この操作パネルを用いてロボットの動作パラメータを設定することでロボットプリプログラムを作成することができる。また、ロボットの動作パラメータを用い、干渉を回避してロボットを教示点に割り出すことができ、位置の微調整も容易に行うことができる。
【0019】
また、本発明によれば、工作機械プログラム実行時にロボットプリプログラムを工作機械コントローラからロボットプリプロセッサに送信するので、例えば段取り替え時のプログラム選択ミスを防ぐことができる。
【図面の簡単な説明】
【0020】
【
図2】実施形態の処理フローチャート(その1)である。
【
図3】実施形態の処理フローチャート(その2)である。
【
図4】実施形態の処理フローチャート(その3)である。
【
図5】実施形態の処理フローチャート(その4)である。
【
図6】実施形態の対話型プログラム作成説明図である。
【発明を実施するための形態】
【0021】
以下、図面に基づき本発明の実施形態について説明する。
【0022】
図1は、本実施形態のシステム構成図を示す。本システムは、ロボットの操作容易性を追求し、工作機械からロボットに対してタスク実行要求を行うことに特化したシステムである。
【0023】
本システムは、工作機械コントローラ1、ロボットプリプロセッサ20、及びロボットコントローラ30を備える。工作機械コントローラ1とロボットプリプロセッサ20は、通信回線でデータ送受信可能に接続され、ロボットプリプロセッサ20とロボットコントローラ30は、通信回線でデータ送受信可能に接続される。通信回線は、例えばイーサネット(登録商標)であるが、これに限定されない。
【0024】
まず、工作機械コントローラ1について説明する。
【0025】
工作機械コントローラ1は、工作機械の動作を制御するコントローラ(数値制御装置)であり、操作パネル2、ロボット操作指令生成部3、ロボットプリプログラム実行要求部4、工作機械操作指令受付部5、干渉確認部6、工作機械3D(3次元)モデル転送部7、通信部8、対話型プログラム作成部9、ロボット割出支援部10、工作機械制御部11、及び記憶部12を備える。
【0026】
操作パネル2は、表示部と、工作機械操作用UI(ユーザインターフェイス)、及びロボット操作用UIから構成される。工作機械ユーザは、ロボット操作用UIを用いてロボットのJOG(移動動作)やエンドエフェクタを操作する。ロボット操作用UIは、工作機械操作用UIと対話型プログラム作成部9との協働によりロボットプリプログラムを作成する。ロボット操作用UIは、操作情報を工作機械制御部11に出力する。
【0027】
ロボット操作指令生成部3は、工作機械制御部11から出力されたロボット操作用UIの操作情報等を、工作機械コントローラ1とロボットコントローラ30との間に設けられるロボットプリプロセッサ20に対する指令に変換する。ロボット操作指令生成部3は、例えば、工作機械操作用UIのオーバーライド値をロボットプリプロセッサ20に送信することで、オーバイライド操作による動作速度の変更を工作機械とロボットで共有する。また、工作機械操作用UIに備えられるパルスハンドルの入力からロボット動作指令を生成してロボットプリプロセッサ20に送信することで、ロボットを操作できる。これにより、ロボットのティーチングペンダンドが無くとも、工作機械コントローラ1に備えられた操作パネルのみでロボットの手動操作が可能となり、ロボット操作に不慣れな工作機械ユーザでも直感的に操作し得る。また、ロボット操作指令生成部3は、ロボットプリプロセッサ20で使用する工作機械の軸位置をロボットプリプロセッサ20に送信する。
【0028】
ロボットプリプログラム実行要求部4は、工作機械制御部11からの実行指令に応じ、ロボットプリプロセッサ20へ実行要求を送信する。ロボットプリプログラム実行要求部4は、実行要求時、工作機械コントローラ1の記憶部12に格納されている、指定されたロボットプリプログラムをロボットプリプロセッサ20に転送する。ロボットプリプログラムの指定は、工作機械プログラム(加工プログラム)に名称を記述することで行う。これにより、工作機械プログラムでマクロを実行するような操作性のまま、ロボットのタスクを工作機械から実行できる。
【0029】
工作機械操作指令受付部5は、ロボットプリプロセッサ20から送信された工作機械操作指令を受け付ける。工作機械操作指令受付部5は、ロボットプリプロセッサ20から受け付けた指令を工作機械制御部11に転送し、工作機械制御部11は、当該指令を実行する。工作機械操作指令には、ロボットの関節角度情報も含まれる。
【0030】
干渉確認部6は、3Dモデルを利用して工作機械動作時の干渉確認をリアルタイムに行う。3Dモデルは、ワークストッカ等の周辺装置を含む工作機械及びロボットの3Dモデルデータから構成される。工作機械の3Dモデルデータには、ワークの3Dモデルデータも含まれる。干渉確認部6は、工作機械制御部11から出力されたロボット関節角度を考慮することで、工作機械とロボットが相互に動作する状況においても干渉確認を行う。
【0031】
工作機械3Dモデル転送部7は、記憶部12に格納され、工作機械コントローラ1で使用する3Dモデルを記憶部12から読み出してロボットプリプロセッサ20に転送する。この3Dモデルは、工具変更など工作機械コントローラ1のシミュレーション環境が変化した場合に、ロボットプリプロセッサ20のシミュレーション環境を一致させるために使用する。また、工作機械とロボットを同時動作させる際に、ロボットの進入禁止区域を指定する際にも使用する。例えば、工作機械が動作する領域を包含する直方体等の形状をロボットプリプロセッサ20に送信することで、ロボットプリプロセッサ20はロボットの進入禁止領域に干渉しないようロボット経路を生成し得る。また、工作機械3Dモデル転送部7は、3Dモデルに工作機械の軸位置の情報を付加して転送してもよい。
【0032】
通信部8は、工作機械コントローラ1とロボットプリプロセッサ20との間の通信処理を実行する。通信部8の一例は上述したようにイーサネット(登録商標)であるが、通信のリアルタイム性や時間同期等が必要となる場合は、それに応じた通信手段を使用し得る。
【0033】
対話型プログラム作成部9は、工作機械操作用UIとロボット操作用UIとの協働によりロボットプリプログラムを作成する。対話型プログラム作成部9は、ロボットのタスクを予め定型化し、工作機械のユーザが入力したパラメータを含めてロボットプリプログラムを自動生成する。これにより、工作機械のユーザは、パラメータを入力するだけで簡単にロボットプリプログラムを作成してロボットを動作させ得る。また、対話型プログラム作成部9は、ロボット割出支援部10を実行するためのUIを備え、教示点をロボットの現在位置から決定することもできる。対話型プログラム作成部9は、作成したロボットプリプログラムを記憶部12に格納する。
【0034】
ロボット割出支援部10は、指定点へのロボットの割出を支援する。すなわち、対話型プログラム作成部9において位置の微調整が必要となる場合、従来のように工作機械のユーザが教示点までJOG操作をするのでは作業の難易度が上がってしまう。そこで、ロボット割出支援部10は、対話型プログラム作成部9で入力されたパラメータを利用して割出用ロボットプリプログラムを自動生成する。ロボット割出支援部10は、対話型プログラム作成部9に設けられたUIから割出実行操作がされた場合に支援処理を実行して割出用ロボットプリプログラムを自動生成し、割出用ロボットプリプログラムを実行要求する工作機械プログラムを自動生成した後、ユーザが起動ボタンを押すことによって指定点まで自動的にロボットを割り出す。割り出し完了後、操作パネル2の手動操作によってロボット位置を微調整し、対話型プログラム作成部9においてロボットの現在位置から教示点を確定する。ロボット割出支援部10は、自動生成した、割出用ロボットプリプログラム及び割出用ロボットプリプログラムを実行要求する工作機械プログラムを記憶部12に格納する。
【0035】
工作機械制御部11は、工作機械の各部の動作を制御する。本実施形態では、工作機械制御部11は、特に、ロボット操作用UIの操作情報等をロボット操作指令生成部3に出力するとともに、記憶部12に記憶されたロボットプリプログラムを読み出してロボットプリプログラム実行要求部4に出力する。
【0036】
記憶部12は、ロボットプリプログラム、工作機械プログラム、及び3Dモデルを記憶する。ロボットプリプログラムは、ユーザによる操作に応じて対話型プログラム作成部9及びロボット割出支援部10で作成される。3Dモデルは、予め作成されて記憶される。
【0037】
ロボット操作指令生成部3、ロボットプリプログラム実行要求部4、工作機械操作指令受付部5、干渉確認部6、工作機械3Dモデル転送部7、対話型プログラム作成部9、ロボット割出支援部10、及び工作機械制御部11は、1又は複数のCPUで構成され得る。1又は複数のCPUは、ROM等のプログラムメモリに記憶された処理プログラムを読み出して実行することで、これらの機能を実現する。但し、これらの機能の一部は、プログラムの実行によるソフトウェア処理ではなく、ハードウェア処理により実現してもよい。ハードウェア処理は、例えばASICやFPGA(フィールドプログラマブルゲートアレイ)などの回路を用いて行ってもよい。
【0038】
次に、ロボットプリプロセッサ20について説明する。
【0039】
ロボットプリプロセッサ20は、工作機械コントローラ1とロボットコントローラ30との連携を取るためのプロセッサである。ロボットプリプロセッサ20は、単体で存在してもよいし、工作機械コントローラ1に搭載されていてもよく、あるいはロボットコントローラ30に搭載されていてもよい。単体で存在する場合、もしくは工作機械コントローラ1に搭載される場合、ロボットコントローラ30の種類(具体的にはロボットコントローラ30のメーカ)に依存せずにロボットを動作できることが望ましい。加えて、単体で存在する場合もしくはロボットコントローラ30に搭載される場合、工作機械コントローラ1の種類(具体的には工作機械コントローラ1のメーカ)に依存しないことが望ましい。
【0040】
ロボットプリプロセッサ20は、ロボットプリプログラム解釈部21、ロボットコントローラ制御指令生成部22、ロボット操作指令受付部23、ロボットプリプログラム受付部24、工作機械3Dモデル受付部25、工作機械操作指令生成部26、通信部27、28及び記憶部29を備える。
【0041】
ロボットプリプログラム解釈部21は、ロボット操作指令受付部23からの制御指令に従い、ロボットプリプロセッサ20用に用意されたロボットプリプログラムを記憶部29から読み出して解釈し、ロボットコントローラ制御指令生成部22に出力する。また、ロボットプリプログラム解釈部21は、ロボットプリプログラムを解釈した結果、工作機械に対する動作指令を生成する必要がある場合、工作機械操作指令生成部26に出力する。
【0042】
ロボットコントローラ制御指令生成部22は、ロボットプリプログラム解釈部21で解釈されたロボットプリプログラム指令に従い、記憶部29から読み出した3Dモデルを利用して干渉回避したロボット指令値や、ロボットコントローラ30に設けられるI/O接点の制御指令など、ロボットコントローラ30を動作させるための制御指令を生成する。ロボットコントローラ制御指令生成部22は、生成した制御指令を通信部28を介してロボットコントローラ30に送信する。また、ロボットコントローラ制御指令生成部22は、ロボット操作指令受付部23から受け取った指令に対する動作も制御する。例えば、ロボット操作指令受付部23から受け取った工作機械のオーバーライド値をリアルタイムにロボット指令値に反映する。
【0043】
ロボット操作指令受付部23は、工作機械コントローラ1のロボット操作指令生成部3で生成されて通信部8、27を介して転送されたロボット操作指令を受け付ける。ロボット操作指令受付部23は、受け付けたロボット操作指令をロボットプリプログラム解釈部21及びロボットコントローラ制御指令生成部22に出力する。ロボット操作指令受付部23は、工作機械の軸位置通知の受け付けも行い、記憶部29に格納された工作機械3Dモデルに反映する。なお、工作機械3Dモデル転送部7において軸位置を付加した3Dモデルが転送された場合、この処理は不要である。
【0044】
ロボットプリプログラム受付部24は、工作機械コントローラ1のロボットプリプログラム実行要求部4から通信部8,27を介して転送されたロボットプリプログラムを受け付ける。ロボットプリプログラム受付部24は、受け付けたロボットプリプログラムを記憶部29に格納する。記憶部29に格納されたロボットプリプログラムは、上述したようにロボットプリプログラム解釈部21で解釈される。
【0045】
工作機械3Dモデル受付部25は、工作機械コントローラ1の工作機械3Dモデル転送部7から通信部8,27を介して転送された3Dモデルを受け付ける。工作機械3Dモデル受付部25は、受け付けた3Dモデルを記憶部29に格納する。記憶部29に格納された3Dモデルは、上述したようにロボットコントローラ制御指令生成部22で干渉を回避するロボット指令値の生成に用いられる。なお、3Dモデルのフォーマットは特に制限されない。
【0046】
工作機械操作指令生成部26は、工作機械への動作要求を通信部27,8を介して工作機械コントローラ1の工作機械操作指令受付部5に送信する。ロボットプリプログラム解釈部21でロボットプリプログラムを解釈した結果、工作機械に対する動作指令を生成する必要がある場合に送信する。例えば、ロボット動作途中の工作機械安全ドアの開閉動作等である。動作指令には、ロボット関節角度が含まれる。
【0047】
通信部27は、工作機械コントローラ1との通信処理を実行する。通信アルゴリズムを固定することで、工作機械コントローラ1は、固定の通信アルゴリズムで様々なメーカのロボットを動作させ得る。
【0048】
通信部28は、ロボットコントローラ30との通信処理を実行する。ロボットコントローラ30の種類に依存しないロボットプリプロセッサ20とする場合、この通信部28において通信アルゴリズムの違いを吸収し得る。
【0049】
記憶部29は、工作機械コントローラ1から転送された工作機械3Dモデル及びロボットプリプログラムを記憶する。
【0050】
ロボットプリプログラム解釈部21、ロボットコントローラ制御指令生成部22、ロボット操作指令受付部23、ロボットプリプログラム受付部24、工作機械3Dモデル受付部25、工作機械操作指令生成部26は、1又は複数のCPUで構成され得る。1又は複数のCPUは、ROM等のプログラムメモリに記憶された処理プログラムを読み出して実行することで、これらの機能を実現する。但し、これらの機能の一部は、プログラムの実行によるソフトウェア処理ではなく、ハードウェア処理により実現してもよい。ハードウェア処理は、例えばASICやFPGA(フィールドプログラマブルゲートアレイ)などの回路を用いて行ってもよい。
【0051】
なお、ロボットコントローラ30は、ロボットプリプロセッサ20から送信された制御指令に従ってロボットを制御する。ロボットの形態は任意であるが、例えば工作機械内に設置され、ワークの着脱(ワークローディング/ワークアンローディング)等を行う機内ロボットとしてもよい。
【0052】
図2は、本実施形態の全体処理フローチャートを示す。
【0053】
工作機械のユーザは、工作機械コントローラ1の操作パネル2を操作し、対話型プログラム作成部9でロボットプリプログラムを作成する(S101)。対話型プログラム作成部9は、工作機械のユーザが工作機械操作用UIとロボット操作用UIを使用してガイダンスに従い入力したパラメータを含めてロボットプリプログラムを自動生成する。工作機械のユーザは、パラメータを入力するだけで簡単にロボットプリプログラムを作成し得る。対話型プログラム作成部9は、ロボット割出支援部10を実行するためのUIを備え、教示点をロボットの現在位置から決定する。対話型プログラム作成部9は、作成したロボットプリプログラムを記憶部12に格納する。
【0054】
ロボット割出支援部10は、工作機械のユーザが位置の微調整が必要であると判断して対話型プログラム作成部9に設けられたUIから割出実行操作を行った場合に処理される。ロボット割出支援部10は、対話型プログラム作成部9で入力されたパラメータを利用して割出用ロボットプリプログラムを自動生成し、加えて、割出用ロボットプリプログラムを実行要求する工作機械プログラムも自動生成する。工作機械のユーザが起動ボタンを押すことによって、ロボットの割り出しが自動的に行われる。割り出し完了後、操作パネル2の手動操作によってロボット位置を微調整し、対話型プログラム作成部9においてロボットの現在位置から教示点を確定する。ロボット割出支援部10は、自動生成した、割出用ロボットプリプログラムと、割出用ロボットプリプログラムを実行要求する工作機械プログラムを記憶部12に格納する。
【0055】
次に、工作機械のユーザは、工作機械プログラムにロボットプリプログラム実行要求指令を記述して実行する。工作機械コントローラ1の工作機械制御部11は、ロボットプリプログラムを記憶部12から読み出してロボットプリプログラム実行要求部4に出力し、ロボットプリプログラム実行要求部4は、ロボットプリプログラムをロボットプリプロセッサ20に転送して実行要求を出力する(S102)。
【0056】
ロボットプリプロセッサ20は、転送されたロボットプリプログラムをロボットプリプログラム解釈部21で解釈する。解釈されたロボットプリプログラムは、ロボットコントローラ制御指令生成部22に出力され、ロボットコントローラ制御指令生成部22はロボットプリプログラムに従ってロボット指令値を生成し、ロボットコントローラ30に出力してロボットを駆動する。工作機械のユーザは動作を確認し、ロボットプリプログラムを修正する必要があるか否かを判定する(S103)。例えば、操作パネル2で工作機械をシミュレーションモードに設定し、ロボット操作指令生成部3でロボットプリプロセッサ20にもシミュレーションモード要求を通知して共有し、実際に工作機械とロボットを動作させずにシミュレーション上で工作機械とロボットの連動動作を確認する。確認の結果、ロボットプリプログラムを修正する必要がある場合(S103でYES)、工作機械のユーザは対話型プログラム作成部9で作成した動作を編集する。ロボットプリプログラムを修正する必要がない場合(S103でNO)、教示作業を終了する。
【0057】
図3は、
図2のS101の処理、すなわち対話型プログラム作成部9でのロボットプリプログラム作成処理の詳細フローチャートを示す。
【0058】
まず、工作機械のユーザは、操作パネル2を操作してロボットの動作に必要な動作パラメータを設定する(S201)。動作パラメータはロボットの動作に応じて決定される。例えば、ロボットの動作がワークアンローディングの場合、
・把持時のエアー吐出(するか否か)
・プッシャー(使用するか否か)
・ワーク引き抜き量
・把持アプローチ量
・把持オフセット
等である。これらの動作パラメータは、工作機械のユーザが対話型プログラム作成部9により作成され操作パネル2に表示される雛形(テンプレート)画面を操作しながら設定する。テンプレート画面の具体例については、さらに後述する。
【0059】
次に、工作機械のユーザは、位置の微調整をするか否かを判定する(S202)。この判定は、設定すべき動作パラメータに応じて決定される。例えば、把持時のエアー吐出やワーク引き抜き量等のパラメータは位置の微調整は不要であるが、把持オフセットについては位置の微調整が必要となり得る。
【0060】
位置を微調整する場合(S202でYES)、工作機械のユーザは、操作パネル2の「仮位置割出」ボタンを押下し、ロボット割出支援部10を実行させる。ロボット割出支援部10は、S201で設定された動作パラメータを用いて割出用ロボットプリプログラムを自動生成する(S203)。そして、当該割出用ロボットプリプログラムを実行要求する工作機械プログラムも併せて自動生成する。工作機械のユーザが、操作パネル2から起動ボタンを押下すると、これに応じて割出用ロボットプリプログラムを実行し(S204)、指定点まで自動的に干渉を回避した経路でロボットを割り出す。
【0061】
指定点までロボットを割り出した後、操作パネルの手動操作によってロボット位置を微調整する(S205)。微調整した後、工作機械のユーザは、操作パネル2の「現在位置読込」ボタンを押下すると、対話型プログラム作成部9は、これに応じてロボットの現在位置をパラメータに反映させる(S206)。
【0062】
以上のようにして位置の微調整が実行され、最終的にロボットプリプログラムが作成されて記憶部12に格納される(S207)。
【0063】
なお、位置を微調整しない場合(S202でNO)、S203~S207の処理を実行する必要はない。
【0064】
図4及び
図5は、
図2のS102の処理、すなわちロボットプリプログラムの実行処理の詳細フローチャートを示す。
【0065】
まず、
図4において、工作機械のユーザは、工作機械プログラムに、
図3に示す処理で作成され記憶部12に記憶されているロボットプリプログラムの実行要求を記述し、工作機械プログラムを起動ボタン操作で実行する(S301)。
【0066】
工作機械制御部11は、工作機械プログラムを解釈し(S302)、ロボットプリプログラムの実行要求か否かを判定する(S303)。ロボットプリプログラムの実行要求でない場合(S303でNO)、干渉確認部6は、工作機械の動作干渉確認を実行する(S304)。干渉確認部6は、記憶部12に記憶されている3Dモデルを用いて工作機械動作時の工作機械とロボットの干渉有無を確認する。このとき、ロボットプリプロセッサ20の工作機械操作指令生成部26から送信されるロボットの関節角度の情報を用いて干渉確認を実行する。そして、工作機械プログラムに従って工作機械を動作させる(S305)。以上の処理を工作機械プログラムのエンドまで繰り返し実行する(S306)。
【0067】
他方、ロボットプリプログラムの実行要求である場合(S303でYES)、工作機械3Dモデル転送部7からロボットプリプロセッサ20に工作機械の3Dモデルを転送する(S307)。
【0068】
ロボットプリプロセッサ20の工作機械3Dモデル受付部25は、工作機械コントローラ1から転送された3Dモデルを受け付け、記憶部29に格納する(S308)。
【0069】
また、工作機械制御部11及びロボットプリプログラム実行要求部4は、工作機械プログラムに記述されることで指定されたロボットプリプログラムをロボットプリプロセッサ20に転送して実行要求を出力する(S309)。
【0070】
ロボットプリプロセッサ20のロボットプリプログラム受付部24は、工作機械コントローラ1から転送されたロボットプリプログラムを受け付け、記憶部29に格納する(S310)。また、ロボット操作指令受付部23は、工作機械コントローラ1から転送された実行要求を受け付ける(S311)。この後、
図5の処理に移行する。
【0071】
図5において、ロボットプリプログラム解釈部21は、ロボット操作指令受付部23で実行要求を受け付けると、これに応答して記憶部29からロボットプリプログラムを読み出して解釈する(S312)。ロボットプリプログラム解釈部21は、解釈結果をロボットコントローラ制御指令生成部22に出力する。
【0072】
また、ロボットプリプログラム解釈部21は、ロボットプリプログラムを解釈した結果、工作機械に対する動作要求があるか否かを判定する(S313)。例えば、ロボットプリプログラムを解釈した結果、ロボット動作途中に工作機械安全ドアの開閉動作が存在する場合には工作機械に対する動作要求がありと判定する。
【0073】
工作機械に対する動作要求がない場合(S313でNO)、ロボットコントローラ制御指令生成部22は、ロボットプリプログラム解釈部21で解釈されたロボットプリプログラムに従い、3Dモデルを用いて干渉回避したロボットの軌道を生成して(S314)、ロボットコントローラ30に出力し、ロボットを動作させる(S315)。干渉を回避する軌道の生成は、例えばRRT(Rapidly-exploring Random Trees)法を用い得る。これは、コンフィギュレーション空間(C-space)上の点をランダムに調査して探索木状に自由空間を構築し、空間内の初期コンフィギュレーション点と目標コンフィギュレーション点を探索木にて接続することで経路を得る手法である。但し、回避軌道の生成は、これに限定されるものではなく、任意のアルゴリズムを用い得る。
【0074】
他方、工作機械に対する動作要求がある場合(S313でYES)、工作機械操作指令生成部26は当該動作要求を工作機械コントローラ1に送信する(S316)。工作機械コントローラ1の工作機械操作指令受付部5は、ロボットプリプロセッサ20から転送された動作要求を受け付けて工作機械制御部11に出力する。工作機械制御部11は、受け付けた動作要求に従い、
図4のS304と同様に工作機械の動作干渉確認を実行し(S317)、工作機械を連動して動作させる(S318)。
【0075】
S312~S318の処理は、ロボットプリプログラムが終了するまで繰り返し実行される(S319でNO)。
【0076】
ロボットプリプログラムが終了すると(S319でYES)、ロボットプリプログラム解釈部21は、ロボットプリプログラムの実行完了通知を工作機械操作指令生成部26に出力し(S320)、
図4のS306以降の処理を実行する。
【0077】
すなわち、工作機械プログラムのエンドか否かを判定し(S306)、エンドであれば処理を終了する。エンドでなければ、S302以降の処理を繰り返す。
【0078】
このように、本実施形態では、工作機械プログラムにロボットプリプログラムの実行要求及びロボットプリプログラム名を記述し、工作機械プログラムを実行することで、工作機械制御部11は、工作機械コントローラ1の記憶部12に記憶されたロボットプリプログラムをロボットプリプロセッサ20へ転送する。ロボットプリプログラムのロボットプリプロセッサ20への転送は、ロボットプリプログラム実行要求毎に行われる。なお、工作機械コントローラ1の記憶部12に記憶されたロボットプリプログラムはマスタデータとし、ロボットプリプロセッサ20の記憶部29に記憶されたロボットプリプログラムはテンポラリとして扱う。ロボットプリプロセッサ20の記憶部29に記憶されたテンポラリとしてのロボットプリプログラムは実行後も削除せず、都度、工作機械コントローラ1の記憶部12に記憶されたロボットプリプログラムのマスタデータと照合してもよい。
【0079】
また、本実施形態では、工作機械プログラムを実行することで、工作機械制御部11は、工作機械コントローラ1の記憶部12に記憶された3Dモデルをロボットプリプロセッサ20へ転送する。3Dモデルのロボットプリプロセッサ20への転送は、ロボットプリプログラムと同様にロボットプリプログラム実行要求毎に行われる。工作機械コントローラ1の記憶部12に記憶された3Dモデルはマスタデータとし、ロボットプリプロセッサ20の記憶部29に記憶された3Dモデルはテンポラリとして扱う。これにより、工具変更等、工作機械コントローラ1のシミュレーション環境が変化した場合でも、ロボットプリプロセッサ20のシミュレーション環境を工作機械コントローラ1の変化後の環境と一致させることができる。
【0080】
図6は、工作機械の操作パネルに表示されるパラメータ設定画面の一例を示す。対話型プログラム作成部9で作成される画面であり、ロボットのタスクを予め定型化し、動作毎のテンプレートとして作成される画面である。
【0081】
この場合、ロボットの動作は「ワークアンローディング」であり、設定すべきパラメータが[動作パラメータ]100として示される。ここでは、
1.把持時のエアー吐出(するか否か)
2.プッシャー(使用するか否か)
3.ワーク引き抜き量
4.把持アプローチ量
5.把持オフセット
が表示される。
【0082】
また、[動作パラメータ]100の右側には、作成する動作に係るチャック、ワーク、ロボット等を模式的に示した案内
図200が表示され、この図中に[動作パラメータ]100の項目が例えば番号で示される。工作機械のユーザは、この案内
図200を参照することで、[動作パラメータ]100の各項目が、作成する動作のどの部分に対応するかを容易に把握し得る。工作機械のユーザは、これらの項目をメニューから選択し、あるいは数値を入力することで設定する。
【0083】
位置の微調整が必要な場合、例えば把持オフセットを微調整する場合、工作機械のユーザは、動作パラメータを設定した後に、「仮位置割出」ボタン300を押下する。すると、
図3のS203~S207に示された処理が実行される。すなわち、ロボット割出支援部10は、設定された動作パラメータを用いて割出用ロボットプリプログラムを自動生成し(S203)、当該割出用ロボットプリプログラムを実行要求する工作機械プログラムも併せて自動生成する。そして、割出用ロボットプリプログラムを実行し(S204)、指定点まで自動的にロボットを割り出す。
【0084】
指定点までロボットを割り出した後、工作機械のユーザは、操作パネル2の手動操作(主にJOGスイッチとパルスハンドル)によってロボット位置を微調整する。微調整した後、工作機械のユーザは、操作パネル2の「現在位置読込」ボタン400を押下すると、これに応じてロボットの現在位置が動作パラメータに反映される(S206)。
【0085】
本実施形態における「ロボットプリプログラム」は、ロボットプリプロセッサ20で解釈され、これに基づいてロボットの制御指令が生成されてロボットコントローラ30に出力されることに鑑みたものであり、ロボットプリプロセッサ20がロボットコントローラ30に搭載される場合には、「ロボットプリプログラム」は、「ロボットプログラム」そのものといえる。
【符号の説明】
【0086】
1 工作機械コントローラ、2 操作パネル、3 ロボット操作指令生成部、4 ロボットプリプログラム実行要求部、5 工作機械操作指令受付部、6 干渉確認部、7 工作機械3Dモデル転送部、8 通信部、9 対話型プログラム作成部、10 ロボット割出支援部、11 工作機械制御部、12 記憶部、20 ロボットプリプロセッサ、21 ロボットプリプログラム解釈部、22 ロボットコントローラ制御指令生成部、23 ロボット操作指令受付部、24 ロボットプリプログラム受付部、25 工作機械3Dモデル受付部、26 工作機械操作指令生成部、27,28 通信部、29 記憶部、30 ロボットコントローラ。