The present invention relates to a numerical control device.
Conventionally, various machine tools are used to machine a workpiece by numerically controlling, according to a machining program (NC program), a transfer device that moves a workpiece and a tool for machining the workpiece. As a conventional machine tool, a five-axis machine tool is known which includes a swinging device that swings a tool with respect to a central axis parallel to a specific plane on a table supporting a workpiece, a rotating device that relatively rotates the tool and the swinging device with respect to the table around an axis that is perpendicular to the specific plane, a transfer device that transfers the tool in an X axis direction on the specific plane, a transfer device that transfers the tool on the specific plane in a Y axis direction which is perpendicular to the X axis direction, and a transfer device that transfers the tool in a Z axis direction that is perpendicular to both the X axis and the Y axis. Japanese Patent Application Laid-open No. 2010-146176 described below presents a numerical control device that numerically controls such a five-axis machine tool.
With the numerical control device disclosed in Japanese Patent Application Laid-open No. 2010-146176, smooth machining of a workpiece is performed by obtaining a machining point curve that smoothly interpolates a locus of a machining point of a tip of the tool and a reference tool length position curve that smoothly interpolates a locus of a reference tool length position which is separated from the machining point toward a base end side of the tool by a certain distance and controlling rotation of the tool by the rotating device, swinging of the tool by the swinging device, and transfer of the tool in the X axis, Y axis, and Z axis directions by corresponding transfer devices so that the machining point of the tip of the tool travels along the machining point curve and the reference tool length position travels along the reference tool length position curve.
However, the control described above does not assume the possibility that, even when a tool axis vector extending from the machining point of the tip of the tool toward the reference tool length position varies only slightly, a direction of a projection tool axis vector that is projection of the tool axis vector on the specific plane varies significantly and, as a result, a sudden rotation of the tool and the swinging device with respect to the table may occur.
Specifically, for example, even when a tool axis vector (x, y, z) specified by a machining program varies slightly from (0.0001, 0, 1) to (0, 0.0001, 1), a direction of a projection tool axis vector varies by 90 degrees. In this case, a sudden rotation of the tool and the swinging device occurs as the rotating device rotates the tool and the swinging device by 90 degrees. Due to such a sudden rotation, a position of an actual machining point of the tool deviates from a position of the machining point that is specified by the machining program and machining accuracy of a workpiece may decline or a mechanical shock caused by the sudden rotation may be applied to the machine tool.
An object of the present invention is to prevent a relative sudden rotation of a tool and a table and suppressing a decline in machining accuracy of a workpiece and an occurrence of a mechanical shock even when a machining program includes a portion instructing a movement of a transfer object that causes a direction of a projection tool axis vector to suddenly vary.
A numerical control device according to an aspect of the present invention is a numerical control device provided in a machine tool including a plurality of transfer devices which move a transfer object which is a workpiece or a tool for machining the workpiece along a plurality of transfer axes in order to machine the workpiece and a table which supports the workpiece, the plurality of transfer devices including a swinging device which swings the tool in a direction of a swinging transfer axis which is centered on a first axis extending in a specific direction and a rotating device which relatively rotates the swinging device and the tool with respect to the table in a direction of a rotational transfer axis centered on a second axis extending in a direction which is perpendicular to the first axis, the numerical control device comprising: a storage unit which stores a machining program which instructs machining of the workpiece; a path derivation unit which reads the machining program stored in the storage unit and obtains a tip path and a midair path based on the machining program which has been read, the tip path representing a movement of a tip point of the tool during machining of the workpiece by a position coordinate of the tip point in a reference coordinate system and an intervening variable, the reference coordinate system being fixed on the table and including a specific plane perpendicular to the second axis, the intervening variable being an integrated length of a locus of a movement of the tool, the midair path representing a movement of a midair point by a position coordinate of the midair point in the reference coordinate system and the intervening variable, the midair point being a point which is separated from the tip point by a certain distance toward a base end side of the tool along an axis of the tool; a posture adjustment information derivation unit which performs obtaining, across all intervals of the tip path and the midair path, a projection tool axis vector that is a projection on the specific plane of a tool axis vector extending from the tip point on the tip path obtained by the path derivation unit toward the midair point on the midair path which corresponds to the tip point, specifying a posture adjustment location which is a location where a variation rate of a direction of the projection tool axis vector with respect to an increase of the intervening variable exceeds a certain variation rate among the tip path and the midair path, setting specific intervals before and after the specified posture adjustment location as a posture adjustment interval, and obtaining posture adjustment information for adjusting a posture of the tool in the posture adjustment interval so that a variation of the direction of the projection tool axis vector in the set posture adjustment interval becomes more gradual; an intervening variable time function derivation unit which obtains an intervening variable time function based on acceleration/deceleration conditions including an allowable acceleration of transfer of the transfer object for each transfer axis when moving the transfer object, the tip path and the midair path derived by the path derivation unit, and the posture adjustment information obtained by the posture adjustment information derivation unit, the intervening variable time function representing a variation in the intervening variable with respect to a lapse of a reference time; a transfer command derivation unit which performs obtaining a position coordinate of the tip point and the tool axis vector at each time point at every unit time of the reference time based on the tip path and the midair path derived by the path derivation unit, the intervening variable time function obtained by the intervening variable time function derivation unit, and the posture adjustment information obtained by the posture adjustment information derivation unit, obtaining a transfer amount per unit time of the transfer object in each transfer axis direction for moving the transfer object so that the tip point of the tool passes the obtained position coordinate of the tip point at each time point and that the tool axis vector of the tool matches the obtained tool axis vector at each time point, and setting the obtained transfer amount per unit time in each transfer axis direction as a transfer command in each transfer axis direction; and a control unit which outputs, to each transfer device, the transfer command in each transfer axis direction which corresponds to each transfer device among the transfer commands in the respective transfer axis directions obtained by the transfer command derivation unit to cause each transfer device to transfer the transfer object in accordance with the transfer command outputted to the transfer device, wherein: the transfer command derivation unit obtains the intervening variable corresponding to each time point based on the intervening variable time function obtained by the intervening variable time function derivation unit; with respect to an intervening variable within the posture adjustment interval among the obtained intervening variables of the respective time points, the transfer command derivation unit obtains a position coordinate of the tip point on the tip path corresponding to the intervening variable and a position coordinate of the midair point on the midair path corresponding to the intervening variable, adjusts the obtained position coordinate of the midair point based on the posture adjustment information so that a variation in the direction of the projection tool axis vector becomes more gradual, and obtains a tool axis vector extending from the obtained tip point to the adjusted midair point; while with respect to an intervening variable outside of the posture adjustment interval among the obtained intervening variables of the respective time points, the transfer command derivation unit obtains a position coordinate of the tip point on the tip path corresponding to the intervening variable and a tool axis vector extending from the tip point toward the midair point on the midair path corresponding to the intervening variable, and sets the obtained position coordinate of the tip point and the obtained tool axis vector as the position coordinate of the tip point and the tool axis vector at each time point.
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First, with reference to
The machine tool is a gate-shaped machine tool for machining a workpiece 100 as a machining object that is set on a table 101a with a tool 106 by moving the tool 106 on the workpiece 100. As shown in
The table 101a supports the workpiece 100 set on the table 101a from below. The bed 101b is installed at a prescribed installation location and supports the table 101a from below so that the table 101a is movable in an X axis direction that extends in a specific direction in a horizontal plane.
The table transfer device 102 is provided in the bed 101b and transfers the table 101a along the X axis in order to transfer the workpiece 100 set on the table 101a along the X axis. Moreover, the X axis is included in a concept of a transfer axis according to the present invention. The table transfer device 102 has a servomotor (not shown) as a drive source and transfers the table 101a using power generated by the motor.
The two columns 104 are erected separated from each other on both sides of the table 101a and the bed 101b in a direction perpendicular to a travel direction (X axis direction) of the table 101a (a width direction of the table 101a).
The cross rail 105 is arranged above the table 101a and is laid between the two columns 104 so as to extend in a width direction (a direction perpendicular to the X axis in a horizontal direction) of the table 101a.
The tool 106 is for cutting the workpiece 100 and is held by the main shaft head 108. The main shaft head 108 rotates the held tool 106 around the axis of the tool 106. Machining of the workpiece 100 is performed as the tool 106 being rotated by the main shaft head 108 is brought into contact with the workpiece 100.
In the present embodiment, the swinging device 110 swings the tool 106 in an A axis direction centered on an axis extending in a horizontal direction that is parallel to an upper surface of the table 101a. Moreover, the axis extending in a horizontal direction is included in a concept of a first axis according to the present invention, and the A axis is included in concepts of a transfer axis and a swinging transfer axis according to the present invention. The swinging device 110 includes a swinging support 110a and a swinging support transfer unit 110b (refer to
The rotating device 112 rotates the tool 106 and the swinging device 110 relative to the table 101a in a C axis direction centered on an axis extending in a direction perpendicular to an axis that is a center of swinging of the tool 106 by the swinging device 110. Moreover, the axis that extends in a direction perpendicular to an axis that is a center of swinging of the tool 106 is included in a concept of a second axis according to the present invention, and the C axis is included in concepts of a transfer axis and a rotational transfer axis according to the present invention. The rotating device 112 includes a rotating support 112a and a rotating support transfer unit 112b (refer to
The vertical transfer device 114 transfers the tool 106 along the Z axis that is perpendicular to the X axis and extends in a vertical direction. Moreover, the Z axis is included in a concept of a transfer axis according to the present invention. The vertical transfer device 114 includes a ram 114a and a ram transfer unit 114b (refer to
The horizontal transfer device 116 transfers the tool 106 along the Y axis that is perpendicular to both the X axis and the Z axis. Moreover, the Y axis is included in a concept of a transfer axis according to the present invention. The horizontal transfer device 116 includes a saddle 116a and a saddle transfer unit 116b (refer to
The control box 120 has functions for controlling operations of the table transfer device 102, the swinging device 110, the rotating device 112, the vertical transfer device 114, and the horizontal transfer device 116, controlling operations of the main shaft head 108, and controlling various other parts of the machine tool. The numerical control device 2 according to the present embodiment is built into the control box 120.
Next, a configuration of the numerical control device 2 according to the present embodiment will be described.
The numerical control device 2 according to the present embodiment numerically controls the respective transfer devices 102, 110, 112, 114, and 116 by outputting a command pulse (transfer command) for each specific period to the table transfer device 102 and the respective transfer units 110b, 112b, 114b, and 116b. As shown in
The storage unit 4 stores workpiece placement information, information on a specific plane (to be described later), a machining program (an NC program), a distance parameter that is a constant value, and a transfer axis coordinate calculation function.
Workpiece placement information is information describing a position and a posture of the workpiece 100 on the table 101a. Specifically, workpiece placement information describes a relative position and inclination of a workpiece coordinate system with respect to a reference coordinate system, the workpiece coordinate system being a program coordinate system fixed on the workpiece 100 placed on the table 101a. Moreover, a reference coordinate system refers to a coordinate system which is fixed (set) on the table 101a and which acts as a reference of transfer of a transfer object. The reference coordinate system is constituted by an x axis that is parallel to a transfer direction (the X axis direction) of the table 101a in a horizontal plane, a y axis which is perpendicular to the x axis in the horizontal plane and which is parallel to the Y axis, and a z axis which is perpendicular to both the x axis and the y axis and which is parallel to the Z axis. In addition, the reference coordinate system includes a specific plane (an xy plane) that is perpendicular to an axis (an axis that is a center of the C axis direction that is a rotating direction of the tool 106) extending in a direction perpendicular to the axis that is a center of swinging of the tool 106. Furthermore, the workpiece coordinate system is constituted by an x′ axis, a y′ axis, and a z′ axis which are perpendicular to one another.
Workpiece placement information is constituted by information on a relative position (a parallel shift amount of the workpiece coordinate system with respect to the reference coordinate system) of a workpiece coordinate system in a reference coordinate system (xyz coordinate system) and information on an inclination of the workpiece coordinate system with respect to the reference coordinate system. Specifically, workpiece placement information is expressed by a relative relationship between the workpiece coordinate system (x′y′z′ coordinate system) and the reference coordinate system (xyz coordinate system) and is constituted by (x0, y0, z0, α, β, γ), where (x0, y0, z0) denotes a coordinate value of an origin of the workpiece coordinate system in the reference coordinate system and (α, β, γ) denotes an Euler angle representing a posture of rotation of the workpiece coordinate system with respect to the reference coordinate system. The workpiece placement information is inputted using an input device (not shown) when placing the workpiece 100 on the table 101a and is stored in the storage unit 4.
The machining program is a machining command for instructing machining of the workpiece 100. The machining program includes a tool path in the workpiece coordinate system. A tool path represents a locus of a movement of the tool 106 in accordance with a lapse of reference time during machining of the workpiece 100. The tool path includes position coordinates of a large number of command points which a tip of the tool 106 passes during machining of the workpiece 100, information on a tool axis vector that defines a posture (an inclination) of the tool 106 at each command point, and a feed speed command indicating a speed along a movement locus of the tool 106, the position coordinates being coordinates in the workpiece coordinate system. In addition, the movement locus of the tool represented by the tool path constitutes a ruled surface which connects adjacent command points among the large number of command points included in the tool path and which satisfies an inclination of the tool axis vector at each command point.
The distance parameter is a control parameter representing a distance of separation between a tip point of the tool 106 and a midair point (to be described later) corresponding to the tip point.
The transfer axis coordinate calculation function is a function that defines a relationship between a position coordinate of a tip point in the reference coordinate system corresponding to an arbitrary intervening variable, a tool axis vector which corresponds to the arbitrary intervening variable and which originates at the tip point, and each transfer axis coordinate. The transfer axis coordinate calculation function is a function for calculating a position coordinate at which each of the transfer devices 102, 110, 112, 114, and 116 arranges the transfer object in a corresponding transfer axis direction to have the tool 106 assume a position and a posture which cause the tip point of the tool 106 to be positioned at a prescribed position coordinate and the tool axis vector of the tool 106 to assume a prescribed tool axis vector.
In addition, the storage unit 4 stores acceleration/deceleration conditions when moving the transfer object during machining of the workpiece 100 and other setting values (parameters). Examples of acceleration/deceleration conditions include an allowable velocity, an allowable acceleration, and an allowable jerk which are set for each transfer axis direction when each of the transfer devices 102, 110, 112, 114, and 116 transfers the transfer object, an allowable velocity, an allowable acceleration, and an allowable jerk of travel including a posture variation of the tool 106 with respect to the workpiece 100, and an upper limit value of velocity of an intervening variable that is an integrated value of travel amounts including a posture variation of the tool 106, an upper limit value of acceleration of the intervening variable, and an upper limit value of jerk of the intervening variable. Moreover, the intervening variable is an integrated value of travel amounts including a posture variation of the tool 106. Specifically, the intervening variable is an integrated value of a value obtained by adding a variation of a posture (an incline) of the tool 106 to a travel amount of a tip point of the tool 106. In the present embodiment, the intervening variable is constituted by an average value of a travel amount of the tip point of the tool 106 and a travel amount of a midair point that is separated from the tip point along an axis of the tool 106 by the distance parameter toward a base end side of the tool 106.
The memory 5 temporarily stores various types of information and stores, for example, a post-local interpolation tip path (to be described later), posture adjustment information, and other types of information.
The operation processing unit 6 performs various operation processing and includes, as functional blocks, a path derivation unit 12, a posture adjustment information derivation unit 16, an intervening variable time function derivation unit 18, a transfer command derivation unit 20, and a control unit 22.
The path derivation unit 12 reads the machining program stored in the storage unit 4 and obtains a tip path and a midair path of the tool 106 based on the read machining program. A tip path represents a movement of a tip point of the tool 106 during machining of the workpiece 100 by a function of a position coordinate of the tip point in the reference coordinate system and the intervening variable, and a midair path represents a movement of a midair point of the tool 106 during machining of the workpiece 100 by a function of a position coordinate of the midair point in the reference coordinate system and the intervening variable. The path derivation unit 12 includes a pre-interpolation path derivation unit 13 and a path interpolation unit 14 as functional blocks.
The pre-interpolation path derivation unit 13 calculates a pre-interpolation tip path and a pre-interpolation midair path from a tool path included in the machining program. Specifically, from the machining program read from the storage unit 4, the pre-interpolation path derivation unit 13 reads a tool path in the workpiece coordinate system (a workpiece coordinate system tool path) included in the machining program. In addition, based on the workpiece placement information stored in the storage unit 4, the pre-interpolation path derivation unit 13 transforms the read workpiece coordinate system tool path into a tool path in the reference coordinate system (a reference coordinate system tool path), and calculates a pre-interpolation tip path and a pre-interpolation midair path from the transformed reference coordinate system tool path. The pre-interpolation path derivation unit 13 causes the storage unit 4 to store the calculated pre-interpolation tip path and pre-interpolation midair path.
The path interpolation unit 14 respectively interpolates the pre-interpolation tip path and the pre-interpolation midair path calculated by the pre-interpolation path derivation unit 13. In this case, interpolation refers to correcting the pre-interpolation tip path and the pre-interpolation midair path so that loci traced by the respective paths become smooth curves. The path interpolation unit 14 includes a smooth interpolation unit 14a and a path local filter 14b as functional blocks.
The smooth interpolation unit 14a performs smooth interpolation in which the pre-interpolation tip path calculated by the pre-interpolation path derivation unit 13 is interpolated so that a movement of a tip point represented by the path becomes smooth and the pre-interpolation midair path calculated by the pre-interpolation path derivation unit 13 is interpolated so that a movement of a midair point represented by the path becomes smooth. Specifically, the smooth interpolation unit 14a performs so-called block smooth interpolation on a portion with an analytical possibility of being interpolated into a smooth curve passing through a command point among both paths calculated by the pre-interpolation path derivation unit 13. Specifically, the smooth interpolation unit 14a assumes an interval between adjacent command points among the pre-interpolation tip path to be a command block and interpolates the pre-interpolation tip path so that the command block and an adjacent command block are smoothly connected at a command point on a boundary between the command blocks. More specifically, the smooth interpolation unit 14a interpolates a tip path so that a primary differential value and a secondary differential value of the pre-interpolation tip path with respect to an intervening variable continuously vary before and after a command point on a boundary between adjacent command blocks and that the tip path passes through the command point. However, there are cases where a pre-interpolation tip path includes a section in which a variation of a locus of the tip path with respect to a variation of the intervening variable is sudden and in which the tip path cannot be interpolated by such a block smooth interpolation into a smooth curve that passes through a command point of the locus. Examples of such a section include an abnormal data portion in which increase/decrease is repeated in minute units and a corner portion that is intentionally specified by the machining program. In addition, a pre-interpolation tip path also includes a section that is left as-is without being interpolated by the smooth interpolation unit 14a even if a secondary differential is discontinuous such as a tangent point portion between a straight line and an arc and a tangent point portion between circles. The smooth interpolation unit 14a does not interpolate such sections among the pre-interpolation tip path and retains the original path, and smoothly interpolates a portion that can be interpolated into a curve which passes through the command point and in which a primary differential value and a secondary differential value with respect to the intervening variable respectively continuously vary before and after the command point. Furthermore, the smooth interpolation unit 14a subjects the pre-interpolation midair path to smooth interpolation similar to that performed on the pre-interpolation tip path.
The path local filter 14b performs the local interpolation on a section among the pre-interpolation tip path and the pre-interpolation midair path, the section being a section which had not been interpolated by the path smooth interpolation unit 14a, in which a primary differential or a secondary differential varies discontinuously, and in which a velocity indicated by the section is not zero.
Specifically, the path local filter 14b sets, as interpolation object points, a command point at which a primary differential value with respect to the intervening variable is continuous and a secondary differential value with respect to the intervening variable is discontinuous and a command point at which a primary differential value with respect to the intervening variable is discontinuous among the pre-interpolation tip path with the exception of a location at which the velocity is 0 (a location at which a temporary stop is made during machining). In addition, the path local filter 14b locally interpolates an interpolation interval which has an interpolation interval width (to be described later) before and after an interpolation object point among the pre-interpolation tip path and in which an interpolation object point is positioned at a center of the interpolation interval width so that a differential value that is discontinuous at the interpolation object point becomes continuous.
More specifically, the path local filter 14b performs the following local interpolation processing on the pre-interpolation tip path. Locations that are locally interpolated by the path local filter 14b include a corner portion such as that shown in
As a specific configuration of the path local filter 14b, the path local filter 14b includes a local interpolation unit 14c and an error correction unit 14d as functional blocks (refer to
The local interpolation unit 14c obtains an error-having tip interpolation path that is interpolated so that a variation in a differential value which is discontinuous at an interpolation object point within an interpolation interval becomes a continuous variation by performing interpolation processing on each of a plurality of interpolation blocks having a portion included in an adjustment interval that is a tip path interpolation interval extended in both longitudinal directions to obtain a post-interpolation function of each interpolation block and integrating the post-interpolation functions to obtain a post-interpolation integrated function, and extracting an interval corresponding to an interpolation interval from the obtained post-interpolation integrated function. In addition, the local interpolation unit 14c performs similar processing to obtain an error-having midair interpolation path of the midair path which is interpolated so that a variation of a differential that is discontinuous at an interpolation object point within an interpolation interval becomes continuous.
The error correction unit 14d corrects the error-having tip interpolation path obtained by the local interpolation unit 14c so that a value corresponding to a start point of the interpolation interval of the error-having tip interpolation path equals a value of a start point of an interpolation interval of a tip path which has not been subjected to local interpolation and that a value corresponding to an end point of the interpolation interval of the error-having tip interpolation path equals a value of an end point of an interpolation interval of a tip path which has not been subjected to local interpolation, and replaces the interpolation interval of the tip path with the corrected tip interpolation path to derive a post-local interpolation tip path. In addition, the error correction unit 14d performs similar processing to derive a post-local interpolation midair path by correcting the error-having midair interpolation path and replacing the interpolation interval of the midair path with the corrected midair interpolation path.
The posture adjustment information derivation unit 16 specifies a posture adjustment location where a direction of a tool axis vector extending from a tip point toward a midair point corresponding to the tip point varies suddenly among the post-local interpolation tip path and the post-local interpolation midair path, extracts a posture adjustment interval that is an interval of an intervening variable before and after the specified posture adjustment location, and obtains posture adjustment information for adjusting a posture of the tool 106 in the posture adjustment interval so that a variation of the direction of the tool axis vector in the posture adjustment interval becomes gradual. Moreover, as the posture adjustment location where the posture of the tool 106 is to be adjusted, the posture adjustment information derivation unit 16 specifies a location where an angle formed by a tool axis vector with respect to an advancing direction of the post-local interpolation tip path increases and decreases within a short travel distance of the tool 106 among the post-local interpolation tip path and the post-local interpolation midair path, and a location where a variation rate of a direction of a projection tool axis vector with respect to an increase in the intervening variable exceeds a constant variation rate set as a parameter among the post-local interpolation tip path and the post-local interpolation midair path, the projection tool axis vector being a projection of the tool axis vector on the specific plane. In addition, examples of a location where a variation rate of a direction of a projection tool axis vector with respect to an increase in the intervening variable exceeds a constant variation rate include: an interval where a locus traced by a projection tip path that is a projection of the post-local interpolation tip path on the specific plane and a locus traced by a projection midair path that is a projection of the post-local interpolation midair path on the specific plane are separated from one another and a variation rate of an angle formed between the projection tool axis vector and a reference direction (in the present embodiment, a y axis direction) on the specific plane with respect to an increase in the intervening variable exceeds a constant variation rate; an interval including points where a locus traced by the post-local interpolation tip path and a locus traced by the post-local interpolation midair path overlap one another as seen from a direction perpendicular to the specific plane (intersections and tangent points of both loci); and an interval including a location having successive points at which both loci overlap each other. Furthermore, with respect to a posture adjustment location including an intersection at which a locus traced by the post-local interpolation tip path and a locus traced by the post-local interpolation midair path intersect one another as seen from a direction perpendicular to the specific plane, the posture adjustment information derivation unit 16 obtains posture adjustment information satisfying a condition that a midair point of the tool 106 is positioned at a point of the post-local interpolation midair path corresponding to the intersection with respect to an intervening variable for which a tip point of the tool 106 is positioned at a point of the post-local interpolation tip path corresponding to the intersection.
Specifically, the posture adjustment information derivation unit 16 tracks variations in the posture of the tool 106 as represented by the post-local interpolation tip path and the post-local interpolation midair path, finds a location where a correspondence relationship of a midair point on the post-local interpolation midair path associated with a tip point on the post-local interpolation tip path is to be adjusted and/or a location where a direction of the projection tool axis vector (at a singular point where a length of the projection tool axis vector becomes 0, a reference for calculating an angle of a C axis coordinate) is to be adjusted, obtains posture adjustment information including information on the posture adjustment interval and a tip-midair correspondence adjustment function S(c) and/or a direction specification function C(s), and registers the posture adjustment information in the memory 5. The tip-midair correspondence adjustment function S(s) is a function used to adjust a midair point on the post-local interpolation midair path to be associated with a tip point on the post-local interpolation tip path. The tip-midair correspondence adjustment function S(s) is included in a concept of a tip-midair correspondence relationship according to the present invention. The tip-midair correspondence adjustment function S(s) defines a correlation between an arbitrary intervening variable and a midair point specifying intervening variable that is an intervening variable for specifying a prescribed point on the post-local interpolation midair path so that a travel distance along the post-local interpolation tip path from a point corresponding to a start point of a posture adjustment interval among the post-local interpolation tip path to an arbitrary point corresponding to the arbitrary intervening variable in the posture adjustment interval and a travel distance along the post-local interpolation midair path from a point corresponding to a start point of a posture adjustment interval among the post-local interpolation midair path to the prescribed point on the post-local interpolation midair path to be associated with the arbitrary point on the post-local interpolation tip path are maintained at a constant ratio. In addition, the direction specification function C(s) is a function used to adjust a direction of the projection tool axis vector (at a singular point where the length of the projection tool axis vector becomes 0, a reference for calculating an angle of a C axis coordinate). The direction specification function C(s) defines a relationship between a direction specifying angle and an intervening variable in a posture adjustment interval so that the direction specifying angle varies at an equal rate from a start point to an end point of the posture adjustment interval, the direction specifying angle being an angle formed between a control line and the reference direction on the specific plane, the control line being a straight line passing through a point on a projection tip path and a point on a projection midair path corresponding to the point on the projection tip path.
The intervening variable time function derivation unit 18 obtains an intervening variable time function (a velocity curve of the intervening variable) representing a variation in the intervening variable with respect to a lapse of a reference time based on the acceleration/deceleration conditions stored in the storage unit 4, the post-local interpolation tip path and the post-local interpolation midair path, and posture adjustment information derived by the posture adjustment information derivation unit 16 and registered in the memory 5. Specifically, using the transfer axis coordinate calculation function stored in the storage unit 4, the intervening variable time function derivation unit 18 calculates respective transfer axis paths (an X axis path, a Y axis path, a Z axis path, an A axis path, and a C axis path) based on the post-local interpolation tip path, the post-local interpolation midair path, and the posture adjustment information. In addition, the intervening variable time function derivation unit 18 obtains an approximate value of a primary differential value of each calculated transfer axis path with respect to the intervening variable and an approximate value of a secondary differential value of each calculated transfer axis path with respect to the intervening variable, sets an upper limit value of velocity of an intervening variable s of each block from a primary differential approximate value and a secondary differential approximate value in each block between respective command points so as to satisfy a condition that an acceleration of the transfer object in each transfer axis direction does not exceed an allowable acceleration in the transfer axis direction included in the acceleration/deceleration conditions, and derives an intervening variable time function representing a maximum acceleration which prevents a velocity of the transfer object in each transfer axis direction from exceeding the upper limit value of velocity in each block and which enables transfer of the transfer object along the post-local interpolation tip path and the post-local interpolation midair path within a range of allowable acceleration.
The transfer command derivation unit 20 obtains a transfer amount of the transfer object per reference unit time (per specific period) in each transfer axis direction based on the intervening variable time function derived by the intervening variable time function derivation unit 18, the post-local interpolation tip path, the post-local interpolation midair path, the posture adjustment information, and the transfer axis coordinate calculation function, and sets, as a command pulse, the obtained transfer amount of the transfer object per reference unit time in each transfer axis direction. Moreover, a reference unit time refers to a unit time of the reference time. In addition, a command pulse is included in a concept of a transfer command according to the present invention.
Specifically, the transfer command derivation unit 20 obtains an intervening variable corresponding to each time point per reference unit time of the reference time based on the intervening variable time function derived by the intervening variable time function derivation unit 18. In addition, with respect to an intervening variable within a posture adjustment interval among the derived intervening variables of the respective time points, the transfer command derivation unit 20 obtains a position coordinate of a tip point on the post-local interpolation tip path corresponding to the intervening variable and a tool axis vector extending from the tip point toward a midair point on a post-local interpolation midair path for which a relative positional relationship with respect to the tip point has been adjusted based on the posture adjustment information so that a variation of a direction of the projection tool axis vector becomes gradual. Furthermore, with respect to an intervening variable outside of a posture adjustment interval among the derived intervening variables of the respective time points, the transfer command derivation unit 20 obtains a position coordinate of a tip point on the post-local interpolation tip path corresponding to the intervening variable and a tool axis vector extending from the tip point toward a midair point on a post-local interpolation midair path corresponding to the intervening variable. In addition, the transfer command derivation unit 20 obtains a transfer amount of the transfer object per reference unit time in each transfer axis direction for moving the transfer object so that the tip point of the tool 106 passes the position coordinate of the tip point obtained for the intervening variable at each time point and that the tool axis vector of the tool 106 matches the tool axis vector obtained for the intervening variable at each time point. Specifically, the transfer command derivation unit 20 obtains a position coordinate on each transfer axis corresponding to the intervening variable at each time point using the transfer axis coordinate calculation function from the position coordinate of the tip point and the tool axis vector obtained for the intervening variable at each time point as described above, obtains a variation per reference unit time of the position coordinate on each transfer axis from the obtained position coordinate on each transfer axis at each time point, and sets the variation as a transfer amount per reference unit time of the transfer object in a direction of a corresponding transfer axis. The transfer command derivation unit 20 sets the transfer amount per reference unit time of the transfer object in each transfer axis direction obtained in this manner as a command pulse per reference unit time (per specific period).
The control unit 22 controls operations of the respective transfer devices 102, 110, 112, 114, and 116. The control unit 22 causes the respective transfer devices 102, 110, 112, 114, and 116 to transfer the transfer object in accordance with a command pulse per specific period obtained by the transfer command derivation unit 20. Specifically, the control unit 22 outputs, to the respective servomotors, command pulses representing a transfer amount in transfer axis directions respectively corresponding to the servomotor of the table transfer device 102 and servomotors of the transfer units 110b, 112b, 114b, and 116b among the command pulses per specific period for respective transfer axis directions obtained by the transfer command derivation unit 20. Accordingly, the control unit 22 causes the respective transfer devices 102, 110, 112, 114, and 116 to transfer the transfer object in accordance with the outputted command pulse.
Next, a numerical control process by the numerical control device 2 according to the present embodiment will be described with reference to the flow charts shown in
First, the path derivation unit 12 reads the machining program (NC program) stored in the storage unit 4 (step S1 in
Next, the smooth interpolation unit 14a of the path interpolation unit 14 respectively performs block smooth interpolation on the pre-interpolation tip path and the pre-interpolation midair path obtained by the pre-interpolation path derivation unit 13 (step S3).
The smooth interpolation unit 14a interpolates the pre-interpolation tip path so that a primary differential and a secondary differential continuously vary before and after a command point positioned on a boundary between adjacent command blocks among the pre-interpolation tip path and that a tip path after interpolation passes through the command point. In doing so, the smooth interpolation unit 14a performs block smooth interpolation on only a portion on which such interpolation is analytically possible among the pre-interpolation tip path and retains the locus of the original pre-interpolation tip path without performing interpolation for portions on which such interpolation is analytically impossible. Specifically, the smooth interpolation unit 14a retains the original locus without performing interpolation for a portion in which a bending angle of the pre-interpolation tip path at a command point is greater than a certain angle set in advance and a portion in which an error generated on the tip path after performing block smooth interpolation with respect to the pre-interpolation tip path is greater than an allowable error set in advance. The smooth interpolation unit 14a performs block smooth interpolation in a similar manner on the pre-interpolation midair path.
Next, the path local filter 14b locally interpolates the tip path after block smooth interpolation and the midair path (step S4). The path local filter 14b sets, as interpolation object points, a command point at which a variation in a primary differential value with respect to the intervening variable is continuous and a variation in a secondary differential value with respect to the intervening variable is discontinuous among the tip path after smooth interpolation and a command point at which a variation in a primary differential value with respect to the intervening variable is discontinuous among the tip path after smooth interpolation, and locally interpolates only an interpolation interval with a specific interval width before and after the interpolation object point among the tip path after smooth interpolation. Accordingly, a vicinity of a command point which has not been subjected to the block smooth interpolation among the tip path is locally interpolated so that a variation in a differential value that had been discontinuous at the command point becomes a continuous variation. A detailed process of the local interpolation which is performed by the path local filter 14b is shown in
In the local interpolation, first, the local interpolation unit 14c of the path local filter 14b determines whether or not an interpolation object point for which an interpolation interval width that is an interval width of an interpolation interval has not been calculated exists on the tip path after smooth interpolation (step S12). When the local interpolation unit 14c determines that such an interpolation object point exists on the tip path after smooth interpolation, the local interpolation unit 14c calculates a distributed interval width and an interpolation interval width of the interpolation object point for which the interpolation interval width has not been calculated (step S14). Moreover, a distributed interval width refers to an interval width in which a primary differential value of the path with respect to the intervening variable is distributed based on a distribution function.
In step S14, the local interpolation unit 14c first calculates a distributed interval width and then obtains an interpolation interval width as an interval width equal to or greater than the calculated distributed interval width. Moreover, in the present embodiment, the local interpolation unit 14c obtains an interval width that is equal in size to a distributed interval width as an interpolation interval width. When primary differential values of the tip path with respect to the intervening variable differ before and after an interpolation object point, with respect to a coordinate axis of a reference coordinate system with a maximum difference between the primary differential values before and after the interpolation object point, the local interpolation unit 14c obtains a distributed interval width so as to satisfy a condition that a positional error at the interpolation object point between the tip path before local interpolation and the tip path after local interpolation equals an allowable error on the coordinate axis. Specifically, for example, a distributed interval width is calculated as follows.
While a calculation formula for a distributed interval width differs depending on a distribution function used to perform distribution of a primary differential value of the path (to be described later), in this case, the calculation method of a distributed interval width is explained on the assumption that a linear distribution function is to be used to perform distribution of a primary differential value of the path to be described later.
Let us assume that, among the respective coordinate axes of the reference coordinate system, an x axis has a maximum difference between a value b1 immediately before an interpolation object point and a value b2 immediately after the interpolation object point of a primary differential value of the tip path with respect to the intervening variable s. In this case, a primary differential function x′(s) with respect to the intervening variable s at a position coordinate x of the tip path on the x axis may be represented by Expression (1) below. Moreover, the primary differential function x′(s) is depicted by a bold line in
x′(s)=dx/ds=αs+b1 (1)
Note that a is a prescribed coefficient. Here, a positional error at an interpolation object point of the tip path after local interpolation with respect to the tip path before local interpolation corresponds to an area of a hatched region in
E=A×(b2−b1)/8 (2)
Now, if an allowable error on the x axis is denoted by τ, then the distributed interval width A satisfying a condition that the error E is equal to the allowable error τ is obtained by Expression (3) below from Expression (2).
A=8τ/(b2−b1) (3)
Moreover, when the value of the distributed interval width obtained by Expression (3) exceeds an upper limit parameter set in advance, a value of the upper limit parameter is set as the distributed interval width A. In the present embodiment, an interval width equal to the distributed interval width A calculated as described above is set as an interpolation interval width.
Next, the local interpolation unit 14c determines whether or not an interpolation interval with respect to a currently-targeted interpolation object point overlaps with an interpolation interval of another interpolation object point (step S16). At this point, if the local interpolation unit 14c determines that the interpolation intervals do not overlap each other, the local interpolation unit 14c returns to step S12 and repetitively performs subsequent processes. On the other hand, when the local interpolation unit 14c determines that the interpolation intervals overlap each other, the local interpolation unit 14c couples the overlapping interpolation intervals with each other and creates a single interpolation interval (step S18). Specifically, the local interpolation unit 14c assumes, as a single interpolation interval, an interval between a start point of an interpolation interval that is positioned closest to a start point of the tip path among the overlapping interpolation intervals and an end point of an interpolation interval that is positioned closest to an end point of the tip path among the overlapping interpolation intervals. Moreover, in this case, as the distributed interval width to be used when performing distribution (to be described later) with respect to the single coupled interpolation interval, a smallest distributed interval width among the distributed interval widths corresponding to the respective interpolation intervals is adopted. Subsequently, a return is made to step S12 and subsequent processes are repetitively performed.
When the local interpolation unit 14c determines in step S12 that there are no more interpolation object points on the tip path for which an interpolation interval width has not been calculated, the local interpolation unit 14c next extracts a single interpolation interval on which subsequent local interpolation processing is to be performed (step S20). At this point, when there are a plurality of interpolation intervals on the tip path on which local interpolation processing has not been performed, the local interpolation unit 14c extracts an interpolation interval that is positioned closest to the start point of the tip path among the interpolation intervals. Moreover, the interpolation interval coupled in step S18 is treated as a single interpolation interval.
Subsequently, the local interpolation unit 14c obtains an adjustment interval with respect to the extracted interpolation interval (step S22). The adjustment interval (refer to
Next, the local interpolation unit 14c extracts an interpolation block that is a command block of the tip path for performing interpolation processing to obtain a post-interpolation function (to be described later) (step S26). Specifically, the local interpolation unit 14c selects a plurality of command blocks (command blocks p0(s) to p5(s) of tip path in
Next, the local interpolation unit 14c obtains a post-interpolation function of the extracted interpolation block (step S28). In the present embodiment, the local interpolation unit 14c obtains a post-interpolation function using a linear distribution function f(s). The linear distribution function f(s) is represented by Expression (4) below.
f(s)=1/A(−A/2≦s≦A/2) (4)
Moreover, f(s)=0 holds true outside of the distributed interval −A/2≦s≦A/2.
When calculating a post-interpolation function, the local interpolation unit 14c first sets an integration interval [s−A/2, s+A/2] having, as a center, each first position s at which the intervening variable differs in the extracted interpolation block and having an interval width equal to the distributed interval width A. Subsequently, the local interpolation unit 14c obtains a primary differential pi′(S) of the tip path with respect to the intervening variable at each second position S at which the intervening variable in the set integration interval [s−A/2, s+A/2] differs, and integrates, over the integration interval [s−A/2, s+A/2], a post-distribution differential function pi′(S)·f(s−S) obtained when distributing the primary differential pi′(S) at each second position S based on the distribution function f(s) in a distributed interval having the second position S as a center and having the distributed interval width A to obtain a post-interpolation function qi′(s). In other words, the local interpolation unit 14c obtains the post-interpolation function qi′(s) of the interpolation block pi(s) according to Expression (5) below.
qi′(s)=∫S=s−A/2S=s+A/2(pi′(S)·(s−S))dS (5)
The post-interpolation function qi′(s) obtained in this manner is expressed differently between a case where the interval width of the interpolation block pi(s) is greater than the interpolation interval width A and a case where the interval width of the interpolation block pi(s) is smaller than the interpolation interval width A. The post-interpolation function qi′(s) in each case is as follows.
When the interval width of the interpolation block pi(s) is greater than the interpolation interval width A (=2a), if t[i] denotes a command point closer to the start point of the tip path among the two command points that define both ends of the interpolation block pi(s) and t[i+1] denotes a command point closer to the end point of the tip path among the two command points and an interval width that is half of the interpolation interval width A is denoted by a, then an interval corresponding to the interpolation block pi(s) is expressed as t[i]<s<t[i+1] and a relationship expressed as t[i]−a<t[i]+a<t[i+1]−a<t[i+1]+a holds true (refer to
In this case, the post-interpolation function qi′(s) obtained by the interpolation processing is subdivided into a function qi11′(s) of an interval expressed as t[i]−a<s<t[i]+a, a function qi12′(s) of an interval expressed as t[i]+a<s<t[i+1]−a, and a function qi13′(s) of an interval expressed as t[i+1]−a<s<t[i+1]+a.
The function qi11′(s) of the interval t[i]−a<s<t[i]+a is represented by Expression (6) below.
qi11′(s)=∫S=t[i]S=s+a(pi′(S)·f(s−S))dS=(pi(s+a)−pi(t[i]))/2a (6)
The function qi12′(s) of the interval t[i]+a<s<t[i+1]−a is represented by Expression (7) below.
qi12′(s)=∫S=s−aS=s+a(pi′(S)·f(s−S))dS=(pi(s+a)−pi(s−a))/2a (7)
The function qi13′(s) of the interval t[i+1]−a<s<t[i+1]+a is represented by Expression (8) below.
qi13′(s)=∫S=s−aS=t[i+](pi′(S)·f(s−S))dS=(pi(t[i+1])−pi(s−a))/2a (8)
Next, when the interval width of the interpolation block pi(s) is smaller than the interpolation interval width A=2a, if t[i] denotes a command point closer to the start point of the tip path among the two command points that define both ends of the interpolation block pi(s) and t[i+1] denotes a command point closer to the end point of the tip path among the two command points and an interval width that is half of the interpolation interval width A is denoted by a, then an interval corresponding to the interpolation block pi(s) is expressed as t[i]<s<t[i+1] and a relationship expressed as t[i]−a<t[i+1]−a<t[i]+a<t[i+1]+a holds true (refer to
In these cases, the post-interpolation function qi′(s) obtained by the interpolation processing is subdivided into a function qi21′(s) of an interval expressed as t[i]−a<s<t[i+1]−a, a function qi22′(s) of an interval expressed as t[i+1]−a<s<t[i]+a, and a function qi23′(s) of an interval expressed as t[i]+a<s<t[i+1]+a.
The function qi21′(s) of the interval t[i]−a<s<t[i+1]−a is represented by Expression (9) below.
qi21′(s)=∫S=t[i]S=s+a(pi′(S)·f(s−S))dS=(pi(s+a)−pi(t[i]))/2a (9)
The function qi22′(s) of the interval t[i+1]−a<s<t[i]+a is represented by Expression (10) below.
qi22′(s)=∫S=t[i]S=t[i+1](pi′(S)·f(s−S))dS=(pi(t[i+1])−pi(t[i]))/2a (10)
The function qi23′(s) of the interval t[i]+a<s<t[i+1]+a is represented by Expression (11) below.))
qi23′(s)=∫S=s−aS=t[i+1](pi′(S)·f(s−S))dS=(pi(t[i+1])−pi(s−a))/2a (11)
Next, the local interpolation unit 14c adds the obtained post-interpolation function to the post-interpolation integrated function stored in the memory 5 (step S30). In this case, since the obtained post-interpolation function is added to the post-interpolation integrated function that has been set to 0 in step S24, the post-interpolation integrated function after addition is equal to the post-interpolation function obtained in step S28.
Subsequently, the local interpolation unit 14c determines whether or not interpolation processing involving obtaining a post-interpolation function and adding the post-interpolation function to the post-interpolation integrated function has been performed for all interpolation blocks having at least a part of an interval included in the adjustment interval (step S32). At this point, when the local interpolation unit 14c determines that the interpolation processing of all interpolation blocks has not yet been completed, the local interpolation unit 14c returns to step S26 and extracts an interpolation block on which interpolation processing is next performed. The interpolation block extracted at this point is a command block adjacent on a side of the end point of the tip path to an interpolation block previously subjected to interpolation processing among command blocks having at least a part of an interval included in the adjustment interval. Subsequently, the local interpolation unit 14c performs the calculation of the post-interpolation function of step S28 with respect to the extracted interpolation block and adds the obtained post-interpolation function to the post-interpolation integrated function. The local interpolation unit 14c performs the processes of steps S26 to S30 until it is determined in step S32 that the interpolation processing (distribution, integration, and addition) of all interpolation blocks having at least a part thereof included in the adjustment interval has been completed.
In addition, when the local interpolation unit 14c determines in step S32 that the interpolation processing of all interpolation blocks having at least a part thereof included in the adjustment interval has been completed, the local interpolation unit 14c next obtains an error-having tip interpolation path (step S34). Specifically, the local interpolation unit 14c obtains an error-having tip interpolation path by extracting an interval corresponding to the interpolation interval extracted in step S20 from the post-interpolation integrated function obtained by adding the post-interpolation function.
Next, the error correction unit 14d of the path local filter 14b obtains a tip error correction path for correcting an error from the tip path at a point corresponding to a start point of the interpolation interval and a point corresponding to an end point of the interpolation interval among the error-having tip interpolation path (step S36). Specifically, the error correction unit 14d obtains a tip error correction path satisfying a condition that a value of the tip error correction path at the start point of the interpolation interval is equal to a value obtained by subtracting a value of the tip path at the start point from a value of the error-having tip interpolation path at the start point and a value of the tip error correction path at the end point of the interpolation interval is equal to a value obtained by subtracting a value of the tip path at the end point from a value of the error-having tip interpolation path at the end point. More specifically, if the tip error correction path is denoted by E(s), the error-having tip interpolation path is denoted by r(s), the tip path is denoted by p(s), the start point of the interpolation interval is denoted by Ss, and the end point of the interpolation interval is denoted by Se, then the error correction unit 14d obtains the tip error correction path E(s) satisfying Expressions (12) and (13) below. In the present embodiment, the error correction unit 14d obtains a tip error correction path which connects E(Ss) and E(Se) by a straight line as an example of the tip error correction path E(s) satisfying these conditions.
E(Ss)=r(Ss)−p(Ss) (12)
E(Se)=r(Se)−p(Se) (13)
Next, the error correction unit 14d corrects the tip error-having interpolation path with the tip error correction path obtained in step S36, replaces the interpolation interval of the tip path with the tip interpolation path after correction, and sets the tip interpolation path after correction as the tip path of the interpolation interval after local interpolation (step S38). Specifically, the error correction unit 14d corrects the error-having tip interpolation path by subtracting the tip error correction path from the error-having tip interpolation path, and eliminates, by the correction, an error of the error-having tip interpolation path with respect to the tip path at the start point of the interpolation interval and an error of the error-having tip interpolation path with respect to the tip path at the end point of the interpolation interval. Therefore, the tip interpolation path after the correction becomes a path which is continuously connected to the tip path at the start point of the interpolation interval and which is continuously connected to the tip path at the end point of the interpolation interval. According to the processes described above, an interpolation interval among the tip path is locally interpolated so that a variation in a differential value that is discontinuous at an interpolation object point in the interpolation interval becomes a continuous variation.
Subsequently, the local interpolation unit 14c determines whether or not local interpolation of all interpolation intervals of the tip path has been completed (step S40). At this point, if the local interpolation unit 14c determines that there are interpolation intervals on which local interpolation has not been completed, processes of step S20 and thereafter are repetitively performed. Specifically, the local interpolation unit 14c extracts an interpolation interval positioned closest to the start point of the tip path among the interpolation intervals on which local interpolation has not been completed, and calculation of a post-interpolation function, addition to a post-interpolation integrated function, derivation of an error-having tip interpolation path, derivation of a tip error correction path and correction of the error-having tip interpolation path, and the like are performed on the extracted interpolation interval.
On the other hand, when the local interpolation unit 14c determines that the local interpolation of all interpolation intervals of the tip path has been completed, the process of local interpolation of the tip path by the path local filter 14b is concluded. In this manner, the path local filter 14b derives a post-local interpolation tip path that is a tip path for which all interpolation intervals have been locally interpolated. In addition, the path local filter 14b performs local interpolation of a midair path in a similar manner to the local interpolation processing on the tip path described above and drives a post-local interpolation midair path that is a midair path for which all interpolation intervals have been locally interpolated.
Next, the posture adjustment information derivation unit 16 derives posture adjustment information (step S5 in
In the posture adjustment information derivation process, the posture adjustment information derivation unit 16 first checks intervals in which a primary differential with respect to the intervening variable s continuously varies among the post-local interpolation tip path to see whether there is a posture adjustment location where the posture of the tool 106 is to be adjusted so that a variation of the direction of the tool axis vector becomes gradual on the post-local interpolation tip path and the post-local interpolation midair path, and when there is a posture adjustment location, the posture adjustment information derivation unit 16 extracts a posture adjustment interval including the posture adjustment location together with a connection condition and an interval type of the posture adjustment interval and registers the information as posture adjustment information in the memory 5 (step S42).
Specifically, when there is a location where an angle formed by the tool axis vector with respect to an advancing direction of the post-local interpolation tip path increases and decreases within a short travel distance (set as a parameter) among the post-local interpolation tip path and the post-local interpolation midair path as shown in
Furthermore, when there is a posture adjustment location where a locus traced by a projection tip path and a locus traced by a projection midair path on the specific plane are separated from one another and a variation rate of a projection tool axis vector, that is a projection on the specific plane of a tool axis vector extending from a tip point on a post-local interpolation tip path toward a midair point on a post-local interpolation midair path corresponding to the tip point, with respect to an increase in the intervening variable (a variation rate of an angle formed between the projection tool axis vector (a control line) and the reference direction with respect to an increase in the intervening variable) exceeds a constant variation rate set as a parameter (refer to
Furthermore, as shown in
In addition, when the projection tip path and the projection midair path intersect one another and the control line is not close to parallel to the tangential direction of the projection tip path at both the start point ss and the end point se of the posture adjustment interval (refer to
In addition, when the projection tip path and the projection midair path intersect one another, the control line is not close to parallel to the tangential direction of the projection tip path at the start point ss of the posture adjustment interval, and the control line is close to parallel to the tangential direction of the projection tip path at the end point se of the posture adjustment interval (refer to
In addition, conversely to the case shown in
In addition, when the projection tip path and the projection midair path intersect one another and the control line is close to parallel to the tangential direction of the projection tip path at both the start point ss and the end point se of the posture adjustment interval (refer to
In addition, when the projection tip path and the projection midair path are tangential at one point and the control line is close to parallel to the tangential direction of the projection tip path at both the start point ss and the end point se of the posture adjustment interval (refer to
In addition, when an interval (hereinafter, referred to as a singular point continuous interval) in which singular points continue exists on the post-local interpolation tip path and the post-local interpolation midair path, the singular point being a point where a length of the projection tool axis vector becomes 0 (a point where the tool axis vector becomes perpendicular to the specific plane), the posture adjustment information derivation unit 16 sets an interval before and after the singular point continuous interval and having a specific interval width as a posture adjustment interval.
Furthermore, when the control line is not close to parallel to a tangential direction (an advancing direction) of the projection tip path at both the start point ss and the end point se of the posture adjustment interval including the singular point continuous interval (refer to
In addition, when the control line is not close to parallel to the tangential direction (the advancing direction) of the projection tip path at the start point ss of the posture adjustment interval including the singular point continuous interval and the control line is close to parallel to the tangential direction (the advancing direction) of the projection tip path at the end point se of the posture adjustment interval (refer to
In addition, when the control line is close to parallel to the tangential direction (the advancing direction) of the projection tip path at both the start point ss and the end point se of the posture adjustment interval including the singular point continuous interval (refer to
Next, the posture adjustment information derivation unit 16 determines whether or not an interval for which the direction specification function C(s) and the tip-midair correspondence adjustment function S(s) have not been set exists in each interval registered in the memory 5 (step S44). When the posture adjustment information derivation unit 16 determines that an interval for which both functions C(s) and S(s) have not been set does not exist in the intervals registered in the memory 5, the derivation process of posture adjustment interval is terminated. On the other hand, when the posture adjustment information derivation unit 16 determines that an interval for which both functions C(s) and S(s) have not been set exists in the intervals registered in the memory 5, the posture adjustment information derivation unit 16 next extracts a single interval from the intervals for which both functions C(s) and S(s) have not been set and determines whether or not an interval type of the extracted interval is interval type 1 (step S46). In doing so, the posture adjustment information derivation unit 16 determines the interval type of the extracted interval based on information on an interval type registered with respect to the interval in the memory 5. When the posture adjustment information derivation unit 16 determines that the interval type of the extracted interval is interval type 1, the posture adjustment information derivation unit 16 derives the direction specification function C(s) of the interval and additionally registers the derived function C(s) as posture adjustment information of the interval in the memory 5 (step S48).
Specifically, the posture adjustment information derivation unit 16 calculates the direction specification function C(s) according to Expression (14) below.
C(s)=Cs+(Ce−Cs)×(s−ss)/(se−ss) (14),
where ss≦s≦se.
In addition, the posture adjustment information derivation unit 16 associates the calculated direction specification function C(s) with information on a corresponding interval and additionally registers the associated direction specification function C(s) as posture adjustment information in the memory 5. After step S48, a return is made to step S44 and subsequent processes are repetitively performed.
On the other hand, in step S46, when the posture adjustment information derivation unit 16 determines that the interval type of the extracted interval is not interval type 1 or, in other words, that the interval type of the extracted interval is interval type 2, the posture adjustment information derivation unit 16 derives the tip-midair correspondence adjustment function S(s) with respect to the extracted interval and additionally registers the derived function S(s) as posture adjustment information of the interval in the memory 5 (step S52). In this case, when deriving the tip-midair correspondence adjustment function S(s), the posture adjustment information derivation unit 16 obtains a tip-midair correspondence adjustment function S(s) defining a correlation between an intervening variable with respect to the post-local interpolation tip path and an intervening variable with respect to the post-local interpolation midair path so that a travel distance along the post-local interpolation midair path from a point corresponding to a start point of the extracted interval among the post-local interpolation midair path to a point corresponding to each point where the intervening variable differs in the interval is maintained at a constant ratio with respect to a travel distance along the post-local interpolation tip path from a point corresponding to the start point of the extracted interval among the post-local interpolation tip path to a point corresponding to each point where the intervening variable differs.
Specifically, the posture adjustment information derivation unit 16 sets a plurality of intermediate points within the posture adjustment interval (ss, se), and respectively derives travel distances along the post-local interpolation tip path from a point corresponding to the start point ss of the posture adjustment interval among the post-local interpolation tip path to points corresponding to the respective intermediate points and a point corresponding to the end point se and travel distances along the post-local interpolation midair path from a point corresponding to the start point ss of the posture adjustment interval among the post-local interpolation midair path to points corresponding to the respective intermediate points and a point corresponding to the end point se. For example, as shown in
S(s)=SS(len(s)×LEN5/len5) (15)
The posture adjustment information derivation unit 16 additionally registers the tip-midair correspondence adjustment function S(s) derived as described above in the memory 5 as part of posture adjustment information. Subsequently, a return is made to step S44 and subsequent processing is repetitively performed.
After the derivation process of posture adjustment information described above has been performed, the intervening variable time function derivation unit 18 next derives an intervening variable time function representing a variation of the intervening variable with respect to the lapse of the reference time T (step S6 in
Specifically, the intervening variable time function derivation unit 18 obtains an intervening variable time function (a velocity curve of the intervening variable) using the transfer axis coordinate calculation function based on the acceleration/deceleration conditions for each transfer axis stored in the storage unit 4, the post-local interpolation tip path and the post-local interpolation midair path, and posture adjustment information registered in the memory 5. More specifically, the intervening variable time function derivation unit 18 obtains the intervening variable time function as follows.
First, the intervening variable time function derivation unit 18 obtains an intervening variable velocity upper limit function that is represented by a stepped velocity curve shown in
When a block that is an object corresponds to an interval not registered as posture adjustment information in the memory 5, based on the post-local interpolation tip path and the post-local interpolation midair path, the intervening variable time function derivation unit 18 obtains position coordinates of respective tip points on the post-local interpolation tip path at a total of five points (sa−2e, sa−e, sa, sa+e, sa+2e) in the block that is an object including a point of a prescribed intervening variable sa and two each of points in vicinities before and after the point of the prescribed intervening variable sa and respective tool axis vectors extending from the respective tip points toward corresponding midair points on the post-local interpolation midair path, and obtains respective transfer axis coordinates kp[i][ ] (i=0, 1, 2, 3, 4) at the five points (sa−2e, sa−e, sa, sa+e, sa+2e) using the transfer axis coordinate calculation function from the obtained position coordinates of the respective tip points and the respective tool axis vectors.
In addition, when a block that is an object corresponds to an interval registered as posture adjustment information in the memory 5 and the direction specification function C(s) is registered in the memory 5 with respect to the interval, the intervening variable time function derivation unit 18 obtains position coordinates of respective tip points on the post-local interpolation tip path at a total of five points (sa−2e, sa−e, sa, sa+e, sa+2e) in the block that is an object including a point of a prescribed intervening variable sa and two each of points in vicinities before and after the point of the prescribed intervening variable sa, obtains direction specifying angles corresponding to the five intervening variable positions using the direction specification function C(s) of the interval, and obtains a position coordinate of each midair point on the post-local interpolation midair path corresponding to each intersection where a straight line which passes through a projection tip point that is a projection of each obtained tip point on the specific plane and which has each obtained direction specifying angle with respect to a reference direction intersects with the projection midair path. Furthermore, tool axis vectors extending from respective tip points corresponding to the five intervening variable positions (sa−2e, sa−e, sa, sa+e, sa+2e) toward corresponding points among the obtained midair points are respectively obtained. In addition, when a block that is an object corresponds to an interval registered as posture adjustment information in the memory 5 and the tip-midair correspondence adjustment function S(s) is registered in the memory 5 with respect to the interval, the intervening variable time function derivation unit 18 obtains position coordinates of respective tip points on the post-local interpolation tip path at a total of five points (sa−2e, sa−e, sa, sa+e, sa+2e) in the block that is an object including a point of a prescribed intervening variable sa and two each of points in vicinities before and after the point of the prescribed intervening variable sa, obtains five intervening variables with respect to the post-local interpolation midair path corresponding to the five intervening variables based on the tip-midair correspondence adjustment function S(s) with respect to the interval to which the block that is an object corresponds and obtains position coordinates of midair points on the post-local interpolation midair path corresponding to the five obtained intervening variables, and respectively obtains tool axis vectors extending from respective tip points corresponding to the five points (sa−2e, sa−e, sa, sa+e, sa+2e) toward respective midair points on the post-local interpolation midair path corresponding to the five intervening variables. Furthermore, the intervening variable time function derivation unit 18 obtains respective transfer axis coordinates kp[i][ ] (i=0, 1, 2, 3, 4) at the five points (sa−2e, sa−e, sa, sa+e, sa+2e) using the transfer axis coordinate calculation function from the position coordinates of the respective tip points and the respective tool axis vectors obtained as described above.
Moreover, e denotes a parameter representing a minute distance in the intervening variable. In addition, i=0 corresponds to the point (sa−2e), i=1 corresponds to the point (sa−e), i=2 corresponds to the point sa, i=3 corresponds to the point (sa+e), and i=4 corresponds to the point (sa+2e). Furthermore, [ ] indicates a value with respect to each transfer axis.
Subsequently, the intervening variable time function derivation unit 18 obtains an approximated value ds1[ax] of a primary differential value of the transfer axis path with respect to the intervening variable at the point (sa−e) according to Expression (16) below, obtains an approximated value ds2[ax] of a primary differential value of the transfer axis path with respect to the intervening variable at the point (sa+e) according to Expression (17) below, and obtains an approximated value ddss[ax] of a secondary differential value of the transfer axis path with respect to the intervening variable at a point corresponding to the intervening variable sa using the two obtained approximated values ds1[ax] and ds2[ax] and Expression (18) below. Moreover, ax is an index representing each transfer axis.
ds1[ax]=(kp[2][ax]−kp[0][ax])/2e (16)
ds2[ax]=(kp[4][ax]−kp[2][ax])/2e (17)
ddss[ax]=(ds2[ax]−ds1[ax])/2e (18)
Supposing that the point of the intervening variable sa is passed at a uniform velocity v, an acceleration a[ ] for each transfer axis can be approximated by v2×ddss[ ]. Therefore, if an allowable acceleration for each transfer axis among the acceleration/deceleration conditions stored in the storage unit 4 is denoted by A[ ], then the intervening variable time function derivation unit 18 obtains a velocity upper limit value vm of a target block according to Expression (19) below.
vm=(A[ax]/ddss[ax])½ (19)
In addition, the intervening variable time function derivation unit 18 sets a lowest value among the velocity upper limit value vm of a corresponding block for each transfer axis obtained as described above and a velocity corresponding to the block among velocity commands included in the machining program as an upper limit of the velocity ds/dT of the intervening variable s of the block. The intervening variable time function derivation unit 18 respectively obtains an upper limit value of the velocity ds/dT of the intervening variable s of all blocks according to the method described above and obtains an intervening variable velocity upper limit function by connecting the obtained upper limit values of the respective blocks.
Next, the intervening variable time function derivation unit 18 obtains an acceleration/deceleration curve ds(T)/dT which continuously varies so as not to exceed the stepped velocity curve represented by the intervening variable velocity upper limit function based on an allowable velocity, an allowable acceleration, and an allowable jerk of the intervening variable s included in the acceleration/deceleration conditions stored in the storage unit 4, and calculates an intervening variable time function s(T) by integrating the obtained acceleration/deceleration curve ds(T)/dT by the reference time T.
Specifically, first, the intervening variable time function derivation unit 18 sequentially obtains, and resisters in the memory 5, a velocity curve (velocity function) of an acceleration region among the acceleration/deceleration curve ds(T)/dT from a start point side to an end point side for each prescribed time interval together with a time interval width ts of the time interval. At this point, the intervening variable time function derivation unit 18 obtains a velocity curve for each time interval together with a time interval width ts of the interval, the velocity curve being a velocity curve in which, during a process of reaching an end point of a block set as a target point (s2, f2) from a final point (s1, f1, t1) of a velocity curve previously registered in the memory 5, a velocity f1 at the final point may increase to an upper limit value (velocity upper limit value f2) of the velocity ds/dT of the block. Moreover, a form of the velocity curve obtained at this time differs according to conditions such as a difference (s2−s1) in intervening variables between the final point and the target point, the velocity f1 at the final point, the velocity upper limit value f2, an acceleration a1 at the final point, an allowable acceleration, and an allowable jerk. Methods of obtaining a velocity curve in according to the respective conditions are shown in
Moreover,
In addition,
Furthermore,
In addition, the intervening variable time function derivation unit 18 sequentially performs calculation and registration of a velocity curve as described above. When registering an obtained velocity curve in the memory 5, the intervening variable time function derivation unit 18 also registers a time t2 and an acceleration a2 of the time of arrival at the target point in the memory 5, and when setting a next target point to calculate a velocity curve, the intervening variable time function derivation unit 18 calculates a next velocity curve by using the registered time t2 as time t1 at the final point and using the registered acceleration a2 as acceleration a1 at the final point. Due to a velocity curve obtained until a velocity upper limit value corresponding to a next target point becomes smaller with respect to a velocity of a final point, a velocity curve of an acceleration region among an acceleration/deceleration curve is obtained.
Next, the intervening variable time function derivation unit 18 sequentially performs calculation and registration of a velocity curve similar to those described above from an end point side toward a start point side of a path with respect to a deceleration region among an acceleration/deceleration curve, and thereby obtains a velocity curve of the deceleration region. In addition, the intervening variable time function derivation unit 18 obtains an acceleration/deceleration curve ds(T)/dT by connecting an end point of the obtained velocity curve of the acceleration region and a start point of the obtained velocity curve of the deceleration region. Furthermore, the intervening variable time function derivation unit 18 calculates an intervening variable time function s(T) by integrating the obtained acceleration/deceleration curve ds(T)/dT by reference time T.
Next, derivation of the reference time T and pulse interpolation by the transfer command derivation unit 20 and pulse output to the table transfer device 102 and the respective transfer units 110b, 112b, 114b, and 116b by the control unit 22 are performed (step S7 in
A detailed process of step S7 is shown in the flow chart of
Next, the transfer command derivation unit 20 obtains an intervening variable position s corresponding to the initially set reference time T (step S58). Specifically, the transfer command derivation unit 20 obtains an intervening variable position s corresponding to the initially set reference time T using the intervening variable time function s(T) obtained by the intervening variable time function derivation unit 18.
Next, the transfer command derivation unit 20 obtains each transfer axis coordinate newp[ ] corresponding to the obtained intervening variable position s using the transfer axis coordinate calculation function (step S60). A detailed process of this step is shown in the flow chart of
Specifically, the transfer command derivation unit 20 determines whether or not the intervening variable position s derived in step S58 is an intervening variable within an interval of posture adjustment information registered in the memory 5 (step S76). At this point, if the transfer command derivation unit 20 determines that the intervening variable position s derived in step S58 is an intervening variable within an interval of posture adjustment information registered in the memory 5, the transfer command derivation unit 20 next determines whether or not the tip-midair correspondence adjustment function S(s) is registered in the memory 5 as posture adjustment information corresponding to the interval to which the intervening variable position s corresponds (step S78). At this point, if the transfer command derivation unit 20 determines that the tip-midair correspondence adjustment function S(s) is not registered in the memory 5 as posture adjustment information corresponding to the interval, the transfer command derivation unit 20 next obtains an intervening variable ss of a midair point on a post-local interpolation midair path adjusted based on the direction specification function C(s) corresponding to the interval as a intervening variable position with respect to the post-local interpolation midair path to be associated with the intervening variable position s derived in step S58 (step S80). Specifically, the transfer command derivation unit 20 obtains a direction specifying angle that is an angle formed between a control line corresponding to the intervening variable position s derived in step S58 and the reference direction using the direction specification function C(s) included in the posture adjustment information corresponding to the interval, and calculates an intervening variable ss with respect to a midair point on the post-local interpolation midair path corresponding to an intersection where a straight line which passes through a projection tip point that is a projection on the specific plane of a tip point on the post-local interpolation tip path corresponding to the intervening variable position s derived in step S58 and which forms the obtained direction specifying angle with respect to the reference direction intersects with the projection midair path.
Next, from respective angles calculated by direction specifying angle C(s)±n×180 degrees (n=0, 1, 2, 3, . . . ), the transfer command derivation unit 20 sets an angle that is closest to a rotational transfer axis coordinate (C axis coordinate oldp[Ci]) among the transfer axis coordinates oldp[ ] set in step S56 as a rotational axis coordinate candidate value, the direction specifying angle C(s) being obtained in step S80 (step S82).
Next, the transfer command derivation unit 20 obtains a tool position constituted by a coordinate in the reference coordinate system of a tip point p(s) on the post-local interpolation tip path corresponding to the intervening variable position s derived in step S58 and a tool axis vector extending from the tip point p(s) toward a midair point P(ss) corresponding to the intervening variable ss obtained in step S80 (step S84).
In addition, the transfer command derivation unit 20 calculates a position coordinate newp[ ] for each transfer axis corresponding to the obtained tool position (step S86). Specifically, in order to have the tool 106 assume a position and a posture in which the tip point of the tool 106 is arranged at the position coordinate of the tip point p(s) obtained in step S84 and the tool axis vector (axis) of the tool 106 conform to the tool axis vector obtained in step S84, the transfer command derivation unit 20 calculates a position coordinate at which the table transfer device 102 arranges the table 101a, the swinging support transfer unit 110b arranges the swinging support 110a, the rotating support transfer unit 112b arranges the rotating support 112a, the ram transfer unit 114b arranges the ram 114a, and the saddle transfer unit 116b arranges the saddle 116a on respectively corresponding transfer axes. Moreover, when the tool position corresponds to a singular point, since a C axis coordinate becomes indeterminate, the transfer command derivation unit 20 sets the rotational axis coordinate candidate value obtained in step S82 as the C axis coordinate.
When the transfer command derivation unit 20 determines in step S78 that the tip-midair correspondence adjustment function S(s) is registered in the memory 5 as posture adjustment information corresponding to an interval that includes the intervening variable position s derived in step S58, the transfer command derivation unit 20 obtains an intervening variable ss (midair point specifying intervening variable) with respect to a post-local interpolation midair path to be associated with the intervening variable position s derived in step S58 based on the tip-midair correspondence adjustment function S(s) corresponding to the interval (step S88). In other words, the transfer command derivation unit 20 sets, as the intervening variable ss, a value obtained by substituting the intervening variable s derived in step S58 into the tip-midair correspondence adjustment function S(s).
Next, the transfer command derivation unit 20 determines whether or not the direction specification function C(s) is registered in the memory 5 as posture adjustment information corresponding to an interval that includes the intervening variable position s derived in step S58 (step S90). At this point, when the transfer command derivation unit 20 determines that the direction specification function C(s) is registered in the memory 5 as posture adjustment information corresponding to the interval, the transfer command derivation unit 20 performs processing of step S80 and thereafter. On the other hand, when the transfer command derivation unit 20 determines that the direction specification function C(s) is not registered in the memory 5 as posture adjustment information corresponding to the interval, the transfer command derivation unit 20 next sets the rotational axis coordinate candidate value to an angle equivalent to the rotational transfer axis coordinate (C axis coordinate oldp[Ci]) among the transfer axis coordinates oldp[ ] set in step S56 (step S92), and subsequently performs the processing of steps S84 and S86.
In addition, when the transfer command derivation unit 20 determines in step S76 that the intervening variable position s derived in step S58 is not an intervening variable within an interval registered in the memory 5, the transfer command derivation unit 20 sets a position (an intervening variable) equivalent to the intervening variable position s derived in step S58 as an intervening variable position ss with respect to a midair point on the post-local interpolation midair path corresponding to the intervening variable position s derived in step S58 (step S94) and subsequently performs the processing of step S92.
Next, the transfer command derivation unit 20 sets the position coordinate newp[ ] of each transfer axis obtained as described above as an old coordinate oldp[ ] (step S62 in
Next, the transfer command derivation unit 20 adds a reference unit time dT to the reference time T initially set in step S56 to obtain a new reference time T (step S64).
Subsequently, the transfer command derivation unit 20 obtains an intervening variable position s corresponding to the new reference time T in a similar manner to step S58 (step S66), and obtains a position coordinate newp[ ] on each transfer axis corresponding to the obtained intervening variable position s (step S68). In step S68, the transfer command derivation unit 20 basically obtains the position coordinate newp[ ] on each transfer axis in a similar manner to step S60 or, in other words, according to the flow chart shown in
Next, the transfer command derivation unit 20 calculates a command pulse (step S70). Specifically, the transfer command derivation unit 20 subtracts a corresponding old coordinate oldp[ ] for each transfer axis set in step S62 from the position coordinate newp[ ] for each transfer axis obtained in step S68 to obtain a variation of the position coordinate on each transfer axis per reference unit time dT or, in other words, a transfer amount per reference unit time dT of the transfer object with respect to each transfer axis, and sets the obtained transfer amount as a command pulse per unit time (per specific period) of real time.
Subsequently, the control unit 22 outputs, to the servomotor of the table transfer device 102 and the respective transfer units 110b, 112b, 114b, and 116b, a command pulse indicating a transfer amount with respect to a corresponding transfer axis among the command pulses per specific period obtained by the transfer command derivation unit 20 (step S72). As a result, the table transfer device 102 transfers the table 101a, the swinging support transfer unit 110b transfers the swinging support 110a, the rotating support transfer unit 112b transfers the rotating support 112a, the ram transfer unit 114b transfers the ram 114a, and the saddle transfer unit 116b transfers the saddle 116a per the specific period by a transfer amount indicated by the command pulse from the control unit 22 along each corresponding transfer axis.
Next, the transfer command derivation unit 20 determines whether or not shutdown processing is to be performed (step S74). At this point, when the transfer command derivation unit 20 determines that shutdown processing is to be performed, the shutdown processing is performed and the numerical control process according to the present embodiment is concluded. On the other hand, when the transfer command derivation unit 20 determines that shutdown processing is not to be performed, processing of steps S62 and thereafter is repetitively performed. In step S62 performed once again, the transfer command derivation unit 20 sets the position coordinate newp[ ] of each transfer axis obtained in step S68 as an old coordinate oldp[ ].
The control process by the numerical control device 2 according to the present embodiment is performed as described above.
As described above, in the present embodiment, since the posture adjustment information derivation unit 16 obtains posture adjustment information for adjusting a posture of the tool 106 so that a variation of a direction of a projection tool axis vector becomes gradual in a posture adjustment interval before and after a posture adjustment location at which the variation of the direction of the projection tool axis vector with respect to an increase in an intervening variable exceeds a constant variation rate and the transfer command derivation unit 20 obtains a tool axis vector extending from a tip point on a post-local interpolation tip path corresponding to an intervening variable in the posture adjustment interval toward a midair point on a midair path on a post-local interpolation midair path for which a relative positional relationship with respect to the tip point has been adjusted based on the posture adjustment information so that the variation of the direction of the projection tool axis vector becomes gradual and derives a command pulse based on the obtained tool axis vector and the position coordinate of the tip point with respect to within the posture adjustment interval, a direction of the projection tool axis vector can be prevented from suddenly varying at the posture adjustment location. Since the direction of the projection tool axis vector corresponds to the A axis direction, according to the present embodiment, a sudden rotation of the swinging device 110, the main shaft head 108, and the tool 106 by the rotating device 112 with respect to the table 101a can be prevented. As a result, a decline in machining accuracy of a workpiece and an occurrence of a mechanical shock attributable to such a sudden rotation can be suppressed.
In addition, in the present embodiment, since the transfer command derivation unit 20 obtains a position coordinate of a tip point on a tip path, the position coordinate of a tip point corresponding to the intervening variable in the posture adjustment interval, obtains a tool axis vector extending from the tip point toward a midair point on a midair path for which a relative positional relationship with respect to the tip point has been adjusted based on the posture adjustment information so that the variation of the direction of the projection tool axis vector becomes gradual, and derives a command pulse based on the obtained the position coordinate of the tip point and the obtained tool axis vector, even after an adjustment is performed so that the variation of the direction of the projection tool axis vector becomes gradual, the posture of the tool 106 can be suppressed from deflecting in a direction perpendicular to a curved surface connecting respective tip points on the tip path and respective midair points on the midair path corresponding to the respective tip points. As a result, a decline in machining accuracy of a workpiece can be similarly suppressed.
Furthermore, in particular, the present embodiment enables the tool 106 to assume a posture at which the tip point and a midair point overlap each other as seen from a direction perpendicular to the specific plane or, in other words, a posture which makes the tool axis vector perpendicular to the specific plane when passing an intersection at which a locus traced by a post-local interpolation tip path and a locus traced by a post-local interpolation midair path intersect one another as seen from a direction perpendicular to the specific plane, and effectively prevents the tool 106 and the swinging device 110 from suddenly rotating relative to the table 101a when passing the intersection. Specifically, by having the tool 106 assume a posture that makes the tool axis vector perpendicular to the specific plane at the intersection as in the case of the present embodiment, an operation in which a tip point and a midair point approach each other as the points approach the intersection and separate from each other after the points pass the intersection as seen from a direction perpendicular to the specific plane can be realized by having the swinging device 110 swing the tool 106 so that an inclination of the tool 106 in the A axis direction varies in a reverse direction when passing the intersection. As a result, the tool 106 and the swinging device 110 can be prevented from suddenly rotating in the C axis direction when passing the intersection.
In addition, in the present embodiment, with respect an interval corresponding to interval type 1, an angle formed between a control line corresponding to each intervening variable and the reference direction is obtained so that the angle formed between the control line and the reference direction varies at an equal rate, and a tool axis vector is obtained for which a positional relationship of the midair point with respect to the tip point has been adjusted based on the angle. Furthermore, since a command pulse is obtained based on the tool axis vector and transfer of the transfer object is performed in accordance with the command pulse, variations of rotational angles of the tool 106 and the swinging device 110 which are relatively rotated with respect to the table 101a by the rotating device 112 can be directly adjusted to become gradual variations. Therefore, with respect to the interval, variations of rotational angles of the tool 106 and the swinging device 110 can reliably be made gradual.
In addition, in the present embodiment, with respect to a singular point at which the tool axis vector becomes perpendicular to the specific plane, since a direction specifying angle obtained from the direction specification function C(s) is used as a C axis coordinate at the singular point, the C axis coordinate is uniquely determined at the singular point and therefore an indeterminate state can be resolved. Furthermore, since the direction specifying angle of the singular point is obtained from a direction specification function which causes an angle formed between the control line and the reference direction to vary at an equal rate in an interval that is an object, a condition of gradually varying a direction of the projection tool axis vector in the object interval is satisfied. Therefore, in the present embodiment, with respect an interval corresponding to interval type 1, directions of the tool 106 and the rotating device 112 can be gradually varied while resolving an indeterminate state of a position coordinate in the rotational transfer axis direction at the singular point.
In addition, in the present embodiment, with respect an interval corresponding to interval type 2, the tip point of the tool 106 and the midair point can be moved in a state where a travel distance of the midair point along the post-local interpolation tip path from a start point of the interval and a travel distance of the midair point along the post-local interpolation midair path from a start point of the interval are maintained at a constant ratio. Therefore, an occurrence of a posture variation of the tool 106 in which a midair point that had lagged behind a tip point suddenly overtakes the tip point or a posture variation of the tool 106 causing an opposite action can be prevented, and the rotating device 112 can be prevented from significantly and suddenly rotating the tool 106 and the swinging device 110 relative to the table 101a to realize such a posture variation of the tool 106.
Furthermore, in the present embodiment, due to local interpolation of a pre-interpolation tip path and a pre-interpolation midair path by the local interpolation unit 14c of the path local filter 14b of the path interpolation unit 14, a point at which velocity is discontinuous due to a discontinuous primary differential value with respect to an intervening variable on the pre-interpolation tip path and the pre-interpolation midair path can be interpolated so that the velocity becomes continuous, and a point at which acceleration is discontinuous due to a discontinuous secondary differential value with respect to an intervening variable on the pre-interpolation tip path and the pre-interpolation midair path can be interpolated so that the acceleration becomes continuous. Therefore, with respect to a location on the pre-interpolation tip path and the pre-interpolation midair path at which a differential value with respect to an intervening variable is discontinuous due to abnormal data or the like and, consequently, a sudden velocity variation or a sudden acceleration variation occurs, the sudden velocity variation or the sudden acceleration variation can be suppressed and an occurrence of a mechanical shock at the location can be suppressed. Moreover, in the present embodiment, a location at which a differential value is discontinuous among the pre-interpolation tip path and the pre-interpolation midair path can be interpolated and a factor of mechanical shock can be removed from the paths before the transfer command derivation unit 20 derives a command pulse for each transfer axis. Therefore, it is no longer necessary to perform acceleration/deceleration processing after the transfer command derivation unit 20 derives a command pulse in order to interpolate a location which may be a factor of mechanical shock among the command pulse.
In addition, in the present embodiment, since the pre-interpolation path derivation unit 13 reads a workpiece coordinate system tool path included in the machining program, transforms the read workpiece coordinate system tool path into a path in the reference coordinate system based on workpiece placement information to derive a reference coordinate system tool path, and derives a pre-interpolation tip path and a pre-interpolation midair path based on the derived reference coordinate system tool path, even if the workpiece 100 is placed on the table 101a in a posture at which the workpiece coordinate system is inclined with respect to the reference coordinate system, a position of a posture adjustment location in accordance with the posture of the workpiece 100 can be accurately specified and a sudden rotation of the tool 106 and the swinging device 110 with respect to the table 101a in an operation in a vicinity of the posture adjustment location can be prevented.
The embodiment disclosed herein should be considered in all respects illustrative and not restrictive. It is intended that the scope of the present invention be defined not by the description of the embodiment given above but rather by the claims appended hereto, and that the scope of the invention include equivalents thereof and all modifications made therein.
For example, the numerical control device according to the present invention can also be applied to various types of machine tools that differ from the machine tool described in the embodiment above. For example, the numerical control device according to the present invention can also be applied to a five-axis machine tool with a rotating machine table.
In addition, the numerical control device need not necessarily include a path interpolation unit and may perform derivation of posture adjustment information, derivation of an intervening variable time function, and derivation of a command pulse based on an uninterpolated tip path and an uninterpolated midair path obtained from a tool path of the machining program.
Furthermore, while primary differentials of a tip path and a midair path with respect to an intervening variable are distributed to distributed intervals using a linear distribution function in the embodiment described above, this distribution method is not restrictive. In addition, various distribution functions other than a linear distribution function may be used for the distribution of primary differentials of a tip path and a midair path with respect to an intervening variable.
Moreover, the distribution function used for the distribution is desirably a function in which an integration in an interval expressed as [−A/2, A/2] is 1 and which has a left-right symmetrical shape with respect to a center of the interval. Examples of such a distribution function include a bell-like distribution function f(s) represented by the expression below.
Moreover, f(s)=0 holds true outside of the distributed interval −A/2≦s≦A/2.
Using such a bell-like distribution function enables an interpolation interval to be interpolated into a smoother curve as compared to using the linear distribution function. In addition, by distributing a primary differential with respect to an intervening variable using a linear distribution function for a portion in which the primary differential is continuous and a secondary differential with respect to an intervening variable is discontinuous among a path and distributing a primary differential with respect to an intervening variable using a bell-like distribution function for a portion in which the primary differential varies discontinuously among a path, continuity of a variation in the secondary differential of a path after local interpolation with respect to an intervening variable can be guaranteed.
Furthermore, while the direction specification function C(s) is calculated as a linear function in the embodiment described above, favorably, a primary differential and a secondary differential with respect to intervening variables of angles of control lines at a start point and an end point of a posture adjustment interval is approximately calculated and, based on the calculated differentials, a direction specification function which enables direction specification functions before and after the start point of the posture adjustment interval to be smoothly connected at the start point and which enables direction specification functions before and after the end point of the posture adjustment interval to be smoothly connected at the end point.
In addition, when a posture adjustment location at which a locus traced by a projection tip path and a locus traced by a projection midair path are separated from one another and a variation rate of an angle formed between the projection tool axis vector and a reference direction on the specific plane with respect to an increase in an intervening variable exceeds a constant variation rate exists on a tip path and a midair path (a case such as that shown in
Furthermore, a method of deriving a distributed interval width and an interpolation interval width is not limited to the method described above and a distributed interval width and an interpolation interval width may be obtained by various derivation methods other than that described above. In addition, while the interpolation interval width is set to an interval width that is equal in size to the distributed interval width in the embodiment, the interpolation interval width is not limited to this interval width. In other words, the interpolation interval width may be an interval width greater than the distributed interval width.
Furthermore, local interpolation of a path need not necessarily be performed so that a secondary differential value with respect to an intervening variable becomes continuous at an interpolation object point in an interpolation interval. For example, an interpolation interval of a path may be locally interpolated in a state where a primary differential value with respect to an intervening variable is continuous but a secondary differential value with respect to an intervening variable remains discontinuous at an interpolation object point in the interpolation interval.
In addition, when intervals in which the secondary differential value with respect to the intervening variable exceeds an upper limit value exist consecutively for a certain interval in a path after smooth interpolation, an interval obtained by expanding a distributed interval by the certain interval may be adopted as an interpolation interval.
Furthermore, when the posture adjustment information derivation unit derives the direction specification function C(s) and registers the direction specification function C(s) in the memory, in order to reduce a computational load on the intervening variable time function derivation unit during derivation of an intervening variable time function and to reduce a computational load on the transfer command derivation unit during derivation of a command pulse (during pulse interpolation), the posture adjustment information derivation unit may derive the tip-midair correspondence adjustment function S(s) of the interval in which the direction specification function C(s) has been derived based on the direction specification function C(s), the projection tip path, and the projection midair path, register the derived function S(s) in the memory.
Specifically, in the flow chart shown in
The embodiment may be summarized as follows.
A numerical control device according to the embodiment described above is a numerical control device provided in a machine tool including a plurality of transfer devices which move a transfer object which is a workpiece or a tool for machining the workpiece along a plurality of transfer axes in order to machine the workpiece and a table which supports the workpiece, the plurality of transfer devices including a swinging device which swings the tool in a direction of a swinging transfer axis which is centered on a first axis extending in a specific direction and a rotating device which relatively rotates the swinging device and the tool with respect to the table in a direction of a rotational transfer axis centered on a second axis extending in a direction which is perpendicular to the first axis, the numerical control device comprising: a storage unit which stores a machining program which instructs machining of the workpiece; a path derivation unit which reads the machining program stored in the storage unit and obtains a tip path and a midair path based on the machining program which has been read, the tip path representing a movement of a tip point of the tool during machining of the workpiece by a position coordinate of the tip point in a reference coordinate system and an intervening variable, the reference coordinate system being fixed on the table and including a specific plane perpendicular to the second axis, the intervening variable being an integrated length of a locus of a movement of the tool, the midair path representing a movement of a midair point by a position coordinate of the midair point in the reference coordinate system and the intervening variable, the midair point being a point which is separated from the tip point by a certain distance toward a base end side of the tool along an axis of the tool; a posture adjustment information derivation unit which performs obtaining, across all intervals of the tip path and the midair path, a projection tool axis vector that is a projection on the specific plane of a tool axis vector extending from the tip point on the tip path obtained by the path derivation unit toward the midair point on the midair path which corresponds to the tip point, specifying a posture adjustment location which is a location where a variation rate of a direction of the projection tool axis vector with respect to an increase of the intervening variable exceeds a certain variation rate among the tip path and the midair path, setting specific intervals before and after the specified posture adjustment location as a posture adjustment interval, and obtaining posture adjustment information for adjusting a posture of the tool in the posture adjustment interval so that a variation of the direction of the projection tool axis vector in the set posture adjustment interval becomes more gradual; an intervening variable time function derivation unit which obtains an intervening variable time function based on acceleration/deceleration conditions including an allowable acceleration of transfer of the transfer object for each transfer axis when moving the transfer object, the tip path and the midair path derived by the path derivation unit, and the posture adjustment information obtained by the posture adjustment information derivation unit, the intervening variable time function representing a variation in the intervening variable with respect to a lapse of a reference time; a transfer command derivation unit which performs obtaining a position coordinate of the tip point and the tool axis vector at each time point at every unit time of the reference time based on the tip path and the midair path derived by the path derivation unit, the intervening variable time function obtained by the intervening variable time function derivation unit, and the posture adjustment information obtained by the posture adjustment information derivation unit, obtaining a transfer amount per unit time of the transfer object in each transfer axis direction for moving the transfer object so that the tip point of the tool passes the obtained position coordinate of the tip point at each time point and that the tool axis vector of the tool matches the obtained tool axis vector at each time point, and setting the obtained transfer amount per unit time in each transfer axis direction as a transfer command in each transfer axis direction; and a control unit which outputs, to each transfer device, the transfer command in each transfer axis direction which corresponds to each transfer device among the transfer commands in the respective transfer axis directions obtained by the transfer command derivation unit to cause each transfer device to transfer the transfer object in accordance with the transfer command outputted to the transfer device, wherein: the transfer command derivation unit obtains the intervening variable corresponding to each time point based on the intervening variable time function obtained by the intervening variable time function derivation unit; with respect to an intervening variable within the posture adjustment interval among the obtained intervening variables of the respective time points, the transfer command derivation unit obtains a position coordinate of the tip point on the tip path corresponding to the intervening variable and a position coordinate of the midair point on the midair path corresponding to the intervening variable, adjusts the obtained position coordinate of the midair point based on the posture adjustment information so that a variation in the direction of the projection tool axis vector becomes more gradual, and obtains a tool axis vector extending from the obtained tip point to the adjusted midair point; while with respect to an intervening variable outside of the posture adjustment interval among the obtained intervening variables of the respective time points, the transfer command derivation unit obtains a position coordinate of the tip point on the tip path corresponding to the intervening variable and a tool axis vector extending from the tip point toward the midair point on the midair path corresponding to the intervening variable, and sets the obtained position coordinate of the tip point and the obtained tool axis vector as the position coordinate of the tip point and the tool axis vector at each time point.
With this numerical control device, since the posture adjustment information derivation unit obtains posture adjustment information for adjusting a posture of the tool so that a variation of a direction of a projection tool axis vector becomes gradual in a posture adjustment interval before and after a posture adjustment location at which the variation of the direction of the projection tool axis vector with respect to an increase in an intervening variable exceeds a constant variation rate, and the transfer command derivation unit adjusts a position coordinate of a midair point corresponding to the intervening variable in the posture adjustment interval based on posture adjustment information so that the variation of the direction of the projection tool axis vector becomes gradual, obtains a tool axis vector extending from a tip point corresponding to the intervening variable in the posture adjustment interval toward the adjusted midair point, and derives a transfer command based on the obtained tool axis vector with respect to within the posture adjustment interval, a direction of the projection tool axis vector can be prevented from suddenly varying at the posture adjustment location. In addition, since the direction of the projection tool axis vector corresponds to the direction of a swinging transfer axis, according to the numerical control device, the rotating device can be prevented from suddenly rotating the tool and the swinging device relative to the table in the rotational transfer axis direction and, as a result, a decline in machining accuracy of a workpiece and an occurrence of a mechanical shock attributable to such a sudden rotation can be suppressed. Furthermore, with the numerical control device, since the transfer command derivation unit obtains a position coordinate of a tip point corresponding to the intervening variable in the posture adjustment interval on a tip path, adjusts a position coordinate of a midair point corresponding to the intervening variable in the posture adjustment interval based on posture adjustment information so that the variation of the direction of the projection tool axis vector becomes gradual, obtains a tool axis vector extending from the obtained tip point toward the adjusted midair point, and derives a transfer command based on the obtained tool axis vector with respect to within the posture adjustment interval, even after an adjustment is performed so that the variation of the direction of the projection tool axis vector in the posture adjustment interval becomes gradual, the posture of the tool can be suppressed from deflecting in a direction perpendicular to a curved surface connecting respective tip points on the tip path and respective midair points on the midair path corresponding to the respective tip points. As a result, a decline in machining accuracy of a workpiece can be similarly suppressed.
In the numerical control device, when the posture adjustment location includes an intersection at which a locus traced by the tip path and a locus traced by the midair path intersect one another as seen from a direction perpendicular to the specific plane, the posture adjustment information derivation unit favorably obtains the posture adjustment information satisfying a condition that the tip point of the tool is positioned at a point on the tip path corresponding to the intersection and the midair point of the tool is positioned at a point on the midair path corresponding to the intersection at the intervening variable corresponding to the intersection.
According to this configuration, in particular, the tool can be caused to assume a posture at which the tip point of the tool and a midair point overlap each other as seen from a direction perpendicular to the specific plane or, in other words, a posture which makes the tool axis vector perpendicular to the specific plane when passing an intersection at which a locus traced by a tip path and a locus traced by a midair path intersect one another as seen from a direction perpendicular to the specific plane, and effectively prevents the tool and the swinging device from suddenly rotating relative to the table when passing the intersection. Specifically, if the midair point is at a position deviated from a point corresponding to the intersection on the midair path when the tip point is positioned at a point corresponding to the intersection on the tip path, since a projection tool axis vector that is a projection of the tool axis vector on the specific plane always has a direction before and after the intersection, the tool and the swinging device are rotated in the rotational transfer axis direction in accordance with a variation of the direction. Therefore, when an operation in which the tip point of the tool and the midair point approach each other as the points approach the intersection and separate from each other after the points pass the intersection as seen from a direction perpendicular to the specific plane, a sudden rotation of the tool and the swinging device occurs. On the other hand, by having the tool assume a posture that makes the tool axis vector perpendicular to the specific plane at the intersection as in the case of the present configuration, an operation in which a tip point and a midair point approach each other as the points approach the intersection and separate from each other after the points pass the intersection as seen from a direction perpendicular to the specific plane can be realized by varying an inclination of the tool in a swinging transfer axis direction in a reverse direction when passing the intersection and, as a result, a sudden rotation of the tool and the swinging device in the rotational transfer axis direction when passing the intersection can be prevented.
In the numerical control device, the posture adjustment information derivation unit may obtain a projection tip path and a projection midair path, the projection tip path being a projection, on the specific plane, of the tip path obtained by the path derivation unit, the projection midair path being a projection, on the specific plane, of the midair path obtained by the path derivation unit; and the posture adjustment information derivation unit may derive, as the posture adjustment information, a direction specification function defining a relationship between a direction specifying angle and the intervening variable in the posture adjustment interval so that the direction specifying angle varies at an equal rate from a start point to an end point of the posture adjustment interval, the direction specifying angle being an angle formed between a control line and a reference direction on the specific plane, the control line being a straight line passing through a point on the projection tip path and a point on the projection midair path corresponding to the point on the projection tip path; and the transfer command derivation unit may obtain the direction specifying angle corresponding to the intervening variable in the posture adjustment interval based on the direction specification function derived by the posture adjustment information derivation unit; the transfer command derivation unit may specify an intersection between a straight line and the projection midair path, the straight line passing a point on the projection tip path corresponding to the intervening variable and being configured that an angle between the straight line and the reference direction is consistent with the obtained direction specifying angle; and the transfer command derivation unit may derive a position coordinate of a point on the midair path corresponding to the specified intersection as a position coordinate of the adjusted midair point.
According to this configuration, since a direction specifying angle corresponding to each intervening variable within the posture adjustment interval is obtained so that the direction specifying angle varies at an equal rate in the posture adjustment interval and a tool axis vector is obtained for which a positional relationship of a midair point with respect to a tip point has been adjusted based on the direction specifying angle, a transfer command is obtained based on the tool axis vector, and by having each transfer device transfer the transfer object in accordance with the transfer command, a variation of rotational angles of the table, and the tool and the swinging device which are relatively rotated by the rotating device can be directly adjusted to a gradual variation. Therefore, compared to a case of indirectly adjusting a variation in rotational angles of the tool and the swinging device with respect to the table to a gradual variation by adjusting a position coordinate of a midair point with respect to a tip point without obtaining a direction specifying angle, the variation in rotational angles of the tool and the swinging device can be made gradual in a reliable manner.
In this case, when a singular point at which the tool axis vector becomes perpendicular to the specific plane is included in the posture adjustment location, favorably, the transfer command derivation unit obtains, based on the direction specification function, the direction specifying angle corresponding to the intervening variable of the singular point, and the transfer command derivation unit obtains a transfer amount of the transfer object per unit time in the rotational transfer axis direction using the obtained direction specifying angle as a position coordinate in the rotational transfer axis direction corresponding to the intervening variable of the singular point.
According to this configuration, a direction of the projection tool axis vector in the posture adjustment interval can be gradually varied while resolving an indeterminate state of a coordinate in the rotational transfer axis direction at the singular point. Specifically, at a singular point at which the tool axis vector becomes perpendicular to the specific plane, an indeterminate state is created in which a position coordinate is not uniquely determined with respect to a rotational transfer axis direction around an axis perpendicular to the specific plane. In comparison, in the present configuration, since a direction specifying angle obtained from the direction specification function with respect to an intervening variable of the singular point is used as a position coordinate in the rotational transfer axis direction at the singular point, the position coordinate in the rotational transfer axis direction is uniquely determined at the singular point and an indeterminate state can be resolved. Furthermore, since the direction specifying angle of the singular point is obtained from a direction specification function which causes the direction specifying angle to vary at an equal rate in a posture adjustment interval, a condition of gradually varying a direction of the projection tool axis vector in the posture adjustment interval is satisfied. Therefore, in the present configuration, a direction of the tool axis vector in the posture adjustment interval can be gradually varied while resolving an indeterminate state of a position coordinate in the rotational transfer axis direction at the singular point.
In the numerical control device, the posture adjustment information derivation unit may derive, as the posture adjustment information, a tip-midair correspondence relationship which defines a correlation between an arbitrary intervening variable and a midair point specifying intervening variable so as to satisfy a condition that a travel distance along the tip path from a point corresponding to a start point of the posture adjustment interval among the tip path to the arbitrary point corresponding to the arbitrary intervening variable in the posture adjustment interval and a travel distance along the midair path from a point corresponding to the start point of the posture adjustment interval among the midair path to a prescribed point on the midair path to be associated with the arbitrary point on the tip path are maintained at a constant ratio, the midair point specifying intervening variable being an intervening variable for specifying the prescribed point on the midair path; and the transfer command derivation unit may obtain the midair point specifying intervening variable satisfying the tip-midair correspondence relationship with respect to a specific intervening variable in the posture adjustment interval with respect to the tip path, the tip-midair correspondence relationship being derived by the posture adjustment information derivation unit; and the transfer command derivation unit derives, as a position coordinate of the adjusted midair point, a position coordinate of a point on the midair path corresponding to the obtained midair point specifying intervening variable.
According to this configuration, in a posture adjustment interval, the tip point of the tool and the midair point can be moved in a state where a travel distance of the tip point along the tip path from a start point of the posture adjustment interval and a travel distance of the midair point along the midair path from a start point of the posture adjustment interval are maintained at a constant ratio. Therefore, an occurrence of a posture variation of the tool in which a midair point that had lagged behind a tip point suddenly overtakes the tip point or a posture variation of the tool causing an opposite action can be prevented, and the rotating device can be prevented from significantly and suddenly rotating the tool and the swinging device relative to the table to realize such a posture variation of the tool.
In the numerical control device, favorably, the path derivation unit includes: a pre-interpolation path derivation unit which reads the machining program stored in the storage unit and which obtains a pre-interpolation tip path and a pre-interpolation midair path, the pre-interpolation tip path representing a movement of the tip point specified by the read machining program by a function of a position coordinate of the tip point in the reference coordinate system and the intervening variable, the pre-interpolation midair path representing a movement of the midair point specified by the read machining program by a function of a position coordinate of the midair point in the reference coordinate system and the intervening variable; and a path interpolation unit which obtains the tip path by locally interpolating the pre-interpolation tip path obtained by the pre-interpolation path derivation unit and which obtains the midair path by locally interpolating the pre-interpolation midair path obtained by the pre-interpolation path derivation unit, and wherein the path interpolation unit sets, as a tip path interpolation object point, at least one point of a point at which a variation of a primary differential value with respect to the intervening variable is continuous and a variation of a secondary differential value with respect to the intervening variable is discontinuous and a point at which a variation of a primary differential value with respect to the intervening variable is discontinuous on the pre-interpolation tip path obtained by the pre-interpolation path derivation unit; the path interpolation unit locally interpolates only a tip path interpolation interval so that a variation of the differential value which is discontinuous at the tip path interpolation object point becomes a continuous variation, the tip path interpolation interval being a specific interval before and after the tip path interpolation object point among the pre-interpolation tip path; the path interpolation unit sets, as a midair path interpolation object point, at least one point of a point at which a variation of a primary differential value with respect to the intervening variable is continuous and a variation of a secondary differential value with respect to the intervening variable is discontinuous and a point at which a variation of a primary differential value with respect to the intervening variable is discontinuous on the pre-interpolation midair path obtained by the pre-interpolation path derivation unit; and the path interpolation unit locally interpolates only a midair path interpolation interval so that a variation of the differential value which is discontinuous at the midair path interpolation object point becomes a continuous variation, the midair path interpolation interval being a specific interval before and after the midair path interpolation object point among the pre-interpolation midair path.
According to this configuration, a point at which velocity is discontinuous due to a discontinuous primary differential value with respect to an intervening variable on the pre-interpolation tip path and the pre-interpolation midair path can be interpolated so that the velocity becomes continuous, and a point at which acceleration is discontinuous due to a discontinuous secondary differential value with respect to an intervening variable on the pre-interpolation tip path and the pre-interpolation midair path can be interpolated so that the acceleration becomes continuous. Therefore, with respect to a location on the pre-interpolation tip path and the pre-interpolation midair path at which a differential value with respect to an intervening variable is discontinuous due to abnormal data or the like and, consequently, a sudden velocity variation or a sudden acceleration variation occurs, the sudden velocity variation or the sudden acceleration variation can be suppressed and an occurrence of a mechanical shock at the location can be suppressed. Moreover, with this configuration, a location at which a differential value is discontinuous among the pre-interpolation tip path and the pre-interpolation midair path can be interpolated and a factor of mechanical shock can be removed from the paths before the transfer command derivation unit derives a transfer command for each transfer axis. Therefore, it is no longer necessary to perform acceleration/deceleration processing after the transfer command derivation unit derives a transfer command in order to interpolate a location which may be a factor of mechanical shock among the transfer command.
In the numerical control device, favorably, the storage unit stores workpiece placement information which describes a relative position and a relative inclination of a workpiece coordinate system with respect to the reference coordinate system, the workpiece coordinate system being fixed to a workpiece placed on the table, the machining program stored in the storage unit includes a workpiece coordinate system tool path which represents a movement of the tool in the workpiece coordinate system during machining of the workpiece, and the path derivation unit reads the workpiece coordinate system tool path included in the machining program, derives a reference coordinate system tool path by transforming the read workpiece coordinate system tool path into a path on the reference coordinate system based on the workpiece placement information, and derives the tip path and the midair path based on the derived reference coordinate system tool path.
According to this configuration, even if the workpiece is placed on the table in a posture at which the workpiece coordinate system is inclined with respect to the reference coordinate system, a workpiece coordinate system tool path can be transformed into a reference coordinate system tool path and the tip path and the midair path can be obtained from the reference coordinate system tool path. Therefore, by performing specification of the posture adjustment interval, derivation of the posture adjustment information, derivation of the intervening variable time function, and derivation of the transfer command based on the obtained tip path and midair path and having the transfer devices move the transfer object in accordance with the derived transfer command, a position of the posture adjustment location in accordance with the posture of the workpiece can be accurately specified even if the workpiece is inclined on the table and a relative sudden rotation of the tool and the table in an operation in a vicinity of the posture adjustment location can be prevented.
As shown, according to the embodiment described above, a relative sudden rotation of a tool and a table can be prevented and a decline in machining accuracy of a workpiece and an occurrence of a mechanical shock can be suppressed even when a machining program includes a portion instructing a movement of a transfer object that causes a sudden variation in a direction of a projection tool axis vector.
Number | Date | Country | Kind |
---|---|---|---|
2011-167230 | Jul 2011 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2012/004802 | 7/27/2012 | WO | 00 | 1/29/2014 |