WO2013018339A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2013018339A1
WO2013018339A1 PCT/JP2012/004801 JP2012004801W WO2013018339A1 WO 2013018339 A1 WO2013018339 A1 WO 2013018339A1 JP 2012004801 W JP2012004801 W JP 2012004801W WO 2013018339 A1 WO2013018339 A1 WO 2013018339A1
Authority
WO
WIPO (PCT)
Prior art keywords
transfer
axis
path
interpolation
tool
Prior art date
Application number
PCT/JP2012/004801
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 US14/235,932 priority Critical patent/US20140156052A1/en
Priority to EP12819293.7A priority patent/EP2738633A4/en
Publication of WO2013018339A1 publication Critical patent/WO2013018339A1/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/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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40247Series manipulator mounted on parallel manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49284Two cascaded slides, large range sits on small range, piggyback

Definitions

  • the present invention relates to a numerical control device.
  • a workpiece is processed by numerically controlling a transfer device for transferring the transfer object using a workpiece or a tool for processing the workpiece as a transfer object according to a machining program (NC program).
  • NC program machining program
  • a tool path that represents a change in the position coordinate of a tool in a work coordinate system fixed on a work as a function of a parameter is obtained from a machining program, and a transfer device is obtained from the tool path.
  • the transfer axis path for each transfer axis is determined, the transfer amount of the transfer object on each transfer axis per reference unit time is determined based on the determined transfer axis path for each transfer axis, and the transfer amount of the determined transfer amount is determined.
  • the operation of each transfer device is controlled by outputting data as command pulses to the servo motor of the transfer device corresponding to each transfer axis.
  • each transfer axis path is smoothly interpolated so that the movement of the object to be transferred corresponding to the transfer axis path is smooth, and the reference unit time is obtained by pulse interpolation from the transfer axis path after the smooth interpolation.
  • the transfer amount of the transfer object on each transfer axis is obtained.
  • Patent Document 1 shows a machine tool including two transfer devices in which transfer shafts for transferring a transfer object are parallel to each other among a plurality of transfer devices.
  • the coordinates of the transfer axes parallel to each other with respect to the position coordinates indicated by the tool path are not uniquely determined and are indefinite.
  • Patent Document 1 when obtaining each transfer axis path from the tool path using a kinematic relational expression, all constraints corresponding to the tool path are added by adding some constraint condition for specifying the relationship between the parallel transfer axes.
  • the transfer axis path can be derived. According to this technique, even when there are mutually parallel transfer shafts, it is possible to simultaneously control the transfer devices for all the transfer shafts.
  • Patent Document 1 an upper limit value of the combined speed of speeds in all the transfer axes is obtained so that the acceleration of the transfer object on each transfer axis does not exceed the allowable acceleration for the transfer axis, and the actual combined speed is The transfer device is controlled so as not to exceed the obtained upper limit value.
  • the above technique has a plurality of transfer axes that are indefinite with respect to the position coordinates indicated by the tool path, and the acceleration property of the transfer object with respect to any of the indefinite transfer axes is extremely high.
  • the processing speed and processing accuracy of the workpiece will be reduced. The reason is as follows.
  • the allowable acceleration for that transfer axis must be set to an extremely low value.
  • the combined speed of the speeds in all the transfer axis directions at each time point must be limited to a low speed corresponding to the low allowable acceleration of the transfer axis. For this reason, the processing speed of the workpiece
  • each transfer axis that is indefinite with respect to the position coordinate indicated by the tool path is a specific coordinate axis component of the work coordinate system. Therefore, a position error caused by smooth interpolation in the transfer axis path of each transfer axis that is indefinite acts on the specific coordinate axis. As a result, there is a risk that errors in the coordinate axes increase and the machining accuracy of the workpiece in the machine tool decreases.
  • An object of the present invention is to have a plurality of transfer axes that are indefinite with respect to the position coordinates indicated by the tool path, and the acceleration of the transfer object with respect to any of the indefinite transfer axes is extremely high.
  • a workpiece can be machined at high speed and with high machining accuracy while enabling simultaneous control of the transfer devices for all the transfer axes.
  • a numerical control device includes a plurality of transfer devices that move a workpiece or a tool that processes the workpiece along a plurality of transfer axes in order to process the workpiece by using the workpiece as a transfer object.
  • the plurality of transfer axes includes a specific coordinate axis component in the work coordinate system set on the work, and the first transfer is an indefinite axis whose coordinates are not uniquely determined with respect to the coordinates of the specific coordinate axis.
  • a second transfer device that moves along the second transfer device, and an allowable acceleration of transfer of the transfer object along the second transfer shaft by the second transfer device is along the first transfer shaft by the first transfer device.
  • a numerical control device which is provided in a machine tool lower than the volume acceleration and performs numerical control of each transfer device by outputting a command pulse for each specific cycle to each transfer device, and instructs to process the workpiece
  • a storage unit for storing a machining program, and the machining program stored in the storage unit are read. Based on the read machining program, the movement of the tool during machining of the workpiece is determined in the workpiece coordinate system of the tool.
  • a tool path including a function represented by a position variable and a parameter which is an integrated length of a trajectory of the movement of the tool, and the second transfer device serves as a reference for moving the transfer object when the workpiece is processed.
  • a second transfer axis path representing the movement of a specific point on the second transfer axis as a function of the position coordinate on the second transfer axis and the parameter is obtained.
  • a second transfer axis path interpolating unit that performs local interpolation for interpolating the second-order transfer axis path after the smooth interpolation so that the second-order differential value due to the parameter is reduced, and the transfer object along each of the transfer axes Acceleration / deceleration conditions including an allowable acceleration of transfer of the transfer object for each transfer axis when moving an object, a post-interpolation tool path that is a tool path after being interpolated by the tool path interpolation unit, and the second Transfer axis
  • a parametric variable time function that obtains a parametric variable time function that represents a change in the parametric variable with respect to elapse of a reference time, based on a post-interpolation second transfer axis path that is a second transfer axis
  • the position coordinate of the post-interpolation tool path in the work coordinate system and the position coordinate on the second transfer axis of the post-interpolation second transfer axis path corresponding to the parameter at each time point are obtained, and the obtained Based on a specific relational expression indicating a correlation between the position coordinates of the tool in the work coordinate system and the position coordinates on each of the transfer axes, with the position coordinates on the second transfer axis as a constraint.
  • FIG. 1 is a schematic perspective view of a machine tool to which a numerical control device according to an embodiment of the present invention is applied. It is a functional block diagram which shows the structure of the numerical control apparatus by one Embodiment of this invention. It is a flowchart which shows the numerical control process by the numerical control apparatus of one Embodiment of this invention. It is a flowchart which shows the detailed process of the local interpolation among the numerical control processes shown in FIG. It is a flowchart which shows the detailed process of derivation
  • This machine tool is a portal machine tool, and the tool 106 is moved while moving the tool 106 along the tool path represented by the work coordinate system on the workpiece 100 as the workpiece set on the table 102b.
  • the workpiece coordinate system is set on the workpiece 100 set on the table 102b.
  • the x axis parallel to the transfer direction of the table 102b in the horizontal plane and the y axis orthogonal to the x axis in the horizontal plane.
  • An axis and a z-axis that is orthogonal to both the x-axis and the y-axis and extends in the vertical direction.
  • the machine tool includes a workpiece transfer device 102, two columns 104, a tool 106, a spindle head 108, a swing device 110, a turning device 112, and a first vertical transfer.
  • the apparatus 114, the horizontal transfer apparatus 116, the 2nd vertical transfer apparatus 118, and the control box 120 are provided.
  • the workpiece transfer device 102, the swing device 110, the rotation device 112, the first vertical transfer device 114, the horizontal transfer device 116, and the second vertical transfer device 118 are transferred by using the workpiece 100 or the tool 106 as a transfer object.
  • An object is moved along a plurality of transfer axes in order to process the workpiece 100, and each is included in the concept of the transfer device of the present invention.
  • the workpiece transfer device 102 transfers the workpiece 100 along the X axis extending in a specific direction in a horizontal plane.
  • the X axis is included in the concept of the transfer axis of the present invention.
  • the work transfer device 102 includes a bed 102a, a table 102b, and a table transfer unit 102c (see FIG. 2).
  • the bed 102a is installed at a predetermined installation location, and the table 102b is mounted on the bed 102a so as to be movable along the X axis.
  • the table 102b supports the workpiece 100 set thereon from below.
  • the table transfer unit 102c is provided on the bed 102a, and transfers the work 100 set on the table 102b along the X axis by transferring the table 102b along the X axis.
  • the table transfer unit 102c has a servo motor (not shown) as a drive source, and transfers the table 102b with the power of the motor.
  • the two columns 104 are separately provided on both sides of the workpiece transfer device 102 in the width direction of the workpiece transfer device 102 orthogonal to the moving direction (X-axis direction) of the table 102b. Each column 104 extends in the vertical direction (W-axis direction described later).
  • the tool 106 is for cutting the workpiece 100 and is held by the spindle head 108.
  • the spindle head 108 rotates the held tool 106 around its axis.
  • the workpiece 100 is machined when the tool 106 rotated by the spindle head 108 contacts the workpiece 100.
  • the rocking device 110 is for rocking the tool 106 along the A axis around the horizontal axis.
  • the A axis is included in the concept of the transfer axis of the present invention.
  • the rocking device 110 includes a rocking support member 110a and a rocking support member transfer unit 110b (see FIG. 2).
  • the swing support member 110a is supported by the rotating device 112 so as to be swingable about a horizontal axis. Further, the swing support 110a supports the spindle head 108 so that the rotation axis of the tool by the spindle head 108 is orthogonal to the horizontal axis that is the swing center of the swing support 110a.
  • the oscillating support body transfer part 110b oscillates the oscillating support body 110a along the A axis so that the spindle head 108 and the tool 106 supported by the oscillating support body 110a together with the oscillating support body 110a are A. Swing along the axis.
  • the swing support body transfer unit 110b has a servo motor (not shown) as a drive source, and swings the swing support body 110a with the power of the motor.
  • Rotating device 112 is for rotating the tool 106 along the C axis around the vertical axis.
  • the C axis is included in the concept of the transfer axis of the present invention.
  • the rotation device 112 includes a rotation support body 112a and a rotation support body transfer unit 112b (see FIG. 2).
  • the rotation support body 112a is supported by the first vertical transfer device 114 so as to be rotatable about the vertical axis.
  • the rotation support body 112a supports the rocking device 110 in the lower part thereof.
  • the rotation support body transfer unit 112b rotates the rotation support body 112a along the C-axis, so that the rotation support body 112a and the rocking device 110 supported by the rotation support body 112a and the spindle head 108 are supported.
  • the tool 106 is rotated along the C-axis.
  • the rotation support body transfer part 112b has a servo motor (not shown) as a drive source, and rotates the rotation support body 112a by the
  • the first vertical transfer device 114 is for transferring the tool 106 along the Z axis perpendicular to the X axis and extending in the vertical direction.
  • the first vertical transfer device 114 is included in the concept of the first transfer device of the present invention, and the Z axis is included in the concept of the first transfer shaft of the present invention.
  • the first vertical transfer device 114 includes a ram 114a (first vertical support) and a ram transfer unit 114b (see FIG. 2).
  • the ram 114a is disposed above the table 102b and supported by the horizontal transfer device 116 so as to be movable in the vertical direction (vertical direction) along the Z axis.
  • the ram 114a supports the rotation device 112 at a position above the table 102b and below a cross rail 118a described later by the lower portion thereof.
  • the ram transfer section 114b transfers the ram 114a along the Z axis, thereby causing the ram 114a and the rotation device 112, the swing device 110, the spindle head 108, and the tool 106 supported by the ram 114a to move along the Z axis.
  • Transport The ram transfer unit 114b has a servo motor (not shown) as a drive source, and transfers the ram 114a by the power of the motor.
  • the horizontal transfer device 116 is for transferring the tool 106 along the Y axis orthogonal to both the X axis and the Z axis.
  • the Y axis is included in the concept of the transfer axis of the present invention.
  • the horizontal transfer device 116 includes a saddle 116a (horizontal support) and a saddle transfer unit 116b (see FIG. 2).
  • the saddle 116a is supported by the second vertical transfer device 118 so as to be movable along the Y axis above the table 102b. That is, the saddle 116a is movable above the table 102b so as to cross the table 102b in the width direction.
  • the saddle 116a supports the first vertical transfer device 114 by its lower part.
  • the saddle transfer unit 116b transfers the saddle 116a along the Y axis, thereby supporting the first vertical transfer device 114, the rotation device 112, the swing device 110, the spindle head 108, and the saddle 116a together with the saddle 116a.
  • the tool 106 is transferred along the Y axis.
  • the saddle transfer unit 116b has a servo motor (not shown) as a drive source, and transfers the saddle 116a by the power of the motor.
  • the second vertical transfer device 118 is for transferring the tool 106 in the vertical direction along the W axis parallel to the Z axis.
  • the second vertical transfer device 118 is included in the concept of the second transfer device of the present invention, and the W axis is included in the concept of the second transfer shaft of the present invention.
  • the W axis and the Z axis are both transfer axes parallel to the z axis of the workpiece coordinate system, and the position coordinates of the W axis and the Z axis include a z axis coordinate component which is a common coordinate axis component. For this reason, the W-axis and the Z-axis are indefinite axes whose coordinates are not uniquely determined with respect to the z-axis coordinate of the workpiece coordinate system.
  • the second vertical transfer device 118 includes a cross rail 118a (second vertical support) and a cross rail transfer unit 118b (see FIG. 2).
  • the cross rail 118a is disposed above the table 102b, and is stretched over the two columns 104 so as to extend in the width direction (Y-axis direction) of the table 102b.
  • the cross rail 118 a is supported on the front surface of the column 104.
  • the cross rail 118a is supported by the column 104 so as to be movable in the vertical direction (vertical direction) along the W axis. Further, the cross rail 118a supports the horizontal transfer device 116.
  • the cross rail transfer unit 118b transfers the cross rail 118a along the W axis, thereby supporting the cross rail 118a, the horizontal transfer device 116 supported by the cross rail 118a, the first vertical transfer device 114, the rotating device 112,
  • the oscillating device 110, the spindle head 108, and the tool 106 are transferred along the W axis.
  • the cross rail transfer section 118b includes a servo motor (not shown) provided on the cross rail 118a, a ball screw (not shown) attached along each column 104, and the two ball screws. And a transmission mechanism (not shown) for transmitting the power of the servo motor to each ball screw so that the motors rotate in synchronization with each other.
  • Each ball screw is screwed into a corresponding end portion in the longitudinal direction (Y-axis direction) of the cross rail 118a, and the cross rail 118a is transferred in the W-axis direction in accordance with the rotation around the axis of the ball screw. .
  • the second vertical transfer device 118 is the transfer device having the worst acceleration among all the transfer devices, and the acceleration performance thereof is higher than that of the other transfer devices 102, 110, 112, 114, and 116. And extremely bad. That is, the allowable acceleration of the transfer of the tool 106 (cross rail 118a) about the W axis set for the second vertical transfer device 118 corresponds to the other transfer devices 102, 110, 112, 114, and 116 set. It becomes an extremely low value compared with the allowable acceleration of the transfer of the transfer object about the transfer axis.
  • the poor acceleration of the transfer of the tool 106 by the second vertical transfer device 118 is due to the cross rail 118a transferred by the cross rail transfer unit 118b in the second vertical transfer device 118 and the horizontal transfer device 116 mounted thereon. This is because the total weight of the first vertical transfer device 114, the rotation device 112, the swing device 110, the spindle head 108, and the tool 106 is very large.
  • the control box 120 controls the operation of the workpiece transfer device 102, the swing device 110, the rotation device 112, the first vertical transfer device 114, the horizontal transfer device 116 and the second vertical transfer device 118, and the operation control of the spindle head 108. In addition, it has a function for controlling each part of the machine tool.
  • the numerical control device 2 according to the present embodiment is incorporated in the control box 120.
  • the numerical controller 2 outputs a command pulse for each specific cycle to the transfer units 102c, 110b, 112b, 114b, 116b, 118b of the transfer devices 102, 110, 112, 114, 116, 118.
  • the numerical control device 2 includes a storage unit 4, a memory 5, and an arithmetic processing unit 6.
  • the movement of the tool 106 is determined based on the tool path composed of the locus of the tip of the tool 106 and the locus of posture change of the tool 106, and the locus of the position coordinates of the W axis corresponding to each position on the tool path.
  • the movement of the tool 106 and the corresponding movement of the position coordinate on each transfer axis are determined by commanding with the W axis path. In this way, by instructing the movement of the tool 106 in the W axis path together with the tool path, the indefinite problem that there are an infinite number of transfer axis coordinates of the Z axis and the W axis that are parallel to each other is solved. It is possible.
  • the storage unit 4 stores a machining program (NC program) that is a machining command for instructing machining of the workpiece 100.
  • the machining program includes a tool axis vector that defines the position coordinate in the workpiece coordinate system (xyz axis coordinate system) through which the tip of the tool 106 should pass when machining the workpiece 100 and the posture (tilt) of the tool 106 in the workpiece coordinate system.
  • a tool transfer speed command indicating the transfer speed of the tool 106.
  • the specific point on the W axis is a reference point when the second vertical transfer device 118 moves the cross rail 118a and moves the tool 106 along the W axis when the workpiece 100 is processed.
  • the coordinates of each specific point on the W axis are arbitrarily designated by the creator when the machining program is created.
  • the storage unit 4 stores acceleration / deceleration conditions and other set values when machining the workpiece 100.
  • the acceleration / deceleration conditions include, for example, the upper limit of the speed of the parameter that is an integrated value of the movement amount including the allowable speed, allowable acceleration and allowable jerk of the transfer object set for each transfer axis, and the posture change of the tool 106 Value, parameter acceleration upper limit, parameter jerk upper limit, and the like.
  • the parameter is an integrated value of a value obtained by adding the amount of change in the posture (tilt) of the tool 106 to the amount of movement of the tip point of the tool 106. Specifically, in this embodiment, the tip point of the tool 106 is used.
  • the storage unit 4 stores a tool path (a locus of coordinates on each coordinate axis in the work coordinate system of the tip point of the tool 106 and a locus of coordinates on the A axis and the C axis representing the posture of the tool 106) and a W axis path.
  • a distribution interval width table for a second-order differential value discontinuity portion and a distribution interval width table for a portion exceeding a second-order differential upper limit value set for each of the coordinate trajectories on the W-axis are stored.
  • the distribution interval width table for the secondary differential value discontinuous locations distributes the primary differential values where the primary differential values by the parametric variables are continuous and the secondary differential values are discontinuous in each transfer axis path.
  • the distribution interval width is registered for each of a plurality of values of the difference of the secondary differential value at that location.
  • the distribution interval width table for the location where the secondary differential upper limit value is exceeded is the distribution interval for distributing the primary differential value at the location where the secondary differential value due to the parameter exceeds the secondary differential value upper limit value in each transfer axis path The width is registered for each of a plurality of values of the secondary differential value at that location.
  • the memory 5 temporarily stores various types of information, and stores, for example, post-interpolation integration functions described later and other information.
  • the arithmetic processing unit 6 performs various types of arithmetic processing. As functional blocks, a path deriving unit 12, a path interpolating unit 14, a parametric variable time function deriving unit 18, a pulse interpolating unit 22, a control unit 24, Have
  • the path deriving unit 12 reads the machining program stored in the storage unit 4, and obtains a tool path and a W-axis path from the read machining program.
  • the tool path includes a function that represents the movement of the tool 106 at the time of machining the workpiece by the position coordinate of the tool 106 in the workpiece coordinate system and the parameter, and specifically, the tool path at the time of machining the workpiece 100.
  • a function (x-axis path, y-axis path, and z-axis path) that represents the movement of the tip point of the tool 106 by the position coordinate of the tip point in the workpiece coordinate system and the parameter, and the tool 106 at the time of machining the workpiece 100 It consists of functions (A-axis path and C-axis path) that express the posture change by the position coordinates on the A-axis, the position coordinates on the C-axis, and the parameter.
  • the W-axis path represents the movement of a specific point on the W-axis corresponding to each position on the tool path by a function of the position coordinate of the specific point on the W-axis and the parameter.
  • the W axis path is included in the concept of the second transfer axis path of the present invention.
  • the path deriving unit 12 includes a tool path deriving unit 32 and a transfer axis path deriving unit 34 as functional blocks.
  • the transfer axis path deriving unit 34 is included in the concept of the second transfer axis path deriving unit of the present invention.
  • the tool path deriving unit 32 obtains a tool path based on the command point information including the position coordinates of the tip of the tool 106 and the tool axis vector and the tool transfer speed command included in the machining program read from the storage unit 4. Further, the transfer axis path deriving unit 34 obtains the W axis path based on the coordinate information of the specific point on the W axis and the tool transfer speed command included in the machining program read from the storage unit 4.
  • the path interpolation unit 14 interpolates the tool path and the W-axis path derived by the path deriving unit 12, respectively.
  • the path interpolation unit 14 includes, as functional blocks, a tool path interpolation unit 15 that interpolates a tool path and a transfer axis path interpolation unit 16 that interpolates a W axis path.
  • the tool path interpolating unit 15 performs smooth interpolation for interpolating the tool path derived by the tool path deriving unit 32 so that the motion of the tool 106 represented by the tool path is smooth, and the tool path is subjected to second-order differentiation using a parameter. If there is a location where the values are discontinuous, local interpolation is performed to interpolate so that the secondary differential value at that location is continuous.
  • the tool path interpolation unit 15 includes a tool path smooth interpolation unit 15a and a tool path local filter 15b as functional blocks.
  • the tool path smooth interpolation unit 15a constitutes the tool path derived by the tool path deriving unit 32.
  • the tool path smooth interpolation unit 15a is a part of the tool path derived by the tool path deriving unit 32 that can be interpolated so as to be a smooth curve that passes through the command point within an analytically possible range. Perform the interpolation.
  • the interpolation performed by the tool path smooth interpolation unit 15a is so-called block smooth interpolation, in which the command block and the command block adjacent to each other are used as command blocks, and the command block and the command block adjacent to each other are used as command commands.
  • the interpolation is performed so that the points are smoothly connected.
  • the tool path smooth interpolation unit 15a has a tool path derived by the tool path deriving unit 32 in which a first derivative value and a second derivative value by a parameter are continuous before and after a command point at the boundary of adjacent command blocks.
  • interpolation is performed so that the tool path passes through the command point.
  • the tool path includes a portion where the tool path trajectory changes suddenly with respect to changes in the parametric variables and cannot be interpolated by such a block smooth interpolation to form a smooth curve that passes through the command point of the trajectory. There may be.
  • a part there is an abnormal data part that repeatedly increases and decreases in minute units, and a corner part that is intentionally designated in the machining program.
  • the tool path smooth interpolation unit 15a does not perform interpolation such as a straight line-arc contact point or a circle-circle contact point. There are also places to leave.
  • the tool path smooth interpolation unit 15a does not interpolate the above-mentioned portions of the tool path, leaves the original tool path as it is, passes through the command point as described above, and uses a primary variable based on the parameter before and after the command point. Smooth interpolation is performed on a portion that can be interpolated into a curve in which the differential value and the secondary differential value are continuous.
  • the tool path local filter 15b is a part of the tool path (x axis path, y axis path, z axis path, A axis path, and C axis path) that has not been interpolated by the tool path smooth interpolation unit 15a, and the part The local interpolation is performed for a portion where the speed indicated by (1) is not zero. Specifically, the tool path local filter 15b sets a command point in the tool path where the primary differential value or the secondary differential value by the parameter is discontinuous as an interpolation target point.
  • the tool path local filter 15b locally interpolates an interpolation section, which is a section obtained by adding a specific section width before and after the interpolation target point in the tool path so that the secondary differential value is continuous at the interpolation target point. .
  • the tool path local filter 15b has a tool path local interpolation unit 15c and a tool path error correction unit 15d as functional blocks.
  • the tool path local interpolation unit 15c obtains a post-interpolation function of each interpolation block by performing interpolation processing on each of the plurality of interpolation blocks in the adjustment section obtained by expanding the interpolation section of the tool path back and forth.
  • the change in the differential that is discontinuous at the interpolation target point in the interpolation interval is continuous.
  • An interpolation path with an error of the tool path interpolated so as to be a natural change is obtained.
  • the tool path error correction unit 15d has a value corresponding to the start point of the interpolation path of the tool path error-added interpolation path obtained by the tool path local interpolation unit 15c as the start point of the interpolation path of the tool path that is not locally interpolated.
  • the interpolation path with error is corrected so that the value corresponding to the end point of the interpolation section of the interpolation path with the tool path error matches the end point value of the interpolation section of the tool path that is not locally interpolated. Then, the corrected interpolation path is replaced with the interpolation section of the tool path.
  • the transfer axis path interpolation unit 16 performs smooth interpolation for interpolating the W axis path derived by the transfer axis path deriving unit 34 so that the movement of the coordinates of a specific point on the W axis represented by the path is smooth, and the smooth
  • the interpolated W-axis path is interpolated so that the secondary differential value due to the parametric variable of the W-axis path becomes small, and the secondary differential value due to the parametric variable is discontinuous in the W-axis path after the smooth interpolation. If there is a location, local interpolation is performed to interpolate so that the secondary differential value at that location is continuous.
  • the transfer axis path interpolation unit 16 is included in the concept of the second transfer axis path interpolation unit of the present invention.
  • the transfer axis path interpolation unit 16 includes a transfer axis path smooth interpolation unit 16a and a transfer axis path local filter 16b as functional blocks.
  • the transfer axis path smooth interpolation unit 16 a performs smooth interpolation on the W axis path derived by the transfer axis path deriving unit 34.
  • the transfer axis path smooth interpolation unit 16a performs block smooth interpolation on the W axis path in the same manner as the smooth interpolation performed on the tool path by the tool path smooth interpolation unit 15a.
  • the transfer axis path local filter 16b includes a portion of the W axis path derived by the transfer axis path deriving unit 34 that has not been interpolated by the transfer axis path smooth interpolation unit 16a, and a second order derivative of the W axis path by a parameter. Local interpolation is performed for a portion whose value exceeds the second derivative upper limit value set for the W axis.
  • the transfer axis path local filter 16b includes a command point in the W-axis path where the secondary differential value due to the parameter is discontinuous, and the secondary differential value due to the parameter is the second derivative upper limit. Interpolated points are command points that exceed the value.
  • the transfer axis path local filter 16b is a second-order derivative based on a parameter at the interpolation target point in the interpolation section in the interpolation section which is a section obtained by adding a specific section width before and after the interpolation target point in the W-axis path. If the value exceeds the second derivative upper limit value, the interpolation interval is locally interpolated so that the second derivative value is less than or equal to the second derivative upper limit value, and is intervened at the interpolation target point in the interpolation interval. When the secondary differential value by the variable is discontinuous, the interpolation section is locally interpolated so that the secondary differential value by the parameter is continuous at the interpolation target point.
  • the interpolation interval for the interpolation target point where the secondary differential value is discontinuous is the interval width set based on the distribution interval width table for the secondary differential value discontinuous portion before and after the interpolation target point.
  • the interpolation interval for the interpolation target point whose secondary differential value exceeds the secondary differential upper limit value is set based on the distribution interval width table for the location where the secondary differential upper limit value is exceeded. This is a section obtained by adding the section width to be added before and after the interpolation target point.
  • the corner portion in FIG. 8 and the abnormal data portion in FIG. 8 As an example of the location where the secondary differential value due to the parameter is discontinuous, for example, the corner portion in FIG. 8 and the abnormal data portion in FIG.
  • the command points (t [3] in FIG. 8) located at the vertices of the corner portion and the command points (t [2] to t [6] in FIG. 9) located at the vertices of the abnormal data portion they are dependent on parameters.
  • the primary differential value and the secondary differential value are discontinuous, and these command points are interpolation target points.
  • the transfer axis path local filter 16b is the largest of the overlapping interpolation sections.
  • the W-axis path in the interpolation section is locally interpolated.
  • the transfer axis path local filter 16b is configured so that the W-axis path after the local interpolation is before and after the start point and before and after the end point of each interpolation section (interpolation section in which adjacent interpolation sections are combined).
  • the interpolation section is locally interpolated so that they are continuously connected.
  • the transfer axis path local filter 16b includes a transfer axis path local interpolation unit 16c and a transfer axis path error correction unit 16d as functional blocks.
  • the transfer axis path local interpolation unit 16c obtains a post-interpolation function of each interpolation block by performing an interpolation process for each of the plurality of interpolation blocks in the adjustment section obtained by expanding the interpolation section of the W axis path back and forth.
  • the post-interpolation function By integrating the post-interpolation function to obtain the post-interpolation integration function and extracting the interval corresponding to the interpolation interval from the calculated post-interpolation integration function, the secondary differential value due to the parameter is not detected at the interpolation target point in the interpolation interval.
  • the secondary differential value is continuous. If the secondary differential value by the parameter exceeds the upper limit at the interpolation target point in the interpolation interval, the secondary differential value is An interpolation path with an error of the W-axis path interpolated so as to be equal to or lower than the second derivative upper limit value is obtained. Further, the transport axis path error correction unit 16d has a value corresponding to the start point of the interpolation section of the interpolation path with error obtained by the transport axis path local interpolation section 16c as the start point of the interpolation section of the W axis path that is not locally interpolated.
  • the interpolation path with error is corrected so that the value corresponding to the end point of the interpolation section of the interpolation path with error matches the value of the end point of the interpolation section of the W-axis path that is not locally interpolated,
  • the corrected interpolation path is replaced with the interpolation section of the W-axis path.
  • the parameter time function deriving unit 18 includes acceleration / deceleration conditions including allowable acceleration for each transfer axis when moving the transfer object along each transfer axis, and the tool path after being interpolated by the tool path interpolation unit 15. Based on a certain post-interpolation tool path and a post-interpolation W-axis path that is a W-axis path interpolated by the transfer axis path interpolation unit 16, the acceleration for each transfer axis of the transfer object is included in the acceleration / deceleration conditions. A parameter time function (parameter variable velocity curve) representing a change of the parameter with respect to the passage of a specific reference time is obtained so as to satisfy the condition that the allowable acceleration for the transfer axis is not exceeded.
  • a parameter time function (parameter variable velocity curve) representing a change of the parameter with respect to the passage of a specific reference time is obtained so as to satisfy the condition that the allowable acceleration for the transfer axis is not exceeded.
  • the parameter time function deriving unit 18 determines the maximum acceleration that can move the transfer object in accordance with the post-interpolation tool path and the post-interpolation W-axis path within the allowable acceleration range included in the acceleration / deceleration conditions.
  • the pulse interpolation unit 22 obtains a command pulse for each specific period based on the parameter time function obtained by the parameter time function deriving unit 18, the post-interpolation tool path, and the post-interpolation W-axis path. Is.
  • the pulse interpolation unit 22 derives a parameter corresponding to each time point for each unit time of the reference time, and each coordinate axis (x-axis, y-axis, z) of the post-interpolation tool path corresponding to the derived parameter at each time point.
  • Position coordinates on the axis, A axis and C axis) and position coordinates on the W axis of the W axis path after interpolation, position coordinates on each coordinate axis of the tool path after interpolation at each derived time point, and W axis path after interpolation Derivation of position coordinates at each time point on each transfer axis (X axis, Y axis, Z axis, W axis, A axis and C axis) based on the position coordinates on the W axis, and unit time of real time
  • a command pulse indicating the amount of change in the position coordinates of each transfer axis (transfer amount per unit time of the transfer object for each transfer axis) is derived.
  • real time is the time which progresses for every unit time equal to the said specific period.
  • the pulse interpolation unit 22 obtains a parameter corresponding to each time point for each reference unit time of the reference time from the parameter time function derived by the parameter time function deriving unit 18.
  • the pulse interpolation unit 22 positions coordinates on each coordinate axis of the post-interpolation tool path corresponding to the obtained parameter at each time point, and the post-interpolation W-axis path corresponding to the parameter at each time point. The position coordinates on the W axis are obtained.
  • the pulse interpolation unit 22 uses the obtained position coordinates on the W axis as constraint conditions, and includes position coordinates (x axis, y axis, z axis, A axis, and the like) including the posture of the tool 106 in the workpiece coordinate system.
  • position coordinates x axis, y axis, z axis, A axis, and the like
  • the pulse interpolation unit 22 uses the obtained position coordinates on the W axis as constraint conditions, and includes position coordinates (x axis, y axis, z axis, A axis, and the like) including the posture of the tool 106 in the workpiece coordinate system.
  • position coordinates x axis, y axis, z axis, A axis, and the like
  • the pulse interpolation unit 22 uses the obtained position coordinates on the W axis as constraint conditions, and includes position coordinates (x axis, y axis, z axis
  • the pulse interpolation unit 22 obtains a change amount per reference unit time of the position coordinates on each transfer axis from the obtained position coordinates on each transfer axis, and determines the change amount for the corresponding transfer axis. The transfer amount per reference unit time of the object to be transferred. Then, the pulse interpolation unit 22 sets the transfer amount of the transfer object for each transfer axis for each reference unit time obtained in this way as a command pulse for each unit time of the real time (for each specific period).
  • the control unit 24 controls the operation of the transfer units 102c, 110b, 112b, 114b, 116b, and 118b of the transfer devices 102, 110, 112, 114, 116, and 118.
  • the control unit 24 has a transfer shaft corresponding to the transfer unit among the command pulses for each specific period obtained by the pulse interpolation unit 22 for the servo motors of the transfer units 102c, 110b, 112b, 114b, 116b, and 118b.
  • the command pulse which shows the transfer amount about is output, and according to the command pulse output to each transfer device 102,110,112,114,116,118, the transfer object is moved.
  • the table transfer unit 102c moves the table 102b
  • the swing support transfer unit 110b moves the swing support 110a
  • the rotation support transfer unit 112b moves the rotation support 112a
  • the ram transfer unit 114b moves the ram 114a.
  • the saddle transfer unit 116b transfers the saddle 116a
  • the cross rail transfer unit 118b transfers the cross rail 118a along the corresponding transfer axis by the transfer amount indicated by the command pulse from the control unit 24 for each specific period.
  • the path deriving unit 12 reads a machining program (NC program) stored in the storage unit 4 (step S1 in FIG. 3), and the path deriving unit 12 derives a tool path and a W-axis path from the read machining program. (Step S2).
  • the tool path deriving unit 32 of the path deriving unit 12 includes information on a number of command points including the position coordinates of the tip point of the tool 106 and the tool axis vector included in the machining program read from the storage unit 4 and the tool transfer speed.
  • a tool path (an x-axis path, a y-axis path, and a z-axis path representing the trajectory of the tip point of the tool 106, and an A-axis path and a C-axis path representing the attitude change of the tool 106) are derived, and the path
  • the transfer axis path deriving unit 34 of the deriving unit 12 derives the W axis path based on the coordinate information of the specific point on the W axis and the tool transfer speed command included in the machining program read from the storage unit 4. In the numerical control process of the present embodiment, it is assumed that the workpiece 100 is processed without changing the posture of the tool 106.
  • the storage unit 4 stores a constant value (0, 0, 1) as a tool axis vector in the workpiece coordinate system (x, y, z).
  • the tool path deriving unit 32 derives a constant value 0 as both the A-axis path and the C-axis path constituting the tool path. Therefore, in the following processes of the present embodiment, unless otherwise specified, the process related to the tool path is performed only for the x axis, the y axis, and the z axis, and the process related to each transfer axis path and each transfer axis. Is performed only for the X axis, the Y axis, the Z axis, and the W axis, and the A axis and the C axis are not processed.
  • the tool path smooth interpolation unit 15a performs block smooth interpolation on the tool path derived by the tool path deriving unit 32, and the transfer axis path smooth interpolation unit 16a is derived by the transfer axis path deriving unit 34.
  • Block smooth interpolation is performed for (Step S3).
  • the tool path smooth interpolation unit 15a is arranged before and after the command point located at the boundary between adjacent command blocks in the tool path (the x-axis path, the y-axis path, and the z-axis path of the tip of the tool 106).
  • the tool path is interpolated so that the first and second derivatives are continuous and the tool path after interpolation passes through the command point.
  • the tool path smooth interpolation unit 15a performs block smooth interpolation only on a portion of the tool path in which such interpolation is analytically possible, and performs interpolation on a portion in which such interpolation is impossible analytically. Leave the original toolpath as it is.
  • the tool path smooth interpolation unit 15a performs the block smooth interpolation on the part where the angle of the tool path bending at the command point is larger than a predetermined angle and the tool path before the interpolation. A portion where an error occurring in the tool path becomes larger than a preset allowable error is left as it is without being interpolated. Further, the transfer axis path smooth interpolation unit 16a performs the same block smooth interpolation on the W axis path as the tool path smooth interpolation unit 15a performs on the tool path.
  • the tool path local filter 15b performs local interpolation for the tool path after block smooth interpolation
  • the transfer axis path local filter 16b performs local interpolation for the W axis path after block smooth interpolation (step S4). Since the local interpolation by the tool path local filter 15b and the local interpolation by the transfer axis path local filter 16b are performed in the same manner except for different objects, the process of local interpolation of the W axis path by the transfer axis path local filter 16b will be described below. This will be explained as a representative.
  • the transfer axis path local filter 16b is configured so that the second-order differential value due to the parametric variable and the second-order differential value due to the parametric variable are not detected in the W-axis path after the smooth interpolation.
  • Locations that are continuous locations where both the primary and secondary differential values are discontinuous and locations where the primary differential values are continuous and secondary differential values are discontinuous
  • the W-axis path after smooth interpolation only the interpolation section obtained by enlarging the interpolation target portion by a specific section width before and after is locally interpolated.
  • the secondary differential value at that location becomes the secondary differential value upper limit value.
  • the location is interpolated so that:
  • the block smooth interpolation is not performed in the W-axis path and there is a location where the secondary differential value due to the parametric variable is discontinuous, the interpolation is performed so that the secondary differential value at that location is continuous.
  • the detailed process of local interpolation performed by this transfer axis path local filter 16b is shown in FIG.
  • the interpolation target point which is a command point for which the transfer axis path local interpolation unit 16c of the transfer axis path local filter 16b has not yet calculated the interpolation section width, which is the section width of the interpolation section, is subjected to smooth interpolation. It is determined whether or not it exists in the W-axis path (step S12). If the transfer axis path local interpolation unit 16c determines that such an interpolation target point exists in the W-axis path after smooth interpolation, the transfer interval width and The interpolation section width is calculated (step S14).
  • the transfer axis path local interpolation unit 16c obtains a distribution interval width for a portion of the W-axis path after smooth interpolation where both the primary differential value and the secondary differential value by the parameter are discontinuous.
  • the distribution interval width is an interval width for distributing the first-order differential value based on the W-axis path parameter based on a distribution function described later.
  • the transfer axis path local interpolation unit 16c satisfies the condition that the position error at the interpolation target point between the W axis path before the local interpolation and the W axis path after the local interpolation is equal to the allowable error on the W axis.
  • the distribution section width is calculated, and the interpolation section width is obtained as a section width equal to or larger than the calculated distribution section width.
  • the distribution interval width is calculated as follows.
  • the formula for calculating the distribution interval width varies depending on the distribution function used for distributing the first-order differential value of the W-axis path, which will be described later. Is used to calculate the distribution interval width.
  • the primary differential function w ′ by the parameter s of the position coordinate w of the W-axis path. (S) can be expressed by the following equation (1).
  • the primary differential function w ′ (s) is a quadratic curve as shown in FIG.
  • k is a predetermined coefficient.
  • the position error at the interpolation target point of the W-axis path after the local interpolation with respect to the W-axis path before the local interpolation corresponds to the area of the hatched area in FIG. Accordingly, when this position error is E, the position error E is obtained by the following equation (2).
  • the value of the upper limit parameter is set as the distribution section width A.
  • the transfer axis path local interpolation unit 16c stores, in the storage unit 4, portions where the primary differential value due to the parameter is continuous and the secondary differential value is discontinuous in the W-axis path after smooth interpolation.
  • the distribution interval width is obtained based on the distribution interval width table for the second-order differential discontinuity for the W-axis path that is being used.
  • the transfer axis path local interpolation unit 16c calculates the difference between the secondary differential values in the portion where the secondary differential values are discontinuous in the W-axis path after the smooth interpolation, and the calculated two
  • the distribution interval width corresponding to the difference of the second derivative value is calculated based on the distribution interval width table for the second-order differential discontinuity portion.
  • the difference value of the secondary differential value obtained by the transfer axis path local interpolation unit 16c is a large number of secondary differential values registered in the distribution interval width table for the secondary differential discontinuity for the W axis path. If the difference between the two values is between two adjacent values, the transfer axis path local interpolation unit 16c calculates the difference between the second derivative values obtained by the transfer axis path local interpolation unit 16c by proportional distribution. Find the corresponding distribution interval width.
  • the transfer axis path local interpolation unit 16c stores, in the storage unit 4, portions of the W-axis path after smooth interpolation whose secondary differential value due to the parameter exceeds the preset secondary differential upper limit value.
  • the distribution section width is obtained based on the distribution section width table for the second-order differential value excess portion for the existing W-axis path.
  • the transfer axis path local interpolation unit 16c stores in the storage unit 4 based on the secondary differential value of the portion where the secondary differential value exceeds the secondary differential upper limit value in the W-axis path after smooth interpolation.
  • the corresponding distribution section width is obtained from the distribution section width table for the second differential value excess portion for the stored W-axis path.
  • the secondary differential values at locations exceeding the secondary differential upper limit value of the W-axis path after smooth interpolation are registered in the distribution interval width table for the secondary differential value excess location for the W-axis path.
  • the transfer axis path local interpolation unit 16c by proportional distribution, distributes the distribution section corresponding to the second derivative value at the location exceeding the second derivative upper limit value. Find the width.
  • a section width equal to the distribution section width calculated as described above is set as the interpolation section width.
  • the transfer axis path local interpolation unit 16c determines whether or not the interpolation interval for the current interpolation target point overlaps the interpolation interval of another interpolation target point (step S16). If the transfer axis path local interpolation unit 16c determines that the interpolation sections do not overlap, the process returns to step S12 and repeats the subsequent processes. On the other hand, when determining that the interpolation sections overlap, the transfer axis path local interpolation unit 16c combines the overlapped interpolation sections into one interpolation section (step S18).
  • the transfer axis path local interpolation unit 16c performs the end of the interpolation section located closest to the end point of the W-axis path from the start point of the interpolation section located closest to the start point of the W-axis path among the overlapped interpolation sections.
  • the interval up to is defined as one interpolation interval.
  • the smallest distribution interval width among the distribution interval widths corresponding to each interpolation interval is adopted as the distribution interval width used for distribution described later for one interpolated interval after being combined. Thereafter, the process returns to step S12, and the subsequent processes are repeated.
  • step S12 if the transfer axis path local interpolation unit 16c determines that there are no more interpolation target points for which the interpolation interval width is not calculated in the W axis path after smooth interpolation, the transfer axis path local interpolation unit Next, 16c extracts one interpolation section for performing the subsequent local interpolation processing (step S20).
  • the transfer axis path local interpolation unit 16c is the start point of the most W-axis path among these interpolation sections. The interpolation section located closer is extracted. Note that the interpolation sections combined in step S18 are handled as one interpolation section.
  • the transfer axis path local interpolation unit 16c obtains an adjustment interval for the extracted interpolation interval (step S22).
  • This adjustment section (see FIGS. 7 and 8) is a section obtained by expanding the interpolation section by a section width a that is half of the distribution section width A before and after, and determines an interpolation block that is a calculation target of the post-interpolation function described later. The standard.
  • the transfer axis path local interpolation unit 16c initially sets the post-interpolation integration function stored in the memory 5 to 0 (step S24).
  • the transfer axis path local interpolation unit 16c extracts an interpolation block that is a command block for performing an interpolation process for obtaining a post-interpolation function described later (step S26).
  • the transfer axis path local interpolation unit 16c includes a plurality of command blocks (command blocks w0 (s) to w5 (s) in FIG. 7) in which at least a part of the section is included in the adjustment section obtained in step S22. 8)
  • w0 (s) to w7 (s)) are selected, and among those command blocks, the interpolation processing for obtaining a post-interpolation function described later is not completed and is closest to the start point of the W-axis path.
  • the located block is extracted as an interpolation block.
  • the transfer axis path local interpolation unit 16c obtains a post-interpolation function of the extracted interpolation block (step S28).
  • the transfer axis path local interpolation unit 16c obtains a post-interpolation function using a bell-shaped distribution function f (s).
  • the bell-shaped distribution function f (s) is expressed by the following equation.
  • f (s) 0 outside the distribution interval ⁇ A / 2 ⁇ s ⁇ A / 2.
  • the transport axis path local interpolation unit 16c first has an integration interval having a section width equal to the distribution section width A centered at each first position s having a different parameter in the extracted interpolation block. [S ⁇ A / 2, s + A / 2] is set. Then, the transfer axis path local interpolation unit 16c performs the primary differentiation wi based on the W axis path parameter at each second position S in which the parameter in the set integration interval [s ⁇ A / 2, s + A / 2] is different. '(S) is determined, and the first derivative wi' (S) at each of the second positions S is distributed in the distribution section having the distribution section width A and the second position S corresponding to the center.
  • the post-interpolation function qi '(s) obtained in this way is expressed in different forms depending on whether the section width of the interpolation block wi (s) is larger or smaller than the interpolation section width A.
  • the post-interpolation function qi ′ (s) in each case is as follows.
  • the post-interpolation function qi ′ (s) obtained by the above interpolation processing is expressed as t [i] ⁇ a ⁇ s ⁇ t [i] + a below function qi11 ′ (s) and t [i ] Function qi12 ′ (s) in the interval of + a ⁇ s ⁇ t [i + 1] ⁇ a and function qi13 ′ (s) in the interval of t [i + 1] ⁇ a ⁇ s ⁇ t [i + 1] + a.
  • the post-interpolation function qi ′ (s) obtained by the interpolation process is expressed by the following function qi21 ′ (s) in the interval t [i] ⁇ a ⁇ s ⁇ t [i + 1] ⁇ a and t [ i + 1] ⁇ a ⁇ s ⁇ t [i] + a interval function qi22 ′ (s) and t [i] + a ⁇ s ⁇ t [i + 1] + a interval function qi23 ′ (s).
  • the transfer axis path local interpolation unit 16c adds the obtained post-interpolation function to the post-interpolation integration function stored in the memory 5 (step S30).
  • the post-interpolation function is added to the post-interpolation integration function set to 0 in step S24, the post-interpolation integration function after the addition is equal to the post-interpolation function obtained in step S28.
  • the transfer axis path local interpolation unit 16c performs an interpolation process for obtaining post-interpolation functions for all interpolation blocks whose adjustment sections include at least a part of the sections and adding the post-interpolation functions to the post-interpolation integration function. It is determined whether or not (step S32). If the transfer axis path local interpolation unit 16c determines that the interpolation processing for all the interpolation blocks has not been completed yet, the transport axis path local interpolation unit 16c returns to step S26 and extracts an interpolation block to be subjected to the interpolation processing next.
  • the interpolation block extracted at this time is a command block adjacent to the end point side of the W-axis path with respect to the interpolation block previously subjected to the interpolation processing among the command blocks whose adjustment section includes at least a part of the section.
  • the transfer axis path local interpolation unit 16c calculates the post-interpolation function in step S28 for the extracted interpolation block, and adds the post-interpolation function obtained thereby to the post-interpolation integration function.
  • the transfer axis path local interpolation unit 16c completes the interpolation process (distribution, integration, addition) of all the interpolation blocks including at least part of the adjustment section in step S32 in the process of steps S26 to S30. Repeat until judged.
  • step S32 If the transfer axis path local interpolation unit 16c determines in step S32 that the interpolation processing for all interpolation blocks at least part of which is included in the adjustment section has been completed, the interpolation with error for the W axis is performed next.
  • a path is obtained (step S34). Specifically, the transfer axis path local interpolation unit 16c extracts an interpolation path with an error by extracting a section corresponding to the interpolation section extracted in step S20 from the post-interpolation integration function obtained by the addition of the post-interpolation function. Ask.
  • the transfer axis path error correction unit 16d obtains an error correction path for correcting an error between the W axis path at the point corresponding to the start point and the end point of the interpolation section in the interpolation path with error (Ste S36). Specifically, the transfer axis path error correction unit 16d sets the error correction path value at the start point of the interpolation section to a value obtained by subtracting the value of the W axis path at the start point from the value of the interpolation path with error at the start point.
  • an error correction path that is equal and satisfies the condition that the value of the error correction path at the end point of the interpolation section is equal to the value obtained by subtracting the value of the W-axis path at the end point from the value of the interpolation path with error at the end point is obtained.
  • the transfer axis path error correction unit 16d sets the error correction path to Ep (s), sets the interpolation path with error to r (s), sets the W axis path to w (s), and starts the interpolation section.
  • an error correction path Ep (s) that satisfies the following equations (16) and (17) is obtained.
  • the transfer axis path error correction unit 16d obtains an error correction path in which Ep (Ss) and Ep (Se) are connected by a straight line as an example of the error correction path Ep (s) that satisfies this condition.
  • the transport axis path error correction unit 16d corrects the interpolation path with error by the error correction path obtained in step S36, replaces the corrected interpolation path with the interpolation section of the W axis path, and performs the post-local interpolation.
  • a W-axis path in the interpolation section is set (step S38). Specifically, the transfer axis path error correction unit 16d corrects the interpolation path with error by subtracting the error correction path from the interpolation path with error, and with this correction, an error with respect to the W axis path at the start point of the interpolation section is added.
  • the transfer axis path local interpolation unit 16c determines whether or not the local interpolation of all interpolation sections of the W axis path has been completed (step S40).
  • the processes after step S20 are repeated.
  • the transfer axis path local interpolation unit 16c extracts an interpolation section located closest to the start point of the W-axis path from among the interpolation sections in which the local interpolation has not ended, and the post-interpolation function of the post-interpolation function is extracted for the extracted interpolation section. Calculation, addition to an integration function after interpolation, derivation of an interpolation path with error, derivation of an error correction path, correction of an interpolation path with error, and the like are performed.
  • the transfer axis path local interpolation unit 16c determines that the local interpolation of all the interpolation sections of the W axis path has been completed, the process of the local interpolation process of the W axis path by the transfer axis path local filter 16b is completed. .
  • the same local interpolation processing is performed for each tool path after smooth interpolation by the tool path local interpolation unit 15c and the tool path error correction unit of the tool path local filter 15b. This is performed for coordinate axis paths (x-axis path, y-axis path, and z-axis path).
  • the tool path local interpolation unit 15c when the difference of the primary differential value due to the tool path parameter before and after the interpolation target point is different for each coordinate axis constituting the work coordinate system, the tool path local interpolation unit 15c The distribution interval width and the interpolation interval width are derived for the coordinate axis that maximizes the difference between the primary differential values before and after the interpolation target point.
  • the tool path local interpolation unit 15c derives the distribution interval width and the interpolation interval width for the x-axis path. Then, using the derived distribution section width and interpolation section width, local interpolation similar to the W-axis path is performed for each of the x-axis path, y-axis path, and z-axis path of the tool path.
  • the parameter time function deriving unit 18 obtains a parameter time function representing the change of the parameter with respect to the passage of the reference time T (step S5 in FIG. 3).
  • the parameter time function deriving unit 18 includes an acceleration / deceleration condition including an allowable acceleration for each transfer axis stored in the storage unit 4 and a tool path after all interpolation sections are locally interpolated.
  • a parameter time function (parameter variable velocity curve) is obtained based on a certain post-interpolation tool path and a post-interpolation W-axis path that is a W-axis path after all interpolation sections have been locally interpolated. More specifically, the parameter time function deriving unit 18 moves the position of the tip of the tool 106 in the workpiece coordinate system according to the post-interpolation tool path (the x-axis path, the y-axis path, and the z-axis path after interpolation).
  • the tool 106 can be moved in the W-axis direction according to the W-axis path after interpolation, and the acceleration of each transfer axis of the transfer object exceeds the allowable acceleration for that transfer axis included in the acceleration / deceleration conditions.
  • the parameter time function deriving unit 18 obtains the parameter time function as follows.
  • the parametric variable time function deriving unit 18 first obtains the parametric variable speed upper limit function represented by the stepped velocity curve in FIG.
  • the parametric variable speed upper limit function is a function that represents the upper limit value of the speed ds / dT of the parametric variable s for each block between the command points of each transfer axis path.
  • Each horizontal part of the stepwise speed curve in FIG. 12 represents a block, and the speed ds / dT of the part corresponds to the upper limit value of the speed ds / dT of the parameter s of the block.
  • Each block is originally set so that the increment of the parameter s for each block is equal, but the time required to travel a distance corresponding to the increment of the parameter s of each block varies. In FIG.
  • the increase of the parametric variable s is converted to the progress of time t and is represented on the horizontal axis.
  • the parametric variable time function deriving unit 18 obtains the parametric variable upper limit function by obtaining the upper limit value of the speed ds / dT of the parametric variable s of each block as follows.
  • the Z-axis coordinate is obtained by subtracting the W-axis coordinate of the post-interpolation W-axis path from the z-axis coordinate of the z-axis path after interpolation.
  • e is a parameter indicating a minute distance in the parameter.
  • i 1 to the point (s a -e)
  • i 2 to the point s a
  • the parametric time function deriving unit 18 obtains the approximate value ds1 [ax] of the first derivative by the parametric variable at the point (s a -e) by the following formula (18), and the point (s a + E) to obtain an approximate value ds2 [ax] of the first derivative by a parameter, and correspond to the parameter s a by using the two approximate values ds1 [ax], ds2 [ax] and the following equation (20).
  • the approximate value ddss [ax] of the second derivative by the parameter of the transfer axis path at the point to be obtained is obtained.
  • ax is an index representing each transfer axis.
  • the acceleration a [] for each transfer axis can be approximated by v 2 ⁇ ddss [] and is stored in the storage unit 4.
  • the allowable acceleration for each transfer axis in the acceleration / deceleration condition is A []
  • the parameter time function deriving unit 18 obtains the speed upper limit value vm of the target block by the following equation (21).
  • the parameter time function deriving unit 18 determines the speed upper limit value vm of the corresponding block for each transfer axis and the speed corresponding to the block among the speed commands included in the machining program. The lowest value is the upper limit value of the speed ds / dT of the parameter s of the block.
  • the parametric variable time function deriving unit 18 obtains the upper limit value of the speed ds / dT of the parametric variable s of all the blocks by the method as described above, and connects the obtained upper limit values of the blocks to the parametric variable speed upper limit function. Ask for.
  • the parametric variable time function deriving unit 18 has a stepped shape represented by the parametric variable upper limit function based on the allowable speed, allowable acceleration, and allowable jerk of the variable s included in the acceleration / deceleration conditions stored in the storage unit 4.
  • An acceleration / deceleration curve ds (T) / dT that continuously changes so as not to exceed the velocity curve is obtained, and the obtained acceleration / deceleration curve ds (T) / dT is integrated at the reference time T to obtain a parameter time function s (T ) Is calculated.
  • the parameter time function deriving unit 18 first sets a predetermined time interval from the start point side to the end point side of the acceleration region speed curve (speed function) of the acceleration / deceleration curve ds (T) / dT. Every time it is obtained sequentially along with the time interval width ts of the time interval and registered in the memory 5. At this time, the parameter time function deriving unit 18 reaches the end point of the block set as the target point (s2, f2) from the final point (s1, f1, t1) of the velocity curve registered in the memory 5 so far.
  • a speed curve is calculated for each time interval together with the time interval width ts so that the speed f1 at the final point can rise to the upper limit value (speed upper limit value f2) of the speed ds / dT of the block.
  • the form of the speed curve obtained at this time is the difference (s2 ⁇ s1) in the parameter between the final point and the target point, the speed f1 at the final point, the speed upper limit f2, the acceleration a1 at the final point, the allowable value It depends on conditions such as acceleration and allowable jerk.
  • FIGS. 13 to 19 show how to obtain a velocity curve corresponding to each condition.
  • FIG. 13 and 14 show a case where the speed reaches the speed upper limit value f2 before reaching the target point (s2, f2) from the final point (s1, f1, t1).
  • t2 is the time when s2 is reached.
  • FIG. 13 shows that the speed is increased from f1 so that the acceleration increases from a1 to the allowable acceleration according to the allowable jerk from the final point (s1, f1, t1) (time interval ts1), and then the allowable acceleration is reached.
  • the speed increases at the same acceleration (time interval ts2), and then the acceleration is reduced according to the allowable jerk so that the speed does not exceed the speed upper limit value f2, and the speed reaches the speed upper limit value f2 (time interval ts3).
  • a speed curve in the form of reaching the target point (s2, f2) at a speed equal to the speed upper limit value f2 (time interval ts4) is shown, and the parametric variable time function deriving unit 18 follows each condition according to such a condition.
  • Each speed curve (speed function) is calculated together with the time interval widths ts1 to ts4 of each interval, and the calculated speed curve is stored in the memory 5 together with the corresponding time interval.
  • FIG. 14 shows that the speed is increased from f1 so that the acceleration increases from a1 according to the allowable jerk from the final point (s1, f1, t1) (time interval ts5).
  • the acceleration is reduced according to the allowable jerk to reach the speed upper limit value f2 (time interval ts6), and then the target point (s2, f2) is reached at a speed equal to the speed upper limit value f2 (time interval ts7).
  • the parameter time function deriving unit 18 calculates a speed curve (speed function) for each time interval together with the time interval widths ts5 to ts7 of each interval in accordance with such conditions. The calculated speed curve is registered in the memory 5 together with the corresponding time interval.
  • FIG. 15 to 17 show a case where the target point (s2, f2) is reached while the acceleration is decreasing according to the allowable jerk.
  • FIG. 15 shows that the speed is increased from f1 (time interval ts8) so that the acceleration increases from a1 according to the allowable jerk from the final point (s1, f1, t1), but from the final point to the target point (s2 , F2) is small (s2-s1), so before the speed reaches the allowable acceleration, the acceleration is reduced according to the allowable jerk to reach the speed upper limit value f2 and reach the target point (s2, f2).
  • the parameter time function derivation unit 18 converts the speed curve (speed function) for each time interval according to such a condition to the time interval width ts8 of each interval. , Ts9, and the calculated velocity curve is registered in the memory 5 together with the corresponding time interval. Further, FIG. 16 shows that the speed is increased from f1 so that the acceleration increases from a1 to the allowable acceleration according to the allowable jerk from the final point (s1, f1, t1) (time interval ts10), and thereafter, at an acceleration equal to the allowable acceleration.
  • the speed increases (time interval ts11), and then reaches the target point (s2, f2) (time interval ts12) while the acceleration is decreased according to the allowable jerk so that the speed does not exceed the upper speed limit f2.
  • the parameter time function deriving unit 18 calculates a speed curve (speed function) for each time interval together with the time interval widths ts10 to ts12 of each interval according to such a condition, The calculated speed curve is registered in the memory 5 together with the corresponding time interval.
  • the parameter time function deriving unit 18 calculates the speed curve (speed function) of the section together with the time section width ts13 in accordance with such a condition, and the calculated speed curve is used as the time section. It is registered in the memory 5 together with ts13.
  • FIG. 18 shows a case where the speed cannot be increased to the speed upper limit value f2 even if the parameter s reaches the value s2 corresponding to the target point.
  • the parameter time function deriving unit 18 calculates a speed curve and does not register the calculated speed curve in the memory 5 when this is the case.
  • T1 shows a case where the speed exceeds the speed upper limit f2 even if the acceleration is decreased according to the allowable jerk.
  • the parametric time function deriving unit 18 cancels the data of the speed curve registered in the memory 5 immediately before when calculating the speed curve, and further stores the memory in the previous one. Recalculation is performed to obtain a speed curve that reaches the current target point from the final point of the speed curve registered in 5 and can reach the speed upper limit value corresponding to the current target point.
  • the recalculation method in this case is the same as in the above cases.
  • the parameter time function deriving unit 18 sequentially calculates and registers the speed curve as described above.
  • the parameter time function deriving unit 18 registers the obtained velocity curve in the memory 5
  • the time t2 and the acceleration a2 when reaching the target point are registered in the memory 5 and the next target point is set.
  • the registered time t2 is used as the time t1 at the final point
  • the registered acceleration a2 is used as the acceleration a1 at the final point to calculate the next speed curve.
  • the speed curve in the acceleration region of the acceleration / deceleration curve is obtained by the speed curve obtained until the speed upper limit value corresponding to the next target point becomes smaller than the speed at the final point.
  • the parameter time function deriving unit 18 sequentially calculates and registers the speed curve similar to the above from the end point side to the start point side of the path in the acceleration / deceleration curve. Obtain the velocity curve. Then, the parametric variable time function deriving unit 18 obtains the acceleration / deceleration curve ds (T) / dT by connecting the end point of the obtained acceleration curve and the start point of the deceleration curve. Then, the parameter time function deriving unit 18 calculates the parameter time function s (T) by integrating the obtained acceleration / deceleration curve ds (T) / dT at the reference time T.
  • step S6 derivation of the reference time T and pulse interpolation by the pulse interpolation unit 22 and pulse output to the transfer units 102c, 110b, 112b, 114b, 116b, and 118b by the control unit 24 are performed (step S6).
  • step S6 The detailed process of this step S6 is shown in the flowchart of FIG.
  • the pulse interpolation unit 22 initially sets the reference time T so that the reference time T matches the time that is the starting point of the parameter time function obtained in step S5 (step S52 in FIG. 5). ).
  • the pulse interpolation unit 22 obtains position coordinates on each coordinate axis of the post-interpolation tool path corresponding to the initially set reference time T and position coordinates on the post-interpolation W-axis path corresponding to the reference time T. (Step S54). Specifically, the pulse interpolation unit 22 obtains a parameter s corresponding to the initially set reference time T from the parameter time function s (T) obtained by the parameter time function derivation unit 18 and obtains the parameter.
  • a position coordinate on each coordinate axis of a post-interpolation tool path (an interpolated x-axis path, a y-axis path, and a z-axis path) corresponding to the parametric variable s is obtained from the parametric variable s and the post-interpolation tool path.
  • a position coordinate on the post-interpolation W-axis path corresponding to the parameter s is obtained from the variable s and the post-interpolation W-axis path.
  • the pulse interpolation unit 22 uses the position coordinates on the W axis of the obtained W axis path as a constraint, and correlates the position coordinates of the tip point of the tool 106 in the workpiece coordinate system with the position coordinates on each transfer axis. Based on the relational expression indicating the relationship, the position coordinate on each coordinate axis of the post-interpolation tool path obtained in step S54 and the position coordinate on each transfer axis corresponding to the position coordinate of the post-interpolation W-axis path are obtained (step S56). ).
  • the pulse interpolation unit 22 first obtains the position coordinates (Tx, Ty, Tz) in the workpiece coordinate system of the tip point of the tool 106 indicated by the post-interpolation tool path, and uses the position coordinates and the constant value 0.
  • the tool axis vector (Si, Sj, Sk) and the spindle position coordinates (Sx, Sy, Sz) from the coordinates a of a certain A axis path and the coordinates c of the C axis path are expressed by the following equations (22) to (27).
  • the spindle position is the position in the workpiece coordinate system of the base end (end opposite to the tip) of the tool 106 held by the spindle head 108.
  • the tool axis vector represents the axial direction of the tool 106 (the direction in which the center line of the tool 106 extends) in the work coordinate system, and is a vector from the tip point of the tool 106 toward the base end (main axis position). .
  • the pulse interpolation unit 22 calculates the position coordinate w on the W axis from the post-interpolation W-axis path, and then the post-interpolation tool path is calculated based on the following kinematic relational expressions (28) to (30).
  • the position coordinates (x, y, z) on each transfer axis (X axis, Y axis, Z axis) corresponding to the position coordinates indicated and the position coordinates indicated by the W-axis path after interpolation are obtained.
  • Ay is the Y-axis component of the vector from the point located on the center line of the tool 106 to the swing center of the swing support 110a in the YZ plane
  • Az is This is the Z-axis component of the same vector
  • Cx is an X-axis component of a vector from the point on the center line of the tool 106 (tip point of the tool 106) to the rotation center of the rotation support 112a on the XY plane.
  • Cy are Y-axis components of the same vector.
  • the Z axis and the W axis are indefinite axes parallel to each other, and the values of z and w are not uniquely determined only by the above equation (30), but the W axis of the interpolated W axis path obtained in step S54 above.
  • the value of z can be obtained from this equation (30).
  • the position coordinate of each transfer axis obtained by the pulse interpolation unit 22 as described above is defined as newp [].
  • the pulse interpolation unit 22 sets the position coordinates newp [] for each transfer axis obtained in step S56 as the old coordinates oldp [] (step S58).
  • the pulse interpolation unit 22 obtains a new reference time T by adding the reference unit time dT to the reference time T initially set in step S52 (step S60).
  • the pulse interpolation unit 22 sets the position coordinates on each coordinate axis of the post-interpolation tool path corresponding to the new reference time T and the position coordinates on the W axis of the post-interpolation W-axis path in the same manner as in step S54.
  • the pulse interpolation unit 22 calculates a command pulse (step S66). Specifically, the pulse interpolation unit 22 subtracts the corresponding one of the old coordinates oldp [] for each transfer axis set in step S58 from the position coordinates newp [] for each transfer axis obtained in step S64. Thus, the change amount of the position coordinate on each transfer axis per reference unit time dT, that is, the transfer amount per reference unit time dT of the object to be transferred on each transfer axis is obtained, and the obtained transfer amount is the unit of real time.
  • the command pulse is set every time (every specific cycle).
  • control unit 24 transfers to the servo motors of the transfer units 102c, 114b, 116b, and 118b about the transfer axis corresponding to the transfer unit among the command pulses per specific period obtained by the pulse interpolation unit 22.
  • a command pulse indicating the quantity is output (step S68).
  • each of the transfer units 102c, 114b, 116b, and 118b has a corresponding support for supporting and moving the object to be transferred corresponding to the transfer amount indicated by the command pulse from the control unit 24 for each specific period. Move along the corresponding transfer axis.
  • the table transfer unit 102c receives the table 102b, the ram transfer unit 114b the ram 114a, the saddle transfer unit 116b the saddle 116a, and the cross rail transfer unit 118b the command pulse from the control unit 24. Is moved along the transfer axis corresponding to the specific period.
  • the pulse interpolation unit 22 determines whether or not to perform a shutdown process (step S70).
  • the shutdown process is executed and the numerical control process of the present embodiment is completed, and it is determined that the pulse interpolation unit 22 does not perform the shutdown. In such a case, the processing after step S58 is repeated.
  • the pulse interpolation unit 22 sets the position coordinate newp [] for each transfer axis obtained in step S64 to the old coordinate oldp [].
  • control process by the numerical controller 2 of the present embodiment is performed.
  • the W-axis path obtained from the machining program is interpolated, and the post-interpolation tool path is set with the position coordinates on the W-axis indicated by the interpolated W-axis path as a constraint condition.
  • the Z corresponding to the tool path The position coordinates at the respective time points on the axis and the W axis can be obtained, and simultaneous control of the transfer devices 102, 114, 116, and 118 can be performed.
  • the machine tool includes the second vertical transfer device 118 having a low allowable acceleration with respect to the W axis, that is, a slow motion, but the slow motion has a high allowable acceleration.
  • the machining control can be performed quickly and accurately without being controlled by the low allowable acceleration about the W-axis by the second vertical transfer device 118.
  • the W-axis path is locally interpolated so that the secondary differential value due to the parameter of the W-axis path becomes small, and the tool 106 (cross rail 118a) along the W-axis is interpolated.
  • the position coordinates on each transfer axis are obtained using the position coordinates of each time point on the W-axis indicated by the W-axis path after the interpolation as a constraint. Therefore, the movement of the tool 106 (cross rail 118a) along the W axis is moderated so that the acceleration of the movement is kept within a low allowable acceleration, while the movement of the tool 106 (cross rail 118a) is performed with respect to the W axis on the Z axis. It is possible to instruct a quick movement of the tool 106 so as to cover the loose amount.
  • the first vertical transfer device 114 with good acceleration performance is controlled to compensate for the poor acceleration performance of the second vertical transfer device 118, that is, Z is so covered as to cover the poor acceleration performance of the second vertical transfer device 118.
  • Control is provided to quickly move the tool 106 along the axis. For this reason, even if the acceleration performance of the second vertical transfer device 118 is extremely bad, it is possible to prevent the processing speed of the workpiece 100 from being limited thereby, and to cause the machine tool to process the workpiece 100 at a high speed. be able to.
  • the position coordinates at each time point on the other transfer axes are obtained with the position coordinates at each time point on the W axis of the W-axis path after interpolation as a constraint, the same work coordinate system as that of the W axis As a position coordinate on the Z axis including the coordinate axis component (z axis component), a position coordinate that absorbs a position error caused by interpolation of the W axis path is obtained. For this reason, when machining the workpiece 100, the position error caused by the interpolation of the W-axis path is not reflected in the movement of the tool 106. As a result, it is possible to cause the machine tool to process the workpiece 100 with high processing accuracy.
  • the tolerance for the W axis used by the transfer axis path local interpolation unit 16c to calculate the distribution section width is set to be larger than the tolerance for the position on the z axis of the tool path in the workpiece coordinate system. May be.
  • the post-interpolation function obtained by the distribution of the first derivative value by the parametric variable and the subsequent integration shows a gentler curve. It is possible to further reduce the mechanical shock by operating slowly.
  • the tolerance for the W axis is increased and the operation of the second vertical transfer device 118 is made very gradual in this way, the first vertical transfer device 114 with good acceleration performance on the Z axis as described above.
  • the tool 106 can be covered with a quick movement, and a position error about the W axis can be absorbed by the transfer of the tool 106 on the Z axis by the first vertical transfer device 114, and high machining accuracy can be maintained.
  • a machining program including a position coordinate trajectory of a specific point on the W axis in addition to information on position coordinates of a plurality of command points that the tool 106 should pass when machining a workpiece and a tool transfer speed command.
  • the transfer axis path deriving unit 34 obtains the W axis path from the trajectory of the position coordinates of the specific point on the W axis included in the machining program and the tool transfer speed command, and the W axis path is stored in the storage unit 4. Processing for controlling the subsequent operation of the second vertical transfer device 118 is performed based on the path. For this reason, in this embodiment, at the stage of creating the machining program, it is possible to arbitrarily specify the behavior of transfer about the W axis of the tool 106 by the second vertical transfer device 114 with poor acceleration.
  • FIG. 20 shows an example of a machine tool to which a numerical control apparatus according to a modification of the embodiment of the present invention is applied.
  • This machine tool is a machine tool provided with a parallel link mechanism 126.
  • the tool transfer devices 131 to 136 constituting the parallel link mechanism 126 transfer L1 to L6 axes, and the horizontal transfer device 124 transfers the entire parallel link mechanism 126 in the horizontal direction.
  • the x axis component of the work coordinate system which is a common coordinate axis component, is an indefinite axis whose coordinates are not uniquely determined with respect to the x axis coordinate.
  • this machine tool includes a workpiece support device 122, a tool 106, a spindle head 123, a horizontal transfer device 124, a parallel link mechanism 126, and a control panel (not shown).
  • the work support device 122 is a device for supporting an unillustrated work, and is installed at a predetermined installation location.
  • the work support device 122 has a support surface 122a which is a vertical surface, and supports the work in a state where the work is in contact with the support surface 122a.
  • a workpiece coordinate system is set on the workpiece set on the workpiece support device 122. Specifically, a workpiece comprising an x axis parallel to the support surface 122a in the horizontal plane, a y axis perpendicular to the support surface 122a in the horizontal plane, and a z axis orthogonal to both the x axis and the y axis.
  • a coordinate system is set on the workpiece.
  • the spindle head 123 holds the tool 106 and rotates the tool 106 around the axis, as in the above embodiment.
  • the horizontal transfer device 124 transfers the entire parallel link mechanism 126 along a U-axis extending in a direction parallel to the support surface 122a of the workpiece support device 122 in a horizontal plane, that is, in a direction parallel to the x-axis of the workpiece coordinate system. To transfer the tool 106 along the U axis.
  • the horizontal transfer device 124 is included in the concept of the transfer device and the second transfer device of the present invention, and the U-axis is included in the concept of the transfer shaft and the second transfer shaft of the present invention.
  • the horizontal transfer device 124 is the transfer device having the worst acceleration among all the transfer devices provided in the machine tool, and the allowable acceleration for the U-axis is lower than the allowable acceleration for the other transfer axes. Is set to a value. Further, the horizontal transfer device 124 includes a base 124a, a horizontal support 124b, and a horizontal support transfer unit 124c (see FIG. 21).
  • the base 124a is installed at a location separated from the work support device 122 in a direction perpendicular to the support surface 122a, and a horizontal support 124b is provided on the base 124a so as to be movable along the U axis. It has been.
  • the horizontal support 124b supports the parallel link mechanism 126 from below.
  • a support leg 128a (to be described later) of the parallel link mechanism 126 is installed on the upper surface of the horizontal support 124b.
  • the horizontal support transfer unit 124c transfers the horizontal support 124b along the U axis.
  • the horizontal support transfer unit 124c has a servo motor (not shown) as a drive source, and transfers the horizontal support 124b by the power of the motor.
  • the parallel link mechanism 126 moves the tool 106 mounted on the spindle head 123 according to the change in the locus of the position coordinates of the tip of the tool 106 and the tool axis vector included in the machining program. For the axis vector, the parallel link mechanism 126 is operated in a state of being fixed at (0, 0, 1) in the workpiece coordinate system (x, y, z).
  • the parallel link mechanism 126 includes a head support portion 128, a plurality of tool transfer devices 131 to 136, a tip joint 138, and a strut support mechanism 140.
  • the head support 128 supports the spindle head 123.
  • the first to sixth tool transfer devices 131 to 136 move the tool 106 in the L1 to L6 axis directions by moving the spindle head 123 along the L1 to L6 axes that are the respective transfer axes.
  • These first to sixth tool transfer devices 131 to 136 are included in the concept of the transfer device and the first transfer device of the present invention, respectively, and the L1 to L6 axes are respectively the first transfer shaft of the present invention. It is included in the concept of
  • the first tool transfer device 131 includes a first strut 131a and a first strut transfer portion 131b
  • the second tool transfer device 132 includes a second strut 132a and a second strut transfer portion 132b.
  • the third tool transfer device 133 includes a third strut 133a and a third strut transfer portion 133b
  • the fourth tool transfer device 134 includes a fourth strut 134a and a fourth strut transfer portion 134b.
  • the fifth tool transfer device 135 includes a fifth strut 135a and a fifth strut transfer portion 135b
  • the sixth tool transfer device 136 includes a sixth strut 136a and a sixth strut transfer portion 136b.
  • the first to sixth struts 131a to 136a are each formed in a bar shape extending in one direction.
  • Each of the struts 131a to 136a is connected so that one end thereof can be articulated to the base end side of the head support portion 128 (the side opposite to the side supporting the spindle head 123) via the tip joint 138, thereby The head support 128 is supported.
  • Each strut 131a to 136a is supported by a strut support mechanism 140 so as to be movable along the L axis extending in the longitudinal direction.
  • the strut support mechanism 140 is installed on the horizontal support 124b of the horizontal transfer device 124.
  • the strut support mechanism 140 supports each of the struts 131a to 136a so that one end side of each of the struts 131a to 136a supporting the head support portion 128 protrudes from the horizontal support 124b to the work support device 122 side.
  • the strut support mechanism 140 includes a support leg 140a installed on the horizontal support 124b and a strut support part 140b supported by the support leg 140a.
  • the strut support portion 140b is disposed so as to be positioned at each vertex of an equilateral triangle when viewed from the workpiece support device 122 side.
  • Each strut support portion 140b supports two struts 131a to 136a, and supports the struts so that the struts supported by the struts can move in the respective longitudinal directions (axial directions).
  • the first to sixth strut transfer portions 131b to 136b move the corresponding one of the first to sixth struts 131a to 136a along the corresponding L axis, thereby allowing the head support portion 128 and the main shaft to move.
  • the tool 106 is moved in the L-axis direction together with the head 123.
  • Each of the strut transfer portions 131b to 136b has a servo motor (not shown) as a drive source, and transfers the corresponding struts 131a to 136a by the power of the motor.
  • a control panel (not shown) is used to control and operate each of the transfer devices 124c, 131b to 136b, the spindle head 123, and other transfer units.
  • a numerical controller 2 according to the modification shown in FIG. 21 is incorporated in the control panel.
  • the numerical control device 2 includes a storage unit 4, a memory 5, and an arithmetic processing unit 6 similar to the numerical control device 2 according to the above embodiment.
  • the storage unit 4 includes a locus of the position coordinates of the tool 106 in the work coordinate system through which the tool 106 should pass when machining the work, a tool transfer speed command indicating the transfer speed of the tool 106, and a work coordinate system.
  • a machining program including a locus of position coordinates on the U axis corresponding to the locus of position coordinates of the tool 106 is stored.
  • the workpiece is machined in a state in which the posture of the tool 106 is fixed to a posture in which the tool axis vector is (0, 0, 1) in the workpiece coordinate system (x, y, z).
  • the machining program does not include a command to change the posture (tilt) of the tool 106.
  • the transfer axis path derivation unit 34 the transfer axis path smooth interpolation unit 16a, the transfer axis path local interpolation unit 16c of the transfer axis path local filter 16b, and the transfer axis path error correction unit 16d
  • the U-axis path is included in the concept of the second transfer axis path of the present invention.
  • the parametric variable time function deriving unit 18 derives the parametric variable time function using the post-interpolation U-axis path instead of the post-interpolation W-axis path by the same method as in the above embodiment.
  • the pulse interpolation unit 22 obtains a parameter corresponding to each time point for each reference unit time of the reference time from the parameter time function derived by the parameter time function deriving unit 18, and mediates at each time point obtained.
  • a position coordinate in the work coordinate system of the post-interpolation tool path corresponding to the variable and a position coordinate on the U-axis of the post-interpolation U-axis path corresponding to the parameter at each time point are obtained.
  • the pulse interpolation unit 22 uses the obtained position coordinates on the U-axis as constraint conditions, and a relational expression indicating the correlation between the position coordinates of the tool 106 and the position coordinates on each transfer axis in the workpiece coordinate system. Based on the above, position coordinates on each transfer axis are obtained.
  • the pulse interpolation unit 22 obtains the coordinates (Sx, Sy, Sz) of the spindle position in the same manner as in the above embodiment, obtains the tool axis vector (0, 0, 1) which is a constant value, and then Based on the following kinematic relational expressions (31) and (32), the respective transfer axes (U-axis, L1 to L6) corresponding to the position coordinates indicated by the post-interpolation tool path and the position coordinates indicated by the post-interpolation U-axis path Find the position coordinates on the axis.
  • the position coordinates on the respective transfer axes (L1 to L6 axes) are obtained using the constraint condition that the position coordinates on the U axis of the post-interpolation U axis path obtained as described above are set to the following values u. .
  • d is a mechanical constant indicating a deviation between the center of the strut support portion 140b and the axis of the strut supported by the strut support portion 140b.
  • N [j] [0], N [j] [1], and N [j] [2] are position coordinates in the work coordinate system of the centers of the three strut support portions 140b.
  • T [k] [0], T [k] [1], and T [k] [2] are the position coordinates of the three tip joints 138.
  • o [i] is the distance on the corresponding L axis from the point where each strut 131a to 136a is supported by the strut support portion 140b to the corresponding tip joint 138.
  • m [0] [], m [1] [], m [2] [] are heads in a state where the rotational posture around the center of the main axis of the head support 128 (around the axis of the tool 106) is constrained. This represents a cosine to the work coordinate system of three coordinate axes orthogonal to each other of the principal axis coordinate system for defining the posture of the head support unit 128 set on the support unit 128.
  • the pulse interpolation unit 22 calculates the transfer amount per reference unit time for each of the transfer axes of the U axis and the L1 to L6 axes from the obtained position coordinates for each reference unit time of the transfer axis in the same manner as in the above embodiment.
  • the control unit 24 uses the transfer amount as a command pulse, outputs the command pulse for the U axis to the servo motor of the horizontal support transfer unit 124c, and sends the command pulse for the L1 to L6 axes to the corresponding strut transfer unit. Output to servo motors 131b to 136b.
  • the horizontal support 124c from the control unit 24 sends the horizontal support 124b to the horizontal support 124b, and the first to sixth strut transfer units 131b to 136b correspond to the first to sixth struts 131a to 136a, respectively. Is moved along the transfer axis corresponding to a specific period by the amount of transfer indicated by.
  • the U-axis path obtained from the machining program is interpolated, and the position coordinates on the U-axis indicated by the post-interpolation U-axis path are used as constraint conditions to the position coordinates at each time point for each unit time of the tool path after interpolation.
  • L1 to L6 axis L1 to L6 axis
  • U axis are indefinite axes
  • L1 to L6 axis and U axis corresponding to the tool path The position coordinates at each point in time can be obtained, and the corresponding transfer devices 131 to 136 and 124 can be simultaneously controlled for all the transfer axes.
  • the machine tool includes the horizontal transfer device 124 that has a low allowable acceleration in the U-axis direction, that is, a slow movement along the U-axis
  • the slow movement is reduced to the allowable acceleration.
  • the movement of the tool 106 in the x-axis direction in the workpiece coordinate system is achieved by compensating the movement of the tool 106 accompanying the movement of each strut along the L1 to L6 axes by the high first to sixth tool transfer devices 131 to 136. It can be prevented from getting worse, and high-speed machining control can be realized.
  • the transfer axis path deriving unit 34 obtains the W axis path based on the locus of the position coordinates of the specific point on the W axis included in the machining program and the tool transfer speed command.
  • the configuration for deriving the path is not limited to such a configuration.
  • the transfer axis path deriving unit 34 may derive the W axis path from the tool path derived by the tool path deriving unit 32 based on a specific derivation rule.
  • the specific derivation rule is a rule that the value obtained by multiplying the z-axis coordinate indicated by the tool path by a specific ratio (for example, 1/2) is the W-axis coordinate of the W-axis path.
  • a machining program including information on position coordinates of a plurality of command points through which the tip point of the tool 106 should pass and a tool transfer speed command at the time of machining a workpiece is stored in the storage unit 4, and the machining is performed.
  • the transfer axis path deriving unit 34 automatically derives the W axis path from the tool path. Therefore, the position coordinates of the specific point on the W axis in the machining program It is not necessary to specify the trajectory, and the machining program can be simplified.
  • the transfer axis path deriving unit 34 may derive the U axis path from the tool path derived by the tool path deriving unit 32 based on a specific derivation rule.
  • the specific derivation rule is, for example, a rule that the x-axis coordinate indicated by the tool path is directly used as the U-axis coordinate of the U-axis path.
  • a rule may be adopted in which a value obtained by multiplying the x-axis coordinate indicated by the tool path by a specific ratio is used as the U-axis coordinate of the U-axis path.
  • the numerical control device according to the present invention can be applied to various machine tools other than the machine tools as shown in the embodiment and the modified examples.
  • the first transfer axis and the second transfer axis are not limited to the transfer axes parallel to each other. Any transfer axis including the same specific coordinate axis component in the workpiece coordinate system may be used.
  • the method of deriving the distribution interval width and the interpolation interval width by the tool path local filter 15b and the transfer axis path local filter 16b is not limited to the above-described method, and the distribution interval can be determined by various derivation methods other than the above method.
  • the width and the interpolation section width may be obtained.
  • the interpolation section width is the same as the distribution section width, but the interpolation section width is not limited to such a section width. That is, the interpolation section width may be a section width larger than the distribution section width.
  • the distribution function used when distributing the first-order differential value of the tool path is not limited to the bell-shaped distribution function, and the distribution may be performed by various distribution functions other than the bell-shaped distribution function.
  • the interpolation section may be locally interpolated in a state where the primary differential value due to the parametric variable is continuous at the interpolation target point in the interpolation section of the tool path, but the secondary differential value is still discontinuous.
  • a section obtained by expanding the distribution section by the fixed section may be used as the interpolation section.
  • each command point included in the machining program may include position coordinates through which the tip of the tool should pass and A-axis coordinates and C-axis coordinates that define the posture of the tool.
  • the numerical control device includes a plurality of transfer devices that move a workpiece or a tool that processes the workpiece along a plurality of transfer axes in order to process the workpiece using the workpiece as a transfer object.
  • the plurality of transfer axes include a specific coordinate axis component in a workpiece coordinate system set on the workpiece, and the first transfer axis is an indefinite axis whose coordinates are not uniquely determined with respect to the coordinates of the specific coordinate axis.
  • a second transfer shaft, and the plurality of transfer devices include a first transfer device that moves the transfer object along the first transfer axis, and the transfer object along the second transfer axis.
  • a second transfer device that moves the object, and an allowable acceleration of transfer of the transfer object along the second transfer axis by the second transfer device is along the first transfer axis by the first transfer device.
  • Permit transfer of transfer object A numerical control device that is provided in a machine tool lower than the acceleration and performs numerical control of each transfer device by outputting a command pulse for each specific cycle to each of the transfer devices, and is a processing that instructs processing of the workpiece
  • a storage unit that stores a program, and the machining program stored in the storage unit is read, and based on the read machining program, the movement of the tool at the time of machining the workpiece is measured in the workpiece coordinate system of the tool.
  • a tool path including a function represented by a position variable and a parametric variable that is an integrated length of a movement trajectory of the tool is obtained, and the second transfer device serves as a reference for moving the transfer object when the workpiece is processed.
  • a second transfer axis path interpolation unit that performs local interpolation for interpolating the second-order transfer axis path after the smooth interpolation so that the secondary differential value due to the variable becomes small, and the transfer object along each of the transfer axes Acceleration / deceleration conditions including an allowable acceleration of transfer of the transfer object for each transfer axis when moving the tool, a post-interpolation tool path that is a tool path after being interpolated by the tool path interpolation unit, and the second transfer Shaft
  • a parameter time function for obtaining a parameter time function representing a change in the parameter with respect to the elapse of a reference time based on a second transfer axis path after interpolation which is a second transfer axis path after the local interpolation by the
  • the pulse interpolation unit Based on the parametric time function obtained by the parametric variable time function deriving unit, the parametric variable at each time point for each unit time of the reference time is obtained and corresponds to the parametric variable at each obtained time point.
  • the position coordinate of the post-interpolation tool path in the work coordinate system and the position coordinate on the second transfer axis of the post-interpolation second transfer axis path corresponding to the parameter at each time point are obtained, and the obtained Based on a specific relational expression indicating the correlation between the position coordinates of the tool in the workpiece coordinate system and the position coordinates on each of the transfer axes, with the position coordinates on the second transfer axis as a constraint condition, Serial obtains the position coordinates on the respective transfer shaft corresponding to the position coordinates in the workpiece coordinate system of the interpolation after toolpath at each time point.
  • the second transfer axis path obtained from the machining program is interpolated, and the position coordinates on the second transfer axis indicated by the second transfer axis path after the interpolation are used as constraint conditions at each time point of the post-interpolation tool path.
  • the first and second transfer axes corresponding to the tool path The position coordinates at each time point can be obtained, and the corresponding transfer devices can be simultaneously controlled for all the transfer axes.
  • the slow movement of the second transfer device is allowed.
  • the second transfer device can quickly and increase without being controlled by the low allowable acceleration of the second transfer axis.
  • Accurate machining control can be realized.
  • the second transfer relating to the movement of the specific point on the second transfer shaft having a lower allowable acceleration than the allowable acceleration of the transfer of the transfer object on the first transfer shaft.
  • the second transfer axis path is set so that the speed change of the transfer object with respect to the second transfer axis becomes gradual.
  • the transfer about the second transfer axis While the movement of the object is slowed down and the acceleration of the movement is kept within a low allowable acceleration, the movement on the first transfer axis covers the amount of movement of the object to be moved with respect to the second transfer axis. Instructing the object to move quickly.
  • the first transfer device with good acceleration is controlled on the first transfer shaft so as to cover the poor acceleration of the second transfer device, that is, the control to compensate for the poor acceleration of the second transfer device. Control is performed to quickly transfer the object. For this reason, even if the acceleration performance of the second transfer device is extremely bad, it is possible to prevent the processing speed from being limited thereby, and it is possible to cause the machine tool to process the workpiece at a high speed. Further, in this numerical control apparatus, since the position coordinates of each time point on the second transfer axis of the second transfer axis path after interpolation are determined as the constraint conditions, the position coordinates of each time point on the other transfer axis are obtained.
  • the machining program stored in the storage unit indicates position coordinate information in the workpiece coordinate system of a command point through which the tool should pass during machining of the workpiece, and a transfer speed of the tool.
  • the path derivation unit reads the machining program stored in the storage unit
  • a tool path deriving unit that calculates the tool path based on the position coordinate information of the command point included in the read machining program and the tool transfer speed command, and the machining program stored in the storage unit. Based on the information on the position coordinates of the specific point on the second transfer axis and the tool transfer speed command included in the read machining program.
  • Feed shaft path may have a second transport axis path derivation unit for calculating a.
  • the machining program Since the second transfer axis path is obtained from the information on the position coordinates of the specific point on the included second transfer axis and the tool transfer speed command, it can be arbitrarily set on the second transfer axis at the stage of creating the machining program.
  • the movement of the object to be transferred can be specified. For this reason, at the stage of creating the machining program, it is possible to arbitrarily specify the operation of the transfer object on the second transfer shaft by the second transfer device with poor acceleration.
  • the machining program stored in the storage unit indicates position coordinate information in the workpiece coordinate system of a command point through which the tool should pass during machining of the workpiece, and a transfer speed of the tool.
  • the path deriving unit reads the machining program stored in the storage unit, information on the position coordinates of the command point included in the read machining program, the tool transfer speed command, And a second transfer axis path deriving unit for calculating the second transfer axis path based on a specific calculation rule from the tool path calculated by the tool path deriving unit. You may have.
  • the tool path deriving unit calculates the tool path from the machining program. Since the second transfer axis path automatically calculates the second transfer axis path from the tool path, it is not necessary to specify the locus of the position coordinates of the specific point on the second transfer axis in the machining program.
  • the machining program can be simplified.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

 数値制御装置は、基準時刻の単位時間毎の各時点での補間後ツールパスのワーク座標系における位置座標に対応した前記各時点での各移送軸上の位置座標を求め、その求めた各時点での各移送軸上の位置座標からそれらの移送軸についての前記単位時間毎の移送量を求めて、その求めた単位時間毎の移送量を特定周期毎の指令パルスとするパルス補間部を備え、パルス補間部は、媒介変数時間関数に基づいて前記各時点での媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する補間後ツールパスのワーク座標系における位置座標及び補間後第2移送軸パスの第2移送軸上での位置座標を求め、その求めた第2移送軸上での位置座標を拘束条件とし、ワーク座標系における工具の位置座標と各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点での補間後ツールパスのワーク座標系における位置座標に対応した各移送軸上の位置座標を求める。

Description

数値制御装置
 本発明は、数値制御装置に関するものである。
 従来、各種工作機械では、ワークやそのワークを加工するための工具を移送対象物としてその移送対象物を移送する移送装置を加工プログラム(NCプログラム)に従って数値制御することによりワークの加工が行われている。下記特許文献1には、そのような移送装置の数値制御を行う数値制御装置が開示されている。
 特許文献1に示された数値制御装置では、加工プログラムからワーク上に固定されたワーク座標系における工具の位置座標の変化を媒介変数の関数として表すツールパスを求めるとともに、そのツールパスから移送装置の各移送軸毎の移送軸パスを求め、その求めた各移送軸毎の移送軸パスに基づいて基準単位時間毎の各移送軸における移送対象物の移送量を求め、その求めた移送量のデータを指令パルスとして各移送軸に対応する移送装置のサーボモータへ出力することにより各移送装置の動作制御を行っている。また、この数値制御装置では、移送軸パスに応じた移送対象物の動きが滑らかになるように各移送軸パスの滑らか補間を行い、その滑らか補間後の移送軸パスからパルス補間により基準単位時間毎の各移送軸における移送対象物の移送量を求めている。
 また、特許文献1には、複数の移送装置の中に移送対象物を移送する移送軸が互いに平行となっている2つの移送装置を含む工作機械が示されている。この工作機械では、ツールパスが示す位置座標に対して互いに平行な移送軸の座標が一意的に定まらず、不定となる。このため、特許文献1では、ツールパスから運動学関係式を用いて各移送軸パスを求めるときに、平行な移送軸の関係を特定する何らかの拘束条件を加えることにより、ツールパスに対応する全ての移送軸パスを導出できるようにしている。この技術によれば、互いに平行な移送軸がある場合でも、全ての移送軸についての移送装置の同時制御が可能となる。また、特許文献1では、各移送軸での移送対象物の加速度がその移送軸についての許容加速度を超えないように全移送軸方向の速度の合成速度の上限値を求め、実際の合成速度がその求めた上限値を超えないように移送装置の制御を行っている。
 しかしながら、上記の技術では、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、ワークの加工速度及び加工精度が低下する虞がある。その理由は、以下の通りである。
 不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い場合には、その移送軸についての許容加速度を極端に低い値に設定せざるを得ず、それに伴って、各時点における上記全移送軸方向の速度の合成速度をこの移送軸の低い許容加速度に応じた低い速度に制限せざるを得なくなる。このため、工作機械におけるワークの加工速度が低下する。
 また、移送軸パスの滑らか補間を行うと、その移送軸パスについて位置誤差が生じるが、ツールパスが示す位置座標に対して不定となっている各移送軸は、ワーク座標系の特定の座標軸成分を共通して含んでいるため、不定となっている各移送軸の移送軸パスに滑らか補間によって生じた位置誤差は、その特定の座標軸に重なって作用する。その結果、その座標軸における誤差が増大して工作機械におけるワークの加工精度が低下する虞がある。
特開2008-225825号公報
 本発明の目的は、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、全ての移送軸についての移送装置の同時制御を行なえるようにしつつ、高速かつ高い加工精度でのワークの加工を実施できるようにすることである。
 本発明の一局面に従う数値制御装置は、ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために複数の移送軸に沿って動かす複数の移送装置を備え、前記複数の移送軸には、前記ワーク上に設定されたワーク座標系における特定の座標軸成分を含み、その特定の座標軸の座標に対して一意的に座標が定まらない不定軸である第1移送軸と第2移送軸とが含まれ、前記複数の移送装置には、前記移送対象物を前記第1移送軸に沿って動かす第1移送装置と、前記移送対象物を前記第2移送軸に沿って動かす第2移送装置とが含まれ、前記第2移送装置による前記第2移送軸に沿った前記移送対象物の移送の許容加速度が前記第1移送装置による前記第1移送軸に沿った前記移送対象物の移送の許容加速度よりも低い工作機械に設けられ、前記各移送装置に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、前記ワークの加工を指示する加工プログラムを記憶する記憶部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに基づいて、前記ワークの加工時における前記工具の動きをその工具の前記ワーク座標系での位置座標とその工具の移動の軌跡の積算長である媒介変数とによって表す関数を含むツールパスを求めるとともに、前記ワークの加工時に前記第2移送装置が前記移送対象物を動かす基準となる前記第2移送軸上での特定点の動きをその第2移送軸上の位置座標と前記媒介変数との関数によって表した第2移送軸パスを求めるパス導出部と、前記パス導出部によって求められた前記ツールパスをそのツールパスが表す前記工具の動きが滑らかになるように補間するツールパス補間部と、前記パス導出部によって求められた前記第2移送軸パスをその第2移送軸パスが表す前記第2移送軸上での前記特定点の動きが滑らかになるように補間する滑らか補間と、その滑らか補間後の第2移送軸パスの前記媒介変数による二次微分値が小さくなるように当該滑らか補間後の第2位移送軸パスを補間する局部補間とを行う第2移送軸パス補間部と、前記各移送軸に沿って前記移送対象物を動かすときのその移送軸毎の前記移送対象物の移送の許容加速度を含む加減速条件と、前記ツールパス補間部によって補間された後のツールパスである補間後ツールパスと、前記第2移送軸パス補間部による前記局部補間後の第2移送軸パスである補間後第2移送軸パスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、前記基準時刻の単位時間毎の各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各時点での前記各移送軸上の位置座標を求め、その求めた前記各時点での前記各移送軸上の位置座標からそれらの移送軸についての前記移送対象物の前記単位時間毎の移送量を求めて、その求めた単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、前記各移送装置に対して、前記パルス補間部によって求められた前記各移送軸についての前記特定周期毎の前記指令パルスのうちその移送装置に対応する前記移送軸についての前記指令パルスを出力し、その各移送装置に出力した当該指令パルスに応じて前記各移送装置に前記移送対象物を動かさせる制御部とを備え、前記パルス補間部は、前記媒介変数時間関数導出部によって求められた前記媒介変数時間関数に基づいて前記基準時刻の単位時間毎の各時点での前記媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する前記補間後ツールパスの前記ワーク座標系における位置座標及びその各時点での媒介変数に対応する前記補間後第2移送軸パスの前記第2移送軸上での位置座標を求め、その求めた前記第2移送軸上での位置座標を拘束条件とし、前記ワーク座標系における前記工具の位置座標と前記各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各移送軸上の位置座標を求める。
本発明の一実施形態による数値制御装置が適用される工作機械の概略的な斜視図である。 本発明の一実施形態による数値制御装置の構成を示す機能ブロック図である。 本発明の一実施形態の数値制御装置による数値制御プロセスを示すフローチャートである。 図3に示した数値制御プロセスのうちの局部補間の詳細なプロセスを示すフローチャートである。 図3に示した数値制御プロセスのうちの基準時刻の導出、パルス補間及び移送部へのパルス出力の詳細なプロセスを示すフローチャートである。 本発明の一実施形態における分配区間幅の算出方法を説明するための図である。 W軸パスのうち局部補間の対象となるコーナー部を示す模式図である。 W軸パスのうち局部補間の対象となる異常データ部を示す模式図である。 補間ブロックの区間幅が補間区間幅よりも大きい場合を示す図である。 補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。 補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。 媒介変数時間関数を導出するための階段状速度曲線と加減速曲線を示す図である。 目標点に達する前に速度が速度上限値に達する場合の速度曲線の一例を示す図である。 目標点に達する前に速度が速度上限値に達する場合の速度曲線の別の例を示す図である。 許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の一例を示す図である。 許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の別の例を示す図である。 許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線のさらに別の例を示す図である。 目標点に対応する媒介変数に達しても速度が速度上限値まで上昇しない場合の速度曲線の一例を示す図である。 目標点に達するまでに速度が速度上限値を超えてしまう場合の速度曲線の一例を示す図である。 本発明の一実施形態の変形例による数値制御装置が適用される工作機械の概略的な斜視図である。 本発明の一実施形態の変形例による数値制御装置の構成を示す機能ブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 まず、図1及び図2を参照して、本発明の一実施形態による数値制御装置2が適用される工作機械の構成について説明する。
 この工作機械は、門型の工作機械であり、テーブル102b上にセットされた被加工物としてのワーク100上で工具106をワーク座標系で表されたツールパスに沿って移動させながらその工具106によってワーク100の切削加工を行うものである。なお、前記ワーク座標系は、テーブル102b上にセットされたワーク100上に設定されるものであり、水平面内におけるテーブル102bの移送方向に平行なx軸と、水平面内においてx軸に直交するy軸と、それらx軸及びy軸の両方に直交し、鉛直方向に延びるz軸とからなる。
 この工作機械は、図1に示すように、ワーク移送装置102と、2本のコラム104と、工具106と、主軸ヘッド108と、揺動装置110と、回動装置112と、第1鉛直移送装置114と、水平移送装置116と、第2鉛直移送装置118と、制御ボックス120とを備えている。なお、ワーク移送装置102、揺動装置110、回動装置112、第1鉛直移送装置114、水平移送装置116及び第2鉛直移送装置118は、ワーク100又は工具106を移送対象物としてその移送対象物をワーク100を加工するために複数の移送軸に沿って動かすものであり、それぞれ、本発明の移送装置の概念に含まれるものである。
 ワーク移送装置102は、ワーク100を水平面内において特定方向に延びるX軸に沿って移送するものである。なお、X軸は、本発明の移送軸の概念に含まれるものである。このワーク移送装置102は、ベッド102aと、テーブル102bと、テーブル移送部102c(図2参照)とを有する。ベッド102aは、所定の設置場所に設置されており、テーブル102bは、X軸に沿って移動可能となるようにベッド102a上に搭載されている。テーブル102bは、その上にセットされたワーク100を下から支持する。テーブル移送部102cは、ベッド102aに設けられており、テーブル102bをX軸に沿って移送することにより、そのテーブル102b上にセットされたワーク100をX軸に沿って移送する。このテーブル移送部102cは、駆動源として図略のサーボモータを有しており、そのモータの動力によりテーブル102bを移送する。
 2つのコラム104は、テーブル102bの移動方向(X軸方向)に直交するワーク移送装置102の幅方向においてそのワーク移送装置102の両側に分かれて立設されている。各コラム104は、鉛直方向(後述するW軸方向)に延びている。
 工具106は、ワーク100を切削加工するためのものであり、主軸ヘッド108によって保持される。主軸ヘッド108は、保持した工具106をその軸回りに回転させる。この主軸ヘッド108によって回転させられた工具106がワーク100に当接することによってワーク100の加工が行われる。
 揺動装置110は、水平軸回りのA軸に沿って工具106を揺動させるためのものである。なお、A軸は、本発明の移送軸の概念に含まれるものである。この揺動装置110は、揺動支持体110aと、揺動支持体移送部110b(図2参照)とを有する。揺動支持体110aは、水平軸回りに揺動可能となるように回動装置112に支持されている。また、揺動支持体110aは、主軸ヘッド108による工具の回転軸が当該揺動支持体110aの揺動中心である水平軸に対して直交するようにその主軸ヘッド108を支持している。揺動支持体移送部110bは、揺動支持体110aをA軸に沿って揺動させることにより、当該揺動支持体110aとともにその揺動支持体110aが支持する主軸ヘッド108及び工具106をA軸に沿って揺動させる。揺動支持体移送部110bは、駆動源として図略のサーボモータを有しており、そのモータの動力により揺動支持体110aを揺動させる。
 回動装置112は、鉛直軸回りのC軸に沿って工具106を回動させるためのものである。なお、C軸は、本発明の移送軸の概念に含まれるものである。この回動装置112は、回動支持体112aと、回動支持体移送部112b(図2参照)とを有する。回動支持体112aは、鉛直軸回りに回転可能となるように第1鉛直移送装置114に支持されている。また、回動支持体112aは、その下部において揺動装置110を支持している。回動支持体移送部112bは、回動支持体112aをC軸に沿って回動させることにより、当該回動支持体112aとともにその回動支持体112aが支持する揺動装置110、主軸ヘッド108及び工具106をC軸に沿って回動させる。回動支持体移送部112bは、駆動源として図略のサーボモータを有しており、そのモータの動力により回動支持体112aを回動させる。
 第1鉛直移送装置114は、X軸に直交し、鉛直方向に延びるZ軸に沿って工具106を移送するためのものである。なお、第1鉛直移送装置114は、本発明の第1移送装置の概念に含まれるものであり、Z軸は、本発明の第1移送軸の概念に含まれるものである。この第1鉛直移送装置114は、ラム114a(第1鉛直支持体)と、ラム移送部114b(図2参照)とを有する。ラム114aは、テーブル102bの上方に配置され、Z軸に沿って鉛直方向(上下方向)に移動可能となるように水平移送装置116に支持されている。また、ラム114aは、その下部によりテーブル102bよりも上方で且つ後述のクロスレール118aよりも下方の位置において回動装置112を支持している。ラム移送部114bは、ラム114aをZ軸に沿って移送することにより、当該ラム114aとともにそのラム114aが支持する回動装置112、揺動装置110、主軸ヘッド108及び工具106をZ軸に沿って移送する。ラム移送部114bは、駆動源として図略のサーボモータを有しており、そのモータの動力によりラム114aを移送する。
 水平移送装置116は、X軸とZ軸の両方に直交するY軸に沿って工具106を移送するためのものである。なお、Y軸は、本発明の移送軸の概念に含まれるものである。この水平移送装置116は、サドル116a(水平支持体)と、サドル移送部116b(図2参照)とを有する。サドル116aは、テーブル102bの上方でY軸に沿って移動可能となるように第2鉛直移送装置118に支持されている。すなわち、サドル116aは、テーブル102bの上方においてテーブル102bを幅方向に横切るように移動可能となっている。また、サドル116aは、その下部により第1鉛直移送装置114を支持している。サドル移送部116bは、サドル116aをY軸に沿って移送することにより、当該サドル116aとともにそのサドル116aが支持する第1鉛直移送装置114、回動装置112、揺動装置110、主軸ヘッド108及び工具106をY軸に沿って移送する。サドル移送部116bは、駆動源として図略のサーボモータを有しており、そのモータの動力によりサドル116aを移送する。
 第2鉛直移送装置118は、Z軸と平行なW軸に沿って鉛直方向に工具106を移送するためのものである。なお、第2鉛直移送装置118は、本発明の第2移送装置の概念に含まれるものであり、W軸は、本発明の第2移送軸の概念に含まれるものである。また、W軸及び前記Z軸は、共にワーク座標系のz軸と平行な移送軸であり、それらW軸及びZ軸の位置座標は、共通の座標軸成分であるz軸座標成分を含む。このため、W軸及びZ軸は、ワーク座標系のz軸の座標に対して一意的に座標が定まらない不定軸となっている。
 第2鉛直移送装置118は、クロスレール118a(第2鉛直支持体)と、クロスレール移送部118b(図2参照)とを有する。クロスレール118aは、テーブル102bの上方に配置され、テーブル102bの幅方向(Y軸方向)に延びる姿勢をとるように前記2本のコラム104に掛け渡されている。このクロスレール118aは、コラム104の前面で支持されている。また、クロスレール118aは、W軸に沿って鉛直方向(上下方向)に移動可能となるようにコラム104によって支持されている。また、クロスレール118aは、水平移送装置116を支持している。
 クロスレール移送部118bは、クロスレール118aをW軸に沿って移送することにより、当該クロスレール118aとともにそのクロスレール118aが支持する水平移送装置116、第1鉛直移送装置114、回動装置112、揺動装置110、主軸ヘッド108及び工具106をW軸に沿って移送する。具体的には、クロスレール移送部118bは、クロスレール118aに設けられた図略のサーボモータと、各コラム104にそれぞれ沿うように付設された図略のボールねじと、それら2本のボールねじが同期して回転するように前記サーボモータの動力を各ボールねじに伝達する図略の伝達機構とを有している。各ボールねじは、クロスレール118aの長手方向(Y軸方向)の対応する端部と螺合しており、そのボールねじの軸回りの回転に応じてクロスレール118aがW軸方向に移送される。
 また、第2鉛直移送装置118は、全ての移送装置の中で最も加速性の悪い移送装置であり、その加速性は、他の移送装置102,110,112,114,116の加速性に比べて極端に悪い。すなわち、この第2鉛直移送装置118について設定されるW軸についての工具106(クロスレール118a)の移送の許容加速度は、他の移送装置102,110,112,114,116について設定される対応する移送軸についての移送対象物の移送の許容加速度に比べて極端に低い値となる。この第2鉛直移送装置118による工具106の移送の加速性の悪さは、当該第2鉛直移送装置118においてクロスレール移送部118bが移送するクロスレール118aとその上に搭載された水平移送装置116、第1鉛直移送装置114、回動装置112、揺動装置110、主軸ヘッド108及び工具106との合計重量が非常に大きいことに起因している。
 制御ボックス120は、ワーク移送装置102、揺動装置110、回動装置112、第1鉛直移送装置114、水平移送装置116及び第2鉛直移送装置118の動作制御や、主軸ヘッド108の動作制御、その他、工作機械の各部の制御を行うための機能を有する。この制御ボックス120内に本実施形態による数値制御装置2が組み込まれている。
 次に、本実施形態による数値制御装置2の構成について説明する。
 本実施形態による数値制御装置2は、前記各移送装置102,110,112,114,116,118の移送部102c,110b,112b,114b,116b,118bに特定周期毎の指令パルスを出力することにより各移送装置102,110,112,114,116,118の数値制御を行う。この数値制御装置2は、図2に示すように、記憶部4と、メモリ5と、演算処理部6とを有する。
 なお、本実施形態では、工具106の動きを、工具106の先端の軌跡と工具106の姿勢変化の軌跡とからなるツールパスと、ツールパス上の各位置に対応するW軸の位置座標の軌跡であるW軸パスとで指令することによって、工具106の動きとそれに対応する各移送軸上の位置座標の動きを確定させる。このように、工具106の動きをツールパスと併せてW軸パスで指令することによって、互いに平行な移送軸であるZ軸とW軸の移送軸座標が無数に存在するという不定問題を解消することが可能である。
 記憶部4は、ワーク100の加工を指示する加工指令である加工プログラム(NCプログラム)を記憶するものである。この加工プログラムには、ワーク100の加工時に工具106の先端が通るべきワーク座標系(xyz軸座標系)での位置座標及びそのワーク座標系において工具106の姿勢(傾き)を規定する工具軸ベクトルからなる多数の指令点の情報と、その各指令点に対応するW軸上の特定点の座標の情報と、工具106の移送速度を示す工具移送速度指令とが含まれている。なお、W軸上の特定点は、ワーク100の加工時に第2鉛直移送装置118がクロスレール118aを動かして工具106をW軸に沿って動かす基準となる点である。このW軸上の各特定点の座標は、加工プログラムの作成時にその作成者が任意に指定するものである。
 また、記憶部4は、ワーク100の加工時の加減速条件やその他の設定値を記憶する。加減速条件には、例えば、前記各移送軸毎に設定される移送対象物の許容速度、許容加速度及び許容ジャーク、工具106の姿勢変化を含む移動量の積算値である媒介変数の速度の上限値や、媒介変数の加速度の上限値、媒介変数のジャークの上限値などが含まれる。なお、媒介変数は、工具106の先端点の移動量に工具106の姿勢(傾き)の変化量を加味した値の積算値であり、具体的には、本実施形態では、工具106の先端点の移動量とその先端点から工具106の軸心に沿って当該工具106の基端側へ一定距離だけ離れた点の移動量との平均値からなる。また、前記その他の設定値には、W軸パスの二次微分上限値などが含まれる。また、記憶部4は、ツールパス(工具106の先端点のワーク座標系における各座標軸上の座標の軌跡及び工具106の姿勢を表すA軸上及びC軸上の座標の軌跡)とW軸パスのW軸上の座標の軌跡のそれぞれについて設定する二次微分値不連続箇所用の分配区間幅テーブルと二次微分上限値超過箇所用の分配区間幅テーブルとを記憶している。二次微分値不連続箇所用の分配区間幅テーブルは、各移送軸パスのうち媒介変数による一次微分値が連続で、二次微分値が不連続になっている箇所の一次微分値を分配する分配区間幅が、その箇所の二次微分値の差の複数の値毎に登録されたものである。また、二次微分上限値超過箇所用の分配区間幅テーブルは、各移送軸パスのうち媒介変数による二次微分値が二次微分値上限値を超えた箇所の一次微分値を分配する分配区間幅が、その箇所の二次微分値の複数の値毎に登録されたものである。
 メモリ5は、各種情報を一次的に記憶するものであり、例えば、後述する補間後積算関数やその他の情報を記憶する。
 演算処理部6は、各種演算処理を行うものであり、機能ブロックとして、パス導出部12と、パス補間部14と、媒介変数時間関数導出部18と、パルス補間部22と、制御部24とを有する。
 パス導出部12は、記憶部4に記憶された加工プログラムを読み取り、その読み取った加工プログラムからツールパス及びW軸パスを求める。ツールパスは、ワークの加工時における工具106の動きを工具106のワーク座標系での位置座標と前記媒介変数とによって表す関数を含み、具体的には、ツールパスは、ワーク100の加工時における工具106の先端点の動きをその先端点のワーク座標系での位置座標と前記媒介変数とによって表す関数(x軸パス、y軸パス及びz軸パス)及びワーク100の加工時における工具106の姿勢変化をA軸上の位置座標及びC軸上の位置座標と前記媒介変数とによって表す関数(A軸パス及びC軸パス)からなる。また、W軸パスは、ツールパス上の各位置に対応するW軸上の特定点の動きをその特定点のW軸上の位置座標と前記媒介変数の関数によって表したものである。なお、W軸パスは、本発明の第2移送軸パスの概念に含まれるものである。
 パス導出部12は、機能ブロックとしてツールパス導出部32と移送軸パス導出部34とを有している。なお、移送軸パス導出部34は、本発明の第2移送軸パス導出部の概念に含まれるものである。ツールパス導出部32は、記憶部4から読み取った加工プログラムに含まれる工具106の先端の位置座標及び工具軸ベクトルからなる指令点の情報と工具移送速度指令に基づいてツールパスを求める。また、移送軸パス導出部34は、記憶部4から読み取った加工プログラムに含まれるW軸上の特定点の座標の情報と工具移送速度指令に基づいてW軸パスを求める。
 パス補間部14は、パス導出部12によって導出されたツールパス及びW軸パスをそれぞれ補間する。このパス補間部14は、機能ブロックとして、ツールパスを補間するツールパス補間部15と、W軸パスを補間する移送軸パス補間部16とを有する。
 ツールパス補間部15は、ツールパス導出部32によって導出されたツールパスをそのツールパスが表す工具106の動きが滑らかになるように補間する滑らか補間を行い、ツールパスに媒介変数による二次微分値が不連続になっている箇所がある場合には、その箇所の二次微分値が連続になるように補間する局部補間を行う。このツールパス補間部15は、機能ブロックとしてツールパス滑らか補間部15aとツールパス局部フィルタ15bとを有する。
 ツールパス滑らか補間部15aは、ツールパス導出部32によって導出されたツールパスを構成する、工具106の先端点のワーク座標系における各座標軸パス(x軸パス、y軸パス及びz軸パス)、前記A軸パス及び前記C軸パスのそれぞれについて前記滑らか補間を行うものである。具体的には、このツールパス滑らか補間部15aは、ツールパス導出部32によって導出されたツールパスのうち解析的に可能な範囲で指令点を通る滑らかな曲線となるように補間できる部分について、その補間を行う。このツールパス滑らか補間部15aが行う補間は、いわゆるブロック滑らか補間であり、ツールパスのうちの隣り合う指令点間の区間を指令ブロックとしてその指令ブロックと隣接する指令ブロックとがそれらの境界の指令点において滑らかに繋がるように補間するものである。詳しくは、ツールパス滑らか補間部15aは、ツールパス導出部32によって導出されたツールパスを、隣接する指令ブロックの境界の指令点の前後において媒介変数による一次微分値と二次微分値がそれぞれ連続し、かつ、その指令点を通るようなツールパスとなるように補間する。ただし、ツールパスには、媒介変数の変化に対するツールパスの軌跡の変化が急激で、このようなブロック滑らか補間によってはその軌跡の指令点を通る滑らかな曲線となるように補間できない箇所が含まれている場合がある。このような箇所としては、微小単位で増減を繰り返す異常データ部や、加工プログラムにおいて意図して指示されているコーナー部がある。また、ツールパスには、二次微分が不連続であっても、直線と円弧の接点部や、円と円の接点部などのように、当該ツールパス滑らか補間部15aでは補間せずにそのまま放置する箇所もある。ツールパス滑らか補間部15aは、ツールパスのうち以上のような箇所については補間せずに元のツールパスのまま残し、上記のように指令点を通り、その指令点の前後で媒介変数による一次微分値と二次微分値とがそれぞれ連続するような曲線に補間できる部分を滑らか補間する。
 ツールパス局部フィルタ15bは、ツールパス(x軸パス、y軸パス、z軸パス、A軸パス及びC軸パス)のうちツールパス滑らか補間部15aによって補間されなかった箇所で、且つ、その箇所が示す速度(媒介変数による一次微分値)が0にならない箇所を対象として前記局部補間を行うものである。具体的には、このツールパス局部フィルタ15bは、ツールパスのうち媒介変数による一次微分値または二次微分値が不連続になっている指令点を補間対象点とする。そして、ツールパス局部フィルタ15bは、ツールパスのうち補間対象点の前後に特定の区間幅ずつ加えた区間である補間区間を当該補間対象点で二次微分値が連続となるように局部補間する。
 また、ツールパス局部フィルタ15bは、ツールパス局部補間部15c及びツールパス誤差補正部15dを機能ブロックとして有している。
 ツールパス局部補間部15cは、ツールパスの補間区間を前後に拡大した調整区間にかかる複数の補間ブロックのそれぞれについて補間処理を行うことにより各補間ブロックの補間後関数を求めるとともに、それらの補間後関数を積算して補間後積算関数を求め、その求めた補間後積算関数から補間区間に相当する区間を抜き出すことによって、補間区間内の補間対象点において不連続となっている微分の変化が連続的な変化となるように補間したツールパスの誤差付き補間パスを求める。また、ツールパス誤差補正部15dは、ツールパス局部補間部15cによって求められたツールパスの誤差付き補間パスの補間区間の始点に対応する値が局部補間していないツールパスの補間区間の始点の値と一致し、かつ、そのツールパス誤差付き補間パスの補間区間の終点に対応する値が局部補間していないツールパスの補間区間の終点の値に一致するように当該誤差付き補間パスを補正し、その補正後の補間パスをツールパスの補間区間と置換する。
 移送軸パス補間部16は、移送軸パス導出部34によって導出されたW軸パスをそのパスが表すW軸上の特定点の座標の動きが滑らかになるように補間する滑らか補間と、その滑らか補間後のW軸パスを当該W軸パスの媒介変数による二次微分値が小さくなるように補間し、その滑らか補間後のW軸パスに媒介変数による二次微分値が不連続になっている箇所がある場合には、その箇所の二次微分値が連続になるように補間する局部補間とを行う。この移送軸パス補間部16は、本発明の第2移送軸パス補間部の概念に含まれるものである。移送軸パス補間部16は、機能ブロックとして移送軸パス滑らか補間部16aと移送軸パス局部フィルタ16bとを有する。
 移送軸パス滑らか補間部16aは、移送軸パス導出部34によって導出されたW軸パスについて滑らか補間を行うものである。この移送軸パス滑らか補間部16aは、前記ツールパス滑らか補間部15aがツールパスについて行う滑らか補間と同様のブロック滑らか補間をW軸パスについて行う。
 移送軸パス局部フィルタ16bは、移送軸パス導出部34によって導出されたW軸パスのうち移送軸パス滑らか補間部16aによって補間されなかった箇所と、そのW軸パスのうち媒介変数による二次微分値がW軸について設定された二次微分上限値を上回っている箇所とを対象として局部補間を行う。具体的には、この移送軸パス局部フィルタ16bは、W軸パスのうち媒介変数による二次微分値が不連続になっている指令点と、媒介変数による二次微分値が前記二次微分上限値を上回っている指令点とを補間対象点とする。そして、移送軸パス局部フィルタ16bは、W軸パスのうち補間対象点の前後に特定の区間幅ずつ加えた区間である補間区間において、その補間区間内の補間対象点で媒介変数による二次微分値が前記二次微分上限値を上回っている場合にはその二次微分値が前記二次微分上限値以下となるように当該補間区間を局部補間し、その補間区間内の補間対象点で媒介変数による二次微分値が不連続になっている場合にはその補間対象点で媒介変数による二次微分値が連続となるように当該補間区間を局部補間する。なお、二次微分値が不連続になっている補間対象点についての補間区間は、前記二次微分値不連続箇所用の分配区間幅テーブルに基づいて設定される区間幅を補間対象点の前後に加えて得られる区間であり、二次微分値が二次微分上限値を上回っている補間対象点についての補間区間は、前記二次微分上限値超過箇所用の分配区間幅テーブルに基づいて設定される区間幅を補間対象点の前後に加えて得られる区間である。
 媒介変数による二次微分値が不連続になっている箇所の一例としては、例えばW軸パスについて示されている図8中のコーナー部や図9中の異常データ部が挙げられる。コーナー部の頂点に位置する指令点(図8のt[3])や異常データ部の各頂点に位置する各指令点(図9のt[2]~t[6])では、媒介変数による一次微分値及び二次微分値が不連続になっており、これらの指令点は補間対象点となる。また、移送軸パス局部フィルタ16bは、W軸パスに補間対象点が複数存在し、隣り合う補間対象点の補間区間同士が重複している場合には、それら重複している補間区間のうち最もW軸パスの始点寄りに位置する補間区間の始点から最もW軸パスの終点寄りに位置する補間区間の終点までを1つの補間区間として、その補間区間内のW軸パスを局部補間する。また、移送軸パス局部フィルタ16bは、局部補間後のW軸パスが各補間区間(隣り合う補間区間同士が重複している場合はそれらを結合した補間区間)の始点の前後及び終点の前後でそれぞれ連続して繋がるようにその補間区間を局部補間する。
 移送軸パス局部フィルタ16bの具体的な構成として、当該移送軸パス局部フィルタ16bは、移送軸パス局部補間部16c及び移送軸パス誤差補正部16dを機能ブロックとして有している。
 移送軸パス局部補間部16cは、W軸パスの補間区間を前後に拡大した調整区間にかかる複数の補間ブロックのそれぞれについて補間処理を行うことによって各補間ブロックの補間後関数を求めるとともに、それらの補間後関数を積算して補間後積算関数を求め、その求めた補間後積算関数から補間区間に相当する区間を抜き出すことによって、補間区間内の補間対象点において媒介変数による二次微分値が不連続になっていた場合にはその二次微分値が連続となり、補間区間内の補間対象点において媒介変数による二次微分値が前記上限値を超えていた場合にはその二次微分値が前記二次微分上限値以下となるように補間したW軸パスの誤差付き補間パスを求める。また、移送軸パス誤差補正部16dは、移送軸パス局部補間部16cによって求められた誤差付き補間パスの補間区間の始点に対応する値が局部補間していないW軸パスの補間区間の始点の値と一致し、かつ、その誤差付き補間パスの補間区間の終点に対応する値が局部補間していないW軸パスの補間区間の終点の値に一致するように誤差付き補間パスを補正し、その補正後の補間パスをW軸パスの補間区間と置換する。この移送軸パス局部フィルタ16bの移送軸パス局部補間部16cと移送軸パス誤差補正部16dとによる局部補間の詳細なプロセスについては、後述する。
 媒介変数時間関数導出部18は、各移送軸に沿って移送対象物を動かすときのその移送軸毎の許容加速度を含む加減速条件と、ツールパス補間部15によって補間された後のツールパスである補間後ツールパスと、移送軸パス補間部16によって補間された後のW軸パスである補間後W軸パスとに基づいて、移送対象物の各移送軸毎の加速度が加減速条件に含まれたその移送軸についての許容加速度を超えないという条件を満たすように、特定の基準時刻の経過に対する媒介変数の変化を表す媒介変数時間関数(媒介変数の速度曲線)を求める。具体的には、媒介変数時間関数導出部18は、前記加減速条件に含まれる許容加速度の範囲内で前記補間後ツールパス及び前記補間後W軸パスに従って移送対象物を移動させ得る最大の加速度を示すような媒介変数時間関数を導出する。なお、補間後W軸パスは、本発明の補間後第2移送軸パスの概念に含まれるものである。
 パルス補間部22は、媒介変数時間関数導出部18によって求められた媒介変数時間関数と、前記補間後ツールパスと、前記補間後W軸パスとに基づいて、前記特定周期毎の指令パルスを求めるものである。このパルス補間部22は、基準時刻の単位時間毎の各時点に対応する媒介変数の導出、その導出した各時点の媒介変数に応じた補間後ツールパスの各座標軸(x軸、y軸、z軸、A軸及びC軸)上の位置座標及び補間後W軸パスのW軸上の位置座標の導出、導出した各時点における補間後ツールパスの各座標軸上の位置座標及び補間後W軸パスのW軸上の位置座標に基づく各移送軸(X軸、Y軸、Z軸、W軸、A軸及びC軸)上の前記各時点での位置座標の導出、及び、実時刻の単位時間当たりの各移送軸の位置座標の変化量(各移送軸についての移送対象物の単位時間毎の移送量)を示す指令パルスの導出を行う。なお、実時刻とは、前記特定周期に等しい単位時間毎に進行する時刻のことである。
 具体的には、パルス補間部22は、媒介変数時間関数導出部18によって導出された媒介変数時間関数から基準時刻の基準単位時間毎の各時点に対応する媒介変数を求める。また、パルス補間部22は、その求めた各時点での媒介変数に対応する前記補間後ツールパスの各座標軸上の位置座標と、その各時点の媒介変数に対応する前記補間後W軸パスのW軸上での位置座標とを求める。また、パルス補間部22は、求めた各時点のW軸上での位置座標を拘束条件とし、ワーク座標系における工具106の姿勢を含む位置座標(x軸、y軸、z軸、A軸及びC軸の各座標)と各移送軸上の位置座標との相関関係を示す関係式に基づいて、前記各時点での媒介変数に対応する補間後ツールパスの各座標軸上の位置座標に対応した各移送軸上の位置座標を求める。また、パルス補間部22は、求めた各時点における各移送軸上の位置座標からそれらの移送軸上での位置座標の基準単位時間当たりの変化量を求め、その変化量を対応する移送軸についての移送対象物の基準単位時間毎の移送量とする。そして、パルス補間部22は、このように求めた各移送軸についての移送対象物の基準単位時間毎の移送量を実時刻の単位時間毎(前記特定周期毎)の指令パルスとする。
 制御部24は、各移送装置102,110,112,114,116,118の移送部102c,110b,112b,114b,116b,118bの動作を制御するものである。制御部24は、各移送部102c,110b,112b,114b,116b,118bのサーボモータに対して、パルス補間部22によって求められた特定周期毎の指令パルスのうちその移送部に対応する移送軸についての移送量を示す指令パルスを出力し、それによって、各移送装置102,110,112,114,116,118に出力した指令パルスに応じて移送対象物を動かさせる。これにより、テーブル移送部102cはテーブル102bを、揺動支持体移送部110bは揺動支持体110aを、回動支持体移送部112bは回動支持体112aを、ラム移送部114bはラム114aを、サドル移送部116bはサドル116aを、クロスレール移送部118bはクロスレール118aを、それぞれ対応する移送軸に沿って制御部24からの指令パルスが示す移送量ずつ前記特定周期毎に移送する。
 次に、図3~図5のフローチャートを参照して、ワーク100の加工時における本実施形態の数値制御装置2による数値制御プロセスについて説明する。
 まず、パス導出部12が記憶部4に記憶された加工プログラム(NCプログラム)を読み取り(図3のステップS1)、その読み取った加工プログラムからパス導出部12がツールパスとW軸パスを導出する(ステップS2)。このとき、パス導出部12のツールパス導出部32が、記憶部4から読み取った加工プログラムに含まれる工具106の先端点の位置座標及び工具軸ベクトルからなる多数の指令点の情報と工具移送速度指令とに基づいてツールパス(工具106の先端点の軌跡を表すx軸パス、y軸パス及びz軸パスと、工具106の姿勢変化を表すA軸パス及びC軸パス)を導出し、パス導出部12の移送軸パス導出部34が、記憶部4から読み取った加工プログラムに含まれるW軸上の特定点の座標の情報と工具移送速度指令とに基づいてW軸パスを導出する。なお、本実施形態の数値制御プロセスでは、工作機械に工具106の姿勢を変化させずにワーク100の加工を行わせるものとする。このため、記憶部4には、ワーク座標系(x,y,z)における工具軸ベクトルとして一定値(0,0,1)を記憶させておく。その結果、ツールパス導出部32は、ツールパスを構成するA軸パス及びC軸パスとして共に一定値0を導出する。従って、本実施形態の以下のプロセスでは、特に記載していない場合には、ツールパスに関する処理についてはx軸、y軸及びz軸についてのみ実施し、各移送軸パス及び各移送軸に関する処理についてはX軸、Y軸、Z軸及びW軸についてのみ実施し、A軸及びC軸については処理を行わない。
 次に、ツールパス滑らか補間部15aがツールパス導出部32によって導出されたツールパスについてブロック滑らか補間を行うとともに、移送軸パス滑らか補間部16aが移送軸パス導出部34によって導出されたW軸パスについてブロック滑らか補間を行う(ステップS3)。
 具体的には、ツールパス滑らか補間部15aは、ツールパス(工具106の先端点のx軸パス、y軸パス及びz軸パス)のうち隣接する指令ブロック同士の境界に位置する指令点の前後において一次微分と二次微分がそれぞれ連続し、かつ、その指令点を補間後のツールパスが通るようにツールパスを補間する。この際、ツールパス滑らか補間部15aは、ツールパスのうちこのような補間が解析的に可能な部分についてのみブロック滑らか補間を行い、このような補間が解析的に不可能な部分については補間せずに元のツールパスのまま残す。詳しくは、ツールパス滑らか補間部15aは、指令点におけるツールパスの折れ曲がりの角度が予め設定された一定角度よりも大きい部分、及び、補間前のツールパスに対してブロック滑らか補間を行った後のツールパスに生じた誤差が予め設定された許容誤差よりも大きくなる部分については、補間せずに元のツールパスのまま残す。また、移送軸パス滑らか補間部16aは、ツールパス滑らか補間部15aがツールパスについて行ったのと同様のブロック滑らか補間をW軸パスについて行う。
 次に、ツールパス局部フィルタ15bがブロック滑らか補間後のツールパスについて局部補間を行うとともに、移送軸パス局部フィルタ16bがブロック滑らか補間後のW軸パスについて局部補間を行う(ステップS4)。このツールパス局部フィルタ15bによる局部補間と移送軸パス局部フィルタ16bによる局部補間は、対象が異なる以外は同様に行われるので、以下、移送軸パス局部フィルタ16bによるW軸パスの局部補間のプロセスについて代表して説明する。
 移送軸パス局部フィルタ16bは、滑らか補間後のW軸パスのうち媒介変数による二次微分値が予め設定された前記二次微分値上限値を上回る箇所と、媒介変数による二次微分値が不連続になっている箇所(一次微分値と二次微分値の両方が不連続になっている箇所及び一次微分値が連続で二次微分値が不連続になっている箇所)とを補間対象箇所とし、滑らか補間後のW軸パスのうちその補間対象箇所を前後に特定の区間幅ずつ拡大した補間区間のみを局部補間する。これにより、滑らか補間後のW軸パスにおいて媒介変数による二次微分値が二次微分値上限値を上回る箇所があった場合には、その箇所の二次微分値が当該二次微分値上限値以下になるように当該箇所が補間される。また、W軸パスにおいて前記ブロック滑らか補間が行われず、媒介変数による二次微分値が不連続となっている箇所がある場合には、その箇所の二次微分値が連続となるように補間される。この移送軸パス局部フィルタ16bによって行われる局部補間の詳細なプロセスが図4に示されている。
 この局部補間では、まず、移送軸パス局部フィルタ16bの移送軸パス局部補間部16cが、補間区間の区間幅である補間区間幅をまだ算出していない指令点である補間対象点が滑らか補間後のW軸パスに存在するか否かを判断する(ステップS12)。移送軸パス局部補間部16cは、そのような補間対象点が滑らか補間後のW軸パスに存在すると判断した場合には、その補間区間幅をまだ算出していない補間対象箇所について分配区間幅及び補間区間幅の算出を行う(ステップS14)。
 移送軸パス局部補間部16cは、まず、滑らか補間後のW軸パスのうち媒介変数による一次微分値と二次微分値の両方が不連続になっている箇所について分配区間幅を求める。なお、ここでの分配区間幅は、W軸パスの媒介変数による一次微分値を後述する分配関数に基づいて分配する区間幅のことである。具体的には、移送軸パス局部補間部16cは、局部補間前のW軸パスと局部補間後のW軸パスとの補間対象点における位置誤差がW軸における許容誤差に等しくなるという条件を満たすように分配区間幅を算出し、補間区間幅をその算出した分配区間幅以上の区間幅として求める。詳しくは、例えば、次のようにして分配区間幅が算出される。
 分配区間幅の算出式は、後述のW軸パスの一次微分値の分配を行うために用いる分配関数によって異なるが、ここでは、後述のW軸パスの一次微分値の分配にベル型の分配関数を用いるものとして、分配区間幅を算出する。
 W軸パスの媒介変数sによる一次微分値の補間対象点直前の値をb1とし、補間対象点直後の値をb2とすると、W軸パスの位置座標wの媒介変数sによる一次微分関数w’(s)は、次式(1)で表せる。なお、この一次微分関数w’(s)は、図6に示すような二次曲線となる。
 w’(s)=dw/ds=ks+b1・・・(1)
 なお、kは、所定の係数である。ここで、局部補間前のW軸パスに対する局部補間後のW軸パスの補間対象点での位置誤差は、図6中のハッチングを付した領域の面積に相当する。従って、この位置誤差をEとすると、当該位置誤差Eは、次式(2)で求められる。
Figure JPOXMLDOC01-appb-I000001
 そして、上記一次微分関数w’(s)が示す二次曲線は、補間区間幅の中央において前記b1と前記b2のちょうど中間の値を取るとすると、次式(3)が成り立つ。
 ks+b1=(b1+b2)/2・・・(3)
 この式(3)を式変形することにより、次式(4)が得られる。
 k=(b2-b1)/2s・・・(4)
 ここで、補間区間幅の中央の点では、s=A/2であるため、上記式(4)から係数kは、次式(5)で求められる。
 k=2(b2-b1)/A・・・(5)
 そして、この式(5)で得られる係数kを上記式(2)に代入して式変形することにより、次式(6)が得られる。
 E=2(b2-b1)A/3・・・(6)
 ここで、W軸における許容誤差をτとすると、前記誤差Eが許容誤差τに等しいという条件を満たす分配区間幅Aは、上記式(6)から次式(7)のように求められる。
 A=3τ/2(b2-b1)・・・(7)
 なお、上記式(7)で求められる分配区間幅の値が予め設定された上限パラメータを超える場合には、その上限パラメータの値を分配区間幅Aとする。
 一方、移送軸パス局部補間部16cは、滑らか補間後のW軸パスのうち媒介変数による一次微分値は連続で、二次微分値が不連続になっている箇所については、記憶部4に記憶されているW軸パスについての二次微分不連続箇所用の分配区間幅テーブルに基づいて分配区間幅を求める。具体的には、移送軸パス局部補間部16cは、滑らか補間後のW軸パスのうち二次微分値が不連続になっている箇所におけるその二次微分値の差を求め、その求めた二次微分値の差に対応する分配区間幅を対応する二次微分不連続箇所用の分配区間幅テーブルに基づいて算出する。この際、移送軸パス局部補間部16cが求めた二次微分値の差の値がW軸パスについての二次微分不連続箇所用の分配区間幅テーブルに登録されている多数の二次微分値の差の値のうち隣接する2つの値の間にある場合には、移送軸パス局部補間部16cは、比例配分によって、当該移送軸パス局部補間部16cが求めた二次微分値の差に対応する分配区間幅を求める。
 また、移送軸パス局部補間部16cは、滑らか補間後のW軸パスのうち媒介変数による二次微分値が予め設定された二次微分上限値を超える箇所については、記憶部4に記憶されているW軸パスについての二次微分値超過箇所用の分配区間幅テーブルに基づいて分配区間幅を求める。具体的には、移送軸パス局部補間部16cは、滑らか補間後のW軸パスのうち二次微分値が二次微分上限値を超える箇所のその二次微分値に基づいて、記憶部4に記憶されているW軸パスについての二次微分値超過箇所用の分配区間幅テーブルから対応した分配区間幅を求める。この際、滑らか補間後のW軸パスの二次微分上限値を超える箇所の二次微分値がW軸パスについての二次微分値超過箇所用の分配区間幅テーブルに登録されている多数の二次微分値のうち隣接する2つの値の間にある場合には、移送軸パス局部補間部16cは、比例配分によって、その二次微分上限値を超える箇所の二次微分値に対応する分配区間幅を求める。
 そして、本実施形態では、以上のようにして算出された分配区間幅に等しい区間幅を補間区間幅とする。
 次に、移送軸パス局部補間部16cは、現在対象としている補間対象点についての補間区間が他の補間対象点の補間区間と重なるか否かを判断する(ステップS16)。ここで、移送軸パス局部補間部16cは、補間区間が重ならないと判断した場合には、上記ステップS12に戻り、以降のプロセスを繰り返し行う。一方、移送軸パス局部補間部16cは、補間区間が重なると判断した場合には、重なった補間区間同士を結合して1つの補間区間とする(ステップS18)。具体的には、移送軸パス局部補間部16cは、重なった各補間区間のうち最もW軸パスの始点寄りに位置する補間区間の始点から最もW軸パスの終点寄りに位置する補間区間の終点までの区間を1つの補間区間とする。なお、この場合、結合した後の1つの補間区間について後述の分配の際に用いる分配区間幅としては、各補間区間に対応する分配区間幅のうち最も小さい分配区間幅が採用される。この後、上記ステップS12に戻り、以降のプロセスが繰り返し行われる。
 そして、ステップS12において、移送軸パス局部補間部16cが滑らか補間後のW軸パスに補間区間幅を算出していない補間対象点がもう存在しないと判断した場合には、移送軸パス局部補間部16cは、次に、以降の局部補間処理を行う1つの補間区間を抽出する(ステップS20)。ここで、滑らか補間後のW軸パスに局部補間処理を行っていない複数の補間区間が存在する場合には、移送軸パス局部補間部16cは、それらの補間区間のうち最もW軸パスの始点寄りに位置する補間区間を抽出する。なお、上記ステップS18で結合された補間区間は、1つの補間区間として扱われる。
 その後、移送軸パス局部補間部16cは、抽出した補間区間について調整区間を求める(ステップS22)。この調整区間(図7及び図8参照)は、補間区間を前後に分配区間幅Aの半分の区間幅aずつ拡大した区間であり、後述する補間後関数の算出対象となる補間ブロックを判断する基準となる。この後、移送軸パス局部補間部16cは、メモリ5に記憶されている補間後積算関数を0に初期セットする(ステップS24)。
 次に、移送軸パス局部補間部16cは、後述の補間後関数を求める補間処理を実施するための指令ブロックである補間ブロックを抽出する(ステップS26)。具体的には、移送軸パス局部補間部16cは、上記ステップS22で求めた調整区間内に少なくとも区間の一部が含まれる複数の指令ブロック(図7では指令ブロックw0(s)~w5(s)、図8ではw0(s)~w7(s))を選択するとともに、それらの指令ブロックのうち後述の補間後関数を求める補間処理が終わっていないブロックでかつ最もW軸パスの始点寄りに位置するブロックを補間ブロックとして抽出する。
 次に、移送軸パス局部補間部16cは、抽出した補間ブロックの補間後関数を求める(ステップS28)。本実施形態では、移送軸パス局部補間部16cは、ベル型の分配関数f(s)を用いて補間後関数を求める。なお、ベル型の分配関数f(s)は、次式で表される。
Figure JPOXMLDOC01-appb-I000002
 なお、分配区間-A/2≦s≦A/2の外側では、f(s)=0である。
 移送軸パス局部補間部16cは、補間後関数の算出に当たって、まず、上記抽出した補間ブロック内の媒介変数が異なる各第1位置sを中央とし且つ分配区間幅Aと等しい区間幅を有する積分区間[s-A/2,s+A/2]を設定する。そして、移送軸パス局部補間部16cは、その設定した積分区間[s-A/2,s+A/2]内の媒介変数が異なる各第2位置SでのW軸パスの媒介変数による一次微分wi’(S)を求め、その各第2位置Sでの一次微分wi’(S)を対応する第2位置Sを中央とし且つ前記分配区間幅Aを有する分配区間内に分配関数f(s)に基づいて分配した場合に得られる分配後微分関数wi’(S)・f(S-s)を積分区間[s-A/2,s+A/2]にわたって積分し、それによって補間後関数qi’(s)を求める。以上のような補間ブロックの媒介変数による一次微分wi’(S)の分配関数f(s)による分配演算及びその分配演算によって得られる分配後微分関数wi’(S)・f(s-S)の積分の結果、当該補間ブロックの媒介変数による二次微分値が小さくなるように当該補間ブロックが補間される。移送軸パス局部補間部16cは、より具体的には、次式(9)によって補間ブロックwi(s)の補間後関数qi’(s)を求める。
Figure JPOXMLDOC01-appb-I000003
 このようにして得られた補間後関数qi’(s)は、補間ブロックwi(s)の区間幅が補間区間幅Aよりも大きい場合と小さい場合とで異なった形で表される。その各場合における補間後関数qi’(s)は、以下の通りである。
 補間ブロックpi(s)の区間幅が補間区間幅A=2aよりも大きい場合(図9参照)には、その補間ブロックwi(s)の両端を規定する2つの指令点のうちW軸パスの始点寄りの指令点をt[i]、W軸パスの終点寄りの指令点をt[i+1]とし、補間区間幅Aの半分の区間幅をaとすると、当該補間ブロックwi(s)に対応する区間はt[i]<s<t[i+1]で表され、t[i]-a<t[i]+a<t[i+1]-a<t[i+1]+aの関係が成り立つ。そして、補間ブロックwi(s)の媒介変数sによる一次微分wi’(s)は、図9中の太線で表される。
 この場合において、上記補間処理によって得られる補間後関数qi’(s)は、下記のt[i]-a<s<t[i]+aの区間の関数qi11’(s)と、t[i]+a<s<t[i+1]-aの区間の関数qi12’(s)と、t[i+1]-a<s<t[i+1]+aの区間の関数qi13’(s)とに細分化される。
 t[i]-a<s<t[i]+aの区間の関数qi11’(s)は、次式(10)で表される。
Figure JPOXMLDOC01-appb-I000004
 t[i]+a<s<t[i+1]-aの区間の関数qi12’(s)は、次式(11)で表される。
Figure JPOXMLDOC01-appb-I000005
 t[i+1]-a<s<t[i+1]+aの区間の関数qi13’(s)は、次式(12)で表される。
Figure JPOXMLDOC01-appb-I000006
 次に、補間ブロックwi(s)の区間幅が補間区間幅A=2aよりも小さい場合(図10及び図11参照)には、その補間ブロックwi(s)の両端を規定する2つの指令点のうちW軸パスの始点寄りの指令点をt[i]、W軸パスの終点寄りの指令点をt[i+1]とし、補間区間幅Aの半分の区間幅をaとすると、当該補間ブロックwi(s)に対応する区間はt[i]<s<t[i+1]で表され、t[i]-a<t[i+1]-a<t[i]+a<t[i+1]+aの関係が成り立つ。この補間ブロックwi(s)の媒介変数sによる一次微分関数wi’(s)は、図10及び図11中の太線で表される。
 この場合において、上記補間処理によって得られる補間後関数qi’(s)は、下記のt[i]-a<s<t[i+1]-aの区間の関数qi21’(s)と、t[i+1]-a<s<t[i]+aの区間の関数qi22’(s)と、t[i]+a<s<t[i+1]+aの区間の関数qi23’(s)とに細分化される。
 t[i]-a<s<t[i+1]-aの区間の関数qi21’(s)は、次式(13)で表される。
Figure JPOXMLDOC01-appb-I000007
 t[i+1]-a<s<t[i]+aの区間の関数qi22’(s)は、次式(14)で表される。
Figure JPOXMLDOC01-appb-I000008
 t[i]+a<s<t[i+1]+aの区間の関数qi23’(s)は、次式(15)で表される。
Figure JPOXMLDOC01-appb-I000009
 次に、移送軸パス局部補間部16cは、求めた補間後関数をメモリ5に記憶されている補間後積算関数に加算する(ステップS30)。ここでは、ステップS24で0にセットされた補間後積算関数に補間後関数が加算されるので、加算後の補間後積算関数は、上記ステップS28で求められた補間後関数に等しくなる。
 次に、移送軸パス局部補間部16cは、調整区間に少なくとも区間の一部が含まれる全ての補間ブロックについて補間後関数を求めてその補間後関数を補間後積算関数に加算する補間処理を行ったか否かを判断する(ステップS32)。ここで、移送軸パス局部補間部16cは、まだ全ての補間ブロックの補間処理を終了していないと判断した場合には、上記ステップS26に戻り、次に補間処理を行う補間ブロックを抽出する。この際に抽出される補間ブロックは、調整区間に少なくとも区間の一部が含まれる指令ブロックのうち先に補間処理された補間ブロックに対してW軸パスの終点側に隣り合う指令ブロックとなる。その後、移送軸パス局部補間部16cは、その抽出した補間ブロックについてステップS28の補間後関数の算出を行い、それによって得られた補間後関数を補間後積算関数に加算する。移送軸パス局部補間部16cは、このようなステップS26~S30のプロセスを、ステップS32において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理(分配、積分、加算)を終了したと判断するまで繰り返し行う。
 そして、移送軸パス局部補間部16cは、ステップS32において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理を終了したと判断した場合には、次に、W軸についての誤差付き補間パスを求める(ステップS34)。具体的には、移送軸パス局部補間部16cは、上記補間後関数の加算によって得られた補間後積算関数から上記ステップS20で抽出した補間区間に相当する区間を抜き出すことによって誤差付き補間パスを求める。
 その後、移送軸パス誤差補正部16dが、誤差付き補間パスのうち補間区間の始点に対応する点と終点に対応する点とにおけるW軸パスとの誤差を補正するための誤差補正パスを求める(ステップS36)。具体的には、移送軸パス誤差補正部16dは、補間区間の始点における誤差補正パスの値が当該始点における誤差付き補間パスの値から当該始点におけるW軸パスの値を減じて得た値に等しく、かつ、補間区間の終点における誤差補正パスの値が当該終点における誤差付き補間パスの値から当該終点におけるW軸パスの値を減じて得た値に等しいという条件を満たす誤差補正パスを求める。より具体的には、移送軸パス誤差補正部16dは、誤差補正パスをEp(s)とし、誤差付き補間パスをr(s)とし、W軸パスをw(s)とし、補間区間の始点をSsとし、補間区間の終点をSeとすると、以下の式(16),(17)を満たす誤差補正パスEp(s)を求める。本実施形態では、移送軸パス誤差補正部16dは、この条件を満たす誤差補正パスEp(s)の一例として、Ep(Ss)とEp(Se)を直線で繋いだ誤差補正パスを求める。
 Ep(Ss)=r(Ss)-w(Ss)・・・(16)
 Ep(Se)=r(Se)-w(Se)・・・(17)
 次に、移送軸パス誤差補正部16dは、誤差付き補間パスをステップS36で求めた誤差補正パスによって補正し、その補正後の補間パスをW軸パスの補間区間と置換して局部補間後の補間区間のW軸パスとする(ステップS38)。具体的には、移送軸パス誤差補正部16dは、誤差付き補間パスから誤差補正パスを差し引くことによって誤差付き補間パスを補正し、当該補正により、補間区間の始点でのW軸パスに対する誤差付き補間パスの誤差と、補間区間の終点でのW軸パスに対する誤差付き補間パスの誤差とを除去する。このため、補正後の補間パスは、補間区間の始点においてW軸パスと連続して繋がり、補間区間の終点においてW軸パスと連続して繋がるパスとなる。以上のプロセスにより、W軸パスのうちの1つの補間区間が、当該補間区間内の補間対象点において不連続となっている微分値の変化が連続的な変化となるように局部補間される。
 この後、移送軸パス局部補間部16cは、W軸パスの全ての補間区間の局部補間が終了したか否かを判断する(ステップS40)。ここで、移送軸パス局部補間部16cが局部補間が終了していない補間区間がまだ存在すると判断した場合には、上記ステップS20以降のプロセスが繰り返し行われる。具体的には、移送軸パス局部補間部16cが局部補間が終了していない補間区間のうち最もW軸パスの始点寄りに位置する補間区間を抽出し、その抽出した補間区間について補間後関数の算出、補間後積算関数への加算、誤差付き補間パスの導出、誤差補正パスの導出及び誤差付き補間パスの補正等が行われる。
 一方、移送軸パス局部補間部16cがW軸パスの全ての補間区間の局部補間が終了したと判断した場合には、移送軸パス局部フィルタ16bによるW軸パスの局部補間処理のプロセスが終了する。
 そして、上記のW軸パスに対する局部補間処理と並行して、同様の局部補間処理が、ツールパス局部フィルタ15bのツールパス局部補間部15c及びツールパス誤差補正部により滑らか補間後のツールパスの各座標軸パス(x軸パス、y軸パス及びz軸パス)に対して行われる。なお、このツールパスの局部補間処理では、補間対象点の前後におけるツールパスの媒介変数による一次微分値の差がワーク座標系を構成する各座標軸で異なる場合には、ツールパス局部補間部15cは、補間対象点の前後の一次微分値の差が最大となる座標軸について、分配区間幅及び補間区間幅の導出を行う。例えば、ツールパスのx軸パスの媒介変数による一次微分値、ツールパスのy軸パスの媒介変数による一次微分値及びツールパスのz軸パスの媒介変数による一次微分値のうちx軸パスの媒介変数による一次微分値の補間対象点の前後における差が最も大きい場合には、ツールパス局部補間部15cは、そのx軸パスについて分配区間幅及び補間区間幅を導出する。そして、その導出された分配区間幅及び補間区間幅を用いて、ツールパスのx軸パス、y軸パス及びz軸パス毎に上記W軸パスと同様の局部補間が行われる。
 以上の局部補間処理の後、媒介変数時間関数導出部18により基準時刻Tの経過に対する媒介変数の変化を表す媒介変数時間関数が求められる(図3のステップS5)。
 具体的には、媒介変数時間関数導出部18は、記憶部4に記憶されている各移送軸毎の許容加速度を含む加減速条件と、全ての補間区間が局部補間された後のツールパスである補間後ツールパスと、全ての補間区間が局部補間された後のW軸パスである補間後W軸パスとに基づいて、媒介変数時間関数(媒介変数の速度曲線)を求める。より具体的には、媒介変数時間関数導出部18は、ワーク座標系における工具106の先端の位置を補間後ツールパス(補間後のx軸パス、y軸パス及びz軸パス)に従って移動させることができるとともに補間後W軸パスに従って工具106をW軸方向に動かすことができ、かつ、移送対象物の各移送軸毎の加速度が加減速条件に含まれたその移送軸についての許容加速度を超えないという条件を満たすような媒介変数時間関数を求める。詳しくは、媒介変数時間関数導出部18は、以下のようにして媒介変数時間関数を求める。
 媒介変数時間関数導出部18は、まず、図12中の階段状速度曲線で表される媒介変数速度上限関数を求める。媒介変数速度上限関数は、各移送軸パスの各指令点間のブロック毎の媒介変数sの速度ds/dTの上限値を表す関数である。図12中の階段状速度曲線のうち水平になっている各部分がブロックを表し、当該部分の速度ds/dTがそのブロックの媒介変数sの速度ds/dTの上限値に相当する。なお、各ブロックは、それぞれについての媒介変数sの増分が等しくなるように元々設定されているが、その各ブロックの媒介変数sの増分に相当する距離を進むのに要する時間は様々であり、図12では、媒介変数sの増加を時間tの進行に換算して横軸に表している。そして、媒介変数時間関数導出部18は、以下のようにして各ブロックの媒介変数sの速度ds/dTの上限値を求めることによって媒介変数速度上限関数を求める。
 媒介変数時間関数導出部18は、補間後ツールパス及び補間後W軸パスに基づいて、対象とするブロックに対応する所定の媒介変数sの点とその点の近傍の前後2点ずつの合計5点(s-2e,s-e,s,s+e,s+2e)における各移送軸の移送軸座標kp[i][](i=0,1,2,3,4)を求める。このとき、Z軸座標は、補間後のz軸パスのz軸座標から補間後W軸パスのW軸座標を差し引くことによって求める。なお、前記eは、媒介変数における微小距離を示すパラメータである。また、i=0は点(s-2e)に、i=1は点(s-e)に、i=2は点sに、i=3は点(s+e)に、i=4は点(s+2e)にそれぞれ対応している。また、[]は、各移送軸それぞれについての値であることを意味する。そして、媒介変数時間関数導出部18は、下記式(18)によって点(s-e)における媒介変数による一次微分の近似値ds1[ax]を求め、下記式(19)によって点(s+e)における媒介変数による一次微分の近似値ds2[ax]を求め、この求めた2つの近似値ds1[ax],ds2[ax]と下記式(20)を用いて前記媒介変数sに対応する点における移送軸パスの媒介変数による二次微分の近似値ddss[ax]を求める。なお、axは、各移送軸を表すインデックスである。
 ds1[ax]=(kp[2][ax]-kp[0][ax])/2e・・・(18)
 ds2[ax]=(kp[4][ax]-kp[2][ax])2e・・・(19)
 ddss[ax]=(ds2[ax]-ds1[ax])/2e・・・(20)
 仮に、媒介変数sの点を等速度vで通過するとした場合には、各移送軸毎の加速度a[]は、v×ddss[]で近似できることから、記憶部4に記憶されている加減速条件中の各移送軸毎の許容加速度をA[]とすると、媒介変数時間関数導出部18は、対象とするブロックの速度上限値vmを次式(21)によって求める。
 vm=(A[ax]/ddss[ax])1/2・・・(21)
 そして、媒介変数時間関数導出部18は、このようにして求めた各移送軸毎の対応するブロックの速度上限値vmと加工プログラムに含まれる速度指令のうちそのブロックに対応する速度との中で最も低い値をそのブロックの媒介変数sの速度ds/dTの上限値とする。媒介変数時間関数導出部18は、全てのブロックの媒介変数sの速度ds/dTの上限値を以上のような方法でそれぞれ求め、その求めた各ブロックの上限値を繋いで媒介変数速度上限関数を求める。
 次に、媒介変数時間関数導出部18は、記憶部4に記憶された加減速条件に含まれる媒介変数sの許容速度、許容加速度及び許容ジャークに基づいて、媒介変数速度上限関数が表す階段状速度曲線を超えないように連続変化する加減速曲線ds(T)/dTを求め、その求めた加減速曲線ds(T)/dTを基準時刻Tで積分することにより媒介変数時間関数s(T)を算出する。
 具体的には、媒介変数時間関数導出部18は、まず、加減速曲線ds(T)/dTのうちの加速領域の速度曲線(速度関数)を始点側から終点側へ向かって所定の時刻区間毎にその時刻区間の時刻区間幅tsとともに順次求めてメモリ5に登録していく。この時、媒介変数時間関数導出部18は、それまでにメモリ5に登録した速度曲線の最終点(s1,f1,t1)から目標点(s2,f2)として設定したブロックの終点へ到達する過程でその最終点における速度f1がそのブロックの速度ds/dTの上限値(速度上限値f2)まで上昇し得るような速度曲線を各時刻区間毎にその区間の時刻区間幅tsとともに求める。なお、このとき求められる速度曲線の形態は、前記最終点と目標点との媒介変数の差(s2-s1)、前記最終点における速度f1、速度上限値f2、前記最終点における加速度a1、許容加速度及び許容ジャーク等の条件によって異なる。その各条件に応じた速度曲線の求め方が図13~図19に示されている。
 図13及び図14には、最終点(s1,f1,t1)から目標点(s2,f2)に達する前に速度が速度上限値f2に達する場合が示されている。なお、t2は、s2に到達したときの時刻である。具体的には、図13は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から許容加速度まで増加するように速度をf1から上昇させ(時刻区間ts1)、その後、許容加速度に等しい加速度で速度が上昇し(時刻区間ts2)、その後、速度が速度上限値f2を超えないように許容ジャークに従って加速度を低下させて速度が速度上限値f2に達し(時刻区間ts3)、その後、速度上限値f2に等しい速度で目標点(s2,f2)に到達する(時刻区間ts4)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts1~ts4とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図14は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から増加するように速度をf1から上昇させる(時刻区間ts5)が、速度上限値f2が近いため、速度が許容加速度に達する前に許容ジャークに従って加速度を低下させて速度上限値f2に達し(時刻区間ts6)、その後、速度上限値f2に等しい速度で目標点(s2,f2)に到達する(時刻区間ts7)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts5~ts7とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。
 また、図15~図17には、許容ジャークに従って加速度が低下している途中に目標点(s2,f2)に達する場合が示されている。具体的には、図15は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から増加するように速度をf1から上昇させる(時刻区間ts8)が、最終点から目標点(s2,f2)までの距離(s2-s1)が小さいため、速度が許容加速度に達する前に、許容ジャークに従って加速度を低下させて速度が速度上限値f2に達するとともに目標点(s2,f2)に到達する(時刻区間ts9)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts8,ts9とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図16は、最終点(s1,f1,t1)から許容ジャークに従って加速度がa1から許容加速度まで増加するように速度をf1から上昇させ(時刻区間ts10)、その後、許容加速度に等しい加速度で速度が上昇し(時刻区間ts11)、その後、速度が速度上限値f2を超えないように許容ジャークに従って加速度を低下させている途中で目標点(s2,f2)に到達する(時刻区間ts12)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って各時刻区間毎の速度曲線(速度関数)をその各区間の時刻区間幅ts10~ts12とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ5に登録する。また、図17は、最終点(s1,f1,t1)から目標点(s2,f2)までが非常に近いとともにその最終点における速度f1と速度上限値f2とが非常に近く、且つ、最終点における加速度a1が大きいため、その最終点から許容ジャークに従って加速度をa1から低下させながら速度がf1から上昇して速度上限値f2に達するとともに目標点(s2,f2)に到達する(時刻区間ts13)という形態の速度曲線を示しており、媒介変数時間関数導出部18は、このような条件に従って時刻区間幅ts13とともにその区間の速度曲線(速度関数)を算出し、その算出した速度曲線を時刻区間ts13とともにメモリ5に登録する。
 また、図18には、媒介変数sが目標点に対応する値s2に達しても速度上限値f2まで速度を上げることができない場合が示されている。媒介変数時間関数導出部18は、速度曲線を算出していてこのような場合に該当する場合には、その算出した速度曲線をメモリ5に登録しない。
 また、図19には、最終点(s1,f1,t1)における速度f1と速度上限値f2が非常に接近しているとともにその最終点における加速度a1が比較的大きいため、最終点(s1,f1,t1)から許容ジャークに従って加速度を低下させても速度が速度上限値f2を超えてしまう場合が示されている。媒介変数時間関数導出部18は、速度曲線の算出に際してこのような場合に該当する場合には、1つ前にメモリ5に登録された速度曲線のデータを取り消すとともに、さらにその1つ前にメモリ5に登録された速度曲線の最終点から今回の目標点に至り、且つ、速度が今回の目標点に対応する速度上限値に達し得るような速度曲線を求めるための再計算を行う。この場合の再計算の方法は、上記各場合と同様である。
 そして、媒介変数時間関数導出部18は、上記のような速度曲線の算出と登録を順次行う。媒介変数時間関数導出部18は、求めた速度曲線をメモリ5に登録する際、併せて、目標点に到達時の時刻t2及び加速度a2をメモリ5に登録しておき、次の目標点を設定して速度曲線を算出するときには、その登録した時刻t2を最終点における時刻t1として用いるとともにその登録した加速度a2を最終点における加速度a1として用いて次の速度曲線を算出する。このように最終点における速度に対して次の目標点に対応する速度上限値が小さくなるまで求めた速度曲線によって、加減速曲線のうち加速領域の速度曲線が得られる。
 次に、媒介変数時間関数導出部18は、加減速曲線のうちの減速領域についてパスの終点側から始点側へ向かって上記と同様の速度曲線の算出と登録を順次行い、それによってその減速領域の速度曲線を求める。そして、媒介変数時間関数導出部18は、求めた加速領域の速度曲線の終点と減速領域の速度曲線の始点を繋ぎ合わせることによって加減速曲線ds(T)/dTを求める。そして、媒介変数時間関数導出部18は、その求めた加減速曲線ds(T)/dTを基準時刻Tで積分することにより媒介変数時間関数s(T)を算出する。
 次に、パルス補間部22による基準時刻Tの導出及びパルス補間と、制御部24による各移送部102c,110b,112b,114b,116b,118bへのパルス出力が行われる(ステップS6)。
 このステップS6の詳細なプロセスは、図5のフローチャートに示されている。このプロセスでは、まず、パルス補間部22は、基準時刻Tが上記ステップS5で求められた媒介変数時間関数の始点となる時刻に合うように当該基準時刻Tを初期セットする(図5のステップS52)。
 次に、パルス補間部22は、初期セットした基準時刻Tに対応する補間後ツールパスの各座標軸上の位置座標と、その基準時刻Tに対応する補間後W軸パス上の位置座標とを求める(ステップS54)。具体的には、パルス補間部22は、媒介変数時間関数導出部18によって求められた媒介変数時間関数s(T)から、初期セットした基準時刻Tに対応する媒介変数sを求め、その求めた媒介変数sと補間後ツールパスからその媒介変数sに対応する補間後ツールパス(補間後のx軸パス、y軸パス及びz軸パス)の各座標軸上の位置座標を求めるとともに、求めた媒介変数sと補間後W軸パスからその媒介変数sに対応する補間後W軸パス上の位置座標を求める。
 次に、パルス補間部22は、求めたW軸パスのW軸上での位置座標を拘束条件とし、ワーク座標系における工具106の先端点の位置座標と各移送軸上の位置座標との相関関係を示す関係式に基づいて、上記ステップS54で求めた補間後ツールパスの各座標軸上の位置座標及び補間後W軸パスの位置座標に対応する各移送軸上の位置座標を求める(ステップS56)。
 具体的には、パルス補間部22は、まず、補間後ツールパスが示す工具106の先端点のワーク座標系での位置座標(Tx,Ty,Tz)を求め、その位置座標と一定値0であるA軸パスの座標a及びC軸パスの座標cとから工具軸ベクトル(Si,Sj,Sk)と主軸位置の座標(Sx,Sy,Sz)を以下の式(22)~(27)によって求める。なお、前記主軸位置は、主軸ヘッド108に保持された工具106の基端(先端と反対側の端)のワーク座標系における位置である。また、前記工具軸ベクトルは、工具106の軸方向(工具106の中心線が延びる方向)をワーク座標系で表すものであり、工具106の先端点から基端(主軸位置)へ向かうベクトルである。
 Si=sin(a)×sin(c)・・・(22)
 Sj=-sin(a)×cos(c)・・・(23)
 Sk=cos(a)・・・(24)
 Sx=Tx+length×Si・・・(25)
 Sy=Ty+length×Sj・・・(26)
 Sz=Tz+length×Sk・・・(27)
 ここで、lengthは、工具106の軸方向の長さである。
 そして、パルス補間部22は、補間後W軸パスからW軸上の位置座標wを算出し、続いて、以下の運動学関係式(28)~(30)に基づいて、補間後ツールパスが示す位置座標及び補間後W軸パスが示す位置座標に対応する各移送軸(X軸、Y軸、Z軸)上の位置座標(x,y,z)を求める。
 x=Sx-Tx+Cx×cos(c)-(Ay×cos(a)-Az×sin(a)+Cy-Ay)×sin(c)-Cx・・・(28)
 y=Sy-Ty+Cx×sin(c)+(Ay×cos(a)-Az×sin(a)+Cy-Ay)×cos(c)-Cy・・・(29)
 z=Sz-Tz+Ay×sin(a)+Az×cos(a)-Az-w・・・(30)
 これらの式において、Ayは、YZ平面において工具106の先端のうちその工具106の中心線上に位置する点から揺動支持体110aの揺動中心へ向かうベクトルのY軸成分であり、Azは、同ベクトルのZ軸成分である。また、Cxは、XY平面において工具106の先端のうちその工具106の中心線上に位置する点(工具106の先端点)から回動支持体112aの回動中心へ向かうベクトルのX軸成分であり、Cyは、同ベクトルのY軸成分である。なお、上記式(22)~(30)が、本発明の特定の関係式の概念に含まれるものである。また、Z軸とW軸は互いに平行な不定軸であり、上記式(30)だけではzとwの値が一意的に定まらないが、上記ステップS54で求めた補間後W軸パスのW軸上での位置座標をwとする拘束条件を用いることによって、この式(30)からzの値を求めることができる。パルス補間部22が以上のようにして求めた各移送軸の位置座標をnewp[]とする。
 次に、パルス補間部22は、ステップS56で求めた各移送軸毎の位置座標newp[]を旧座標oldp[]とする(ステップS58)。
 次に、パルス補間部22は、上記ステップS52で初期セットした基準時刻Tに基準単位時間dTを加算して新たな基準時刻Tを求める(ステップS60)。
 次に、パルス補間部22は、新たな基準時刻Tに対応する補間後ツールパスの各座標軸上の位置座標及び補間後W軸パスのW軸上での位置座標を上記ステップS54と同様にして求め(ステップS62)、その求めたW軸上での位置座標を拘束条件として、その求めた補間後ツールパスの位置座標に対応する各移送軸上の位置座標を上記ステップS56と同様に求める(ステップS64)。
 その後、パルス補間部22は、指令パルスを算出する(ステップS66)。具体的には、パルス補間部22は、ステップS64で求めた各移送軸毎の位置座標newp[]から上記ステップS58で設定された各移送軸毎の旧座標oldp[]の対応するものを差し引くことによって、基準単位時間dT当たりの各移送軸における位置座標の変化量、すなわち各移送軸についての移送対象物の基準単位時間dT当たりの移送量を求め、その求めた移送量を実時刻の単位時間毎(前記特定周期毎)の指令パルスとする。
 その後、制御部24が、各移送部102c,114b,116b,118bのサーボモータへ、パルス補間部22によって求められた前記特定周期当たりの指令パルスのうちその移送部に対応する移送軸についての移送量を示す指令パルスを出力する(ステップS68)。これにより、各移送部102c,114b,116b,118bは、移送対象物を支持して動かすための対応する支持体をそれぞれ制御部24からの指令パルスが示す移送量の分、前記特定周期当たりに対応する移送軸に沿って動かす。具体的には、テーブル移送部102cはテーブル102bを、ラム移送部114bはラム114aを、サドル移送部116bはサドル116aを、クロスレール移送部118bはクロスレール118aをそれぞれ制御部24からの指令パルスが示す移送量の分、前記特定周期当たりに対応する移送軸に沿って動かす。
 次に、パルス補間部22は、シャットダウンの処理を行うか否かを判断する(ステップS70)。ここで、パルス補間部22がシャットダウンの処理を行うと判断した場合には、シャットダウンの処理が実行されて本実施形態の数値制御プロセスは終了し、パルス補間部22がシャットダウンを行わないと判断した場合には、上記ステップS58以降の処理が繰り返し行われる。再度行われるステップS58では、パルス補間部22は、上記ステップS64で求めた各移送軸毎の位置座標newp[]を旧座標oldp[]に設定する。
 以上のようにして、本実施形態の数値制御装置2による制御プロセスが行われる。
 以上説明したように、本実施形態の数値制御装置2では、加工プログラムから求めたW軸パスを補間し、補間後のW軸パスが示すW軸上の位置座標を拘束条件として補間後ツールパスの単位時間毎の各時点の位置座標に対応する各移送軸上の位置座標を求めるため、全ての移送軸のうちZ軸とW軸が不定軸となっていても、ツールパスに対応するZ軸上及びW軸上での前記各時点における位置座標を求めることができ、移送装置102,114,116,118の同時制御を行うことができる。
 しかも、本実施形態の数値制御装置2では、工作機械が、W軸についての許容加速度が低い、すなわち動きの緩慢な第2鉛直移送装置118を含みながらも、その緩慢な動きを許容加速度の高い第1鉛直移送装置114によるZ軸に沿った工具106の移送で補わせることにより、第2鉛直移送装置118によるW軸についての低い許容加速度に支配されることなく、迅速かつ高精度の加工制御を実現できる。具体的には、本実施形態では、まず、W軸パスをそのW軸パスの媒介変数による二次微分値が小さくなるように局部補間してW軸に沿った工具106(クロスレール118a)の速度変化が緩やかになるように当該W軸パスを補間した上で、その補間後のW軸パスが示すW軸上での各時点の位置座標を拘束条件として各移送軸上の位置座標を求めるため、W軸に沿った工具106(クロスレール118a)の動きを緩やかにしてその動きの加速度を低い許容加速度に収めながら、Z軸上では、W軸について工具106(クロスレール118a)の動きを緩やかにした分をカバーするような工具106の素早い動きを指示することができる。このため、加速性の良い第1鉛直移送装置114については、第2鉛直移送装置118の加速性の悪さを補う制御、すなわち、第2鉛直移送装置118の加速性の悪さをカバーするようにZ軸に沿って工具106を素早く移送する制御が行われる。このため、第2鉛直移送装置118の加速性が極端に悪くても、それによってワーク100の加工速度が制限を受けるのを防ぐことができ、工作機械に高速でのワーク100の加工を実施させることができる。また、本実施形態では、補間後W軸パスのW軸上での各時点の位置座標を拘束条件として他の移送軸上での各時点の位置座標を求めるため、W軸と同じワーク座標系の座標軸成分(z軸成分)を含むZ軸上の位置座標として、W軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、ワーク100の加工時には、W軸パスの補間によって生じた位置誤差は工具106の動きに反映されない。その結果、工作機械に高い加工精度でのワーク100の加工を実施させることができる。
 なお、本実施形態では、移送軸パス局部補間部16cが分配区間幅の算出に用いるW軸についての許容誤差を、ワーク座標系におけるツールパスのz軸上の位置の許容誤差よりも大きな誤差にしてもよい。このようにすれば、媒介変数による一次微分値の分配、その後の積分によって得られる補間後関数がより緩やかな曲線を示すようになり、その結果、加速性の悪い第2鉛直移送装置118を非常に緩やかに動作させて、より機械ショックの低減を図ることができる。そして、このようにW軸についての許容誤差を大きくして第2鉛直移送装置118の動作を非常に緩やかにしても、上記のように加速性の良い第1鉛直移送装置114によるZ軸上での工具106の素早い動きでカバーすることができるとともに、W軸についての位置誤差を第1鉛直移送装置114によるZ軸上での工具106の移送で吸収して高い加工精度を保つことができる。
 また、本実施形態では、ワークの加工時に工具106が通るべき複数の指令点の位置座標の情報と工具移送速度指令に加えてW軸上での特定点の位置座標の軌跡を含む加工プログラムを記憶部4に記憶させておき、その加工プログラムに含まれるW軸上での特定点の位置座標の軌跡と工具移送速度指令とから移送軸パス導出部34がW軸パスを求め、そのW軸パスに基づいてその後の第2鉛直移送装置118の動作を制御するための処理が行われる。このため、本実施形態では、加工プログラムを作成する段階で、加速性の悪い第2鉛直移送装置114による工具106のW軸についての移送の挙動を任意に指定することができる。
 なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
 例えば、本発明による数値制御装置は、上記実施形態で示した工作機械以外の各種工作機械に適用することが可能である。図20には、本発明の一実施形態の変形例による数値制御装置が適用される工作機械の一例が示されている。
 この工作機械は、パラレルリンク機構126を備えた工作機械である。この工作機械では、パラレルリンク機構126を構成する各工具移送装置131~136が工具106を移送するL1~L6軸、及び、水平移送装置124がパラレルリンク機構126全体を水平方向に移送するU軸が、共通の座標軸成分であるワーク座標系のx軸成分を含み、そのx軸座標に対して一意的に座標が定まらない不定軸となっている。
 具体的には、この工作機械は、ワーク支持装置122と、工具106と、主軸ヘッド123と、水平移送装置124と、パラレルリンク機構126と、図略の制御盤とを備えている。
 ワーク支持装置122は、図略のワークを支持するための装置であり、所定の設置場所に設置されている。このワーク支持装置122は、鉛直面である支持面122aを有しており、この支持面122aにワークを接触させた状態でそのワークを支持する。このワーク支持装置122にセットされたワーク上にワーク座標系が設定される。具体的には、水平面内で支持面122aと平行なx軸と、水平面内で支持面122aに対して垂直なy軸と、それらx軸及びy軸の両方に直交するz軸とからなるワーク座標系がワーク上に設定される。
 主軸ヘッド123は、上記実施形態と同様、工具106を保持し、その工具106を軸回りに回転させるものである。
 水平移送装置124は、パラレルリンク機構126全体を水平面内においてワーク支持装置122の支持面122aに平行な方向、すなわちワーク座標系のx軸と平行な方向に延びるU軸に沿って移送し、それによって工具106をU軸に沿って移送する。なお、水平移送装置124は、本発明の移送装置及び第2移送装置の概念に含まれるものであり、U軸は、本発明の移送軸及び第2移送軸の概念に含まれるものである。水平移送装置124は、この工作機械に設けられている全ての移送装置の中で最も加速性の悪い移送装置であり、U軸についての許容加速度は他の移送軸についての許容加速度に比べて低い値に設定されている。また、水平移送装置124は、基台124aと、水平支持体124bと、水平支持体移送部124c(図21参照)とを有する。
 基台124aは、支持面122aに垂直な方向においてワーク支持装置122から離間した場所に設置されており、この基台124a上に水平支持体124bがU軸に沿って移動可能となるように設けられている。この水平支持体124bは、パラレルリンク機構126を下から支持している。具体的には、この水平支持体124bの上面にパラレルリンク機構126の後述する支持脚128aが設置されている。水平支持体移送部124cは、水平支持体124bをU軸に沿って移送するものである。この水平支持体移送部124cは、駆動源として図略のサーボモータを有しており、そのモータの動力によって水平支持体124bを移送する。
 パラレルリンク機構126は、主軸ヘッド123に装着された工具106を、加工プログラムに含まれる工具106の先端の位置座標の軌跡と工具軸ベクトルの変化に従って動かすものであるが、本実施形態では、工具軸ベクトルについてはワーク座標系(x,y,z)において(0,0,1)に固定した状態で当該パラレルリンク機構126を作動させるものとする。このパラレルリンク機構126は、ヘッド支持部128と、複数の工具移送装置131~136と、先端ジョイント138と、ストラット支持機構140とを有する。
 ヘッド支持部128は、主軸ヘッド123を支持するものである。
 第1~第6工具移送装置131~136は、それぞれ、主軸ヘッド123を各々の移送軸であるL1~L6軸に沿って動かすことによりそのL1~L6軸方向に工具106を動かすものである。これら第1~第6工具移送装置131~136は、それぞれ、本発明の移送装置及び第1移送装置の概念に含まれるものであり、L1~L6軸は、それぞれ、本発明の第1移送軸の概念に含まれるものである。第1工具移送装置131は、第1ストラット131a及び第1ストラット移送部131bを備えており、第2工具移送装置132は、第2ストラット132a及び第2ストラット移送部132bを備えている。第3工具移送装置133は、第3ストラット133a及び第3ストラット移送部133bを備えており、第4工具移送装置134は、第4ストラット134a及び第4ストラット移送部134bを備えている。また、第5工具移送装置135は、第5ストラット135a及び第5ストラット移送部135bを備えており、第6工具移送装置136は、第6ストラット136a及び第6ストラット移送部136bを備えている。
 第1~第6ストラット131a~136aは、それぞれ、一方向に延びる棒状に形成されている。各ストラット131a~136aは、その一端部が先端ジョイント138を介してヘッド支持部128の基端部側(主軸ヘッド123を支持する側と反対側)に関節移送可能なように接続され、それによって、ヘッド支持部128を支持している。各ストラット131a~136aは、各々の長手方向に延びるL軸に沿って移動可能となるようにストラット支持機構140によって支持されている。ストラット支持機構140は、水平移送装置124の水平支持体124b上に設置されている。このストラット支持機構140は、ヘッド支持部128を支持する各ストラット131a~136aの一端部側が水平支持体124b上からワーク支持装置122側へ張り出すようにそれら各ストラット131a~136aをそれぞれ支持する。
 ストラット支持機構140は、水平支持体124b上に設置された支持脚140aと、その支持脚140aによって支えられたストラット支持部140bとを有する。ストラット支持部140bは、ワーク支持装置122側から見て正三角形の各頂点に位置するように配設されている。各ストラット支持部140bは、ストラット131a~136aを2本ずつ支持しており、その支持しているストラットが各々の長手方向(軸方向)に移動可能となるようにそのストラットを支持している。
 第1~第6ストラット移送部131b~136b(図21参照)は、第1~第6ストラット131a~136aのうち対応するものを対応するL軸に沿って動かすことにより、ヘッド支持部128及び主軸ヘッド123とともに工具106をそのL軸方向に動かす。各ストラット移送部131b~136bは、駆動源として図略のサーボモータを有しており、そのモータの動力により対応するストラット131a~136aを移送する。
 図略の制御盤は、前記各移送装置124c,131b~136bや主軸ヘッド123、その他の移送部の制御及び操作を行うためのものである。この制御盤内に、図21に示す当該変形例による数値制御装置2が組み込まれている。
 当該変形例による数値制御装置2は、上記実施形態による数値制御装置2と同様の記憶部4、メモリ5及び演算処理部6を備えている。
 この変形例では、記憶部4は、ワークの加工時に工具106が通るべきワーク座標系での工具106の位置座標の軌跡と、工具106の移送速度を示す工具移送速度指令と、ワーク座標系での工具106の位置座標の軌跡に対応するU軸上の位置座標の軌跡とを含む加工プログラムを記憶している。なお、この変形例では、工具106の姿勢をその工具軸ベクトルがワーク座標系(x,y,z)において(0,0,1)となる姿勢に固定した状態でワークの加工を行うので、加工プログラムには工具106の姿勢(傾き)を変える命令は含まれていない。また、この変形例では、移送軸パス導出部34、移送軸パス滑らか補間部16a、移送軸パス局部フィルタ16bの移送軸パス局部補間部16c及び移送軸パス誤差補正部16dは、ワークの加工時に水平移送装置124がパラレルリンク機構126及び主軸ヘッド123とともに工具106を動かす基準となるU軸上での特定点の動きをU軸上の位置座標と媒介変数の関数によって表すU軸パスについて、上記実施形態でW軸パスについて行われた処理と同様の処理を行う。なお、U軸パスは、本発明の第2移送軸パスの概念に含まれるものである。また、媒介変数時間関数導出部18は、上記補間後W軸パスの代わりとして補間後U軸パスを用いて、上記実施形態と同様の手法により媒介変数時間関数を導出する。
 また、パルス補間部22は、媒介変数時間関数導出部18によって導出された媒介変数時間関数から基準時刻の基準単位時間毎の各時点に対応する媒介変数を求め、その求めた各時点での媒介変数に対応する補間後ツールパスのワーク座標系での位置座標と、その各時点の媒介変数に対応する補間後U軸パスのU軸上での位置座標とを求める。そして、パルス補間部22は、求めた各時点のU軸上での位置座標を拘束条件とし、ワーク座標系における工具106の位置座標と各移送軸上の位置座標との相関関係を示す関係式に基づいて、各移送軸上の位置座標を求める。
 この際、パルス補間部22は、上記実施形態と同様にして主軸位置の座標(Sx,Sy,Sz)を求めるとともに、一定値である工具軸ベクトル(0,0,1)を求め、その後、以下の運動学関係式(31)、(32)に基づいて、補間後ツールパスが示す位置座標と、補間後U軸パスが示す位置座標とに対応する各移送軸(U軸、L1~L6軸)上の位置座標を求める。この時、上記のように求めた補間後U軸パスのU軸上での位置座標を下記uの値とするという拘束条件を用いて各移送軸(L1~L6軸)上の位置座標を求める。なお、ここで求めるL1~L6軸上の各位置座標をl[i](i=0,1,2,3,4,5)とする。
 (l[i]+o[i])+d=(N[j][0]-t[k][0])+(N[j][1]-t[k][1])+(N[j][2]-t[k][2])・・・(31)
 t[k][ii]=(Sx-u,Sy,Sz)+T[k][0]×m[0][ii]+T[k][0]×m[1][ii]+T[k][2])×m[2][ii]・・・(32)
 ここで、dは、ストラット支持部140bの中心とそのストラット支持部140bに支持されているストラットの軸心との間のずれを示す機械定数である。また、i=0,1,2,3,4,5であり、ii=0,1,2である。また、N[j][0]、N[j][1]、N[j][2]は、3つのストラット支持部140bの中心のワーク座標系での位置座標である。また、T[k][0]、T[k][1]、T[k][2]は、3つの先端ジョイント138の位置座標である。また、o[i]は、各ストラット131a~136aがストラット支持部140bに支持された点から対応する先端ジョイント138までの対応するL軸上における距離である。また、m[0][]、m[1][]、m[2][]は、ヘッド支持部128の主軸中心回り(工具106の軸心回り)の回転姿勢を拘束した状態において、ヘッド支持部128上に設定されたヘッド支持部128の姿勢を規定するための主軸座標系の互いに直交する3つの座標軸のワーク座標系への余弦を表すものである。当該変形例では、上記したように工具軸ベクトルを(0,0,1)に固定するため、x軸と平行な軸回りにおける当該主軸ヘッド123の回転角度α及びy軸と平行な軸回りにおける当該主軸ヘッド123の回転角度βは0に固定される。そこで、m[0][]は以下の式(33)で表され、m[1][]は以下の式(34)で表され、m[2][]は以下の式(35)で表される。
 m[0][]=(cos(β),0,-sin(β))=(1,0,0)・・・(33)
 m[1][]=(sin(α)×sin(β),cos(α),sin(α)×cos(β))=(0,1,0)・・・(34)
 m[2][]=(cos(α)×sin(β),-sin(α),cos(α)×cos(β))=(0,0,1)・・・(35)
 また、パルス補間部22は、求めた各移送軸の基準単位時間毎の位置座標から上記実施形態と同様にしてU軸及びL1~L6軸の各移送軸についての基準単位時間当たりの移送量を求める。そして、制御部24は、その移送量を指令パルスとし、U軸についての指令パルスを水平支持体移送部124cのサーボモータへ出力し、L1~L6軸についての指令パルスをそれぞれ対応するストラット移送部131b~136bのサーボモータへ出力する。これにより、水平支持体移送部124cは水平支持体124bを、第1~第6ストラット移送部131b~136bは第1~第6ストラット131a~136aの対応するものをそれぞれ制御部24からの指令パルスが示す移送量の分、特定周期当たりに対応する移送軸に沿って動かす。
 この変形例による数値制御装置2の上記以外の構成及び制御プロセスは、上記実施形態による数値制御装置2と同様である。
 この変形例では、加工プログラムから求めたU軸パスを補間し、補間後のU軸パスが示すU軸上の位置座標を拘束条件として補間後ツールパスの単位時間毎の各時点の位置座標に対応する各移送軸上(L1~L6軸上)の位置座標を求めるため、L1~L6軸とU軸が不定軸となっていても、ツールパスに対応するL1~L6軸上及びU軸上での前記各時点における位置座標を求めることができ、全ての移送軸について対応する移送装置131~136,124の同時制御を行うことができる。また、この変形例では、工作機械が、U軸方向についての許容加速度が低い、すなわち、U軸に沿った動きが緩慢な水平移送装置124を含んでいても、その緩慢な動きを許容加速度の高い第1~第6工具移送装置131~136によるL1~L6軸に沿った各ストラットの動作に伴う工具106の動きで補わせることにより、ワーク座標系におけるx軸方向への工具106の動きが悪くなるのを防ぐことができ、高速な加工制御を実現できる。また、この変形例では、補間後U軸パスのU軸上での各時点の位置座標を拘束条件としてL1~L6軸上での各時点の位置座標を求めるため、U軸と同じx軸成分を含むL1~L6軸上の位置座標として、U軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、U軸パスの補間によって生じた位置誤差は、ワーク加工時の工具106の動きに反映されず、高精度の加工制御を実現できる。
 また、上記実施形態では、移送軸パス導出部34が加工プログラムに含まれるW軸上での特定点の位置座標の軌跡と工具移送速度指令とに基づいてW軸パスを求めたが、W軸パスを導出するための構成は、このような構成に限定されない。例えば、移送軸パス導出部34は、ツールパス導出部32によって導出されたツールパスから特定の導出ルールに基づいてW軸パスを導出してもよい。ここで、特定の導出ルールとは、ツールパスが示すz軸座標に対して特定の比率(例えば1/2)を乗じて得た値をW軸パスのW軸座標とするというルールである。
 この構成によれば、ワークの加工時に工具106の先端点が通るべき複数の指令点の位置座標の情報と工具移送速度指令を含む加工プログラムを記憶部4に記憶させておくだけで、その加工プログラムからツールパス導出部32がツールパスを導出した後、そのツールパスから移送軸パス導出部34が自動的にW軸パスを導出するので、加工プログラムにおいてW軸上での特定点の位置座標の軌跡を指定しておく必要がなく、加工プログラムを簡略化することができる。
 また、同様に、上記変形例において、移送軸パス導出部34が、ツールパス導出部32によって導出されたツールパスから特定の導出ルールに基づいてU軸パスを導出してもよい。ここで、特定の導出ルールとは、例えばツールパスが示すx軸座標をそのままU軸パスのU軸座標とするというルールである。なお、この導出ルールとして、ツールパスが示すx軸座標に特定の比率を乗じて得た値をU軸パスのU軸座標とするというルールを採用してもよい。
 また、本発明による数値制御装置は、上記実施形態及び上記変形例で示したような工作機械以外の各種工作機械に適用することも可能である。上記実施形態及び上記変形例で示した工作機械以外の工作機械に本発明の数値制御装置を適用する場合において、第1移送軸と第2移送軸は、互いに平行な移送軸に限定されず、ワーク座標系における特定の同じ座標軸成分を含む移送軸であればよい。
 また、ツールパス局部フィルタ15bと移送軸パス局部フィルタ16bとによる分配区間幅及び補間区間幅の導出方法は、上記した方法に限定されるものではなく、上記方法以外の種々の導出方法により分配区間幅及び補間区間幅を求めてもよい。また、上記実施形態では、補間区間幅を分配区間幅に等しい大きさの区間幅としたが、補間区間幅はこのような区間幅に限定されない。すなわち、補間区間幅は、分配区間幅よりも大きい区間幅であってもよい。
 また、ツールパスの一次微分値を分配する際に用いる分配関数は、上記ベル型の分配関数に限定されず、ベル型以外の種々の分配関数によりその分配を行ってもよい。
 また、ツールパスの局部補間においては、補間区間内の補間対象点において必ずしも媒介変数による二次微分値が連続となるように補間する必要はない。例えば、ツールパスの補間区間内の補間対象点において媒介変数による一次微分値は連続となるが、二次微分値は依然不連続である状態にその補間区間を局部補間してもよい。
 また、滑らか補間後のパスにおいて媒介変数による二次微分値が上限値を超える区間が一定区間連続して存在する場合には、その一定区間分だけ分配区間を広げた区間を補間区間としてもよい。
 また、上記実施形態では、加工プログラムに工具の先端点が通るべき指令点のワーク座標系における位置座標の情報とその指令点に対応する工具軸ベクトルの情報とが含まれている例を示したが、加工プログラムに含まれる各指令点は、工具の先端点が通るべき位置座標と工具の姿勢を規定するA軸座標及びC軸座標からなっていてもよい。
[実施の形態の概要]
 前記実施形態をまとめると、以下の通りである。
 前記実施形態に係る数値制御装置は、ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために複数の移送軸に沿って動かす複数の移送装置を備え、前記複数の移送軸には、前記ワーク上に設定されたワーク座標系における特定の座標軸成分を含み、その特定の座標軸の座標に対して一意的に座標が定まらない不定軸である第1移送軸と第2移送軸とが含まれ、前記複数の移送装置には、前記移送対象物を前記第1移送軸に沿って動かす第1移送装置と、前記移送対象物を前記第2移送軸に沿って動かす第2移送装置とが含まれ、前記第2移送装置による前記第2移送軸に沿った前記移送対象物の移送の許容加速度が前記第1移送装置による前記第1移送軸に沿った前記移送対象物の移送の許容加速度よりも低い工作機械に設けられ、前記各移送装置に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、前記ワークの加工を指示する加工プログラムを記憶する記憶部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに基づいて、前記ワークの加工時における前記工具の動きをその工具の前記ワーク座標系での位置座標とその工具の移動の軌跡の積算長である媒介変数とによって表す関数を含むツールパスを求めるとともに、前記ワークの加工時に前記第2移送装置が前記移送対象物を動かす基準となる前記第2移送軸上での特定点の動きをその第2移送軸上の位置座標と前記媒介変数との関数によって表した第2移送軸パスを求めるパス導出部と、前記パス導出部によって求められた前記ツールパスをそのツールパスが表す前記工具の動きが滑らかになるように補間するツールパス補間部と、前記パス導出部によって求められた前記第2移送軸パスをその第2移送軸パスが表す前記第2移送軸上での前記特定点の動きが滑らかになるように補間する滑らか補間と、その滑らか補間後の第2移送軸パスの前記媒介変数による二次微分値が小さくなるように当該滑らか補間後の第2位移送軸パスを補間する局部補間とを行う第2移送軸パス補間部と、前記各移送軸に沿って前記移送対象物を動かすときのその移送軸毎の前記移送対象物の移送の許容加速度を含む加減速条件と、前記ツールパス補間部によって補間された後のツールパスである補間後ツールパスと、前記第2移送軸パス補間部による前記局部補間後の第2移送軸パスである補間後第2移送軸パスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、前記基準時刻の単位時間毎の各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各時点での前記各移送軸上の位置座標を求め、その求めた前記各時点での前記各移送軸上の位置座標からそれらの移送軸についての前記移送対象物の前記単位時間毎の移送量を求めて、その求めた単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、前記各移送装置に対して、前記パルス補間部によって求められた前記各移送軸についての前記特定周期毎の前記指令パルスのうちその移送装置に対応する前記移送軸についての前記指令パルスを出力し、その各移送装置に出力した当該指令パルスに応じて前記各移送装置に前記移送対象物を動かさせる制御部とを備え、前記パルス補間部は、前記媒介変数時間関数導出部によって求められた前記媒介変数時間関数に基づいて前記基準時刻の単位時間毎の各時点での前記媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する前記補間後ツールパスの前記ワーク座標系における位置座標及びその各時点での媒介変数に対応する前記補間後第2移送軸パスの前記第2移送軸上での位置座標を求め、その求めた前記第2移送軸上での位置座標を拘束条件とし、前記ワーク座標系における前記工具の位置座標と前記各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各移送軸上の位置座標を求める。
 この数値制御装置では、加工プログラムから求めた第2移送軸パスを補間し、補間後の第2移送軸パスが示す第2移送軸上の位置座標を拘束条件として補間後ツールパスの各時点の位置座標に対応する各移送軸上の位置座標を求めるため、第1移送軸と第2移送軸が不定軸となっていても、ツールパスに対応する第1及び第2移送軸上での前記各時点における位置座標を求めることができ、全ての移送軸について対応する移送装置の同時制御を行うことができる。しかも、この数値制御装置では、工作機械が、第2移送軸についての許容加速度が低い、すなわち、動きの緩慢な第2移送装置を含んでいても、その第2移送装置の緩慢な動きを許容加速度の高い第1移送装置による第1移送軸に沿った移送対象物の移送で補わせることにより、第2移送装置による第2移送軸についての低い許容加速度に支配されることなく、迅速かつ高精度の加工制御を実現できる。具体的には、この数値制御装置では、まず、第1移送軸上での移送対象物の移送の許容加速度よりも許容加速度が低い第2移送軸上での前記特定点の動きに関する第2移送軸パスをその第2移送軸パスの媒介変数による二次微分値が小さくなるように補間して第2移送軸についての移送対象物の速度変化が緩やかになるように当該第2移送軸パスを補間した上で、その補間後の第2移送軸パスが示す第2移送軸上での各時点の位置座標を拘束条件として各移送軸上の位置座標を求めるため、第2移送軸についての移送対象物の動きを緩やかにしてその動きの加速度を低い許容加速度に収めながら、第1移送軸上では、第2移送軸についての移送対象物の動きが緩やかになった分をカバーするような移送対象物の素早い動きを指示することができる。このため、加速性の良い第1移送装置については、第2移送装置の加速性の悪さを補う制御、すなわち、第2移送装置の加速性の悪さをカバーするように第1移送軸上で移送対象物を素早く移送する制御が行われる。このため、第2移送装置の加速性が極端に悪くても、それによって加工速度が制限を受けるのを防ぐことができ、工作機械に高速でのワークの加工を実施させることができる。また、この数値制御装置では、補間後の第2移送軸パスの第2移送軸上での各時点の位置座標を拘束条件として他の移送軸上での各時点の位置座標を求めるため、第2移送軸と同じ座標軸成分を含む第1移送軸上の位置座標として、第2移送軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、ワークの加工時には、第2移送軸パスの補間によって生じた位置誤差は移送対象物の動きに反映されない。その結果、工作機械に高い加工精度でのワークの加工を実施させることができる。
 上記数値制御装置において、前記記憶部に記憶された前記加工プログラムは、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と、前記工具の移送速度を示す工具移送速度指令と、前記指令点に対応する前記第2移送軸上での前記特定点の位置座標の情報とを含み、前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記第2移送軸上での前記特定点の位置座標の情報と前記工具移送速度指令とに基づいて前記第2移送軸パスを算出する第2移送軸パス導出部とを有していてもよい。
 この構成では、前記指令点の情報及び工具移送速度指令に加えて第2移送軸上での前記特定点の位置座標の情報を含む加工プログラムを記憶部に記憶させておけば、その加工プログラムに含まれる第2移送軸上での前記特定点の位置座標の情報と工具移送速度指令とから第2移送軸パスが求められるので、加工プログラムを作成する段階で任意に第2移送軸上での移送対象物の動きを指定することができる。このため、加工プログラムを作成する段階で、加速性の悪い第2移送装置による第2移送軸上での移送対象物の動作を任意に指定することができる。
 上記数値制御装置において、前記記憶部に記憶された前記加工プログラムは、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と、前記工具の移送速度を示す工具移送速度指令とを含み、前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、そのツールパス導出部によって算出されたツールパスから特定の算出ルールに基づいて前記第2移送軸パスを算出する第2移送軸パス導出部とを有していてもよい。
 この構成によれば、前記指令点の位置座標の情報と工具の移送速度指令を含む加工プログラムを記憶部に記憶させておくだけで、その加工プログラムからツールパス導出部がツールパスを算出した後、そのツールパスから第2移送軸パスが自動的に第2移送軸パスを算出するので、加工プログラムにおいて第2移送軸上での前記特定点の位置座標の軌跡を指定しておく必要がなく、加工プログラムを簡略化することができる。
 以上説明したように、前記実施形態によれば、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、全ての移送軸についての移送装置の同時制御を行うことができるとともに、高速かつ高い加工精度でのワークの加工を実施することができる。

Claims (3)

  1.  ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために複数の移送軸に沿って動かす複数の移送装置を備え、前記複数の移送軸には、前記ワーク上に設定されたワーク座標系における特定の座標軸成分を含み、その特定の座標軸の座標に対して一意的に座標が定まらない不定軸である第1移送軸と第2移送軸とが含まれ、前記複数の移送装置には、前記移送対象物を前記第1移送軸に沿って動かす第1移送装置と、前記移送対象物を前記第2移送軸に沿って動かす第2移送装置とが含まれ、前記第2移送装置による前記第2移送軸に沿った前記移送対象物の移送の許容加速度が前記第1移送装置による前記第1移送軸に沿った前記移送対象物の移送の許容加速度よりも低い工作機械に設けられ、前記各移送装置に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、
     前記ワークの加工を指示する加工プログラムを記憶する記憶部と、
     前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに基づいて、前記ワークの加工時における前記工具の動きをその工具の前記ワーク座標系での位置座標とその工具の移動の軌跡の積算長である媒介変数とによって表す関数を含むツールパスを求めるとともに、前記ワークの加工時に前記第2移送装置が前記移送対象物を動かす基準となる前記第2移送軸上での特定点の動きをその第2移送軸上の位置座標と前記媒介変数との関数によって表した第2移送軸パスを求めるパス導出部と、
     前記パス導出部によって求められた前記ツールパスをそのツールパスが表す前記工具の動きが滑らかになるように補間するツールパス補間部と、
     前記パス導出部によって求められた前記第2移送軸パスをその第2移送軸パスが表す前記第2移送軸上での前記特定点の動きが滑らかになるように補間する滑らか補間と、その滑らか補間後の第2移送軸パスの前記媒介変数による二次微分値が小さくなるように当該滑らか補間後の第2位移送軸パスを補間する局部補間とを行う第2移送軸パス補間部と、
     前記各移送軸に沿って前記移送対象物を動かすときのその移送軸毎の前記移送対象物の移送の許容加速度を含む加減速条件と、前記ツールパス補間部によって補間された後のツールパスである補間後ツールパスと、前記第2移送軸パス補間部による前記局部補間後の第2移送軸パスである補間後第2移送軸パスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、
     前記基準時刻の単位時間毎の各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各時点での前記各移送軸上の位置座標を求め、その求めた前記各時点での前記各移送軸上の位置座標からそれらの移送軸についての前記移送対象物の前記単位時間毎の移送量を求めて、その求めた単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、
     前記各移送装置に対して、前記パルス補間部によって求められた前記各移送軸についての前記特定周期毎の前記指令パルスのうちその移送装置に対応する前記移送軸についての前記指令パルスを出力し、その各移送装置に出力した当該指令パルスに応じて前記各移送装置に前記移送対象物を動かさせる制御部とを備え、
     前記パルス補間部は、前記媒介変数時間関数導出部によって求められた前記媒介変数時間関数に基づいて前記基準時刻の単位時間毎の各時点での前記媒介変数を求めるとともに、その求めた各時点での媒介変数に対応する前記補間後ツールパスの前記ワーク座標系における位置座標及びその各時点での媒介変数に対応する前記補間後第2移送軸パスの前記第2移送軸上での位置座標を求め、その求めた前記第2移送軸上での位置座標を拘束条件とし、前記ワーク座標系における前記工具の位置座標と前記各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点での前記補間後ツールパスの前記ワーク座標系における位置座標に対応した前記各移送軸上の位置座標を求める、数値制御装置。
  2.  請求項1に記載の数値制御装置において、
     前記記憶部に記憶された前記加工プログラムは、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と、前記工具の移送速度を示す工具移送速度指令と、前記指令点に対応する前記第2移送軸上での前記特定点の位置座標の情報とを含み、
     前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記第2移送軸上での前記特定点の位置座標の情報と前記工具移送速度指令とに基づいて前記第2移送軸パスを算出する第2移送軸パス導出部とを有する。
  3.  請求項1に記載の数値制御装置において、
     前記記憶部に記憶された前記加工プログラムは、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と、前記工具の移送速度を示す工具移送速度指令とを含み、
     前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、そのツールパス導出部によって算出されたツールパスから特定の算出ルールに基づいて前記第2移送軸パスを算出する第2移送軸パス導出部とを有する。
PCT/JP2012/004801 2011-07-29 2012-07-27 数値制御装置 WO2013018339A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/235,932 US20140156052A1 (en) 2011-07-29 2012-07-27 Numerical control device
EP12819293.7A EP2738633A4 (en) 2011-07-29 2012-07-27 DIGITAL CONTROL DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-167229 2011-07-29
JP2011167229A JP5417390B2 (ja) 2011-07-29 2011-07-29 数値制御装置

Publications (1)

Publication Number Publication Date
WO2013018339A1 true WO2013018339A1 (ja) 2013-02-07

Family

ID=47628890

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/004801 WO2013018339A1 (ja) 2011-07-29 2012-07-27 数値制御装置

Country Status (4)

Country Link
US (1) US20140156052A1 (ja)
EP (1) EP2738633A4 (ja)
JP (1) JP5417390B2 (ja)
WO (1) WO2013018339A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112936294A (zh) * 2021-04-08 2021-06-11 北京配天技术有限公司 一种机器人轨迹插补方法、装置及相关组件

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112013006637B4 (de) * 2013-02-22 2019-10-31 Mitsubishi Electric Corporation Numerische Steuervorrichtung und maschinelles Bearbeitungsverfahren
EP2853354B1 (de) * 2013-09-27 2018-05-16 Siemens Aktiengesellschaft Lageregelung mit Kollisionsvermeidung und Anpassung eines Maschinenmodells an die reale Maschine
WO2015111298A1 (ja) * 2014-01-23 2015-07-30 三菱電機株式会社 モータ制御装置
EP2919081B1 (de) * 2014-03-14 2016-12-28 Siemens Aktiengesellschaft Bearbeitungsmaschine mit Berücksichtigung von Lagefehlern bei Kollisionsprüfung
JP6254965B2 (ja) * 2015-02-24 2017-12-27 ファナック株式会社 スカイビング加工における工具補正機能を有する数値制御装置
CN106896811B (zh) * 2016-12-22 2018-11-09 北京京东尚科信息技术有限公司 可移动装置的控制方法及系统
JP6173628B1 (ja) * 2017-01-30 2017-08-02 株式会社ミツトヨ 形状測定装置の制御方法
US10877463B2 (en) * 2017-12-06 2020-12-29 D.P. Technology Corp. Systems, methods, and devices for toolpath virtualization and optimization
JP7022090B2 (ja) * 2019-03-07 2022-02-17 ファナック株式会社 工作機械の数値制御システム
CN114115131B (zh) * 2021-12-08 2023-02-03 中国科学院大学 一种应用于五轴数控机床的时间样条曲线拟合与插补方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225825A (ja) 2007-03-13 2008-09-25 Shin Nippon Koki Co Ltd 数値制御装置
WO2010032284A1 (ja) * 2008-09-16 2010-03-25 新日本工機株式会社 数値制御装置
JP2010182157A (ja) * 2009-02-06 2010-08-19 Shin Nippon Koki Co Ltd 補正装置及び数値制御装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514813A (en) * 1981-09-25 1985-04-30 Fanuc Ltd. System for correcting positional error in numerical control devices
JPS61156309A (ja) * 1984-12-27 1986-07-16 Toshiba Mach Co Ltd 速度段差平滑機能を備えた数値制御装置
JPH06202724A (ja) * 1992-12-28 1994-07-22 Fanuc Ltd 数値制御装置
JP3037881B2 (ja) * 1995-07-10 2000-05-08 ファナック株式会社 数値制御装置
DE102007027503A1 (de) * 2007-06-14 2009-01-08 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zur optimierten Bewegungskoordination von Mess- oder Werkzeugmaschinen mit redundanten translatorisch wirksamen Achsen
JP4298770B2 (ja) * 2007-08-28 2009-07-22 ファナック株式会社 干渉チェック機能を備えた数値制御装置
JP2011134169A (ja) * 2009-12-25 2011-07-07 Mitsubishi Heavy Ind Ltd 制御パラメータ調整方法及び調整装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225825A (ja) 2007-03-13 2008-09-25 Shin Nippon Koki Co Ltd 数値制御装置
WO2010032284A1 (ja) * 2008-09-16 2010-03-25 新日本工機株式会社 数値制御装置
JP2010182157A (ja) * 2009-02-06 2010-08-19 Shin Nippon Koki Co Ltd 補正装置及び数値制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2738633A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112936294A (zh) * 2021-04-08 2021-06-11 北京配天技术有限公司 一种机器人轨迹插补方法、装置及相关组件

Also Published As

Publication number Publication date
JP5417390B2 (ja) 2014-02-12
JP2013030101A (ja) 2013-02-07
EP2738633A1 (en) 2014-06-04
EP2738633A4 (en) 2015-01-14
US20140156052A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
JP5417390B2 (ja) 数値制御装置
JP5417391B2 (ja) 数値制御装置
JP5417392B2 (ja) 数値制御装置
Lyu et al. Dynamic error of CNC machine tools: a state-of-the-art review
US8478438B2 (en) Numerical control device
JP5009010B2 (ja) 数値制御装置
KR101928419B1 (ko) 공구경로의 생성방법 및 공작기계
CN108073137B (zh) 数值控制装置
US20030120376A1 (en) Numerical controller
EP1213634B1 (en) Numerically controlled method
JP5800888B2 (ja) テーブル形式データによる運転でのスムージング機能を備えた数値制御装置
KR102202250B1 (ko) 공구 경로 생성 방법 및 장치
KR100284668B1 (ko) 수치제어장치
JP6595273B2 (ja) 数値制御装置
JP5399537B2 (ja) 数値制御装置
JP5439548B2 (ja) 加工指令変換プログラム、記憶媒体及び加工指令変換装置
WO2022138843A1 (ja) 数値制御装置
WO2022176929A1 (ja) 送り軸の制御方法および装置
JPH11277469A (ja) パラレルリンク機構の制御方法及び制御装置
JPH09190211A (ja) 数値制御装置の経路制御方式
JP3902353B2 (ja) 数値制御装置
Alexander Spline interpolation and contour error pre-compensation for 5-axis machining

Legal Events

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

Ref document number: 12819293

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012819293

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14235932

Country of ref document: US