JP6549683B2 - Control device - Google Patents
Control device Download PDFInfo
- Publication number
- JP6549683B2 JP6549683B2 JP2017233786A JP2017233786A JP6549683B2 JP 6549683 B2 JP6549683 B2 JP 6549683B2 JP 2017233786 A JP2017233786 A JP 2017233786A JP 2017233786 A JP2017233786 A JP 2017233786A JP 6549683 B2 JP6549683 B2 JP 6549683B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- control point
- unit
- machine configuration
- coordinate
- 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
Links
Images
Description
本発明は、制御対象の機械構成をグラフ形式で表現し、保持する制御装置に関する。 The present invention expresses the mechanical configuration of the control object in a graphical format, relates to that holds system GoSo location.
通常、工作機械やロボットを制御する制御装置においては、工作機械やロボットに含まれる制御対象となる制御点に対して、プログラム上で指令値を用いることにより制御する。例えば、工作機械においては、通常、工具根元位置が制御点とされている。一方で、工具長補正機能を用いたり、工具先端点制御を実施したりする場合には、工具先端位置が制御点とされる。そして、これらの制御点が、指令値により指定した座標値に移動するように、制御が実行される。 Usually, in a control device for controlling a machine tool or robot, control points to be controlled included in the machine tool or robot are controlled by using a command value on a program. For example, in a machine tool, a tool root position is usually used as a control point. On the other hand, when using a tool length correction function or performing tool tip point control, the tool tip position is taken as the control point. And control is performed so that these control points move to the coordinate value designated by the command value.
冗長な自由度を持つ機械構成において、干渉回避等の目的で、工具先端や工具根元の位置及び姿勢を保持したまま、あるいは、保持せずに、工具先端や工具根元以外の点を制御点として移動させたい場合がある。例えば、図1A及び図1Bに示すように、ノード501、ノード502、ノード503、ノード504が、この順序で連結することにより、回転軸で駆動する制御対象の機械500を構成していると共に、機械500の端点以外のノード、例えばノード503を制御点としたい場合がある。
In a machine configuration with redundant degrees of freedom, for the purpose of avoiding interference etc., with the position and posture of the tool tip or tool root held or not held, points other than the tool tip or tool root are used as control points You may want to move it. For example, as shown in FIGS. 1A and 1B, the
しかし、現在は、ノード503のような、工具先端や工具根元以外のノードを制御点とすることはできない。このような場合、各回転軸に対して直接指令することとなるが、所望の制御点が所望の位置に来るような各軸指令値を求めるのは困難である。具体的には、図1Aのように、工具先端のX座標及びZ座標を共に保持して干渉を回避しようとしても、ノード503は所望の動作方向に移動することは困難である。また、図1Bのように、工具先端のX座標又はZ座標のいずれかを保持して干渉を回避しようとした場合、指令値の算出は困難である。
However, currently, nodes other than the tool tip and the tool root such as the
また、工作機械やロボットにおいては、制御点位置をプログラム上で指令するが、指令値の座標系を指定することにより、数値制御装置は指定された制御点を指定された座標系上の所望の指令位置へと移動させることができる。例えば3軸加工においては、機械原点上の機械座標系やテーブル上のワーク座標系を座標系として指定することが多い。また、同時4軸加工や同時5軸加工においては、図2Aに示すような、回転軸に連れ回るワーク座標系を座標系として指定することが多い。 In a machine tool or robot, the control point position is commanded on the program, but by specifying the coordinate system of the command value, the numerical control device can designate the designated control point as desired on the designated coordinate system. It can be moved to the commanded position. For example, in three-axis machining, a machine coordinate system on the machine origin or a work coordinate system on a table is often specified as a coordinate system. Further, in simultaneous 4-axis machining and simultaneous 5-axis machining, a work coordinate system that rotates with the rotation axis as shown in FIG. 2A is often specified as a coordinate system.
機械上では、これら以外にも座標系が考えられる。例えば、図2Aに示す座標系とは異なり、図2Bに示すような「B軸には連れ回るがC軸には連れ回らず、B軸とC軸とのオフセットは共に加味する座標系(C軸の回転のみ無視する座標系)」が考えられる。この座標系は、とりわけ、C軸を一定速度で回転させながら行う場合の旋削加工においては、指令が作りやすく理解が容易であるため、有用である。 On the machine, coordinate systems can be considered besides these. For example, unlike the coordinate system shown in FIG. 2A, as shown in FIG. 2B, a coordinate system (C-axis that rotates together with the B-axis but not with the C-axis and takes into account the offset between the B-axis and the C-axis A coordinate system that ignores only the rotation of the axis can be considered. This coordinate system is useful particularly in turning when rotating the C-axis at a constant speed, since commands are easy to make and easy to understand.
しかし、一般的に、数値制御装置には、ワークを連れ回す一連の軸系列上において、その末端には座標系を設定できるが、その途中には座標系を設定できない。途中に座標系を設定したい場合、その途中が末端となるように機械構成を設定し直す必要があるため、手間が掛かる。 However, in general, in the numerical control device, a coordinate system can be set at the end of a series of axis series that rotates a workpiece, but a coordinate system can not be set in the middle. If it is desired to set the coordinate system in the middle, the machine configuration needs to be reset so that the middle is at the end, which takes time and effort.
この点、特許文献1は、テーブル回転軸を有する工作機械において、工具長変更が容易な数値制御装置に係る技術を開示している。しかし、特許文献1の技術は、テーブル上の座標系を定義しているものの、テーブル下の座標系を定義するものではなかった。また、制御対象も、工具先端点に限定されていた。
In this respect,
そこで、本発明は、機械構成上の様々な位置を自由かつ容易に制御点として指定できると共に、機械構成上の様々な箇所の座標系を容易に設定できる数値制御装置、及び、その制御対象の機械構成を表現したグラフ形式のデータ構造を提供することを目的とする。 Therefore, the present invention can designate various positions on the machine configuration freely and easily as control points, and can easily set the coordinate system of various points on the machine configuration, and a control target thereof An object of the present invention is to provide a graph type data structure representing a machine configuration.
(1) 本発明に係る数値制御装置(例えば、後述の数値制御装置100)は、制御対象の機械構成を、構成要素をノードとするグラフ形式で表現し、保持する数値制御装置であって、前記機械構成のグラフに対し、識別子により制御点及び座標系を1組以上指定する制御点座標系指定部(例えば、後述の制御点座標系指定部114)と、前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部(例えば、後述の指令値判断部115)と、前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部(例えば、後述の移動指令部116)と、を備える。
(1) A numerical control device according to the present invention (for example, a
(2) (1)に記載の数値制御装置において、前記機械構成のグラフに対し、前記制御点及び前記座標系を挿入する制御点座標系挿入部(例えば、後述の制御点座標系挿入部112)と、前記挿入された前記制御点及び前記座標系に前記識別子を割り当てる識別子割り当て部(例えば、後述の識別子割り当て部113)とを備えてもよい。
(2) In the numerical control device according to (1), a control point coordinate system insertion unit (for example, a control point coordinate
(3) (2)に記載の数値制御装置において、前記制御点座標系挿入部(例えば、後述の制御点座標系挿入部112)は、前記機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入してもよい。
(3) In the numerical control device according to (2), the control point coordinate system insertion unit (for example, a control point coordinate
(4) (2)に記載の数値制御装置において、前記制御点座標系挿入部(例えば、後述の制御点座標系挿入部112)は、前記機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせてもよい。
(4) In the numerical control device according to (2), the control point coordinate system insertion unit (for example, a control point coordinate
(5) (1)〜(4)に記載の数値制御装置において、前記機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含んでもよい。 (5) In the numerical control device described in (1) to (4), the graph of the machine configuration may include, as a component, a unit in which a plurality of axes are put together.
(6) (5)に記載の数値制御装置において、ユーザが記述したスクリプトを解析することにより、前記ユニットを定義し、定義された前記ユニットを前記機械構成のグラフの構成要素として含んでもよい。 (6) In the numerical control device described in (5), the unit may be defined by analyzing a script described by a user, and the defined unit may be included as a component of the machine configuration graph.
(7) (1)〜(6)に記載の数値制御装置において、前記座標系は、特定のノードの影響を除くことが可能であってもよい。 (7) In the numerical control device described in (1) to (6), the coordinate system may be capable of removing the influence of a specific node.
(8) (1)〜(7)に記載の数値制御装置において、前記制御点は、特定のノードの影響を除くことが可能であってもよい。 (8) In the numerical control device according to any one of (1) to (7), the control point may be capable of removing the influence of a specific node.
(9) (1)〜(8)に記載の数値制御装置において、前記指令値として、前記機械構成のグラフに含まれる軸名称とは無関係に、意味毎に予め定義された識別子に対して割り当てた、任意のアドレスを用いてもよい。 (9) In the numerical control device according to any one of (1) to (8), as the command value, assignment is made to an identifier defined in advance for each meaning irrespective of the axis name included in the graph of the machine configuration. Alternatively, any address may be used.
(10) (9)に記載の数値制御装置において、前記意味は、前記制御点の位置、前記制御点の姿勢、及び、前記姿勢を決定する回転軸の角度位置を含んでもよい。 (10) In the numerical control device according to (9), the meaning may include the position of the control point, the attitude of the control point, and the angular position of the rotation axis that determines the attitude.
(11) (1)〜(10)に記載の数値制御装置において、前記指令値として、特定のノードの座標値を直接指定できてもよい。 (11) In the numerical control device according to any one of (1) to (10), a coordinate value of a specific node may be directly specified as the command value.
(12) (1)〜(11)に記載の数値制御装置において、前記移動指令部(例えば、後述の移動指令部116)は、指定された前記座標系と前記機械構成のグラフとから、前記指令値の第1座標変換式を求め、指定された前記制御点と前記機械構成のグラフとから、前記制御点の第2座標変換式を求め、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を生成する連立方程式生成部(例えば、後述の連立方程式生成部161)と、前記多元多次連立方程式の解を求める連立方程式求解部(例えば、後述の連立方程式求解部162)と、前記連立方程式求解部が生成した解を用いて、前記移動指令に用いる移動パルスを生成する移動パルス生成部(例えば、後述の移動パルス生成部163)と、を備えてもよい。
(12) In the numerical control device according to any one of (1) to (11), the movement command unit (for example,
(13) (12)に記載の数値制御装置において、前記連立方程式生成部(例えば、後述の連立方程式生成部161)は、特定のノードの座標値を直接指定することで連立式を減らしてもよい。
(13) In the numerical control device according to (12), the simultaneous equation generation unit (for example, a simultaneous
(14) 本発明に係るデータ構造は、数値制御装置(例えば、後述の数値制御装置100)の制御対象の機械構成を表現する、構成要素をノードとしたグラフ形式のデータ構造であって、前記機械構成のグラフに対し、制御点及び座標系がノードとして挿入され、それぞれに識別子が割り当てられたデータ構造である。
(14) A data structure according to the present invention is a data structure in the form of a graph with components as nodes representing the machine configuration of a control target of the numerical control device (for example, the
本発明によれば、機械構成上の様々な位置を自由かつ容易に制御点として指定できると共に、機械構成上の様々な箇所の座標系を容易に設定できる。 According to the present invention, various positions on the machine configuration can be freely and easily designated as control points, and coordinate systems on various positions on the machine configuration can be easily set.
以下、本発明の実施形態について、図3〜図33を参照しながら詳述する。まず、本発明の実施形態に係る数値制御装置の構成について説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. First, the configuration of a numerical control apparatus according to an embodiment of the present invention will be described.
〔1.発明の構成〕
図3には、本発明の実施形態に係る数値制御装置100の構成例が示されている。数値制御装置100は、主として、CPU11と、ROM12と、RAM13と、CMOS14と、インタフェース15、18、19と、PMC(プログラマブル・マシン・コントローラ)16と、I/Oユニット17と、軸制御回路30〜34と、サーボアンプ40〜44と、スピンドル制御回路60と、スピンドルアンプ61とを備える。
[1. Constitution of the Invention]
FIG. 3 shows a configuration example of the
CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って数値制御装置100の全体を制御する。
The
RAM13には、一時的な計算データや表示データ、及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。
The
CMOSメモリ14は、図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インタフェース15を介して読み込まれた加工プログラムや、表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。
The
ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが、予め書き込まれている。
In the
本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース15や表示器/MDIユニット70を介して入力し、CMOSメモリ14に格納することができる。
Various processing programs such as a processing program for executing the present invention can be input via the interface 15 and the display /
インタフェース15は、数値制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。
The interface 15 enables connection between the
PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで、工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力して制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、信号をCPU11に渡す。
A PMC (programmable machine controller) 16 is a sequence program built in the
表示器/MDIユニット70は、ディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース18は、表示器/MDIユニット70のキーボードからの指令やデータを受けて、これらをCPU11に渡す。インタフェース19は、手動パルス発生器等を備えた操作盤71に接続されている。
The display /
各軸の軸制御回路30〜34は、CPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。
The
サーボアンプ40〜44は、この指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
The
スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61は、このスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
The
スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合されている。パルスエンコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス20を経由してCPU11によって読み取られる。
A
なお、図3に示す数値制御装置100の構成例では、軸制御回路30〜34の5つの軸制御回路と、サーボモータ50〜54の5つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。
In the configuration example of the
図4は、上記のCPU11が、ROM12に格納されたシステムプログラム及びアプリケーションプログラムを、バス20を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。CPU11は、グラフ生成部111と、制御点座標系挿入部112と、識別子割り当て部113と、制御点座標系指定部114と、指令値判断部115と、移動指令部116とを備える。
FIG. 4 is a functional block diagram showing functions implemented by the
グラフ生成部111は、制御対象の機械構成をグラフ形式で生成する。その詳細な動作については、以下の「2.機械構成木の生成」で詳述する。 The graph generation unit 111 generates a machine configuration to be controlled in a graph format. The detailed operation will be described in detail in "2. Generation of machine configuration tree" below.
制御点座標系挿入部112は、機械構成のグラフに対し、制御点及び座標系を挿入する。
識別子割り当て部113は、制御点及び座標系のそれぞれに識別子を割り当てる。
制御点座標系挿入部112及び識別子割り当て部113の詳細な動作については、以下の「3.指令アドレスの抽象化」〜「8.機械構成木からの座標系の導出」で詳述する。
The control point coordinate
The
Detailed operations of the control point coordinate
制御点座標系指定部114は、上記の識別子により、上記の制御点及び座標系を指定する。具体的には、制御点座標系指定部114は、例えば、プログラム中の指令、パラメータ設定、画面操作、及び数値制御装置100への入力手段からの入力値のいずれかにより、上記の制御点及び座標系を指定する。
指令値判断部115は、プログラム中の指令値が、どの制御点に対するどの座標系上の座標値か判断する。
制御点座標系指定部114及び指令値判断部115の詳細な動作については、以下の「3.指令アドレスの抽象化」〜「8.機械構成木からの座標系の導出」で詳述する。
The control point coordinate
The command
The detailed operations of the control point coordinate
移動指令部116は、制御点の座標値がプログラム中の指令値となるように、制御点の移動を指令する。移動指令部116の詳細な動作については、以下の「9.移動パルス生成方法」で詳述する。また、移動指令部116の構成例を、図5に示す。
The
図5に示すように、移動指令部116は、連立方程式生成部161と、連立方程式求解部162と、移動パルス生成部163とを備える。
As shown in FIG. 5, the
連立方程式生成部161は、以下の「9.移動パルス生成方法」に記載の方法により、指定された座標系と機械構成のグラフとから、指令値の第1座標変換式を求め、また、指定された制御点と機械構成のグラフとから、制御点の第2座標変換式を求め、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を生成する。
The simultaneous
連立方程式求解部162は、上記の多元多次連立方程式の解を求める。
移動パルス生成部163は、連立方程式求解部162が生成した解を用いて、移動指令に用いる移動パルスを生成する。
The simultaneous
The movement
〔2.機械構成木の生成〕
本発明の実施形態に係る数値制御装置100は、最初に、機械構成を表すグラフを生成する。グラフの一例として機械構成木を生成する生成方法について、図6〜図9を参照しながら詳述する。
[2. Generation of machine structure tree]
The
例として、図6に示す機械の構成を表現する機械構成木の生成方法について説明する。図6の機械においては、Z軸に対して垂直にX軸が設定され、X軸には工具1が設置され、Z軸には工具2が設置されているとする。一方で、Y軸上にB軸が設定され、B軸上にC軸が設定され、C軸にはワーク1とワーク2が設置されているとする。この機械構成を機械構成木として表現する方法は、以下の通りである。
As an example, a method of generating a machine configuration tree that represents the configuration of the machine shown in FIG. 6 will be described. In the machine of FIG. 6, it is assumed that the X axis is set perpendicular to the Z axis, the
まず、図7に示すように、原点201とノード202A〜202Gのみを配置する。この段階では、原点201とノード202、及びノード202間でのつながりは持たず、原点及びノードの各々の名称も設定されていない。
First, as shown in FIG. 7, only the
次に、各軸の軸名称(軸型)、各工具の名称、各ワークの名称、各原点の名称、各軸の物理軸番号(軸型)を設定する。次に、各軸の親ノード(軸型)、各工具の親ノード、各ワークの親ノードを設定する。最後に、各軸の交叉オフセット(軸型)、各工具の交叉オフセット、各ワークの交叉オフセットを設定する。その結果、図8に示す機械構成木が生成される。 Next, the axis name (axis type) of each axis, the name of each tool, the name of each work, the name of each origin, and the physical axis number (axis type) of each axis are set. Next, the parent node (axis type) of each axis, the parent node of each tool, and the parent node of each work are set. Finally, the cross offset of each axis (axis type), the cross offset of each tool, and the cross offset of each work are set. As a result, a machine configuration tree shown in FIG. 8 is generated.
なお、機械構成木の各ノードは、上記の各情報に限られず、例えば、識別子(名称)、自身の親ノードの識別子、自身を親とする全ての子ノードの識別子、親ノードに対する相対オフセット(交叉オフセット)、親ノードに対する相対座標値、親ノードに対する相対移動方向(単位ベクトル)、ノード種別(直線軸/回転軸/ユニット(後述)/制御点/座標系/原点等)、物理軸番号、直交座標系と物理座標系の変換式に係る情報を有してもよく、あるいは、有さなくてもよい。 Note that each node of the machine configuration tree is not limited to the above information, and, for example, an identifier (name), an identifier of its own parent node, an identifier of all child nodes having its own parent, a relative offset to the parent node ( Cross offset), relative coordinate value with respect to parent node, direction of relative movement with respect to parent node (unit vector), node type (linear axis / rotational axis / unit (described later) / control point / coordinate system / origin etc.) physical axis number, It may or may not have information related to a transformation equation of an orthogonal coordinate system and a physical coordinate system.
また、機械構成木の各ノードは、ノード自身が制御点あるいは座標系であるために必要な情報を有してもよく、有さなくてもよい。制御点あるいは座標系であるために必要な情報としては、詳しくは後述するが、例えばオフセット、姿勢マトリクス、移動やオフセットを加味するか/しないかという情報であり、これらを含んでもよく、含まなくてもよい。このとき、ノード自身が制御点あるいは座標系であるために必要な情報を有するか有さないかによって、後述の制御点座標系指定部の実施形態が異なる。また、必要な情報を有しない場合は、後述の制御点座標系挿入部及び制御点座標系識別子割当て部により必要な情報をノードに付与することもできる。 In addition, each node of the machine configuration tree may or may not have information necessary for the node itself to be a control point or coordinate system. The information necessary for being a control point or coordinate system, which will be described in detail later, is, for example, an offset, a posture matrix, information as to whether or not to add movement or offset, which may or may not be included. May be At this time, an embodiment of a control point coordinate system designation unit described later differs depending on whether or not the node itself has information necessary for being a control point or coordinate system. Further, when necessary information is not included, necessary information can be added to the node by a control point coordinate system insertion unit and a control point coordinate system identifier assignment unit described later.
このように各ノードに値を設定していくことにより、数値制御装置100内に機械構成木状のデータ構造を有するデータを生成する。更に、別の機械(又はロボット)を追加する場合も、原点を追加し、更にノードを追加することができる。
By setting values in each node in this manner, data having a machine-structured tree-like data structure is generated in the
上記の機械構成木生成方法、とりわけ各ノードへの各値の設定方法を一般化したフローチャートを図9に示す。 FIG. 9 shows a generalized flowchart of the above-described machine configuration tree generation method, in particular, the method of setting each value to each node.
ステップS11において、グラフ生成部111は、ノードに対して設定するパラメータの値を受け取る。
ステップS12において、設定されたパラメータの項目が「自身の親ノード」の場合(S12:YES)には、処理はステップS13に移行する。「自身の親ノード」ではない場合(S12:NO)には、処理はステップS17に移行する。
In step S11, the graph generation unit 111 receives the value of the parameter to be set for the node.
In step S12, when the item of the set parameter is "the parent node of its own" (S12: YES), the process proceeds to step S13. If it is not the "own parent node" (S12: NO), the process proceeds to step S17.
ステップS13において、パラメータが設定されるノードに、既に親ノードが設定されている場合(S13:YES)には、処理はステップS14に移行する。親ノードが設定されていない場合(S13:NO)には、処理はステップS15に移行する。 In step S13, when the parent node is already set to the node to which the parameter is set (S13: YES), the process proceeds to step S14. If the parent node is not set (S13: NO), the process proceeds to step S15.
ステップS14において、グラフ生成部111は、パラメータが設定されるノードの、現在の親ノードが持つ「子ノード」の項目から、自身の識別子を削除し、機械構成木を更新する。 In step S14, the graph generation unit 111 deletes its own identifier from the item of “child node” possessed by the current parent node of the node to which the parameter is set, and updates the machine configuration tree.
ステップS15において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定する。 In step S15, the graph generation unit 111 sets a value in the corresponding item of the node for which the parameter is set.
ステップS16において、グラフ生成部111は、親ノードに対し、「子ノード」の項目に自身の識別子を追加し、機械構成木を更新した後、フローを終了する。 In step S16, the graph generation unit 111 adds its own identifier to the item of “child node” for the parent node, updates the machine configuration tree, and then ends the flow.
ステップS17において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定した後、フローを終了する。 In step S17, the graph generation unit 111 sets a value in the corresponding item of the node for which the parameter is set, and then ends the flow.
上記の機械構成木状のデータ構造を有するデータの生成方法を用いることにより、機械の構成要素同士の親子関係を設定することが可能である。
ここで親子関係とは、例えば図10Aのように、2つの回転軸ノード104、105があったとき、一方のノード104の座標値の変化が、他方のノード105の幾何的状態(典型的には、位置・姿勢)に対して一方的に影響を及ぼすような関係のことである。この場合ノード104、105は親子関係にあると呼び、ノード104を親、ノード105を子と呼ぶ。
しかし、例えば図10Bに示すように、2つの直線軸ノード102、103と4つのフリージョイント101により構成された機械構成においては、ノード102、103の一方の座標値(長さ)が変わることにより、他方の幾何的状態だけでなく、自身の幾何的状態も変わるような、相互に影響を及ぼす機構が存在する。このような場合は、互いに親であり子、すなわち親子関係が双方向であるとみなすことができる。
The parent-child relationship between machine components can be set by using the data generation method having the above-described machine configuration tree-like data structure.
Here, with the parent-child relationship, for example, as shown in FIG. 10A, when there are two
However, for example, as shown in FIG. 10B, in a machine configuration configured by two
このように、あるノードの変化が他のノードに互いに影響し合うような機構については、利便性の観点から、1つのユニットとして捉え、このユニットを機械構成木に挿入することにより全体の機械構成木を生成する。ユニットは、図11Aのように二つの接続点110及び接続点120を持っており、ユニットが図11Bのように機械構成木に挿入された場合、図11Cのように、親ノードは接続点120に接続され、また、子ノードは接続点110に対して接続される。また、ユニットは、接続点120から接続点110への変換マトリクスを持っている。この変換マトリクスは、ユニットに含まれる各ノードの座標値によって表される。例えば図12のような機械構成の場合、接続点120における位置・姿勢を表す同次マトリクスをMAとし、接続点110における位置・姿勢を表す同次マトリクスをMBとすると、それらのマトリクス間の変換式はユニットに含まれる各直線軸ノードの座標値x1、x2を用いて以下のように表される。
この機械構成を表すユニットは上記の[数1]の数式中のTのような同次変換マトリクスを持つ。同次マトリクスとは、以下の[数2]の数式のように位置・姿勢をまとめて表現できる4×4マトリクスのことである。
また、親子関係が相互でない場合であっても、計算処理や設定を簡単にするために、ある複数のノードを予め1つにまとめたユニットを定義し、機械構成木中に構成してもよい。 Furthermore, even if parent-child relationships are not mutually exclusive, in order to simplify calculation processing and setting, a unit in which a plurality of nodes are combined into one may be defined and configured in a machine configuration tree. .
また、このようなユニットは、予め数値制御装置に定義されていてもよいし、ユーザが独自に記述したスクリプトを数値制御装置が読み込んでもよい。
図13Aは、ユーザが独自に記述したスクリプトを数値制御装置が読み込む際のフローの例を示す。
ステップS21において、数値制御装置100が、ユーザによって定義されたスクリプトを読み込む。
ステップS22において、数値制御装置100が、読み込んだスクリプトの内容を解析し、ユニットを新たに定義する。
ステップS23において、数値制御装置100が、新たに定義したユニットを、機械構成グラフに挿入可能な構成要素として、新たに登録する。
その結果、ステップS24において、ユーザは登録された独自ユニット(図13Aの例においては、MyUnit)を機械構成木に挿入することが可能となる。
Also, such a unit may be defined in advance in the numerical control device, or the numerical control device may read in a script uniquely described by the user.
FIG. 13A shows an example of the flow when the numerical control device reads a script that the user has written uniquely.
In step S21, the
In step S22, the
In step S23, the
As a result, in step S24, the user can insert the registered unique unit (MyUnit in the example of FIG. 13A) into the machine configuration tree.
すなわち、ユーザが独自に記述したスクリプトを数値制御装置が読み込み、その内容を解析することで、ユニットを新たに定義し、これを用いて、機械構成木中に構成することができてもよい。
図13Bは、図13Aに記載のスクリプトにより、新たに定義された独自ユニットMyUnitが機械構成木に挿入された例を示す。これにより、ユーザの所望の形式のユニットが数値制御装置に予め定義されていなくても、ユーザが独自に定義を追加できるため、利便性が向上する。
That is, the numerical control device may read a script uniquely described by the user and analyze the contents thereof to newly define a unit and use this to construct a machine configuration tree.
FIG. 13B shows an example in which the newly defined unique unit MyUnit is inserted into the machine configuration tree by the script described in FIG. 13A. As a result, even if the unit of the user's desired format is not previously defined in the numerical control device, the user can add the definition uniquely, and the convenience is improved.
上記のように、本実施形態においては、機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含むことができる。 As described above, in the present embodiment, the graph of the machine configuration can include, as a component, a unit in which a plurality of axes are put together.
なお、上記の機械構成木は、図14Aのように表示器70にグラフィカルに表示すること、及び、表示器70上でグラフィックユーザインタフェース(GUI)を用いて簡単に設定することが可能である。例えば、図14Bのようにドラッグアンドドロップ操作でノードを配置でき、図14Cのようにドラッグ操作でノード同士の親子関係を設定でき、図14Dのようにマウスクリック操作で設定用メニューを開いてノードの属性を設定することができたりする。
The machine configuration tree described above can be displayed graphically on the
工作機械は多様な機械構成を持つため構成要素同士の親子関係もまた多様であるが、通常、数値制御装置においては、構成要素同士の親子関係に関する情報を持っていないため、そのような情報が必要な制御はできない。しかし、数値制御装置は、上記の機械構成木、あるいは、機械構成木状のデータ構造を有するデータの生成方法を用いることにより、多様な機械構成を持つ工作機械やロボットを制御できるようになり、利便性が向上する。また、ユーザは、グラフィックユーザインタフェース(GUI)を用いることにより、直感的に機械構成木を数値制御装置に設定することが可能となる。 Since machine tools have various machine configurations, the parent-child relationship between components is also diverse, but in general, in a numerical control device, such information does not have information on the parent-child relationship between components. Necessary control is not possible. However, the numerical control device can control machine tools and robots having various machine configurations by using the method of generating data having the above-described machine configuration tree or machine configuration tree-like data structure, Convenience is improved. Also, the user can intuitively set the machine configuration tree to the numerical control device by using the graphic user interface (GUI).
〔3.指令アドレスの抽象化〕
上記のように、機械構成木を生成する際には、個々の軸に軸名称を付ける。通常、数値制御装置で使用される加工プログラムにおいては、軸名称と移動先の座標値又は移動量を意味する数値との組み合わせを用いて、移動を指令する。
[3. Abstraction of command address]
As described above, when creating a machine configuration tree, axis names are assigned to individual axes. Usually, in a machining program used in a numerical control device, movement is commanded using a combination of an axis name and a coordinate value of a movement destination or a numerical value meaning a movement amount.
しかし、軸名称を任意に設定できても、機械の軸構成が異なる場合には、個々の軸名称にて指令を行う限り、プログラムは異ならざるをえない。例えば、図15に示すように、ワーク212に対して工具213を用いて加工を行う場合、(a)のようにワークが回転テーブル214に載っている場合と、(b)のように直動テーブル211上に載っている場合とでは、ワーク212に対する工具213の所望の相対加工経路215が同じであったとしても、それを実現する指令は、(a)の場合には216であり、(b)の場合には217であるように、プログラムが異なってしまう。具体的には、216の場合には、回転テーブルの回転軸Cを180度移動させることで円弧経路を実現するが、217の場合には、直線軸XYにより円弧補間指令を行うことで円弧経路を実現するといったように、プログラムが異なる。
However, even if the axis name can be set arbitrarily, if the axis configuration of the machine is different, the program must be different as long as the command is performed with each axis name. For example, as shown in FIG. 15, when the
また、従来はGコードモーダル毎に指令可能なアドレスは決まっており、モーダルが変わった場合には、それに合わせて指令アドレスを変える必要があった。例えば、工具先端点制御において工具の姿勢を表すには、タイプ1モード中であれば各回転軸アドレス(例えばアドレスA,B,C)で指令し、タイプ2モード中であれば工具姿勢ベクトル(アドレスI,J,K)で指令するといったように、それぞれのモード中に指令可能なアドレスが決まっている。そのため、例えばタイプ1モード中にアドレスI,J,Kで指令をしたり、逆にタイプ2モード中に回転軸アドレスA,B,Cで指令をしたりすることはできなかった。
Also, conventionally, the address that can be commanded is determined for each G code modal, and when the modal changes, it is necessary to change the command address accordingly. For example, in tool tip control, in order to represent the tool posture, commands are made at each rotational axis address (for example, addresses A, B, C) if in
そこで、本発明においては、軸名称ではなく、ある座標系における、ある制御点の位置や姿勢等を定義する抽象的アドレスを用いる。具体的には、まず、アドレスを定義するために図16の218のように指令を行う。218では、機械構成中の実際の軸名称とは無関係に予め定義された識別子(第一直線軸位置を表す識別子L1や第二直線軸位置を表す識別子L2)に対して好適なアドレスα、βを代入することにより、直交座標系の第一直線軸位置としてアドレスαを、直交座標系の第二直線軸位置としてアドレスβを定義する。同様にして、実際の軸名称とは無関係に予め定義された工具姿勢ベクトルを表す識別子V1,V2,V3に対して好適なアドレスを代入して、工具姿勢ベクトルを表す各アドレスを定義してもよい。あるいは、実際の軸名称とは無関係に予め定義された第一・第二回転軸位置を表す識別子R1,R2に対して好適なアドレスを代入して、各回転軸位置を表すアドレスを定義してもよい。プログラム中でこれらが定義されない場合は、数値制御装置100にパラメータで設定されたデフォルトのアドレスが第一直線軸位置・第二直線軸位置等各々の抽象的意味を表すアドレスとして定義される。そして、以降は図16の219に示すように、これらα、βをプログラムで用いることにより、どのような機械構成でも、また、実際の軸名称が異なる機械同士でも、共通の形式でプログラムを記述できるようになる。また、同じ制御点に対する指令でも、図16の220のようにアドレスを変えるだけで、例えばあるブロックでは工具方向を決めるためにベクトルで指令したり、あるブロックでは回転軸角度で指令したりと、その都度プログラム作成者にとって好適な様々な指令方法を使うことが可能になる。
Therefore, in the present invention, not an axis name but an abstract address that defines a position, an attitude, and the like of a control point in a coordinate system is used. Specifically, in order to define an address, a command is issued as shown at 218 in FIG. At 218, suitable addresses .alpha. And .beta. Are assigned to previously defined identifiers (the identifier L1 representing the first linear axis position and the identifier L2 representing the second linear axis position) irrespective of the actual axis name in the machine configuration. By substituting, the address α is defined as the first linear axis position of the orthogonal coordinate system, and the address β is defined as the second linear axis position of the orthogonal coordinate system. Similarly, even if a suitable address is substituted for identifiers V1, V2, V3 representing a tool orientation vector defined in advance regardless of the actual axis name, each address representing a tool orientation vector is defined. Good. Alternatively, a suitable address is substituted for identifiers R1 and R2 representing first and second rotation axis positions defined in advance regardless of the actual axis name, and an address representing each rotation axis position is defined. It is also good. If these are not defined in the program, default addresses set in the parameters of the
上記のように、本実施形態においては、指令値として、機械構成のグラフに含まれる軸名称とは無関係に、意味毎に予め定義された識別子に対して割り当てた、任意のアドレスを用いることができる。なお、上記の「意味」は、制御点の位置、制御点の姿勢、及び、姿勢を決定する回転軸の角度位置を含む。 As described above, in the present embodiment, an arbitrary address assigned to an identifier previously defined for each meaning is used as a command value regardless of the axis name included in the graph of the machine configuration. it can. The “meaning” described above includes the position of the control point, the attitude of the control point, and the angular position of the rotation axis that determines the attitude.
〔4.制御点と座標値の自動挿入〕
「2.機械構成木の生成」にて述べたように、機械構成グラフの各ノードは、自身が制御点あるいは座標系となるために必要な情報を持つことができるが、持たないこともできる。ノードが制御点あるいは座標系となるために必要な情報を持たない場合には、機械構成上の様々な位置を、制御点として指定すると共に、機械構成上の様々な箇所の座標系を設定するため、上記の「2.機械構成木の生成」で生成された機械構成木を用いて、以下の方法を実施する。
[4. Automatic insertion of control points and coordinate values]
As described in "2. Generation of machine configuration tree", each node of the machine configuration graph may or may not have information necessary to become a control point or coordinate system. . When a node does not have information necessary to become a control point or coordinate system, various positions on the machine configuration are specified as control points, and coordinate systems of various parts on the machine configuration are set. Therefore, the following method is implemented using the machine configuration tree generated in the above "2. Generation of machine configuration tree".
例えば、図17Aに示すロータリインデックスマシン300においては、Z1軸に対して垂直にX1軸が設定され、X1軸に工具1が設置されている。また、Z2軸に対して垂直にX2軸が設定され、X2軸上に工具2が設置されている。更に、テーブルにおいては、C軸上にC1軸とC2軸が並列に設定され、C1軸とC2軸の各々にワーク1とワーク2が設置されているとする。この機械構成を機械構成木で表わすと、図17Bに示す機械構成木となる。
For example, in the
各ワークから機械原点に連なる一連のノードを例に取ると、図18に示すように、機械原点、C軸、C1軸、C2軸、ワーク1、ワーク2の各々に座標系と制御点を自動挿入する。これを、テーブルに対してのみならず、各工具から機械原点に連なる一連のノード、すなわちX1軸、X2軸、Z1軸、Z2軸、工具1、工具2のすべてに対して実施する。その結果、図19に示すように、機械構成木を構成するすべてのノードに対して、各々に対応する制御点と座標系が自動挿入される。通常、加工を行う場合にはワークに座標系、工具を制御点として指定する。これにより、例えば、ワーク自身を所定の位置へ移動させるために、ワークに制御点を指定したい場合や、ある工具で別の工具を研磨するために、工具自身に座標系を設定したい場合といった様々な場合に対応することも可能となる。
Taking a series of nodes from each workpiece to the machine origin as an example, as shown in FIG. 18, coordinate systems and control points are automatically set for each of the machine origin, C axis, C1 axis, C2 axis,
また、図20Aに示すように、各制御点及び座標系は、オフセットを有する。そのため、ノード中心から離れた点を制御点や座標系原点にすることも可能である。更に、各制御点及び座標系は姿勢マトリクスを持つ。この姿勢マトリクスは、制御点の姿勢マトリクスである場合、制御点の姿勢(向き、傾き)を表し、座標系の姿勢マトリクスの場合、座標系の姿勢を表わす。図20Bに示す機械構成木においては、オフセット及び姿勢マトリクスは、各々が対応するノードに紐づく形で表現される。更に、各制御点及び座標系は、機械構成木のルートまでの経路上に存在するノードの「移動」及び「交叉オフセット」それぞれを加味するか/しないかの情報を持っており、それらを設定できる。 Also, as shown in FIG. 20A, each control point and coordinate system have an offset. Therefore, it is also possible to set a point away from the node center as the control point or the coordinate system origin. Furthermore, each control point and coordinate system has an attitude matrix. The attitude matrix represents the attitude (direction, inclination) of the control point when it is the attitude matrix of the control point, and it represents the attitude of the coordinate system when it is the attitude matrix of the coordinate system. In the machine configuration tree shown in FIG. 20B, the offset and attitude matrices are expressed in the form of being linked to the corresponding nodes. Furthermore, each control point and coordinate system have information of whether or not to add or not each of the "move" and "cross offset" of the nodes present on the route to the route of the machine configuration tree, and set them. it can.
上記の制御点の自動挿入方法を一般化したフローチャートを図21に示す。このフローチャートは、詳細には、チャートAとチャートBとを含み、後述のように、チャートAの途中でチャートBが実行されるという構成となっている。 The flowchart which generalized the above-mentioned automatic insertion method of the control point is shown in FIG. Specifically, this flowchart includes the chart A and the chart B, and the chart B is executed in the middle of the chart A as described later.
まず、チャートAについて説明する。
ステップS31において、グラフ生成部111は、機械構成木を設定する。
ステップS32において、チャートBを実行し、チャートAのフローを終了する。
First, the chart A will be described.
In step S31, the graph generation unit 111 sets a machine configuration tree.
In step S32, the chart B is executed, and the flow of the chart A is ended.
次に、チャートBについて説明する。
チャートBのステップS41において、ノードは制御点・座標系を挿入済である場合(S41:YES)には、フローを終了する。ノードに制御点・座標系を挿入済でない場合(S41:NO)には、処理はステップS42に移行する。
Next, the chart B will be described.
In step S41 of the chart B, the node ends the flow when the control point coordinate system has been inserted (S41: YES). If the control point coordinate system has not been inserted into the node (S41: NO), the process proceeds to step S42.
ステップS42において、制御点座標系挿入部112は、ノードに制御点・座標系を挿入し、変数nを1つスタックする。また、n=1とする。
In step S42, the control point coordinate
ステップS43において、ノードにn番目の子ノードが存在する場合(S43:YES)には、処理はステップS44に移行する。ノードにn番目の子ノードが存在しない場合(S43:NO)には、処理はステップS46に移行する。 In step S43, when the n-th child node exists in the node (S43: YES), the process proceeds to step S44. If the n-th child node does not exist in the node (S43: NO), the process proceeds to step S46.
ステップS44において、n番目の子ノードについて、チャートB自身を再帰的に実行する。 In step S44, the chart B itself is recursively executed for the n-th child node.
ステップS45において、nを1だけインクリメントする。すなわちn=n+1とし、処理はステップS43に戻る。 In step S45, n is incremented by one. That is, n = n + 1, and the process returns to step S43.
ステップS46において、変数nを1つポップし、チャートBのフローを終了する。 In step S46, one variable n is popped, and the flow of the chart B is ended.
上記の方法により、制御点座標系挿入部112は、機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する。なお、上記では、制御点及び座標系をノードとして追加する場合の実施例を示したが、図22に示すように、制御点座標系挿入部112は、機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる実施形態も同様に可能である。また、「2.機械構成木の生成」でも述べたように、グラフ生成部が図23に示すような機械構成木(各ノードが制御点あるいは座標系であるために必要な情報を持っている機械構成木)を生成することも可能である。この場合、機械構成木は既に制御点あるいは座標系としての情報を持っているため、制御点座標系挿入部は必ずしも必要ではない。
By the above method, the control point coordinate
〔5.制御点位置及び制御点姿勢の計算方法〕
図24に示すように、機械構成木のルートに対する、機械構成木中のある制御点の位置・姿勢を表す同次マトリクスをMCとした場合、これは以下のように求められる。
[5. Calculation method of control point position and control point attitude]
As shown in FIG. 24, to the root of the machine configuration tree, if a homogeneous matrix was M C representing the position and posture of the control point with a machine configuration in the tree, which is determined as follows.
まず、機械構成木中のあるノードからあるノードまでの間に存在するノードを並べたものを経路と定義する。例えば、図19においてノードZ1から制御点[工具1]までの経路p1は以下のように表される。
さて、機械構成木中のルートからある制御点までの経路p2が以下のようであるとする。
上記経路中の始点x1がルートである。この経路によって表される制御点の、ルートに対する位置姿勢の同次マトリクスMCは、
S:各ノードによる同次変換マトリクス;
N:機械構成木のルートから制御点まで連なる一連のノード個数;
M[ctrl]:制御点の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、制御点に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
axi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
bxi:ノードxiの移動を加味する(1)、加味しない(0);
ここで、axi、bxiは制御点を指定する際に指定することもできる情報で、詳細については後述の〔8.機械構成木から導出した座標系のカスタマイズ〕において説明する。
The starting point x 1 in the above route is the route. The homogeneous matrix M C of position and orientation with respect to the route of the control point represented by this path is
S: homogeneous transformation matrix by each node;
N: number of consecutive nodes from the root of the machine configuration tree to the control point;
M [ctrl] : A homogeneous matrix of offsets / attitudes relative to the parent node of the control point, defined from the offset vector / posture matrix defined at the control points according to the formula of [Equation 2];
a xi : add cross offset of node xi (1), do not add (0);
b xi : add movement of node xi (1), not add (0);
Here, a xi and b xi are information that can be specified when specifying a control point, and the details will be described later in [8. Customization of coordinate system derived from machine configuration tree].
また、同次変換マトリクスSはノードの種別(直線軸/回転軸/ユニット/制御点/座標系等)によって変わり、以下のように表される。
直線軸の場合
xi:ノードxiの座標値;
ofsxi:ノードxiの親ノードに対する相対オフセットベクトル;
vxi:ノードxiの移動方向ベクトル
回転軸の場合
v1:ノードxiの回転軸方向ベクトルの第1成分;
v2:ノードxiの回転軸方向ベクトルの第2成分;
v3:ノードxiの回転軸方向ベクトルの第3成分;
ユニットの場合
T(0):単位行列(無変換行列);
T(1):ユニットノードに定義された接続点120から接続点110への同次変換マトリクス
ユニットの変換同次マトリクスについては、先述した通り例えば[数1]の数式中のTのようなユニット毎に定義された同次変換マトリクスである。
また、特に規定が無い場合、同次変換マトリクスSは単位行列とする。
Also, the homogeneous transformation matrix S changes depending on the type of node (linear axis / rotational axis / unit / control point / coordinate system etc.), and is expressed as follows.
In the case of a linear axis
x i : coordinate value of node xi;
ofs xi : offset vector relative to parent node of node xi;
v xi : Movement direction vector of node xi Case of rotation axis
v 1 : the first component of the rotation axis direction vector of the node xi;
v 2 : second component of the rotation axis direction vector of the node xi;
v 3 : third component of rotational axis direction vector of node xi;
In the case of a unit
T (0): identity matrix (non-conversion matrix);
T (1): Transformation of homogeneous transformation matrix unit from
In addition, the homogeneous transformation matrix S is a unit matrix, unless otherwise specified.
〔6.指令点位置及び指令点姿勢の計算方法〕
図25に示すように、ある指定座標系上の指令値として、指令位置ベクトルposW、指令姿勢マトリクスmatWが指定されている場合、この指令値の、機械構成木のルートに対する位置姿勢を表す同次マトリクスMMは、以下の式により求められる。
[6. Method of calculating command point position and command point attitude]
As shown in FIG. 25, when a command position vector pos W and a command attitude matrix mat W are specified as command values on a specified coordinate system, this command value represents the position / posture with respect to the root of the machine configuration tree. The homogeneous matrix M M is obtained by the following equation.
まず、指令値の同次マトリクスMwを以下のように定義する。
S:各ノードによる同次変換マトリクス;
L:機械構成木のルートから座標系まで連なる一連のノード個数;
M[coord]:座標系の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、座標系に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
axi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
bxi:ノードxiの移動を加味する(1)、加味しない(0);
axi、bxiは座標系を指定する際に指定することのできる情報で、詳細については後述の〔8.機械構成木から導出した座標系のカスタマイズ〕において説明する。
また、同次変換マトリクスSは[数6]〜[数8]の数式を用いて説明したものと同様である。
First, the homogeneous matrix M w of command values is defined as follows.
S: homogeneous transformation matrix by each node;
L: The number of nodes in series from the root of the machine configuration tree to the coordinate system;
M [coord] : A homogeneous matrix of offsets / attitudes relative to the parent node of the coordinate system, defined from the offset vector / posture matrix defined in the coordinate system according to the formula of [Equation 2];
a xi : add cross offset of node xi (1), do not add (0);
b xi : add movement of node xi (1), not add (0);
a xi and b xi are information that can be specified when specifying a coordinate system, and the details will be described later in [8. Customization of coordinate system derived from machine configuration tree].
Further, the homogeneous conversion matrix S is the same as that described using the equations of [Equation 6] to [Equation 8].
〔7.プログラム内における制御点及び座標系の指定方法〕
まず、上記の「2.機械構成木の生成」において、各ノードが制御点あるいは座標系であるために必要な情報を持つように機械構成木が生成された場合に、各ノードを制御点あるいは座標系としてプログラム内で指定する方法の一例を、図26に示す。
[7. Specification method of control point and coordinate system in program]
First, if the machine configuration tree is generated so that each node has information necessary for being a control point or coordinate system in the above “2. An example of a method of specifying a coordinate system in a program is shown in FIG.
図26に例示するコマンドは、前半部が座標系を指定する文例であり、後半部が制御点を指定する文例である。以下、図26の繰り返しとなるが、プログラム内の各行の指令内容について説明する。 The command illustrated in FIG. 26 is a sentence example in which the first half designates a coordinate system, and the second half is a sentence example in which a control point is designated. Hereinafter, although FIG. 26 is repeated, the command contents of each line in the program will be described.
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」を制御点として指定する共に、上記の交叉オフセット及び姿勢マトリクスが加味される。
The node "
Another identifier “WORK1” is set to the node “
In the third line "G54.9 P <WORK1>;", the node "
The coordinate system cross offset of the node “C1” is set by “G54.7 P <C1>X_Y_Z_;” on the fourth line.
The coordinate system posture matrix of the node "C1" is set by Roll / Pitch / Yaw by "G54.6 P <C1>I_J_K_;" on the fifth line.
In the sixth line “G54.9 P <C1>;”, the node “C1” is specified as a coordinate system, and the above-mentioned crossover offset and posture matrix are added.
Designate node "
Another identifier “TOOL1” is set to the node “
The node "
The control point crossover offset of the node "B1" is set by "G43.7 P <B1>X_Y_Z_;" on the tenth line.
The control point orientation matrix of the node "B1" is set by Roll / Pitch / Yaw according to "G43.6 P <B1>I_J_K_;" on the eleventh line.
The “G43.9 P <B1>” on the 12th line designates the “node” “B1” as a control point, and the above-mentioned crossover offset and posture matrix are added.
次に、上記の「4.制御点と座標系の自動挿入」により、機械構成木に対して挿入された制御点と座標系を、プログラム内で指定する方法の一例を、図27に示す。 Next, FIG. 27 shows an example of a method of specifying the control point and coordinate system inserted into the machine configuration tree in the program by “4. Automatic insertion of control point and coordinate system” described above.
図27に例示するコマンドは、前半部が座標系を指定する文例であり、後半部が制御点を指定する文例である。以下、図27の記載の繰り返しとなるが、プログラム内の各行の指令内容について説明する。 The command illustrated in FIG. 27 is a sentence example in which the first half designates a coordinate system, and the second half is a sentence example in which a control point is designated. Hereinafter, although the description of FIG. 27 is repeated, the command contents of each line in the program will be described.
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]を指定する共に、上記の交叉オフセットが加味される。
The coordinate system [work 1] is designated by “G54.9 <coordinate system [work 1]>]” on the first line.
An identifier "WORK1" is set in the coordinate system [work 1] according to "G54.8 P <coordinate system [work 1]><WORK1>;" in the second line.
The coordinate system [work 1] is specified by another identifier “
The crossover offset of the coordinate system [C1] is set by “G54.7 P <coordinate system [C1]>X_Y_Z_;” on the fourth line.
The posture matrix of the coordinate system [C1] is set by Roll / Pitch / Yaw according to “G54.6 P <coordinate system [C1]>I_J_K_;” on the fifth line.
The coordinate system [C1] is designated by “G54.9 P <coordinate system [C1]>” on the sixth line, and the above-mentioned crossover offset and posture matrix are added.
Specify the control point [tool 1] by “G54.9 <control point [tool 1]>;” in the seventh line;
An identifier "TOOL1" is set to the control point [tool 1] by "G54.8 P <control point [tool 1]><TOOL1>;" on the eighth line.
The control point [tool 1] is designated by another identifier “
The crossover offset of the control point [B1] is set by “G54.7 P <control point [B1]>X_Y_Z_;” on the tenth line.
The posture matrix of the control point [B1] is set by Roll / Pitch / Yaw according to “G54.6 P <control point [B1]>I_J_K_;” on the eleventh line.
While specifying the control point [B1] by “G54.9 P <control point [B1]>” on the 12th line, the above-mentioned crossover offset is added.
このように、各ノードが制御点あるいは座標系であるために必要な情報を持つにせよ、持たないにせよ、機械構成木中の適切な箇所を制御点あるいは座標系として指定することが可能である。図26においては、制御点と座標系を指定する各々のGコードは番号が分かれているが、図27においては、制御点と座標系を指定する各々のGコードは共通にすることもできる。このように、座標系制御点挿入部及び識別子割り当て部は本発明の実施上不可欠なものではないが、導入してもよい。 In this way, it is possible to designate an appropriate place in the machine configuration tree as a control point or coordinate system, with or without information necessary for each node to be a control point or coordinate system. is there. In FIG. 26, each G code specifying a control point and a coordinate system is divided in number, but in FIG. 27, each G code specifying a control point and a coordinate system can be made common. Thus, the coordinate system control point insertion unit and the identifier assignment unit are not essential to the practice of the present invention, but may be introduced.
〔8.機械構成木から導出した座標系のカスタマイズ〕
上述の通り、機械構成木中の好適な座標系をプログラム指令により選択することができ、選択された座標系上の指令値は、[数9]〜[数11]の数式を用いて説明したように機械座標値に変換することができる。この変換において、経路p3中の各ノードに対応する一連のaxi、bxiは基本的には以下のように全て1として計算される。
As described above, a suitable coordinate system in the machine configuration tree can be selected by program instruction, and the command value on the selected coordinate system is explained using the equations of [Equation 9] to [Equation 11]. Can be converted to machine coordinate values. In this conversion, a series of a xi and b xi corresponding to each node in the path p3 is basically calculated as all 1 as follows.
ここで、ap3及びbp3は経路p3の各要素に対応する要素を持ち、随伴する経路のように見ることができる。そこでこれらをp3の随伴経路ap3、bp3と呼ぶことにする。 Here, a p3 and b p3 have elements corresponding to the elements of the path p3 and can be viewed as accompanying paths. Therefore, these will be referred to as the accompanying paths a p3 and b p3 of p3 .
ところで、[発明が解決しようとする課題]で先述したように、特定の軸に対してのみ座標系が連れ回らない方が好適な場合もある。例えば図20A及び図20Bにおいて以下の経路p4にて定義される座標系上でC1軸により旋削加工を行いたい場合は、C1軸に連れ回らない方が使いやすい。
この場合、以下のように随伴経路ap4,bp4を指定すれば、C1軸にのみ連れ回らないように座標系をカスタマイズすることができる。
このように、指定した座標系に対し随伴経路を適宜指定することで、使い方に応じて好適なように座標系をカスタマイズすることができる。随伴経路は、図28に示すようにプログラム指令により指定できる。プログラムの内容を説明すると、G254.9P<ワーク1>Q<C1>0指令により、ワーク1に挿入された座標系のac1を0に指定できる。
Thus, the coordinate system can be customized in a suitable manner according to the usage by appropriately specifying the associated route with respect to the specified coordinate system. The associated route can be designated by program instruction as shown in FIG. Explaining the contents of the program, ac1 of the coordinate system inserted in the
また、G154.9P<ワーク1>Q<C1>0指令により、ワーク1に挿入された座標系のbc1を0に指定できる。
Further, bc1 of the coordinate system inserted in the
そしてG54.9P<ワーク1>指令により、ac1=0,bc1=0としてカスタマイズされた座標系[ワーク1]を指定することができる。
Then, the coordinate system [work 1] customized as ac1 = 0 and bc1 = 0 can be specified by the G54.9P <
また、座標系だけでなく制御点にも同様に随伴経路が存在するため、これも同様に好適なように随伴経路をプログラムで指定することで、カスタマイズされた制御点を使うことができる。 Also, since there is an accompanying route not only in the coordinate system but also in the control point, customized control points can be used by designating the accompanying route in the program as well.
上記のように、本実施形態においては、座標系及び制御点を規定するための情報を変更することにより、座標系及び制御点は、任意のカスタマイズをすることが可能である。
とりわけ、座標系及び制御点は、特定のノードの影響、具体的には、特定のノードの移動及びオフセットによる影響を除くことが可能である。
As described above, in the present embodiment, the coordinate system and control point can be optionally customized by changing the coordinate system and information for defining the control point.
Among other things, coordinate systems and control points can exclude the influence of particular nodes, in particular the effects of movements and offsets of particular nodes.
〔9.移動パルス生成方法〕
次に、本発明の実施形態に係る数値制御装置100は、〔3.指令アドレスの抽象化〕の方法により指令されたプログラム内の指令値を、〔7.プログラム内における制御点及び座標系の指定方法〕及び〔8.機械構成木から導出した座標系のカスタマイズ〕の方法により指定された座標系上の座標値と解釈し、指定された制御点の座標値が、この指令値となるように制御点を移動させるために必要な移動パルスを生成する。
[9. Moving pulse generation method]
Next, the
具体的には、まず、指定された座標系と機械構成木とから、〔6.指令点位置及び指令点姿勢の計算方法〕の方法により指令値の第1座標変換式を求める。次に、指定された制御点と機械構成木とから、〔5.制御点位置及び制御点姿勢の計算方法〕の方法により制御点の第2座標変換式を求める。次に、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を求める。最後に、例えばグレブナー基底を用いて算出した、上記の多元多次連立方程式の解を用いて、移動指令に用いる移動パルスを生成する。 Specifically, first, from the designated coordinate system and the machine configuration tree, [6. Method of calculating command point position and command point attitude] The first coordinate conversion formula of the command value is determined according to the method of Next, from the designated control points and the machine configuration tree, [5. Calculation Method of Control Point Position and Control Point Attitude] The second coordinate transformation equation of the control point is determined by the method of Next, a multi-objective multi-order simultaneous equation is defined that defines that the first coordinate conversion equation and the second coordinate conversion equation are equal. Finally, using the solution of the above-described multi-degree multi-order simultaneous equations calculated using, for example, the Gröbner basis, the movement pulse used for the movement command is generated.
例えば、図29に示すように、軸x1の上に軸x2が設定され、軸x2の上に軸x3が設定され、以下同様にN個のノードが連なり、その末端が軸xNであるとする。更に、軸xN上に制御点が設置されているとする。同様に、軸y1の上に軸y2が設定され、軸y2の上に軸y3が設定され、以下同様にL個のノードが連なり、その末端が軸yLであるとする。更に、軸yL上にワークが設置されているとする。ここで、xi,yjはノード名称だが、同時に各ノードの座標値も表わすこととする。 For example, as shown in FIG. 29, it is assumed that the axis x2 is set on the axis x1, the axis x3 is set on the axis x2, and so on. . Furthermore, it is assumed that a control point is installed on the axis xN. Similarly, the axis y2 is set on the axis y1, the axis y3 is set on the axis y2, and so forth, L nodes are connected in a similar manner, and the end is the axis yL. Further, it is assumed that a work is installed on the axis yL. Here, xi and yj are node names, but at the same time represent coordinate values of each node.
また、図30に示すように、プログラムにより直交座標位置を表すアドレスX,Y,Zと工具姿勢を表すアドレスI,J,Kが指定されており、これらのアドレスにより指令値として位置posw=(XW,YW,ZW)と、工具方向ベクトルvecw=(IW,JW,KW)が与えられているとする。また、図31に示すように、プログラムにより制御点[xN]と座標系[yM]が指定されているとする。 Further, as shown in FIG. 30, addresses X, Y, Z representing orthogonal coordinate positions and addresses I, J, K representing a tool posture are designated by a program, and these addresses make position posw = (command value) pos = X W, Y W, and Z W), the tool direction vector vecw = (I W, J W , and K W) is given. Further, as shown in FIG. 31, it is assumed that the control point [xN] and the coordinate system [yM] are designated by the program.
このとき、ここで指定された制御点の機械構成木ルートからの経路pctrl及び座標系の機械構成木ルートからの経路pcoordは以下[数15]のようになる。
また、制御点及び座標系の随伴経路については特にプログラムによる指定が無いため、それぞれの経路の随伴経路apctrl,bpctrl,apcoord,bpcoordの要素は以下[数16]の数式のように全て1となる。
更に、各ノードには図29に示すオフセット、ノード種別(直線/回転/ユニット/制御点/座標系)、軸方向、姿勢マトリクス、座標値が与えられているとする。 Furthermore, it is assumed that the offsets shown in FIG. 29, node type (straight line / rotation / unit / control point / coordinate system), axial direction, posture matrix, and coordinate values are given to each node.
この時、図32に示すように、ルート(機械原点)に対する制御点の現在位置・姿勢を表す同次マトリクスMcは、以下の式で求められる。
また、指定座標系上における制御点の現在位置・姿勢を表す同次マトリクスMcwは、Mcを用いて以下の式で求められる。
Further, the homogeneous matrix Mcw representing the current position / posture of the control point on the designated coordinate system can be obtained by the following equation using Mc.
次に、図33に示すように、指定座標系における次の補間位置ベクトルposw’は、poscwを用いて、以下の式で求められる。
一方、指定座標系上における制御点の現在工具方向ベクトルveccwは工具基準方向ベクトルを(0、0、1、0)と仮定すると以下のように求められる。
よって、図34に示すような、指定座標系上における制御点の次の補間工具方向ベクトルvecw’は、以下の式で求められる。
Rot(θ’,axis):ベクトルaxis方向回りにθ’だけ回転する回転行列。[数7]にて説明した行列Rと同様のもの。
Therefore, the interpolation tool direction vector vec w 'next to the control point on the designated coordinate system as shown in FIG. 34 can be obtained by the following equation.
Rot (θ ′, axis): A rotation matrix that rotates by θ ′ around the direction of the vector axis. Similar to the matrix R described in [Equation 7].
以上のように次の補間位置ベクトルposw’と、次の補間工具方向ベクトルvecw’を求めたら、制御点の位置及び姿勢それぞれについて、以下の連立方程式を立てる。
なお、連立方程式を解く際は、例えばグレブナー基底を用いて解を算出することが可能である。具体的には、辞書式順序x1>x2>・・・>xN>y1>y2>・・・yMに基づき、例えば、Buchburgerアルゴリズム等を用いて、上記連立方程式のグレブナー基底を求めると、最下位順序yMについての一元多次方程式が求まる。これを解けばyMの解が求められ、この解を用いて他のグレブナー基底についても式を順番に解くことで、上記連立方程式を各xi,yiに関して解を求めることができる。 When solving simultaneous equations, for example, it is possible to calculate a solution using a Gröbner basis. Specifically, based on the lexicographic order x 1 > x 2 >...> X N > y 1 > y 2 >... Y M , for example, using the Buchburger algorithm etc., the Gröbner basis of the above simultaneous equations By obtaining, the one-dimensional multiorder equation for the lowest order y M is obtained. If this is solved, the solution of y M is obtained, and the solution can be solved for each of the x i and y i by using the solution to solve the equations for other Gröbner bases in order.
このようにして求めた各解xi’,yi’を用いて各軸に対してΔxi’=xi’−xi,Δyi’=yi’−yiなる移動量を出力することで、指定座標系上における指定速度での移動を実現できる。 Using these solutions x i ′ and y i ′ thus obtained, the movement amounts of Δx i ′ = x i ′ −x i and Δy i ′ = y i ′ −y i are output for each axis. Thus, movement at a designated speed on a designated coordinate system can be realized.
なお、機械構成の自由度が冗長な場合は、例えば、いくつかの軸は移動させなかったり、いくつかの軸に対して直接指令値を与えたりといった拘束条件を適宜[数23]の数式に追加して連立することによって、対処することができる。又は、いくつかの軸に対しては通常は移動しない補助軸という属性を持たせておき、特異点近辺でのみ特異点回避動作のためにだけ移動させる方法によって対処することができる。あるいは、補助制御点を追加し、それに対しても指令することにより、対処することが可能である。 When the degree of freedom in machine configuration is redundant, for example, constraint conditions such as not moving some axes or directly giving command values to some axes are appropriately applied to the equation of [Equation 23]. It can be coped with by adding and joining simultaneously. Alternatively, it is possible to cope with a method in which some axes have an attribute of an auxiliary axis which usually does not move, and are moved only for singularity avoidance operation only near the singular point. Alternatively, it is possible to cope by adding an auxiliary control point and instructing it also.
また、機械構成の自由度が冗長でない場合であっても、いくつかの軸に対して直接指令値を与えることによって、連立方程式の式連立を省略することもできる。例えば、座標値が変化することにより、指定座標系に対する制御点の工具方向が変化するような回転軸を、工具方向の変化に寄与しない回転軸と区別するために、工具変化回転軸と呼ぶことにし、機械構成木の各ノードは工具変化回転軸であるか否かの情報を持つとする。また、ルートから制御点・座標系への各経路が[数15]の数式で表され、各経路に含まれる工具変化回転軸ノードの一覧が[数24]の数式であるとする。
また、制御点側の工具変化回転軸のうち、ルートから遠いものから順に第一、第二と順序を付け、その後座標系側の工具変化回転軸のうちルートから遠いものから順に第三、第四、と順序を付けることで、いかなる機械構成木に対しても厳密に工具変化回転軸の順序を定義できる。これに従い、xnを第一工具変化回転軸、ymを第二工具変化回転軸と呼ぶことにする。ここで、第一工具変化回転軸を表す識別子R1、第二工具変化回転軸を表す識別子R2を用いて、図35のように指令する。このように指定されたアドレスA、Bを用いることで、工具方向ベクトルではなく、工具変化回転軸の角度値を直接指令することができる。 Also, among the tool change rotation axes on the control point side, the first and second are given in order from the one far from the root, and then the tool change rotation axes on the coordinate system side are ordered third from the one far from the root The order of (4) makes it possible to define the order of tool change rotation axes strictly for any machine component tree. In accordance with this, x n is referred to as a first tool change rotation axis, and ym is referred to as a second tool change rotation axis. Here, the command is given as shown in FIG. 35 using the identifier R1 representing the first tool change rotation axis and the identifier R2 representing the second tool change rotation axis. By using the addresses A and B designated in this manner, it is possible to directly command the angle value of the tool change rotation axis instead of the tool direction vector.
この場合、第一工具変化回転軸、第二工具変化回転軸の次の補間位置xn’,yn’は以下の式で求めることができる。
上記のように、プログラム中の指令値として、特定のノードの座標値を直接指定できる。これにより、連立式の個数を減らすことが可能となる。 As described above, the coordinate value of a specific node can be directly specified as the command value in the program. This makes it possible to reduce the number of simultaneous systems.
〔10.本実施形態の効果〕
本実施形態に係る数値制御装置は、例えば機械構成木のような機械構成グラフの形式で機械構成情報を保持している。また、本実施形態に係る数値制御装置は、機械構成グラフに対し、グラフ作成時に各ノードに制御点あるいは座標系となるために必要な情報を持たせる、あるいは、考え得る制御点及び座標系を自動挿入し、かつそれら個々の制御点及び座標系に、一意に識別可能な識別子を付ける。そのため、本実施形態に係る数値制御装置の使用者は、数値制御装置の設定を変更することなく、識別子によりNCプログラム上で所望の制御点及び座標系を指定することができ、利便性が向上する。
[10. Effect of this embodiment]
The numerical control device according to the present embodiment holds machine configuration information in the form of a machine configuration graph such as, for example, a machine configuration tree. Further, the numerical control apparatus according to the present embodiment provides the machine configuration graph with information necessary for becoming a control point or coordinate system at the time of graph creation, or possible control points and coordinate system Automatically insert and assign uniquely identifiable identifiers to their respective control points and coordinate systems. Therefore, the user of the numerical control apparatus according to the present embodiment can specify a desired control point and coordinate system on the NC program by the identifier without changing the setting of the numerical control apparatus, and the convenience is improved. Do.
更に、本実施形態に係る数値制御装置は、機械構成上の制御点と座標系を指定した上で座標値を指令することで、指定した制御点を指定した座標系上の座標に移動させることができる。このようにして、数値制御装置の使用者は、一般的な機械構成の機械に対して
自由に移動指令を行うことができるため、利便性が向上する。
Furthermore, the numerical control apparatus according to the present embodiment moves the designated control point to the designated coordinate system coordinate by specifying the control point and coordinate system on the machine configuration and then instructing the coordinate value. Can. In this manner, the user of the numerical control device can freely issue a movement command to a machine having a general machine configuration, which improves convenience.
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。 As mentioned above, although embodiment of this invention was described, this invention is not limited to embodiment mentioned above. Further, the effects described in the present embodiment only list the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the present embodiment.
数値制御装置100による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(数値制御装置100)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(数値制御装置100)に提供されてもよい。
The control method by the
11 CPU
100 数値制御装置
111 グラフ生成部
112 制御点座標系挿入部
113 識別子割り当て部
114 制御点座標系指定部
115 指令値判断部
116 移動指令部
161 連立方程式生成部
162 連立方程式求解部
163 移動パルス生成部
11 CPU
100 Numerical Control Device 111
Claims (10)
前記機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する制御点座標系挿入部と、
前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、
前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、
前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、
前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、を備える制御装置。 A control device that expresses and holds a machine configuration to be controlled in the form of a graph in which components are nodes,
A control point coordinate system insertion unit for inserting a control point and a coordinate system as nodes for each node of the machine configuration graph;
An identifier assigning unit for assigning an identifier to the inserted control point and the coordinate system;
And the machine configuration against the graph of the control point coordinate system designation unit for designating a control point, and the coordinate system one or more pairs by an identifier,
Based on the control point designated by the control point coordinate system designation unit and the coordinate system, it is determined whether one or more command values instructed in the program correspond to coordinate values on which coordinate system with respect to which control point Command value determination unit to
A movement command unit that commands movement of the control point such that the coordinate value of the control point becomes the command value.
前記機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる制御点座標系挿入部と、 A control point coordinate system insertion unit for giving control points and a coordinate system as information to each node of the machine configuration graph;
前記挿入された前記制御点及び前記座標系に識別子を割り当てる識別子割り当て部と、 An identifier assigning unit for assigning an identifier to the inserted control point and the coordinate system;
前記機械構成のグラフに対し、前記識別子により制御点及び座標系を1組以上指定する制御点座標系指定部と、 A control point coordinate system designation unit that designates one or more sets of control points and coordinate systems by the identifier with respect to the graph of the machine configuration;
前記制御点座標系指定部により指定された前記制御点と前記座標系により、プログラム中で指令された1つ以上の指令値が、どの制御点に対するどの座標系上の座標値に対応するか判断する指令値判断部と、 Based on the control point designated by the control point coordinate system designation unit and the coordinate system, it is determined whether one or more command values instructed in the program correspond to coordinate values on which coordinate system with respect to which control point Command value determination unit to
前記制御点の前記座標値が前記指令値となるように、前記制御点の移動を指令する移動指令部と、 A movement command unit for instructing movement of the control point such that the coordinate value of the control point becomes the command value;
を備える制御装置。Control device comprising:
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017222474.6A DE102017222474A1 (en) | 2016-12-12 | 2017-12-12 | NUMERIC CONTROL AND DATA STRUCTURE |
CN201711318383.7A CN108227631B (en) | 2016-12-12 | 2017-12-12 | Numerical controller and data structure |
US15/838,894 US11402818B2 (en) | 2016-12-12 | 2017-12-12 | Numerical controller and data structure |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016240446 | 2016-12-12 | ||
JP2016240446 | 2016-12-12 | ||
JP2017195303 | 2017-10-05 | ||
JP2017195303 | 2017-10-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019057262A JP2019057262A (en) | 2019-04-11 |
JP6549683B2 true JP6549683B2 (en) | 2019-07-24 |
Family
ID=66107582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017233786A Active JP6549683B2 (en) | 2016-12-12 | 2017-12-05 | Control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6549683B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157574A1 (en) * | 2020-02-04 | 2021-08-12 | ファナック株式会社 | Control device |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244211A1 (en) * | 2020-06-30 | 2023-08-03 | Fanuc Corporation | Numerical control system |
WO2022045253A1 (en) * | 2020-08-31 | 2022-03-03 | ファナック株式会社 | Numerical control system and interference checking assistance method |
DE112021007245T5 (en) * | 2021-05-28 | 2023-12-21 | Fanuc Corporation | Control device |
JP7398686B1 (en) | 2023-05-24 | 2023-12-15 | パナソニックIpマネジメント株式会社 | Robot control device, robot control method, and program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03276307A (en) * | 1990-03-27 | 1991-12-06 | Toshiba Corp | Teaching play-back system robot controller |
JPH09314487A (en) * | 1996-05-31 | 1997-12-09 | Mitsubishi Heavy Ind Ltd | Method for controlling manipulator having redundant axis |
US8301421B2 (en) * | 2006-03-31 | 2012-10-30 | Energid Technologies | Automatic control system generation for robot design validation |
JP6307431B2 (en) * | 2012-05-25 | 2018-04-04 | 学校法人立命館 | Robot control device, robot control method, program, recording medium, robot system |
JP6427972B2 (en) * | 2014-06-12 | 2018-11-28 | セイコーエプソン株式会社 | Robot, robot system and control device |
JP6676286B2 (en) * | 2015-05-12 | 2020-04-08 | キヤノン株式会社 | Information processing method and information processing apparatus |
-
2017
- 2017-12-05 JP JP2017233786A patent/JP6549683B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157574A1 (en) * | 2020-02-04 | 2021-08-12 | ファナック株式会社 | Control device |
DE112021000864T5 (en) | 2020-02-04 | 2022-11-17 | Fanuc Corporation | control device |
Also Published As
Publication number | Publication date |
---|---|
JP2019057262A (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6549683B2 (en) | Control device | |
US7949422B1 (en) | Machine tool control system | |
TWI381256B (en) | System, method, and computer readable medium for controlling the movement of a plurality of moveable axes of a machine tool system | |
JP5009010B2 (en) | Numerical controller | |
JP4938119B2 (en) | Numerical control device for multi-axis machines that controls tool tip position | |
JP5620825B2 (en) | Composite machining method and apparatus | |
CN110568819B (en) | Position information display system | |
JP2003195917A (en) | Numerical control device | |
CN108363360B (en) | Numerical controller | |
CN108227631B (en) | Numerical controller and data structure | |
JP4644490B2 (en) | System and method for drawing complex n-curves for direct control of tool motion | |
JP2009301232A (en) | Numerical control device for controlling phase of coordinate-transformation tool | |
JP5187436B2 (en) | Numerical control device, control method of numerical control device, and system program | |
CN109116810B (en) | Numerical controller | |
CN110568818B (en) | Virtual object display system | |
JP6940724B1 (en) | Control device | |
JP2021068180A (en) | Optimization processor | |
Basheer et al. | CNC Software Control System Using Visual Basic | |
CN111650887B (en) | Control system | |
JP7303405B1 (en) | MACHINING SIMULATION DEVICE, MACHINE TOOL, MACHINE TOOL SYSTEM, MACHINING SIMULATION METHOD AND PROGRAM | |
JP7218459B1 (en) | Information processing equipment, machine tools and information processing programs | |
CN112987650A (en) | Control system | |
JP2008112278A (en) | Work plane designation method in machining program creation device | |
JP2020175473A (en) | Operation planning device and operation planning method | |
JPH10240320A (en) | Nc data preparing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190329 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190408 |
|
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: 20190528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6549683 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |