JP2017016228A - 工作機械とロボット間の干渉チェックシステム - Google Patents

工作機械とロボット間の干渉チェックシステム Download PDF

Info

Publication number
JP2017016228A
JP2017016228A JP2015129514A JP2015129514A JP2017016228A JP 2017016228 A JP2017016228 A JP 2017016228A JP 2015129514 A JP2015129514 A JP 2015129514A JP 2015129514 A JP2015129514 A JP 2015129514A JP 2017016228 A JP2017016228 A JP 2017016228A
Authority
JP
Japan
Prior art keywords
robot
machine
time
interference check
controller
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.)
Granted
Application number
JP2015129514A
Other languages
English (en)
Other versions
JP6200456B2 (ja
Inventor
政利 中嶋
Masatoshi Nakajima
政利 中嶋
雅一 一之瀬
Masakazu Ichinose
雅一 一之瀬
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2015129514A priority Critical patent/JP6200456B2/ja
Priority to DE102016111595.9A priority patent/DE102016111595B4/de
Priority to US15/194,629 priority patent/US9862094B2/en
Priority to CN201610495647.5A priority patent/CN106292549B/zh
Publication of JP2017016228A publication Critical patent/JP2017016228A/ja
Application granted granted Critical
Publication of JP6200456B2 publication Critical patent/JP6200456B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • 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
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33247Synchronize transfer, take over, change of parameters and reference values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】工作機械側の先行時間とロボットの先行時間の同期性を確保した干渉チェック機能を備えた数値制御装置を提供すること。【解決手段】本発明の干渉チェックシステムは、数値制御装置とロボットコントローラとの間で、ロボットの補間周期毎の位置情報をインデックスと関連付けて記録した補間レベル移動データを共有し、数値制御装置が、NCプログラムから先読みブロック指令データを読み出す先読み手段と、次に干渉チェックを行う先行時間を算出する先行時間算出部と、干渉チェックの基準となる時間から前記先行時間後における機械が備える軸の先行位置である機械先行位置を算出する機械先行位置算出部と、補間レベル移動データに基づいて、干渉チェックの基準となる時間から前記先行時間後における前記ロボットの先行位置であるロボット先行位置を算出するロボット先行位置算出部とを備えることを特徴とする。【選択図】図2

Description

本発明は、工作機械とロボット間の干渉チェックシステムに関する。
工作機械とロボットを融合させ、加工物の着脱などにロボットを使用する機械が増加している。ロボットは、加工物の着脱時に工作機械内部に侵入するため、工作機械とロボット間の干渉チェックを行いたいという要望がある。
工作機械では、特許文献1および2に記載された技術を用いて数値制御装置が先行位置を出力し、その情報を元に干渉チェックを行うことで、干渉前に機械を停止させることが可能である。またロボット同士では、特許文献3に記載された技術によりロボットの教示プログラムを先読みすることで、干渉チェックを行う技術がある。
特許第4221016号公報 特許第5339999号公報 特許第3907649号公報
これら従来技術を用いて工作機械とロボットの干渉チェックを行うためには、工作機械を制御する数値制御装置で先行位置を出力するための特許文献1および2の技術を使用すると同時に、ロボット側で先行位置を出力し、数値制御装置とロボットコントローラそれぞれから出力された先行位置に基づいて干渉チェックを行う必要がある。
しかしながら、工作機械を1台のロボットと仮定して特許文献3の技術を適用した場合、ロボット側では工作機械を制御する数値制御装置から教示プログラム相当の情報としてNCプログラムを取得できるものの、工作機械を制御するNCプログラムは、数値制御装置上で行われる補間の種類、先読みバッファ内の先読み状態や先読みを抑制する指令など、により先行位置を算出するための先行時間が動的に変動するため、工作機械の先行時間に合わせたロボットの先行位置を算出することが困難であるという問題が発生し、干渉チェックを行うことができない。
また、逆に工作機械を制御する数値制御装置側で、ロボットの教示プログラムを取得したとしても、やはり補間の種類、先読みバッファ内の先読み状態や先読みを抑制する指令など、により先行位置を算出するための先行時間が動的に変動するため、ロボットの先行時間に合わせた工作機械の先行位置を算出することは困難である。
そこで本発明の目的は、工作機械側の先行時間とロボットの先行時間の同期性を確保した干渉チェック機能を備えた数値制御装置を提供することである。
本発明では、オフラインプログラミング装置などを使用してあらかじめロボット側、または工作機械側のプログラムを解析し、その移動情報をインデックス付きの補間レベル移動データとして作成した上で、当該補間レベル移動データを数値制御装置とロボットコントローラとの間で共有して、ロボットコントローラの移動開始指令を数値制御装置側で、または数値制御装置側の移動開始指令をロボットコントローラ側で行うようにすることにより上記問題を解決する。
そして、本願の請求項1に係る発明は、NCプログラムからの指令に基づいて機械が備える軸を駆動制御する数値制御装置と、教示プログラムからの指令に基づいてロボットを制御するロボットコントローラと、前記機械と前記ロボットとの干渉をチェックする干渉チェック装置と、を備えたシステムにおいて、前記数値制御装置と前記ロボットコントローラとは、前記ロボットの補間周期毎の位置情報をインデックスと関連付けて記録した補間レベル移動データを共有しており、前記数値制御装置は、前記NCプログラムから先読みブロック指令データを読み出す先読み手段と、次の先行位置を算出するための先行時間を算出する先行時間算出部と、前記干渉チェックの基準となる時間から前記先行時間後における前記機械が備える軸の先行位置である機械先行位置を算出する機械先行位置算出部と、前記補間レベル移動データに基づいて、前記干渉チェックの基準となる時間から前記先行時間後における前記ロボットの先行位置であるロボット先行位置を算出するロボット先行位置算出部と、を備え、前記干渉チェック装置は、前記機械先行位置と前記ロボット先行位置とに基づいて前記機械と前記ロボットとの干渉チェックを行う、ことを特徴とする干渉チェックシステムである。
本願の請求項2に係る発明は、前記数値制御装置は、前記NCプログラムに含まれるロボット移動指令に基づいて、前記ロボットに対して移動開始を指令するロボット移動指令手段を備え、前記ロボット先行位置算出部は、前記ロボット移動指令手段による前記ロボットへの移動開始指令時刻と、前記補間レベル移動データと、前記先行時間とに基づいて前記ロボット先行位置を算出する、ことを特徴する請求項1に記載の干渉チェックシステムである。
本願の請求項3に係る発明は、前記数値制御装置は、前記ロボットコントローラから取得または通知された、前記ロボットの現在位置を示すインデックスと、前記ロボットの移動状態を含む前記ロボットの状態情報を記憶し、前記ロボット先行位置算出部は、前記状態情報と、前記補間レベル移動データと、前記先行時間とに基づいて前記ロボット先行位置を算出する、ことを特徴する請求項1または2に記載の干渉チェックシステムである。
本願の請求項4に係る発明は、NCプログラムからの指令に基づいて機械が備える軸を駆動制御する数値制御装置と、教示プログラムからの指令に基づいてロボットを制御するロボットコントローラと、前記機械と前記ロボットとの干渉をチェックする干渉チェック装置と、を備えたシステムにおいて、前記数値制御装置と前記ロボットコントローラとは、前記機械の補間周期毎の位置情報をインデックスと関連付けて記録した補間レベル移動データを共有しており、前記ロボットコントローラは、前記教示プログラムから先読みブロック指令データを読み出す先読み手段と、次の先行位置を算出するための先行時間を算出する先行時間算出部と、前記干渉チェックの基準となる時間から前記先行時間後における前記ロボットが備える軸の先行位置であるロボット先行位置を算出するロボット先行位置算出部と、前記補間レベル移動データに基づいて、前記干渉チェックの基準となる時間から前記先行時間後における前記機械の先行位置である機械先行位置を算出する機械先行位置算出部と、を備え、前記干渉チェック装置は、前記ロボット先行位置と前記機械先行位置とに基づいて前記ロボットと前記機械との干渉チェックを行う、ことを特徴とする干渉チェックシステムである。
本願の請求項5に係る発明は、前記ロボットコントローラは、前記数値制御装置から取得または通知された、前記機械の現在位置を示すインデックスを含む前記機械の状態情報を記憶し、前記機械先行位置算出部は、前記状態情報と、前記補間レベル移動データと、前記先行時間とに基づいて前記機械先行位置を算出する、ことを特徴する請求項4に記載の干渉チェックシステムである。
本発明によれば、数値制御装置またはロボットコントローラにおいて、補間の種類、先読みバッファ内の先読み状態や先読みを抑制する指令ごとに先行位置を算出するための先行時間が動的に変動するような状況であっても、変動した先行時間で相手側の先行位置を算出することが可能になるため、工作機械とロボットとの同期した先行位置を算出することが可能になる。
本発明の干渉チェックシステムの概要を説明する図である。 本発明の実施形態における干渉チェックシステムの概略ブロック図である。 本発明の実施形態における数値制御装置上で実行される処理の概略フローチャートである。 本発明の他の実施形態における数値制御装置上で実行される処理の概略フローチャートである。 本発明の他の実施形態における干渉チェックシステムの概略ブロック図である。
以下、図面を参照して本発明の実施形態を説明する。図1は、本発明の一実施形態における干渉チェックシステムの概略図である。
図1に示す干渉チェックシステムでは、工作機械400とロボット360による加工制御を開始する前に、事前にオフラインプログラミング装置600などを使用してロボットコントローラ300上で実行されるプログラムを解析し、該プログラムによるロボット360の移動情報をインデックス付きの補間レベル移動データとして作成しておく。そして、作成した当該補間レベル移動データを数値制御装置100とロボットコントローラ300で共有し、ロボット360の移動開始指令を数値制御装置100側で行うようにする。
加工プログラムに基づく加工制御の際には、数値制御装置100は先行位置の算出中に加工プログラム内にロボット360への移動開始指令があることを検出すると、ロボットコントローラ300との間で共有しているロボット360の補間レベル移動データに基づき、工作機械400の先行位置と合わせてロボット360の先行位置を算出する。
一方で、ロボットコントローラ300は数値制御装置100からの移動開始指令を受けたら、数値制御装置100と共有しているロボット360の補間レベル移動データに基づき、アームのたわみを考慮した補正や、重力補正などを加味してロボット360の動作を該補間レベル移動データが示す位置となるよう制御を行う。そのため、数値制御装置100との間で共有しているロボット360の補間レベルの位置と実際のロボット360の位置を一致させることが可能となる。
ここで、数値制御装置100とロボットコントローラ300とは非同期で動作するため、徐々に数値制御装置100で算出したロボット360の先行位置との間に誤差が生じてくる。この誤差を補正するため、ロボットコントローラ300は、ロボット360の現在位置を示す補間レベル移動データに付加されているインデックスと、ロボット360が停止中か動作中かを示す移動状態の情報とを含む状態情報を、数値制御装置100へフィードバックする。ロボットコントローラ300からフィードバックされてきたロボット360の状態情報を受けた数値制御装置100は、状態情報に含まれるロボット360の現在位置を示すインデックスと移動状態の情報に基づいて、現在算出中の先行位置と実際のロボット360の現在位置から誤差を補正する。なお、ロボット360の状態情報は、数値制御装置100がロボットコントローラ300から取得するようにしても良い。
また、上記の説明では、ロボット360の移動開始指令を数値制御装置100側で行うように説明したが、ロボットの移動開始指令を数値制御装置100側で行わず、ロボットコントローラ300側で独立して動作を開始しても良い。
以下では、本発明の一実施形態における干渉チェックシステムの動作を、ブロック図とフローチャートにしたがって説明する。
図2は、本実施形態における干渉チェックシステムの概略的な機能ブロック図である。本実施形態の干渉チェックシステムは、数値制御装置100、ロボットコントローラ300、ロボット360、工作機械400、干渉チェック装置500を備える。
数値制御装置100は、NCプログラム110に基づいて工作機械を制御すると共に、NCプログラム110を先読みして得られる先読みブロック指令データ120、事前にオフラインプログラミング装置600等を用いて作成し、ロボットコントローラ300との間で共有したロボット360の補間レベル移動データ130、およびロボットコントローラ300から通知または取得されたロボット360の状態情報140に基づいて工作機械400の各軸の先行位置とロボット360の先行位置とをそれぞれ算出し、干渉チェック装置500へ出力する処理を実行する。
数値制御装置100は、前処理部と実行部とに分けられ、前処理部において制御に実行に必要となる各種データを生成し、該データに基づいて実行部において工作機械などの制御が実行される。
前処理部では、NCプログラム110を先読みして、先読みブロック指令データ120をメモリ(図示せず)に記憶する。また、事前にオフラインプログラミング装置600等を用いて作成し、ロボットコントローラ300との間で共有したロボット360の補間レベル移動データ130をメモリ(図示せず)に記憶するとともに、ロボットコントローラ300から逐次通知または取得されるロボット360の状態情報140を管理する。
実行部が備える分配処理部210は、先読みブロック指令データ120を1ブロック毎読み出し、該ブロックで指令された各軸移動量、各軸速度に基づいて、分配周期毎の各軸可動部(工作機械400が備える各軸のサーボモータ)へ指令する補間レベルの分配データを作成する補間移動指令の分配処理を実行する。
そして作成された補間レベルの分配データは移動指令出力部250に出力され、該移動指令出力部250を介して加減速処理部260に出力される。加減速処理部260は、移動指令出力部250からの移動指令を受けて加減速処理を行い、工作機械が備える各軸のサーボモータを制御するサーボ制御部270に、この加減速処理部により加減速処理された移動量の移動指令を出力する。
先行時間算出部220では、先読みブロック指令データ120と分配処理部210で作成した補間レベルの分配データ、およびあらかじめ定められた基準先行時間Tに基づいて、先行時間t1を算出する。先行時間算出部220は、分配処理部210が分配処理を行った指令データの移動距離、速度を用いて、バッファ内に基準先行時間Tまでの指令データが蓄積されていれば基準先行時間Tを先行時間t1とし、蓄積されていない場合にはバッファ内の指令データから求められる最大の時間を先行時間t1として算出する。なお、基準先行時間Tは、干渉チェック装置500が干渉チェック処理に要する時間、数値制御装置100と干渉チェック装置500との間の通信に係る時間、および工作機械400の軸やロボット360が停止指令を受けてから減速停止に係る時間等に基づいてあらかじめ定められる時間であり、詳細は特許文献1などに説明されているので本明細書では省略する。
また、先行時間算出部220は、先行時間t1を算出する際に、先読みブロック指令データ120内に、ロボット360の移動開始指令があった場合には、更に現時刻からロボット360の移動開始指令までの時間t2を算出する。算出されたロボット移動開始時間t2は、先行時間算出部220で、ロボット360の移動開始指令時にt2=0となるように、NCプログラムの処理ブロックが(先行時間を算出するための基準位置が)ロボット360の移動開始指令のブロックになるまで処理周期毎に減算され、その時点でロボット360の状態は移動中状態となる。先読みブロック指令データ120内に、ロボット360の移動開始指令がなく、ロボット360が移動中の場合は、t2=0に設定され、ロボット360が停止中の場合は、t2=t1が設定される。したがって、ロボット移動開始時間t2は、0≦t2≦t1の範囲になる。
更に、先行時間算出部220で、先行時間を算出するための基準位置が、ロボット360の移動開始指令の位置になった時点で、数値制御装置100からロボットコントローラ300に対してロボット360の移動開始が指令される。
工作機械先行位置算出部230は、先行時間算出部220で算出した先行時間t1に基づいて、工作機械400が備える各軸の先行位置を算出する。工作機械400の先行位置の算出方法については、特許文献1等に開示されているため本明細書では詳細は省略する。
ロボット先行位置算出部240は、補間レベル移動データ130と、ロボットコントローラ300から逐次通知または取得されるロボット360の状態情報140とに基づいてロボット360の現在位置を求めた上で、該ロボット360の現在位置と、補間レベル移動データ130とに基づいて先行時間t1後のロボット360の先行位置を算出する。ロボット360の先行位置の算出方法は、たとえば、補間レベル移動データ130の各インデックス(ロボットコントローラ300における1補間周期)を1単位とした場合、数値制御装置100とロボットコントローラ300の補間周期cycle、先行時間t1、ロボット360の移動開始指令までの時間t2、現在位置のインデックスcposから、以下に示す数1式を用いて先行位置を示すインデックスfposを算出し、算出されたfposと補間レベル移動データ130とにより求めることができる。
なお、数値制御装置100とロボットコントローラ300のそれぞれの補間周期が異なる場合に、先行時間に対応する補間レベル移動データ130の適当なインデックスが存在しない場合がある。そのような場合には、補間レベル移動データ130における、先行時間に対応するところの前のインデックスが指し示す位置情報をロボット360の先行位置としてもよいし、後ろのインデックスが指し示す位置情報をロボット360の先行位置としてもよい。また、前のインデックスが指し示す位置情報と後ろのインデックスが指し示す位置情報との中間の位置や、前のインデックスが指し示す位置情報と後ろのインデックスが指し示す位置情報とを先行時間に基づいて線形補間した位置情報をロボット360の先行位置としてもよい。
この時、ロボットコントローラ300から状態情報140が取得される周期(fbcycle)が、数値制御装置100とロボットコントローラ300の補間周期と一致する場合、工作機械400とロボット360の先行位置は、常に同期性が保たれる。
fbcycle>cycleの場合、先行位置の同期性に誤差が発生するが、ロボット360の現在位置を示すインデックスと移動状態を含む状態情報140が取得された時点で誤差が補正される。
なお、fposが補間レベル移動データ130の最大インデックス値を超えた場合にロボット360はロボット停止中であると見なす。ロボット停止中は、t2=t1とすることで、先行時間後のロボット360の先行位置を現在位置と一致させることができる。
図3は、図2に示した機能ブロックを備えた数値制御装置100上で実行される処理の概略フローチャートである。
●[ステップSA01]NCプログラム110を先読みし、先読みブロック指令データ120として読み込む。
●[ステップSA02]分配処理部210は、先読みブロック指令データ120に基づいて補間レベルの分配データを作成する。
●[ステップSA03]先行時間算出部220は、先読みブロック指令データ120と分配処理部210で作成した補間レベルの分配データを基に先行時間t1を算出する。
●[ステップSA04]先読みブロック指令データ120内に、ロボット360の移動開始指令があるか否かを判定する。ロボットの移動開始指令があった場合にはステップSA05へ進み、無かった合にはステップSA06へ進む。
●[ステップSA05]現時刻からロボット360の移動開始指令までの時間t2を算出する。
●[ステップSA06]状態情報140を参照するなどして、現在ロボット360が移動中か否かを判定する。ロボット360が移動中である場合にはステップSA07へ進み、停止中の場合にはステップSA08へ進む。
●[ステップSA07]ロボット360の移動開始指令までの時間t2を0に設定する。
●[ステップSA08]ロボット360の移動開始指令までの時間t2をt1に設定する。
●[ステップSA09]先行時間を算出するための基準位置が、ロボット360の移動開始指令の位置になった否かを判定する。移動開始指令の位置になった場合にはステップSA10へ進みそうでない場合にはステップSA07へ進む。
●[ステップSA10]ロボットコントローラ300に対して、ロボット360の移動開始指令を実行する。
●[ステップSA11]工作機械400が備える各軸の先行位置を算出する。
●[ステップSA12]ロボット360の先行位置をロボット360の状態情報140に基づいて算出し、ステップSA01へ戻る。
なお、ロボット360の移動開始指令を数値制御装置100側で行わず、数値制御装置100とロボットコントローラ300とのそれぞれが独立して動作する構成に対しても本発明を適用することができる。
図4は、ロボット360の移動開始指令を数値制御装置100側で行わず、数値制御装置100とロボットコントローラ300とのそれぞれが独立して動作する場合における、数値制御装置100上で実行される処理の概略フローチャートである。
●[ステップSB01]NCプログラム110を先読みし、先読みブロック指令データ120として読み込む。
●[ステップSB02]分配処理部210は、先読みブロック指令データ120に基づいて補間レベルの分配データを作成する。
●[ステップSB03]先行時間算出部220は、先読みブロック指令データ120と分配処理部210で作成した補間レベルの分配データを基に先行時間t1を算出する。
●[ステップSB04]工作機械400が備える各軸の先行位置を算出する。
●[ステップSB05]状態情報140を参照するなどして、ロボット360が停止中か否かを判定する。ロボット360が停止中ではない場合にはステップSB06へ進み、ロボット360が停止中である場合にはステップSB07へ進む。
●[ステップSB06]補間レベル移動データ130と、ロボットコントローラ300から取得した、または通知されたロボット360の状態情報140に基づいて、移動中のロボット360の先行位置を算出して、ステップSB01へ戻る。たとえば、ロボット360の補間レベル移動データ130のインデックスを1単位とした場合、数値制御装置100とロボットコントローラ300の補間周期cycle、先行時間t1、現在位置のインデックスcposから、ロボット360の先行位置を示すインデックスfposは、fpos=cpos+t1/cycleとして算出することができる。
●[ステップSB07]補間レベル移動データ130と、ロボットコントローラ300から取得した、または通知されたロボット360の状態情報140に基づいて、停止中のロボット360の先行位置を算出して、ステップSB01へ戻る。たとえば、ロボット360の補間レベル移動データ130のインデックスを1単位とした場合、数値制御装置100とロボットコントローラ300の補間周期cycle、先行時間t1、現在位置のインデックスcposから、ロボット360の先行位置を示すインデックスfposは、fpos=cposとして算出することができる。
上記した構成に依れば、ロボットコントローラは、ロボットの現在位置を示すインデックスと移動状態を示す情報を数値制御装置へ通知または数値制御装置が取得できる機能だけを実装すれば、工作機械とロボットの干渉チェック機能が実現できる。
また、数値制御装置は補間の種類、先読みバッファ内の先読み状態や先読みを抑制する指令ごとに先行位置を算出するための先行時間が動的に変動しても、変動した先行時間でロボットの先行位置を算出することが可能になるため、工作機械とロボットとの同期した先行位置を算出することが可能になる。
更に、ロボットコントローラから、ロボットの現在位置を示すインデックス情報および移動状態を示す情報を取得することで、工作機械とロボットの先行位置の誤差を最小限に補正することが可能になる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では、ロボットコントローラ300上で実行される教示プログラムを、事前にオフラインプログラミング装置600などを使用して解析してロボット360の移動情報をインデックス付きの補間レベル移動データとして作成し、数値制御装置100とロボットコントローラ300との間で共有する例を示したが、逆に、数値制御装置100上で実行されるNCプログラムを、事前にオフラインプログラミング装置600などを使用して解析して工作機械400の移動情報をインデックス付きの補間レベル移動データとして作成し、数値制御装置100とロボットコントローラ300との間でそれぞれ補間レベル移動データ130、補間レベル移動データ310として共有するように構成してもよい。
その場合、図5に示すように、上記実施形態において数値制御装置100上に実装した先行時間算出部220、工作機械先行位置算出部230、ロボット先行位置算出部240に対応する構成である、先行時間算出部370、ロボット先行位置算出部380、工作機械先行位置算出部390などをそれぞれロボットコントローラ300上に実装し、これら機能手段で工作機械400とロボット360の先行位置をそれぞれ算出し、干渉チェック装置500に対して通知するような構成となる。
この時、数値制御装置100は、工作機械の現在位置を示す補間レベル移動データ130に付加されているインデックスを含む状態情報をロボットコントローラ300へフィードバックし、ロボットコントローラ300がフィードバックされてきた状態情報に基づいて、現在算出中の先行位置と実際のロボット360の現在位置から誤差を補正するようにすればよい。
100 数値制御装置
110 NCプログラム
120 先読みブロック指令データ
130 補間レベル移動データ
140 状態情報
210 分配処理部
220 先行時間算出部
230 工作機械先行位置算出部
240 ロボット先行位置算出部
250 移動指令出力部
260 加減速処理部
270 サーボ制御部
300 ロボットコントローラ
310 補間レベル移動データ
320 補間移動指令分配処理部
330 移動指令出力部
340 加減速処理部
350 サーボ制御部
360 ロボット
400 工作機械
500 干渉チェック装置
600 オフラインプログラミング装置

Claims (5)

  1. NCプログラムからの指令に基づいて機械が備える軸を駆動制御する数値制御装置と、教示プログラムからの指令に基づいてロボットを制御するロボットコントローラと、前記機械と前記ロボットとの干渉をチェックする干渉チェック装置と、を備えたシステムにおいて、
    前記数値制御装置と前記ロボットコントローラとは、前記ロボットの補間周期毎の位置情報をインデックスと関連付けて記録した補間レベル移動データを共有しており、
    前記数値制御装置は、
    前記NCプログラムから先読みブロック指令データを読み出す先読み手段と、
    次の先行位置を算出するための先行時間を算出する先行時間算出部と、
    前記干渉チェックの基準となる時間から前記先行時間後における前記機械が備える軸の先行位置である機械先行位置を算出する機械先行位置算出部と、
    前記補間レベル移動データに基づいて、前記干渉チェックの基準となる時間から前記先行時間後における前記ロボットの先行位置であるロボット先行位置を算出するロボット先行位置算出部と、
    を備え、
    前記干渉チェック装置は、前記機械先行位置と前記ロボット先行位置とに基づいて前記機械と前記ロボットとの干渉チェックを行う、
    ことを特徴とする干渉チェックシステム。
  2. 前記数値制御装置は、前記NCプログラムに含まれるロボット移動指令に基づいて、前記ロボットに対して移動開始を指令するロボット移動指令手段を備え、
    前記ロボット先行位置算出部は、前記ロボット移動指令手段による前記ロボットへの移動開始指令時刻と、前記補間レベル移動データと、前記先行時間とに基づいて前記ロボット先行位置を算出する、
    ことを特徴する請求項1に記載の干渉チェックシステム。
  3. 前記数値制御装置は、前記ロボットコントローラから取得または通知された、前記ロボットの現在位置を示すインデックスと、前記ロボットの移動状態を含む前記ロボットの状態情報を記憶し、
    前記ロボット先行位置算出部は、前記状態情報と、前記補間レベル移動データと、前記先行時間とに基づいて前記ロボット先行位置を算出する、
    ことを特徴する請求項1または2に記載の干渉チェックシステム。
  4. NCプログラムからの指令に基づいて機械が備える軸を駆動制御する数値制御装置と、教示プログラムからの指令に基づいてロボットを制御するロボットコントローラと、前記機械と前記ロボットとの干渉をチェックする干渉チェック装置と、を備えたシステムにおいて、
    前記数値制御装置と前記ロボットコントローラとは、前記機械の補間周期毎の位置情報をインデックスと関連付けて記録した補間レベル移動データを共有しており、
    前記ロボットコントローラは、
    前記教示プログラムから先読みブロック指令データを読み出す先読み手段と、
    次の先行位置を算出するための先行時間を算出する先行時間算出部と、
    前記干渉チェックの基準となる時間から前記先行時間後における前記ロボットが備える軸の先行位置であるロボット先行位置を算出するロボット先行位置算出部と、
    前記補間レベル移動データに基づいて、前記干渉チェックの基準となる時間から前記先行時間後における前記機械の先行位置である機械先行位置を算出する機械先行位置算出部と、
    を備え、
    前記干渉チェック装置は、前記ロボット先行位置と前記機械先行位置とに基づいて前記ロボットと前記機械との干渉チェックを行う、
    ことを特徴とする干渉チェックシステム。
  5. 前記ロボットコントローラは、前記数値制御装置から取得または通知された、前記機械の現在位置を示すインデックスを含む前記機械の状態情報を記憶し、
    前記機械先行位置算出部は、前記状態情報と、前記補間レベル移動データと、前記先行時間とに基づいて前記機械先行位置を算出する、
    ことを特徴する請求項4に記載の干渉チェックシステム。
JP2015129514A 2015-06-29 2015-06-29 工作機械とロボット間の干渉チェックシステム Active JP6200456B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015129514A JP6200456B2 (ja) 2015-06-29 2015-06-29 工作機械とロボット間の干渉チェックシステム
DE102016111595.9A DE102016111595B4 (de) 2015-06-29 2016-06-24 Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter
US15/194,629 US9862094B2 (en) 2015-06-29 2016-06-28 Interference check system for machine tool and robot
CN201610495647.5A CN106292549B (zh) 2015-06-29 2016-06-29 机床和机器人之间的干扰检查系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015129514A JP6200456B2 (ja) 2015-06-29 2015-06-29 工作機械とロボット間の干渉チェックシステム

Publications (2)

Publication Number Publication Date
JP2017016228A true JP2017016228A (ja) 2017-01-19
JP6200456B2 JP6200456B2 (ja) 2017-09-20

Family

ID=57537183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015129514A Active JP6200456B2 (ja) 2015-06-29 2015-06-29 工作機械とロボット間の干渉チェックシステム

Country Status (4)

Country Link
US (1) US9862094B2 (ja)
JP (1) JP6200456B2 (ja)
CN (1) CN106292549B (ja)
DE (1) DE102016111595B4 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018218298A1 (de) 2017-11-01 2019-05-02 Fanuc Corporation Bearbeitungssystem
WO2022191057A1 (ja) * 2021-03-10 2022-09-15 ファナック株式会社 動作経路生成装置、数値制御装置、数値制御システム、及びコンピュータプログラム
US11806874B2 (en) 2019-10-18 2023-11-07 Fanuc Corporation Robot system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5964472B1 (ja) * 2015-02-03 2016-08-03 ファナック株式会社 ロボットと工作機械の動作制限機能を有する加工システム
JP6259412B2 (ja) * 2015-03-19 2018-01-10 ファナック株式会社 複合形固定サイクルの往復旋削を行う数値制御装置
CN107479506B (zh) * 2017-09-04 2020-07-14 深圳市超时空机器人有限公司 一种基于机器人的数控装置、系统及加工方法
JP6838030B2 (ja) 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP6901454B2 (ja) 2018-10-31 2021-07-14 ファナック株式会社 数値制御装置
JP6838031B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御システム
WO2021049028A1 (ja) * 2019-09-13 2021-03-18 三菱電機株式会社 数値制御装置、および機械学習装置
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628019A (ja) * 1992-07-10 1994-02-04 Hitachi Seiki Co Ltd 数値制御工作機械のロボットプログラム呼出方法とその装置
JPH06149332A (ja) * 1992-11-06 1994-05-27 S G:Kk インターロック制御システム
JPH08202419A (ja) * 1995-01-26 1996-08-09 Komatsu Ltd プレス機械とロボットの同期装置
JPH1083211A (ja) * 1997-09-26 1998-03-31 Fanuc Ltd 制御装置及びプログラミング方法
JP2006068857A (ja) * 2004-09-02 2006-03-16 Fanuc Ltd ロボット間の干渉防止制御装置
JP2007219642A (ja) * 2006-02-14 2007-08-30 Fanuc Ltd 制御システム
US20080024083A1 (en) * 2006-07-25 2008-01-31 Fanuc Ltd Numerical controller
EP1901150A1 (en) * 2006-09-14 2008-03-19 Abb Research Ltd. A method and device for avoiding collisions between an industrial robot and an object
JP2009279608A (ja) * 2008-05-21 2009-12-03 Fanuc Ltd ロボットおよびプレス機械を含むシステム、複数のロボットを含むシステム、ならびにそのようなシステムにおいて使用されるロボットの制御装置
JP2010218036A (ja) * 2009-03-13 2010-09-30 Fanuc Ltd ロボットオフラインプログラミング装置
JP2010244256A (ja) * 2009-04-03 2010-10-28 Fanuc Ltd 干渉チェック機能を有する数値制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2974183B2 (ja) * 1991-11-07 1999-11-08 オークマ株式会社 数値制御工作機械における干渉チェック装置
JPH0852638A (ja) * 1994-08-15 1996-02-27 Toshiba Mach Co Ltd 干渉チェック方法および加工プログラムチェック方法および加工適否チェック方法
JP4578742B2 (ja) * 2001-09-27 2010-11-10 株式会社森精機製作所 干渉防止装置
JP2007172068A (ja) * 2005-12-19 2007-07-05 Fanuc Ltd 数値制御装置
JP4298770B2 (ja) * 2007-08-28 2009-07-22 ファナック株式会社 干渉チェック機能を備えた数値制御装置
US8577655B2 (en) * 2008-06-26 2013-11-05 Siemens Product Lifecycle Management Software Inc. System and method for constructing virtual NC controllers for machine tool simulation
CN101623867B (zh) * 2008-07-11 2010-12-01 中国科学院沈阳自动化研究所 一种使机器人高精度跟踪指定路径的设备和方法
JP4938119B2 (ja) * 2010-08-20 2012-05-23 ファナック株式会社 工具先端点位置を制御する多軸加工機用数値制御装置
JP5037704B2 (ja) * 2011-01-26 2012-10-03 ファナック株式会社 3軸加工機用ワーク設置誤差補正部を有する数値制御装置
JP5715195B2 (ja) * 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628019A (ja) * 1992-07-10 1994-02-04 Hitachi Seiki Co Ltd 数値制御工作機械のロボットプログラム呼出方法とその装置
JPH06149332A (ja) * 1992-11-06 1994-05-27 S G:Kk インターロック制御システム
JPH08202419A (ja) * 1995-01-26 1996-08-09 Komatsu Ltd プレス機械とロボットの同期装置
JPH1083211A (ja) * 1997-09-26 1998-03-31 Fanuc Ltd 制御装置及びプログラミング方法
JP2006068857A (ja) * 2004-09-02 2006-03-16 Fanuc Ltd ロボット間の干渉防止制御装置
JP2007219642A (ja) * 2006-02-14 2007-08-30 Fanuc Ltd 制御システム
US20080024083A1 (en) * 2006-07-25 2008-01-31 Fanuc Ltd Numerical controller
JP2008027376A (ja) * 2006-07-25 2008-02-07 Fanuc Ltd 数値制御装置
EP1901150A1 (en) * 2006-09-14 2008-03-19 Abb Research Ltd. A method and device for avoiding collisions between an industrial robot and an object
JP2009279608A (ja) * 2008-05-21 2009-12-03 Fanuc Ltd ロボットおよびプレス機械を含むシステム、複数のロボットを含むシステム、ならびにそのようなシステムにおいて使用されるロボットの制御装置
JP2010218036A (ja) * 2009-03-13 2010-09-30 Fanuc Ltd ロボットオフラインプログラミング装置
JP2010244256A (ja) * 2009-04-03 2010-10-28 Fanuc Ltd 干渉チェック機能を有する数値制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018218298A1 (de) 2017-11-01 2019-05-02 Fanuc Corporation Bearbeitungssystem
JP2019086823A (ja) * 2017-11-01 2019-06-06 ファナック株式会社 加工システム
US10625420B2 (en) 2017-11-01 2020-04-21 Fanuc Corporation Machining system
DE102018218298B4 (de) * 2017-11-01 2021-01-14 Fanuc Corporation Bearbeitungssystem
US11806874B2 (en) 2019-10-18 2023-11-07 Fanuc Corporation Robot system
WO2022191057A1 (ja) * 2021-03-10 2022-09-15 ファナック株式会社 動作経路生成装置、数値制御装置、数値制御システム、及びコンピュータプログラム

Also Published As

Publication number Publication date
DE102016111595B4 (de) 2019-02-14
JP6200456B2 (ja) 2017-09-20
CN106292549B (zh) 2018-12-28
US20160375582A1 (en) 2016-12-29
DE102016111595A1 (de) 2016-12-29
US9862094B2 (en) 2018-01-09
CN106292549A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
JP6200456B2 (ja) 工作機械とロボット間の干渉チェックシステム
JP4221016B2 (ja) 干渉チェックを行う数値制御装置
JP6321583B2 (ja) 速度変化に対応した3次元干渉チェックを行う数値制御装置
JP5850996B1 (ja) 補間後加減速を考慮したコーナ経路生成機能を有する数値制御装置
JP2007094936A (ja) 数値制御装置
US10108170B2 (en) Numerical controller performing reciprocal turning in complex fixed cycle
JP6404863B2 (ja) 加減速フィルタの時定数を動的に切り替える数値制御装置
JP2005301440A (ja) 加工時間算出装置
JP6174652B2 (ja) 加工エリアの大きさによるパラメータの自動選定機能を有する数値制御装置
JP2015015006A (ja) 5軸加工機を制御する数値制御装置
JP6081954B2 (ja) 工作機械の反転動作を高速化する数値制御装置
JP7376260B2 (ja) 数値制御装置
JP6396273B2 (ja) ワークとの干渉を避ける位置決めを行う数値制御装置
JP2007245247A (ja) プログラム確認機能を有する機械
CN109874403B (zh) 数控装置
JP2013069123A (ja) コーナ部の許容内回り量による速度制御を行う数値制御装置
JP6017509B2 (ja) 運転停止時に送り速度を円滑に変更する数値制御装置
JP5030628B2 (ja) 干渉チェックシステム
JP6062971B2 (ja) スカイビング加工指令に基づいて工作機械を制御する数値制御装置
JP2017049766A (ja) 位置による最大速度制御機能を具備した数値制御装置
CN105573252A (zh) 自主控制系统
JP2017117252A (ja) プレスの調整が容易な数値制御装置
JP6100816B2 (ja) 位置偏差過大を抑制する速度制御を行う数値制御装置
CN106774180B (zh) 数值控制装置
CN111506018B (zh) 控制机床的方法、机床的控制系统、存储介质和机床

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170825

R150 Certificate of patent or registration of utility model

Ref document number: 6200456

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150