Numerical controller and movement control method for tool that maximizes synthetic movement velocity in a cutting feed by rotating the table to a selected angle
Granted 30 Jul 2019 · 1 office action
Assignee: FANUC
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Kazuo Sato, Hideaki Maeda, Kouji Sekimoto · Examiner: Thomas C Lee · AU 2115 · TC 2100
Life of the application
10 dated eventsAbstract
A numerical controller includes: a program analyzing unit to obtain a first movement end point position of the tool; a direction calculating unit to calculate a synthetic movement direction that maximizes a synthetic velocity, based on an upper limit movement velocity of the tool in each of the two axis directions; an end point position calculating unit to calculate an intersection position of a circle and the synthetic movement direction as a second movement end point position, wherein the circle has as a radius a distance from a rotation center position of the table to the first movement end point position; a rotation angle calculating unit to calculate a rotation angle of the table based on the first movement end point position and the second movement end point position; and a rotation control unit to control rotation of the table based on the rotation angle.
Description
12 parts›CROSS-REFERENCE TO RELATED APPLICATION
This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2016-147979 filed on Jul. 28, 2016, the contents of which are incorporated herein by reference.
›Field of the Invention
The present invention relates to a numerical controller and a movement control method for a tool that control axial feeding of the tool.
›Description of the Related Art
As disclosed in Japanese Laid-Open Patent Publication No. 2015-079286, it is generally known that numerical controllers for controlling machine tools axially feed the movable shafts by controlling servo motors.
›SUMMARY OF THE INVENTION · 1 of 2
However, when the tool is axially fed by linearly moving the tool uniaxially, for example, it is only possible to axially feed the tool at a maximum movement velocity of this axis and it is not possible to reduce an axial feeding time any more.
It is therefore an object of the present invention to provide a numerical controller and a movement control method for a tool that reduce an axial feeding time.
A first aspect of the present invention is a numerical controller that moves a tool based on a program, wherein the tool is configured to machine a work supported on a table and is movable along at least two axis directions orthogonal to each other, and includes: a program analyzing unit configured to analyze the program to obtain a first movement end point position of the tool that is linearly moved; a direction calculating unit configured to calculate a synthetic movement direction that maximizes a synthetic velocity, based on a predetermined upper limit movement velocity of the tool in each of the at least two axis directions; an end point position calculating unit configured to calculate an intersection position of a circle and the synthetic movement direction as a second movement end point position, wherein the circle has as a radius a distance from a rotation center position of the table to the first movement end point position; a rotation angle calculating unit configured to calculate a rotation angle of the table based on the first movement end point position and the second movement end point position; and a rotation control unit configured to control rotation of the table about the rotation center position based on the rotation angle.
Thus, the synthetic velocity is used at maximum, so that it is possible to reduce an axial feeding time.
The first aspect of the present invention is the numerical controller, and the direction calculating unit may be configured to calculate an inclination angle of the synthetic movement direction; and the end point position calculating unit may be configured to calculate the second movement end point position based on a current position of the tool, the first movement end point position and the inclination angle of the synthetic movement direction. Consequently, it is possible to calculate the second movement end point position in the synthetic movement direction that maximizes the synthetic velocity, and move the tool along the synthetic movement direction that maximizes the synthetic velocity.
The first aspect of the present invention is the numerical controller, and the direction calculating unit may be configured to calculate the inclination angle α of the synthetic movement direction according to following equation (1) where Vx represents the upper limit movement velocity in one axis direction of the two axis directions and Vy represents the upper limit movement velocity in another axis direction; and the end point position calculating unit may be configured to calculate the second movement end point position according to simultaneous equations based on following equations (2), (3) where the known current position of the tool is (X s , Y s ), the first movement end point position is (X e1 , Y e1 ) and the second movement end point position is (X e2 , Y e2 ),
α = tan - 1 Vy Vx ( 1 ) Y e 2 = α · X e 2 + Y s - α · X s ( 2 ) X e 1 2 + Y e 1 2 = X e 2 2 + Y e 2 2 . ( 3 )
Consequently, it is possible to reliably and easily calculate the second movement end point position in the synthetic movement direction that maximizes the synthetic velocity.
The first aspect of the present invention is the numerical controller, and two solutions are obtained according to the simultaneous equations and the end point position calculating unit may be configured to use one of the solutions of a closer distance to the first movement end point position as the second movement end point position. Consequently, it is possible to calculate the end point position toward which the tool is about to move.
The first aspect of the present invention is the numerical controller, and the rotation angle calculating unit may be configured to calculate the rotation angle by calculating a first inclination angle, a second inclination angle, and a difference between the first inclination angle and the second inclination angle, wherein the first inclination angle is a line segment that connects the rotation center position and the first movement end point position and the second inclination angle is a line segment that connects the rotation center position and the second movement end point position. Consequently, even when the tool is moved to the second movement end point position along the synthetic movement direction that maximizes the synthetic velocity, it is possible to keep a relative positional relationship between the tool and a work (table).
The first aspect of the present invention is the numerical controller and may include: a first movement control unit configured to control movement of the tool along one axis direction of the two axis directions; and a second movement control unit configured to control the movement of the tool along another axis direction, and the first movement control unit and the second movement control unit may be configured to control the movement of the tool to linearly move the tool to the second movement end point position. Consequently, it is possible to axially feed the tool in a short time.
A second aspect of the present invention is a movement control method for a tool, wherein a numerical controller moves the tool based on a program, the tool is configured to machine a work supported on a table and is movable along at least two axis directions orthogonal to each other, and the movement control method includes: a program analyzing step of analyzing the program to obtain a first movement end point position of the tool that is linearly moved; a direction calculating step of calculating a synthetic movement direction that maximizes a synthetic velocity, based on a predetermined upper limit movement velocity of the tool in each of the at least two axis directions; an end point position calculating step of calculating an intersection position of a circle and the synthetic movement direction as a second movement end point position, wherein the circle has as a radius a distance from a rotation center position of the table to the first movement end point position; a rotation angle calculating step of calculating a rotation angle of the table based on the first movement end point position and the second movement end point position; and a rotation controlling step of rotating the table about the rotation center position based on the rotation angle.
›SUMMARY OF THE INVENTION · 2 of 2
Thus, the synthetic velocity is used at maximum, so that it is possible to reduce an axial feeding time.
The second aspect of the present invention is the movement control method for the tool, and, in the direction calculating step, an inclination angle of the synthetic movement direction may be calculated; and in the end point position calculating step, the second movement end point position may be calculated based on a current position of the tool, the first movement end point position and the inclination angle of the synthetic movement direction. Consequently, it is possible to calculate the second movement end point position in the synthetic movement direction that maximizes the synthetic velocity, and move the tool along the synthetic movement direction that maximizes the synthetic velocity.
The second aspect of the present invention is the movement control method for the tool, and, in the direction calculating step, the inclination angle α of the synthetic movement direction may be calculated according to following equation (1) where Vx represents the upper limit movement velocity in one axis direction of the two axis directions and Vy represents the upper limit movement velocity in another axis direction; and, in the end point position calculating step, the second movement end point position may be calculated according to simultaneous equations based on following equations (2), (3) where the known current position of the tool is (X s , Y s ), the first movement end point position is (X e1 , Y e1 ) and the second movement end point position is (X e2 , Y e2 ),
α = tan - 1 Vy Vx ( 1 ) Y e 2 = α · X e 2 + Y s - α · X s ( 2 ) X e 1 2 + Y e 1 2 = X e 2 2 + Y e 2 2 . ( 3 )
Consequently, it is possible to reliably and easily calculate the second movement end point position in the synthetic movement direction that maximizes the synthetic velocity.
The second aspect of the present invention is the movement control method for the tool, and, in the end point position calculating step, two solutions are obtained according to the simultaneous equations, and one of the solutions of a closer distance to the first movement end point position may be used as the second movement end point position. Consequently, it is possible to calculate the end point position toward which the tool is about to move.
The second aspect of the present invention is the movement control method for the tool, and, in the rotation angle calculating step, the rotation angle may be calculated by calculating a first inclination angle and a second inclination angle and calculating a difference between the first inclination angle and the second inclination angle, wherein the first inclination angle is a line segment that connects the rotation center position and the first movement end point position and the second inclination angle is a line segment that connects the rotation center position and the second movement end point position. Consequently, even when the tool is moved to the second movement end point position along the synthetic movement direction that maximizes the synthetic velocity, it is possible to keep the relative positional relationship between the tool and the work (table). Consequently, it is possible to axially feed the tool in a short time.
The second aspect of the present invention is the movement control method for the tool, and may further include a movement controlling step of controlling the movement of the tool to linearly move the tool to the second movement end point position.
According to the present invention, the synthetic velocity is used at maximum, so that it is possible to reduce an axial feeding time.
The above and other objects, features, and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which a preferred embodiment of the present invention is shown by way of illustrative example.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a view for explaining a drawback of conventional axial feeding;
FIG. 1B is a view for explaining an outline of axial feeding according to the present embodiment;
FIG. 2 is a configuration diagram of a numerical controller according to the present embodiment;
FIG. 3 is a view for explaining a configuration of each unit of a preprocessing unit shown in FIG. 2 ; and
FIG. 4 is a flowchart showing an operation of the numerical controller.
›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 5
A preferred embodiment of a numerical controller and a movement control method for a tool according to the present invention will be described in detail below with reference to the accompanying drawings.
The numerical controller according to the present embodiment moves a tool that machines a work supported on a table, based on a program. This tool is movable along three axis directions orthogonal to each other. These three axis directions are an X axis direction, a Y axis direction and a Z axis direction. In this regard, the present embodiment describes an example where the tool is moved on an XY plane for convenience of explanation.
A drawback of conventional axial feeding will be described first. Then, an outline of axial feeding according to the present embodiment will be described. Subsequently, the numerical controller according to the present embodiment will be described in detail.
<Drawback of Conventional Axial Feeding and Outline of Axial Feeding According to Present Embodiment>
As shown in FIG. 1A , a tool TO located at a start point position S (coordinates (x, y)=(−100, 250)) is linearly moved to an end point position E 1 (coordinates (x, y)=300, 250)) along a +X axis direction. In this case, it is not possible to move the tool TO at a feedrate higher than an upper limit movement velocity Vx of the tool TO in the X axis direction, or reduce the feeding time any more.
In this regard, the tool TO is movable in the Y axis direction, too. Consequently, by moving the tool TO at an upper limit movement velocity Vy in the Y axis direction while moving the tool TO at the upper limit movement velocity Vx in the X axis direction, it is possible to move the tool TO at the feedrate higher than the upper limit movement velocity Vx. A synthetic velocity for moving the tool TO at these upper limit movement velocities Vx, Vy will be referred to as a maximum synthetic velocity Vc. A linear direction in which the tool TO moves at the maximum synthetic velocity Vc will be referred to as a synthetic movement direction A (see FIG. 1B ).
When the tool TO is moved along the synthetic movement direction A, the tool TO cannot naturally reach the end point position E 1 . However, this end point position E 1 is determined according to a relative positional relationship with the table (work W). Therefore, by rotating the table (work W) about a rotation center position (the Z axis in FIGS. 1A and 1B ) on the XY plane, it is possible to keep the relative positional relationship between the tool TO and the table (work W).
That is, as shown in FIG. 1B , the end point position E 1 and the table (work W) are rotated at a predetermined angle about the rotation center position (Z axis) of the table, to locate the end point position E 1 in the synthetic movement direction A. Thus, the relative positional relationship between the tool TO and the table (work W) in a case where the tool TO is moved from the start point position S to the end point position E 1 in the +X axis direction, matches with a relative positional relationship between the tool TO and the table (work W) in a case where the tool TO is moved from the start point position S to an end point position E 2 (a position corresponding to the end point position E 1 ) along the synthetic movement direction A. In this regard, the end point position E 2 is a position that is in the synthetic movement direction A in a case where the end point position E 1 is rotated about the rotation center position of the table to locate the end point position E 1 in the synthetic movement direction A.
Thus, by rotating the end point position E 1 and the table (work W) at a predetermined angle, it is possible to substantially reduce the feeding time of the tool TO.
FIGS. 1A and 1B show examples where the tool TO is linearly moved in a single axis direction (X axis direction). However, the present invention is also applicable to a case of moving the tool TO in multiple axis directions (the X axis direction and the Y axis direction) to linearly move the tool TO as a result. That is, even when the tool TO is moved in the X axis direction and the Y axis direction, the synthetic velocity does not necessarily match with the maximum synthetic velocity Vc.
<Explanation of Numerical Controller 10 According to Present Embodiment>
FIG. 2 is a configuration diagram of a numerical controller 10 according to the present embodiment. The elements in FIG. 2 and subsequent drawings, which are similar to the elements having reference numerals in FIGS. 1A and 1B , will be described using the same reference numerals. Although not shown, the numerical controller 10 includes a processor such as a CPU and a storage medium in which basic programs are stored. The processor executes the basic programs to function as the numerical controller 10 according to the present embodiment. Although not shown, the numerical controller 10 includes as well an input unit that an operator can operate to input information and a command, a display unit that displays the information, and the like.
The numerical controller 10 includes a program 12 , a program analyzing unit 14 , a preprocessing unit 16 and servo motor control units 18 X, 18 Y, 18 T. A servo motor 20 X is a motor that moves the tool TO in the X axis direction, and a servo motor 20 Y is a motor that moves the tool TO in a Y axis direction. A servo motor 20 T is a servo motor that rotates a table TA that supports the work W about a rotation center position O of the table TA on the XY plane. The X axis direction, the Y axis direction and the Z axis direction are orthogonal to each other.
The numerical controller 10 includes a preset XYZ coordinate system, and recognizes a position of the tool TO and a position of the table TA based on this XYZ coordinate system. The XYZ coordinate system expresses an actual position of a machine (the tool TO or the table TA) on a coordinate system. Hence, the X axis direction and the Y axis direction of the XYZ coordinate system match with the X axis direction and the Y axis direction in which the tool TO actually moves. The Z axis direction of the XYZ coordinate system passes on the rotation center position O of the table TA. Thus, a position of an origin on the XY plane of the XYZ coordinate system is the rotation center position O.
›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 5
The program 12 is stored in the storage medium of the numerical controller 10 , and in which a program is described for axially feeding at least the tool TO. The program analyzing unit 14 analyzes the program 12 to obtain the end point position E 1 (first movement end point position) of the tool TO as a command value. This end point position E 1 is a position based on the XYZ coordinate system. The end point position E 1 obtained by the program analyzing unit 14 is outputted to the preprocessing unit 16 .
A coordinate position of the end point position E 1 is expressed as (X e1 , Y e1 ). A coordinate position of the start point position (the current position of the tool TO) S is expressed as (X s , Y s ). This start point position S (X s , Y s ) is known. The position X e1 and the position X s are the positions on the X axis of the XYZ coordinate system, and the position Y e1 and the position Y s are the positions on the Y axis of the XYZ coordinate system.
The preprocessing unit 16 calculates the synthetic movement direction A that maximizes the synthetic velocity based on the upper limit movement velocity Vx in the X axis direction and the upper limit movement velocity Vy in the Y axis direction. The preprocessing unit 16 calculates the end point position E 2 (second movement end point position) of the tool TO and a rotation angle θ of the table TA that keep the relative positional relationship between the tool TO after the linear movement and the table TA even when the tool TO is linearly moved from the start point position S (X s , Y s ) along the synthetic movement direction A.
As described above, the rotation angle θ is an angle at which the end point position E 1 (X e1 , Y e1 ) and the table TA are rotated about the rotation center position O (i.e., about the Z axis), to move the end point position E 1 (X e1 , Y e1 ) so as to be positioned in the synthetic movement direction A. The end point position E 2 of the tool TO is the position in the synthetic movement direction A in a case where the end point position E 1 of the tool TO is rotated about the rotation center position O of the table (about the Z axis). A coordinate position of this end point position E 2 is expressed as (X e2 , Y e2 ). The position X e2 is a position on the X axis of the XYZ coordinate system, and the position Y e2 is a position on the Y axis of the XYZ coordinate system. The preprocessing unit 16 will be described in detail below.
The preprocessing unit 16 outputs the position X e2 on the X axis of the end point position E 2 (X e2 , Y e2 ) to the servo motor control unit (first movement control unit) 18 X and the position Y e2 on the Y axis to the servo motor control unit (second movement control unit) 18 Y. The preprocessing unit 16 outputs the calculated rotation angle θ to the servo motor control unit (rotation control unit) 18 T.
The servo motor control unit 18 X controls the servo motor 20 X to move the tool TO from the position X s to the position X e2 at the upper limit movement velocity Vx. The servo motor control unit 18 Y controls the servo motor 20 Y to move the tool TO from the position Y s to the position Y e2 at the upper limit movement velocity Vy. Thus, the tool TO linearly moves from the start point position S (X s , Y s ) to the end point position E 2 (X e2 , Y e2 ) along the synthetic movement direction A at the maximum synthetic velocity Vc. The servo motor control unit 18 T controls the servo motor 20 T to rotate the table TA about the rotation center position O (about the Z axis).
Next, the preprocessing unit 16 will be described in detail with reference to FIG. 3 , too. The preprocessing unit 16 includes a direction calculating unit 30 , an end point position calculating unit 32 and a rotation angle calculating unit 34 . The direction calculating unit 30 calculates the synthetic movement direction A that maximizes the synthetic velocity, based on the predetermined upper limit movement velocities (vectors) Vx, Vy of the tool TO in the X axis direction and the Y axis direction, respectively.
As shown in FIG. 3 , a direction in which a synthetic vector obtained by adding the upper limit movement velocity (vector) Vx and the upper limit movement velocity (vector) Vy extends is the synthetic movement direction A. The direction calculating unit 30 calculates an inclination angle α of the synthetic movement direction A (an inclination angle with respect to a direction parallel to the X axis direction). The direction calculating unit 30 calculates the inclination angle α based on following equation (4).
The upper limit movement velocities Vx, Vy may be maximum movement velocities at which the servo motors 20 X, 20 Y can move the tool TO or movement velocities determined in advance by an operator.
The end point position calculating unit 32 calculates the end point position E 2 (X e2 , Y e2 ) corresponding to the end point position E 1 (X e1 , Y e1 ) to which the tool TO is moved along the synthetic movement direction A. The end point position calculating unit 32 calculates as the end point position E 2 (X e2 , Y e2 ) an intersection position of a circle C having as a radius R a distance from the rotation center position O of the table TA to the end point position E 1 (X e1 , Y e1 ), and the synthetic movement direction A.
Calculation of the end point position E 2 (X e2 , Y e2 ) in the end point position calculating unit 32 will be specifically described below. In the XY coordinate system, the position (X, Y) of the tool TO that moves along the synthetic movement direction A can be expressed by following equation (5). This equation (5) is a function that indicates the synthetic movement direction A. The term b represents a predetermined constant. When the present invention is not applied, the tool TO moves from the start point position S (X s , Y s ) to the end point position E 1 (X e1 , Y e1 ) along a movement direction B.
Y=α·X+b (5)
The tool TO that moves along the synthetic movement direction A passes on the start point position S (X s , Y s ) of the tool TO on the XY coordinate system. Therefore, by substituting the start point position S (X s , Y s ) in equation (5), it is possible to obtain following equation (6). In this regard, the start point position S (X s , Y s ) is known.
›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 5
b=Y s −α·X s (6)
Following equation (7) can be derived from equation (5) and equation (6).
Y=α·X+Y s −α·X s (7)
The tool TO that moves along the synthetic movement direction A passes the end point position E 2 (X e2 , Y e2 ). Therefore, by substituting the end point position E 2 (X e2 , Y e2 ) in equation (7), it is possible to obtain following equation (8).
Y e2 =α·X e2 +Y s −α·X s (8)
The radius R of the circle C can be expressed by following equation (9) by using the end point position E 1 (X e1 , Y e1 ).
R =√{square root over ( X e1 2 +Y e1 2 )} (9)
The end point position E 2 (X e2 , Y e2 ) is the intersection position of the circle C having as the radius R the distance from the rotation center position O (the origin on the XY plane) of the table TA to the end point position E 1 (X e1 , Y e1 ), and the synthetic movement direction A. Therefore, the end point position E 1 (X e1 , Y e1 ) and the end point position E 2 (X e2 , Y e2 ) have a relationship of following equation (10).
√{square root over ( X e1 2 +Y e1 2 )}=√{square root over ( X e2 2 +Y e2 2 )} (10)
By solving simultaneous equations of equation (8) and equation (10), it is possible to calculate the end point position E 2 (X e2 , Y e2 ). Consequently, the end point position calculating unit 32 can calculate the end point position E 2 (X e2 , Y e2 ) based on the end point position E 1 (X e1 , Y e1 ) obtained by the program analyzing unit 14 , the inclination angle α calculated by the direction calculating unit 30 and the known start point position S (X s , Y s ) and by using equation (8) and equation (10).
By solving the simultaneous equations of equation (8) and equation (10), two intersections of the synthetic movement direction A and the circle C are obtained as shown in FIG. 3 . These two solutions (intersection positions) are a solution 1 (X A1 , Y A1 ) and a solution 2 (X A2 , Y A2 ). The end point position calculating unit 32 uses the solution at a position closest to the end point position E 1 (X e1 , Y e1 ) as the end point position E 2 (X e2 , Y e2 ).
More specifically, the end point position calculating unit 32 calculates a distance S 1 between the end point position E 1 (X e1 , Y e1 ) and the solution 1 (X A1 , Y A1 ) according to following equation (11). Also, the end point position calculating unit 32 calculates a distance S 2 between the end point position E 1 (X e1 , Y e1 ) and the solution 2 (X A2 , Y A2 ) according to following equation (12). Further, the end point position calculating unit 32 compares the distance S 1 and the distance S 2 and determines the solution of a shorter distance as the end point position E 2 (X e2 , Y e2 ).
S 1 =√{square root over (( X A1 −X e1 ) 2 +( Y A1 −Y e1 ) 2 )} (11)
S 2 =√{square root over (( X A2 −X e1 ) 2 +( Y A2 −Y e1 ) 2 )} (12)
The rotation angle calculating unit 34 calculates the rotation angle θ of the table TA (work W) based on the end point position E 1 (X e1 , Y e1 ) and the end point position E 2 (X e2 , Y e2 ). First, the rotation angle calculating unit 34 calculates an inclination angle (first inclination angle) β 1 of a line segment that connects the rotation center position O of the table TA and the end point position E 1 (X e1 , Y e1 ) and an inclination angle (second inclination angle) β 2 of a line segment that connects the rotation center position O of the table TA and the end point position E 2 (X e2 , Y e2 ). The rotation angle calculating unit 34 calculates the inclination angles β 1 , β 2 by using following equations (13), (14). In this regard, the inclination angles β 1 , β 2 are inclination angles with respect to a direction parallel to the X axis direction.
The rotation angle calculating unit 34 calculates the rotation angle θ by calculating a difference between the inclination angles β 1 and the inclination angle β 2 . As shown in FIG. 3 , when a leftwise direction (counterclockwise direction) about the rotation center position O is a positive direction, the rotation angle calculating unit 34 calculates the rotation angle θ by subtracting the inclination angles β 1 from the inclination angle β 2 . In this case, the rotation angle θ has a relationship of θ=β 2 −β 1 . By contrast with this, when a rightwise direction (clockwise direction) about the rotation center position O is the positive direction, the rotation angle calculating unit 34 calculates the rotation angle θ by subtracting the inclination angles β 2 from the inclination angle β 1 . In this case, the rotation angle θ has a relationship of θ=β 1 −β 2 .
Next, an operation of the numerical controller 10 will be described with reference to a flowchart shown in FIG. 4 . In step S 1 , the program analyzing unit 14 analyzes the program 12 to obtain the end point position E 1 (X e1 , Y e1 ) of the tool TO.
Next, in step S 2 , the program analyzing unit 14 analyzes the program 12 to determine whether or not this movement is linear movement. When it is determined in step S 2 that the movement is not the linear movement, this operation is finished. When it is determined in step S 2 that the movement is the linear movement, the flow moves to step S 3 .
When the flow moves to step S 3 , the direction calculating unit 30 calculates the inclination angle α of the synthetic movement direction A that maximizes the synthetic velocity. The direction calculating unit 30 calculates the inclination angle α based on the upper limit movement velocity Vx in the X axis direction and the upper limit movement velocity Vy in the Y axis direction by using equation (4). These upper limit movement velocities Vx, Vy are predetermined velocities.
Next, in step S 4 , the end point position calculating unit 32 calculates the end point position E 2 (X e2 , Y e2 ) based on the start point position S (X s , Y s ) of the tool TO, the end point position E 1 (X e1 , Y e1 ) obtained in step S 1 , and the inclination angle α calculated in step S 3 by using the simultaneous equations of equation (8) and equation (10). In this case, the simultaneous equations provide the two solutions, i.e., the solution 1 (X A1 , Y A1 ) and the solution 2 (X A2 , Y A2 ). Therefore, the end point position calculating unit 32 uses the solution of the shortest distance to the end point position E 1 (X e1 , Y e1 ) as the end point position E 2 (X e2 , Y e2 ) by using equation (11), equation (12) and the end point position E 1 (X e1 , Y e1 ).
›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 4 of 5
Next, in step S 5 , the rotation angle calculating unit 34 calculates the inclination angle β 1 of the line segment that connects the rotation center position O and the end point position E 1 (X e1 , Y s1 ). The rotation angle calculating unit 34 calculates the inclination angle β 1 based on the end point position E 1 (X e1 , Y e1 ) by using equation (13).
Next, in step S 6 , the rotation angle calculating unit 34 calculates the inclination angle β 2 of the line segment that connects the rotation center position O and the end point position E 2 (X e2 , Y e2 ). The rotation angle calculating unit 34 calculates the inclination angle β 2 based on the end point position E 2 (X e2 , Y e2 ) by using equation (14).
Next, in step S 7 , the rotation angle calculating unit 34 calculates the inclination angle θ based on the inclination angle β 1 calculated in step S 5 and the inclination angle β 2 calculated in step S 6 . The rotation angle calculating unit 34 calculates the rotation angle θ by calculating the difference between the inclination angle β 1 and the inclination angle 132 .
Next, in step S 8 , the servo motor control units 18 X, 18 Y control the servo motors 20 X, 20 Y to move the tool TO at the maximum synthetic velocity Vc along the synthetic movement direction A. At the same time as this movement, the servo motor control unit 18 T controls the servo motor 20 T to rotate the table TA at the rotation angle θ calculated in step S 7 about the rotation center position O (about the Z axis). Consequently, it is possible to rotate the table TA at the rotation angle θ while linearly moving the tool TO to the end point position E 2 (X e2 , Y e2 ) at the maximum synthetic velocity Vc. Consequently, it is possible to reduce an axial feeding time of the tool.
The above embodiment has described rotating the table TA on the two-dimensional XY plane of the X axis and the Y axis for ease of description. However, the table TA may be three-dimensionally rotated based on the same principal. That is, the table TA may be rotated on the XY plane, a XZ plane and a YZ plane.
In this case, the synthetic movement direction A that maximizes the synthetic velocity is calculated based on the upper limit movement velocity Vx in the X axis direction, the upper limit movement velocity Vy in the Y axis direction, and an upper limit movement velocity Vz in the Z axis direction. The inclination angle α (referred to as αxy below) of the synthetic movement direction A on the XY plane is calculated based on the upper limit movement velocities Vx, Vy as described above. The inclination angle α (referred to as αxz below) of the synthetic movement direction A on the XZ plane is calculated based on the upper limit movement velocities Vx, Vz. The inclination angle α (referred to as αyz below) of the synthetic movement direction A on the YZ plane is calculated based on the upper limit movement velocities Vy, Vz.
The intersection position of the circle (ball) C having as the radius R a distance from the rotation center position O of the table TA to the end point position E 1 (X e1 , Y e1 , Z e1 ), and the synthetic movement direction A is calculated as the end point position E 2 (X e2 , Y e2 , Z e2 ). The rotation angles θ (θxy, θxz, θyz) of the table TA on respective planes (the XY plane, the XZ plane and the YZ plane) are calculated based on the end point position E 1 (X e1 , Y e1 , Z e1 ) and the end point position E 2 (X e2 , Y e2 , Z e2 ).
The numerical controller 10 according to the above embodiment moves the tool TO that machines the work W supported on the table TA and that is movable along at least the two axis directions orthogonal to each other, based on the program 12 . The numerical controller 10 includes the program analyzing unit 14 that analyzes the program 12 to obtain the end point position E 1 of the tool TO that is linearly moved, the direction calculating unit 30 that calculates the synthetic movement direction A that maximizes the synthetic velocity based on the predetermined upper limit movement velocity of the tool TO in each of at least the two axis directions, the end point position calculating unit 32 that calculates as the end point position E 2 the intersection position of the circle C having as the radius R the distance from the rotation center position O of the table TA to the end point position E 1 , and the synthetic movement direction A, the rotation angle calculating unit 34 that calculates the rotation angle θ of the table TA based on the end point position E 1 and the end point position E 2 , and the servo motor control unit 18 T that controls rotation of the table TA about the rotation center position O based on the rotation angle θ. Thus, the synthetic velocity is used at maximum, so that it is possible to reduce an axial feeding time.
The direction calculating unit 30 may calculate the inclination angle α of the synthetic movement direction A. The end point position calculating unit 32 may calculate the end point position E 2 based on the current position (start point position) S of the tool TO, the end point position E 1 and the inclination angle α of the synthetic movement direction A. Consequently, it is possible to calculate the end point position E 2 in the synthetic movement direction A that maximizes the synthetic velocity, and move the tool TO along the synthetic movement direction A that maximizes the synthetic velocity.
The direction calculating unit 30 calculates the inclination angle α of the synthetic movement direction A according to above equation (4) in a case where Vx represents the upper movement velocity in one axis direction of the two axis directions and Vy represents the upper limit movement velocity in the other axis direction. The end point position calculating unit 32 may calculate the end point position E 2 according to the simultaneous equations of above equations (8) and (10) in a case where the known current position of the tool TO is (X s , Y s ), the end point position E 1 is (X e1 , Y e1 ) and the end point position E 2 is (X e2 , Y e2 ). Consequently, it is possible to reliably and easily calculate the end point position E 2 in the synthetic movement direction A that maximizes the synthetic velocity.
›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 5 of 5
The end point position calculating unit 32 uses the solution of the closer distance to the end point position E 1 among the two solutions obtained by the simultaneous equations as the end point position E 2 . Consequently, it is possible to calculate the end point position E 2 toward which the tool TO is about to move.
The rotation angle calculating unit 34 calculates the rotation angle θ by calculating the inclination angle β 1 of the line segment that connects the rotation center position O and the end point position E 1 and the inclination angle β 2 of the line segment that connects the rotation center position O and the end point position E 2 , and calculating the difference between the inclination angle β 1 and the inclination angle β 2 . Consequently, even when the tool TO is moved to the end point position E 2 along the synthetic movement direction A that maximizes the synthetic velocity, it is possible to keep the relative positional relationship between the tool TO and the work W (table TA).
The numerical controller 10 includes the servo motor control unit 18 X that controls the movement of the tool TO along the one axis direction of the two axis directions, and the servo motor control unit 18 Y that controls the movement of the tool TO along the other axis direction. The servo motor control unit 18 X and the servo motor control unit 18 Y control the movement of the tool TO to linearly move the tool TO to the end point position E 2 . Consequently, it is possible to axially feed the tool TO in a short time.
While the invention has been particularly shown and described with reference to embodiments, it will be understood that variations and modifications can be effected thereto without departing from the scope of the invention as defined by the appended claims.
›Tables in the description — 1
| β | 1 | |
| = | ||
| tan | ||
| - | 1 | |
| | ||
| Y | ||
| e | | |
| | 1 | |
| X | ||
| e | | |
| | 1 | |
| ( | 13 | ) |
| β | 2 | |
| = | ||
| tan | ||
| - | 1 | |
| | ||
| Y | ||
| e | | |
| | 2 | |
| X | ||
| e | | |
| | 2 | |
| ( | 14 | ) |
Claims as granted
12 claimsLog in to read the claims of this application.
Log in to unlockClassifications
5 codes- B23Q15/26
- G05B19/416
- G05B19/402
- G05B19/408
- G05B19/19
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock