Control unit and computer-readable recording medium

The control unit addresses the issue of vibrations and reduced accuracy in industrial machines by determining a stable speed for passing curved corners, ensuring monotonic speed change rates and smooth transitions.

DE112022007246T5Pending Publication Date: 2025-03-13FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE112022007246
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-08-23
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

Existing methods for smoothing corner parts in industrial machine paths, such as using circular arches or spline curves, often result in wave-shaped speed curves for feeders, leading to vibrations and decreased processing accuracy due to lack of speed control.

Method used

A control unit that estimates tool speeds in all directions before a corner and determines a speed for passing the corner, ensuring monotonic speed change rate, thereby stabilizing the movement and reducing bumps on each axis.

Benefits of technology

The solution stabilizes the behavior of moving objects along paths with curved corners, reduces machine vibrations, and improves processing accuracy by ensuring smooth speed transitions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A control device according to the present disclosure comprises: an analyzer that analyzes instructions from a control program; a corner detector that, based on the analysis result by the analyzer, detects a corner part where the direction of a moving path becomes discontinuous; a corner curve processing unit that performs a curvature by inserting a curve into the corner part to adjust the velocity on the curved moving path; and a velocity analyzer for each direction of velocity that analyzes the change in velocity along the direction component of the moving path before and after the corner part as it moves along the inserted curve.If a fluctuation in the rate of change of speed during movement on the curve is detected as a result of the analysis by the analyzer for each direction, the control unit instructs the corner curve processing unit to change the curve processing in order to eliminate the fluctuation in the rate of change of speed on the curve.
Need to check novelty before this filing date? Find Prior Art

Description

[TECHNICAL FIELD]

[0001] The present invention relates to a control unit and a computer-readable recording medium. [BACKGROUND]

[0002] In an industrial machine, such as a multi-axis machine tool, when the tool is moved along a path where a machining point is discontinuous, such as a right-angled corner, the feed rate at a corner part is reduced or the shape of the corner part is rounded to prevent the occurrence of impacts when passing through the corner (e.g. patent literature 1). [STATE OF THE ART DOCUMENT][PATENT LITERATURE]

[0003] [Patent Literature 1] Japanese Patent Publication No. H9-190211 [SUMMARY OF THE INVENTION][PROBLEMS THAT THE INVENTION IS INTENDED TO SOLVE]

[0004] To round off the shape of the corner section, a method for inputting a circular arc, a spline curve, or a clothoid curve can be used. However, if no speed control is provided in such a case, the speed curve of each feed axis will have a wavy shape. This can lead to vibrations due to changes in acceleration or a decrease in machining accuracy.

[0005] Therefore, it is not only important to round off the shape of the corner part, but also to reduce the feed rate. [Means to solve the problem]

[0006] When a tool is moved along a path whose corner portion is curved, a control device, according to the present disclosure, estimates the tool's velocity in each direction before the corner portion is curved and determines a velocity at which the tool passes the corner portion such that the rate of velocity change is monotonically variable in each direction. This can satisfy both the smooth velocity change resulting from the bending and the reduction of shocks on each axis, thereby solving the problem described above.

[0007] One aspect of the present disclosure is a control unit for driving each feed axis of an industrial machine based on a control program, comprising: an analyzer for analyzing a command in the control program; a corner detector for detecting a corner section where the direction of a motion path is discontinuous, based on a result of an analysis performed by the analyzer; a corner curve processing unit for inserting a curve into the corner section to round off the corner section in order to set a speed along a curved motion path;and a velocity analyzer for each direction to analyze a change in velocity in a direction component in each of the motion paths before and after the corner portion as they move along the inserted curve, wherein, if a result of an analysis shows that fluctuations in a change in velocity are detected as they move along the curve, the velocity analyzer for each direction issues a command to the corner curve processing unit to modify the corner curve processing to eliminate the fluctuations in the change in velocity along the curve.

[0008] Another aspect of the present disclosure is a computer-readable recording medium that records a program for operating a computer as a control unit for driving each feed axis of an industrial machine based on a control program, wherein the computer is operated as: an analyzer for analyzing an instruction in the control program; a corner detector for detecting a corner section where a direction of a motion path is discontinuous, based on a result of the analysis performed by the analyzer; a corner curve processing unit for inserting a curve into the corner section to round it off in order to set a velocity along the curved motion path;and a velocity analyzer for each direction to analyze a change in velocity in a direction component in each of the motion paths before and after the corner portion as they move along the inserted curve, and wherein, if a result of an analysis shows that fluctuations in a change in velocity are detected as they move along the curve, the velocity analyzer for each direction issues a command to the corner curve processing unit to modify the corner curve processing to eliminate the fluctuations in the change in velocity along the curve. [Impact of the invention]

[0009] According to one aspect of the present disclosure, if each of the moving objects is moved along the path with the curved corner section, the speed at which the moving object passes the corner section can be determined such that the rate of change of speed varies monotonically in each direction, so that the behavior of the moving object is stable in each direction and impacts on a machine can be reduced. Furthermore, an improvement in the accuracy of machining the corner section is to be expected. [BRIEF DESCRIPTION OF THE DRAWINGS] Fig. Figure 1 is a schematic hardware configuration diagram of a control unit according to an embodiment of the present invention; Fig. Figure 2 is a block diagram that schematically shows the functions of the control unit according to the present invention; Fig. Figure 3 shows an example of a corner piece in a motion path; Fig. 4 shows an example of the motion path into which a curve is inserted; Fig. Figure 5 shows an example of the change in acceleration of each of the directional components during motion along the curve; and Fig. Figure 6 shows an example of the change in speed and acceleration of a given directional component when moving along the curve. [TYPE OF IMPLEMENTATION OF THE INVENTION]

[0010] One embodiment of the present invention will now be described with reference to the accompanying drawings. Fig. Figure 1 is a schematic hardware configuration diagram showing the main components of a control unit according to an embodiment of the present invention. A control unit 1 according to the invention can be used as a control unit for controlling industrial machines, such as machine tools and robots, in which a movable object is moved by the drive of a motor. The following description describes an example of a control unit 1 for controlling a relative position between a tool and a workpiece in order to control a machine tool for machining the workpiece.

[0011] The control unit 1 of the present invention includes a central processing unit (CPU) 11, which is a processor for controlling the entire control unit 1. The CPU 11 reads a system program stored in a read-only memory (ROM) 12 via a bus 22 in order to control the entire control unit 1 according to the system program. A random access memory (RAM) 13 is configured to temporarily store calculation data, data to be displayed, and various externally input data.

[0012] A non-volatile memory 14 is configured, for example, with a memory chip or a solid-state drive (SSD) backed up by a battery (not shown in the figure), so that the memory conditions can be maintained even when a power source of the control unit 1 is switched off. The non-volatile memory 14 is configured to store, for example, control programs and data read from an external device 72 via an interface 15, data and control programs entered via an input device 71, and various data acquired by an industrial machine 3. The control programs and the various data stored in the non-volatile memory 14 can be transferred to the RAM 13 when they are executed / used. In addition, the ROM 12 stores various system programs, such as known analysis programs, in advance.

[0013] Interface 15 is configured to connect the CPU 11 in the control unit 1 to the external device 72, e.g., a USB device. Control programs, parameters, and other data used to control the industrial machine 3 can be read from the external device 72. Furthermore, control programs, parameters, etc., processed in the control unit 1 can be saved to external storage media via the external device 72. A programmable logic controller (PLC) 16 is configured to send signals via an I / O unit 17, according to the sequence programs stored in the control unit 1, to the industrial machine 3 and to peripheral devices of the industrial machine 3 (e.g., a turret, a robot drive, sensors attached to the industrial machine 3) in order to control the industrial machine 3 and the peripheral devices.In addition, the PLC 16 receives signals from various switches of an operator panel located on the main body of the industrial machine 3, and signals from the peripheral devices, performs the necessary signal processing and then transmits the signals to the CPU 11.

[0014] A display device 70 is configured to show various data read into a memory, data acquired through the execution of control programs, system programs, and the like, which are output via an interface 18. The input device 71 is configured with a keyboard, a pointing device, or similar and serves to transmit commands, data, and other information to the CPU 11 via an interface 19, according to the operations performed by an operator.

[0015] An axis 30 control circuit for controlling axes in industrial machine 3 is configured to receive a motion command for an axis from CPU 11 and then output the command for the axis to a servo amplifier 40. Upon receiving this command, the servo amplifier 40 drives a servo motor 50, which is configured to move each of the moving objects in industrial machine 3 along the axis. A position / speed detector is integrated into the servo motor 50 for the axis to feed a position / speed feedback signal back from the position / speed detector to the axis 30 control circuit. The axis 30 control circuit performs feedback control for the position and speed of the servo motor 50. Although the hardware configuration diagram in Fig. Figure 1 shows only one control circuit for axis 30, one servo amplifier 40, and one servo motor 50; these are actually intended for the number of axes in the industrial machine 3 to be controlled. For example, if a typical machine tool with three linear axes is being controlled, three pairs of control circuit for axis 30, servo amplifier 40, and servo motor 50 are provided to move a spindle attached to a tool and a workpiece relative to the directions of the three linear axes (X-axis, Y-axis, Z-axis).

[0016] A control circuit of spindle 60 is configured to receive a spindle rotation command and send a spindle speed signal to a spindle amplifier 61. Upon receiving the spindle speed signal, the spindle amplifier 61 is configured to rotate a spindle motor 62 in the industrial machine 3 at a predetermined speed to drive the spindle. A position encoder 63 is coupled to the spindle motor 62. The position encoder 63 is synchronized with the spindle rotation to output a feedback pulse, which is then read by the CPU 11.

[0017] Fig. Figure 2 is a block diagram schematically illustrating the functions of the control unit 1 according to an embodiment of the present invention. The control unit 1 according to the invention controls a relative position between a rotating tool and a workpiece in order to bring the tool into contact with the workpiece for cutting the workpiece. The various functions of the control unit 1 according to the embodiment are implemented such that the CPU 11, which is located in the Fig. The control unit 1 shown contains the system programs that execute the operation of the components of the control unit 1.

[0018] The control unit 1 of the embodiment comprises an analyzer 100, a corner detector 110, a corner curve processing unit 120, a corner curve shaper 122, a curve speed planner 124, a speed analyzer for each direction 130, an accelerator / deceleration unit for each axis 150, and a controller 160. Furthermore, a control program 200, intended for controlling the industrial machine 3, is previously stored in RAM 13 and non-volatile memory 14 in the control unit 1.

[0019] The analyzer 100 is configured to read blocks of a control program 200 sequentially. The analyzer 100 then analyzes the commands originating from these read blocks. For example, the control program 200 contains commands for a stroke, a motion path, and a feed axis's speed. The analyzer 100 evaluates these commands to generate data on a motion command for controlling the position of each servo motor 50. If the control program 200 contains a rotation speed command for the spindle, data on a spindle rotation command for controlling the rotation of the spindle motor 62 is generated. It is desirable for the analyzer 100 to perform the analysis by previewing the blocks. The analyzer 100 outputs the generated command data to the corner detector 110.

[0020] The corner detector 110 is configured to detect a corner segment where the direction of the motion path is discontinuous, based on the data from the motion command input by the analyzer 100. In this description, a corner segment is a section between two successive motion paths P1 and P2 where the direction of motion path P1 before this segment is discontinuously related to the direction of motion path P2 after this segment. Fig. Figure 3 shows an example of a corner piece. The example in Fig. Figure 3 shows that the direction of the movement path P1 in front of the corner section is connected at an approximately right angle to the direction of the movement path P2 behind the corner section. In addition to the information in Fig. The angle shown in Figure 3 can also connect the corner section C at a more acute or obtuse angle. Furthermore, the motion paths P1 and P2 in front of and behind the corner section are not necessarily straight, but can be curved. The corner detector 110 detects a connection point between the motion paths based on the data from the motion command input by the analyzer 100. If an angle formed by the motion paths in front of and behind the connection point is equal to or less than a predefined angle θ, the detector detects a connection point. th (θ th If the angle is less than 180°, this connection point is recognized as a corner part, to give an example.

[0021] The corner curve processing unit 120 is configured to curve the corner portion detected by the corner detector 110 and adjust the speed along the curved path of motion. The corner curve processing unit 120 comprises a corner curve shaper 122 and a curve speed planner 124.

[0022] The corner curve shaper 122 is configured to insert a curve into the corner part detected by the corner detector 110 in order to change the corner part into a new motion path. Fig. Figure 4 shows an example of a curve inserted into the corner part by the Corner Curve Former 122. The Corner Curve Former 122 inserts a curve P. i into the corner part Cein, where the curve P iThe program has a predetermined point Ps as the starting point on the motion path before the corner segment and a predetermined point Pe as the endpoint on the motion path after the corner segment. The curve inserted at this point has the shortest distance from the junction between the motion paths P1 and P2, where the shortest distance is equal to or shorter than a predetermined acceptable path error e. p is. Then the corner curve shaper 122 replaces the movement path P1 in front of the corner part with a movement path P1· whose endpoint is point Ps, while it replaces the movement path P2 behind the corner part with a movement path P 2' The curve whose starting point is point Pe is replaced, thereby creating a new motion path. The inserted curve only needs to be such that the position, velocity, and acceleration at both ends correspond almost continuously to the motion paths P. 1' and P 2'are located before or after the corner portion. Furthermore, it is desirable that the inserted curve can be differentiated two or more times. Such a curve insertion is known, for example, from Japanese patent publications H9-190211 and H10-320026 and is therefore not described in detail here.

[0023] The curve speed planner 124 is configured to create a speed plan for driving through the curve inserted by the corner curve shaper 122. When creating a speed plan for the curve for the first time, the curve speed planner 24 generates the speed plan according to the acceleration and deceleration settings defined in the control unit 1. The curve speed planner 124 outputs the generated speed plan to the speed analyzer 130 for each direction.

[0024] The velocity analyzer for each direction 130 is configured to analyze the velocity plan for motion on the curve created by the curve velocity planner 124 with respect to the motion path created by the corner curve shaper 122. In this analysis, the velocity analyzer for each direction 130 decomposes the velocity plan for motion on the curve into directional components of the motion paths before and after the corner segment, thereby analyzing the velocity change in each directional component. Fig. Figure 5 illustrates the change in velocity in the directional components of the motion paths before and after the corner segment during motion in the curve. As in Fig. As shown in Figure 5, the speed slows down in the direction of the path of motion P. 1'along the curve overall (the acceleration increases asymptotically from negative to zero), while the velocity in the direction of the motion path P 2' The object accelerates overall along the curve (the acceleration gradually increases from zero). However, as the object approaches the midpoint of the curve, its velocity decreases in the direction of the path of motion P. 1' , which was previously weakened, is temporarily slowed down (acceleration in the negative direction), and the velocity in the direction of the motion path P 1'The vehicle is temporarily accelerated (acceleration in the positive direction). Such a temporary change in acceleration occurs under the influence of the acceleration caused by the shape of the curve (change in curvature). As described above, fluctuations in the rate of change of velocity occur on the curve, appearing as jolts during motion along the curve. The velocity analyzer for each direction 130 detects these fluctuations in the rate of change of velocity on the curve (temporary fluctuations in acceleration) as a change in the sign of the rate of change of acceleration (presence of extreme values ​​in acceleration).

[0025] If the analysis shows no fluctuations in velocity change along the curve, the velocity analyzer issues a command for each direction (130) to the corner curve processing unit (120) to operate the axes based on the generated velocity plan. Conversely, if the analysis shows that fluctuations in velocity change along the curve are detected, the velocity analyzer issues a command for each direction (130) to the corner curve processing unit (120) to modify the curve processing to eliminate these fluctuations.

[0026] There is an example of changing the curve processing to eliminate the fluctuations in the rate of change of velocity on the curve, where an allowable path error e pThe curve section is modified. The main purpose of this method is to determine the permissible path error e. p to reduce the acceleration and thereby bring the positions where the local maximum and minimum points occur closer together. In this way, a change in the sign of the rate of change of acceleration can be prevented, and fluctuations in the rate of change of velocity are also avoided.

[0027] There is another example of modifying curve processing to eliminate fluctuations in velocity change along the curve, where the velocity is changed before and after the occurrence of these fluctuations. The purpose of this method is to increase the velocity before and after the onset of the velocity fluctuations, thereby eliminating the local maximum and minimum acceleration points. Fig. Figure 6 is a diagram showing examples of velocity on the curve and the acceleration of a directional component. When fluctuations in velocity change occur during motion on the curve, the local maximum and minimum points in the change in acceleration appear, as shown in Fig. Figure 6 is shown. Assuming that the areas where the fluctuations in velocity change occur are designated as P fs to P fe Once defined, the velocity in these areas is increased to enhance the acceleration of each directional component, thereby eliminating local maximum and minimum points. This prevents fluctuations in velocity change.

[0028] There is another example of modifying curve processing to eliminate fluctuations in velocity change along the curve, where the acceleration of a predetermined directional component is changed before and after the occurrence of the velocity fluctuations. The purpose of this method is to reduce the absolute value of the acceleration of the predetermined directional component before and after the occurrence of the velocity fluctuations, in order to eliminate, for example, the local maximum and minimum points of acceleration. That is, by reducing the absolute value of the acceleration in the Fig. 6 depicted areas P fs to P feIn areas where fluctuations in velocity change occur (bringing the absolute value close to zero), the local maximum and minimum points can be eliminated. This can prevent the occurrence of fluctuations in velocity change.

[0029] When fluctuations in the velocity change on the curve are detected, the analyzer issues a command for each direction 130 to the corner curve processing unit 120 to perform at least one of the curve processing procedures described above. If the command is a change in the permissible path error e p In response to the change command, the corner curve processing unit 120 issues a command to the corner curve shaper 122 to insert a curve that reflects the changed allowable path error e pfulfilled. If the command involves a change in speed or acceleration, the corner curve processing unit 120 also issues a command to the curve speed planner 124 to create a speed plan in which the speed or acceleration is changed within a specific range. The speed analyzer for each direction 130 then analyzes the newly created speed plan. The procedure described above is repeated until no further fluctuations in speed change are detected. Finally, when a motion path and speed plan are created that do not cause any fluctuations in speed change, the created motion path and speed plan, along with the data, are issued to the accelerator / decelerater for each axis 150 via a motion command.

[0030] The accelerator / decelerator for each axis 150 calculates a stroke for each control cycle of each axis of the industrial machine 3 based on the motion path and velocity plan, which do not cause the occurrence of fluctuations in the change generated by the corner curve processing unit 120, in order to perform acceleration / deceleration processing for the calculated stroke.

[0031] Then the control unit 160 controls the motor for each component of the industrial machine 3 on the basis of the stroke processed by the accelerator / deceleration unit for each axis 150, and the data on the spindle rotation command.

[0032] Since the control unit 1, with the configuration described above, can determine the speed for passing the corner section in such a way that the rate of change of speed varies monotonically in each direction as the moving object travels along the path with the curved corner section, the behavior in each direction is stabilized and the machine vibrations are reduced. Furthermore, an improvement in the accuracy of machining the corner section is expected.

[0033] The present invention has been described with reference to the embodiment described above, but is not limited to this embodiment. The present invention can be implemented in various aspects by modifying it accordingly. [LIST OF REFERENCE MARKS] 1 control unit 3 Industrial Machine 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15, 18, 19 interface 16 PLC 17 I / O units 22 Bus 30 Control circuit of the axis 40 servo amplifiers 50 servo motor 60 Spindle control circuit 61 spindle amplifiers 62 Spindle motor 63 Position Encoders 70 Display unit 71 Input device 72 External device 100 Analyzer 110 corner detector 120 units for processing corner curves 122 Corner Curve Shapers 124 Curve Speed ​​Planner 130 speed analyzers for each direction 150 accelerators / decelerants for each axis 160 control 200 tax program

Claims

[1] A control device for driving a feed axis of an industrial machine based on a control program, comprising: an analyzer for analyzing an instruction in the control program; a corner detector for detecting a corner part at which a direction of a movement path is discontinuous based on a result of an analysis performed by the analyzer; a corner curve processing unit for inserting a curve into the corner part to round the corner part so as to adjust a speed along a curved motion path; and a velocity analyzer for each direction for analyzing a velocity change in a directional component of each of the motion paths in front of and behind the corner part when moving on the inserted curve, wherein, when a result of an analysis shows that fluctuations in a speed change are detected when moving on the curve, the speed analyzer for each direction issues a command to the corner curve processing unit to change the curve processing to eliminate the fluctuations in the speed change on the curve. [2] The control device according to claim 1, wherein the corner curve processing unit comprises a corner curve shaper for generating a new motion path by inserting the curve into the corner part, and wherein the speed analyzer issues a command to the corner curve processing unit for each direction to change an acceptable path error of the curve to be smaller if the result of the analysis shows that the fluctuations in the speed change when moving on the curve are detected, and the corner curve shaper recreates a curve in which an acceptable path error is reduced based on the command. [3] The control device according to claim 1, wherein the corner processing unit comprises a corner speed planner for generating a speed map for determining shifts in speed and acceleration when driving on the curve, and Wherein, if the result of the analysis shows that the fluctuations in the speed change when moving on the curve are detected, the speed analyzer issues a command to the corner curve processing unit for each direction to change the speed so that it is higher in a range where the fluctuations in the speed change when moving on the curve occur, and the curve speed planner creates a new speed plan based on the command to increase the speed in the area where the fluctuations in speed change occur. [4] The control device according to claim 1, wherein the corner processing unit comprises a corner speed planner for generating a speed map for determining shifts in speed and acceleration when driving on the curve, and Wherein, if the result of the analysis shows that the fluctuations in the speed change when moving on the curve are detected, the speed analyzer for each direction issues a command to the corner curve processing unit to change an absolute value of the accelerator to be smaller in a range where the fluctuations in the speed change when moving on the curve occur, and the curve speed planner creates a new speed plan based on the command to reduce the absolute value of acceleration in the range where the fluctuations in speed change occur. [5] A computer-readable recording medium recording a program for operating a computer as a control device for driving a feed axis of an industrial machine based on a control program, wherein the computer is operated as: an analyzer for analyzing an instruction in the control program; a corner detector for detecting a corner part at which a direction of a movement path is discontinuous based on a result of an analysis performed by the analyzer; a corner curve processing unit for inserting a curve into the corner part to round it, so as to set a speed along the curved movement path; and a velocity analyzer for each direction for analyzing changes in the velocity of a directional component in each of the motion paths in front of and behind the corner part during movement on the inserted curve, and wherein, when a result of an analysis shows that fluctuations in a speed change are detected during movement along the curve, the speed analyzer for each direction issues a command to the corner curve processing unit to change the curve processing to eliminate the fluctuations in the speed change on the curve.