Control device, control method, and program
The control device for multi-axis robots generates motion commands to align jerk and acceleration times with resonance periods, effectively suppressing vibrations and enhancing production efficiency by minimizing vibration amplitude and convergence time.
Patent Information
- Application Number
- JP2021126488
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-02
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2041-08-02
AI Technical Summary
Existing control devices for multi-axis robots struggle to suppress vibrations effectively, particularly when supporting objects in a cantilevered manner, as they cannot specify detailed motion profiles for speed, acceleration, and jerk, leading to potential vibrations and increased takt times.
A control device that generates a motion command for a multi-axis robot, ensuring the sum of jerk time and constant acceleration time in linear movement is a natural number multiple of the object's resonance period, using a generator to input parameters like resonance frequency and adjust speed and acceleration to cancel out vibrations.
The control device effectively suppresses vibrations in objects supported by multi-axis robots, reducing vibration amplitude and convergence time, thereby optimizing production efficiency.
Smart Images

Figure 0007786067000001 
Figure 0007786067000002 
Figure 0007786067000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a control device, a control method, and a program. [Background technology]
[0002] In recent years, vibration control technologies have been developed that suppress vibrations occurring in machines by satisfying conditions that do not excite vibrations due to the machine's natural frequency. For example, Japanese Patent Laid-Open Publication No. 2017-84288 (Patent Document 1) discloses a command generation device that calculates a position command based on an input machine performance index and a vibration control condition equation, and outputs the calculated position command to a servo driver. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-84288 Summary of the Invention [Problem to be solved by the invention]
[0004] To suppress vibration, it is important to control the speed, acceleration, and jerk (jerk) of the tip of a multi-axis robot. Generally, a control device for a multi-axis robot with multiple axes cannot specify a detailed motion profile including these three parameters. As a result, vibrations are likely to occur in objects supported by the multi-axis robot, and there is a need to develop vibration suppression technology for multi-axis robots. The technology described in Patent Document 1 relates to the generation of position commands output to a servo driver, and is difficult to apply to multi-axis robots.
[0005] The present disclosure has been made in consideration of the above-mentioned problems, and its purpose is to provide a control device, a control method, and a program that can suppress vibrations of an object supported by a robot having multiple axes. [Means for solving the problem]
[0006] According to one example of the present disclosure, a control device controls a robot having multiple axes and supporting an object in a cantilevered manner. The control device includes a generator that generates a motion command that defines the motion of the robot, and a robot controller that controls the robot so that the object moves linearly in accordance with input information including the motion command. The generator receives an input of a first parameter that defines the resonance period of the object, and generates the motion command so that the sum of the jerk time and the constant acceleration time in the linear movement of the object is a natural number multiple of the resonance period.
[0007] According to this disclosure, vibrations occurring at points where the jerk changes are canceled out by vibrations occurring at points shifted by N times the resonance period. To Therefore, when the workpiece 300 supported in a cantilevered manner is moved linearly, Ku's Vibration can be suppressed.
[0008] In the above disclosure, the motion command includes a second parameter indicating a ratio to the maximum resultant acceleration of the robot. The generator acquires a standard time required for accelerating at the maximum resultant acceleration from a speed of 0 and reaching the speed limit. Furthermore, the generator calculates a first ratio, which is the reciprocal of a natural number multiple of the resonance period to the reciprocal of the standard time, and determines the value of the second parameter based on the first ratio.
[0009] The inventors have found that when controlling a robot using the second parameter, the ratio of the reciprocal of the sum of the jerk time and the constant acceleration time to the reciprocal of the standard time coincides with the value of the second parameter. Therefore, according to the above disclosure, it is possible to generate an operation command such that the sum of the jerk time and the constant acceleration time in the linear movement of an object is a natural number multiple of the resonance period.
[0010] In the above disclosure, the input information includes a second ratio, the robot control unit moves the robot at a speed obtained by multiplying a speed determined according to the movement command by the second ratio, and the second parameter indicates a value obtained by dividing the first ratio by the second ratio.
[0011] According to this disclosure, a motion command can be generated in consideration of a second ratio for adjusting the speed so that the sum of the jerk time and the constant acceleration time in the linear movement of an object is a natural number multiple of the resonance period.
[0012] In the above disclosure, the motion command includes a third parameter for defining a maximum velocity of the object in linear movement. The generator further receives inputs of the movement distance of the object and the first velocity, and compares the first velocity with a second velocity obtained by dividing the movement distance by the sum of a natural number multiple of the resonance period and a jerk time. The generator generates the third parameter defining the second velocity as the maximum velocity when the second velocity is smaller than the first velocity, and generates the third parameter defining the first velocity as the maximum velocity when the second velocity is greater than the first velocity.
[0013] As will be described later, when the second velocity is smaller than the first velocity, if a third parameter defining the first velocity as the maximum velocity is generated, the sum of the jerk time and the constant acceleration time cannot be made to coincide with a natural number multiple of the resonance period. According to the above disclosure, a third parameter defining the second velocity as the maximum velocity is generated in response to the second velocity being smaller than the first velocity. This makes it possible to generate a motion command such that the sum of the jerk time and the constant acceleration time in the linear movement of an object is a natural number multiple of the resonance period.
[0014] In the above disclosure, the generating unit may be realized by specifying instructions in the form of function blocks.
[0015] According to an example of the present disclosure, a control method for controlling a robot having multiple axes and supporting an object in a cantilevered manner includes the steps of generating a motion command that defines the motion of the robot, and controlling the robot so that the object moves linearly in accordance with input information including the motion command. The generating step includes the steps of receiving an input of a parameter that defines a resonance period of the object, and generating a motion command such that the sum of a jerk time and a constant acceleration time in the linear movement of the object is a natural number multiple of the resonance period.
[0016] According to an example of the present disclosure, a program causes a computer to execute the above control method. To Therefore, when the workpiece 300 supported in a cantilevered manner is moved linearly, Ku's Vibration can be suppressed. [Effects of the Invention]
[0017] According to the present disclosure, vibrations of an object supported by a robot having multiple axes can be suppressed. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a diagram illustrating an example of a system to which a control device according to an embodiment is applied; [Figure 2] FIG. 10 is a diagram showing an example of a profile of a resultant velocity and a resultant acceleration of a robot. [Figure 3] FIG. 10 is a diagram showing an example of a profile (S-curve profile) of the resultant velocity and resultant acceleration of the robot when a jerk time is set. [Figure 4] FIG. 4 is a diagram showing a time change in jerk (jerk) corresponding to the S-curve profile shown in FIG. 3. [Figure 5] FIG. 2 is a schematic diagram illustrating a hardware configuration of a control device. [Figure 6] FIG. 2 is a schematic diagram showing the functional configuration of a control device. [Figure 7] 10A and 10B are diagrams illustrating an example of a change in the combined speed over time when the speed adjustment ratio is changed. [Figure 8] 10 is a flowchart showing a processing flow of the control device. [Figure 9] 9 is a flowchart showing an example of the flow of a subroutine of step S100 in FIG. 8. [Figure 10] FIG. 10 is a diagram showing variables calculated in step S2 of FIG. 9. [Figure 11] FIG. 10 is a diagram showing a velocity profile in which the value of variable H calculated in step S2 is the maximum value of the combined velocity, and a velocity profile in which the value on the left side of equation (4) is the maximum value of the combined velocity. [Figure 12] 10A and 10B are diagrams showing vibration waveforms of a workpiece when a control device according to a reference embodiment is used. [Figure 13] 10 is a diagram showing a vibration waveform of a workpiece when the control device according to the present embodiment is used. FIG. DETAILED DESCRIPTION OF THE INVENTION
[0019] The present invention will be described in detail with reference to the accompanying drawings. The same or corresponding parts in the drawings are designated by the same reference numerals, and the description thereof will not be repeated. The following modifications may be combined as appropriate.
[0020] §1 Application Examples An overview of a control device according to this embodiment will be described. FIG. 1 is a diagram showing an example of a system to which a control device according to this embodiment is applied. The system 1 shown in FIG. 1 is installed, for example, in a production line. As shown in FIG. 1, the system 1 includes a control device 100 and a robot 200.
[0021] The robot 200 is a multi-axis robot having multiple axes 201 and an end effector 202. For example, the robot 200 is a vertical articulated robot. The end effector 202 of the robot 200 supports a workpiece 300 in a cantilevered manner. The workpiece 300 is, for example, a shaft.
[0022] The control device 100 controls the robot 200. When the workpiece 300, which is a shaft, is moved linearly in a direction intersecting the axial direction, vibrations are likely to occur in the workpiece 300. If vibrations occur in the workpiece 300 after the workpiece 300 is moved, it becomes necessary to wait until the vibrations fall within an allowable range. As a result, the takt time becomes longer. The control device 100 controls the robot 200 to suppress vibrations in the workpiece 300 in order to shorten the takt time.
[0023] The control device 100 includes an operation command generation unit 10 that generates operation commands that define the operation of the robot, and a robot control unit 12 that controls the robot 200 so that the workpiece 300 moves linearly in accordance with input information including the operation commands.
[0024] To move the workpiece 300 in a straight line, the robot 200 performs linear interpolation so that the trajectory of the end effector 202 is a straight line. Because the trajectory of the end effector 202 is one-dimensional, the resultant velocity and resultant acceleration of the multiple axes 201 of the robot 200 are also expressed one-dimensionally.
[0025] Fig. 2 is a diagram showing an example of the profiles of the resultant velocity and resultant acceleration of a robot. Fig. 2 shows the profiles when the robot 200 is exerting its maximum capacity. In Fig. 2, line 20 shows the change over time of the resultant velocity, and line 21 shows the change over time of the resultant acceleration. The workpiece 300 accelerates during acceleration time T10, moves at a constant velocity during constant velocity time T11, and decelerates during deceleration time T12.
[0026] The line 20 shown in FIG. 2 represents a trapezoid. That is, FIG. 2 shows a so-called trapezoidal velocity profile. By using a trapezoidal velocity profile, the movement time can be minimized. However, the acceleration changes suddenly at the start and end of acceleration / deceleration. The robot 200 is subjected to a shock due to the sudden change in acceleration. In order to mitigate such a shock, a time period (jerk time) during which the acceleration is continuously changed is set.
[0027] Figure 3 is a diagram showing an example of a profile (S-curve profile) of the resultant velocity and resultant acceleration of a robot when a jerk time is set. In Figure 3, line 20 also shows the change over time of the resultant velocity, and line 21 shows the change over time of the resultant acceleration. In the S-curve profile, jerk time T1, constant acceleration time T2, jerk time T3, constant velocity time T4, jerk time T5, constant acceleration time T6, and jerk time T7 are set in this order.
[0028] During jerk time T1, acceleration monotonically increases from 0 to maximum acceleration. During constant acceleration time T2, acceleration is maintained at maximum acceleration. During jerk time T3, acceleration monotonically decreases from maximum acceleration to 0. During constant velocity time T4, acceleration is maintained at 0. During jerk time T5, acceleration monotonically decreases from 0 to minimum acceleration (negative). During constant acceleration time T6, acceleration is maintained at minimum acceleration. During jerk time T7, acceleration monotonically increases from minimum acceleration to 0.
[0029] The jerk times T1, T3, T5, and T7 have the same length. The constant acceleration times T2 and T6 have the same length.
[0030] The motion command generating unit 10 receives input of a parameter (typically a resonance frequency) that defines the resonance period of the workpiece 300, and generates a motion command so that the sum of the jerk time T1 and the constant acceleration time T2 in the linear movement of the workpiece 300 is N times the resonance period (N is a natural number). By generating a motion command so that the sum of the jerk time T1 and the constant acceleration time T2 is N times the resonance period, vibration of the workpiece 300 is suppressed. The mechanism behind this is explained with reference to FIG. 4.
[0031] Fig. 4 is a diagram showing the change over time in jerk (jerk) corresponding to the S-curve profile shown in Fig. 3. In Fig. 4, line 22 shows the change over time in jerk. As shown in Fig. 4, the jerk changes at eight timings. That is, the jerk changes at the start time t0 and end time t1 of jerk time T1, the start time t2 and end time t3 of jerk time T3, the start time t4 and end time t5 of jerk time T5, and the start time t6 and end time t7 of jerk time T7.
[0032] The change in jerk at time t0 is positive, and the change in jerk at time t2 is negative. The time from time t0 to time t2, i.e., the sum of the jerk time T1 and the constant acceleration time T2, is N times the resonance period. Therefore, the vibration generated at time t0 is canceled out by the vibration of the opposite phase that occurs at time t2, N times the resonance period. Similarly, the vibration generated at time t1 is canceled out by the vibration of the opposite phase that occurs at time t3, N times the resonance period. The vibration generated at time t4 is canceled out by the vibration of the opposite phase that occurs at time t6, N times the resonance period. The vibration generated at time t5 is canceled out by the vibration of the opposite phase that occurs at time t7, N times the resonance period. In this way, the vibration generated at each point where the jerk changes is canceled out by the vibration generated at a point shifted by N times the resonance period. Therefore, the vibration of the workpiece 300 is suppressed.
[0033] In this way, the control device 100 according to this embodiment can suppress vibration of the workpiece 300 when the workpiece 300, which is supported in a cantilevered manner by the robot 200 having multiple axes, is moved linearly.
[0034] §2 Specific examples <Control device hardware configuration> 5 is a schematic diagram showing the hardware configuration of the control device 100. As shown in FIG. 5, the control device 100 includes a field network controller 102, a control processing circuit 104, and an input interface 106.
[0035] The field network controller 102 exchanges data with an external device such as a PLC (Programmable Logic Controller) via the field network.
[0036] The control processing circuit 104 executes calculations necessary to drive the robot 200. As an example, the control processing circuit 104 includes a processor 110, a main memory 112, a storage 114, and an interface circuit 116.
[0037] The processor 110 executes control calculations for driving the robot 200. The main memory 112 is configured with, for example, a volatile storage device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The storage 114 is configured with, for example, a non-volatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
[0038] The storage 114 stores a control program 120 for realizing control for driving the robot 200. The control program 120 includes instructions for executing control calculations related to the operation of the robot 200 and instructions related to the interface with the robot 200. The control program 120 may include one or more function blocks (FBs). A function block is a block having input and output variables, and is executed by being read and instantiated at specified timing. The control program 120 shown in FIG. 5 includes a vibration suppression control function block 122 and a linear interpolation function block 124. The control program 120 may be installed from a recording medium such as a memory card, a distribution server, or the like.
[0039] The interface circuit 116 exchanges data with the robot 200 . The input interface 106 mediates data transmission between the control processing circuit 104 and an input device 400 such as a keyboard, mouse, touch panel, or dedicated console. In other words, the input interface 106 accepts information provided by a user operating the input device 400.
[0040] <Controller functional configuration> Fig. 6 is a schematic diagram showing the functional configuration of the control device. As shown in Fig. 6, the control device 100 includes a motion command generator 10, a robot controller 12, and a profile selector 14. The motion command generator 10, the robot controller 12, and the profile selector 14 are realized by a processor 110 (see Fig. 5) executing a control program 120. More specifically, the motion command generator 10 and the robot controller 12 are realized by the processor 110 executing a vibration suppression control function block 122 and a linear interpolation function block 124, respectively.
[0041] The control device 100 receives as input variables the resonance frequency (Hz) of the workpiece 300, the movement distance (mm) of the workpiece 300, the user-desired maximum speed (mm / s) of the workpiece 300 (hereinafter referred to as the "input speed"), the speed adjustment ratio (%), the jerk time (ms), an adjustment constant (natural number), and robot-specific parameters. The movement distance of the workpiece 300 is the distance from the current position of the tip of the robot 200 to the target position. The control device 100 receives these input variables from the field network or the input device 400.
[0042] The resonant frequency of the workpiece 300 is measured in advance. For example, the resonant frequency of the workpiece 300 is measured by analyzing an image obtained by capturing an image of the workpiece 300 when the robot 200 is operated. Alternatively, the resonant frequency of the workpiece 300 may be measured by visually checking the vibration of the workpiece 300 when the robot 200 is operated. Alternatively, the resonant frequency of the workpiece 300 may be measured using a sensor.
[0043] The speed adjustment ratio is used to adjust the resultant speed of the robot 200 (i.e., the speed of the workpiece 300). The adjustment constant (a natural number) is used as a multiple of the resonance period.
[0044] FIG. 7 is a diagram showing an example of how the combined speed changes over time when the speed adjustment ratio is changed. In FIG. 7, line 25 shows how the combined speed of robot 200 changes over time when the adjustment ratio is 100%. Line 26 shows how the combined speed of robot 200 changes over time when the speed adjustment ratio is 50%. As shown in FIG. 7, the speed when the speed adjustment ratio is set to 50% is adjusted to 50% of the speed when the speed adjustment ratio is set to 100%. Therefore, the acceleration time T20 and deceleration time T22 when the speed adjustment ratio is set to 50% are twice the acceleration time T10 and deceleration time T12 when the speed adjustment ratio is set to 100%, respectively. In this way, the acceleration time T10 and deceleration time T12 are inversely proportional to the speed adjustment ratio.
[0045] The robot-specific parameters include standard time (ms), limit speed (mm / s), and limit ratio (%).
[0046] The speed limit is the combined speed when the robot 200 operates at its maximum capacity, and is a value specific to the robot 200.
[0047] The limit ratio is the upper limit of the ratio (hereinafter referred to as the "acceleration adjustment ratio") used to adjust the resultant acceleration of the robot 200 (i.e., the acceleration of the workpiece 300), and is a value specific to the robot 200. The acceleration adjustment ratio is the ratio to the resultant acceleration (maximum resultant acceleration) when the robot is operating at maximum capacity. Specifically, the acceleration adjustment ratio indicates the ratio to the first reference acceleration (positive) when the robot is operating at maximum capacity during acceleration, and indicates the ratio to the second reference acceleration (negative) during deceleration. The value of the first reference acceleration is the same as the absolute value of the maximum resultant acceleration. The absolute value of the second reference acceleration is the same as the value of the first reference acceleration.
[0048] The standard time is the acceleration / deceleration time when the jerk time is 0 ms. That is, the standard time is the time it takes to accelerate from a speed of 0 at the first reference acceleration (i.e., the maximum resultant acceleration) and reach the speed limit. The standard time is a value specific to the robot 200, and is, for example, 180 ms. When the jerk time is 0 ms, the speed profile is represented by line 20 in FIG. 2. Therefore, the standard time corresponds to acceleration time T10 (or deceleration time T12) in FIG. 2.
[0049] As shown in FIG. 6, the profile selection unit 14 receives an input of a jerk time. The profile selection unit 14 selects one S-curve velocity profile corresponding to the input jerk time from among a plurality of velocity profiles that can be accepted by the robot control unit 12. The profile selection unit 14 outputs a variable indicating the selected velocity profile to the robot control unit 12. The plurality of velocity profiles have an S-curve as shown in FIG. 3 and have different jerk times. Therefore, the profile selection unit 14 simply selects a velocity profile having the input jerk time from among the plurality of velocity profiles.
[0050] In each of the multiple speed profiles that the robot control unit 12 can accept, the jerk times T1, T3, T5, and T7 (see FIG. 3) have the same length, and the constant acceleration times T2 and T6 have the same length.
[0051] The robot control unit 12 receives the current position and target position of the tip of the robot 200, the speed adjustment ratio, the speed profile, the maximum combined speed, and the acceleration adjustment ratio, and controls the robot 200 so that the workpiece 300 moves in a straight line. The maximum combined speed indicates the maximum value of the combined speed of the robot 200 when the speed adjustment ratio is 100%.
[0052] The robot control unit 12 corrects the speed profile in accordance with the movement distance, the speed adjustment ratio, the maximum combined speed, and the acceleration adjustment ratio.
[0053] Specifically, the robot control unit 12 corrects the speed during the constant speed time T4 (see FIG. 3) in the speed profile to the maximum combined speed.
[0054] Next, the robot control unit 12 corrects the acceleration during constant acceleration time T2 (see FIG. 3) in the velocity profile to a value obtained by multiplying the first reference acceleration (positive) by the acceleration adjustment ratio. Similarly, the robot control unit 12 corrects the acceleration during constant acceleration time T6 (see FIG. 3) in the velocity profile to a value obtained by multiplying the second reference acceleration (negative) by the acceleration adjustment ratio. At this time, the robot control unit 12 also corrects the lengths of the constant acceleration times T2 and T6 so that the speed at the end of acceleration and the start of deceleration matches the speed during constant velocity time T4.
[0055] Next, the robot control unit 12 calculates the linear distance (i.e., the travel distance) connecting the current position and the target position of the tip of the robot 200. The robot control unit 12 corrects the length of the constant velocity time T4 so that the integral value of the velocity profile matches the travel distance.
[0056] Finally, the robot control unit 12 corrects the speed at each time of the speed profile according to the speed adjustment ratio, and corrects the lengths of the jerk time T1, the constant acceleration time T2, the jerk time T3, the constant velocity time T4, the jerk time T5, the constant acceleration time T6, and the jerk time T7.
[0057] The robot control unit 12 generates command values for each axis of the robot 200 so that a composite speed according to the speed profile corrected in this way is output, and outputs the generated command values to the robot 200.
[0058] The speed adjustment ratio, maximum combined speed, and acceleration adjustment ratio received by the robot control unit 12 are parameters that allow the user to easily visualize the time-dependent change in the linear movement of the workpiece 300. Therefore, a reference form is conceivable in which the robot control unit 12 directly acquires the speed adjustment ratio, maximum combined speed, and acceleration adjustment ratio from the input device 400. This allows the user to move the workpiece 300 linearly with the desired time-dependent change by appropriately adjusting the values of these parameters.
[0059] When the system 1 is installed in a production line, the workpiece 300 is usually in It is preferable to move the workpiece 300 in a straight line in the shortest time. Therefore, the user can input the maximum speed of the workpiece 300 when moving the workpiece 300 in a straight line in the shortest time as the maximum combined speed. However, if the workpiece 300 is moved in a straight line in the shortest time, some kind of problem may occur. In such a case, the user can adjust the speed of the workpiece 300 by adjusting the value of the speed adjustment ratio. Alternatively, the user can adjust the acceleration time and deceleration time by adjusting the acceleration adjustment ratio.
[0060] However, the speed adjustment ratio, maximum combined speed, and acceleration adjustment ratio do not directly define parameters related to vibration suppression of the workpiece 300 (for example, the sum of the jerk time and the constant acceleration time). Furthermore, the user does not understand how to adjust the speed adjustment ratio, maximum combined speed, and acceleration adjustment ratio to satisfy conditions for suppressing vibration of the workpiece 300 (for example, the condition that the sum of the jerk time and the constant acceleration time matches a natural number multiple of the resonance period). Therefore, in the reference embodiment in which the robot control unit 12 directly acquires the speed adjustment ratio, maximum combined speed, and acceleration adjustment ratio from the input device 400, it is difficult to suppress vibration when the workpiece 300 is moved linearly.
[0061] Therefore, the control device 100 according to this embodiment is characterized by including an operation command generating unit 10.
[0062] The motion command generator 10 receives the resonance frequency, movement distance, input speed, speed adjustment ratio, jerk time, adjustment constant, and robot-specific parameters, and generates a motion command. The generated motion command is input to the robot controller 12. The motion command includes the maximum combined speed and the acceleration adjustment ratio.
[0063] The inventors compared and verified the acceleration adjustment ratio with the profile of the resultant velocity of the robot 200, and found that the ratio of the reciprocal of the sum of the jerk time and the constant acceleration time to the reciprocal of the standard time matches the acceleration adjustment ratio. Based on this finding, the motion command generation unit 10 generates a motion command so that the sum of the jerk time and the constant acceleration time in the linear movement of the workpiece 300 is a natural number multiple of the resonance period. The method of generating the motion command will be described later.
[0064] <Control device processing flow> FIG. 8 is a flowchart showing the processing flow of the control device. As shown in FIG. 8, the processor 110 generates a motion command using input variables (step S100). Next, the processor 110 controls the robot 200 so that the workpiece 300 moves linearly in accordance with input information including the generated motion command (step S200). The input information includes a speed adjustment ratio and a jerk time. As described above, the processor 110 selects a speed profile according to the jerk time. The processor 110 controls the robot 200 so that the workpiece 300 moves linearly using the selected speed profile, the speed adjustment ratio, and the motion command (maximum combined speed and acceleration adjustment ratio).
[0065] <How to generate operation commands> A method for generating an action command will be described with reference to Figures 9 to 11. Figure 9 is a flowchart showing an example of the flow of the subroutine of step S100 in Figure 8.
[0066] Processor 110 receives input variables (step S1). The input variables include the following variables A to N. Variable A: Travel distance (mm), Variable B: Input speed (mm / s), Variable C: Speed adjustment ratio (%), Variable D: Jerk time (ms), Variable E: Resonance frequency (Hz), Variable F: Tuning constant, Variable G: Standard time (ms), Variable M: Limit speed (mm / s), Variable N: Limit ratio (%).
[0067] Next, the processor 110 calculates variables H, I, and J according to the following equations (1) to (3) (step S2). H = B × C ÷ 100 Equation (1) I = 1000 ÷ E × F Equation (2) J = I + D Equation (3).
[0068] Figure 10 is a diagram showing the variables calculated in step S2 of Figure 9. As shown in Figure 10, variable H represents the maximum value of the combined speed of the robot 200 when the workpiece 300 is linearly moved. In step S2, the value of variable H is calculated by multiplying the input speed by the speed adjustment ratio. Variable I represents the time that is a multiple (natural number) of the tuning constant of the resonance period of the workpiece 300. In the present embodiment, an operation command is generated such that the sum of the jerk time and the constant acceleration time is a multiple (natural number) of the tuning constant of the resonance period (see Figure 3). Therefore, the sum of the jerk time and the constant acceleration time matches the value of variable I. Variable J represents the sum of the multiple (natural number) of the resonance period of the workpiece 300 and the jerk time. When an operation command is generated such that the sum of the jerk time and the constant acceleration time is a multiple (natural number) of the tuning constant of the resonance period, variable J represents the acceleration time.
[0069] Next, the processor 110 determines whether B < M is satisfied (step S3). If YES in step S3, that is, if the input speed is less than the limit speed, the processor 110 determines that the value of variable B is available and executes the next step S4.
[0070] In step S4, the processor 110 determines whether D < I is satisfied. As shown in FIG. 10, in order for the sum of the jerk time and the constant acceleration time to match a multiple (natural number) of the resonance period adjustment constant, it is necessary that D < I is satisfied. Therefore, if YES in step S4, the processor 110 determines that the values of the variables D and I are available and executes the next step S5.
[0071] In step S5, the processor 110 determines whether the following formula (4) is satisfied. A ÷ J × 1000 < H Formula (4).
[0072] FIG. 11 is a diagram showing a velocity profile with the value of the variable H calculated in step S2 as the maximum value of the composite velocity and a velocity profile with the value of the left side of formula (4) as the maximum value of the composite velocity. In FIG. 11, line 20a shows a velocity profile when the value of the variable H calculated in step S2 is the maximum value of the composite velocity and the constant velocity time is 0. Line 20b shows a velocity profile when the value of the left side of formula (4) is the maximum value of the composite velocity and the constant velocity time is 0. Line 21 shows an acceleration profile corresponding to the velocity profile indicated by line 20b.
[0073] When moving linearly by the same moving distance under the condition that the acceleration time and the deceleration time are the same, the acceleration time becomes the longest when the constant velocity time is 0.
[0074] If equation (4) is satisfied (YES in step S5), as shown in FIG. 11, the acceleration time of the velocity profile indicated by line 20a is shorter than the acceleration time of the velocity profile indicated by line 20b. Line 20b represents the velocity profile when the sum of the jerk time and the constant acceleration time is equal to the adjustment constant (natural number) times the resonance period. Therefore, if equation (4) is satisfied, in a velocity profile in which the value of variable H calculated in step S2 is the maximum value of the combined velocity, the sum of the jerk time and the constant acceleration time is shorter than the adjustment constant (natural number) times the resonance period. In other words, if equation (4) is satisfied, it is not possible to generate a motion command such that the sum of the jerk time and the constant acceleration time is equal to the adjustment constant (natural number) times the resonance period. Therefore, if the answer is YES in step S5, processor 110 replaces the value of variable H with the calculated value of A÷J×1000 (step S6). Then, processor 110 executes step S7.
[0075] On the other hand, if equation (4) is not satisfied (NO in step S5), the acceleration time of the velocity profile indicated by line 20a will be equal to or greater than the acceleration time of the velocity profile indicated by line 20b. In this case, even if the value of variable H calculated in step S2 is set to the maximum value of the combined velocity, by adjusting the constant velocity time, it is possible to make the sum of the jerk time and the constant acceleration time equal to the adjustment constant (natural number) multiplied by the resonance period. Therefore, if the result in step S5 is NO, processor 110 executes the next step S7 without changing the value of variable H.
[0076] In step S7, the processor 110 calculates the variable L according to the following equation (5). L=100×H÷C Equation (5).
[0077] In the next step S8, the processor 110 calculates a variable K in accordance with the following equation (6). K=(100×G)÷(1000÷E×F)×(100÷C) Formula (6) That is, the processor 110 calculates the ratio ((100×G)÷(1000÷E×F)) of the reciprocal of the natural number multiple of the resonance period to the reciprocal of the standard time, and determines the value of the variable K based on this ratio. Specifically, the processor 110 calculates the value of the variable K by dividing this ratio by the speed adjustment ratio.
[0078] In the next step S9, the processor 110 determines whether K < N is satisfied. If K < N is satisfied (YES in step S9), the processor 110 determines that the variable K calculated in step S8 is available and executes step S10.
[0079] In step S10, the processor 110 outputs the variables L and K as the maximum synthesis speed and the acceleration adjustment ratio, respectively. After step S10, the processor 110 returns the process to step S200 in FIG. 8.
[0080] The maximum synthesis speed represented by the variable L indicates the maximum value of the synthesis speed of the robot 200 at a speed adjustment ratio of 100%. The maximum speed in the linear movement of the work 300 is represented by the product of the maximum synthesis speed and the input speed adjustment ratio. Therefore, the variable L (maximum synthesis speed) is a parameter that defines the maximum speed in the linear movement of the work 300. As described above, when the formula (4) is satisfied, that is, when the speed represented by A÷J×1000 is smaller than the speed represented by the product of the variable B and the variable C, the processor 110 generates a variable L that defines the speed represented by A÷J×1000 as the maximum speed in the linear movement. On the other hand, when the speed represented by A÷J×1000 is larger than the speed represented by the product of the variable B and the variable C, the processor 110 generates a variable L that defines the speed represented by the product of the variable B and the variable C as the maximum speed in the linear movement.
[0081] If NO in any of steps S3, S4, and S9, the processor 110 generates an error code and outputs the generated error code (step S11). After step S10, the processor 110 ends the process.
[0082] The processor 110 operating as the robot control unit 12 controls the robot 200 so that the workpiece 300 moves in a straight line, using the variables L and K received as the maximum combined velocity and the acceleration adjustment ratio, respectively.
[0083] Specifically, processor 110 corrects the speed of constant velocity time T4 (see FIG. 3) in the velocity profile to the value of variable L (maximum resultant velocity). Next, processor 110 corrects the acceleration of each of constant acceleration times T2 and T6 in the velocity profile according to the value of variable K (acceleration adjustment ratio). At this time, processor 110 also corrects the lengths of constant acceleration times T2 and T6 so that the speed at the end of acceleration and the start of deceleration matches the speed of constant velocity time T4. Next, processor 110 corrects the length of constant velocity time T4 so that the integral value of the velocity profile matches the travel distance. Finally, processor 110 corrects the speed at each time point in the velocity profile according to the speed adjustment ratio, and also corrects the lengths of jerk time T1, constant acceleration time T2, jerk time T3, constant velocity time T4, jerk time T5, constant acceleration time T6, and jerk time T7.
[0084] As described above, the inventors have found that the ratio of the reciprocal of the sum of the jerk time and the constant acceleration time to the reciprocal of the standard time is equal to the acceleration adjustment ratio. Furthermore, as shown in FIG. 7, the acceleration time and deceleration time are inversely proportional to the speed adjustment ratio. Therefore, in the acceleration adjustment ratio and the speed profile corrected according to the speed adjustment ratio, the sum of the jerk time and the acceleration time is expressed by the following equation (7). Sum of jerk time and acceleration time = G ÷ (K ÷ 100) × (100 ÷ C) Equation (7) By substituting equation (6) for K in equation (7), the sum of the jerk time and the acceleration time becomes (1000 ÷ E × F), that is, the adjustment constant (natural number) times the resonance period [ms].
[0085] In this way, by receiving the variables L and K as the maximum combined velocity and the acceleration adjustment ratio, respectively, the robot 200 is controlled according to a velocity profile in which the sum of the jerk time and the constant acceleration time coincides with the adjustment constant (natural number) times the resonance period of the workpiece 300. This suppresses vibration of the workpiece 300.
[0086] <Vibration suppression effect> The effect of suppressing vibration of the workpiece 300 by the control device 100 according to this embodiment was confirmed. Fig. 12 is a diagram showing the vibration waveform of the workpiece when the control device according to the reference embodiment is used. Fig. 13 is a diagram showing the vibration waveform of the workpiece when the control device according to this embodiment is used.
[0087] 12 and 13 show vibration waveforms when a wire with a diameter of 0.55 mm and a resonance frequency of 31.05 Hz is used as the workpiece 300. The control device according to the reference embodiment differs from the control device 100 in that it does not include the motion command generation unit 10. In the control device according to the reference embodiment, an acceleration adjustment ratio of 100% was input to the robot control unit 12, and an input speed was input as the maximum combined speed.
[0088] As shown in FIG. 12, when the robot 200 was controlled by the control device according to the reference embodiment, the tip of the workpiece 300 vibrated with an amplitude of approximately 1.0 mm. The vibration convergence time was 6 seconds or more. In contrast, when the robot 200 was controlled by the control device 100 according to the present embodiment, the tip of the workpiece 300 vibrated with an amplitude of approximately 0.35 mm. The vibration convergence time was 0.5 seconds. In this way, by using the control device 100 according to the present embodiment, the vibration of the workpiece 300 is suppressed.
[0089] <Modification> When the body of the robot 200 supports the end effector 202 in a cantilevered manner, the end effector 202 itself may vibrate. In this case, the user may input the resonant frequency of the end effector 202 or the overall resonant frequency of the end effector 202 and the workpiece 300 to the control device 100.
[0090] §3 Supplementary Note As described above, the present embodiment includes the following disclosures.
[0091] (Configuration 1) A control device (100) for controlling a robot (200) having a plurality of axes (201) and supporting an object (300, 202) in a cantilevered manner, A generation unit (10, 110) that generates an operation command that defines the operation of the robot (200); a robot control unit (12, 110) that controls the robot (200) so that the object (300, 202) moves linearly in accordance with input information including the operation command; The control device (100) wherein the generation unit (10, 110) receives input of a first parameter that defines the resonance period of the object (300, 202) and generates the operation command so that the sum of the jerk time and the constant acceleration time in the linear movement of the object (300, 202) is a natural number multiple of the resonance period.
[0092] (Configuration 2) The motion command includes a second parameter indicating a ratio to the maximum resultant acceleration of the robot (200); The generation unit (10, 110) Accelerate from a speed of 0 with the maximum resultant acceleration, and obtain the standard time until the speed limit is reached. calculating a first ratio of the reciprocal of a natural number multiple of the resonance period to the reciprocal of the standard time; 2. The control device (100) of claim 1, further comprising: determining a value of the second parameter based on the first ratio.
[0093] (Configuration 3) the input information includes a second ratio; the robot control unit (12, 110) operates the robot (200) at a speed obtained by multiplying the speed determined in accordance with the operation command by the second ratio; 3. The control device (100) according to configuration 2, wherein the second parameter indicates a value obtained by dividing the first ratio by the second ratio.
[0094] (Configuration 4) The motion command includes a third parameter for defining a maximum velocity of the object (300, 202) in the linear movement; The generation unit (10, 110) further receiving inputs of a moving distance of the object (300, 202) and a first velocity; comparing the first velocity with a second velocity obtained by dividing the moving distance by the sum of a natural number multiple of the resonance period and the jerk time; generating the third parameter defining the second speed as the maximum speed in response to the second speed being smaller than the first speed; The control device (100) according to any one of configurations 1 to 3, wherein the third parameter defining the first speed as the maximum speed is generated in response to the second speed being greater than the first speed.
[0095] (Configuration 5) 5. The control device (100) according to any one of configurations 1 to 4, wherein the generation unit (10, 110) is realized by specifying an instruction in the form of a function block (122).
[0096] (Configuration 6) A control method for controlling a robot (200) having multiple axes (201) and supporting an object (300, 202) in a cantilevered manner, comprising: generating a motion command that defines the motion of the robot (200); and controlling the robot so that the object (300, 202) moves linearly in accordance with input information including the motion command; The generating step includes: receiving input of parameters defining a resonant period of the object (300, 202); generating the motion command so that the sum of a jerk time and a constant acceleration time in the linear movement of the object (300, 202) is a natural number multiple of the resonance period.
[0097] (Configuration 7) A program (120) that causes a computer (100, 110) to execute the control method according to configuration 6.
[0098] Although the embodiments of the present invention have been described, the embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, and it is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0099] 1 system, 10 motion command generation unit, 12 robot control unit, 14 profile choice part, 100 control device, 102 field network controller, 104 control processing circuit, 106 input interface, 110 processor, 112 main memory, 114 storage, 116 interface circuit, 120 control program, 122 vibration suppression control function block, 124 linear interpolation function block, 200 robot, 201 axis, 202 end effector, 300 workpiece, 400 input device.
Claims
1. A control device for controlling a robot having multiple axes and supporting an object in a cantilevered manner, a generator for generating a motion command that defines a motion of the robot; a robot control unit that controls the robot so that the object moves linearly in accordance with input information including the operation command, The generation unit receives input of a first parameter that defines a resonance period of the object, and generates the operation command so that the sum of a jerk time and a constant acceleration time in the linear movement of the object is a natural number multiple of the resonance period.
2. the movement command includes a second parameter indicating a ratio to a maximum resultant acceleration of the robot; The generation unit Accelerate from a speed of 0 at the maximum resultant acceleration, and obtain the standard time until the speed limit is reached. calculating a first ratio of the reciprocal of a natural number multiple of the resonance period to the reciprocal of the standard time; The control device according to claim 1 , further comprising: determining a value of the second parameter based on the first ratio.
3. the input information includes a second ratio; the robot control unit operates the robot at a speed obtained by multiplying the speed determined in accordance with the operation command by the second ratio; The control device according to claim 2 , wherein the second parameter indicates a value obtained by dividing the first ratio by the second ratio.
4. the motion command includes a third parameter for defining a maximum velocity of the object in the linear movement; The generation unit further receiving inputs of a moving distance of the object and a first velocity; comparing the first velocity with a second velocity obtained by dividing the moving distance by the sum of a natural number multiple of the resonance period and the jerk time; generating the third parameter defining the second speed as the maximum speed in response to the second speed being smaller than the first speed; The control device according to claim 1 , further comprising: a control section configured to generate the third parameter defining the first speed as the maximum speed in response to the second speed being greater than the first speed.
5. The control device according to claim 1 , wherein the generating unit is realized by specifying an instruction in the form of a function block.
6. A control method for controlling a robot having multiple axes and supporting an object in a cantilevered manner, comprising: A processor generates a motion command that defines a motion of the robot; and controlling the robot by the processor in accordance with input information including the motion command so that the object moves linearly; The generating step includes: receiving, by the processor, input of parameters defining a resonant period of the object; and generating the motion command by the processor so that the sum of a jerk time and a constant acceleration time in the linear movement of the object is a natural number multiple of the resonance period.
7. A program that causes a computer to execute the control method according to claim 6.
Citation Information
Patent Citations
Method and apparatus for exposure and device manufacturing method
JP1997251955A
Stage device, method for controlling stage, and device and method for exposure
JP1999312643A
Method and device for input shape filtering using digital convolution
JP2000047723A
Command generation device
JP2017084288A
Method and apparatus for minimizing unwanted dynamics in a physical system
US5638267A