JP6549683B2 - Control device - Google Patents

Control device Download PDF

Info

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
Application number
JP2017233786A
Other languages
Japanese (ja)
Other versions
JP2019057262A (en
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
Priority to DE102017222474.6A priority Critical patent/DE102017222474A1/en
Priority to CN201711318383.7A priority patent/CN108227631B/en
Priority to US15/838,894 priority patent/US11402818B2/en
Publication of JP2019057262A publication Critical patent/JP2019057262A/en
Application granted granted Critical
Publication of JP6549683B2 publication Critical patent/JP6549683B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2003−195917号公報JP 2003-195917 A

冗長な自由度を持つ機械構成において、干渉回避等の目的で、工具先端や工具根元の位置及び姿勢を保持したまま、あるいは、保持せずに、工具先端や工具根元以外の点を制御点として移動させたい場合がある。例えば、図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 node 501, the node 502, the node 503, and the node 504 are connected in this order to constitute a control target machine 500 driven by the rotation shaft, and In some cases, nodes other than the end points of the machine 500, for example, the node 503 may be considered as control points.

しかし、現在は、ノード503のような、工具先端や工具根元以外のノードを制御点とすることはできない。このような場合、各回転軸に対して直接指令することとなるが、所望の制御点が所望の位置に来るような各軸指令値を求めるのは困難である。具体的には、図1Aのように、工具先端のX座標及びZ座標を共に保持して干渉を回避しようとしても、ノード503は所望の動作方向に移動することは困難である。また、図1Bのように、工具先端のX座標又はZ座標のいずれかを保持して干渉を回避しようとした場合、指令値の算出は困難である。   However, currently, nodes other than the tool tip and the tool root such as the node 503 can not be used as control points. In such a case, direct command is given to each rotation axis, but it is difficult to obtain each axis command value such that a desired control point comes to a desired position. Specifically, as shown in FIG. 1A, it is difficult for the node 503 to move in the desired movement direction even if the X and Z coordinates of the tool tip are held together to avoid interference. In addition, as shown in FIG. 1B, calculation of a command value is difficult when it is attempted to avoid interference by holding either the X coordinate or the Z coordinate of the tool tip.

また、工作機械やロボットにおいては、制御点位置をプログラム上で指令するが、指令値の座標系を指定することにより、数値制御装置は指定された制御点を指定された座標系上の所望の指令位置へと移動させることができる。例えば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, Patent Document 1 discloses a technique relating to a numerical control device in which the tool length can be easily changed in a machine tool having a table rotation axis. However, although the technique of Patent Document 1 defines the coordinate system on the table, it does not define the coordinate system below the table. Moreover, the control object was also limited to the tool tip point.

そこで、本発明は、機械構成上の様々な位置を自由かつ容易に制御点として指定できると共に、機械構成上の様々な箇所の座標系を容易に設定できる数値制御装置、及び、その制御対象の機械構成を表現したグラフ形式のデータ構造を提供することを目的とする。   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 numerical control device 100 described later) is a numerical control device that expresses and holds the machine configuration of a control target in a graph format with components as nodes. A control point coordinate system designation unit (for example, a control point coordinate system designation unit 114 described later) that designates one or more sets of control points and coordinate systems by an identifier for a graph of the machine configuration, and the control point coordinate system designation unit A command value determination unit (for example, a command value determination unit that determines, with respect to which control point, which coordinate value on which coordinate point corresponds to which control point, with the specified control point and the coordinate system. A command value determination unit 115 described later, and a movement command unit (for example, a movement command unit 116 described later) for instructing movement of the control point such that the coordinate value of the control point becomes the command value; Prepare.

(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 system insertion unit 112 described later) which inserts the control point and the coordinate system into the graph of the machine configuration. And the identifier assignment unit (for example, identifier assignment unit 113 described later) for assigning the identifier to the control point and the coordinate system inserted.

(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 system insertion unit 112 described later) controls a control point and each node of a graph of the machine configuration. A coordinate system may be inserted as a node.

(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 system insertion unit 112 described later) is a control point and a control point for each node of the graph of the machine configuration. A coordinate system may be provided as information.

(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, movement command unit 116 described later) is configured to use the specified coordinate system and the graph of the machine configuration. A first coordinate transformation formula of the command value is determined, and a second coordinate transformation formula of the control point is determined from the designated control point and the graph of the machine configuration, and a first coordinate transformation formula and a second coordinate transformation formula A simultaneous equation generation unit (for example, simultaneous equation generation unit 161 described later) that generates a multiple-order multiple-order simultaneous equation that defines that is equal, and a simultaneous equation solution solution unit that calculates a solution of the multiple-order multiple-order equation (for example A system for solving equations 162); and a movement pulse generator (for example, movement pulse generator 163 described later) for generating movement pulses used for the movement command using the solution generated by the simultaneous equations solution. Even .

(13) (12)に記載の数値制御装置において、前記連立方程式生成部(例えば、後述の連立方程式生成部161)は、特定のノードの座標値を直接指定することで連立式を減らしてもよい。   (13) In the numerical control device according to (12), the simultaneous equation generation unit (for example, a simultaneous equation generation unit 161 described later) reduces the simultaneous equations by directly specifying the coordinate value of a specific node. Good.

(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 numerical control device 100 described later). A control point and a coordinate system are inserted as nodes into a graph of a machine configuration, and an identifier is assigned to each node.

本発明によれば、機械構成上の様々な位置を自由かつ容易に制御点として指定できると共に、機械構成上の様々な箇所の座標系を容易に設定できる。   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.

従来の機械構成における所望の制御点の所望の動作を示す図である。FIG. 7 illustrates the desired operation of the desired control points in a conventional machine configuration. 従来の機械構成における所望の制御点の所望の動作を示す図である。FIG. 7 illustrates the desired operation of the desired control points in a conventional machine configuration. 旋削加工等に用いる通常のテーブルの軸の例を示す図である。It is a figure which shows the example of the axis | shaft of the normal table used for turning etc. 旋削加工等に用いる通常のテーブルの軸の例を示す図である。It is a figure which shows the example of the axis | shaft of the normal table used for turning etc. 本発明の実施形態に係る数値制御装置の構成を示す図である。It is a figure showing composition of a numerical control device concerning an embodiment of the present invention. 本発明の実施形態に係る数値制御装置のCPUの機能を示すブロック図である。FIG. 3 is a block diagram showing functions of a CPU of the numerical control device according to the embodiment of the present invention. 本発明の実施形態に係る移動制御部のCPUの機能を示すブロック図である。It is a block diagram which shows the function of CPU of the movement control part which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成木を生成する対象となる機械の例を示す図である。It is a figure which shows the example of the machine used as the object which produces | generates the machine structure tree which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成木の生成方法を示す図である。It is a figure which shows the production | generation method of the machine structure tree which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成木の生成方法を示す図である。It is a figure which shows the production | generation method of the machine structure tree which concerns on embodiment of this invention. 本発明の実施形態において生成された機械構成木の生成動作を示す図である。It is a figure which shows the production | generation operation | movement of the machine structure tree produced | generated in embodiment of this invention. 本発明の実施形態に係る機械構成の親子関係の例を示す図である。It is a figure which shows the example of parent-child relationship of the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成の親子関係の例を示す図である。It is a figure which shows the example of parent-child relationship of the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。It is a figure which shows the example of the unit contained in the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。It is a figure which shows the example of the unit contained in the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。It is a figure which shows the example of the unit contained in the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成の例を示す図である。It is a figure showing an example of machine composition concerning an embodiment of the present invention. 本発明の実施形態に係る機械構成に含まれるユニットの定義方法を示す図である。It is a figure which shows the definition method of the unit contained in the machine configuration which concerns on embodiment of this invention. 本発明の実施形態に係る機械構成に含まれるユニットの例を示す図である。It is a figure which shows the example of the unit contained in the machine configuration which concerns on embodiment of this invention. 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。It is a figure which shows the example of GUI (graphical user interface) in embodiment of this invention. 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。It is a figure which shows the example of GUI (graphical user interface) in embodiment of this invention. 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。It is a figure which shows the example of GUI (graphical user interface) in embodiment of this invention. 本発明の実施形態におけるGUI(グラフィカル・ユーザ・インタフェース)の例を示す図である。It is a figure which shows the example of GUI (graphical user interface) in embodiment of this invention. 通常のテーブルに設置されたワークに対する指令の例を示す図である。It is a figure which shows the example of the instruction | indication with respect to the workpiece | work installed in the normal table. 本発明の実施形態に係る数値制御装置による指令の例を示す図である。It is a figure which shows the example of the instruction | command by the numerical control apparatus which concerns on embodiment of this invention. 機械構成木の生成対象となる機械の例を示す図である。It is a figure which shows the example of the machine used as the production | generation object of a machine structure tree. 機械構成木の生成対象となる機械に対応する機械構成木の例を示す図である。It is a figure which shows the example of the machine structure tree corresponding to the machine used as the production | generation object of a machine structure tree. 本発明の実施形態において、機械の各ノードに座標系及び制御点が挿入された例を示す図である。FIG. 6 is a diagram showing an example in which a coordinate system and control points are inserted into each node of the machine in the embodiment of the present invention. 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。It is a figure which shows the example of the machine configuration tree by which the coordinate system and control point were inserted in embodiment of this invention. 本発明の実施形態において、各ノードにオフセット及び姿勢マトリクスが挿入される機械の例を示す図である。FIG. 5 illustrates an example of a machine in which an offset and attitude matrix is inserted at each node in an embodiment of the present invention. 本発明の実施形態において、機械の各ノードにオフセット及び姿勢マトリクスが挿入された例を示す図である。FIG. 6 is a diagram showing an example in which an offset and attitude matrix is inserted at each node of the machine in the embodiment of the present invention. 本発明の実施形態において、機械構成木に制御点を挿入する生成動作を示す図である。FIG. 7 is a diagram showing a generation operation of inserting a control point into a machine configuration tree in the embodiment of the present invention. 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。It is a figure which shows the example of the machine configuration tree by which the coordinate system and control point were inserted in embodiment of this invention. 本発明の実施形態における、機械構成木の例を示す図である。It is a figure which shows the example of a machine structure tree in embodiment of this invention. 本発明の実施形態における、機械座標系の機械原点に対する制御点位置ベクトル及び制御点姿勢マトリクスを示す図である。It is a figure which shows the control point position vector and control point attitude matrix with respect to the machine origin of a machine coordinate system in embodiment of this invention. 本発明の実施形態における、機械座標系の機械原点に対する指令値位置ベクトル及び指令値姿勢マトリクスを示す図である。It is a figure which shows the command value position vector and command value attitude matrix with respect to the machine origin of a machine coordinate system in embodiment of this invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention. 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。It is a figure which shows the example of the information used when producing | generating a movement pulse in embodiment of this invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention. 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。It is a figure which shows the example of the information used when producing | generating a movement pulse in embodiment of this invention. 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。It is a figure which shows the example of the information used when producing | generating a movement pulse in embodiment of this invention. 本発明の実施形態において、移動パルスを生成する際に用いる情報の例を示す図である。It is a figure which shows the example of the information used when producing | generating a movement pulse in embodiment of this invention. 本発明の実施形態における、プログラムの例を示す図である。It is a figure showing an example of a program in an embodiment of the present invention.

以下、本発明の実施形態について、図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 numerical control device 100 according to the embodiment of the present invention. The numerical control device 100 mainly includes the CPU 11, the ROM 12, the RAM 13, the CMOS 14, the interfaces 15, 18, 19, the PMC (programmable machine controller) 16, the I / O unit 17, and the axis control circuit 30. To 34, servo amplifiers 40 to 44, a spindle control circuit 60, and a spindle amplifier 61.

CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って数値制御装置100の全体を制御する。   The CPU 11 is a processor that controls the numerical control device 100 as a whole. The CPU 11 reads a system program stored in the ROM 12 via the bus 20, and controls the entire numerical control device 100 according to the system program.

RAM13には、一時的な計算データや表示データ、及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。   The RAM 13 stores temporary calculation data and display data, and various data input by the operator via the display / MDI unit 70.

CMOSメモリ14は、図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インタフェース15を介して読み込まれた加工プログラムや、表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。   The CMOS memory 14 is configured as a non-volatile memory that is backed up by a battery (not shown) and retains its storage state even if the power of the numerical control device 100 is turned off. The CMOS memory 14 stores a processing program read through the interface 15, a processing program input through the display / MDI unit 70, and the like.

ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが、予め書き込まれている。   In the ROM 12, various system programs for executing processing of an edit mode required for creation and editing of a processing program and processing for automatic operation are written in advance.

本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース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 / MDI unit 70 and stored in the CMOS memory 14.

インタフェース15は、数値制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。   The interface 15 enables connection between the numerical control device 100 and an external device 72 such as an adapter. A machining program and various parameters are read from the external device 72 side. In addition, the processing program edited in the numerical control device 100 can be stored in the external storage means via the external device 72.

PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで、工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力して制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、信号をCPU11に渡す。   A PMC (programmable machine controller) 16 is a sequence program built in the numerical control device 100, and signals an auxiliary device of the machine tool (for example, an actuator such as a robot hand for tool replacement) through the I / O unit 17. Output and control. In addition, after receiving signals from various switches of the operation panel disposed on the main body of the machine tool and performing necessary signal processing, the signal is passed to the CPU 11.

表示器/MDIユニット70は、ディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース18は、表示器/MDIユニット70のキーボードからの指令やデータを受けて、これらをCPU11に渡す。インタフェース19は、手動パルス発生器等を備えた操作盤71に接続されている。   The display / MDI unit 70 is a manual data input device provided with a display, a keyboard and the like. The interface 18 receives commands and data from the keyboard of the display / MDI unit 70 and passes them to the CPU 11. The interface 19 is connected to a control panel 71 provided with a manual pulse generator and the like.

各軸の軸制御回路30〜34は、CPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。   The axis control circuits 30 to 34 of the respective axes receive the movement command amounts of the respective axes from the CPU 11, and output the commands of the respective axes to the servo amplifiers 40 to 44.

サーボアンプ40〜44は、この指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。   The servo amplifiers 40 to 44 drive the servomotors 50 to 54 of the respective axes in response to this command. The servomotors 50 to 54 for each axis incorporate position / speed detectors, feed back position / speed feedback signals from the position / speed detectors to the axis control circuits 30 to 34, and perform position / speed feedback control. Do. In the block diagram, position / speed feedback is omitted.

スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61は、このスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。   The spindle control circuit 60 receives a spindle rotation command to the machine tool, and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal, rotates the spindle motor 62 of the machine tool at a commanded rotational speed, and drives the tool.

スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合されている。パルスエンコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス20を経由してCPU11によって読み取られる。   A pulse encoder 63 is coupled to the spindle motor 62 by a gear, a belt or the like. The pulse encoder 63 outputs a feedback pulse in synchronization with the rotation of the main shaft. The feedback pulse is read by the CPU 11 via the bus 20.

なお、図3に示す数値制御装置100の構成例では、軸制御回路30〜34の5つの軸制御回路と、サーボモータ50〜54の5つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。   In the configuration example of the numerical control device 100 shown in FIG. 3, five axis control circuits of axis control circuits 30 to 34 and five servo motors of servo motors 50 to 54 are shown. However, the present invention is not limited to this, and any number of axis control circuits and servomotors can be provided.

図4は、上記のCPU11が、ROM12に格納されたシステムプログラム及びアプリケーションプログラムを、バス20を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。CPU11は、グラフ生成部111と、制御点座標系挿入部112と、識別子割り当て部113と、制御点座標系指定部114と、指令値判断部115と、移動指令部116とを備える。   FIG. 4 is a functional block diagram showing functions implemented by the CPU 11 to read the system program and the application program stored in the ROM 12 via the bus 20 and implement the system program and the application program. The CPU 11 includes a graph generation unit 111, a control point coordinate system insertion unit 112, an identifier assignment unit 113, a control point coordinate system specification unit 114, a command value determination unit 115, and a movement command unit 116.

グラフ生成部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 system insertion unit 112 inserts a control point and a coordinate system into the graph of the machine configuration.
The identifier assignment unit 113 assigns an identifier to each of the control point and the coordinate system.
Detailed operations of the control point coordinate system insertion unit 112 and the identifier assignment unit 113 will be described in detail in “3. Abstraction of command address” to “8. Derivation of coordinate system from machine configuration tree”.

制御点座標系指定部114は、上記の識別子により、上記の制御点及び座標系を指定する。具体的には、制御点座標系指定部114は、例えば、プログラム中の指令、パラメータ設定、画面操作、及び数値制御装置100への入力手段からの入力値のいずれかにより、上記の制御点及び座標系を指定する。
指令値判断部115は、プログラム中の指令値が、どの制御点に対するどの座標系上の座標値か判断する。
制御点座標系指定部114及び指令値判断部115の詳細な動作については、以下の「3.指令アドレスの抽象化」〜「8.機械構成木からの座標系の導出」で詳述する。
The control point coordinate system designation unit 114 designates the above control point and coordinate system by the above identifier. Specifically, the control point coordinate system designation unit 114 is configured by, for example, the control point described above by any of the command in the program, the parameter setting, the screen operation, and the input value from the input unit to the numerical control device 100. Specify a coordinate system.
The command value determination unit 115 determines which command value in the program corresponds to which coordinate point on which control point.
The detailed operations of the control point coordinate system designation unit 114 and the command value determination unit 115 will be described in detail in “3. Abstraction of command address” to “8. Derivation of coordinate system from machine configuration tree”.

移動指令部116は、制御点の座標値がプログラム中の指令値となるように、制御点の移動を指令する。移動指令部116の詳細な動作については、以下の「9.移動パルス生成方法」で詳述する。また、移動指令部116の構成例を、図5に示す。   The movement command unit 116 instructs movement of the control point so that the coordinate value of the control point becomes the command value in the program. The detailed operation of the movement command unit 116 will be described in detail in “9. Movement pulse generation method” below. Further, a configuration example of the movement command unit 116 is shown in FIG.

図5に示すように、移動指令部116は、連立方程式生成部161と、連立方程式求解部162と、移動パルス生成部163とを備える。   As shown in FIG. 5, the movement command unit 116 includes a simultaneous equation generation unit 161, a simultaneous equation solution unit 162, and a movement pulse generation unit 163.

連立方程式生成部161は、以下の「9.移動パルス生成方法」に記載の方法により、指定された座標系と機械構成のグラフとから、指令値の第1座標変換式を求め、また、指定された制御点と機械構成のグラフとから、制御点の第2座標変換式を求め、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を生成する。   The simultaneous equation generation unit 161 obtains the first coordinate transformation equation of the command value from the designated coordinate system and the graph of the machine configuration by the method described in “9. Movement pulse generation method” below, and designates it. A second coordinate transformation equation of the control point is obtained from the control point and the graph of the machine configuration, and a multi-dimensional multi-order simultaneous equation is defined which defines that the first coordinate transformation equation and the second coordinate transformation equation are equal.

連立方程式求解部162は、上記の多元多次連立方程式の解を求める。
移動パルス生成部163は、連立方程式求解部162が生成した解を用いて、移動指令に用いる移動パルスを生成する。
The simultaneous equation solving unit 162 finds a solution of the above-described multiple-order multiple-order simultaneous equation.
The movement pulse generation unit 163 generates a movement pulse used for the movement command, using the solution generated by the simultaneous equation solution unit 162.

〔2.機械構成木の生成〕
本発明の実施形態に係る数値制御装置100は、最初に、機械構成を表すグラフを生成する。グラフの一例として機械構成木を生成する生成方法について、図6〜図9を参照しながら詳述する。
[2. Generation of machine structure tree]
The numerical control apparatus 100 according to the embodiment of the present invention first generates a graph representing the machine configuration. A method of generating a machine configuration tree as an example of a graph will be described in detail with reference to FIGS.

例として、図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 tool 1 is installed on the X axis, and the tool 2 is installed on the Z axis. On the other hand, it is assumed that the B axis is set on the Y axis, the C axis is set on the B axis, and the work 1 and the work 2 are installed on the C axis. The method of expressing this machine configuration as a machine configuration tree is as follows.

まず、図7に示すように、原点201とノード202A〜202Gのみを配置する。この段階では、原点201とノード202、及びノード202間でのつながりは持たず、原点及びノードの各々の名称も設定されていない。   First, as shown in FIG. 7, only the origin 201 and the nodes 202A to 202G are arranged. At this stage, there is no connection between the origin 201 and the nodes 202 and the nodes 202, and the names of the origin and the nodes are not set.

次に、各軸の軸名称(軸型)、各工具の名称、各ワークの名称、各原点の名称、各軸の物理軸番号(軸型)を設定する。次に、各軸の親ノード(軸型)、各工具の親ノード、各ワークの親ノードを設定する。最後に、各軸の交叉オフセット(軸型)、各工具の交叉オフセット、各ワークの交叉オフセットを設定する。その結果、図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 numerical control device 100. Furthermore, even when another machine (or robot) is added, an origin can be added and further nodes can be added.

上記の機械構成木生成方法、とりわけ各ノードへの各値の設定方法を一般化したフローチャートを図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 rotation axis nodes 104 and 105, a change in coordinate value of one of the nodes 104 indicates a geometric state of the other node 105 (typically Is a relationship that affects unilaterally on position / posture). In this case, nodes 104 and 105 are referred to as having a parent-child relationship, node 104 is referred to as a parent, and node 105 is referred to as a child.
However, for example, as shown in FIG. 10B, in a machine configuration configured by two linear axis nodes 102 and 103 and four free joints 101, the coordinate value (length) of one of the nodes 102 and 103 changes. There are mechanisms that influence each other such that not only the other geometric state, but also its own geometric state changes. In such a case, it is possible to regard each other as a parent and a child, that is, a parent-child relationship is bidirectional.

このように、あるノードの変化が他のノードに互いに影響し合うような機構については、利便性の観点から、1つのユニットとして捉え、このユニットを機械構成木に挿入することにより全体の機械構成木を生成する。ユニットは、図11Aのように二つの接続点110及び接続点120を持っており、ユニットが図11Bのように機械構成木に挿入された場合、図11Cのように、親ノードは接続点120に接続され、また、子ノードは接続点110に対して接続される。また、ユニットは、接続点120から接続点110への変換マトリクスを持っている。この変換マトリクスは、ユニットに含まれる各ノードの座標値によって表される。例えば図12のような機械構成の場合、接続点120における位置・姿勢を表す同次マトリクスをMとし、接続点110における位置・姿勢を表す同次マトリクスをMとすると、それらのマトリクス間の変換式はユニットに含まれる各直線軸ノードの座標値x、xを用いて以下のように表される。

Figure 0006549683
In this way, a mechanism in which changes of one node mutually affect other nodes is regarded as one unit from the viewpoint of convenience, and the whole machine configuration is realized by inserting this unit into the machine configuration tree. Generate a tree. The unit has two connection points 110 and 120 as shown in FIG. 11A, and when the unit is inserted into the machine construction tree as shown in FIG. 11B, the parent node is a connection point 120 as shown in FIG. 11C. And the child node is connected to the connection point 110. The unit also has a transformation matrix from connection point 120 to connection point 110. This transformation matrix is represented by coordinate values of each node included in the unit. For example, in the case of a machine configuration as shown in FIG. 12, a homogeneous matrix representing the position and orientation at the node 120 and M A, the homogeneous matrix representing the position and orientation at the node 110 when the M B, between their matrix The conversion equation is expressed as follows using coordinate values x 1 and x 2 of each linear axis node included in the unit.
Figure 0006549683

この機械構成を表すユニットは上記の[数1]の数式中のTのような同次変換マトリクスを持つ。同次マトリクスとは、以下の[数2]の数式のように位置・姿勢をまとめて表現できる4×4マトリクスのことである。

Figure 0006549683
The unit representing this machine configuration has a homogeneous transformation matrix such as T in the equation of [Equation 1] above. The homogeneous matrix is a 4 × 4 matrix that can express positions and orientations together as in the following [Equation 2].
Figure 0006549683

また、親子関係が相互でない場合であっても、計算処理や設定を簡単にするために、ある複数のノードを予め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 numerical control device 100 reads a script defined by the user.
In step S22, the numerical control device 100 analyzes the contents of the read script and newly defines a unit.
In step S23, the numerical control device 100 newly registers the newly defined unit as a component that can be inserted into the machine configuration graph.
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 display 70 as shown in FIG. 14A and can be easily set on the display 70 using a graphic user interface (GUI). For example, as shown in FIG. 14B, nodes can be arranged by drag and drop operation, and as shown in FIG. 14C, parent-child relationship between nodes can be set, and as shown in FIG. Can set the attribute of

工作機械は多様な機械構成を持つため構成要素同士の親子関係もまた多様であるが、通常、数値制御装置においては、構成要素同士の親子関係に関する情報を持っていないため、そのような情報が必要な制御はできない。しかし、数値制御装置は、上記の機械構成木、あるいは、機械構成木状のデータ構造を有するデータの生成方法を用いることにより、多様な機械構成を持つ工作機械やロボットを制御できるようになり、利便性が向上する。また、ユーザは、グラフィックユーザインタフェース(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 workpiece 212 is machined using the tool 213, the workpiece is placed on the rotary table 214 as shown in (a), and the linear motion is performed as shown in (b). Even when the desired relative processing path 215 of the tool 213 with respect to the work 212 is the same as when it is on the table 211, the command to realize it is 216 in the case of (a) ( The program is different, as in the case of b). Specifically, in the case of 216, the arc path is realized by moving the rotation axis C of the rotary table by 180 degrees, but in the case of 217, the arc path is executed by performing the arc interpolation command with the linear axis XY. The programs are different, such as to realize.

また、従来は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 type 1 mode, and tool attitude vector (in type 2 mode) The address which can be commanded in each mode is decided, such as commanding by the address I, J, K). Therefore, for example, it was not possible to issue commands at addresses I, J, and K during type 1 mode, and conversely, issue commands at rotational axis addresses A, B, and C during type 2 mode.

そこで、本発明においては、軸名称ではなく、ある座標系における、ある制御点の位置や姿勢等を定義する抽象的アドレスを用いる。具体的には、まず、アドレスを定義するために図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 numerical control device 100 are defined as addresses representing abstract meanings such as the first linear axis position and the second linear axis position. After that, as shown at 219 in FIG. 16, by using these α and β in the program, the program is described in a common format for any machine configuration and for machines with different actual axis names. become able to. In addition, even if the command for the same control point, only by changing the address as shown in 220 of FIG. 16, for example, a vector can be commanded to determine the tool direction or a block can be commanded by the rotation axis angle. In each case, it is possible to use various command methods suitable for the program creator.

上記のように、本実施形態においては、指令値として、機械構成のグラフに含まれる軸名称とは無関係に、意味毎に予め定義された識別子に対して割り当てた、任意のアドレスを用いることができる。なお、上記の「意味」は、制御点の位置、制御点の姿勢、及び、姿勢を決定する回転軸の角度位置を含む。   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 rotary index machine 300 shown in FIG. 17A, the X1 axis is set perpendicular to the Z1 axis, and the tool 1 is installed on the X1 axis. Further, the X2 axis is set perpendicular to the Z2 axis, and the tool 2 is installed on the X2 axis. Furthermore, in the table, it is assumed that the C1 axis and the C2 axis are set in parallel on the C axis, and the work 1 and the work 2 are installed on each of the C1 axis and the C2 axis. If this machine configuration is represented by a machine configuration tree, it will become a machine configuration tree shown to FIG. 17B.

各ワークから機械原点に連なる一連のノードを例に取ると、図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, workpiece 1 and workpiece 2. insert. This is performed not only for the table but also for a series of nodes running from each tool to the machine origin, ie, all of X1 axis, X2 axis, Z1 axis, Z2 axis, tool 1 and tool 2. As a result, as shown in FIG. 19, control points and coordinate systems corresponding to each of the nodes constituting the machine configuration tree are automatically inserted. Usually, when processing is performed, a coordinate system and a tool are designated as a control point on a work. Thus, for example, there are various cases where it is desired to designate a control point on a work to move the work itself to a predetermined position, or to set a coordinate system on the tool itself to polish another tool with a certain tool. It is also possible to cope with negative cases.

また、図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 system insertion unit 112 inserts a control point / coordinate system into the node, and stacks one variable n. Also, n = 1.

ステップ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 system insertion unit 112 inserts the control point and the coordinate system as nodes to each node of the machine configuration graph. In the above, the embodiment in the case of adding the control point and the coordinate system as a node is shown, but as shown in FIG. 22, the control point coordinate system insertion unit 112 corresponds to each node of the graph of the machine configuration. An embodiment in which control points and coordinate systems are provided as information is likewise possible. In addition, as described in “2. Generation of machine configuration tree”, the graph generation unit has a machine configuration tree as shown in FIG. 23 (having information necessary for each node to be a control point or coordinate system It is also possible to generate a machine configuration tree). In this case, since the machine configuration tree already has information as a control point or coordinate system, the control point coordinate system insertion unit is not necessarily required.

〔5.制御点位置及び制御点姿勢の計算方法〕
図24に示すように、機械構成木のルートに対する、機械構成木中のある制御点の位置・姿勢を表す同次マトリクスをMとした場合、これは以下のように求められる。
[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は以下のように表される。

Figure 0006549683
First, a set of nodes existing between a certain node in a machine configuration tree and a certain node is defined as a path. For example, the path p1 from the node Z1 to the control point [tool 1] in FIG. 19 is expressed as follows.
Figure 0006549683

さて、機械構成木中のルートからある制御点までの経路p2が以下のようであるとする。

Figure 0006549683
Now, it is assumed that the path p2 from the root in the machine configuration tree to a certain control point is as follows.
Figure 0006549683

上記経路中の始点xがルートである。この経路によって表される制御点の、ルートに対する位置姿勢の同次マトリクスMは、

Figure 0006549683
により、算出される。ただし、記号の意味は、以下の通りである。
S:各ノードによる同次変換マトリクス;
N:機械構成木のルートから制御点まで連なる一連のノード個数;
[ctrl]:制御点の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、制御点に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
xi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
xi:ノード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
Figure 0006549683
Calculated. However, the meanings of the symbols are as follows.
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はノードの種別(直線軸/回転軸/ユニット/制御点/座標系等)によって変わり、以下のように表される。
直線軸の場合

Figure 0006549683
により、算出される。ただし、記号の意味は、以下の通りである。
:ノードxiの座標値;
ofsxi:ノードxiの親ノードに対する相対オフセットベクトル;
xi:ノードxiの移動方向ベクトル
回転軸の場合
Figure 0006549683
により、算出される。ただし、記号の意味は、以下の通りである。
:ノードxiの回転軸方向ベクトルの第1成分;
:ノードxiの回転軸方向ベクトルの第2成分;
:ノードxiの回転軸方向ベクトルの第3成分;
ユニットの場合
Figure 0006549683
により、算出される。ただし、記号の意味は、以下の通りである。
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
Figure 0006549683
Calculated. However, the meanings of the symbols are as follows.
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
Figure 0006549683
Calculated. However, the meanings of the symbols are as follows.
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
Figure 0006549683
Calculated. However, the meanings of the symbols are as follows.
T (0): identity matrix (non-conversion matrix);
T (1): Transformation of homogeneous transformation matrix unit from connection point 120 to connection point 110 defined in unit node As described above, for example, a unit such as T in the equation of [Equation 1] It is a homogeneous transformation matrix defined for each.
In addition, the homogeneous transformation matrix S is a unit matrix, unless otherwise specified.

〔6.指令点位置及び指令点姿勢の計算方法〕
図25に示すように、ある指定座標系上の指令値として、指令位置ベクトルpos、指令姿勢マトリクスmatが指定されている場合、この指令値の、機械構成木のルートに対する位置姿勢を表す同次マトリクスMは、以下の式により求められる。
[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.

まず、指令値の同次マトリクスMを以下のように定義する。

Figure 0006549683
また、制御点の場合と同様に考え、機械構成木中のルートからある座標系までの経路pが以下のようであるとする。
Figure 0006549683
これにより、同次マトリクスM
Figure 0006549683
により、算出される。ただし、記号の意味は、以下の通りである。
S:各ノードによる同次変換マトリクス;
L:機械構成木のルートから座標系まで連なる一連のノード個数;
[coord]:座標系の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、座標系に定義されたオフセットベクトル・姿勢マトリクスから[数2]の数式に従って定義される;
xi:ノードxiの交叉オフセットを加味する(1)、加味しない(0);
xi:ノードxiの移動を加味する(1)、加味しない(0);
xi、bxiは座標系を指定する際に指定することのできる情報で、詳細については後述の〔8.機械構成木から導出した座標系のカスタマイズ〕において説明する。
また、同次変換マトリクスSは[数6]〜[数8]の数式を用いて説明したものと同様である。 First, the homogeneous matrix M w of command values is defined as follows.
Figure 0006549683
Also, it considered similarly to the case of the control point, and the path p 3 to a coordinate system that is the root of the machine structure in the tree is as follows.
Figure 0006549683
Thus, the homogeneous matrix M M is
Figure 0006549683
Calculated. However, the meanings of the symbols are 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 "work 1" is designated as a coordinate system by "G54.9 P <work 1>;" on the first line.
Another identifier “WORK1” is set to the node “work 1” by “G54.8 P <work 1><WORK1>;” in the second line.
In the third line "G54.9 P <WORK1>;", the node "work 1" is designated as a coordinate system by another identifier "WORK 1".
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 "Tool 1" as a control point by "G43.9 <Tool 1>;" on the seventh line;
Another identifier “TOOL1” is set to the node “tool 1” by “G43.8 P <tool 1><TOOL1>;” on the eighth line.
The node "tool 1" is designated as a control point by another identifier "TOOL 1" according to "G43.9 P <TOOL 1>;" on the ninth line.
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 “WORK 1” by “G54.9 P <WORK1>;” on the third line.
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 “TOOL 1” by “G54.9 P <TOOL 1>;” on the ninth line.
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として計算される。

Figure 0006549683
この場合、一連のノードの交差オフセット及び移動は全て加味される。 [8. Customize coordinate system derived from machine configuration tree]
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.
Figure 0006549683
In this case, all cross offsets and movements of the series of nodes are taken into account.

ここで、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において以下の経路pにて定義される座標系上でC1軸により旋削加工を行いたい場合は、C1軸に連れ回らない方が使いやすい。

Figure 0006549683
By the way, as described above in [Problems to be solved by the invention], it may be preferable that the coordinate system is not accompanied only with respect to a specific axis. For example, if you want to turning by C1-axis on the following coordinate system defined by the path p 4 in FIGS. 20A and 20B are easier to use not Limit your As the C1 axis.
Figure 0006549683

この場合、以下のように随伴経路ap4,bp4を指定すれば、C1軸にのみ連れ回らないように座標系をカスタマイズすることができる。

Figure 0006549683
In this case, the coordinate system can be customized so as not to follow the C1 axis only by designating the accompanying paths a p4 and b p4 as follows.
Figure 0006549683

このように、指定した座標系に対し随伴経路を適宜指定することで、使い方に応じて好適なように座標系をカスタマイズすることができる。随伴経路は、図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 work 1 can be designated as 0 by the command G254.9P <work 1> Q <C1> 0.

また、G154.9P<ワーク1>Q<C1>0指令により、ワーク1に挿入された座標系のbc1を0に指定できる。   Further, bc1 of the coordinate system inserted in the work 1 can be designated as 0 by the command G154.9P <work 1> Q <C1> 0.

そして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 <work 1> command.

また、座標系だけでなく制御点にも同様に随伴経路が存在するため、これも同様に好適なように随伴経路をプログラムで指定することで、カスタマイズされた制御点を使うことができる。   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 numerical control apparatus 100 according to the embodiment of the present invention is [3. The command value in the program commanded by the method of [abbreviation of command address] is [7. Designation method of control point and coordinate system in program] and [8. In order to move the control point so that the coordinate value of the specified control point becomes this command value, interpret as the coordinate value on the coordinate system specified by the method of customizing the coordinate system derived from the machine configuration tree]. To generate the necessary transfer pulses.

具体的には、まず、指定された座標系と機械構成木とから、〔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=(X,Y,Z)と、工具方向ベクトルvecw=(I,J,K)が与えられているとする。また、図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]のようになる。

Figure 0006549683
At this time, a path p ctrl from the machine configuration tree root of the control point designated here and a path p coord from the machine configuration tree root of the coordinate system are as shown in the following [ Equation 15].
Figure 0006549683

また、制御点及び座標系の随伴経路については特にプログラムによる指定が無いため、それぞれの経路の随伴経路apctrl,bpctrl,apcoord,bpcoordの要素は以下[数16]の数式のように全て1となる。

Figure 0006549683
In addition, the control points and the accompanying routes of the coordinate system are not particularly designated by the program, so the elements of the accompanying routes a pctrl , b pctrl , a pcoord and b pcoord of the respective routes are as shown in the following equation [Equation 16] It becomes all one.
Figure 0006549683

更に、各ノードには図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は、以下の式で求められる。

Figure 0006549683
ただし、記号の意味は、〔5.制御点位置及び制御点姿勢の計算方法〕で説明した通りなので割愛する。
また、指定座標系上における制御点の現在位置・姿勢を表す同次マトリクスMcwは、Mcを用いて以下の式で求められる。
Figure 0006549683
ここから、指定座標系上における制御点の現在位置ベクトルposcwは以下のように求められる。
Figure 0006549683
At this time, as shown in FIG. 32, the homogeneous matrix Mc representing the current position / posture of the control point with respect to the route (machine origin) is obtained by the following equation.
Figure 0006549683
However, the meaning of the symbol is [5. Method of calculating control point position and control point attitude]
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.
Figure 0006549683
From here, the current position vector pos cw of control points on the specified coordinate system is obtained as follows.
Figure 0006549683

次に、図33に示すように、指定座標系における次の補間位置ベクトルpos’は、poscwを用いて、以下の式で求められる。

Figure 0006549683
ただし、ここでFとは、補間周期毎の指定移動速度のことである。こうすることで、指定座標系における現在位置・指令点位置とを結ぶ直線上の、補間周期毎の位置を求めることができる。 Next, as shown in FIG. 33, the next interpolation position vector pos w 'in the designated coordinate system can be obtained using poscw according to the following equation.
Figure 0006549683
Here, F is a designated moving speed for each interpolation cycle. By doing this, it is possible to obtain the position for each interpolation cycle on the straight line connecting the current position and the command point position in the designated coordinate system.

一方、指定座標系上における制御点の現在工具方向ベクトルveccwは工具基準方向ベクトルを(0、0、1、0)と仮定すると以下のように求められる。

Figure 0006549683
なお、工具基準方向ベクトルは上記に限定されるものではなく、指令やパラメータ設定等により変えてもよい。 On the other hand, the current tool direction vector vec cw of the control point on the designated coordinate system can be obtained as follows, assuming that the tool reference direction vector is (0, 0, 1, 0).
Figure 0006549683
The tool reference direction vector is not limited to the above, and may be changed according to a command or parameter setting.

よって、図34に示すような、指定座標系上における制御点の次の補間工具方向ベクトルvec’は、以下の式で求められる。

Figure 0006549683
ただし、記号の説明は以下の通りである。
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.
Figure 0006549683
However, the explanation of the symbols is as follows.
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’を求めたら、制御点の位置及び姿勢それぞれについて、以下の連立方程式を立てる。

Figure 0006549683
この連立方程式を、各x,yに関して解くことにより、各軸の次の補間位置が求まる。 As described above, when the next interpolation position vector posw 'and the next interpolation tool direction vector vecw' are obtained, the following simultaneous equations are established for each of the control point position and attitude.
Figure 0006549683
By solving this simultaneous equation for each x i and y i , the next interpolation position of each axis can be obtained.

なお、連立方程式を解く際は、例えばグレブナー基底を用いて解を算出することが可能である。具体的には、辞書式順序x>x>・・・>x>y>y>・・・yに基づき、例えば、Buchburgerアルゴリズム等を用いて、上記連立方程式のグレブナー基底を求めると、最下位順序yについての一元多次方程式が求まる。これを解けばyの解が求められ、この解を用いて他のグレブナー基底についても式を順番に解くことで、上記連立方程式を各x,yに関して解を求めることができる。 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.

このようにして求めた各解x’,y’を用いて各軸に対してΔx’=x’−x,Δy’=y’−yなる移動量を出力することで、指定座標系上における指定速度での移動を実現できる。 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]の数式であるとする。

Figure 0006549683
Further, even if the degree of freedom of the machine configuration is not redundant, simultaneous equations of simultaneous equations can be omitted by directly giving command values to some axes. For example, to distinguish the rotation axis where the tool direction of the control point with respect to the specified coordinate system changes as the coordinate value changes, from the rotation axis that does not contribute to the change in the tool direction, call the tool change rotation axis It is assumed that each node of the machine configuration tree has information as to whether or not it is a tool change rotation axis. Further, it is assumed that each route from the root to the control point and coordinate system is represented by the equation of [Equation 15], and a list of tool change rotation axis nodes included in each route is the equation of [Equation 24].
Figure 0006549683

また、制御点側の工具変化回転軸のうち、ルートから遠いものから順に第一、第二と順序を付け、その後座標系側の工具変化回転軸のうちルートから遠いものから順に第三、第四、と順序を付けることで、いかなる機械構成木に対しても厳密に工具変化回転軸の順序を定義できる。これに従い、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’は以下の式で求めることができる。

Figure 0006549683
これにより、第一工具変化回転軸、第二工具変化回転軸のノード座標値は決まるため、工具方向ベクトルも決まる。そうすると、工具方向ベクトルに関して連立方程式を解く必要は無くなるため、以下の指令位置に関する連立方程式を解くだけでよくなる。 In this case, the next interpolation position xn ', yn' of the first tool change rotation axis and the second tool change rotation axis can be obtained by the following equation.
Figure 0006549683
As a result, since the node coordinate values of the first tool change rotation axis and the second tool change rotation axis are determined, the tool direction vector is also determined. Then, since it is not necessary to solve the simultaneous equations with respect to the tool direction vector, it is sufficient to solve the following simultaneous equations with respect to the command position.

Figure 0006549683
ただし、上式中において、ノードxn,ynの座標値は上記で求めた値を代入し、定数とみなして解く。
Figure 0006549683
However, in the above equation, the coordinate values of the nodes xn and yn substitute the values obtained above, and are regarded as constants and solved.

上記のように、プログラム中の指令値として、特定のノードの座標値を直接指定できる。これにより、連立式の個数を減らすことが可能となる。   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 numerical controller 100 is realized by software. When implemented by software, a program configuring this software is installed in a computer (numerical control device 100). Also, these programs may be recorded on removable media and distributed to users, or may be distributed by being downloaded to a user's computer via a network. Furthermore, these programs may be provided to the user's computer (numerical control device 100) as a web service via a network without being downloaded.

11 CPU
100 数値制御装置
111 グラフ生成部
112 制御点座標系挿入部
113 識別子割り当て部
114 制御点座標系指定部
115 指令値判断部
116 移動指令部
161 連立方程式生成部
162 連立方程式求解部
163 移動パルス生成部
11 CPU
100 Numerical Control Device 111 Graph Generation Unit 112 Control Point Coordinate System Insertion Unit 113 Identifier Allocation Unit 114 Control Point Coordinate System Specification Unit 115 Command Value Determination Unit 116 Movement Command Unit 161 Simultaneous Equation Generation Unit 162 Simultaneous Equation Solution Solution Unit 163 Movement Pulse Generation Unit

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 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 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:
前記機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含むことができる、請求項1又は2のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 and 2 , wherein the graph of the machine configuration can include, as a component, a unit in which a plurality of axes are integrated into one. ユーザが記述したスクリプトを解析することにより、前記ユニットを定義し、定義された前記ユニットを前記機械構成のグラフの構成要素として含むことができる、請求項に記載の制御装置。 The control device according to claim 3 , wherein the unit is defined by analyzing a script described by a user, and the defined unit can be included as a component of a graph of the machine configuration. 前記座標系は、特定のノードの影響を除くことが可能である、請求項1〜のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 4 , wherein the coordinate system can exclude the influence of a specific node. 前記制御点は、特定のノードの影響を除くことが可能である、請求項1〜のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 5 , wherein the control point is capable of removing the influence of a specific node. 前記指令値として、前記機械構成のグラフに含まれる軸名称とは無関係に、前記制御点の位置、前記制御点の姿勢、及び、前記姿勢を決定する回転軸の角度位置毎に予め定義された識別子に対して割り当てた、任意のアドレスを用いる、請求項1〜のいずれか1項に記載の制御装置。 The command value is previously defined for each of the position of the control point, the attitude of the control point, and the angular position of the rotation axis that determines the attitude, regardless of the axis name included in the graph of the machine configuration as the command value. The control device according to any one of claims 1 to 6 , wherein any address assigned to the identifier is used. 前記指令値として、特定のノードの座標値を直接指定できる、請求項1〜のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 7 , wherein a coordinate value of a specific node can be directly specified as the command value. 前記移動指令部は、指定された前記座標系と前記機械構成のグラフとから、前記指令値の第1座標変換式を求め、指定された前記制御点と前記機械構成のグラフとから、前記制御点の第2座標変換式を求め、第1座標変換式と第2座標変換式とが等しいことを定義する多元多次連立方程式を生成する連立方程式生成部と、前記多元多次連立方程式の解を求める連立方程式求解部と、前記連立方程式求解部が生成した解を用いて、移動指令に用いる移動パルスを生成する移動パルス生成部と、を備える、請求項1〜のいずれか1項に記載の制御装置。 The movement command unit obtains a first coordinate transformation formula of the command value from the designated coordinate system and the graph of the machine configuration, and the control is performed from the designated control point and the graph of the machine configuration. A simultaneous equation generation unit for generating a multi-dimensional multi-order simultaneous equation which obtains a second coordinate conversion formula of the point and defines that the first coordinate conversion formula and the second coordinate conversion formula are equal; a solution of the multi-dimensional multi-order simultaneous equation The method according to any one of claims 1 to 8 , further comprising: a simultaneous equation solving unit for obtaining a moving pulse generation unit for generating a movement pulse used for a movement command using the solution generated by the simultaneous equation solving unit. Control device as described. 前記連立方程式生成部は、特定のノードの座標値を直接指定することで連立式を減らす、請求項に記載の制御装置。 10. The control device according to claim 9 , wherein the simultaneous equation generation unit reduces simultaneous equations by directly specifying coordinate values of specific nodes.
JP2017233786A 2016-12-12 2017-12-05 Control device Active JP6549683B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021157574A1 (en) * 2020-02-04 2021-08-12 ファナック株式会社 Control device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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