JP6940724B1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP6940724B1
JP6940724B1 JP2021526389A JP2021526389A JP6940724B1 JP 6940724 B1 JP6940724 B1 JP 6940724B1 JP 2021526389 A JP2021526389 A JP 2021526389A JP 2021526389 A JP2021526389 A JP 2021526389A JP 6940724 B1 JP6940724 B1 JP 6940724B1
Authority
JP
Japan
Prior art keywords
error
coordinate system
node
control point
unit
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.)
Active
Application number
JP2021526389A
Other languages
English (en)
Other versions
JPWO2021157574A1 (ja
Inventor
浩貴 澤岡
浩貴 澤岡
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
Publication of JPWO2021157574A1 publication Critical patent/JPWO2021157574A1/ja
Application granted granted Critical
Publication of JP6940724B1 publication Critical patent/JP6940724B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/404Numerical 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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/37Measurements
    • G05B2219/37506Correction of position error
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39444Display of position, of shape of robot and tool

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)

Abstract

構成要素をノードとするグラフを用いることにより、任意の機械構成を有する工作機械における誤差を補正する。制御装置は、機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する制御点座標系挿入部と、挿入された制御点及び座標系に識別子を割り当てる識別子割り当て部と、制御対象における機械誤差に係る情報と、機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部と、機械誤差を等価な誤差ノードに変換する誤差ノード生成部と、機械構成のグラフにおいて、誤差ノードを追加する誤差ノード追加部とを備える。

Description

本発明は、制御装置に関する。
通常、工作機械やロボットを制御する制御装置においては、工作機械やロボットに含まれる制御対象となる制御点に対して、プログラム上で指令値を用いることにより制御する。例えば、工作機械においては、通常、工具根元位置が制御点とされている。一方で、工具長補正機能を用いたり、工具先端点制御を実施したりする場合には、工具先端位置が制御点とされる。そして、これらの制御点が、指令値により指定した座標値に移動するように、制御が実行される。
しかし、実際の機械においては、工具先端点の位置や、工具根元位置、工具の姿勢等を示す数値には誤差が存在することが多い。そのため、この誤差に起因して、工具先端点位置や工具姿勢が指令値通りの軌道にならないことがある。
この点、誤差を補正する技術として、直進軸の運動に依存する並進誤差及び姿勢誤差と、回転軸の運動に依存する並進誤差と姿勢誤差による影響を補正して高精度な加工を実現するため、直進軸と回転軸とを有する工作機械を制御する数値制御装置であって、直進軸の運動に依存する並進誤差と姿勢誤差とから直進軸の位置補正量を計算する直進軸依存位置補正量計算手段と、回転軸の運動に依存する並進誤差と姿勢誤差とから直進軸の位置補正量を計算する回転軸依存位置補正量計算手段と、直進軸の運動に依存する姿勢誤差の一部と回転軸の運動に依存する姿勢誤差の一部とから回転軸の角度補正量を計算する回転軸角度補正量計算手段と、回転軸補正量に対応する直進軸の位置補正量を計算する位置加算補正量計算手段とを有する数値制御装置に係る技術が知られている(例えば、特許文献1参照)。
一方で、制御対象となる産業機械の機械構成を、構成要素をノードとするグラフ形式で表現し、このグラフに基づくことにより、任意の機械構成を有する産業機械を制御する技術が知られている(例えば、特許文献2参照)。
特許第5105024号公報 特許第6549683号公報
通常の誤差補正技術は、任意の機械構成を有する工作機械には対応していないため、例えば上記のような、構成要素をノードとするグラフを用いる制御技術を、誤差補正に適用する手段が考えられる。しかし、従来の構成要素をノードとするグラフを用いる制御技術を、そのまま誤差補正に適用することは困難であった。
構成要素をノードとするグラフを用いることにより、任意の機械構成を有する工作機械における誤差を補正する技術が望まれている。
本開示の一態様は、制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置であって、前記機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する制御点座標系挿入部と、前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部と、前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部と、前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部と、前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、を備える制御装置である。
本開示の一態様は、制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置であって、前記機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる制御点座標系挿入部と、前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部と、前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部と、前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部と、前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、を備える制御装置である。
本発明によれば、構成要素をノードとするグラフを用いることにより、任意の機械構成を有する工作機械における誤差を補正することが可能となる。
本発明の実施形態に係る制御装置の構成を示す図である。 本発明の実施形態に係る制御装置に備わるCMOSメモリの機能を示すブロック図である。 本発明の実施形態に係る制御装置に備わるCPUの機能を示すブロック図である。 本発明の実施形態に係る移動指令部のCPUの機能を示すブロック図である。 本発明の実施形態に係る機械構成木を生成する対象となる機械の例を示す図である。 本発明の実施形態に係る機械構成木の生成方法を示す図である。 本発明の実施形態に係る機械構成木の生成方法を示す図である。 本発明の実施形態において生成された機械構成木の生成動作を示す図である。 本発明の実施形態に係る機械構成の親子関係の例を示す図である。 本発明の実施形態に係る機械構成の親子関係の例を示す図である。 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。 本発明の実施形態に係る機械構成の例を示す図である。 本発明の実施形態に係る機械構成に含まれるユニットの定義方法を示す図である。 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。 通常のテーブルに設置されたワークに対する指令の例を示す図である。 本発明の実施形態に係る数値制御装置による指令の例を示す図である。 機械構成木の生成対象となる機械の例を示す図である。 機械構成木の生成対象となる機械に対応する機械構成木の例を示す図である。 本発明の実施形態において、機械の各ノードに座標系及び制御点が挿入された例を示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態において、各ノードにオフセット及び姿勢マトリクスが挿入される機械の例を示す図である。 本発明の実施形態において、機械の各ノードにオフセット及び姿勢マトリクスが挿入された例を示す図である。 本発明の実施形態において、機械構成木に制御点を挿入する生成動作を示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態における、機械構成木の例を示す図である。 本発明の実施形態における、機械座標系の機械原点に対する制御点位置ベクトル及び制御点姿勢マトリクスを示す図である。 本発明の実施形態における、機械座標系の機械原点に対する指令値位置ベクトル及び指令値姿勢マトリクスを示す図である。 本発明の実施形態における、プログラムの例を示す図である。 本発明の実施形態における、プログラムの例を示す図である。 本発明の実施形態における、プログラムの例を示す図である。 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。 本発明の実施形態における、プログラムの例を示す図である。 本発明の実施形態における、プログラムの例を示す図である。 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。 本発明の実施形態における、プログラムの例を示す図である。 工作機械における誤差の実測方法についての説明図である。 工作機械に設置されたミラーの誤差としてのオフセットについての説明図である。 工作機械に設置されたミラーの誤差としてのロール、ピッチ、及びヨーについての説明図である。 工作機械における誤差オフセットベクトルについての説明図である。 本発明の実施形態における機械構成木において、誤差ノードの挿入箇所を示す図である。 本発明の実施形態において、異なる座標系の間で並進誤差と回転誤差とを変換する方法を示す図である。 本発明の実施形態における、機械構成木の例を示す図である。 工作機械におけるミラーオフセットについての説明図である。 本発明の実施形態における、機械構成木の例を示す図である。 工作機械における直角度誤差についての説明図である。 本発明の実施形態における、機械構成木の例を示す図である。 計測用の基準形状を有する人工物であるアーティファクトの構成例を示す図である。 本発明の実施形態において、アーティファクトの設置例を示す図である。 本発明の実施形態における、機械構成木の例を示す図である。
以下、本発明の実施形態について、図1〜図48を参照しながら詳述する。まず、本発明の実施形態に係る制御装置の構成について説明する。
〔1.発明の構成〕
図1には、本発明の実施形態に係る制御装置100の構成例が示されている。制御装置100は、主として、CPU11と、ROM12と、RAM13と、CMOS14と、インタフェース15、18、19と、PMC(プログラマブル・マシン・コントローラ)16と、I/Oユニット17と、軸制御回路30〜34と、サーボアンプ40〜44と、スピンドル制御回路60と、スピンドルアンプ61とを備える。
CPU11は制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って制御装置100の全体を制御する。
RAM13には、一時的な計算データや表示データ、及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。
CMOSメモリ14は、図示しないバッテリでバックアップされ、制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インタフェース15を介して読み込まれた加工プログラムや、表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。
なお、本実施形態において、ROM12は、機械構成グラフ記憶部141と、誤差情報記憶部142とを備える。図2は、ROM12の構成を示す。
機械構成グラフ記憶部141は、後述のグラフ生成部111によって生成されるグラフ形式の機械構成、すなわち本実施形態における「機械構成木」を記憶する。
誤差情報記憶部142は、制御対象としての産業機械における、機械誤差に係る情報と、機械誤差を観測した座標系に割り当てられた識別子とを記憶する。なお、この識別子は、後述の識別子割り当て部114により割り当てられたものである。
なお、誤差情報記憶部142と、CPU11に備わる他の構成要素との情報の入出力に係る機能については、CPU11に係る説明の中で後述する。
ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが、予め書き込まれている。
本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース15や表示器/MDIユニット70を介して入力し、CMOSメモリ14に格納することができる。
インタフェース15は、制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。
PMC(プログラマブル・マシン・コントローラ)16は、制御装置100に内蔵されたシーケンスプログラムで、産業機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力して制御する。また、産業機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、信号をCPU11に渡す。
表示器/MDIユニット70は、ディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース18は、表示器/MDIユニット70のキーボードからの指令やデータを受けて、これらをCPU11に渡す。インタフェース19は、手動パルス発生器等を備えた操作盤71に接続されている。
各軸の軸制御回路30〜34は、CPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。
サーボアンプ40〜44は、この指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
スピンドル制御回路60は、産業機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61は、このスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合されている。パルスエンコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス20を経由してCPU11によって読み取られる。
なお、図31に示す制御装置100の構成例では、軸制御回路30〜34の5つの軸制御回路と、サーボモータ50〜54の5つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。
図43は、上記のCPU11が、ROM12に格納されたシステムプログラム及びアプリケーションプログラムを、バス20を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。CPU11は、グラフ生成部111と、制御点座標系挿入部113と、識別子割り当て部114と、誤差ノード生成部115と、制御点座標系指定部116と、指令値判断部117と、移動指令部118とを備える。
グラフ生成部111は、制御対象の機械構成をグラフ形式で生成する。その詳細な動作については、以下の「2.機械構成木の生成」で詳述する。
また、グラフ生成部111は、誤差ノード追加部112を備える。誤差ノード追加部112の機能については、後述する。
制御点座標系挿入部113は、機械構成のグラフに対し、制御点及び座標系を挿入する。
識別子割り当て部114は、制御点及び座標系のそれぞれに識別子を割り当てる。
制御点座標系挿入部113及び識別子割り当て部114の詳細な動作については、以下の「3.指令アドレスの抽象化」〜「8.機械構成木からの座標系の導出」で詳述する。
誤差ノード生成部115は、誤差情報記憶部142に記憶された機械誤差を、誤差ノード挿入位置からの相対的な値に変換する。
誤差ノード生成部115によって変換された誤差ノードは、誤差ノード追加部112によって、機械構成をグラフ形式で生成された機械構成、すなわち本実施形態における「機械構成木」に追加される。
誤差情報記憶部142、誤差ノード生成部115、及び誤差ノード追加部112の機能の具体例については、以下の「10.実施例」において説明する。
制御点座標系指定部116は、上記の識別子により、上記の制御点及び座標系を指定する。具体的には、制御点座標系指定部116は、例えば、プログラム中の指令、パラメータ設定、画面操作、及び制御装置100への入力手段からの入力値のいずれかにより、上記の制御点及び座標系を指定する。
指令値判断部117は、プログラム中の指令値が、どの制御点に対するどの座標系上の座標値か判断する。
制御点座標系指定部116及び指令値判断部117の詳細な動作については、以下の「3.指令アドレスの抽象化」〜「8.機械構成木からの座標系の導出」で詳述する。
移動指令部118は、制御点の座標値がプログラム中の指令値となるように、制御点の移動を指令する。移動指令部118の詳細な動作については、以下の「9.移動パルス生成方法」で詳述する。また、図4は移動指令部118の構成例を示す。
図4に示すように、移動指令部118は、連立方程式生成部181と、連立方程式求解部182と、移動パルス生成部183とを備える。
連立方程式生成部181は、以下の「9.移動パルス生成方法」に記載の方法により、指定された座標系と機械構成のグラフとから、指令値の第1座標変換式を求め、また、指定された制御点と機械構成のグラフとから、制御点の第2座標変換式を求め、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を生成する。
連立方程式求解部182は、上記の多元多次連立方程式の解を求める。
移動パルス生成部183は、連立方程式求解部182が生成した解を用いて、移動指令に用いる移動パルスを生成する。
〔2.機械構成木の生成〕
本発明の実施形態に係る制御装置100は、最初に、機械構成を表すグラフを生成する。グラフの一例として機械構成木を生成する生成方法について、図5〜図8を参照しながら詳述する。
例として、図5に示す機械の構成を表現する機械構成木の生成方法について説明する。図5の機械においては、Z軸に対して垂直にX軸が設定され、X軸には工具1が設置され、Z軸には工具2が設置されているとする。一方で、Y軸上にB軸が設定され、B軸上にC軸が設定され、C軸にはワーク1とワーク2が設置されているとする。この機械構成を機械構成木として表現する方法は、以下の通りである。
まず、図6に示すように、原点201とノード202A〜202Gのみを配置する。この段階では、原点201とノード202、及びノード202間でのつながりは持たず、原点及びノードの各々の名称も設定されていない。
次に、各軸の軸名称(軸型)、各工具の名称、各ワークの名称、各原点の名称、各軸の物理軸番号(軸型)を設定する。次に、各軸の親ノード(軸型)、各工具の親ノード、各ワークの親ノードを設定する。最後に、各軸の交叉オフセット(軸型)、各工具の交叉オフセット、各ワークの交叉オフセットを設定する。その結果、図7に示す機械構成木が生成される。
なお、機械構成木の各ノードは、上記の各情報に限られず、例えば、識別子(名称)、自身の親ノードの識別子、自身を親とする全ての子ノードの識別子、親ノードに対する相対オフセット(交叉オフセット)、親ノードに対する相対座標値、親ノードに対する相対移動方向(単位ベクトル)、ノード種別(直線軸/回転軸/ユニット(後述)/制御点/座標系/原点等)、物理軸番号、直交座標系と物理座標系の変換式に係る情報を有してもよく、あるいは、有さなくてもよい。
また、機械構成木の各ノードは、ノード自身が制御点あるいは座標系であるために必要な情報を有してもよく、有さなくてもよい。制御点あるいは座標系であるために必要な情報としては、詳しくは後述するが、例えばオフセット、姿勢マトリクス、移動やオフセットを加味するか/しないかという情報であり、これらを含んでもよく、含まなくてもよい。このとき、ノード自身が制御点あるいは座標系であるために必要な情報を有するか有さないかによって、後述の制御点座標系指定部の実施形態が異なる。また、必要な情報を有しない場合は、後述の制御点座標系挿入部及び制御点座標系識別子割当て部により必要な情報をノードに付与することもできる。
このように各ノードに値を設定していくことにより、制御装置100内に機械構成木状のデータ構造を有するデータを生成する。更に、別の機械(又はロボット)を追加する場合も、原点を追加し、更にノードを追加することができる。
上記の機械構成木生成方法、とりわけ各ノードへの各値の設定方法を一般化したフローチャートを図8に示す。
ステップS11において、グラフ生成部111は、ノードに対して設定するパラメータの値を受け取る。
ステップS12において、設定されたパラメータの項目が「自身の親ノード」の場合(S12:YES)には、処理はステップS13に移行する。「自身の親ノード」ではない場合(S12:NO)には、処理はステップS17に移行する。
ステップS13において、パラメータが設定されるノードに、既に親ノードが設定されている場合(S13:YES)には、処理はステップS14に移行する。親ノードが設定されていない場合(S13:NO)には、処理はステップS15に移行する。
ステップS14において、グラフ生成部111は、パラメータが設定されるノードの、現在の親ノードが持つ「子ノード」の項目から、自身の識別子を削除し、機械構成木を更新する。
ステップS15において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定する。
ステップS16において、グラフ生成部111は、親ノードに対し、「子ノード」の項目に自身の識別子を追加し、機械構成木を更新した後、フローを終了する。
ステップS17において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定した後、フローを終了する。
上記の機械構成木状のデータ構造を有するデータの生成方法を用いることにより、機械の構成要素同士の親子関係を設定することが可能である。
ここで親子関係とは、例えば図9Aのように、2つの回転軸ノード104、105があったとき、一方のノード104の座標値の変化が、他方のノード105の幾何的状態(典型的には、位置・姿勢)に対して一方的に影響を及ぼすような関係のことである。この場合ノード104、105は親子関係にあると呼び、ノード104を親、ノード105を子と呼ぶ。
しかし、例えば図9Bに示すように、2つの直線軸ノード102、103と4つのフリージョイント101により構成された機械構成においては、ノード102、103の一方の座標値(長さ)が変わることにより、他方の幾何的状態だけでなく、自身の幾何的状態も変わるような、相互に影響を及ぼす機構が存在する。このような場合は、互いに親であり子、すなわち親子関係が双方向であるとみなすことができる。
このように、あるノードの変化が他のノードに互いに影響し合うような機構については、利便性の観点から、1つのユニットとして捉え、このユニットを機械構成木に挿入することにより全体の機械構成木を生成する。ユニットは、図10Aのように二つの接続点110及び接続点120を持っており、ユニットが図10Bのように機械構成木に挿入された場合、図10Cのように、親ノードは接続点120に接続され、また、子ノードは接続点110に対して接続される。また、ユニットは、接続点120から接続点110への変換マトリクスを持っている。この変換マトリクスは、ユニットに含まれる各ノードの座標値によって表される。例えば図11のような機械構成の場合、接続点120における位置・姿勢を表す同次マトリクスをMとし、接続点110における位置・姿勢を表す同次マトリクスをMとすると、それらのマトリクス間の変換式はユニットに含まれる各直線軸ノードの座標値x、xを用いて以下のように表される。
Figure 0006940724
この機械構成を表すユニットは上記の[数1]の数式中のTのような同次変換マトリクスを持つ。同次マトリクスとは、以下の[数2]の数式のように位置・姿勢をまとめて表現できる4×4マトリクスのことである。
Figure 0006940724
また、親子関係が相互でない場合であっても、計算処理や設定を簡単にするために、ある複数のノードを予め1つにまとめたユニットを定義し、機械構成木中に構成してもよい。
また、このようなユニットは、予め数値制御装置に定義されていてもよいし、ユーザが独自に記述したスクリプトを数値制御装置が読み込んでもよい。
図12Aは、ユーザが独自に記述したスクリプトを数値制御装置が読み込む際のフローの例を示す。
ステップS21において、制御装置100が、ユーザによって定義されたスクリプトを読み込む。
ステップS22において、制御装置100が、読み込んだスクリプトの内容を解析し、ユニットを新たに定義する。
ステップS23において、制御装置100が、新たに定義したユニットを、機械構成グラフに挿入可能な構成要素として、新たに登録する。
その結果、ステップS24において、ユーザは登録された独自ユニット(図12Bの例においては、MyUnit)を機械構成木に挿入することが可能となる。
すなわち、ユーザが独自に記述したスクリプトを数値制御装置が読み込み、その内容を解析することで、ユニットを新たに定義し、これを用いて、機械構成木中に構成することができてもよい。
図12Bは、図12Aに記載のスクリプトにより、新たに定義された独自ユニットMyUnitが機械構成木に挿入された例を示す。これにより、ユーザの所望の形式のユニットが数値制御装置に予め定義されていなくても、ユーザが独自に定義を追加できるため、利便性が向上する。
上記のように、本実施形態においては、機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含むことができる。
なお、上記の機械構成木は、図13Aのように表示器70にグラフィカルに表示すること、及び、表示器70上でグラフィカル・ユーザ・インタフェース(GUI)を用いて簡単に設定することが可能である。例えば、図13Bのようにドラッグアンドドロップ操作でノードを配置でき、図13Cのようにドラッグ操作でノード同士の親子関係を設定でき、図13Dのようにマウスクリック操作で設定用メニューを開いてノードの属性を設定することができたりする。
工作機械等の産業機械は多様な機械構成を持つため構成要素同士の親子関係もまた多様であるが、通常、数値制御装置においては、構成要素同士の親子関係に関する情報を持っていないため、そのような情報が必要な制御はできない。しかし、数値制御装置は、上記の機械構成木、あるいは、機械構成木状のデータ構造を有するデータの生成方法を用いることにより、多様な機械構成を持つ工作機械やロボットを制御できるようになり、利便性が向上する。また、ユーザは、グラフィカル・ユーザ・インタフェース(GUI)を用いることにより、直感的に機械構成木を数値制御装置に設定することが可能となる。
〔3.指令アドレスの抽象化〕
上記のように、機械構成木を生成する際には、個々の軸に軸名称を付ける。通常、数値制御装置で使用される加工プログラムにおいては、軸名称と移動先の座標値又は移動量を意味する数値との組み合わせを用いて、移動を指令する。
しかし、軸名称を任意に設定できても、機械の軸構成が異なる場合には、個々の軸名称にて指令を行う限り、プログラムは異ならざるをえない。例えば、図14に示すように、ワーク212に対して工具213を用いて加工を行う場合、(a)のようにワークが回転テーブル214に載っている場合と、(b)のように直動テーブル211上に載っている場合とでは、ワーク212に対する工具213の所望の相対加工経路215が同じであったとしても、それを実現する指令は、(a)の場合には216であり、(b)の場合には217であるように、プログラムが異なってしまう。具体的には、216の場合には、回転テーブルの回転軸Cを180度移動させることで円弧経路を実現するが、217の場合には、直線軸XYにより円弧補間指令を行うことで円弧経路を実現するといったように、プログラムが異なる。
また、従来はGコードモーダル毎に指令可能なアドレスは決まっており、モーダルが変わった場合には、それに合わせて指令アドレスを変える必要があった。例えば、工具先端点制御において工具の姿勢を表すには、タイプ1モード中であれば各回転軸アドレス(例えばアドレスA,B,C)で指令し、タイプ2モード中であれば工具姿勢ベクトル(アドレスI,J,K)で指令するといったように、それぞれのモード中に指令可能なアドレスが決まっている。そのため、例えばタイプ1モード中にアドレスI,J,Kで指令をしたり、逆にタイプ2モード中に回転軸アドレスA,B,Cで指令をしたりすることはできなかった。
そこで、本発明においては、軸名称ではなく、ある座標系における、ある制御点の位置や姿勢等を定義する抽象的アドレスを用いる。具体的には、まず、アドレスを定義するために図15の218のように指令を行う。218では、機械構成中の実際の軸名称とは無関係に予め定義された識別子(第一直線軸位置を表す識別子L1や第二直線軸位置を表す識別子L2)に対して好適なアドレスα、βを代入することにより、直交座標系の第一直線軸位置としてアドレスαを、直交座標系の第二直線軸位置としてアドレスβを定義する。同様にして、実際の軸名称とは無関係に予め定義された工具姿勢ベクトルを表す識別子V1,V2,V3に対して好適なアドレスを代入して、工具姿勢ベクトルを表す各アドレスを定義してもよい。あるいは、実際の軸名称とは無関係に予め定義された第一・第二回転軸位置を表す識別子R1,R2に対して好適なアドレスを代入して、各回転軸位置を表すアドレスを定義してもよい。プログラム中でこれらが定義されない場合は、制御装置100にパラメータで設定されたデフォルトのアドレスが第一直線軸位置・第二直線軸位置等各々の抽象的意味を表すアドレスとして定義される。そして、以降は図15の219に示すように、これらα、βをプログラムで用いることにより、どのような機械構成でも、また、実際の軸名称が異なる機械同士でも、共通の形式でプログラムを記述できるようになる。また、同じ制御点に対する指令でも、図15の220のようにアドレスを変えるだけで、例えばあるブロックでは工具方向を決めるためにベクトルで指令したり、あるブロックでは回転軸角度で指令したりと、その都度プログラム作成者にとって好適な様々な指令方法を使うことが可能になる。
上記のように、本実施形態においては、指令値として、機械構成のグラフに含まれる軸名称とは無関係に、意味毎に予め定義された識別子に対して割り当てた、任意のアドレスを用いることができる。なお、上記の「意味」は、制御点の位置、制御点の姿勢、及び、姿勢を決定する回転軸の角度位置を含む。
〔4.制御点と座標値の自動挿入〕
「2.機械構成木の生成」にて述べたように、機械構成グラフの各ノードは、自身が制御点あるいは座標系となるために必要な情報を持つことができるが、持たないこともできる。ノードが制御点あるいは座標系となるために必要な情報を持たない場合には、機械構成上の様々な位置を、制御点として指定すると共に、機械構成上の様々な箇所の座標系を設定するため、上記の「2.機械構成木の生成」で生成された機械構成木を用いて、以下の方法を実施する。
例えば、図16Aに示すロータリインデックスマシン300においては、Z1軸に対して垂直にX1軸が設定され、X1軸に工具1が設置されている。また、Z2軸に対して垂直にX2軸が設定され、X2軸上に工具2が設置されている。更に、テーブルにおいては、C軸上にC1軸とC2軸が並列に設定され、C1軸とC2軸の各々にワーク1とワーク2が設置されているとする。この機械構成を機械構成木で表わすと、図16Bに示す機械構成木となる。
各ワークから機械原点に連なる一連のノードを例に取ると、図17に示すように、機械原点、C軸、C1軸、C2軸、ワーク1、ワーク2の各々に座標系と制御点を自動挿入する。これを、テーブルに対してのみならず、各工具から機械原点に連なる一連のノード、すなわちX1軸、X2軸、Z1軸、Z2軸、工具1、工具2のすべてに対して実施する。その結果、図18に示すように、機械構成木を構成するすべてのノードに対して、各々に対応する制御点と座標系が自動挿入される。通常、加工を行う場合にはワークに座標系、工具を制御点として指定する。これにより、例えば、ワーク自身を所定の位置へ移動させるために、ワークに制御点を指定したい場合や、ある工具で別の工具を研磨するために、工具自身に座標系を設定したい場合といった様々な場合に対応することも可能となる。
また、図19Aに示すように、各制御点及び座標系は、オフセットを有する。そのため、ノード中心から離れた点を制御点や座標系原点にすることも可能である。更に、各制御点及び座標系は姿勢マトリクスを持つ。この姿勢マトリクスは、制御点の姿勢マトリクスである場合、制御点の姿勢(向き、傾き)を表し、座標系の姿勢マトリクスの場合、座標系の姿勢を表わす。図19Bに示す機械構成木においては、オフセット及び姿勢マトリクスは、各々が対応するノードに紐づく形で表現される。更に、各制御点及び座標系は、機械構成木のルートまでの経路上に存在するノードの「移動」及び「交叉オフセット」それぞれを加味するか/しないかの情報を持っており、それらを設定できる。
上記の制御点の自動挿入方法を一般化したフローチャートを図20に示す。このフローチャートは、詳細には、チャートAとチャートBとを含み、後述のように、チャートAの途中でチャートBが実行されるという構成となっている。
まず、チャートAについて説明する。
ステップS31において、グラフ生成部111は、機械構成木を設定する。
ステップS32において、チャートBを実行し、チャートAのフローを終了する。
次に、チャートBについて説明する。
チャートBのステップS41において、ノードは制御点・座標系を挿入済である場合(S41:YES)には、フローを終了する。ノードに制御点・座標系を挿入済でない場合(S41:NO)には、処理はステップS42に移行する。
ステップS42において、制御点座標系挿入部113は、ノードに制御点・座標系を挿入し、変数nを1つスタックする。また、n=1とする。
ステップS43において、ノードにn番目の子ノードが存在する場合(S43:YES)には、処理はステップS44に移行する。ノードにn番目の子ノードが存在しない場合(S43:NO)には、処理はステップS46に移行する。
ステップS44において、n番目の子ノードについて、チャートB自身を再帰的に実行する。
ステップS45において、nを1だけインクリメントする。すなわちn=n+1とし、処理はステップS43に戻る。
ステップS46において、変数nを1つポップし、チャートBのフローを終了する。
上記の方法により、制御点座標系挿入部113は、機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する。なお、上記では、制御点及び座標系をノードとして追加する場合の実施例を示したが、図21に示すように、制御点座標系挿入部113は、機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる実施形態も同様に可能である。また、「2.機械構成木の生成」でも述べたように、グラフ生成部が図22に示すような機械構成木(各ノードが制御点あるいは座標系であるために必要な情報を持っている機械構成木)を生成することも可能である。この場合、機械構成木は既に制御点あるいは座標系としての情報を持っているため、制御点座標系挿入部は必ずしも必要ではない。
〔5.制御点位置及び制御点姿勢の計算方法〕
図23に示すように、機械構成木のルートに対する、機械構成木中のある制御点の位置・姿勢を表す同次マトリクスをMとした場合、これは以下のように求められる。
まず、機械構成木中のあるノードからあるノードまでの間に存在するノードを並べたものを経路と定義する。例えば、図17においてノードZ1から制御点[工具1]までの経路p1は以下のように表される。
Figure 0006940724
機械構成木中のルートからある制御点までの経路p2が以下のようであるとする。
Figure 0006940724
上記経路中の始点xがルートである。この経路によって表される制御点の、ルートに対する位置姿勢の同次マトリクスMは、
Figure 0006940724
により、算出される。ただし、記号の意味は、以下の通りである。
S:各ノードによる同次変換マトリクス;
N:機械構成木のルートから制御点まで連なる一連のノード個数;
[ctrl]:制御点の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、制御点に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
xi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
xi:ノードxiの移動を加味する(1)、加味しない(0);
ここで、axi、bxiは制御点を指定する際に指定することもできる情報で、詳細については後述の〔8.機械構成木から導出した座標系のカスタマイズ〕において説明する。
また、同次変換マトリクスSはノードの種別(直線軸/回転軸/ユニット/制御点/座標系等)によって変わり、以下のように表される。
直線軸の場合
Figure 0006940724
により、算出される。ただし、記号の意味は、以下の通りである。
:ノードxiの座標値;
ofsxi:ノードxiの親ノードに対する相対オフセットベクトル;
xi:ノードxiの移動方向ベクトル;
回転軸の場合
Figure 0006940724
により、算出される。ただし、記号の意味は、以下の通りである。
:ノードxiの回転軸方向ベクトルの第1成分;
:ノードxiの回転軸方向ベクトルの第2成分;
:ノードxiの回転軸方向ベクトルの第3成分;
ユニットの場合
Figure 0006940724
により、算出される。ただし、記号の意味は、以下の通りである。
T(0):単位行列(無変換行列);
T(1):ユニットノードに定義された接続点120から接続点110への同次変換マトリクス;
ユニットの変換同次マトリクスについては、先述した通り例えば[数1]の数式中のTのようなユニット毎に定義された同次変換マトリクスである。
また、特に規定が無い場合、同次変換マトリクスSは単位行列とする。
〔6.指令点位置及び指令点姿勢の計算方法〕
図24に示すように、ある指定座標系上の指令値として、指令位置ベクトルpos、指令姿勢マトリクスmatが指定されている場合、この指令値の、機械構成木のルートに対する位置姿勢を表す同次マトリクスMは、以下の式により求められる。
まず、指令値の同次マトリクスMを以下のように定義する。
Figure 0006940724
また、制御点の場合と同様に考え、機械構成木中のルートからある座標系までの経路pが以下のようであるとする。
Figure 0006940724
これにより、同次マトリクスM
Figure 0006940724
により、算出される。ただし、記号の意味は、以下の通りである。
S:各ノードによる同次変換マトリクス;
L:機械構成木のルートから座標系まで連なる一連のノード個数;
[coord]:座標系の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、座標系に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
xi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
xi:ノードxiの移動を加味する(1)、加味しない(0);
xi、bxiは座標系を指定する際に指定することのできる情報で、詳細については後述の〔8.機械構成木から導出した座標系のカスタマイズ〕において説明する。
また、同次変換マトリクスSは[数6]〜[数8]の数式を用いて説明したものと同様である。
〔7.プログラム内における制御点及び座標系の指定方法〕
まず、上記の「2.機械構成木の生成」において、各ノードが制御点あるいは座標系であるために必要な情報を持つように機械構成木が生成された場合に、各ノードを制御点あるいは座標系としてプログラム内で指定する方法の一例を、図25に示す。
図25に例示するコマンドは、前半部が座標系を指定する文例であり、後半部が制御点を指定する文例である。以下、図25の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.9 P<ワーク1>;」により、ノード「ワーク1」を座標系として指定する。
2行目の「G54.8 P<ワーク1><WORK1>;」により、ノード「ワーク1」に“WORK1”という別の識別子を設定する。
3行目の「G54.9 P<WORK1>;」により、「WORK1」という別の識別子により、ノード「ワーク1」を座標系として指定する。
4行目の「G54.7 P<C1> X_Y_Z_;」により、ノード「C1」の座標系交叉オフセットを設定する。
5行目の「G54.6 P<C1> I_J_K_;」により、ノード「C1」の座標系姿勢マトリクスをRoll/Pitch/Yawで設定する。
6行目の「G54.9 P<C1>;」により、ノード「C1」を座標系として指定すると共に、上記の交叉オフセット及び姿勢マトリクスが加味される。
7行目の「G43.9 <工具1>;」により、ノード「工具1」を制御点として指定する。
8行目の「G43.8 P<工具1><TOOL1>;」により、ノード「工具1」に「TOOL1」という別の識別子を設定する。
9行目の「G43.9 P<TOOL1>;」により、「TOOL1」という別の識別子により、ノード「工具1」を制御点として指定する。
10行目の「G43.7 P<B1> X_Y_Z_;」により、ノード「B1」の制御点交叉オフセットを設定する。
11行目の「G43.6 P<B1> I_J_K_;」により、ノード「B1」の制御点姿勢マトリクスをRoll/Pitch/Yawで設定する。
12行目の「G43.9 P<B1>;」により、ノード「B1」を制御点として指定する共に、上記の交叉オフセット及び姿勢マトリクスが加味される。
次に、上記の「4.制御点と座標系の自動挿入」により、機械構成木に対して挿入された制御点と座標系を、プログラム内で指定する方法の一例を、図26に示す。
図26に例示するコマンドは、前半部が座標系を指定する文例であり、後半部が制御点を指定する文例である。以下、図26の記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。
1行目の「G54.9 <座標系[ワーク1]>;」により、座標系[ワーク1]を指定する。
2行目の「G54.8 P<座標系[ワーク1]><WORK1>;」により、座標系[ワーク1]に“WORK1”という識別子を設定する。
3行目の「G54.9 P<WORK1>;」により、“WORK1”という別の識別子により、座標系[ワーク1]を指定する。
4行目の「G54.7 P<座標系[C1]> X_Y_Z_;」により、座標系[C1]の交叉オフセットを設定する。
5行目の「G54.6 P<座標系[C1]> I_J_K_;」により、座標系[C1]の姿勢マトリクスをRoll/Pitch/Yawで設定する。
6行目の「G54.9 P<座標系[C1]>;」により、座標系[C1]を指定すると共に、上記の交叉オフセット及び姿勢マトリクスが加味される。
7行目の「G54.9 <制御点[工具1]>;」により、制御点[工具1]を指定する。
8行目の「G54.8 P<制御点[工具1]><TOOL1>;」により、制御点[工具1]に“TOOL1”という識別子を設定する。
9行目の「G54.9 P<TOOL1>;」により、“TOOL1”という別の識別子により、制御点[工具1]を指定する。
10行目の「G54.7 P<制御点[B1]> X_Y_Z_;」により、制御点[B1]の交叉オフセットを設定する。
11行目の「G54.6 P<制御点[B1]> I_J_K_;」により、制御点[B1]の姿勢マトリクスをRoll/Pitch/Yawで設定する。
12行目の「G54.9 P<制御点[B1]>;」により、制御点[B1]を指定する共に、上記の交叉オフセットが加味される。
このように、各ノードが制御点あるいは座標系であるために必要な情報を持つにせよ、持たないにせよ、機械構成木中の適切な箇所を制御点あるいは座標系として指定することが可能である。図25においては、制御点と座標系を指定する各々のGコードは番号が分かれているが、図26においては、制御点と座標系を指定する各々のGコードは共通にすることもできる。このように、座標系制御点挿入部及び識別子割り当て部は本発明の実施上不可欠なものではないが、導入してもよい。
〔8.機械構成木から導出した座標系のカスタマイズ〕
上述の通り、機械構成木中の好適な座標系をプログラム指令により選択することができ、選択された座標系上の指令値は、[数9]〜[数11]の数式を用いて説明したように機械座標値に変換することができる。この変換において、経路p3中の各ノードに対応する一連のaxi、bxiは基本的には以下のように全て1として計算される。
Figure 0006940724
この場合、一連のノードの交差オフセット及び移動は全て加味される。
ここで、ap3及びbp3は経路p3の各要素に対応する要素を持ち、随伴する経路のように見ることができる。そこでこれらをp3の随伴経路ap3、bp3と呼ぶことにする。
ところで、[発明が解決しようとする課題]で先述したように、特定の軸に対してのみ座標系が連れ回らない方が好適な場合もある。例えば図19A及び図19Bにおいて以下の経路pにて定義される座標系上でC1軸により旋削加工を行いたい場合は、C1軸に連れ回らない方が使いやすい。
Figure 0006940724
この場合、以下のように随伴経路ap4,bp4を指定すれば、C1軸にのみ連れ回らないように座標系をカスタマイズすることができる。
Figure 0006940724
このように、指定した座標系に対し随伴経路を適宜指定することで、使い方に応じて好適なように座標系をカスタマイズすることができる。随伴経路は、図27に示すようにプログラム指令により指定できる。プログラムの内容を説明すると、G254.9P<ワーク1>Q<C1>0指令により、ワーク1に挿入された座標系のac1を0に指定できる。
また、G154.9P<ワーク1>Q<C1>0指令により、ワーク1に挿入された座標系のbc1を0に指定できる。
そしてG54.9P<ワーク1>指令により、ac1=0,bc1=0としてカスタマイズされた座標系[ワーク1]を指定することができる。
また、座標系だけでなく制御点にも同様に随伴経路が存在するため、これも同様に好適なように随伴経路をプログラムで指定することで、カスタマイズされた制御点を使うことができる。
上記のように、本実施形態においては、座標系及び制御点を規定するための情報を変更することにより、座標系及び制御点は、任意のカスタマイズをすることが可能である。
とりわけ、座標系及び制御点は、特定のノードの影響、具体的には、特定のノードの移動及びオフセットによる影響を除くことが可能である。
〔9.移動パルス生成方法〕
次に、本発明の実施形態に係る制御装置100は、〔3.指令アドレスの抽象化〕の方法により指令されたプログラム内の指令値を、〔7.プログラム内における制御点及び座標系の指定方法〕及び〔8.機械構成木から導出した座標系のカスタマイズ〕の方法により指定された座標系上の座標値と解釈し、指定された制御点の座標値が、この指令値となるように制御点を移動させるために必要な移動パルスを生成する。
具体的には、まず、指定された座標系と機械構成木とから、〔6.指令点位置及び指令点姿勢の計算方法〕の方法により指令値の第1座標変換式を求める。次に、指定された制御点と機械構成木とから、〔5.制御点位置及び制御点姿勢の計算方法〕の方法により制御点の第2座標変換式を求める。次に、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を求める。最後に、例えばグレブナー基底を用いて算出した、上記の多元多次連立方程式の解を用いて、移動指令に用いる移動パルスを生成する。
例えば、図28に示すように、軸x1の上に軸x2が設定され、軸x2の上に軸x3が設定され、以下同様にN個のノードが連なり、その末端が軸xNであるとする。更に、軸xN上に制御点が設置されているとする。同様に、軸y1の上に軸y2が設定され、軸y2の上に軸y3が設定され、以下同様にL個のノードが連なり、その末端が軸yLであるとする。更に、軸yL上にワークが設置されているとする。ここで、xi,yjはノード名称だが、同時に各ノードの座標値も表わすこととする。
また、図29に示すように、プログラムにより直交座標位置を表すアドレスX,Y,Zと工具姿勢を表すアドレスI,J,Kが指定されており、これらのアドレスにより指令値として位置posw=(X,Y,Z)と、工具方向ベクトルvecw=(I,J,K)が与えられているとする。また、図30に示すように、プログラムにより制御点[xN]と座標系[yM]が指定されているとする。
このとき、ここで指定された制御点の機械構成木ルートからの経路pctrl及び座標系の機械構成木ルートからの経路pcoordは以下[数15]のようになる。
Figure 0006940724
また、制御点及び座標系の随伴経路については特にプログラムによる指定が無いため、それぞれの経路の随伴経路apctrl,bpctrl,apcoord,bpcoordの要素は以下[数16]の数式のように全て1となる。
Figure 0006940724
更に、各ノードには図28に示すオフセット、ノード種別(直線/回転/ユニット/制御点/座標系)、軸方向、姿勢マトリクス、座標値が与えられているとする。
この時、図31に示すように、ルート(機械原点)に対する制御点の現在位置・姿勢を表す同次マトリクスMcは、以下の式で求められる。
Figure 0006940724
ただし、記号の意味は、〔5.制御点位置及び制御点姿勢の計算方法〕で説明した通りなので割愛する。
また、指定座標系上における制御点の現在位置・姿勢を表す同次マトリクスMcwは、Mcを用いて以下の式で求められる。
Figure 0006940724
ここから、指定座標系上における制御点の現在位置ベクトルposcwは以下のように求められる。
Figure 0006940724
次に、図32に示すように、指定座標系における次の補間位置ベクトルpos’は、poscwを用いて、以下の式で求められる。
Figure 0006940724
ただし、ここでFとは、補間周期毎の指定移動速度のことである。こうすることで、指定座標系における現在位置・指令点位置とを結ぶ直線上の、補間周期毎の位置を求めることができる。
一方、指定座標系上における制御点の現在工具方向ベクトルveccwは工具基準方向ベクトルを(0、0、1、0)と仮定すると以下のように求められる。
Figure 0006940724
なお、工具基準方向ベクトルは上記に限定されるものではなく、指令やパラメータ設定等により変えてもよい。
よって、図33に示すような、指定座標系上における制御点の次の補間工具方向ベクトルvec’は、以下の式で求められる。
Figure 0006940724
ただし、記号の説明は以下の通りである。
Rot(θ’,axis):ベクトルaxis方向回りにθ’だけ回転する回転行列。[数7]にて説明した行列Rと同様のもの。
以上のように次の補間位置ベクトルposw’と、次の補間工具方向ベクトルvecw’を求めたら、制御点の位置及び姿勢それぞれについて、以下の連立方程式を立てる。
Figure 0006940724
この連立方程式を、各x,yに関して解くことにより、各軸の次の補間位置が求まる。
なお、連立方程式を解く際は、例えばグレブナー基底を用いて解を算出することが可能である。具体的には、辞書式順序x>x>・・・>x>y>y>・・・yに基づき、例えば、Buchburgerアルゴリズム等を用いて、上記連立方程式のグレブナー基底を求めると、最下位順序yについての一元多次方程式が求まる。これを解けばyの解が求められ、この解を用いて他のグレブナー基底についても式を順番に解くことで、上記連立方程式を各x,yに関して解を求めることができる。
このようにして求めた各解x’,y’を用いて各軸に対してΔx’=x’−x,Δy’=y’−yなる移動量を出力することで、指定座標系上における指定速度での移動を実現できる。
なお、機械構成の自由度が冗長な場合は、例えば、いくつかの軸は移動させなかったり、いくつかの軸に対して直接指令値を与えたりといった拘束条件を適宜[数23]の数式に追加して連立することによって、対処することができる。又は、いくつかの軸に対しては通常は移動しない補助軸という属性を持たせておき、特異点近辺でのみ特異点回避動作のためにだけ移動させる方法によって対処することができる。あるいは、補助制御点を追加し、それに対しても指令することにより、対処することが可能である。
また、機械構成の自由度が冗長でない場合であっても、いくつかの軸に対して直接指令値を与えることによって、連立方程式の式連立を省略することもできる。例えば、座標値が変化することにより、指定座標系に対する制御点の工具方向が変化するような回転軸を、工具方向の変化に寄与しない回転軸と区別するために、工具変化回転軸と呼ぶことにし、機械構成木の各ノードは工具変化回転軸であるか否かの情報を持つとする。また、ルートから制御点・座標系への各経路が[数15]の数式で表され、各経路に含まれる工具変化回転軸ノードの一覧が[数24]の数式であるとする。
Figure 0006940724
また、制御点側の工具変化回転軸のうち、ルートから遠いものから順に第一、第二と順序を付け、その後座標系側の工具変化回転軸のうちルートから遠いものから順に第三、第四、と順序を付けることで、いかなる機械構成木に対しても厳密に工具変化回転軸の順序を定義できる。これに従い、xnを第一工具変化回転軸、ymを第二工具変化回転軸と呼ぶことにする。ここで、第一工具変化回転軸を表す識別子R1、第二工具変化回転軸を表す識別子R2を用いて、図34のように指令する。このように指定されたアドレスA、Bを用いることで、工具方向ベクトルではなく、工具変化回転軸の角度値を直接指令することができる。
この場合、第一工具変化回転軸、第二工具変化回転軸の次の補間位置xn’,yn’は以下の式で求めることができる。
Figure 0006940724
これにより、第一工具変化回転軸、第二工具変化回転軸のノード座標値は決まるため、工具方向ベクトルも決まる。そうすると、工具方向ベクトルに関して連立方程式を解く必要は無くなるため、以下の指令位置に関する連立方程式を解くだけでよくなる。
Figure 0006940724
ただし、上式中において、ノードxn,ynの座標値は上記で求めた値を代入し、定数とみなして解く。
上記のように、プログラム中の指令値として、特定のノードの座標値を直接指定できる。これにより、連立式の個数を減らすことが可能となる。
〔10.実施例〕
〔10.1 実施例1〕
以下、図35〜図41を参照することにより、実施例1について説明する。実施例1は、機械構成木において、3次元の回転誤差に係る誤差ノードを機械原点の隣りに挿入する実施例である。
図35は、工作機械65における誤差の実測方法について説明する図である。図35に示すように、工作機械65の工具66の先端にミラー67を設置し、レーザー干渉計(不図示)でレーザーをミラー67に照射することにより、ミラー67の位置の誤差を実測する。
ミラー67の位置の誤差は、並進誤差と回転誤差からなる。並進誤差は、図36に示すように、ミラー67の中心位置のズレに係る誤差であり、中心位置のオフセットとして実測される。一方で、回転誤差は、図37に示すように、ミラー67の姿勢に係る誤差であり、X軸回りの回転角、Y軸回りの回転角、Z軸回りの回転角として実測される。また、前記並進誤差と前記回転誤差は機械座標系上の差分値とする。
ミラー67の並進誤差を表す並進誤差ベクトルは、ミラー67のオフセットの実測値(x,y,z)=(T,T,T)を用いることにより、以下の数式で求めることができる。
Figure 0006940724
一方、ミラー67の回転誤差を表す回転誤差行列は、ミラー67のX軸回りの回転角a、Y軸回りの回転角b、Z軸回りの回転角cを用いることにより、回転角a,b,cが小さい場合には近似的に以下の数式で求めることができる。
Figure 0006940724
これら、並進誤差ベクトルと回転誤差行列は、誤差情報として、誤差情報記憶部142に記憶される。また、機械座標系が誤差を観測した座標系として、誤差情報記憶部142に記憶される。
次に、誤差情報記憶部142に記憶されているミラー位置での誤差を、誤差ノード生成部115により、誤差ノード挿入位置での誤差に変換する。なお、ここでは例として、工作機械65の機械原点68での誤差に変換するものとする。
図38に示すように、機械原点68からミラー67の位置までのベクトルを、ここでは「誤差オフセットベクトル」と呼称する。前記誤差オフセットベクトルは機械構成木から計算可能である。このとき、図39に示す機械構成木において、ミラーに対応するノード352から、誤差オフセットベクトル分だけ離れたノードを、機械原点に対応するノード353の隣りに、誤差ノード354として追加することを想定する。
図40に示すように、ミラー位置における並進誤差を、
Figure 0006940724
ミラー位置における回転誤差を
Figure 0006940724
機械原点位置における並進誤差を
Figure 0006940724
機械原点位置における回転誤差を
Figure 0006940724
誤差オフセットベクトルを
Figure 0006940724
とすると、誤差ノード生成部115は、以下の式を用いることにより、ミラー位置での誤差を、機械原点での誤差に変換し、機械原点での誤差に対応する誤差ノードを生成する。
Figure 0006940724
上記の式は、機械構成木のノードに格納される位置・姿勢のうち、順キネマティクス変換において、座標値に位置の移動が先に計算される場合の式である。姿勢の回転が先に計算される場合の式へは
Figure 0006940724
で変換可能である。
次に、誤差ノード追加部112は、機械構成木に対して、誤差ノード生成部115によって生成された誤差ノード354を、機械原点に対応するノード353の隣りに追加する。図41は、誤差ノード354が追加された後の、機械構成木を示す。
最後に、制御装置100は、誤差ノード354が追加された機械構成木を用いて、モータ指令値を算出する。
実施例1は、測定される誤差の原因が、軸毎に分離できない場合にでも誤差の補正を行うことが可能である。
〔10.2 実施例2〕
以下、図42及び図43を参照することにより、実施例2について説明する。実施例2は、機械構成木において、3次元の回転誤差に係る誤差ノードをミラー位置に挿入する実施例である。
まず、実施例2においても、実施例1と同様に、並進誤差ベクトルと回転誤差行列とを、誤差情報として誤差情報記憶部142に記憶すると共に、誤差情報記憶部142に記憶されているミラー位置での誤差を、誤差ノード生成部115により誤差ノード挿入位置での誤差に変換する。
実施例2においては、これと並行して、誤差ノード生成部115により、ミラーオフセットに対応する2つのノードである
Figure 0006940724
及び
Figure 0006940724
を生成する。
ここで、「ミラーオフセット」とは、図42に示すようにミラー67の中心位置から工具66の根元位置までのベクトルのことである。すなわち、誤差を測定した位置から誤差ノードを挿入するまでベクトルであり、上記の「実施例1」の誤差オフセットベクトルに相当する。
次に、誤差ノード追加部112は、機械構成木に対して、誤差ノード生成部115によって生成された誤差ノード354と、2つのミラーオフセットノード355A及び355Bを追加する。より詳細には、図43に示すように、2つのミラーオフセットノード355A及び355Bを、工具に対応するノード356の隣りに追加し、2つのミラーオフセットノード355A及び355Bの間に、誤差ノード354を追加する。
これら、355A、354、355Bを結合したノードは、誤差ノード挿入位置357Zでの誤差に相当する。
最後に、制御装置100は、誤差ノード354と2つのミラーオフセットノード355A及び355Bが追加された機械構成木を用いて、モータ指令値を算出する。
実施例2においては、測定した誤差を誤差ノード挿入位置からの相対値に変換する必要が無いため、手間が減る。それは、355A及び355Bを機械構成木に追加することにより、前記「実施例1」の数33に相当する計算が移動指令部で行われるからである。
〔10.3 実施例3〕
以下、図44及び図45を参照することにより、実施例3について説明する。実施例3は、機械構成木において、各軸の直角度誤差に対応する誤差ノードを、各軸に対応する誤差ノードの1つ機械原点側に挿入する実施例である。
一般的な手法として、ボールバー(ball bar)を用いてZ−X軸周りの直角度誤差であるWzx、Y−Z軸周りの直角度誤差であるWyz、X−Y軸周りの直角度誤差であるWxyを測定することができる。測定した情報を誤差情報として、誤差情報記憶部142に記憶する。
なお、ボールバーとは、変位計を内蔵した伸縮自在な棒の両端に取り付けた二つの球の間の相対変位を測定する測定器である。図44は各軸周りの直角度誤差を示す。
次に、誤差ノード生成部115で、誤差情報記憶部142に記憶された各直角度誤差を、以下の数式を用いることにより、各軸の直角度誤差行列に変換する。
Figure 0006940724
次に、誤差ノード追加部112は、機械構成木に対して、誤差ノード生成部115によって生成された直角度誤差行列である誤差ノード354A〜354Cを追加する。より詳細には、図45に示すように、誤差ノード追加部112は、機械構成木において、
Figure 0006940724
に対応する誤差ノード354Aを、機械原点から見て、Z軸に対応するノード357Zの手前に追加する。同様に、誤差ノード追加部112は、機械構成木において、
Figure 0006940724
に対応する誤差ノード354Bを、機械原点から見て、Y軸に対応するノード357Yの手前に追加する。同様に、誤差ノード追加部112は、機械構成木において、
Figure 0006940724
に対応する誤差ノード354Cを、機械原点から見て、X軸に対応するノード357Xの手前に追加する。
最後に、制御装置100は、誤差ノード354A〜354Cが追加された機械構成木を用いて、モータ指令値を算出する。
実施例3においては、誤差の原因となる軸の直前に誤差ノード354を挿入するため、実際の工作機械を、最も忠実に再現した機械構成木を生成することが可能となる。
〔10.4 実施例4〕
以下、図46〜図48を参照することにより、実施例4について説明する。実施例4は、機械構成木に対して、工作機械の機上で測定した誤差に係る誤差ノードを挿入する実施例である。
まず、図46に示すようなアーティファクト75を準備する。ここで、「アーティファクト(artifact)」とは、計測用の基準形状を有する人工物のことである。図46に示す例において、アーティファクト75は、球76〜球79の4つの球の各々が三角錐の頂点となる形状を有する。また、球76から球77へのベクトルのC軸ノード上の座標系での真値を、
Figure 0006940724
球76から球78へのベクトルのC軸ノード上の座標系での真値を、
Figure 0006940724
球76から球79へのベクトルのC軸ノード上の座標系での真値を、
Figure 0006940724
とする。
次に、図47に示すように、アーティファクト75を、工作機械が備えるテーブル80の上に設置して、工作機械の工具先端に取り付けたプローブ90で、球76〜79の座標と測定する。ここで、「プローブ」とは、テーブル80に設置されるワークの原点、位置、姿勢等を測定する測定器のことである。また、テーブル80の中心軸を、ここではC軸とする。
球76〜79の座標の測定値から得られる、球76から球77へのベクトルの測定値を、
Figure 0006940724
球76から球78へのベクトルのC軸ノード上の座標系での測定値を、
Figure 0006940724
球76から球79へのベクトルのC軸ノード上の座標系での測定値を、
Figure 0006940724
とする。
誤差情報記憶部142は、誤差情報として、これらの真値及び測定値を記憶する。
次に、誤差ノード生成部115は、以下の数式を用いることにより、誤差情報記憶部142に記憶された各測定値を真値に変換する行列
Figure 0006940724
を求め、これに対応する誤差ノード354を生成する。
Figure 0006940724
次に、誤差ノード追加部112は、機械構成木に対して、誤差ノード生成部115によって生成された誤差ノード354を追加する。より詳細には、図48に示すように、誤差ノード追加部112は、ワークに対応するノード359とC軸に対応するノード360との間に、
Figure 0006940724
に対応する誤差ノード354を追加する。
最後に、制御装置100は、誤差ノード354が追加された機械構成木を用いて、モータ指令値を算出する。
実施例4は、テーブル座標系での誤差を測定するものであり、工具の代わりに接触プローブを取り付けることにより誤差測定が可能である。このため、レーザー干渉計のような高価なセンサは必要ではない。また、アーティファクトは真値が分かるものであれば形状は問わないため、ユーザが加工したワークを3次元座標測定機で測定して、それを真値として補正する、すなわち、検査工程の結果を加工工程にフィードバックしたり、あるいは、ワークの設置位置誤差を測定し補正したりする等の使い方も可能である。
〔11.本実施形態が奏する効果〕
本実施形態に係る制御装置は、制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置(例えば、上記の「制御装置100」)であって、前記機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する制御点座標系挿入部(例えば、上記の「制御点座標系挿入部113」)と、前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部(例えば、上記の「識別子割り当て部114」)と、前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部(例えば、上記の「誤差情報記憶部142」)と、前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部(例えば、上記の「誤差ノード生成部115」)と、前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部(例えば、上記の「誤差ノード追加部112」)と、前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部(例えば、上記の「制御点座標系指定部116」」)と、前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部(例えば、上記の「移動指令部118」)と、を備える。
あるいは、本実施形態に係る制御装置100は、制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置(例えば、上記の「制御装置100」)であって、前記機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる制御点座標系挿入部(例えば、上記の「制御点座標系挿入部113」)と、前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部(例えば、上記の「識別子割り当て部114」)と、前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部(例えば、上記の「誤差情報記憶部142」)と、前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部(例えば、上記の「誤差ノード生成部115」)と、前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部(例えば、上記の「誤差ノード追加部112」)と、前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部(例えば、上記の「制御点座標系指定部116」」)と、前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部(例えば、上記の「移動指令部118」)と、を備える。
これらにより、構成要素をノードとするグラフを用いることで、任意の機械構成を有する工作機械における誤差を補正することが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
制御装置100による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(制御装置100)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(制御装置100)に提供されてもよい。
11 CPU
100 数値制御装置
111 グラフ生成部
112 誤差ノード追加部
113 制御点座標系挿入部
114 識別子割り当て部
115 誤差ノード生成部
116 制御点座標系指定部
117 指令値判断部
118 移動指令部
141 機械構成グラフ記憶部
142 誤差情報記憶部
181 連立方程式生成部
182 連立方程式求解部
183 移動パルス生成部

Claims (4)

  1. 制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置であって、
    前記機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する制御点座標系挿入部と、
    前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、
    前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部と、
    前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部と、
    前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部と、
    前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、
    前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、
    前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、を備える制御装置。
  2. 制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する制御装置であって、
    前記機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる制御点座標系挿入部と、
    前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、
    前記制御対象における機械誤差に係る情報と、前記機械誤差を観測した座標系に割り当てられた識別子とを記憶する誤差情報記憶部と、
    前記機械誤差を等価な誤差ノードに変換する誤差ノード生成部と、
    前記機械構成のグラフにおいて、前記誤差ノードを追加する誤差ノード追加部と、
    前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、
    前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、
    前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、を備える制御装置。
  3. 前記機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含
    むことができる、請求項1又は2のいずれか1項に記載の制御装置。
  4. ユーザが記述したスクリプトを解析することにより、前記ユニットを定義し、定義され
    た前記ユニットを前記機械構成のグラフの構成要素として含むことができる、請求項3に
    記載の制御装置。
JP2021526389A 2020-02-04 2021-02-02 制御装置 Active JP6940724B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020017342 2020-02-04
JP2020017342 2020-02-04
PCT/JP2021/003743 WO2021157574A1 (ja) 2020-02-04 2021-02-02 制御装置

Publications (2)

Publication Number Publication Date
JPWO2021157574A1 JPWO2021157574A1 (ja) 2021-08-12
JP6940724B1 true JP6940724B1 (ja) 2021-09-29

Family

ID=77200196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021526389A Active JP6940724B1 (ja) 2020-02-04 2021-02-02 制御装置

Country Status (5)

Country Link
US (1) US20230050158A1 (ja)
JP (1) JP6940724B1 (ja)
CN (1) CN115066660A (ja)
DE (1) DE112021000864T5 (ja)
WO (1) WO2021157574A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS515024B2 (ja) 1972-07-13 1976-02-17
JP6549683B2 (ja) * 2016-12-12 2019-07-24 ファナック株式会社 制御装置
JP6464209B2 (ja) * 2017-01-27 2019-02-06 ファナック株式会社 数値制御装置
JP6585665B2 (ja) * 2017-06-29 2019-10-02 ファナック株式会社 仮想オブジェクト表示システム
JP6781201B2 (ja) * 2018-06-05 2020-11-04 ファナック株式会社 仮想オブジェクト表示システム

Also Published As

Publication number Publication date
DE112021000864T5 (de) 2022-11-17
US20230050158A1 (en) 2023-02-16
CN115066660A (zh) 2022-09-16
JPWO2021157574A1 (ja) 2021-08-12
WO2021157574A1 (ja) 2021-08-12

Similar Documents

Publication Publication Date Title
TWI381256B (zh) 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體
JP6549683B2 (ja) 制御装置
EP3093108B1 (en) Information processing method and information processing apparatus
JP5620825B2 (ja) 複合機械加工の方法および装置
US20100262288A1 (en) Method and a system for facilitating calibration of an off-line programmed robot cell
US20080051938A1 (en) Systems and methods that facilitate motion control through coordinate system transformations
CN108363360B (zh) 数值控制装置
CN108227631B (zh) 数值控制装置以及数据结构
GB2473129A (en) Off-line robot teaching method
CN110568819B (zh) 位置信息显示***
JP4644490B2 (ja) ツール運動の直接制御のために複雑なn曲線を描写するためのシステムおよび方法
JP6781201B2 (ja) 仮想オブジェクト表示システム
Werner et al. MeshSlicer: A 3D-Printing software for printing 3D-models with a 6-axis industrial robot
CN109116810B (zh) 数值控制装置
JP6940724B1 (ja) 制御装置
TWI684841B (zh) 加工傾斜平面的多軸工具機的程式碼產生方法及其裝置
JP6900533B2 (ja) 情報処理方法、情報処理装置、ロボット装置、情報処理プログラム、およびコンピュータ読み取り可能な記録媒体
JP7505877B2 (ja) 制御システム
JP2021151696A (ja) 情報処理方法、情報処理装置、ロボット装置、情報処理プログラム、およびコンピュータ読み取り可能な記録媒体
CN111650887A (zh) 控制***
JPH0735031B2 (ja) ロボツトのオフライン・プロミラミング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210513

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210902

R150 Certificate of patent or registration of utility model

Ref document number: 6940724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150