(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】制御装置、干渉チェック装置、及び制御システム
(51)【国際特許分類】
G05B 19/4061 20060101AFI20241008BHJP
G05B 19/4155 20060101ALI20241008BHJP
【FI】
G05B19/4061 Z
G05B19/4155 T
(21)【出願番号】P 2023528863
(86)(22)【出願日】2021-06-16
(86)【国際出願番号】 JP2021022930
(87)【国際公開番号】W WO2022264338
(87)【国際公開日】2022-12-22
【審査請求日】2024-01-12
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】大西 庸士
【審査官】牧 初
(56)【参考文献】
【文献】国際公開第2010/004960(WO,A1)
【文献】特開2009-75799(JP,A)
【文献】特開平9-27046(JP,A)
【文献】特開2007-172068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
加工プログラムに基づいて産業用機械の移動部を軸に沿って移動制御する制御装置であって、前記移動部と干渉物との間の干渉チェックをする干渉チェック装置と連携して干渉チェックを行う制御装置において、
前記加工プログラムのブロックを解析する指令解析部と、
前記指令解析部の解析結果に基づいて分配周期毎の分配移動量を作成すると共に、該分配移動量により更新した前記移動部の位置を算出して前記干渉チェック装置に通知する分配処理部と、
通知した前記位置に基づいて前記干渉チェック装置により計算され、前記移動部の位置から移動することで干渉が発生する可能性がある距離である禁止移動量に基づいて、前記移動部と前記干渉物との干渉の有無を判定する干渉判定部と、
を備え、
前記移動部と前記干渉物との干渉が発生すると前記干渉判定部が判定した場合、前記移動部の移動を停止する、
制御装置。
【請求項2】
前記分配処理部が作成した分配周期毎の分配移動量に対して所定の加減速処理を行う加減速処理部をさらに備え、
前記干渉判定部は、前記加減速処理部により所定の加減速処理が行われた分配移動量に基づいて算出された、前記位置から先の移動量と、前記禁止移動量とを比較することで、前記移動部と前記干渉物との干渉の有無を判定する、
請求項1に記載の制御装置。
【請求項3】
前記分配処理部は、前記干渉チェック装置に対して、前記移動部の位置に加えて、更に前記移動部が移動し得る範囲を特定するために有用な情報を通知する、
請求項1に記載の制御装置。
【請求項4】
産業用機械の軸に沿って移動する移動部と、干渉物との間の干渉チェックをする干渉チェック装置において、
前記移動部及び前記干渉物のモデルを記憶するモデルデータ記憶部と、
前記産業用機械を制御する制御装置から通知された前記移動部の位置と、前記モデルデータ記憶部に記憶される前記移動部及び前記干渉物のモデルとに基づいて、前記移動部の位置から移動することで干渉が発生する可能性がある禁止移動量を計算する禁止移動量計算部を備え、
計算した禁止移動量を前記制御装置へと送信する、
干渉チェック装置。
【請求項5】
前記干渉チェックにおける前記移動部の移動範囲は、次の周期における干渉チェックにおける前記移動部の移動範囲と一部が重なるように設定される、
請求項4に記載の干渉チェック装置。
【請求項6】
加工プログラムに基づいて産業用機械の移動部を軸に沿って移動制御する制御装置と、前記移動部と干渉物との間の干渉チェックをする干渉チェック装置とが連携して干渉チェックを行う制御システムにおいて、
前記干渉チェック装置は、
前記移動部及び前記干渉物のモデルを記憶するモデルデータ記憶部と、
前記制御装置から通知された前記移動部の位置と、前記モデルデータ記憶部に記憶される前記移動部及び前記干渉物のモデルとに基づいて、前記移動部の位置から移動することで干渉が発生する可能性がある禁止移動量を計算する禁止移動量計算部と、
を備え、
前記制御装置は、
前記加工プログラムのブロックを解析する指令解析部と、
前記指令解析部の解析結果に基づいて分配周期毎の分配移動量を作成する共に、該分配移動量により更新した前記移動部の位置を算出して前記干渉チェック装置に通知する分配処理部と、
前記禁止移動量計算部により計算された禁止移動量に基づいて、前記移動部と前記干渉物との干渉の有無を判定する干渉判定部を備え、
前記移動部と前記干渉物との干渉が発生すると前記干渉判定部が判定した場合、前記移動部の移動を停止する、
制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、干渉チェック装置、及び制御システムに関する。
【背景技術】
【0002】
制御装置で制御される工作機械等の産業用機械は、移動部が所定の移動軸に沿って移動すると、その移動範囲にある干渉物と干渉を起こす場合がある。
図10は、移動部としての工具303が取り付けられた主軸301と、干渉物としてのテーブル305やワーク309、ワーク309を固定する治具307を示した図である。主軸301及び工具303が、図中の矢印方向に移動し続けると、いずれは主軸301が治具307に干渉する。干渉が発生すると移動部や干渉物が破損したり、機械の軸やモータが故障したりする。そのため、制御装置には移動部と干渉物との間で干渉が発生する可能性を事前にチェックし、干渉が発生する場合に移動部の移動を停止する干渉チェック機能を備えるものがある。
【0003】
干渉チェック機能には、制御装置側で干渉チェックする技術と、制御装置と接続されたPC側で干渉チェックする技術とがある。制御装置は、産業用機械の制御に計算リソースの多くを割いている。制御装置側で干渉チェックを行う場合、簡易な処理しか行えない場合が多い。そのため、干渉物の形状定義が複雑な場合など、制御装置側の計算リソースでは干渉チェックができない場合に、制御装置と接続したPC側で干渉チェックをする機能が使用される(例えば、特許文献1など)。
【0004】
図11は、制御装置とPCとで連携して干渉チェックする際の処理の流れを示すシーケンスチャートである。制御装置とPCとで連携して干渉チェックする場合、制御装置は干渉チェックを行う位置の座標値を算出し、算出した座標値を時刻t
AにおいてPCへと送信する。時刻t
Bにおいて座標値を受信したPCは、予め記憶している移動部と干渉物のモデル(例えば、3次元モデル)を用いて、送られた座標値の位置に移動部を移動させたときに干渉が発生するか否かをチェックする。そして、干渉チェックの結果を時刻t
Cにおいて制御装置へと送信する。時刻t
Dにおいて干渉チェックの結果を受信した制御装置は、干渉チェックの結果に基づいて移動部の移動を停止するか否かを判定する。移動部を停止する必要がある場合には、時刻t
Eにおいて移動部の停止処理を開始する。そして、時刻t
Fにおいて移動部が停止する。
【0005】
一般に、干渉チェックの結果に基づいて移動部を停止する場合、
図11にも示したように、干渉チェック処理に係る時間(t
C-t
B)、干渉の判定に係る時間(t
E-t
D)及び移動部の停止に係る時間(t
F-t
E)に更に所定のマージンを考慮して、将来移動部が移動する先の座標値について先行して干渉チェックを行う必要がある。これに加えて、制御装置とPCとが連携して干渉チェックする際には、制御装置とPCとの間で発生する通信時間(t
B-t
A)及び(t
E-t
D)を考慮する必要がある。そのため、制御装置側では、これらの時間が過ぎた後の移動部の移動先である先行位置(予測位置)を干渉チェックの対象とする座標値として算出し、この先行位置における干渉チェックをPC側で行う。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、先行位置を使ったPC連携型の干渉チェックの場合、制御装置は現在位置と先行位置の2種類のデータを管理する必要がある。これは、データを管理する処理が煩雑になるという問題がある。また、加工の状況や周辺装置の状況に応じて分岐する加工プログラムでは、状況に応じて先行位置の予測候補が2以上に分かれる場合がある。このような場合、先行位置の予測が外れた場合は、正しく干渉チェックできないという課題がある。更に、手動運転などのように先行位置をあらかじめ予測することができない場合であっても、PC連携型の干渉チェックを行いたい場合もある。
そこで、PC連携型の干渉チェックにおいて、先行位置をPCに送信することなく干渉チェックを行えるようにする技術が望まれている。
【課題を解決するための手段】
【0008】
本開示による制御装置は、新たに禁止移動量という概念を導入し、干渉チェック装置で計算された禁止移動量に基づいて制御装置側で干渉の判定を行うようにすることで、上記課題を解決する。
【0009】
そして、本開示の一態様は、加工プログラムに基づいて産業用機械の移動部を軸に沿って移動制御する制御装置であって、前記移動部と干渉物との間の干渉チェックをする干渉チェック装置と連携して干渉チェックを行う制御装置において、前記加工プログラムのブロックを解析する指令解析部と、前記指令解析部の解析結果に基づいて分配周期毎の分配移動量を作成する共に、該分配移動量により更新した前記移動部の位置を算出して前記干渉チェック装置に通知する分配処理部と、通知した前記位置に基づいて前記干渉チェック装置により計算され、前記移動部の位置から移動することで干渉が発生する可能性がある距離である禁止移動量に基づいて、前記移動部と前記干渉物との干渉の有無を判定する干渉判定部と、を備え、前記移動部と前記干渉物との干渉が発生すると前記干渉判定部が判定した場合、前記移動部の移動を停止する、制御装置である。
【0010】
本開示の他の態様は、産業用機械の軸に沿って移動する移動部と、干渉物との間の干渉チェックをする干渉チェック装置において、前記移動部及び前記干渉物のモデルを記憶するモデルデータ記憶部と、前記産業用機械を制御する制御装置から通知された前記移動部の位置と、前記モデルデータ記憶部に記憶される前記移動部及び前記干渉物のモデルとに基づいて、前記移動部の位置から移動することで干渉が発生する可能性がある禁止移動量を計算する禁止移動量計算部を備え、計算した禁止移動量を前記制御装置へと送信する、
干渉チェック装置である。
【0011】
本開示の他の態様は、加工プログラムに基づいて産業用機械の移動部を軸に沿って移動制御する制御装置と、前記移動部と干渉物との間の干渉チェックをする干渉チェック装置とが連携して干渉チェックを行う制御システムにおいて、前記干渉チェック装置は、前記移動部及び前記干渉物のモデルを記憶するモデルデータ記憶部と、前記制御装置から通知された前記移動部の位置と、前記モデルデータ記憶部に記憶される前記移動部及び前記干渉物のモデルとに基づいて、前記移動部の位置から移動することで干渉が発生する可能性がある禁止移動量を計算する禁止移動量計算部と、を備え、前記制御装置は、前記加工プログラムのブロックを解析する指令解析部と、前記指令解析部の解析結果に基づいて分配周期毎の分配移動量を作成すると共に、該分配移動量により更新した前記移動部の位置を算出して前記干渉チェック装置に通知する分配処理部と、前記禁止移動量計算部により計算された禁止移動量に基づいて、前記移動部と前記干渉物との干渉の有無を判定する干渉判定部を備え、前記移動部と前記干渉物との干渉が発生すると前記干渉判定部が判定した場合、前記移動部の移動を停止する、制御システムである。
【発明の効果】
【0012】
本開示の一態様により、PCに対して先行位置を送信することなく、PCと連携した干渉チェックを行うことが可能となる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態による制御装置及び干渉チェック装置の概略的なハードウェア構成図である。
【
図2】本発明の一実施形態による制御装置及び干渉チェック装置の概略的な機能を示すブロック図である。
【
図4】移動部をY軸方向へ移動させる例を示す図である。
【
図5】移動部をX軸方向へ移動させる例を示す図である。
【
図6】移動部をB軸方向へ移動させる例を示す図である。
【
図7】本発明の一実施形態による干渉チェックの流れを示すシーケンスチャートである。
【
図8A】現在位置計算時の移動部の実位置、現在位置の関係を例示する図である。
【
図8B】禁止移動量計算時の移動部の実位置、現在位置、チェック位置の関係を例示する図である。
【
図8C】干渉判定時の移動部の実位置、現在位置、チェック位置、干渉位置の関係を例示する図である。
【
図8D】移動部停止時の移動部の実位置、現在位置、チェック位置、干渉位置の関係を例示する図である。
【
図9】本発明の一実施形態による制御装置及び干渉チェック装置の変形例を示すブロック図である。
【
図10】移動部と干渉物との干渉について説明する図である。
【
図11】PC連動型の干渉チェックの流れを示すシーケンスチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、併設されたパソコン上に構築される干渉チェック装置2と共に制御システム4を構成する。制御装置1は、例えば工作機械やマシニングセンタなどの産業用機械3を制御する。
【0015】
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0016】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやデータ、インタフェース18を介して入力装置71から入力された制御用プログラムやデータ、ネットワーク5を介してフォグコンピュータ6やクラウドサーバ7等の他の装置から取得された制御用プログラムやデータ等が記憶される。不揮発性メモリ14に記憶されるデータは、例えば産業用機械3の機械構成に係るデータや、ワーク、治具などの干渉物に係るデータ、各軸に沿った移動部の移動に係るデータ、その他の産業用機械3に取り付けられた図示しないセンサで検出された各物理量に係るデータ等が含まれていてよい。不揮発性メモリ14に記憶された制御用プログラムやデータは、実行時/利用時にはRAM13に展開されてもよい。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0017】
インタフェース15は、制御装置1のCPU11と外部記憶媒体等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業用機械3の制御に用いられる制御用プログラムや設定データ等が読み込まれる。また、制御装置1内で編集した制御用プログラムや設定データ等は、外部機器72を介して図示しないCFカードやUSBメモリ等の外部記憶媒体に記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、ラダープログラムを実行して産業用機械3及び該産業用機械3の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、産業用機械3に取付けられているセンサ等)にI/Oユニット19を介して信号を入出力して制御する。また、産業用機械3の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0018】
インタフェース20は、制御装置1のCPUと干渉チェック装置2との間を有線乃至無線で接続するためのインタフェースである。制御装置1と干渉チェック装置2との間の接続は、例えばRS-485等のシリアル通信、Ethernet(登録商標)通信、光通信、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)等の技術を用いて通信をするものであってよい。制御装置1は、インタフェース20を介して干渉チェック装置2との間で相互にデータのやり取りを行っている。
【0019】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース18を介して作業者による操作に基づく指令やデータ等をCPU11に渡す。
【0020】
産業用機械3が備える移動部を移動させるための軸制御回路30はCPU11からの移動指令量を受けて、移動指令をサーボアンプ40にそれぞれ出力する。サーボアンプ40はこの指令を受けて、産業用機械3が備えるサーボモータ50をそれぞれ駆動する。サーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にそれぞれフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50はそれぞれ1つずつしか示されていないが、実際には制御対象となる産業用機械3に備えられた移動部の数だけ用意される。
【0021】
スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、産業機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0022】
一方で、本実施形態による干渉チェック装置2は、制御装置1に併設されたPC上に構築されている。干渉チェック装置2が備えるCPU211は、干渉チェック装置2を全体的に制御するプロセッサである。CPU211は、バス222を介してROM212に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って干渉チェック装置2全体を制御する。RAM213には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0023】
不揮発性メモリ214は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、干渉チェック装置2の電源がオフされても記憶状態が保持される。不揮発性メモリ214には、インタフェース220を介して制御装置1から取得されたデータ、インタフェース215を介して外部機器272から読み込まれたデータやプログラム、入力装置271を介して入力されたデータやプログラム等が記憶される。不揮発性メモリ214に記憶されたデータやプログラムは、実行時/利用時にはRAM213に展開されても良い。また、ROM212には、公知の処理プログラムや解析プログラム、3Dシミュレーションプログラム等の各種システム・プログラムがあらかじめ書き込まれている。
【0024】
インタフェース215は、干渉チェック装置2のCPU211とUSB装置等の外部機器272と接続するためのインタフェースである。外部機器272側からは、例えば解析に用いられるプログラムや各パラメータ等を読み込むことができる。また、干渉チェック装置2内で編集したプログラムや各パラメータ等は、外部機器272を介して外部記憶手段に記憶させることができる。
【0025】
インタフェース220は、干渉チェック装置2のCPU211と制御装置1との間を有線乃至無線で接続するためのインタフェースである。干渉チェック装置2は、インタフェース220を介して制御装置1との間で相互にデータのやり取りを行っている。
【0026】
表示装置270には、メモリ上に読み込まれた各データ、加工プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース217介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置271は、インタフェース218を介して作業者による操作に基づく指令,データ等をCPU211に渡す。
【0027】
図2は、本発明の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、
図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0028】
本実施形態の制御装置1は、指令解析部110、分配処理部115、移動指令出力部120、加減速処理部125、サーボ制御部130、干渉判定部135を備える。また、干渉チェック装置2は、禁止移動量計算部210備える。更に、制御装置1のRAM13乃至不揮発性メモリ14上には、産業用機械3の制御に用いられる加工プログラム180が予め記憶されている。
【0029】
指令解析部110は、加工プログラム180から1ブロック毎に指令を読み出し、該指令を解析して実行形式のデータを作成する。指令解析部110は、実行形式のデータを分配処理部115へと出力する。
【0030】
分配処理部115は、指令解析部110から入力された実行形式のデータに基づいて、指令された移動量、速度で各軸を移動させるための分配周期毎の分配移動量を算出する。分配処理部115は、算出した分配移動量を移動指令出力部120及び干渉チェック装置2が備える禁止移動量計算部210へと出力する。
また、分配処理部115は、図示しない現在位置レジスタ上に記憶されている産業用機械3の各軸の現在位置の情報を、算出した分配移動量を加算することで更新する。そして、更新した現在位置の情報を、チェック位置として干渉判定部135及び干渉チェック装置2が備える禁止移動量計算部210へと出力する。
【0031】
移動指令出力部120は、分配処理部115が算出した分配移動量を加減速処理部125へと出力する。また、移動指令出力部120は、干渉が発生すると干渉判定部135が判定した場合、加減速処理部125への分配移動量の出力を停止する。
【0032】
加減速処理部125は、移動指令出力部120から入力された分配移動量に対して所定の加減速処理を行う。そして、加減速処理された移動指令をサーボ制御部130に対してこの加減速処理された分配移動量を出力する。
そして、サーボ制御部130は、入力された分配移動量に基づいて、産業用機械3に取り付けられたサーボモータ50を駆動制御する。
【0033】
干渉判定部135は、分配処理部115から入力されたチェック位置及び干渉チェック装置2から入力された各軸の禁止移動量に基づいて、産業用機械3の移動部の移動における干渉の有無を判定する。より具体的には、干渉判定部135は、分配処理部115から入力されたチェック位置から先の各軸の分配移動量(分配処理部115が算出した分配移動量)と、干渉チェック装置2から入力されたチェック位置からの各軸の禁止移動量とを比較する。そして、分配移動量が禁止移動量以上である場合に、干渉が発生すると判定する。干渉判定部135は、干渉が発生すると判定した場合、その旨を移動指令出力部120へと出力する。
【0034】
一方、本実施形態による干渉チェック装置2が備える各機能は、
図1に示した干渉チェック装置2が備えるCPU211がシステム・プログラムを実行し、干渉チェック装置2の各部の動作を制御することにより実現される。本実施形態の干渉チェック装置2は、禁止移動量計算部210を備える。また、干渉チェック装置2のRAM213乃至不揮発性メモリ214上には、産業用機械3の移動部及びワーク、テーブル、治具などの干渉物の形状を示すモデルが予め記憶されたモデルデータ記憶部280が用意されている。
【0035】
禁止移動量計算部210は、モデルデータ記憶部280に記憶された移動部及び干渉物のモデルに基づいて簡易なシミュレーション処理を行う。そして、チェック位置から移動部をそれぞれの軸に沿ってどの程度の距離だけ移動したら移動部と干渉物とが干渉する可能性があるのかを示す禁止移動量を計算する。禁止移動量計算部210は、計算した各軸の禁止移動量を制御装置1に対して送信する。
【0036】
図3~6を用いて、禁止移動量計算部210による禁止移動量の計算方法について説明する。
図3は、移動部としての工具303が取り付けられた主軸301と、干渉物としてのテーブル305やワーク309、ワーク309を固定する治具307が配置されている図である。禁止移動量計算部210は、シミュレーション処理を行い、チェック位置にある移動部と、干渉物との位置関係を計算する。
図3では、禁止移動量計算部210に対して分配処理部115が出力した現在位置に移動部がある場合を示している。
【0037】
次に、禁止移動量計算部210は、移動部がチェック位置から予め定めた所定のチェック時間幅T
Wの間に移動し得る距離を軸毎に計算する。例えば、移動部がY軸方向に許容速度v
ymaxで移動可能であることが予め設定されているとする。この場合、移動部はY軸方向にチェック時間幅T
Wの間にv
ymax×T
Wの距離だけ移動し得る。そこで、
図4に例示するように、禁止移動量計算部210は、チェック位置からY軸に沿って±v
ymax×T
Wの距離だけ離れた位置へと移動した際に干渉物との間で干渉が発生しないかをシミュレーションする。より具体的には、例えば移動部をv
ymax×T
Wの距離の範囲で予め定めた所定のΔd
y刻みで移動させ、それぞれの位置でのシミュレーションを行う。そして、それぞれの場合で干渉が発生するか否かを判定し、干渉が発生しない距離の範囲を求める。この干渉が発生しない距離を禁止移動量として計算すればよい。
図4の例では、移動部をY軸に沿って±v
ymax×T
Wの距離だけ移動させても移動部と干渉物との間で干渉が発生しないので、Y軸方向の禁止移動量は計算しない(Y軸は正負両方向に制限がない)。
【0038】
一方、移動部がX軸方向に許容速度v
xmaxで移動可能である場合、移動部はX軸方向にチェック時間幅T
Wの間にv
xmax×T
Wの距離だけ移動し得る。そこで、
図5に例示するように、禁止移動量計算部210は、チェック位置からX軸に沿って±v
xmax×T
Wの距離だけ離れた位置へと移動した際に干渉物との間で干渉が発生しないかをシミュレーションする。
図5の例では、移動部をX軸に沿って±v
xmax×T
Wの距離だけ移動させた場合、X軸の負方向に-d
xcolだけ移動した時点で干渉が発生する。このような場合、禁止移動量計算部210は、X軸負方向の禁止移動量をd
xcolと計算する(X軸正方向は制限無し)。
【0039】
禁止移動量計算部210は、直線軸に対してだけでなく、回転軸に対しても禁止移動量を計算することができる。例えば、
図6に例示するように、B軸を備えた産業用機械3において、B軸の禁止移動量を計算する場合を考える。この時、B軸が許容角速度ω
amaxで回転可能である場合、移動部はB軸方向にチェック時間幅T
Wの間にω
amax×T
Wの角度だけ回転し得る。
図6に例示するように、禁止移動量計算部210は、チェック位置からB軸に沿って±ω
amax×T
Wの角度だけ回転した際に干渉物との間で干渉が発生しないかをシミュレーションする。
図6の例では、移動部をB軸に沿って±ω
amax×T
Wの角度だけ回転させた場合、B軸の負方向に-d
acolだけ回転した時点で干渉が発生する。このような場合、禁止移動量計算部210は、B軸負方向の禁止移動量をd
acolと計算する(B軸正方向は制限無し)。
【0040】
なお、上記した禁止移動量の計算方法では、産業用機械3の各軸の移動を合成した範囲を考慮したものでは無い。そのため、厳密な意味での干渉をチェックすることはできない。しかしながら、干渉チェックの時間範囲として設定するTWを小さく設定することで、十分な精度で干渉チェックを行うことができる。例えば、TWを数百ミリ秒以下に収めることで、通常の工作機械での加工において発生し得る干渉を回避できる程度の精度で干渉チェックを行うことが可能である。この方法では、各軸の移動を合成した範囲を考慮して干渉チェックをする場合と比較して、干渉チェックに掛る計算量は格段に小さくなる。そのため、上記した禁止移動量の計算方法を採用することで、干渉チェック装置2に用いるPCを比較的安価なものとすることができ、全体での導入コストを抑えることができる。
【0041】
無論、軸数が少ない産業用機械3が対象である場合は、干渉チェック装置2における計算量は十分に小さくなるので、各軸の合成移動量を考慮した厳密な干渉チェックをするようにしてもよい。また、高性能なPC上に干渉チェック装置2を構築することで、軸数が多い場合であっても各軸の合成移動量を考慮したより厳密な禁止移動量の計算をさせて、本願発明として用いることも可能である。そのように構成する場合、各軸の禁止移動量を他の軸の移動量の範囲によって値が変化する関数の形で作成し、制御装置1に出力するようにしてもよい。
【0042】
禁止移動量計算部210は、安全を考えて予め定めた所定のマージン量だけ小さい値を禁止移動量として算出することが望ましい。例えば、上記した例では、禁止移動量計算部210は、X軸負方向の禁止移動量をdxcol-Mx(MxはX軸のマージン量)、B軸負方向の禁止移動量をdacol-Ma(MaはB軸のマージン量)などとすればよい。
【0043】
図7は、上記した制御装置1と干渉チェック装置2とで連携した制御システム4における干渉チェック処理の流れを示すシーケンスチャートである。制御装置1と干渉チェック装置2とで連携して干渉チェックする場合、制御装置1は干渉チェックを行う位置の座標値を算出し、算出した座標値を時刻t
Aにおいて干渉チェック装置2へと送信する。時刻t
Bにおいてチェック位置の座標値を受信した干渉チェック装置2は、予め記憶している移動部と干渉物のモデルを用いて、送られたチェック位置の座標値から所定のチェック時間幅T
Wの間に移動部が各軸に沿って移動し得る範囲で干渉が発生するか否かをチェックする。そして、そのチェック結果に基づいて各軸の禁止移動量を計算する。計算した各軸の禁止移動量は時刻t
Cにおいて制御装置へと送信される。時刻t
Dにおいて各軸の禁止移動量を受信した制御装置1は、現在出力されている各軸の分配移動量と禁止移動量とを比較して、干渉が発生するか否かを判定する。そして、干渉が発生すると判定した場合、時刻t
Eにおいて移動部の停止処理を開始する。そして、時刻t
Fにおいて移動部が停止する。
【0044】
次に、
図8A~
図8Dを用いて、干渉チェックを行っている際の、各時点における産業用機械3における移動部の実位置、制御装置1の現在位置レジスタに設定される移動部の現在位置、及び干渉チェック装置2でチェックされるチェック位置の関係を説明する。なお、
図8A~
図8Dにおいて、矢印は加工プログラム180で指令される移動部の移動経路405を示している。また、黒丸は移動部の実位置410、白丸はレジスタに設定される移動部の現在位置415、白三角はチェック位置420、黒四角は干渉位置425を示している。
【0045】
図8Aは、
図7で示した時刻t
Aにおける実位置410、現在位置415の位置関係を示す図である。上記でも説明したように、時刻t
Aでは、現在位置レジスタに設定される移動部の現在位置が分配移動量に基づいて更新される。そして、更新された現在位置がチェック位置として干渉チェック装置2に対して出力される。
図8Aに例示されるように、移動部が移動している最中は、制御装置1内での更新された現在位置415に対して、産業用機械3の移動部の実位置410は常に遅れることとなる。
【0046】
図8Bは、時刻t
Bにおける実位置410、現在位置415、チェック位置420の位置関係を示す図である。分配処理部115から出力された現在位置が、チェック位置として干渉チェック装置2に入力されるまでの間に、制御装置1での加工プログラム180の解析、分配の各処理と、産業用機械3での移動部の移動が行われる。そのため、
図8Bに示されるように、実位置410及び現在位置415は時刻t
Aの時点よりも移動経路405に沿って進んでいる。一方で、チェック位置420は、時刻t
Aの時点における現在位置415と同じ位置となる。この後、禁止移動量計算部210による禁止移動量の計算の間にも、実位置410及び現在位置415は移動経路405に沿って進んでいく。
【0047】
図8Cは、時刻t
Dにおける実位置410、現在位置415、チェック位置420、及び干渉位置425の位置関係を示す図である。禁止移動量計算部210により各軸の禁止移動量が計算され、制御装置1に対して出力されるまでの間に、実位置410及び現在位置415は更に移動経路405に沿って進んでいる。その後、干渉判定部135が干渉が発生すると判定した時点(時刻t
E)で、移動部の実位置410は、チェック位置+禁止移動量の位置、即ち干渉位置425から少なくとも移動部の停止に係る距離以上手前の位置にいなければならない。停止に係る距離以上手前に位置していれば、
図8Dに示されるように、時刻t
Fの時点で干渉位置425の手前で移動部の移動は停止する。
【0048】
上記した説明でも理解できる通り、制御装置1から干渉チェック装置2に対してチェック位置を送信してから、干渉チェック装置2が禁止移動量を計算し、計算した禁止移動量を制御装置1が受け取るまでの間、制御装置1は加工プログラム180の指令を解析して現在位置の更新を続け、産業用機械3の移動部は移動し続ける。そのため、制御装置1からすると、干渉チェック装置2に出力したチェック位置での判定結果が返ってくるまでの間、干渉判定部135は、前回のチェック位置及び禁止移動量を用いて干渉の判定をする必要がある。仮に、干渉チェック装置2におけるチェックの周期をTPCとし、チェック位置通知時間T1=(tB-tA)、禁止移動量計算処理時間TC=(tC-tB)、禁止移動量通知時間T2=(tD-tC)、干渉判定処理時間T3=(tE-tD)、減速停止に掛かる時間TS=(tF-tE)とすると、例えば以下の数1式を満足するようにチェック時間幅TWを設定すればよい。このようにすることで、それぞれの禁止移動量の算出における干渉チェックの範囲が一部重なる。そのため、禁止移動量の計算を干渉チェック装置2に依頼している間は、前回のチェック位置及び禁止移動量を用いた干渉判定の範囲で十分に賄うことができる。
【0049】
【0050】
上記構成を備えた制御装置1は、干渉チェック装置2に対して先行位置を送信することなく、干渉チェック装置2(PC)と連携した干渉チェックを行うことが可能となる。制御装置1では、現在位置と先行位置の2つの位置座標を管理する必要がなくなるため、簡易な処理で移動部の移動位置の管理を行うことができる。また、制御装置1が現在把握している位置を用いて干渉チェックを行うことができるため、状況に応じて先行位置の予測候補が2以上に分かれる場合にも対応することが可能である。同様に、手動運転などのように先行位置をあらかじめ予測することができない場合にも適用可能である。
【0051】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、制御装置1が備える分配処理部115が、チェック位置を送信する際に、チェック時間幅TWで移動部が移動し得る範囲を特定するために有用な情報を該チェック位置と共に干渉チェック装置へ送信するように構成してもよい。このチェック時間幅TWで移動部が移動し得る範囲を特定するために有用な情報としては、許容速度、許容加速度、許容加加速度、現在の速度、軸が移動するか否か、等といった情報が例示される。禁止移動量計算部210は、これらの情報を用いてチェック時間幅TWにおいて移動部が移動し得る範囲をより厳密に計算することができる。例えば、現在の速度と、許容加速度からチェック時間幅TWの間に到達し得る速度が算出できるため、それを最大の速度として移動部の移動範囲を限定することができる。また、ある軸が移動しない場合には、当該軸に関する計算を省略することができる。これらの情報は、干渉チェック装置2における計算コストの削減に貢献する。
【0052】
また、上記した実施形態では干渉判定部135は、禁止移動量と分配処理部115が算出した分配移動量を比較して、分配移動量が禁止移動量以上である場合に干渉が発生すると判定している。しかしながら、干渉判定部135は、禁止移動量の比較対象を加減速処理部125が所定の加減速処理を行った分配移動量とするようにしてもよい。
【0053】
図9は、加減速処理部125により加減速処理された分配移動量に基づいて算出された位置をチェック位置として用いる場合の、制御装置1が備える機能を概略的なブロック図として示したものである。本変形例による制御装置1では、干渉判定部135は、加減速処理部125から入力されたチェック位置から先の分配移動量と、干渉チェック装置2から入力されたチェック位置からの各軸の禁止移動量とを比較する。そして、加減速処理部125から入力されたチェック位置から先の分配移動量が禁止移動量以上である場合に、干渉が発生すると判定する。干渉判定部135は、干渉が発生すると判定した場合、その旨を移動指令出力部
120へと出力する。そして、移動指令出力部
120は、干渉が発生すると干渉判定部135が判定した場合、サーボ制御部130への移動指令の出力を停止する。
【0054】
サーボ制御部130には、加減速処理部125が加減速処理した分配移動量が移動指令として出力される。そのため、本変形例の制御装置1は、分配処理部115が算出した分配移動量に基づいて干渉判定した場合と比較して、より厳密な干渉チェックをすることが可能となる。
【符号の説明】
【0055】
1 制御装置
2 干渉チェック装置
3 産業用機械
4 制御システム
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,17,18,20 インタフェース
19 I/Oユニット
22 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 表示装置
71 入力装置
72 外部機器
110 指令解析部
115 分配処理部
120 移動指令出力部
125 加減速処理部
130 サーボ制御部
135 干渉判定部
180 加工プログラム
210 禁止移動量計算部
211 CPU
212 ROM
213 RAM
214 不揮発性メモリ
215,217,218,220 インタフェース
222 バス
270 表示装置
271 入力装置
272 外部機器
280 モデルデータ記憶部
301 主軸
303 工具
305 テーブル
307 治具
309 ワーク
405 移動経路
410 実位置
415 現在位置
420 チェック位置
425 干渉位置