WO2014016943A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2014016943A1
WO2014016943A1 PCT/JP2012/069015 JP2012069015W WO2014016943A1 WO 2014016943 A1 WO2014016943 A1 WO 2014016943A1 JP 2012069015 W JP2012069015 W JP 2012069015W WO 2014016943 A1 WO2014016943 A1 WO 2014016943A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
axis
curve
interpolation
point
Prior art date
Application number
PCT/JP2012/069015
Other languages
English (en)
French (fr)
Inventor
大助 藤野
幸弘 井内
賢治 大熊
佐藤 智典
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to DE112012006583.2T priority Critical patent/DE112012006583B4/de
Priority to CN201280074883.XA priority patent/CN104508579B/zh
Priority to US14/408,665 priority patent/US9904270B2/en
Priority to JP2013512692A priority patent/JP5323280B1/ja
Priority to PCT/JP2012/069015 priority patent/WO2014016943A1/ja
Publication of WO2014016943A1 publication Critical patent/WO2014016943A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation

Definitions

  • the present invention relates to a numerical control device.
  • a machine tool having three linear axes and two rotational axes is called a five-axis machine, and commands the tip position of the tool according to the position of the linear axis, and the posture of the tool by the rotational axis. By commanding, a complex shape can be machined on the workpiece.
  • a point sequence of a tool tip position and a tool posture divided into fine blocks along a curved surface is usually created by a CAD / CAM device or the like.
  • the numerical control device performs a process of interpolating the point sequence with a straight line.
  • the block division should be made finer, but if the division is made finer, the program data capacity will become excessive, the numerical control device's It may take time to calculate the program reading analysis, and it may be difficult to achieve a predetermined machining speed.
  • Patent Document 1 describes that in a numerical control device, a curved surface is machined by performing curve interpolation with respect to a machining point, and a tilt angle of a tool with respect to a workpiece is changed. Specifically, a command point sequence and a vector sequence are read from the machining program. For the command sequence read, two interpolation points between each point are obtained as actual command points, and an approximate curve for machining points is created for the actual command sequence using the least square method. Is moved toward the machining point approximate curve to obtain a machining point curve, and interpolation is performed on the machining point curve to obtain a machining point.
  • two interpolated vectors are obtained as actual command vectors for the read vector sequence
  • an approximate curve for the most advanced vector point is created by the least squares method for the end point sequence of the actual command vector
  • the actual command A vector is moved toward the approximate curve for the most advanced vector point to obtain a curve for the vector tip point
  • interpolation is performed on the vector tip point curve to obtain an interpolation vector.
  • the advancing direction vector is obtained from the difference between the machining point and the machining point one cycle before, the tool tip center vector is obtained from the interpolation vector, and the tool direction vector is obtained from the interpolation vector and the advancing direction vector.
  • the tool tip center vector and the tool direction vector are added to the machining point to determine the positions of the linear movement axes X, Y, and Z, and the positions of the rotation axes A and C are determined from the tool direction vector.
  • Patent Document 2 describes that in a numerical control device, control is performed such that a machining point moves on a smooth curve and a reference tool length position changes smoothly.
  • the machining program is analyzed to create a machining point command sequence and a tool posture command sequence.
  • a machining point approximate curve is created by the least square method for the created machining point command sequence, the machining point command sequence is moved toward the machining point approximate curve to obtain a machining point curve, and interpolation is performed for the machining point curve.
  • the tool orientation unit vector sequence is calculated from the created tool orientation command sequence, the reference tool length is added to obtain the reference tool length vector, and the reference tool length vector is added to the machining point command sequence to obtain the reference tool length position sequence.
  • a curve for smoothly interpolating the tool tip (curve for processing points) is generated from a sequence of tool tip positions, and a curve for smoothly interpolating the tool posture (vector tip point) It is assumed that the tool tip curve and the tool posture curve are generated completely separately, such as the tool curve) is generated from the tool posture point sequence. For this reason, in the technique described in Patent Document 1, when the movement trajectory of the tool posture vector is taken into consideration, the tool posture vector may not change smoothly in synchronization with the smooth movement of the tool tip on the machining point curve. There is a possibility that the machined surface obtained as a result of machining may not be smooth.
  • a curve (machining point curve) for smoothly interpolating the tool tip is generated from a point sequence of the tool tip position, and the reference tool length position offset from the tool tip is smoothed.
  • a curve for interpolation is generated from the point sequence of the tool tip point position and the tool posture position sequence, and the interpolation tool posture connecting the point that interpolates the machining point curve and the point that interpolates the reference length position
  • the value of the rotary axis calculated from the interpolation tool posture that connects the point that interpolates the machining point curve and the point that interpolates the reference tool length position also includes the C axis that should not move. If a moving component appears, especially if it is in the vicinity of a singular point, there is a possibility that the movement of the C axis will be large and the machining surface obtained as a result of machining may not be smooth.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device capable of smoothing the movement locus of a tool posture vector.
  • a numerical control device is determined by a tool tip position command determined by the position of a linear axis and a rotation angle of the rotation axis.
  • a numerical control device that numerically controls a machine having a tool, a linear axis, and a rotary axis according to a machining program including a command of a tool posture, the tool tip position and the tool commanded by successive blocks in the machining program
  • Program input means for reading a posture and creating a command position sequence for a linear axis and a command position sequence for a rotary axis, and a tool tip position curve related to a tool tip position based on the created command position sequence for a linear axis Linked to the movement of the tool tip position based on the tip position curve generation means to be generated, the created linear axis command position sequence and the created rotation axis command position sequence.
  • tool posture curve generating means for generating a tool posture curve related to the tool posture
  • an interpolation calculation means for calculating an interpolation point of the machine position of the linear axis according to the interpolation point of the tool tip position and the interpolation point of the tool posture, and a linear axis at the calculated interpolation point of the machine position.
  • an interpolation output means for moving the rotation axis to the interpolation point of the calculated tool posture.
  • the tool posture curve is derived in association with the linear axis movement of the tool tip point, for example, the tool tip position curve created based on the linear axis, and both the linear axis and the rotation axis
  • the linear axis and the rotation axis can be interpolated by combining with the tool posture curve created based on the above.
  • the tool posture vector can be moved smoothly with the movement of the tool tip. That is, the movement locus of the tool posture vector can be smoothed.
  • FIG. 1 is a diagram illustrating the configuration of the numerical controller according to the first embodiment.
  • FIG. 2 is a diagram illustrating a configuration of the machine tool according to the first embodiment.
  • FIG. 3 is a diagram illustrating a tool tip point and a tool posture in the first embodiment.
  • FIG. 4 is a diagram illustrating a spline curve of one section in the first embodiment.
  • FIG. 5 is a diagram illustrating a curve obtained by combining the linear axis and the two rotation axes in the first embodiment.
  • FIG. 6 is a diagram showing the contents of the machining program in the first embodiment.
  • FIG. 7 is a diagram showing the configuration of the data table in the first embodiment.
  • FIG. 8 is a diagram showing interpolation points on the curve in the first embodiment.
  • FIG. 9 is a diagram illustrating a curve obtained by combining the linear axis and the single rotation axis in the first embodiment.
  • FIG. 10 is a diagram showing the configuration of the data table in the second embodiment.
  • FIG. 1 is a diagram illustrating a configuration of the numerical control device 10.
  • a numerical control device 10 shown in FIG. 1 is a device that numerically controls, for example, the machine tool 100 shown in FIG. 2 via the servo drive unit 9, for example, a device that controls the tip position of the tool 102 and the posture of the tool 102. It is.
  • FIG. 2 is a diagram illustrating a configuration of the machine tool 100.
  • machining is performed while moving the movable part by controlling each axis so as to move to the position commanded by the machining program (NC program, motion program) 1.
  • NC program machining program
  • the machine tool 100 has a plurality of linear axes and one or more rotation axes.
  • the machine tool 100 includes three X-axis, Y-axis, and Z-axis that are linear axes (translation axes) and two B-axis and C-axis that are rotation axes. 5 axis processing machine.
  • the X axis is an axis for the X axis servomotor 109X to move the tool 102 linearly.
  • the Y axis is an axis for the Y axis servomotor 109Y to move the tool 102 linearly.
  • the Z axis is an axis for the Z axis servomotor 109Z to move the tool 102 linearly.
  • the X axis, the Y axis, and the Z axis are orthogonal to each other, for example.
  • the B axis is an axis for rotating the tool 102 by the B axis servo motor 109B.
  • the C axis is an axis for the C axis servomotor 109C to rotate the tool 102, and for example, rotates about the Z axis.
  • the table 101 has a work WK placed on its main surface 101a. Further, the intersection point between the central axis of the B axis and the central axis of the C axis can be regarded as a machine position MP indicating the center of the machine tool 100.
  • FIG. 2 is a diagram exemplarily showing the configuration of a 5-axis processing machine when there are two rotation axes (B-axis and C-axis) on the tool side.
  • the machine tool 100 has a rotation axis on the tool side.
  • the machining program 1 (see FIG. 6) is a program described using a command code called a G code.
  • a tool tip point control (G43.4 / G43.5) command is given as a simultaneous 5-axis control function. It is a program written using.
  • the numerical control device 10 analyzes the machining program 1 and controls the machine tool 100 (for example, a 5-axis machine) via the servo drive unit 9 according to the analysis result (see FIG. 2), and is mounted on the table 101.
  • the workpiece WK is processed while controlling the relative tool posture with respect to the placed workpiece WK.
  • the numerical control device 10 appropriately controls each of the X, Y, Z, B, and C axes so that the position and posture of the tool 102 become a desired tool position and tool posture, so that the workpiece WK is controlled. Complex processing is realized.
  • the numerical controller 10 sends predetermined movement commands to the X-axis drive unit 9X, the Y-axis drive unit 9Y, the Z-axis drive unit 9Z, the B-axis drive unit 9B, and the C-axis drive unit 9C in the servo drive unit 9, respectively. (See FIG. 1).
  • the X-axis drive unit 9X, the Y-axis drive unit 9Y, the Z-axis drive unit 9Z, the B-axis drive unit 9B, and the C-axis drive unit 9C are respectively connected to the X-axis servo motor 109X, the Y-axis servo motor 109Y, and Z Voltage commands are output to drive the axis servo motor 109Z, the B axis servo motor 109B, and the C axis servo motor 109C.
  • the machine tool 100 is instructed with the position of the tip of the tool 102 by the position of the linear axis, and by commanding the attitude of the tool 102 by the rotation axis, a more complicated shape is machined with respect to the workpiece WK. be able to.
  • machining a designed curved surface on the workpiece WK When machining a designed curved surface on the workpiece WK, it is usually divided into fine blocks along the curved surface by a CAD / CAM device or the like, and the tip position 102a of the tool 102 and the posture of the tool 102 in each block. Create a machining program that commands the point sequence.
  • the numerical control device 10 performs a process of interpolating between point sequences instructed by this machining program with a straight line.
  • it is only necessary to finely divide the block In this case, in order to smooth the machining surface of the workpiece WK obtained as a machining result, it is only necessary to finely divide the block. However, if the division is finely divided, the data capacity of the machining program becomes excessive, It may take a long time to perform the program reading analysis of the numerical control device, and it may be difficult to achieve a predetermined machining speed.
  • a method of creating a machining point sequence without excessively finely dividing the block and interpolating the point sequence with a curve instead of a straight line by the numerical controller 10 can be considered.
  • the movement of the linear axis corresponding to the tip position 102a of the tool 102 is smoothly interpolated, and the tool 102 corresponds to the posture of the tool 102. It is necessary to smoothly interpolate curves while synchronizing the movement (rotation) of the rotation axis with the movement of the linear axis, and a technique for realizing this is desired.
  • a tool tip position curve related to the tip position 102a of the tool 102 is generated based on the point sequence of the command position of the linear axis, while not only the point sequence of the command position of the rotation axis but also the linear axis.
  • the tool posture indicating the posture of the tool 102 while generating a tool posture curve related to the posture of the tool 102 based on the point sequence of the command position and smoothing the movement locus of the tool tip 102a and synchronizing with the movement. Aims to smooth the vector trajectory.
  • the numerical control apparatus 10 includes, for example, a program input unit, a tip position curve generation unit, a tool posture curve generation unit, an interpolation calculation unit, and an interpolation output unit.
  • the program input means reads the tip position and tool posture commanded by successive blocks in the machining program, and creates a linear axis command position sequence and a rotary axis command position sequence.
  • the tool tip position curve generating means generates a tool tip position curve based on the command position sequence of the linear axis created by the program input means.
  • the tool tip position curve is a curve related to the tip position 102a of the tool 102, and is, for example, a smooth curve.
  • the tool posture curve generation unit generates a tool posture curve based on the linear axis command position sequence created by the program input unit and the rotation axis command position sequence created by the program input unit.
  • the tool posture curve is a curve that is linked to the movement of the tip position 102a of the tool 102, is a curve related to the posture of the tool 102, and is, for example, a smooth curve.
  • the interpolation calculation means calculates an interpolation point of the tip position 102a of the tool 102 from the tool tip position curve in each interpolation cycle.
  • the interpolation calculation means calculates an interpolation point of the posture of the tool 102 from the tool posture curve in each interpolation cycle.
  • the interpolation calculation means calculates the interpolation point of the machine position MP of the linear axis based on the interpolation point of the tip position 102a of the tool 102 and the interpolation point of the posture of the tool 102 in each interpolation cycle.
  • the interpolation output means moves the linear axis to the interpolation point of the machine position MP calculated by the interpolation calculation means.
  • the interpolation output means moves (rotates) the rotation axis to the interpolation point of the posture of the tool 102 calculated by the interpolation calculation means.
  • characteristic parts in the first embodiment are, for example, a tool tip position curve generating means and a tool posture curve generating means, and first, the concept of the first embodiment will be described.
  • n + 1 designated points P 0 , P 1 , P 2 ,... , P n smoothly passing through the cubic spline curve is expressed by, for example, the following formula (1) in the section shown in FIG. 4 from the designated points P j ⁇ 1 to P j .
  • Equation (1) q j is a unit tangent vector of the cubic spline curve at the designated point P j (x j , y j , z j ), and d j is a distance from P j ⁇ 1 to P j.
  • Equation (2) There is, for example, the following expression (2).
  • d j ⁇ ⁇ (x j ⁇ x j ⁇ 1 ) 2 + (y j ⁇ y j ⁇ 1 ) 2 + (z j ⁇ z j ⁇ 1 ) 2 ⁇ (2)
  • t is a parameter of the curve and is a value in the range of 0 ⁇ t ⁇ 1.
  • the spline curve represented by the mathematical formula (1) passes through the designated point P j , but if the unit tangent vector q j is not set appropriately, the secondary differentiation is not continuous at each designated point.
  • the condition that the secondary differentiation is continuous at each designated point is expressed by the following mathematical formula (3).
  • the curvature at the end points is set to 0, and the end point conditions represented by the following formulas (4a) and (4b) are added.
  • Equation (1) n + 1 tangent vectors q j can be obtained by solving n + 1 simultaneous equations of Equations (3), (4a), and (4b), a spline curve for all sections can be obtained by Equation (1).
  • the spline curve of the formula (1) is expressed by the following formula (5) when it is decomposed into components of the respective axes (X axis, Y axis, Z axis) of the linear axis.
  • Equations (3), (4a), and (4b) are equations independent of each other for each axis component of the linear axis with dj of the equation (2) indicating the distance between the specified points as a common term. It is obtained independently for each axis of the linear axis.
  • the tool posture vector V j indicating the posture of the tool 102 at the point P j is given by the angles of the B axis and the C axis that are two rotation axes.
  • the distance between the points in the five-dimensional space is designated with respect to the designated point sequence P j (x j , y j , z j ) of the linear axis and the designated point sequence V j (b j , c j ) representing the attitude of the tool 102. It is defined by the following formula (6).
  • d j ′ ⁇ ⁇ (x j ⁇ x j ⁇ 1 ) 2 + (y j ⁇ y j ⁇ 1 ) 2 + (z j ⁇ z j ⁇ 1 ) 2 + (B j ⁇ b j ⁇ 1 ) 2 + (c j ⁇ c j ⁇ 1 ) 2 ⁇ (6)
  • Equation (1), (3), (4a), (4b) by a distance d j between the point sequence and d j 'of Equation (6), X axis, Y axis, Z axis , B axis, and C axis are defined for each axis component, and the spline curve of Equation (1) can be decomposed into components of each axis and obtained as shown in Equation (7) below.
  • x in Equation (7), y, the components Px j of z (t), Py j ( t), Pz j (t) is, x in Equation (5), y, each component of z Px j ( t), Py j (t), and Pz j (t).
  • an LBC three-dimensional space is considered as shown in FIG. 5, and a curve represented by the following equation (9) is considered as a spline curve that smoothly passes through the LBC space. .
  • d j ′′ ⁇ ⁇ (l j ⁇ l j ⁇ 1 ) 2 + (b j ⁇ b j ⁇ 1 ) 2 + (c j ⁇ c j ⁇ 1 ) 2 ⁇ ... (10)
  • B-axis and C-axis components Pb (t) of the spline curve obtained by Equation (7) , Pc (t) coincides with the B-axis and C-axis components of the spline curve obtained by Equation (9), that is, Pb (t) and Pc (t) of the spline curve obtained by Equation (7) are It can be regarded as a curve equation that changes smoothly in synchronization with the movement between the command point sequences of the linear axis.
  • the tool tip position curve generating unit derives a spline curve according to the mathematical formula (5) from the point sequence of the linear axis position command, and the tool posture curve generating unit includes the linear axis and the rotation axis. From the sequence of command positions, a tool posture curve according to Equation (7) is generated based on the combined axis of the linear axis and the rotary axis.
  • the numerical control device 10 includes a program input unit 2, a curve generation unit 3, an interpolation calculation unit 6, and interpolation output units 7 and 9, which are not shown in accordance with a position command for each sampling time.
  • 8 is a data table for storing data for curve generation processing.
  • the curve generation unit 3 includes a tool tip position curve generation unit 4 and a tool posture curve generation unit 5.
  • the program input unit 2 reads the machining program 1.
  • the curve generation unit 3 generates a curve that smoothly connects the command point sequence of the machining program 1 from the machining program 1 read by the program input unit 2.
  • the tool tip position curve generation unit 4 of the curve generation unit 3 generates a curve that smoothly connects the command positions of the tool tip.
  • the tool posture curve generation unit 5 of the curve generation unit 3 generates a curve that smoothly connects the command angles of the tool posture.
  • the interpolation calculation unit 6 calculates the interpolation position for each sampling time along the curve generated by the curve generation unit 3.
  • the interpolation output unit 7 outputs the interpolation position calculated every sampling time to the servo drive unit 9 as a position command.
  • the machining program 1 includes contents defined as shown in FIG. 6, for example.
  • “G43.4” represents tool tip point control, and the coordinate values of X, Y, and Z described below the line of “G43.4” are the coordinates of the tip position 102a of the tool 102 shown in FIG. Represents.
  • “G01” represents linear interpolation and indicates that the coordinate value of each axis commanded in each block moves in a straight line.
  • G code for instructing movement along a smooth curve is prepared as “G06.1”, and when the curve interpolation is desired, “G06.1” is instructed by the machining program 1. Then, the points through which the curve passes are programmed with the coordinate values of each axis.
  • the curve interpolation is canceled by “G01” next to Pn here, the curve interpolation may be canceled by another “G0” (fast forward) or “G2 / G3” (circular interpolation). Also, a new curve starting from Pn may be programmed by commanding “G06.1” again. It is also possible to assign a special G code that explicitly cancels the curve interpolation.
  • the program input unit 2 When the program input unit 2 reads the machining program 1 line by line and identifies a G code indicating curve interpolation (“G06.1” in this embodiment), the program input unit 2 reads the machining program 1 until a series of curve interpolation is canceled. Each data is set in the data table 8. The contents of the data table 8 are shown in FIG.
  • the data set here are the coordinate values of the X, Y, Z, B, and C axes of (n + 1) points from P 0 to P n and the distances d j and d j ′ between the two points.
  • d j is a distance from P j ⁇ 1 to P j and is expressed by the above mathematical formula (2).
  • d j ' represents three linear axes with respect to the specified point sequence P j (x j , y j , z j ) of the linear axis and the specified point sequence V j (b j , c j ) representing the tool posture.
  • Is a distance between points in a five-dimensional space obtained by synthesizing the five axes of the rotation axis and the two rotation axes, and is represented by the above formula (6).
  • the program input unit 2 shown in FIG. 1 activates the curve generation unit 3.
  • the tool tip position curve generation unit 4 first generates a curve equation that smoothly passes through the tool tip point from the data table 8.
  • the tool posture curve generation unit 5 generates a curve equation in which the tool posture smoothly changes while passing the command point from the data table 8.
  • P j (X j , Y j , Z j , B j , C j ) composed of the coordinate value of the tool tip and the coordinate value of the tool posture, and three linear axes and two rotation axes
  • Equation (18c) the component of the tangent vector at the start point of the curve is as shown in Equation (18c) below.
  • Equation (18d) 3A + 2B + C (18d)
  • the interpolation calculation unit 6 performs interpolation processing according to a certain sampling period.
  • F is a constant program command speed.
  • the acceleration / deceleration speed may be F.
  • a position advanced by ⁇ L on the curve from the current position is obtained.
  • a position B advanced by ⁇ L is obtained from here.
  • the interpolation calculation unit 6 uses the tool tip positions X, Y, and Z and the tool.
  • the machine position MP shown in FIG. 3 is calculated from the values of the postures B and C, and the values of the axes of the machine positions X, Y and Z and the tool posture angles B and C are commanded to the servo drive unit 7.
  • the servo drive unit 9 drives the servo motor of each axis so that the commanded position is reached.
  • ⁇ L ′ a value obtained by subtracting the remaining distance from ⁇ L is set as ⁇ L ′, and ⁇ L ′ is obtained from the following formula (23).
  • the position P j + 1 (tb) that moves by ⁇ L ′ on P j + 1 (t) is obtained by setting the point A as the starting point P j + 1 (0) of the next curve P j + 1 (t).
  • the tool tip position is interpolated along a smooth curve passing through the tip position commanded by the program, and the two rotary axes given to the tool posture are passed through the posture commanded by the machining program while passing the tool tip position.
  • An interpolation result that smoothly changes in synchronization with the movement of the tip can be obtained. That is, the movement trajectory of the tool posture vector V can be smoothed.
  • the tool tip position curve generation unit 4 is based on the command position sequence of the linear axis created by the program input unit 2, and the tool tip related to the tool tip position.
  • a position curve (for example, equations (19a), (19b), (19c)) is generated.
  • the tool posture curve generation unit 5 is linked to the movement of the tool tip position based on the linear axis command position sequence created by the program input unit 2 and the rotation axis command position sequence created by the program input unit 2. Then, a tool posture curve (for example, mathematical formulas (19d) and (19e)) relating to the tool posture is generated.
  • the interpolation calculation unit 6 calculates an interpolation point of the tip position 102 a of the tool 102 from the tool tip position curve generated by the tool tip position curve generation unit 4, and the tool is calculated from the tool posture curve generated by the tool posture curve generation unit 5.
  • the interpolation point of the posture of 102 is calculated, and the interpolation point of the machine position MP of the linear axis is calculated according to the interpolation point of the tip position 102a of the tool 102 and the interpolation point of the posture of the tool 102.
  • the interpolation output unit 7 moves the linear axis to the interpolation point at the machine position calculated by the interpolation calculation unit 6, and moves the rotation axis to the interpolation point of the tool posture calculated by the interpolation calculation unit 6.
  • the tool posture curve is derived in association with the linear axis movement of the tool tip point, for example, it is created based on the tool tip position curve created based on the linear axis and both the linear axis and the rotation axis.
  • the linear axis and the rotation axis can be interpolated in combination with the tool posture curve.
  • the tool posture vector can be moved smoothly with the movement of the tool tip. That is, the movement locus of the tool posture vector can be smoothed.
  • the tool posture curve generation unit 5 generates a tool posture curve using a combined axis of a linear axis and a rotation axis.
  • the tool posture curve generation unit 5 is a five-dimensional space in which three linear axes and two rotation axes are combined, and the second derivative value of the curve at each command point consisting of the coordinate value of the tool tip and the coordinate value of the tool posture. So that the tangent vectors of the two rotation axes are obtained, and the curve formula of the tool posture curve is obtained using the tangent vectors of the two rotation axes.
  • the tool posture curve can be created based on both the linear axis command position sequence and the rotary axis command position sequence, and the tool posture curve can be linked to the movement of the tool tip position.
  • the tool tip position can be interpolated along a smooth curve passing through the tip position commanded by the machining program, and the tool tip can be moved while passing the posture commanded by the machining program on the two rotation axes that give the tool posture.
  • An interpolation result that changes smoothly in synchronism with the movement of can be obtained.
  • Embodiment 2 a numerical control apparatus 10i according to the second embodiment will be described. Below, it demonstrates focusing on a different part from Embodiment 1.
  • FIG. 1 a numerical control apparatus 10i according to the second embodiment will be described. Below, it demonstrates focusing on a different part from Embodiment 1.
  • the tool posture curve is generated using, for example, the combined five axes obtained by synthesizing the three linear axes and the two rotation axes.
  • the rotation axis is compared with the linear axis. Are synthesized one axis at a time.
  • Embodiment 2 First, the concept of Embodiment 2 will be described. For example, a case where two rotation axes are combined one by one with three linear axes will be described as an example.
  • the distance between the points in the four-dimensional space is expressed as follows : It is defined by the following mathematical formulas (12a) and (12b).
  • db j ⁇ ⁇ (x j ⁇ x j ⁇ 1 ) 2 + (y j ⁇ y j ⁇ 1 ) 2 + (Z j ⁇ z j ⁇ 1 ) 2 + (b j ⁇ b j ⁇ 1 ) 2 ⁇ (12a)
  • dc j ⁇ ⁇ (x j ⁇ x j ⁇ 1 ) 2 + (y j ⁇ y j ⁇ 1 ) 2 + (Z j ⁇ z j ⁇ 1 ) 2 + (c j ⁇ c j ⁇ 1 ) 2 ⁇ (12b)
  • db j is a distance between points in a four-dimensional space obtained by combining the B axis of the rotation axis with the linear axes x, y, and z.
  • each component Px j of Z (t), Py j ( t), Pz j (t) is Equation (5)
  • Px j of (7) (t) It is different from Py j (t) and Pz j (t).
  • the B component Pb j (t) in Expression (13a) is different from Pb j (t) in Expression (7).
  • the component l when the integrated value L is regarded as one axis is set as shown in the above equation (8).
  • a curve represented by the following equation (14a) is considered as a spline curve that smoothly passes through the two-dimensional plane LB.
  • Equation (1) (3), (4a), (4b) , the distance d j between the point sequence by a dc j of formula (12b), x, y, z , C are defined for each axis component, and the spline curve of Equation (1) can be decomposed into components for each axis and obtained as shown in Equation (13b) below.
  • the C-axis component Pc j (t) of the equation (13b) is regarded as a curve equation in which the C-axis of the rotation axis changes smoothly in synchronization with the movement between the command points of the linear axis. be able to.
  • the tip position curve generation means derives a spline curve according to Equation (5) from the point sequence of the linear axis position command, and the tool posture curve generation means calculates the linear axis and the rotation axis. From the command position point sequence, a tool posture curve is generated according to the mathematical expressions (13a) and (13b) based on a combined axis obtained by combining the rotational axes one by one with respect to the linear axis.
  • the operation of the tool posture curve generation unit 5i is different from the first embodiment as shown in FIG. 9, and the content of the data table 8i is different from the first embodiment as shown in FIG.
  • db j is a specified point sequence P j (x j , y j , z j ) of the linear axis and a specified point sequence of angles representing the tool posture.
  • dc j is a linear axis specified point sequence P j (x j , y j , z j ) and an angle specified point sequence V j (b j , c j ) representing a tool posture
  • P j x j , y j , z j
  • V j b j , c j
  • a distance between points in a four-dimensional space obtained by synthesizing four axes with the rotation axis C and is represented by the above formula (12b).
  • the tool posture curve generation unit 5i generates a curve equation in which the tool posture smoothly changes while passing the command point from the data table 8i.
  • the tool posture curve generation unit 5i generates a tool posture curve for each of a plurality of rotation axes by using a combined axis of one rotation axis and a linear axis.
  • a process for extracting the rotation axis component of the tool posture curve is performed.
  • position curve can be made into the smooth movement linked with the movement of a tool front-end
  • the tool tip position can be interpolated along a smooth curve passing through the tip position commanded by the machining program, and the tool tip can be moved while passing the posture commanded by the machining program on the two rotation axes that give the tool posture.
  • An interpolation result that changes smoothly in synchronism with the movement of can be obtained.
  • the numerical control device according to the present invention is useful for numerical control of machine tools.

Abstract

 数値制御装置は、直線軸の位置により決定される工具先端位置の指令と回転軸の回転角度によって決定される工具姿勢の指令とを含む加工プログラムに従って数値制御する数値制御装置であって、作成された直線軸の指令位置列に基づいて、工具先端位置に関する工具先端位置曲線を生成する先端位置曲線生成手段と、前記作成された直線軸の指令位置列と作成された回転軸の指令位置列とに基づいて、工具先端位置の移動に連動した、工具姿勢に関する工具姿勢曲線を生成する工具姿勢曲線生成手段と、前記工具先端位置の補間点と工具姿勢の補間点とに応じて、直線軸の機械位置の補間点を演算する補間演算手段と、前記演算された機械位置の補間点に直線軸を移動させ、前記演算された工具姿勢の補間点に回転軸を移動させる補間出力手段とを備える。

Description

数値制御装置
 本発明は、数値制御装置に関する。
 工作機械において、3軸の直線軸と2軸の回転軸とを持つ工作機械は5軸加工機と呼ばれ、直線軸の位置によって工具の先端位置を指令するとともに、回転軸によって工具の姿勢を指令することによって、被工作物に対して複雑な形状を加工することができる。
 被工作物に対して意匠的な曲面を加工する場合には、通常、CAD/CAM装置等によって、曲面にそって微小なブロックに分割した工具先端位置と工具姿勢との点列を作成し、数値制御装置によってこの点列間を直線で補間する加工が行われる。加工結果として得られる被工作物の加工面を滑らかにするためには、ブロックの分割をより細かくすればよいが、いたずらに分割を細かくすればプログラムデータ容量が過大になったり、数値制御装置のプログラム読み取り解析の演算に時間がかかり所定の加工速度を実現することが困難になったりする場合がある。
 それに対して、ブロックの分割を過度に細かくすることなく加工点列を作成し、数値制御装置によってその点列間を直線ではなく曲線で補間するという手法が提案されている。
 特許文献1には、数値制御装置において、加工点に対する曲線補間を行って曲面を加工するとともに、加工物に対する工具の傾斜角度を変化させることが記載されている。具体的には、加工プログラムから指令点列とベクトル列とをそれぞれ読み込む。読み込まれた指令点列に対して各点間に2点の内挿点を実指令点として求め、実指令点列に対して最小2乗法にて加工点用近似曲線を作成し、実指令点を加工点用近似曲線に向かって移動させて加工点用曲線を求め、加工点用曲線に対して補間を行い、加工点を求める。一方、読み込まれたベクトル列に対して2つの内挿ベクトルを実指令ベクトルとして求め、実指令ベクトルの先端点列に対して最小2乗法にてベクトル最先端点用近似曲線を作成し、実指令ベクトルをベクトル最先端点用近似曲線に向かって移動させてベクトル先端点用曲線を求め、ベクトル先端点用曲線に対して補間を行い、補間ベクトルを求める。そして、加工点と1周期前の加工点との差から進行方向ベクトルを求め、補間ベクトルから工具先端中心ベクトルを求め、補間ベクトル及び進行方向ベクトルから工具方向ベクトルを求める。さらに、加工点に工具先端中心ベクトル及び工具方向ベクトルを加算して直線移動軸X、Y、Zの位置を求め、工具方向ベクトルから回転軸A、Cの位置を求める。これにより、特許文献1によれば、加工点が滑らかに補間されるとともに工具と加工物の相対関係も滑らかに変化するので、滑らかな加工面が得られるとされている。
 特許文献2には、数値制御装置において、加工点が滑らかな曲線上を移動するとともに基準工具長位置が滑らかに変化するように制御することが記載されている。具体的には、加工プログラムを解析し加工点指令列と工具姿勢指令列とを作成する。作成された加工点指令列に対して最小二乗法により加工点近似曲線を作成し、加工点指令列を加工点近似曲線に向かって移動させて加工点曲線を求め、加工点曲線に対して補間を行い、補間加工位置を求める。一方、作成された工具姿勢指令列から工具姿勢単位ベクトル列を計算し基準工具長を積算して基準工具長ベクトルを求め、基準工具長ベクトルを加工点指令列に加算して基準工具長位置列を生成し、基準工具長位置列に対して最小二乗法により基準工具長位置近似曲線を作成し、基準工具長位置列を基準工具長位置近似曲線に向かって移動させて基準工具長位置曲線を求め、基準工具長位置曲線に対して補間を行い、補間基準工具長位置を求める。そして、補間加工位置と補間基準工具長位置とから補間工具姿勢を求める。さらに、補間加工位置、補間工具姿勢、及び実工具長から直線移動軸X、Y、Zの位置を求め、補間工具姿勢から回転軸B、Cの位置を求める。これにより、特許文献2によれば、計算された工具姿勢となるように直線軸と回転軸とを制御することとにより工具姿勢が滑らかに変化しながら加工することができるとされている。
特開2005-182437号公報 特開2010-146176号公報
 特許文献1に記載の技術では、工具先端を滑らかに補間するための曲線(加工点用曲線)は工具先端位置の点列から生成し、工具姿勢を滑らかに補間するための曲線(ベクトル先端点用曲線)は工具姿勢の点列から生成するというように、工具先端の曲線と工具姿勢の曲線とを全く別個に生成することが前提になっている。そのため、特許文献1に記載の技術では、工具姿勢ベクトルの移動軌跡を考慮した場合、工具先端が加工点用曲線上を滑らかに移動するのに同期して工具姿勢ベクトルが滑らかに変化しない場合があり、加工の結果得られる加工面が滑らかにならない可能性がある。
 特許文献2に記載の技術では、工具先端を滑らかに補間するための曲線(加工点曲線)は工具先端位置の点列から生成し、工具先端から基準工具長オフセットした基準工具長位置を滑らかに補間するための曲線(基準工具長位置曲線)を工具先端点位置の点列と工具姿勢位置列から生成し、加工点曲線を補間する点と基準工長位置を補間する点を結ぶ補間工具姿勢から、その補間点における回転軸B、Cの位置を求めるとしている。そのため、特許文献2に記載の技術では、工具姿勢ベクトルの移動軌跡を考慮した場合、例えば工具姿勢が回転軸の1軸(例えばB軸)だけの動きで変化し、他の回転軸(例えばC軸)が移動しないプログラムの場合でも、加工点曲線を補間する点と基準工具長位置を補間する点を結ぶ補間工具姿勢から算出した回転軸の値には、本来動かないはずのC軸にも移動成分が現れ、特にこれが特異点の近傍にあると大きなC軸の動きとなり、加工の結果得られる加工面が滑らかにならない可能性がある。
 本発明は、上記に鑑みてなされたものであって、工具姿勢ベクトルの移動軌跡を滑らかにできる数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明の1つの側面にかかる数値制御装置は、直線軸の位置により決定される工具先端位置の指令と回転軸の回転角度によって決定される工具姿勢の指令とを含む加工プログラムに従って、工具、直線軸、及び回転軸を有する機械を数値制御する数値制御装置であって、前記加工プログラム中の連続したブロックで指令される工具先端位置及び工具姿勢を読み取って、直線軸の指令位置列と回転軸の指令位置列とを作成するプログラム入力手段と、前記作成された直線軸の指令位置列に基づいて、工具先端位置に関する工具先端位置曲線を生成する先端位置曲線生成手段と、前記作成された直線軸の指令位置列と前記作成された回転軸の指令位置列とに基づいて、工具先端位置の移動に連動した、工具姿勢に関する工具姿勢曲線を生成する工具姿勢曲線生成手段と、各補間周期において、前記工具先端位置曲線から工具先端位置の補間点を演算し、前記工具姿勢曲線から工具姿勢の補間点を演算し、前記工具先端位置の補間点と工具姿勢の補間点とに応じて、直線軸の機械位置の補間点を演算する補間演算手段と、前記演算された機械位置の補間点に直線軸を移動させ、前記演算された工具姿勢の補間点に回転軸を移動させる補間出力手段とを備えたことを特徴とする。
 本発明によれば、工具姿勢曲線が工具先端点の直線軸移動に関連付けて導出されるため、例えば、直線軸に基づいて作成された工具先端位置曲線と、直線軸と回転軸との両方に基づいて作成された工具姿勢曲線とを組み合わせて、直線軸及び回転軸をそれぞれ補間できる。この結果、工具先端の移動に伴って工具姿勢ベクトルを滑らかに移動させることができる。すなわち、工具姿勢ベクトルの移動軌跡を滑らかにできる。
図1は、実施の形態1にかかる数値制御装置の構成を示す図である。 図2は、実施の形態1にかかる工作機械の構成を示す図である。 図3は、実施の形態1における工具先端点および工具姿勢を表す図である。 図4は、実施の形態1における1つの区間のスプライン曲線を表す図である。 図5は、実施の形態1における直線軸と回転軸2軸を合成した曲線を表す図である。 図6は、実施の形態1における加工プログラムの内容を示す図である。 図7は、実施の形態1におけるデータテーブルの構成を示す図である。 図8は、実施の形態1における曲線上の補間点を示す図である。 図9は、実施の形態1における直線軸と回転軸1軸を合成した曲線を表す図である。 図10は、実施の形態2におけるデータテーブルの構成を示す図である。
 以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 実施の形態1にかかる数値制御装置10について図1を用いて説明する。図1は、数値制御装置10の構成を示す図である。
 図1に示す数値制御装置10は、サーボ駆動部9を介して、例えば図2に示す工作機械100を数値制御する装置であり、例えば、工具102の先端位置と工具102の姿勢を制御する装置である。図2は、工作機械100の構成を示す図である。
 数値制御装置10が搭載された工作機械100では、加工プログラム(NCプログラム、モーションプログラム)1にて指令された位置に移動するよう、各軸の制御を行うことで可動部を移動させながら加工が行われる。工作機械100は、複数の直線軸と1以上の回転軸とを有する。
 具体的には、工作機械100は、例えば図2に示すように、3つの直線軸(並進軸)であるX軸、Y軸、Z軸と2つの回転軸であるB軸、C軸とを有する5軸加工機である。X軸は、X軸サーボモータ109Xが工具102を直線移動させるための軸である。Y軸は、Y軸サーボモータ109Yが工具102を直線移動させるための軸である。Z軸は、Z軸サーボモータ109Zが工具102を直線移動させるための軸である。X軸、Y軸、及びZ軸は、例えば、互いに直交する。B軸は、B軸サーボモータ109Bが工具102を回転移動させるための軸であり、例えばY軸の周りに回転移動させる。C軸は、C軸サーボモータ109Cが工具102を回転移動させるための軸であり、例えばZ軸の周りに回転移動させる。テーブル101は、その主面101a上にワークWKが載置される。また、B軸の中心軸とC軸の中心軸との交点は、工作機械100の中心を示す機械位置MPとみなすことができる。
 なお、図2は、回転軸(B軸、C軸)が工具側に2軸ある場合の5軸加工機の構成を例示的に示す図であるが、工作機械100は、回転軸が工具側とワーク側とに1軸ずつある場合の5軸加工機であってもよいし、回転軸がワーク側に2軸ある場合の5軸加工機であってもよい。
 加工プログラム1(図6参照)は、Gコードと呼ばれる指令コードを用いて記述されたプログラムであり、例えば、同時5軸制御機能として工具先端点制御(G43.4/G43.5)指令などを用いて記述されたプログラムである。
 数値制御装置10は、加工プログラム1を解析し、解析結果に応じてサーボ駆動部9を介して工作機械100(例えば、5軸加工機)を制御して(図2参照)、テーブル101に載置されたワークWKに対する相対的な工具姿勢を制御しながら、ワークWKの加工を行う。例えば、数値制御装置10は、工具102の位置や姿勢を所望の工具位置、工具姿勢となるように、X、Y、Z、B、C軸のそれぞれを適切に制御することで、ワークWKに対する複雑な加工を実現している。例えば、数値制御装置10は、所定の移動指令をサーボ駆動部9におけるX軸駆動部9X、Y軸駆動部9Y、Z軸駆動部9Z、B軸駆動部9B、及びC軸駆動部9Cのそれぞれへ出力する(図1参照)。これにより、X軸駆動部9X、Y軸駆動部9Y、Z軸駆動部9Z、B軸駆動部9B、及びC軸駆動部9Cは、それぞれ、X軸サーボモータ109X、Y軸サーボモータ109Y、Z軸サーボモータ109Z、B軸サーボモータ109B、C軸サーボモータ109Cに電圧指令を出力し駆動する。
 このように、工作機械100に、直線軸の位置によって工具102の先端位置を指令するとともに、回転軸によって工具102の姿勢を指令することによって、ワークWKに対して、より複雑な形状を加工することができる。
 ワークWKに対して意匠的な曲面を加工する場合には、通常、CAD/CAM装置等によって、曲面にそって微小なブロックに分割し、各ブロックにおいて工具102の先端位置102aと工具102の姿勢との点列を指令する加工プログラムを作成する。そして、数値制御装置10によってこの加工プログラムで指令された点列間を直線で補間する加工を行うことが一般的である。この場合、加工結果として得られるワークWKの加工面を滑らかにするためには、ブロックの分割をより細かくすればよいが、いたずらに分割を細かくすれば加工プログラムのデータ容量が過大になったり、数値制御装置のプログラム読み取り解析の演算に時間がかかり所定の加工速度を実現することが困難になる可能性がある。
 それに対して、ブロックの分割を過度に細かくすることなく加工点列を作成し、数値制御装置10によってその点列間を直線ではなく曲線で補間するという手法が考えられる。工具102の先端位置102aと工具102の姿勢との点列で指令する加工プログラムの場合、工具102の先端位置102aに対応する直線軸の移動を滑らかに補間しながら、工具102の姿勢に対応する回転軸の移動(回転)を直線軸の移動に同期しながら滑らかに曲線補間する必要があり、それを実現する技術が望まれる。
 そこで、実施の形態1では、直線軸の指令位置の点列に基づいて、工具102の先端位置102aに関する工具先端位置曲線を生成する一方で、回転軸の指令位置の点列だけでなく直線軸の指令位置の点列にも基づいて、工具102の姿勢に関する工具姿勢曲線を生成することで、工具先端102aの移動軌跡を滑らかにしながら、その移動に同期しながら工具102の姿勢を示す工具姿勢ベクトルの移動軌跡を滑らかにすることを目指す。
 すなわち、実施の形態1にかかる数値制御装置10は、例えば、プログラム入力手段、先端位置曲線生成手段、工具姿勢曲線生成手段、補間演算手段、及び補間出力手段を有する。
 プログラム入力手段は、加工プログラム中の連続したブロックで指令される先端位置と工具の姿勢とを読み取って、直線軸の指令位置列と回転軸の指令位置列とを作成する。工具先端位置曲線生成手段は、プログラム入力手段により作成された直線軸の指令位置列に基づいて、工具先端位置曲線を生成する。工具先端位置曲線は、工具102の先端位置102aに関する曲線であり、例えば滑らかな曲線である。工具姿勢曲線生成手段は、プログラム入力手段により作成された直線軸の指令位置列とプログラム入力手段により作成された回転軸の指令位置列とに基づいて、工具姿勢曲線を生成する。工具姿勢曲線は、工具102の先端位置102aの移動に連動した曲線であり、工具102の姿勢に関する曲線であり、例えば滑らかな曲線である。補間演算手段は、各補間周期において、工具先端位置曲線から工具102の先端位置102aの補間点を演算する。補間演算手段は、各補間周期において、工具姿勢曲線から工具102の姿勢の補間点を演算する。補間演算手段は、各補間周期において、工具102の先端位置102aの補間点と工具102の姿勢の補間点とに基づいて、直線軸の機械位置MPの補間点を演算する。補間出力手段は、補間演算手段により演算された機械位置MPの補間点に直線軸を移動させる。補間出力手段は、補間演算手段により演算された工具102の姿勢の補間点に回転軸を移動(回転)させる。
 上述の構成手段のうち実施の形態1における特徴的な部分は、例えば、工具先端位置曲線生成手段と工具姿勢曲線生成手段とであり、これについて、まず、実施の形態1の考え方を説明する。
 公知の曲線理論(例えば「形状処理工学(I)」山口富士夫著、日刊工業新聞社刊)によると、図3に示すようなn+1個の指定点P、P、P、・・・、Pを滑らかに通過する3次スプライン曲線上の点は、例えば、指定点Pj-1からPの図4に示す区間において、次の数式(1)で表現される。
Figure JPOXMLDOC01-appb-M000001
                   (j=1,2,3,・・・,n)
 数式(1)において、qは指定点P(x,y,z)における3次スプライン曲線の単位接線ベクトルであり、dは、Pj-1からPまでの距離であり、例えば、次に数式(2)で表現される。
   d=√{(x-xj-1+(y-yj-1+(z-zj-1}・・・(2)
 また、上記の数式(1)において、tは曲線のパラメータであり、0≦t≦1の範囲内の値である。数式(1)により示されるスプライン曲線は、指定点Pを通過するが、単位接線ベクトルqを適切に設定しないと、各指定点において2次微分が連続にならない。2次微分が各指定点において連続となる条件は、次の数式(3)で表現される。
   dj-1+2(dj+1+d)q+dj+1
   =(3/dj+1)(d (Pj+1-P)+dj+1 (P-Pj-1
             (j=1,2,3,・・・,n)・・・(3)
 なお、端点PとPについては、端点における曲率を0とし、次の数式(4a)、(4b)で示される端点条件を追加する。
   2d+d=3(P-P)・・・(4a)
   dn-1+2d=3(P-Pn-1)・・・(4b)
 数式(3)、(4a)、(4b)のn+1個の連立方程式を解くことによって、n+1個の接線ベクトルqを求められれば、数式(1)によって全区間のスプライン曲線が求められる。
 ここで、上記の解法において数式(1)のスプライン曲線は、直線軸の各軸(X軸、Y軸、Z軸)の成分に分解すると、次の数式(5)で表現される。
 P(t)=[Px(t),Py(t),Pz(t)]・・・(5)
 数式(3)、(4a)、(4b)は、指定点間の距離を示す数式(2)のdを共通項とした直線軸の各軸成分について互いに独立した式であり、スプライン曲線は直線軸の各軸について独立に求められる。
 次に、直線軸と回転軸との合成について考える。図3に示すように、点Pにおける工具102の姿勢を示す工具姿勢ベクトルVが、2つの回転軸であるB軸とC軸の角度によって与えられているものとする。直線軸の指定点列P(x、y、z)および工具102姿勢を表す角度の指定点列V(b、c)に対して、5次元空間の点間距離を以下の数式(6)で定義する。
   d’=√{(x-xj-1+(y-yj-1+(z-zj-1
         +(b-bj-1+(c-cj-1}・・・(6)
 数式(6)で、直線軸の長さと回転軸の角度との次元の違いは、例えば1°=1mmと換算することで次元を合わせるものとする。
 このとき、数式(1)、(3)、(4a)、(4b)は、点列間の距離dを数式(6)のd’とすることで、X軸、Y軸、Z軸、B軸、C軸の各軸成分について定義され、数式(1)のスプライン曲線は、各軸の成分に分解して、次の数式(7)に示すように求めることができる。
 P(t)=[Px(t),Py(t),Pz(t),Pb(t),Pc(t)]・・・(7)
 ただし、数式(7)のx、y、zの各成分Px(t)、Py(t)、Pz(t)は、数式(5)のx、y、zの各成分Px(t)、Py(t)、Pz(t)とは異なる。
 ここで、工具先端102aの移動距離の積算値Lを考え、積算値Lを1つの軸とみなした場合の成分lを数式(8)に示すようにおく。
   l=lj-1+d・・・(8)
 このとき、図5に示すようにL-B-Cの3次元空間を考え、L-B-C空間内を滑らかに通過するスプライン曲線として、次の数式(9)で表される曲線を考える。
 P(t)=[Pl(t),Pb(t),Pc(t)]・・・(9)
 このとき、点列間の距離d”は、次の数式(10)で示すように表される。
 d”=√{(l-lj-1+(b-bj-1+(c-cj-1
                           ・・・(10)
 数式(10)において、明らかに、次の数式(11)が成り立つ。
(l-lj-1=(x-xj-1+(y-yj-1+(z-zj-1
                           ・・・(11)
 数式(6)、(10)、(11)により、d’=d”が成り立つことが分かる。これにより、数式(7)で求めるスプライン曲線のB軸、C軸の成分Pb(t)、Pc(t)は、数式(9)で求めるスプライン曲線のB軸、C軸の成分に一致する。すなわち、数式(7)で求めたスプライン曲線のPb(t)、Pc(t)は、直線軸の指令点列間の移動に同期して滑らかに変化する曲線式とみなすことができる。
 これにより、数式(5)から求めたスプライン曲線の直線軸の成分Px(t)、Py(t)、Pz(t)と、数式(7)から求めたスプライン曲線の回転軸の成分Pb(t)、Pc(t)とを組み合わせて、
  P(t)=[Px(t),Py(t),Pz(t),Pb(t),Pc(t)]
とすれば、この曲線をもって直線軸X、Y、Zを滑らかに移動しながら、その移動に同期して回転軸B、Cが滑らかに移動する曲線を得ることができる。
 そこで、実施の形態1では、例えば、工具先端位置曲線生成手段は、直線軸の位置指令の点列から数式(5)によるスプライン曲線を導出し、工具姿勢曲線生成手段は、直線軸および回転軸の指令位置の点列から、直線軸と回転軸の合成軸をもとにして数式(7)による工具姿勢曲線を生成する。
 具体的には、図1に示すように、数値制御装置10は、プログラム入力部2、曲線生成部3、補間演算部6、補間出力部7、9はサンプリング時間ごとの位置指令に従って図示しないモータを駆動するサーボ駆動部、8は曲線生成処理用のデータを格納するデータテーブルである。曲線生成部3は、工具先端位置曲線生成部4及び工具姿勢曲線生成部5を有する。
 プログラム入力部2は、加工プログラム1を読み取る。曲線生成部3は、プログラム入力部2により読み取られた加工プログラム1から、加工プログラム1の指令点列を滑らかに結ぶ曲線を生成する。例えば、曲線生成部3の工具先端位置曲線生成部4は、工具先端の指令位置を滑らかに結ぶ曲線を生成する。曲線生成部3の工具姿勢曲線生成部5は、工具の姿勢の指令角度を滑らかに結ぶ曲線を生成する。補間演算部6は、曲線生成部3で生成された曲線に沿ってサンプリング時間ごとの補間位置を演算する。補間出力部7は、サンプリング時間ごとに演算された補間位置を位置指令としてサーボ駆動部9に出力する。
 加工プログラム1は、例えば図6に示すように規定された内容を含む。「G43.4」は、工具先端点制御を表し、「G43.4」の行以下に記述されるX、Y、Zの座標値が図3に示す工具102の先端位置102aの座標であることを表す。「G01」は、直線補間を表し、各ブロックにおいて指令された各軸の座標値に直線で移動することを示す。ここで、滑らかな曲線に沿っての移動を指令するためのGコードが「G06.1」で準備されており、曲線補間を所望する箇所にきたら「G06.1」を加工プログラム1で指令し、以下曲線が通過する点を各軸の座標値でプログラム指令していく。そして曲線補間を終了すると「G01」の直線補間等他の補間モードをプログラム指令するとその時点で曲線補間はキャンセルされる。図6に示す加工プログラム1では、「G06.1」が指令される前の最後の直線補間の終点P0を曲線の始点として、曲線補間の通過点としてP1、P2、P3、・・・Pnがプログラムされ「G01」で他の補間モードとなってPnで曲線補間が終了している。
 なお、ここではPnの次に「G01」で曲線補間をキャンセルしたが、他の「G0」(早送り)や「G2/G3」(円弧補間)などで曲線補間をキャンセルしてもよい。また、再度「G06.1」を指令することによって、Pnを始点とする新たな曲線をプログラム指令してもよい。また、曲線補間を明示的にキャンセルする特別なGコードを割り当てることも可能である。
 プログラム入力部2は、加工プログラム1を1行ずつ読み取り、曲線補間を示すGコード(本実施例では「G06.1」)を識別すると、一連の曲線補間がキャンセルされるまで加工プログラム1を読み取り、データテーブル8に各データを設定する。データテーブル8の内容を図7に示す。
 ここで設定するデータは、PからPまでの(n+1)点のX、Y、Z、B、C各軸の座標値および、2点間の距離dおよびd’である。ここで、dはPj-1からPまでの距離であり、上記の数式(2)で表される。d’は、直線軸の指定点列P(x、y、z)および工具姿勢を表す角度の指定点列V(b、c)に対して、直線軸3軸と回転軸2軸との5軸を合成した、5次元空間の点間距離であり、上記の数式(6)で表される。ここで、直線軸の長さと回転軸の角度の次元の違いは、例えば1°=1mmと換算することで次元を合わせるものとする。
 例えば図7に示すようなデータテーブル8を作成すると、図1に示すプログラム入力部2は、曲線生成部3を起動する。
 曲線生成部3では、まず工具先端位置曲線生成部4が、データテーブル8から工具先端点を滑らかに通過する曲線式を生成する。生成の手順としては、工具先端の座標値P=(X,Y,X)および工具先端点の指令点列間の距離dから、各指令点Pにおける接線ベクトルq=(qx,qy,qz)としたときに、曲線の2次微分が連続となる式である上記の数式(3)と、曲線の始点Pおよび終点Pで曲率0となる端点条件である数式(4a)、(4b)とにより、X、Y、Zそれぞれについて、上記(n+1)個の連立方程式を解く。これにより、(n+1)個の接線ベクトルq=(qx,qy,qz)(n=0,1,・・・,n)を算出する。算出した結果は、データテーブル8に、例えば直線軸の接線ベクトル(図7参照)として格納する。
 次に、工具姿勢曲線生成部5が、データテーブル8から工具姿勢が指令点を通過しながら滑らかに変化する曲線式を生成する。生成の手順としては、工具先端の座標値および工具姿勢の座標値からなるP=(X,Y,Z,B,C)、および直線軸3軸と回転軸2軸を合成した指令点列間の距離d’をdとして(数式6、図5参照)、各指令点Pにおける接線ベクトルq=(qx,qy,qz,qb,qc)としたときに、曲線の2次微分が連続となる上記の数式(3)と、曲線の始点Pおよび終点Pで曲率0となる端点条件の数式(4a)、(4b)とから、B軸、C軸の2つの回転軸の成分のみについてそれぞれに、上記(n+1)個の連立方程式から、(n+1)個の接線ベクトルq’=(qb,qc)(n=0,1,・・・,n)を算出する。算出した結果は、データテーブル8に、例えば回転軸の接線ベクトル(図7参照)として格納する。
 このようにして、滑らかな曲線の接線ベクトルの各軸の成分が導出される。
 次に、3次スプライン関数の式を、次の数式(16)に示すようにおく。
   f(t)=At+Bt+Ct+D (0≦t≦1)・・・(16)
 数式(16)を1階微分すると、数式(17)のようになる。
   f’(t)=3At+2Bt+C・・・(17)
 数式(16)により、曲線の始点の座標値は、次の数式(18a)のようになる。
   f(0)=D・・・(18a)
 数式(16)により、曲線の終点の座標値は、次の数式(18b)のようになる。
   f(1)=A+B+C+D・・・(18b)
 数式(17)により、曲線の始点の接線ベクトルの成分は、次の数式(18c)のようになる。
   f’(0)=C・・・(18c)
 数式(17)により、曲線の終点の接線ベクトルの成分は、次の数式(18d)のようになる。
   f’(1)=3A+2B+C・・・(18d)
 データテーブル8には各点の座標値および接線ベクトルの角軸成分が求まっているのでこれを用いて、n個の区間の各軸の3次スプライン関数を導出する。
   fjx(t)=A+B+Ct+D
             (j=0,1,・・・,n)・・・(19a)
   fjy(t)=A+B+Ct+D
             (j=0,1,・・・,n)・・・(19b)
   fjz(t)=A+B+Ct+D
             (j=0,1,・・・,n)・・・(19c)
   fjb(t)=A+B+Ct+D
             (j=0,1,・・・,n)・・・(19d)
   fjc(t)=A+B+Ct+D
             (j=0,1,・・・,n)・・・(19e)
 曲線生成部3で全ての区間で各軸の曲線式が導出されると、補間演算部6で一定のサンプリング周期にしたがって補間処理を実行する。
 補間処理は以下の手順で実行する。まず、プログラム1に記述された工具先端の移動速度指令F(mm/分)に対して、一定のサンプリング時間ΔT(秒)で移動する距離ΔL(mm)を求めると、数式(20)のようになる。
   ΔL=F/60×ΔT(mm)・・・(20)
 数式(20)において、Fは、一定のプログラム指令速度としているが、所定の加減速を行うときは、加減速を施した速度をFとしてもよい。
 次に、現在の位置から曲線上をΔLだけ進んだ位置を求める。図8において、現在の位置が曲線P(t)上のt=taで与えられる位置A=P(ta)にあるとして、ここからΔLだけ進んだ位置Bを求める。これには、曲線上の位置B=P(tb)を与える曲線のパラメータtbを求めればよい。曲線P(t)の始点Pj-1=P(0)、終点P=P(1)、Pj-1からPまでの距離dであるので、曲線上のパラメータtが0から1まで変化すると、曲線P(t)上を距離dだけ動くことになる。したがって、曲線上をΔLだけ動くためにはパラメータtを、まずΔt=ΔL/dだけ変化させる。したがって、次の数式(21)により、P(tb)を求める。
   tb=ta+Δt・・・(21)
 実際にPj(ta)から動いた距離Lengを、次の数式(22)によりを求める。
   Leng=|P(ta)-P(tb)|・・・(22)
 数式(22)で示される実際に動いた距離LengとΔLとの差が許容値以上のときは、
   Δt=Δt×ΔL/Leng
としてΔtを修正し、修正したΔtを用いて数式(21)のtbを修正してP(tb)を求め直す。このような演算を、P(ta)からP(tb)まで実際に動いた距離LengとΔLとの差が許容値以内となるまで繰り返す。
 このようにして、曲線上を点AからΔLだけ移動する点B=P(tb)=(fjx(tb)、fjy(tb)、fjz(tb))を求めたら、その曲線パラメータtbを工具姿勢の曲線式(数式(19d)、(19e)参照)に入れて、点P(tb)に対応する工具姿勢曲線V(tb)=(fjb(tb),fjc(tb))を求める。工具姿勢曲線V(t)は工具先端の曲線P(t)の移動に連動するように求めたものであるので、工具先端の位置を与える曲線パラメータtと同一のパラメータtを工具姿勢曲線式に与えて工具先端の姿勢を求めることにより、工具先端の滑らかな動きに連動して、工具姿勢を滑らかに動作する位置を求めることができる。
 以上のように、サンプリング周期ごとに滑らかな曲線上を移動するX,Y、Z、B、Cの各軸の位置が求まると、補間演算部6では工具先端の位置X、Y、Zと工具姿勢B、Cとの値から、図3に示す機械位置MPを算出し、機械位置X、Y、Zと工具姿勢の角度B、Cとの各軸の値をサーボ駆動部7に指令する。サーボ駆動部9は指令された位置となるよう各軸のサーボモータを駆動する。
 なお、上記の処理の説明の過程で、現在の位置をA=P(ta)として説明したが、曲線を補間する処理に最初に入ってきたときは、j=0、ta=0である。すなわち、A=P(0)であり一連の曲線の始点となる。
 また、点Aから当該区間の曲線終点P(1)までの残距離がΔLより小さいときは、ΔLから残距離を減じた値をΔL’とし、ΔL’を下記の数式(23)から求め、点Aを次の曲線Pj+1(t)の始点Pj+1(0)として、Pj+1(t)上をΔL’だけ移動する位置Pj+1(tb)を求めればよい。
   ΔL’=ΔL-|P(ta)-P(1)|・・・(23)
 以上の過程により、プログラムで指令された先端位置を通過する滑らかな曲線に沿って工具先端位置を補間するとともに、工具姿勢に与える回転軸2軸を加工プログラムに指令された姿勢を通過しながら工具先端の移動に同期して滑らかに変化させる補間結果を得ることができる。すなわち、工具姿勢ベクトルVの移動軌跡を滑らかにすることができる。
 以上のように、実施の形態1では、数値制御装置10において、工具先端位置曲線生成部4が、プログラム入力部2により作成された直線軸の指令位置列に基づいて、工具先端位置に関する工具先端位置曲線(例えば、数式(19a)、(19b)、(19c))を生成する。工具姿勢曲線生成部5は、プログラム入力部2により作成された直線軸の指令位置列と、プログラム入力部2により作成された回転軸の指令位置列とに基づいて、工具先端位置の移動に連動した、工具姿勢に関する工具姿勢曲線(例えば、数式(19d)、(19e))を生成する。補間演算部6は、工具先端位置曲線生成部4により生成された工具先端位置曲線から工具102の先端位置102aの補間点を演算し、工具姿勢曲線生成部5により生成された工具姿勢曲線から工具102の姿勢の補間点を演算し、工具102の先端位置102aの補間点と工具102の姿勢の補間点とに応じて、直線軸の機械位置MPの補間点を演算する。そして、補間出力部7は、補間演算部6により演算された機械位置の補間点に直線軸を移動させ、補間演算部6により演算された工具姿勢の補間点に回転軸を移動させる。これにより、工具姿勢曲線が工具先端点の直線軸移動に関連付けて導出されるため、例えば、直線軸に基づいて作成された工具先端位置曲線と、直線軸と回転軸との両方に基づいて作成された工具姿勢曲線とを組み合わせて、直線軸及び回転軸をそれぞれ補間できる。この結果、工具先端の移動に伴って工具姿勢ベクトルを滑らかに移動させることができる。すなわち、工具姿勢ベクトルの移動軌跡を滑らかにできる。
 また、実施の形態1では、工具姿勢曲線生成部5が、直線軸と回転軸との合成軸を用いて、工具姿勢曲線を生成する。例えば、工具姿勢曲線生成部5は、直線軸3軸と回転軸2軸を合成した5次元空間において、工具先端の座標値および工具姿勢の座標値からなる各指令点における曲線の2次微分値が連続となるように、回転軸2軸の接線ベクトルを求め、その回転軸2軸の接線ベクトルを用いて工具姿勢曲線の曲線式を求める。これにより、直線軸の指令位置列と回転軸の指令位置列との両方に基づいて工具姿勢曲線を作成することができ、工具姿勢曲線を工具先端位置の移動に連動したものとすることができる。この結果、加工プログラムで指令された先端位置を通過する滑らかな曲線に沿って工具先端位置を補間できるとともに、工具姿勢を与える回転軸2軸を加工プログラムに指令された姿勢を通過しながら工具先端の移動に同期して滑らかに変化させる補間結果を得ることができる。
実施の形態2.
 次に、実施の形態2にかかる数値制御装置10iについて説明する。以下では、実施の形態1と異なる部分を中心に説明する。
 実施の形態1では、例えば直線軸3軸と回転軸2軸を合成した合成軸5軸を用いて、工具姿勢曲線を生成しているが、実施の形態2では、直線軸に対して回転軸を1軸ずつ合成する。
 まず、実施の形態2の考え方を説明する。例えば直線軸3軸に対して、回転軸2軸を1軸ずつ合成する場合について例示的に説明する。
 直線軸の指定点列P(x,y,z)および工具姿勢を表す角度の指定点列V(b,c)に対して、4次元空間の点間距離を、以下の数式(12a)、(12b)で定義する。
   db=√{(x-xj-1+(y-yj-1
        +(z-zj-1+(b-bj-1}・・・(12a)
   dc=√{(x-xj-1+(y-yj-1
        +(z-zj-1+(c-cj-1}・・・(12b)
 数式(12a)において、dbは回転軸のB軸を直線軸x、y、zに合成した4次元空間における点間距離であり、数式(12b)において、dcは回転軸のC軸を直線軸x、y、zに合成した4次元空間における点間距離である。直線軸の長さと回転軸の角度の次元の違いは、例えば1°=1mmと換算することで次元を合わせるものとする。
 このとき、上記の数式(1)、(3)、(4a)、(4b)は、点列間の距離dを式(12a)のdbとすることで、x、y、z、bの各軸成分について定義され、数式(1)のスプライン曲線は、各軸の成分に分解して、次の数式(13a)に示すように求めることができる。
 P(t)=[Px(t),Py(t),Pz(t),Pb(t)]
                         ・・・(13a)
 ここで、数式(13a)のX,Y,Zの各成分Px(t)、Py(t)、Pz(t)は、数式(5)、(7)のPx(t)、Py(t)、Pz(t)とは異なる。また数式(13a)のBの成分Pb(t)は、数式(7)のPb(t)とは異なる。
 ここで、工具先端の移動距離の積算値Lを考え、積算値Lを1つの軸とみなした場合の成分lを上記の数式(8)に示すようにおく。
 このとき、図9に示すようにL-Bの2次元平面を滑らかに通過するスプライン曲線として、次の数式(14a)で表される曲線を考える。
   P(t)=[Pl(t),Pb(t)]・・・(14a)
 このとき、点列間の距離db’は、次の数式(15a)で示すように表される。
  db’=√{(l-lj-1+(b-bj-1}・・・(15a)
 数式(15a)において、明らかに、上記の数式(11)が成り立つ。
 数式(6)、(15a)、(11)により、db=db’ が成り立つことが分かる。これにより、数式(14a)で求めるスプライン曲線のB軸成分Pb(t)は、数式(13a)で求めるスプライン曲線のB軸成分に一致する。すなわち、数式(13a)で求めたスプライン曲線のPb(t)は、直線軸の指令点列間の移動に同期して回転軸のB軸が滑らかに変化する曲線式とみなすことができる。
 同様にC軸についても、数式(1)、(3)、(4a)、(4b)は、点列間の距離dを式(12b)のdcとすることで、x、y、z、cの各軸成分について定義され、数式(1)のスプライン曲線は、各軸の成分に分解して、次の数式(13b)に示すように求めることができる。
  P(t)=[Px(t),Py(t),Pz(t),Pc(t)]
                         ・・・(13b)
 B軸の場合と同様に、数式(13b)のC軸成分Pc(t)は、直線軸の指令点列間の移動に同期して回転軸のC軸が滑らかに変化する曲線式とみなすことができる。
 そこで、実施の形態2では、例えば、先端位置曲線生成手段は、直線軸の位置指令の点列から数式(5)によるスプライン曲線を導出し、工具姿勢曲線生成手段は、直線軸および回転軸の指令位置の点列から、直線軸に対して回転軸を1軸ずつ合成した合成軸をもとにして数式(13a)(13b)による工具姿勢曲線を生成する。
 具体的には、工具姿勢曲線生成部5iの動作が、図9に示すように実施の形態1と異なり、データテーブル8iの内容が、図10に示すように、実施の形態1と異なる。
 すなわち、プログラム入力部2によりデータテーブル8iに設定されるデータのうち、dbは、直線軸の指定点列P(x、y、z)および工具姿勢を表す角度の指定点列V(b、c)に対して、直線軸3軸と回転軸B軸との4軸を合成した4次元空間における点間距離であり、上記の数式(12a)で表される。dcは、直線軸の指定点列P(x、y、z)および工具姿勢を表す角度の指定点列V(b、c)に対して、直線軸3軸と回転軸C軸との4軸を合成した4次元空間における点間距離であり、上記の数式(12b)で表される。
 また、曲線生成部3では、工具姿勢曲線生成部5iが、データテーブル8iから工具姿勢が指令点を通過しながら滑らかに変化する曲線式を生成する。生成の手順としては、工具先端の座標値および工具姿勢の一部の座標値からなるP’=(X、Y、Z、B)、および直線軸3軸と回転軸B軸を合成した指令点列間の距離dbをdとして(数式(12a)、図9参照)、各指令点P’における接線ベクトルq’=(qx、qy、qz、qb)としたときに、曲線の2次微分が連続となる数式(3)と、曲線の始点P’および終点P’で曲率0となる端点条件の数式(4a)、(4b)とから、B軸の成分のみについて、上記(n+1)個の連立方程式から、(n+1)個の接線ベクトルの成分qb(n=0、1、・・・、n)を算出する。算出した結果は、データテーブル8iに、回転軸の接線ベクトルのB軸成分qb(図10参照)として格納する。
 次に、工具姿勢曲線生成部5iが、工具先端の座標値および工具姿勢の一部の座標値からなるP”=(X、Y、Z、C)、および直線軸3軸と回転軸C軸を合成した指令点列間の距離dcをdとして(数式(12b)、図9参照)、各指令点P”における接線ベクトルq”=(qx、qy、qz、qc)としたときに、曲線の2次微分が連続となる数式(3)と、曲線の始点P”および終点P”で曲率0となる端点条件の数式(4a)、(4b)とから、C軸の成分のみについて、上記(n+1)個の連立方程式から、(n+1)個の接線ベクトルの成分qc(n=0、1、・・・、n)を算出する。算出した結果は、データテーブル8iに、回転軸の接線ベクトルのC軸成分qc(図10参照)として格納する。
 以上のように、実施の形態2では、工具姿勢曲線生成部5iが、複数の回転軸のそれぞれに対して、回転軸1軸と直線軸との合成軸を用いて工具姿勢曲線を生成し、工具姿勢曲線の回転軸成分を抽出する処理を行う。これにより、工具姿勢曲線を構成する各回転軸の移動を工具先端位置の移動に連動した滑らかな移動とすることができる。この結果、加工プログラムで指令された先端位置を通過する滑らかな曲線に沿って工具先端位置を補間できるとともに、工具姿勢を与える回転軸2軸を加工プログラムに指令された姿勢を通過しながら工具先端の移動に同期して滑らかに変化させる補間結果を得ることができる。
 以上のように、本発明にかかる数値制御装置は、工作機械の数値制御に有用である。
 1 加工プログラム、 2 プログラム入力部、 3 曲線生成部、 4 工具先端位置曲線生成部、 5,5i 工具姿勢曲線生成部、 6 補間演算部、 7 補間出力部、 8,8i データテーブル、 9 サーボ駆動部、 10,10i 数値制御装置、 100 工作機械、 101 テーブル、 102 工具、 102a 先端位置。

Claims (3)

  1.  直線軸の位置により決定される工具先端位置の指令と回転軸の回転角度によって決定される工具姿勢の指令とを含む加工プログラムに従って、工具、直線軸、及び回転軸を有する機械を数値制御する数値制御装置であって、
     前記加工プログラム中の連続したブロックで指令される工具先端位置及び工具姿勢を読み取って、直線軸の指令位置列と回転軸の指令位置列とを作成するプログラム入力手段と、
     前記作成された直線軸の指令位置列に基づいて、工具先端位置に関する工具先端位置曲線を生成する先端位置曲線生成手段と、
     前記作成された直線軸の指令位置列と前記作成された回転軸の指令位置列とに基づいて、工具先端位置の移動に連動した、工具姿勢に関する工具姿勢曲線を生成する工具姿勢曲線生成手段と、
     各補間周期において、前記工具先端位置曲線から工具先端位置の補間点を演算し、前記工具姿勢曲線から工具姿勢の補間点を演算し、前記工具先端位置の補間点と工具姿勢の補間点とに応じて、直線軸の機械位置の補間点を演算する補間演算手段と、
     前記演算された機械位置の補間点に直線軸を移動させ、前記演算された工具姿勢の補間点に回転軸を移動させる補間出力手段と、
     を備えたことを特徴とする数値制御装置。
  2.  前記工具姿勢曲線生成手段は、直線軸と回転軸との合成軸を用いて前記工具姿勢曲線を生成する
     ことを特徴とする請求項1に記載の数値制御装置。
  3.  前記工具姿勢曲線生成手段は、複数の回転軸のそれぞれに対して、回転軸1軸と直線軸との合成軸を用いて前記工具姿勢曲線を生成し、前記工具姿勢曲線の回転軸成分を抽出する処理を行う
     ことを特徴とする請求項1に記載の数値制御装置。
PCT/JP2012/069015 2012-07-26 2012-07-26 数値制御装置 WO2014016943A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112012006583.2T DE112012006583B4 (de) 2012-07-26 2012-07-26 Numerische Steuervorrichtung
CN201280074883.XA CN104508579B (zh) 2012-07-26 2012-07-26 数控装置
US14/408,665 US9904270B2 (en) 2012-07-26 2012-07-26 Numerical control apparatus for multi-axial machine
JP2013512692A JP5323280B1 (ja) 2012-07-26 2012-07-26 数値制御装置
PCT/JP2012/069015 WO2014016943A1 (ja) 2012-07-26 2012-07-26 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/069015 WO2014016943A1 (ja) 2012-07-26 2012-07-26 数値制御装置

Publications (1)

Publication Number Publication Date
WO2014016943A1 true WO2014016943A1 (ja) 2014-01-30

Family

ID=49595871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/069015 WO2014016943A1 (ja) 2012-07-26 2012-07-26 数値制御装置

Country Status (5)

Country Link
US (1) US9904270B2 (ja)
JP (1) JP5323280B1 (ja)
CN (1) CN104508579B (ja)
DE (1) DE112012006583B4 (ja)
WO (1) WO2014016943A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373070A (zh) * 2014-08-07 2016-03-02 发那科株式会社 机床

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046265A1 (en) * 2013-06-06 2018-02-15 Idhl Holdings, Inc. Latency Masking Systems and Methods
US9513623B2 (en) * 2014-01-21 2016-12-06 Mitsubishi Electric Research Laboratories, Inc. Method for generating trajectory for numerical control process
EP3125055A1 (de) * 2015-07-31 2017-02-01 Siemens Aktiengesellschaft Werkzeugführungsverfahren für aneinandergrenzende flächen
JP6173628B1 (ja) * 2017-01-30 2017-08-02 株式会社ミツトヨ 形状測定装置の制御方法
CN109032077B (zh) * 2018-09-05 2022-03-18 沈阳建筑大学 一种基于刀具姿态控制的五轴数控加工指令点插补方法
JP7400737B2 (ja) * 2019-01-04 2023-12-19 ソニーグループ株式会社 制御装置、制御方法、及びプログラム
CN113687629B (zh) * 2020-05-19 2022-09-20 大族激光科技产业集团股份有限公司 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59106007A (ja) * 1982-12-10 1984-06-19 Toyota Central Res & Dev Lab Inc 多関節型ロボツトの軌跡制御装置
JPH04259012A (ja) * 1991-02-13 1992-09-14 Fanuc Ltd 数値制御装置
JP2010140312A (ja) * 2008-12-12 2010-06-24 Fanuc Ltd 5軸加工機用数値制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3882304A (en) * 1973-05-04 1975-05-06 Allen Bradley Co Parametric interpolation of three-dimensional surfaces
NL9002703A (nl) * 1990-12-10 1992-07-01 Philips Nv Bewerkingsmachine en besturingsinrichting geschikt voor toepassing in een dergelijke bewerkingsmachine.
JP3396342B2 (ja) 1995-07-17 2003-04-14 三菱電機株式会社 スプライン補間機能を有する数値制御装置
JPH10228306A (ja) 1997-02-17 1998-08-25 Fanuc Ltd 数値制御装置における自由曲線補間方法
DE10163503A1 (de) * 2001-12-21 2003-07-10 Siemens Ag Polynom- und Spline-Interpolation von Werkzeugorientierungen
DE10251600A1 (de) * 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
JP2005071016A (ja) 2003-08-22 2005-03-17 Fanuc Ltd 数値制御装置
JP4199103B2 (ja) 2003-12-19 2008-12-17 ファナック株式会社 数値制御装置及び数値制御方法
DE10360227A1 (de) 2003-12-20 2005-07-21 Bosch Rexroth Ag Verfahren zur Steuerung der Orientierung eines Werkzeugs an einer Werkzeugmaschine sowie eine Werkzeugmaschine zur Steuerung der Orientierung eines Werkzeugs
JP2005352876A (ja) 2004-06-11 2005-12-22 Toyoda Mach Works Ltd Ncデータ作成装置、5軸nc工作機械の制御装置及びclデータ作成装置
JP4431880B2 (ja) 2004-08-12 2010-03-17 株式会社日立製作所 多軸数値制御装置用のncポストプロセッサ装置
JP2006309645A (ja) 2005-05-02 2006-11-09 Fanuc Ltd 曲線補間方法
JP5934459B2 (ja) * 2006-04-17 2016-06-15 オムニビジョン テクノロジーズ, インコーポレイテッド アレイ化撮像システムおよび関連方法
JP4467625B2 (ja) 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
JP4503659B2 (ja) 2008-06-11 2010-07-14 ファナック株式会社 座標変換工具位相制御用数値制御装置
WO2010032284A1 (ja) * 2008-09-16 2010-03-25 新日本工機株式会社 数値制御装置
JP5426153B2 (ja) * 2008-12-17 2014-02-26 ファナック株式会社 回転軸を有する工作機械用の数値制御装置
US9063533B2 (en) * 2009-03-27 2015-06-23 Mitsubishi Electric Corporation Multi-spindle translation control for multiple coordinate systems
JP5399881B2 (ja) 2009-05-19 2014-01-29 ファナック株式会社 5軸加工機用数値制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59106007A (ja) * 1982-12-10 1984-06-19 Toyota Central Res & Dev Lab Inc 多関節型ロボツトの軌跡制御装置
JPH04259012A (ja) * 1991-02-13 1992-09-14 Fanuc Ltd 数値制御装置
JP2010140312A (ja) * 2008-12-12 2010-06-24 Fanuc Ltd 5軸加工機用数値制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373070A (zh) * 2014-08-07 2016-03-02 发那科株式会社 机床
US9815125B2 (en) 2014-08-07 2017-11-14 Fanuc Corporation Machine tool

Also Published As

Publication number Publication date
JPWO2014016943A1 (ja) 2016-07-07
US20150205284A1 (en) 2015-07-23
DE112012006583B4 (de) 2021-07-08
JP5323280B1 (ja) 2013-10-23
CN104508579B (zh) 2016-08-24
CN104508579A (zh) 2015-04-08
US9904270B2 (en) 2018-02-27
DE112012006583T5 (de) 2015-04-30

Similar Documents

Publication Publication Date Title
JP5323280B1 (ja) 数値制御装置
Lo Real-time generation and control of cutter path for 5-axis CNC machining
JP2009146152A (ja) 5軸加工機を制御する数値制御装置
JP4199103B2 (ja) 数値制御装置及び数値制御方法
Yang et al. A generalized online estimation algorithm of multi-axis contouring errors for CNC machine tools with rotary axes
JPWO2011064816A1 (ja) 数値制御装置
JP2018005480A (ja) スカイビング加工制御を行う数値制御装置
JP5872869B2 (ja) 工具背面での切削点指令により加工を行う数値制御装置
JPH1190774A (ja) 工作機械用に適応可能なフィードレートを決定する方法
US7518329B2 (en) Method and device for cutting freeform surfaces by milling
JP6012560B2 (ja) 数値制御装置
CN110586960B (zh) 用于加工工件的方法、数控装置以及机床
US7392110B2 (en) Method and device for milling freeform surfaces
JP2003005811A (ja) 6軸制御ncプログラム生成方法及び生成装置、並びに6軸制御ncプログラム生成プログラム及びこのプログラムを記憶したコンピュータ読み取り可能な記録媒体
US20090125142A1 (en) Numerically controlled grinding machine and process for controlling same
JP3004651B2 (ja) 数値制御装置
JP2007172325A (ja) 自由曲線加工法および数値制御装置
Lin et al. A look-ahead interpolator with curve fitting algorithm for five-axis tool path
JP2002210654A (ja) 多軸nc研磨加工機
JP3902353B2 (ja) 数値制御装置
Vavruska Interpolation of toolpath by a postprocessor for increased accuracy in multi-axis machining
Tajima et al. KINEMATIC LOCAL CORNER SMOOTHING OF 5-AXIS LINEAR TOOL-PATHS
Morikawa et al. 5-Axis control tool path generation using curved surface interpolation
Lin et al. Advanced curve machining method for 5-axis CNC machine tools
Lin et al. TCP interpolation with look-ahead function for five-axis machining

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013512692

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12881876

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14408665

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112012006583

Country of ref document: DE

Ref document number: 1120120065832

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12881876

Country of ref document: EP

Kind code of ref document: A1