Robot, motor unit, and robot control method
The robot system employs a control unit with dual filter units to smoothly adjust vibration frequencies, addressing discontinuous positional deviations and ensuring stable operation by selectively processing position commands, thus enhancing robot performance.
Patent Information
- Application Number
- JP2024027358
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-27
- Publication Date
- 2025-09-08
AI Technical Summary
Existing robot control systems face challenges in smoothly switching the frequency of vibrations to be reduced during operation, leading to discontinuous positional deviations when using IIR filters, especially when the robot's posture or load changes.
A robot system with a control unit that includes a command generation unit, filter processing units, and a drive signal generation unit, utilizing a first and second filter unit to selectively process position commands, allowing for smooth transitions between different frequency reductions, thereby accommodating changes in vibration frequencies.
Enables rapid and seamless switching of vibration frequencies without causing discontinuous positional deviations, effectively reducing resonance and maintaining stable robot operation.
Smart Images

Figure 2025130283000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a robot, a motor unit, and a method for controlling the robot. [Background technology]
[0002] Conventionally, there are technologies for reducing vibration in robots. In the technology disclosed in Patent Document 1, low-pass filtering is applied to the target motor torque of an electric motor, the measured value of the total input torque acting on the driven rotating member, and the measured value of the elastic force torque generated by the elastic deformation of the torsion bar. As a result, the actual drive torque applied to the driven rotating member can be controlled to the target drive torque while effectively suppressing the vibration of the drive torque transmitted to the driven rotating member.
[0003] In the technology of Patent Document 1, it is possible that the vibration characteristics of the robot may change during operation. For example, if the posture of the robot changes or the weight of the object being held by the robot changes during operation, the vibration characteristics of the robot may change during operation. In such cases, the frequency of vibrations that should be reduced in the robot changes. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-115878 Summary of the Invention [Problem to be solved by the invention]
[0005] The inventors of the technology disclosed herein have investigated filter processing that can switch the frequency of vibration to be reduced while a robot is moving. However, when switching the frequency of vibration to be reduced in an IIR (Infinite Impulse Response) filter while the robot is moving, discontinuous positional deviation occurs at the timing of the frequency switch, making this filter inapplicable to robot control. [Means for solving the problem]
[0006] The present disclosure has been made to solve at least part of the above-mentioned problems, and can be realized in the following aspects.
[0007] According to one embodiment of the present disclosure, there is provided a robot. The robot includes an arm, a motor for driving the arm, and a control unit for controlling the motor. The control unit includes a command generation unit for generating a position command, a filter processing unit for filtering the position command to generate a filtered command, and a drive signal generation unit for generating a drive signal for the motor using the filtered command. The filter processing unit includes a first filter unit for performing processing on a signal based on the position command to reduce a component of a first object frequency to generate a first command, a second filter unit for performing processing on the signal based on the position command to reduce a component of a second object frequency to generate a second command, a switching unit for selectively inputting the position command generated by the command generation unit to the first filter unit or the second filter unit, and a synthesis unit for generating the filtered command using the sum of the signal based on the first command and the signal based on the second command. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is an explanatory diagram illustrating a robot system according to an embodiment. [Figure 2] 2 is a block diagram showing the relationship between the components of the robot control device 300 and the components of the robot 100. FIG. [Figure 3]FIG. 9 is a block diagram showing the configuration of a VRT filter processing unit 900. [Figure 4] FIG. 2 is a block diagram showing the configuration of a first filter section 910. [Figure 5] FIG. 10 is a block diagram showing the configuration of a second filter section 920. [Figure 6] 10 is a flowchart for explaining processing executed in the robot control device 300. [Figure 7] The graph has time on the horizontal axis and the angular position of the output shaft of servo motor 410 on the vertical axis. [Figure 8] The graph has time on the horizontal axis and the angular position of the output shaft of servo motor 410 on the vertical axis. [Figure 9] FIG. 11 is a block diagram showing an example of an extended VRT filter processing unit 900E according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] A. First embodiment: 1 is an explanatory diagram showing a robot system according to one embodiment. The robot system according to this embodiment includes a robot 100, an end effector 200, a robot control device 300, and a robot teaching device 600.
[0010] The robot 100 is a six-axis robot having an arm 110 equipped with six rotational joints X11 to X16. The joints X11, X14, and X16 are torsion joints. The joints X12, X13, and X15 are bending joints. The arm 110 of the robot 100 is driven by rotating each of the six joints X11 to X16 with a servo motor 410. As a result, the end effector 200 attached to the tip of the arm 110 can be placed at a specified position in three-dimensional space in a specified orientation.
[0011] The workpiece W01 is an object on which the robot 100 performs work. The workpiece W01 is placed on a support table 500.
[0012] The robot control device 300 is connected to the robot 100 and controls the operation of the robot 100. More specifically, the robot control device 300 controls and drives servo motors 410 serving as actuators that move the joints X11 to X16 of the robot 100.
[0013] The robot control device 300 is taught the motion to be specified for the robot 100 by the robot teaching device 600. Prior to actually operating the robot 100, the robot teaching device 600 first teaches the robot the motion. The robot control device 300 stores the teaching results as data. When the robot 100 is to be operated, the robot control device 300 controls the robot 100 based on the stored data representing the teaching results.
[0014] The end effector 200 is attached to the tip of the arm 110. The end effector 200 is controlled by the robot control device 300 to grasp a workpiece W01 on the support table 500 and to release the grasped workpiece W01. As a result, for example, the robot 100 and the end effector 200 are controlled by the robot control device 300 to grasp and move the workpiece W01 on the support table 500.
[0015] 2 is a block diagram showing the relationship between the components of the robot control device 300 and the components of the robot 100. The robot control device 300 includes a command generation unit 310, a filter setting unit 345, a VRT filter processing unit 900, a position control unit 320, a speed control unit 330, a torque control unit 350, and a servo amplifier 360. The components of the robot control device 300 shown in FIG. 2 and the servo motor 410 and position sensor 420 of the robot 100 are collectively referred to as the "motor unit 120."
[0016] A position sensor 420 is attached to each servo motor 410 that drives each joint of the robot 100. The position sensor 420 detects the rotational position and rotational speed of the servo motor 410 and transmits them to the robot control device 300. The robot control device 300 performs feedback control using the output of the position sensor 420.
[0017] The command generation unit 310 generates a position command x0 that indicates a target position where the end effector 200 should be located, and outputs the position command x0 to the VRT filter processing unit 900. The command generation unit 310 also outputs a command that indicates an operation currently being executed by the robot 100 to the filter setting unit 345.
[0018] The filter setting unit 345 receives a command representing the operation being executed from the command generation unit 310. In response to the received command, the filter setting unit 345 generates and outputs a command specifying one or more frequencies to be removed from the position command x0. The filter setting unit 345 generates and outputs commands specifying multiple frequencies to be removed in different operations that are executed consecutively, prior to the execution of the operation by the robot 100. Furthermore, the filter setting unit 345 generates and outputs a command specifying frequencies to be removed while the robot 100 is executing the operation. The filter setting unit 345 can also output a command indicating that there are no frequencies to be removed from the position command x0 while the robot 100 is executing the operation.
[0019] The VRT filter processing unit 900 receives a position command x0 from the command generating unit 310. The VRT filter processing unit 900 also receives a command for frequencies to be removed from the filter setting unit 345. When the VRT filter processing unit 900 receives a command specifying multiple frequencies to be removed prior to the execution of an operation by the robot 100, it stores those frequencies in filter units 910 and 920. The filter units 910 and 920 will be described later.
[0020] While the robot 100 is performing an operation, the VRT filter processing unit 900 performs filtering on the position command x0 output by the command generation unit 310 to remove frequency components specified by the filter setting unit 345, and generates and outputs a new position command. The new position command generated by the VRT filter processing unit 900 is called the filtered command xfo. If the VRT filter processing unit 900 receives a command from the filter setting unit 345 indicating that there are no frequencies to be removed, it outputs the position command x0 received from the command generation unit 310 as the filtered command xfo.
[0021] The frequencies removed by the VRT filter processing unit 900 are frequencies determined in advance in accordance with a command representing the operation being executed. These frequencies are resonant frequencies in the operation of the robot 100. Examples of resonant frequencies in the operation of the robot 100 include (i) the resonant frequency of the robot 100 in the posture at the end of the operation, and (ii) if the robot 100 is holding a workpiece W01 at the end of the operation, the resonant frequency of the robot 100 holding the workpiece W01 at the end of the operation. By performing such processing, it is possible to prevent the robot 100 from resonating at the resonant frequency at the end of the operation.
[0022] Hereinafter, in this specification, a technology for reducing predetermined frequency components in commands such as position commands, torque commands, and speed commands, thereby reducing resonance of a controlled object due to those frequencies, will be referred to as VRT (Vibration Reduction Technology). A specific configuration example of the VRT filter processing unit 900 will be described later.
[0023] The position control unit 320 receives the position command x0 processed by the VRT filter processing unit 900. The position control unit 320 also receives, as position feedback, the rotational position of each servo motor 410 from the position sensor 420 of the robot 100. Furthermore, the position control unit 320 generates and outputs a speed command for each servo motor 410 of the robot 100 based on this information.
[0024] The speed control unit 330 receives a speed command from the position control unit 320. The speed control unit 330 also receives, as speed feedback, the rotational speed of each servo motor 410 from the position sensor 420 of the robot 100. The speed control unit 330 generates and outputs a torque command based on the speed command and the rotational speed of each servo motor 410.
[0025] The torque control unit 350 receives a torque command from the speed control unit 330. It also receives a feedback signal from the servo amplifier 360, which indicates the amount of current to be supplied to each servo motor 410. The torque control unit 350 determines the amount of current to be supplied to each servo motor 410 based on the torque command and the current feedback signal of each servo motor 410, and drives each servo motor 410 via the servo amplifier 360.
[0026] The position control unit 320, the speed control unit 330, the torque control unit 350, and the servo amplifier 360 function as a drive signal generation unit that uses the filtered command generated by the VRT filter processing unit 900 to generate a drive signal for a servo motor as an actuator.
[0027] 3 is a block diagram showing the configuration of the VRT filter processing unit 900 (see the upper left part of FIG. 2). The VRT filter processing unit 900 includes a first filter unit 910, a second filter unit 920, a switching unit 930, and a synthesis unit 940.
[0028] The first filter unit 910 performs processing to reduce the component of the first object frequency f1 for the position command x0, and generates a first command xf1, which is a position command. The first object frequency f1 is specified in advance to the VRT filter processing unit 900 by the filter setting unit 345 (see the upper left part of FIG. 2). As described above, the first object frequency f1 is a resonance frequency in the operation of the robot 100.
[0029] The second filter unit 920 performs processing to reduce the component of the second object frequency f2 for the position command x0, and generates a second command xf2, which is a position command. The second object frequency f2 is specified in advance to the VRT filter processing unit 900 by the filter setting unit 345 (see the upper left part of FIG. 2). As described above, the second object frequency f2 is a resonance frequency in the operation of the robot 100. The second object frequency f2 is different from the first object frequency f1.
[0030] The switching unit 930 receives a position command x0 from the command generating unit 310. The switching unit 930 selectively inputs the position command x0 generated by the command generating unit 310 to the first filter unit 910 and the second filter unit 920. In this specification, "selectively input to A and B" includes "input to A but not input to B," "input to B but not input to A," and "input to neither A nor B." In other words, "selectively input to A and B" means that "input to neither A nor B" is not provided.
[0031] In this embodiment, the switching unit 930 selectively executes a first process and a second process in response to an instruction input from the filter setting unit 345 to switch the filter process executed in the VRT filter processing unit 900, thereby selectively inputting the position command x0 generated by the command generating unit 310. The first process is a process of inputting 0 as a position command to the second filter unit 920, and inputting the position command x0 generated by the command generating unit 310 to the first filter unit 910. The second process is a process of inputting 0 as a position command to the first filter unit 910, and inputting the position command x0 generated by the command generating unit 310 to the second filter unit 920.
[0032] In this embodiment, by switching the input of the position command x0 to each of the first filter unit 910 and the second filter unit 920, the filter processing executed in the VRT filter processing unit 900 can be easily and quickly switched, and the change in the frequency of the vibration to be reduced can be accommodated.
[0033] The combining unit 940 receives a first command xf1 and a second command xf2 from the first filter unit 910 and the second filter unit 920, respectively. The combining unit 940 generates a filtered command xfo using the sum of the first command xf1 and the second command xf2.
[0034] FIG. 4 is a block diagram showing the configuration of the first filter unit 910 (see the upper central part of FIG. 3). The first filter unit 910 includes a first band-stop filter 912 and a first low-pass filter 914.
[0035] The first band-stop filter 912 reduces the components of the first target frequency f1. More specifically, the first band-stop filter 912 reduces the frequency components in the band from the cut-off frequency fL12 to fH12 including the first target frequency f1 from the input signal (fL12 < f1 < fH12). The cut-off frequencies fL12 and fH12 of the first band-stop filter 912 are set according to the first target frequency f1 included in the command output from the filter setting unit 345.
[0036] The first low-pass filter 914 reduces the frequency components higher than the cut-off frequency fc14 from the input signal. The cut-off frequency fc14 of the first low-pass filter 914 can be changed according to the first target frequency f1 included in the command output from the filter setting unit 345 and other commands.
[0037] By adopting such a configuration, in the operation of the servo motor 410 with the filtered command xfo in which the components of the first target frequency f1 are reduced, resonance can be further reduced compared to the mode where the first filter unit 910 does not include a low-pass filter.
[0038] FIG. 5 is a block diagram showing the configuration of the second filter unit 920 (see the central part at the lower stage of FIG. 3). The second filter unit 920 has the same configuration and effects as the first filter unit 910. The second filter unit 920 includes a second band-stop filter 922 and a second low-pass filter 924.
[0039] The second band-stop filter 922 reduces the components of the second target frequency f2. More specifically, the second band-stop filter 922 reduces the frequency components in the band from the cut-off frequency fL22 to fH22 that includes the second target frequency f2 from the input signal (fL22 < f2 < fH22). The cut-off frequencies fL22 and fH22 of the second band-stop filter 922 are set according to the second target frequency f2 included in the command output from the filter setting unit 345.
[0040] The first band-stop filter 912 and the second band-stop filter 922 may have different cut-off frequencies fL12, fH12, fL22, and fH2 (END)
[0041] By adopting such a configuration, for each position command x0 used in a state where the resonance frequencies of the robot 100 are different, the cut-off frequencies fL12, fH12 of the first band-stop filter 912 and the cut-off frequencies fL22, fH22 of the second band-stop filter 922 can be determined and set according to each state.
[0042] The second low-pass filter 924 reduces frequency components higher than a cutoff frequency fc24 from the input signal. The cutoff frequency fc24 of the second low-pass filter 924 can be changed in accordance with a second target frequency f2 included in the command output from the filter setting unit 345 and other commands.
[0043] By adopting such a configuration, resonance can be further reduced in the operation of the servo motor 410 by the filtered command xfo in which the component of the second target frequency f2 is reduced, compared to an embodiment in which the second filter unit 920 does not have a low-pass filter.
[0044] Furthermore, the VRT filter processing unit 900 provides the following advantages compared to an embodiment in which the first filter unit 910 and the second filter unit 920 do not include low-pass filters: That is, a smooth transition can be achieved without causing excessive torque fluctuations when transitioning between operation based on the filtered command xfO in which the component of the first object frequency f1 has been reduced, and operation based on the filtered command xfO in which the component of the second object frequency f2 has been reduced.
[0045] The first low-pass filter 914 and the second low-pass filter 924 may have different cutoff frequencies fc14 and fc24.
[0046] With this configuration, for each position command x0 used in a state where the resonant frequency of the robot 100 is different, the cutoff frequency fc14 of the first low-pass filter 914 and the cutoff frequency fc24 of the second low-pass filter 924 can be determined according to each state.
[0047] Fig. 6 is a flowchart for explaining the processing executed by the robot control device 300. Fig. 6 is a flowchart for explaining the processing executed by the robot control device 300, focusing only on two pairs of position commands x0 that are issued consecutively one after the other. In the following, the generation of the drive signal for only one servo motor 410 out of the servo motors 410 arranged at the six joints X11 to X16 will be explained. Prior to the processing in Fig. 6, the frequencies to be reduced in each movement included in the work to be performed by the robot 100 are stored in the VRT filter processing unit 900 by the filter setting unit 345, and are then stored in the filter units 910 and 920.
[0048] In step S100, the command generation unit 310 generates a position command x0 (see the upper left part of FIG. 2). To facilitate understanding of the technology, it is assumed here that at the boundary between two sets of position commands x0 generated successively by the command generation unit 310, the operating speed of the servo motor 410 is 0, and the position command x0 of the servo motor 410 is also 0. In step S100, first, the first set of position commands x0 included in the task to be performed by the robot 100 is generated.
[0049] In step S200, the VRT filter processing unit 900 filters the position command x0 to generate a filtered command xf0 (see the upper left part of FIG. 2). More specifically, the switching unit 930 of the VRT filter processing unit 900 selectively inputs the position command x0 generated in step S100 to the first filter unit 910 and the second filter unit 920 (see the middle left part of FIG. 3). Then, the synthesis unit 940 generates a filtered command xf0, which is the sum of the first command xf1 and the second command xf2 (see the middle right part of FIG. 3). The processes selectively performed by the switching unit 930, the first filter unit 910, and the second filter unit 920 in step S200 are shown as steps S210 and S220 in FIG. 6. In step S200, the position command x0 is first input to the first filter unit 910 corresponding to the frequency to be reduced received from the filter setting unit 345.
[0050] In step S300, the position control unit 320, the speed control unit 330, the torque control unit 350, and the servo amplifier 360 function as a drive signal generator to generate a drive signal for the servo motor 410 using the filtered command xfo generated by the VRT filter processing unit 900. The servo motor 410 is driven by the drive signal.
[0051] In step S400, the robot control device 300 determines whether or not the processing of steps S100-S300 has been completed for all the operations to be executed by the robot 100, i.e., all the commands to be executed by the robot 100. If the processing of steps S100-S300 has been completed for all the operations, the processing of Fig. 6 ends. If the processing of steps S100-S300 has not been completed for all the operations, the processing returns to step S100.
[0052] Thereafter, in step S100, a second set of position commands x0 included in the task to be performed by the robot 100 is generated. In step S200, the position commands x0 generated in step S100 are input to a second filter unit 920 corresponding to the frequency to be reduced received from the filter setting unit 345 (see the lower center part of FIG. 3). In other respects, the processing of steps S100-S300 executed after step S400 is the same as the processing of steps S100-S300 executed initially.
[0053] The processing of step S200 in Fig. 6 will be described in more detail below. While the filter setting unit 345 is instructing the first target frequency f1 as the frequency to be removed from the position command x0, the switching unit 930 executes the first processing in step S200 (see S210 in Fig. 6). While the filter setting unit 345 is instructing the second target frequency f2 as the frequency to be removed from the position command x0, the switching unit 930 executes the second processing in step S200 (see S220 in Fig. 6).
[0054] The synthesis unit 940 generates a filtered command xf0 using the sum of the first command xf1 and the second command xf2 (see the middle right part of FIG. 3). While the first target frequency f1 is specified as the frequency to be removed from the position command x0, 0 is input as a position command to the second filter unit 920. As a result, the filtered command xf0 is a command in which the component of the first target frequency f1 is mainly reduced. While the second target frequency f2 is specified as the frequency to be removed from the position command x0, 0 is input as a position command to the first filter unit 910. As a result, the filtered command xf0 is a command in which the component of the second target frequency f2 is mainly reduced.
[0055] 7 is a graph in which the horizontal axis represents time and the vertical axis represents the angular position of the output shaft of servo motor 410. In FIG. 7, a negative angular position is illustrated as an example of the angular position of the output shaft of servo motor 410. P1 in the upper part of FIG. 7 indicates a time period in which first target frequency f1 is specified as a frequency to be removed from position command x0. P2 in the upper part of FIG. 7 indicates a time period in which second target frequency f2 is specified as a frequency to be removed from position command x0.
[0056] 7, the position command x0 that the VRT filter processing unit 900 receives from the command generation unit 310 is indicated by a solid line. The first command xf1 generated by the first filter unit 910 is indicated by a dashed line. The second command xf2 generated by the second filter unit 920 is indicated by a two-dot chain line. The filtered command xf0 generated by the synthesis unit 940 is indicated by a dashed line.
[0057] In time interval P1, first filter unit 910 receives position command x0 as input and generates first command xf1. Since second filter unit 920 continues to receive 0 as position command x0, second command xf2 is a constant value of 0 (see the upper left part of FIG. 7). Therefore, in time interval P1, filtered command xf0 is equal to first command xf1.
[0058] In time interval P1, the position command x0 initially increases significantly in the negative direction from 0, maintains a constant value, and then approaches zero (see the middle left part of FIG. 7). The filtered command xf0, i.e., the first command xf1, has been filtered by first filter unit 910 and therefore deviates from the position command x0 received from command generator 310 (see the middle left part of FIG. 7).
[0059] At the timing when the position command x0 is 0 and the velocity is 0, the frequency instructed by the filter setting unit 345 as the frequency to be removed from the position command x0 switches from the first target frequency f1 to the second target frequency f2 (see the upper center part of FIG. 7).
[0060] Fig. 8 is a graph in which the horizontal axis represents time and the vertical axis represents the angular position of the output shaft of servo motor 410. Fig. 8 is a graph that shows an enlarged portion of Fig. 7 near the boundary between time intervals P1 and P2.
[0061] In time interval P2, second filter unit 920 receives position command x0 and generates second command xf2. In time interval P2, position command x0 increases sharply from 0 in the negative direction, maintains a constant value, and then approaches zero (see the middle right part of FIG. 7). Second command xf2 generated by second filter unit 920 deviates from position command x0, but similarly increases sharply from 0 in the negative direction, maintains a constant value, and then approaches zero (see the middle right part of FIG. 7).
[0062] In time interval P2, first filter unit 910 continues to receive an input of 0 as position command x0. However, since the position command x0 that first filter unit 910 receives from command generator 310 was already 0 before the frequency to be reduced was switched to second target frequency f2, first filter unit 910 generates a first command xf1 that is continuous with the first command xf1 that had been generated up to that point (see the upper center part of FIG. 7 and the middle center part of FIG. 8). Thereafter, because first filter unit 910 continues to receive an input of 0 as position command x0, first command xf1 approaches 0 (see the upper right part of FIG. 8).
[0063] The synthesis unit 940 generates a filtered command xf0, which is the sum of the first command xf1 and the second command xf2 (see the middle right part of FIG. 3). Therefore, within the time interval P2, in a certain time interval PT that includes the start timing of the time interval P2, the filtered command xf0 becomes a command in which the first command xf1, which gradually approaches 0, is added to the second command xf2 (see the middle center part of FIG. 8). Eventually, the first command xf1 becomes 0, and the filtered command xf0 becomes equal to the second command xf2 (see the middle right part of FIG. 8 and the middle center part of FIG. 7). In other words, when the frequency to be reduced is switched, a smooth filtered command xf0 is generated that does not accompany a sudden change.
[0064] In this embodiment, the filtered command xfo is generated using the sum of the first command xf1 and the second command xf2, while the position command x0 generated by the command generating unit 310 is selectively input to the first filter unit 910 and the second filter unit 920 (see FIG. 3). This makes it possible to quickly switch the frequency of the vibration to be reduced and to respond to changes in the frequency of the vibration to be reduced.
[0065] When switching the frequency to be reduced using one filter unit, in order to avoid discontinuous positional deviations occurring at the timing of frequency switching, it is necessary to wait until the unfiltered position command x0 and the filtered position command xf1 being used at that time match before switching the frequency to be reduced. However, in this embodiment, the frequency to be reduced can be switched at a stage when the unfiltered position command x0 and the filtered position command xf1 being used at that time do not match (see the upper center part of FIG. 7). This allows for rapid switching of the frequency of vibration to be reduced.
[0066] The servo motor 410 in this embodiment is also referred to as a "motor." The robot control device 300 is also referred to as a "control unit." The VRT filter processing unit 900 is also referred to as a "filter processing unit." The position control unit 320, the speed control unit 330, the torque control unit 350, and the servo amplifier 360 are also referred to as a "drive signal generation unit."
[0067] B. Second embodiment: In the robot system of the second embodiment, the robot control device 300 includes an extended VRT filter processor 900E instead of the VRT filter processor 900 (see the upper left part of FIG. 2 and FIG. 3). In other respects, the robot system of the second embodiment is the same as the robot system of the first embodiment.
[0068] 9 is a block diagram showing an extended VRT filter processor 900E in the second embodiment. The extended VRT filter processor 900E includes the VRT filter processor 900 included in the robot system of the first embodiment, a subtractor 961 provided in the preceding stage of the VRT filter processor 900, an adder 962 provided in the subsequent stage of the VRT filter processor 900, and an offset memory 963. In FIG. 9, the output of the VRT filter processor 900, i.e., the output of the synthesis unit 940 of the VRT filter processor 900, is shown as command xfoo (see the right-hand portion of FIG. 9). The command obtained by adding an offset to the command xfoo is the filtered command xfo, which is the output of the extended VRT filter processor 900E.
[0069] The VRT filter processing unit 900 can selectively execute a first process that reduces the component of the first target frequency f1 relative to the position command x0, and a second process that reduces the component of the second target frequency f2 relative to the position command x0 (see FIGS. 3 to 5 and S210 and S220 in FIG. 6). The offset memory 963 stores an offset that is the position command x0 immediately before the start of the next process that follows the first process. Here, the first process that reduces the component of the first target frequency f1 is performed first, and then the second process that reduces the component of the second target frequency f2 is performed (see S210 and S220 in FIG. 6). That is, the position command x0 immediately before the start of the second process is stored in the offset memory 963 as an offset. Note that the offset stored in the offset memory 963 is zero before switching to the second process.
[0070] In the second embodiment, an offset, which is the value of the position command x0 immediately before the start of the second process that follows the first process, is subtracted from the position command x0, and then the result is processed by a VRT filter processing unit 900, and the offset is added to the position command x0 processed by the VRT filter processing unit 900 (see the middle left and middle right parts of FIG. 9). Therefore, even if switching from the first process to the second process is performed when the position command x0 is not 0, a smooth filtered command xfo that does not involve abrupt changes is generated, and it is possible to respond to changes in the frequency of the vibration that should be reduced.
[0071] The extended VRT filter processor 900E in this embodiment is also called a "filter processor."
[0072] C. Other Embodiments: C1. Alternative Embodiment 1: (1) In the above embodiment, the robot control device 300 performs position feedback, velocity feedback, and current feedback (see the middle right part of FIG. 2). However, these feedback controls do not have to be performed. In an embodiment in which position feedback is not performed, the robot system and motor unit 120 do not have to include the position sensor 420.
[0073] (2) In the above embodiment, the second target frequency f2 is different from the first target frequency f1 (see the center of FIG. 3). However, the second target frequency f2 may be equal to the first target frequency f1. Such an embodiment can be as follows: (i) In the first process and the second process, the cutoff frequency fL12 of the first band-stop filter 912 and the cutoff frequency fL22 of the second band-stop filter 922 are different. (ii) The cutoff frequency fH12 of the first band-stop filter 912 and the cutoff frequency fH22 of the second band-stop filter 922 are different. (iii) The cutoff frequency fc14 of the first low-pass filter 914 and the cutoff frequency fc24 of the second low-pass filter 924 are different.
[0074] (3) In the above embodiment, the technique of the present disclosure has been described assuming that the first target frequency f1 and the second target frequency f2 are each a single frequency. However, multiple frequencies may be reduced in the first process. Multiple frequencies may be reduced in the second process.
[0075] (4) In the above embodiment, the technology of the present disclosure has been described using an example of two sets of position commands in which the first target frequency f1 and the second target frequency f2 are reduced, respectively. For this reason, the VRT filter processing unit 900 includes a first filter unit 910 and a second filter unit 920 as filter units (see FIG. 3). However, there may be three or more sets of operations in which different frequencies are reduced, i.e., three or more sets of position commands in which different frequencies are reduced. In such an embodiment, the VRT filter processing unit 900 may include a number of filter units equal to the number of operations in which different frequencies are reduced. In such an embodiment, the procedure described in the above embodiment is performed to switch between a previously executed filter process and a subsequent filter process.
[0076] In this specification, in an embodiment where the filter processing unit includes three or more filter units, the following terminology is used when a position command is selectively input to the three or more filter units. That is, when describing processing focusing on a first filter unit and a second filter unit included in the three or more filter units, it is expressed as "a position command is selectively input to the first filter unit and the second filter unit."
[0077] (5) In the above embodiment, prior to operation of the robot 100, frequencies to be reduced in each movement included in the work to be performed by the robot 100 are transmitted from the filter setting unit 345 to the VRT filter processing unit 900 and stored in the filter units 910 and 920 (see the upper left part of FIG. 2). However, frequencies to be reduced in the next movement may be transmitted from the filter setting unit 345 to the VRT filter processing unit 900 during the execution of the immediately preceding movement.
[0078] (6) In the above embodiment, the first filter unit 910 performs processing on the position command x0 to reduce the component of the first target frequency f1, thereby generating a first command xf1 that is a position command (see the upper center part of FIG. 3). The second filter unit 920 performs processing on the position command x0 to reduce the component of the second target frequency f2, thereby generating a second command xf2 that is a position command (see the lower center part of FIG. 3). However, as shown in the second embodiment, the processing to reduce a certain frequency component in the filter unit may be performed not on the position command itself, but on a signal obtained as a result of performing some processing on the position command (see the middle left part of FIG. 9). In other words, it is sufficient for the filter unit to perform processing to reduce the component of the target frequency on a signal based on a position command and generate a command.
[0079] (7) In the above embodiment, the synthesis unit 940 generates the filtered command xf0 using the sum of the first command xf1 and the second command xf2 (see the middle right part of FIG. 3). However, the first command xf1 and the second command xf2 may be subjected to some processing before being added in the synthesis unit 940. In other words, the synthesis unit may be any unit that generates a filtered command using the sum of a signal based on the first command and a signal based on the second command.
[0080] (8) In the above embodiment, the synthesis unit 940 generates the filtered command xf0 using a 1:1 sum of the first command xf1 and the second command xf2 (see the middle right part of FIG. 3). However, the synthesis unit may generate the filtered command by a weighted sum of the command generated as a result of the earlier filtering process and the command generated as a result of the later filtering process.
[0081] (9) In the above embodiment, the technology of the present disclosure has been described using as an example a case where processing switches from a first process in which the first target frequency f1 is reduced to a second process in which the second target frequency f2 is reduced (see FIG. 7). However, if the first target frequency f1 and the second target frequency f2 are stored in the filter units 910 and 920, respectively, as frequencies to be reduced, even when processing switches from the second process in which the second target frequency f2 is reduced to the first process in which the first target frequency f1 is reduced, a smooth filtered command xfo without abrupt changes can be generated by processing similar to that described in the above embodiment.
[0082] (10) In the above embodiment, the first process is a process of inputting 0 as a position command to the second filter unit 920, and inputting the position command x0 generated by the command generation unit 310 to the first filter unit 910. The second process is a process of inputting 0 as a position command to the first filter unit 910, and inputting the position command x0 generated by the command generation unit 310 to the second filter unit 920 (see FIG. 3).
[0083] However, the first process and the second process can also be configured as follows. The first process is a process in which the position command immediately before the start of the first process is input to the second filter unit 920, and the position command x0 generated by the command generating unit 310 is input to the first filter unit 910. The second process is a process in which the position command immediately before the start of the second process is input to the first filter unit 910, and the position command x0 generated by the command generating unit 310 is input to the second filter unit 920. Even in this configuration, if switching from the first process to the second process or switching from the second process to the first process is performed when the position command x0 is not 0, a smooth filtered command xf0 without a sudden change is generated.
[0084] (11) In the above embodiment, after the processing being executed has switched from the first processing to the second processing, the processing of the first filter unit 910 may be stopped at the timing when the first filter unit 910 starts to continuously output 0 as xf1 (the upper right part of FIG. 7 and FIG. 3). Similarly, after the processing being executed has switched from the second processing to the first processing, the processing of the second filter unit 920 may be stopped at the timing when the second filter unit 920 starts to continuously output 0 as xf2.
[0085] C2. Alternative Embodiment 2: In the above embodiment, the first filter section 910 includes a first band-elimination filter 912 and a first low-pass filter 914 (see FIG. 4). The second filter section 920 includes a second band-elimination filter 922 and a second low-pass filter 924 (see FIG. 5). However, it is also possible to configure such that at least one of these filter sections includes a band-elimination filter and does not include a low-pass filter. At least one of the first filter section 910 and the second filter section 920 may include a notch filter, instead of a band-elimination filter, which reduces a narrower range of frequency components than a band-elimination filter.
[0086] At least one of the first filter section 910 and the second filter section 920 may have a low-pass filter but not a band-stop filter. In a filter section that has a low-pass filter but not a band-stop filter, the cutoff frequency of the low-pass filter is preferably equal to or lower than the frequency to be reduced in the robot.
[0087] C3. Alternative Embodiment 3: In the above embodiment, it has been described that the first low-pass filter 914 and the second low-pass filter 924 may have different cutoff frequencies fc14 and fc24 (see FIGS. 4 and 5). However, the first low-pass filter 914 and the second low-pass filter 924 may also have the same cutoff frequency.
[0088] C4. Alternative Embodiment 4: In the above embodiment, it has been described that the first band-stop filter 912 and the second band-stop filter 922 may have different cutoff frequencies fL12, fH12, fL22, and fH22 (see FIGS. 4 and 5). However, the first band-stop filter 912 and the second band-stop filter 922 may have equal values for some of the cutoff frequencies.
[0089] C5. Alternative Embodiment 5: In the above embodiment, the first target frequency f1 and the second target frequency f2 that are reduced in the filtering process are resonant frequencies in the operation of the robot 100. However, the frequencies that are reduced in the filtering process may also be resonant frequencies of other components that may affect the control of the robot 100. For example, the frequencies that are reduced in the filtering process may be the resonant frequency of a camera and its support base that captures images of the robot 100 and the workpiece W01 and that may vibrate due to the movement of the robot 100, or the resonant frequency of another robot that cooperates with the robot 100 and that may vibrate due to the movement of the robot 100.
[0090] C6. Alternative Embodiment 6: In the above embodiment, the first process is a process of inputting 0 as a position command to second filter unit 920 and inputting position command x0 generated by command generating unit 310 to first filter unit 910 (see FIG. 3 ). The second process is a process of inputting 0 as a position command to first filter unit 910 and inputting position command x0 generated by command generating unit 310 to second filter unit 920. However, in the above second embodiment, the first process can be a process of stopping the function of second filter unit 920 and inputting position command x0 generated by command generating unit 310 to first filter unit 910. The second process can be a process of stopping the function of first filter unit 910 and inputting position command x0 generated by command generating unit 310 to second filter unit 920.
[0091] D. Other forms: The present disclosure is not limited to the above-described embodiments and can be realized in various forms without departing from the spirit thereof. For example, the present disclosure can also be realized in the following forms. The technical features in the above embodiments corresponding to the technical features in each form described below can be appropriately replaced or combined to solve some or all of the problems of the present disclosure or to achieve some or all of the effects of the present disclosure. Furthermore, if a technical feature is not described as essential in this specification, it can be appropriately deleted.
[0092] (1) According to one aspect of the present disclosure, there is provided a robot. The robot includes an arm, a motor that drives the arm, and a control unit that controls the motor. The control unit includes a command generation unit that generates a position command, a filter processing unit that filters the position command to generate a filtered command, and a drive signal generation unit that generates a drive signal for the motor using the filtered command. The filter processing unit includes a first filter unit that processes a signal based on the position command to reduce a component of a first object frequency and generates a first command, a second filter unit that processes the signal based on the position command to reduce a component of a second object frequency and generates a second command, a switching unit that selectively inputs the position command generated by the command generation unit to the first filter unit and the second filter unit, and a synthesis unit that generates the filtered command using the sum of the signal based on the first command and the signal based on the second command. In such an embodiment, a filtered command is generated using the sum of a signal based on the first command and a signal based on the second command, while the position command generated by the command generation unit is selectively input to the first filter unit and the second filter unit, thereby enabling the frequency of the vibration to be reduced to be quickly switched and responding to changes in the frequency of the vibration to be reduced.
[0093] (2) In the robot of the above form, the first filter unit may include a first band-elimination filter that reduces components of the first target frequency and a first low-pass filter, and the second filter unit may include a second band-elimination filter that reduces components of the second target frequency and a second low-pass filter. By adopting this configuration, compared to a configuration in which the first filter unit and the second filter unit do not have low-pass filters, a smooth transition can be made between motor operation based on a filtered command in which the components of the first target frequency have been reduced and motor operation based on a filtered command in which the components of the second target frequency have been reduced, without causing excessive torque fluctuations.
[0094] (3) In the robot of the above aspect, the first low-pass filter and the second low-pass filter may have different cutoff frequencies. By adopting such an embodiment, the cutoff frequencies of the first low-pass filter and the second low-pass filter can be determined according to the respective states for each position command used in states with different resonant frequencies.
[0095] (4) In the robot of the above aspect, the first band-elimination filter and the second band-elimination filter may have different cutoff frequencies. By adopting such an embodiment, the cutoff frequencies of the first band-elimination filter and the second band-elimination filter can be determined according to the respective state for each position command used in a state where the resonant frequency is different.
[0096] (5) In the robot of the above aspect, a resonant frequency in the operation of the robot may be set as the first target frequency and the second target frequency.
[0097] (6) In the robot of the above form, the switching unit may selectively execute the following processes in response to an input of an instruction to switch the filter processing: inputting 0 as the position command to the second filter unit and inputting the position command generated by the command generating unit to the first filter unit; and inputting 0 as the position command to the first filter unit and inputting the position command generated by the command generating unit to the second filter unit, thereby selectively inputting the position command generated by the command generating unit. With this configuration, it is possible to easily switch between filter processes by switching between the input of position commands to the first filter section and the second filter section.
[0098] (7) According to another aspect of the present disclosure, there is provided a motor unit. The motor unit includes a motor and a control unit that controls the motor. The control unit includes a command generation unit that generates a position command, a filter processing unit that filters the position command to generate a filtered command, and a drive signal generation unit that generates a drive signal for the motor using the filtered command. The filter processing unit includes a first filter unit that processes the position command to reduce a component of a first target frequency to generate a first command, a second filter unit that processes the position command to reduce a component of a second target frequency to generate a second command, a switching unit that selectively inputs the position command generated by the command generation unit to the first filter unit and the second filter unit, and a synthesis unit that generates the filtered command using the sum of a signal based on the first command and a signal based on the second command.
[0099] (8) In the motor unit of the above form, the first filter section may include a first band-elimination filter that reduces components of the first target frequency and a first low-pass filter, and the second filter section may include a second band-elimination filter that reduces components of the second target frequency and a second low-pass filter.
[0100] (9) In the motor unit of the above aspect, the first low-pass filter and the second low-pass filter may have different cutoff frequencies.
[0101] (10) In the motor unit of the above aspect, the first band-elimination filter and the second band-elimination filter may have different cutoff frequencies.
[0102] (11) In the motor unit of the above aspect, a resonant frequency of a robot driven by the motor unit may be set as the first target frequency and the second target frequency.
[0103] (12) In the motor unit of the above form, the switching unit may selectively execute the following processes in response to an input of an instruction to switch the filter processing: inputting 0 as the position command to the first filter unit and inputting the position command generated by the command generating unit to the second filter unit; and inputting 0 as the position command to the second filter unit and inputting the position command generated by the command generating unit to the first filter unit, thereby selectively inputting the position command generated by the command generating unit.
[0104] (13) According to another aspect of the present disclosure, there is provided a method for controlling a robot including an arm, a motor for driving the arm, and a controller for controlling the motor. The method for controlling the robot includes the steps of generating a position command, filtering the position command to generate a filtered command, and generating a drive signal for the motor using the filtered command. The step of filtering the position command to generate a filtered command includes the steps of selectively inputting the generated position command to a first filter unit that performs processing on the position command to reduce a component of a first object frequency and generates a first command, and a second filter unit that performs processing on the position command to reduce a component of a second object frequency and generates a second command, and generating the filtered command using the sum of a signal based on the first command and a signal based on the second command.
[0105] The present disclosure may be realized in various forms other than a robot, a motor unit, and a method for controlling a robot, such as a control device that generates a position command for a robot, a method for generating a position command for a robot, a computer program that realizes the method, or a non-transitory recording medium on which the computer program is recorded. [Explanation of symbols]
[0106] 100...robot, 110...arm, 120...motor unit, 200...end effector, 300...robot control device, 310...command generation unit, 320...position control unit, 330...velocity control unit, 345...filter setting unit, 350...torque control unit, 360...servo amplifier, 410...servo motor, 420...position sensor, 500...support base, 600...robot teaching device, 900...VRT filter processing unit, 900E...extended VRT filter processing unit, 910...first filter unit, 912...first band-elimination filter, 914...first low-pass filter, 920...second filter unit, 922...second band-elimination filter, 924...second low-pass filter, 930...switching unit, 940...combining unit, 961...subtractor, 962...adder, 963...off Set memory, P1...time interval during which the first process is performed, P2...time interval during which the second process is performed, PT...time interval during which the first process is performed and the second process is transitioned to, W01...workpiece, X11-X16...joint, f1...first target frequency, f2...second target frequency, fH12...cutoff frequency of the first band-stop filter, fH22...cutoff frequency of the second band-stop filter, fL12...cutoff frequency of the first band-stop filter, fL22...cutoff frequency of the second band-stop filter, fc14...cutoff frequency of the first low-pass filter, fc24...cutoff frequency of the second low-pass filter, x0...position command, xf1...first command, xf2...second command, xfo...filtered position command, xfoo...filtered position command
Claims
1. A robot, Arm and a motor that drives the arm; a control unit that controls the motor, The control unit a command generating unit that generates a position command; a filtering unit that filters the position command to generate a filtered command; a drive signal generating unit that generates a drive signal for the motor using the filtered command; The filter processing unit a first filter unit that performs processing to reduce a component of a first target frequency on a signal based on the position command, and generates a first command; a second filter unit that performs processing to reduce a component of a second target frequency on the signal based on the position command, and generates a second command; a switching unit that selectively inputs the position command generated by the command generating unit to the first filter unit and the second filter unit; a synthesis unit that generates the filtered command using a sum of a signal based on the first command and a signal based on the second command.
2. 2. The robot according to claim 1, the first filter unit includes a first band rejection filter that reduces components of the first target frequency and a first low pass filter; The second filter unit includes a second band rejection filter that reduces components of the second target frequency, and a second low pass filter.
3. 3. The robot according to claim 2, The first low-pass filter and the second low-pass filter have different cutoff frequencies.
4. 3. The robot according to claim 2, The first band-stop filter and the second band-stop filter have different cutoff frequencies.
5. 2. The robot according to claim 1, A robot, wherein resonance frequencies in the operation of the robot are set as the first target frequency and the second target frequency.
6. 2. The robot according to claim 1, In response to an input of an instruction to switch the filter processing, the switching unit: a process of inputting 0 as the position command to the second filter unit, and inputting the position command generated by the command generating unit to the first filter unit; a process of inputting 0 as the position command to the first filter unit, and inputting the position command generated by the command generating unit to the second filter unit; a position command generating unit configured to generate a position command for a robot, the position command being generated by the robot being selected by the command generating unit;
7. A motor unit, A motor and a control unit that controls the motor, The control unit a command generating unit that generates a position command; a filtering unit that filters the position command to generate a filtered command; a drive signal generating unit that generates a drive signal for the motor using the filtered command; The filter processing unit a first filter unit that performs processing to reduce a component of a first target frequency on a signal based on the position command, and generates a first command; a second filter unit that performs processing to reduce a component of a second target frequency on the signal based on the position command, and generates a second command; a switching unit that selectively inputs the position command generated by the command generating unit to the first filter unit and the second filter unit; a synthesis unit that generates the filtered command using a sum of a signal based on the first command and a signal based on the second command.
8. 8. The motor unit according to claim 7, the first filter unit includes a first band rejection filter that reduces components of the first target frequency and a first low pass filter; The motor unit, wherein the second filter section includes a second band rejection filter that reduces components of the second target frequency, and a second low pass filter.
9. 9. The motor unit according to claim 8, The first low-pass filter and the second low-pass filter have different cutoff frequencies.
10. 9. The motor unit according to claim 8, The first band-stop filter and the second band-stop filter have different cutoff frequencies.
11. 8. The motor unit according to claim 7, A motor unit, wherein the first target frequency and the second target frequency are set to resonance frequencies of a robot driven by the motor unit.
12. 8. The motor unit according to claim 7, In response to an input of an instruction to switch the filter processing, the switching unit: a process of inputting 0 as the position command to the first filter unit, and inputting the position command generated by the command generating unit to the second filter unit; a process of inputting 0 as the position command to the second filter unit, and inputting the position command generated by the command generating unit to the first filter unit; a motor unit that selectively inputs the position command generated by the command generating unit by selectively executing the above-mentioned steps.
13. A method for controlling a robot including an arm, a motor that drives the arm, and a control unit that controls the motor, comprising: generating a position command; filtering the position command to generate a filtered command; generating a drive signal for the motor using the filtered command; filtering the position command to generate a filtered command; a first filter unit that performs processing to reduce a component of a first target frequency on a signal based on the position command, and generates a first command; a second filter unit that performs processing to reduce a component of a second target frequency on the signal based on the position command, and generates a second command; selectively inputting the generated position command into the generating the filtered command using a sum of a signal based on the first command and a signal based on the second command.
Citation Information
Patent Citations
Control device of power device
JP2011115878A
Cited By
Ammonia synthesis system and ammonia production method
US12534375B2