Robot, robot control method, and recording medium

By combining a band-stop filter and a low-pass filter in the VRT filter processing unit, the cutoff frequency is adjusted according to user instructions, solving the problem of the existing technology that cannot take into account both the robot's motion position accuracy and processing time, and achieving vibration suppression and improved work efficiency.

CN120645184APending Publication Date: 2025-09-16SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510292080.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-14
Filing Date
2025-03-12
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

Existing technologies cannot reflect the user's priority intentions for position accuracy and processing time in robot actions, resulting in the inability to achieve appropriate operation decisions.

Method used

The VRT filter processing unit, which uses a combination of a band-stop filter and a low-pass filter, receives user instructions through the filter setting unit and adjusts the cutoff frequency of the low-pass filter to prioritize suppressing vibration of the robot arm or increasing movement speed, thereby generating an appropriate drive signal.

Benefits of technology

This achieves appropriate decision-making that balances position accuracy and processing time in robot movements, reduces robot vibration, and improves work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120645184A_ABST
    Figure CN120645184A_ABST
Patent Text Reader

Abstract

The invention relates to a robot, a control method of the robot, and a recording medium. The robot system includes: an arm; one or more motors that move the arm in accordance with a drive signal; a control unit that controls the motor; and an input unit. The control unit has one or more groups including: a filter processing unit that performs filter processing on the position command and generates a filter completion command; and a drive signal generation unit that generates a drive signal using the filter completion command. The filter processing unit is provided with: a band elimination filter; and a low pass filter capable of changing a cut-off frequency. When an instruction that the content of the operation speed should be prioritized is received, the cut-off frequency is set to a first frequency, and when an instruction that the vibration suppression of the arm and the content of the vibration suppression in the operation speed of the arm should be prioritized is received, the cut-off frequency is set to a second frequency lower than the first frequency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot, a method for controlling the robot, and a program for controlling the robot. Background Art

[0002] Conventional technologies exist for reducing residual vibration in robots. Patent Document 1 employs the following process: A first low-pass filter, a low-cutoff frequency low-pass filter, is applied to a speed command curve generated using a constant acceleration method with the maximum speed set. The acceleration and deceleration times are calculated. Acceleration and deceleration times are the same as acceleration and deceleration times. In a constant acceleration method, acceleration and deceleration times are the same. A second low-pass filter, a low-pass filter with a higher cutoff frequency, is applied to the speed command curve generated using the constant acceleration method. The acceleration and deceleration times are calculated. The acceleration and deceleration times are compared and adjusted until they are equal. The following process is repeated: generating the speed command curve generated using the constant acceleration method; calculating the acceleration and deceleration times when the first low-pass filter is applied; and calculating the acceleration and deceleration times when the second low-pass filter is applied. As a result, a speed command curve can be generated that is less likely to produce stop vibration, with the same deceleration time as when a low-pass filter with a higher cutoff frequency and a low-pass filter with a lower cutoff frequency are applied.

[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 2011-224694

[0004] However, the technology of Patent Document 1 does not reflect the user's preference for which of position accuracy and processing time to prioritize in the robot's operation. Therefore, the technology of Patent Document 1 cannot reflect the user's preference and determine an operation that achieves appropriate position accuracy and processing time for the robot's work. Summary of the Invention

[0005] The present disclosure has been made to solve at least a part of the above-mentioned problems and can be implemented as the following aspects.

[0006] According to one aspect of the present disclosure, a robot system is provided. The robot system includes: an arm; a motor that moves the arm in response to a drive signal; a control unit that controls the motor; and an input unit that receives an external instruction. The control unit includes: a filter processing unit that filters a position instruction and generates a filter completion instruction; and a drive signal generating unit that generates the drive signal using the filter completion instruction. The filter processing unit includes: a band-stop filter used for the filter processing; and a low-pass filter used for the filter processing and capable of changing a cutoff frequency. When the input unit receives an instruction that prioritizes movement speed over vibration suppression of the arm, the cutoff frequency is set to a first frequency. When the input unit receives an instruction that prioritizes movement speed over vibration suppression of the arm, the cutoff frequency is set to a second frequency lower than the first frequency. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 1 is an explanatory diagram showing a robot system 10 according to one embodiment.

[0008] Figure 2 1 is a block diagram showing the configurations of the robot 100 , the robot control device 300 , and the robot teaching device 600 .

[0009] Figure 3 This is a block diagram showing the relationship between the functional units of the robot control device 300 and the components of the robot 100 .

[0010] Figure 4 2 is a block diagram showing the configuration of the VRT filter processing unit 900 .

[0011] Figure 5 This is a flowchart for explaining the processing executed in the robot controller 300 .

[0012] Figure 6 Flowchart 1 is a flowchart showing the processing executed in the robot teaching device 600 and the robot control device 300 .

[0013] Figure 7 This is the image displayed on the display unit 602 of the robot teaching apparatus 600 in step S120 .

[0014] Figure 8 This is a diagram showing the state of operation in which the servo motors 410 of the joints X11 , X12 , and X13 are synchronously driven and arranged at the destination point.

[0015] Figure 9This is a graph when a low-pass filter 914 having a cutoff frequency smaller than fc1 is applied only to the position command of the joint X13.

[0016] Figure 10 This is a graph when a low-pass filter 914 having a cutoff frequency smaller than fc1 is applied only to the position command of the joint X11.

[0017] Figure 11 It is shown in Figure 6 FIG. 5 is a diagram showing a modified example of the user interface displayed on the display unit 602 of the robot teaching apparatus 600 in step S120 of FIG.

[0018] Figure 12 Flowchart 1 is a flowchart showing the processing executed in the robot teaching device 600 and the robot control device 300 .

[0019] Figure 13 12 is a diagram showing the user interface UI 20 displayed on the display unit 602 of the robot teaching apparatus 600 in step S120B.

[0020] Figure 14 : is a table showing the process of changing the cutoff frequency executed in step S136 and the result thereof.

[0021] Figure 15 It is shown in Figure 12 FIG. 1 is a diagram of the user interface UI 32 displayed on the display unit 602 of the robot teaching apparatus 600 in step S120B.

[0022] Figure 16 It is shown in Figure 12 FIG. 3 is a diagram of the user interface UI 34 displayed on the display unit 602 of the robot teaching apparatus 600 in step S120B.

[0023] Description of Reference Numerals

[0024] 10: Robot system; 100: Robot; 110: Arm; 120: Motor unit; 200: End effector; 300: Robot control unit; 306: CPU; 307: RAM; 308: ROM; 310: Command generation unit; 320: Position control unit; 330: Speed ​​control unit; 345: Filter setting unit; 350: Torque control unit; 360: Servo amplifier; 410: Servo motor; 420: Position sensor; 600: Robot teaching device; 602: Display unit; 604: Operation unit; 606: CPU; 607: RAM; 608: ROM; 90 0: VRT filter processing unit; 912: Band-stop filter; 914: Low-pass filter; Ins: Instruction; UI12: User interface; UI14: User interface; UI20: User interface; UI32: User interface; UI34: User interface; W01: Workpiece; X11~X16: Joints; fH: Cutoff frequency; fL: Cutoff frequency; fc: Cutoff frequency; fc0: Default cutoff frequency; fc1: First frequency; fc2: Second frequency; x0: Position instruction; xd: Drive signal; xfo: Filter completion instruction; Δfc: Difference in cutoff frequencies; Δp: Position deviation at the target location. DETAILED DESCRIPTION

[0025] A. First embodiment:

[0026] A1. Structure and operation of the first embodiment:

[0027] Figure 1 1 is an explanatory diagram showing a robot system 10 according to an embodiment. The robot system 10 according to this embodiment includes a robot 100 , an end effector 200 , a robot control device 300 , and a robot teaching device 600 .

[0028] The robot 100 is a six-axis robot having an arm 110. The arm 110 has six rotation joints X11 to X16 (see Figure 1 (upper section). Joints X11, X14, and X16 are torsion joints. Joints X12, X13, and X15 are bending joints. Servo motors 410 rotate the six joints X11 to X16, driving the arm 110 of the robot 100. Specifically, the six servo motors 410 move the arm 110 based on the drive signal xd. As a result, the end effector 200, mounted at the tip of the arm 110, can be positioned at a specified position in three-dimensional space with a specified posture.

[0029] The workpiece W01 is an object to be worked on by the robot 100 (see Figure 1 The workpiece W01 is placed on the support table 500.

[0030] The robot control device 300 is connected to the robot 100 via an interface (see Figure 1 The robot control device 300 controls the movement of the robot 100. More specifically, the robot control device 300 controls and drives the servo motor 410, which serves as an actuator and moves the joints X11 to X16 of the robot 100.

[0031] Figure 2 300 is a block diagram showing the configurations of the robot 100, the robot control device 300, and the robot teaching device 600. The robot control device 300 is a computer having a CPU 306 as a processor, a RAM 307, and a ROM 308 (see FIG. Figure 2 The RAM 307 includes a main memory (semiconductor memory) and a hard disk (auxiliary storage). The CPU 306 loads and executes computer programs stored on the hard disk into the main memory, thereby implementing various functions for controlling the robot. The robot control device 300 is connected to the robot teaching device 600 via an interface.

[0032] The robot controller 300 teaches the robot 100 the movements to be instructed via the robot teaching device 600. Before the robot 100 is actually put into operation, the robot teaching device 600 first teaches the robot's movements. The robot controller 300 stores the teaching results as data in the RAM 307. During the operation of the robot 100, the robot controller 300 controls the robot 100 based on the teaching results stored in the RAM 307.

[0033] The robot teaching device 600 receives external instructions related to the robot's movements (see Figure 1 (right portion of the lower section of the figure). The robot teaching device 600 is a computer equipped with a display unit 602 and an operation unit 604. The display unit 602 is capable of displaying information. Specifically, the display unit 602 is a liquid crystal display capable of displaying text and images. The operation unit 604 receives instructions from the user. Specifically, the operation unit 604 includes numeric keys for inputting numbers, cursor keys for specifying positions, and a confirmation key for confirming input.

[0034] The robot teaching device 600 includes a CPU 606 as a processor, a RAM 607, and a ROM 608 (see Figure 2 (see the lower section of the figure). RAM 607 includes a main memory (semiconductor memory) and a hard disk (auxiliary storage). CPU 606 loads and executes computer programs stored on the hard disk into the main memory, thereby implementing various functions for specifying the movements of robot 100. Robot teaching device 600 is connected to robot control device 300 via an interface.

[0035] The robot teaching device 600 can receive an instruction, for example, to prioritize the speed of the arm 110 over the vibration suppression of the arm 110. The robot teaching device 600 can receive an instruction to prioritize the speed of the arm 110 over the vibration suppression of the arm 110. The following describes displays and inputs on the robot teaching device 600.

[0036] The end effector 200 is mounted on the front end of the arm 110 (see Figure 1 The end effector 200 is controlled by the robot control device 300 to grasp the 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.

[0037] Figure 3 3 is a block diagram showing the relationship between the functional units of the robot control device 300 and the structural elements 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 300, a torque control unit 350, and a servo amplifier 360. Figure 3 The components of the robot controller 300 shown, as well as the servo motor 410 and the position sensor 420 of the robot 100 are collectively referred to as a “motor unit 120 ”.

[0038] A position sensor 420 (see FIG. 4 ) is attached to each servo motor 410 that drives each joint of the robot 100. Figure 3 The middle right part and Figure 2 The position sensor 420 detects the rotation position and rotation speed of the servo motor 410 and sends the detected information to the robot controller 300. The robot controller 300 performs feedback control using the output of the position sensor 420 (see Figure 3 the lower center of the ).

[0039] The command generation unit 310 generates a position command x0 indicating the target position where the end effector 200 should be located, and outputs the command to the VRT filter processing unit 900 (see Figure 3 In addition, the command generation unit 310 outputs a command indicating an action being performed by the robot 100 to the filter setting unit 345.

[0040] Before the robot 100 performs an operation, the filter setting unit 345 receives an instruction Ins (see FIG. 1 ) from the robot teaching device 600 regarding which of the vibration suppression of the arm 110 and the operation speed of the arm 110 should be prioritized. Figure 3 The upper left part and Figure 1 (lower right part of the ).

[0041] When the robot 100 is performing an action, the filter setting unit 345 receives a command indicating the action being performed from the command generating unit 310 (see Figure 3 The filter setting unit 345 generates and outputs a command indicating one or more frequencies to be removed from the position command x0 based on the command received from the command generating unit 310 and the instruction Ins received from the robot teaching device 600.

[0042] The VRT filter processing unit 900 receives the position instruction x0 (see Figure 3 (left middle section of the figure). The VRT filter processing unit 900 receives a command for the frequency to be removed from the filter setting unit 345. During the execution of the robot 100's movement, the VRT filter processing unit 900 performs filtering processing on the position command x0 output by the command generation unit 310 to remove the frequency component specified by the filter setting unit 345, and then 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.

[0043] Some of the frequency components removed by the VRT filter processing unit 900 are components of frequencies predetermined based on the command indicating the currently executing motion. These frequencies are the resonant frequencies of the robot 100 during the motion. Examples of the resonant frequencies of the robot 100 during the motion include (i) the resonant frequency of the robot 100 in its posture at the end of the motion, and (ii) the resonant frequency of the robot 100 at the end of the motion while holding the workpiece W01, if the robot 100 is holding the workpiece W01 at the end of the motion. This processing prevents the robot 100 from resonating due to the resonant frequencies at the end of the motion.

[0044] Furthermore, the VRT filter processing unit 900 also reduces components having frequencies greater than or equal to the designated frequency according to the instruction Ins. As a result, the robot 100 is further less likely to vibrate.

[0045] Hereinafter, in this specification, the technology that reduces resonance of a controlled object caused by a predetermined frequency component in commands such as position commands, torque commands, and speed commands by reducing that frequency is referred to as VRT (Vibration Reduction Technology). A specific configuration example of VRT filter processing unit 900 will be described below.

[0046] The position control unit 320 receives the position instruction x0 processed by the VRT filter processing unit 900 (see Figure 3 In addition, the position control unit 320 receives the rotational position of each servo motor 410 from the position sensor 420 of the robot 100 as position feedback. Based on this information, the position control unit 320 generates and outputs a speed command for each servo motor 410 of the robot 100.

[0047] The speed control unit 330 receives a speed instruction from the position control unit 320 (see Figure 3 In addition, the speed control unit 330 receives the rotational speed of each servo motor 410 from the position sensor 420 of the robot 100 as speed feedback. Based on the speed command and the rotational speed of each servo motor 410, the speed control unit 330 generates and outputs a torque command.

[0048] The torque control unit 350 receives a torque command from the speed control unit 330 (see Figure 3 (right middle section of the figure). Furthermore, the torque control unit 350 receives a feedback signal indicating the current supplied to each servo motor 410 from the servo amplifier 360. Based on the torque command and the current feedback signal from each servo motor 410, the torque control unit 350 determines the current supplied to each servo motor 410 and drives each servo motor 410 via the servo amplifier 360.

[0049] 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 generating unit that generates a drive signal for the servo motor as an actuator using the filter completion instruction xfo generated by the VRT filter processing unit 900 (see Figure 3 middle section).

[0050] exist Figure 3 In order to facilitate technical understanding, one motor unit 120 is shown. However, in the robot 100 of this embodiment, six sets of motor units 120 are provided for the six servo motors 410 that rotate the joints X11 to X16, respectively.

[0051] Figure 4 This is a block diagram showing the structure of the VRT filter processing unit 900 (see Figure 3 (left part of the middle section of the figure). The VRT filter processing unit 900 includes a band-stop filter 912 and a low-pass filter 914. Both the band-stop filter 912 and the low-pass filter 914 are used for filtering processing in the VRT filter processing unit 900.

[0052] By adopting such a structure, compared with the case where the VRT filter processing unit 900 does not have a low-pass filter, resonance can be further reduced in the operation of the servo motor 410 based on the filter completion instruction xfo obtained by reducing the component of the target frequency fe. However, compared with a band-stop filter, a low-pass filter causes a greater delay in the position command. Therefore, the adjustment of the characteristics of the low-pass filter applied to the position command has a greater impact on the cycle and vibration amount of the robot's operation.

[0053] The band-stop filter 912 reduces the component of the target frequency fe (refer to the left part of Figure 4 . More specifically, the band-stop filter 912 reduces the frequency components in the frequency band from the cut-off frequency fL to fH including the target frequency fe (fL < fe < fH) from the input signal. The cut-off frequencies fL and fH of the band-stop filter 912 are set according to the target frequency fe included in the instruction output from the filter setting unit 345.

[0054] The low-pass filter 914 reduces the frequency components higher than the cut-off frequency fc from the input signal (refer to the right part of Figure 4 . The cut-off frequency fc of the low-pass filter 914 can be changed. More specifically, according to the instruction Ins input via the robot teaching device 600 and the filter setting unit 345, the cut-off frequency fc of the low-pass filter 914 can be changed.

[0055] By adopting such a structure, in the setting of the cut-off frequency fc of the low-pass filter 914, the intention of the user can be reflected to generate the drive signal xd of the robot.

[0056] On the other hand, the cut-off frequencies fL and fH of the band-stop filter 912 are not changed according to the instruction Ins input to the robot teaching device 600 (refer to the left part of Figure 4 . In the present embodiment, by setting the target frequency fe reduced by the band-stop filter 912 as the resonance frequency of the robot, a drive signal xd can be generated such that the robot does not resonate significantly without depending on the instruction Ins of the user.

[0057] Figure 5 It is a flowchart for explaining the processing executed in the robot control device 300. The control method of the robot 100 is executed through the processing of Figure 5 . Before the processing of Figure 5 , the frequencies to be reduced in each action included in the operation that the robot 100 should execute are stored in the VRT filter processing unit 900 via the filter setting unit 345 (refer to the upper left part of Figure 3 ).

[0058] In order to facilitate understanding of the technology, the following description focuses on only one of the servo motors 410 configured at the six joints X11 to X16, and describes the generation of its drive signal. However, for the six servo motors 410 configured at the six joints X11 to X16, the simultaneous execution Figure 5 processing.

[0059] In step S220, the command generation unit 310 generates a position command x0 (see Figure 3 ).

[0060] In step S240, the VRT filter processing unit 900 performs filtering on the position instruction x0 and generates a filtering completion instruction xfo (see Figure 3 In this embodiment, in step S242, first, the band-stop filter 912 is applied to the position command x0. Thereafter, in step S244, the low-pass filter 914 is applied to the position command to which the band-stop filter 912 has been applied.

[0061] In step S260, the position control unit 320, the speed control unit 330, the torque control unit 350, and the servo amplifier 360 as the drive signal generating unit generate a drive signal xd (see FIG. 1 ) for the servo motor as the actuator using the filter completion instruction xfo generated by the VRT filter processing unit 900. Figure 3 middle section).

[0062] Figure 6 The robot 100 and the robot control device 300 are shown in FIG. Figure 5 Before the processing of the robot teaching device 600 and the robot control device 300, the processing flow chart (refer to Figure 1 (lower right part of the ).

[0063] In step S120, the robot teaching device 600 receives an instruction from the user (see Figure 1 The VRT filter processing unit 900 of the robot control device 300 receives the instruction Ins from the user via the robot teaching device 600 (see Figure 1 (lower right part of the ).

[0064] Figure 7 This is the image displayed on the display unit 602 of the robot teaching device 600 in step S120 (see Figure 1 The robot teaching device 600 displays the user interface UI12 on the display unit 602 .

[0065] The user interface UI12 is used to specify whether vibration suppression should be prioritized in the filtering process. Specifically, the user interface UI12 is a checkbox with the message "Prioritize vibration suppression." The robot teaching device 600 receives a user's instruction Ins via the user interface UI12 indicating whether vibration suppression should be prioritized.

[0066] Checking the checkbox, i.e., the UI 12, indicates that vibration suppression should be prioritized in filtering processing. Unchecking the UI 12 indicates that motion speed should be prioritized in filtering processing.

[0067] Specifically, the user can input an instruction Ins indicating that vibration suppression should be prioritized by operating the robot teaching device 600 on the user interface UI 12. On the other hand, the user can input an instruction Ins indicating that motion speed should be prioritized by operating the robot teaching device 600 on the user interface UI 12, indicating that vibration suppression should not be prioritized.

[0068] exist Figure 6 In step S140, the cutoff frequency of the low-pass filter 914 is set according to the instruction Ins. Specifically, the VRT filter processing unit 900 of the robot controller 300 performs the following processing.

[0069] In step S120 , when the instruction Ins indicating that priority should be given to the movement speed of the arm 110 or the movement speed of the arm 110 is received, the cutoff frequency of the low-pass filter 914 is set to the first frequency fc1 .

[0070] In step S120 , when the instruction Ins is received to prioritize vibration suppression of the arm 110 and vibration suppression in the movement speed of the arm 110 , the cutoff frequency of the low-pass filter 914 is set to a second frequency fc2 lower than the first frequency fc1 .

[0071] The six servo motors 410 disposed at the six joints X11 to X16 are simultaneously executed in step S140. Figure 6 In FIG. 4 , since the processing of step S140 is shown to be simultaneously executed for six servo motors 410 , a plurality of steps S140 are shown overlapped.

[0072] When prioritizing vibration suppression during robot operation, the robot's operating speed decreases. Consequently, the robot's operating cycle also lengthens. On the other hand, prioritizing the robot's operating speed or operating cycle increases the motor's acceleration and peak torque, making vibration more likely to occur. Furthermore, the amplitude of the generated vibration increases.

[0073] In this embodiment, the user selects fc1 and fc2 as the cutoff frequency of the low-pass filter 914, depending on whether a checkbox (UI12) is checked or not. As a result, the robot can be operated to achieve appropriate position accuracy and processing time corresponding to the work performed by the robot.

[0074] exist Figure 6 In step S140 , the six VRT filter processing units 900 corresponding to the six servo motors 410 set the cutoff frequencies of the six low-pass filters 914 to be equal to each other according to the instruction Ins input to the robot teaching device 600 .

[0075] Figure 8 This is a graph showing the state of operation in which the servo motors 410 of the joints X11 , X12 , and X13 are synchronously driven to move the end effector 200 in the tilt direction and position the end effector at the destination point. Figure 8 The actions shown are used, for example, when avoiding obstacles. Figure 8 The horizontal axis shows the angular positions of the joints X11 and X12. Figure 8 The vertical axis shows the angular position of the joint X13. The angular positions (0, 0, 0) of the servo motors 410 of the joints X11, X12, and X13 are the destination points.

[0076] exist Figure 8 In the example, a band-stop filter 912 (see FIG. 1 ) is applied to the position command of each servo motor 410 driving the joints X11, X12, and X13 to reduce the frequency component of the target frequency fe, which is the resonance frequency of the robot 100 in the operation. Figure 4 Furthermore, a low-pass filter 914 having the same cutoff frequency fc2 is applied to the position command of each servo motor 410 driving the joints X11, X12, and X13 (see Figure 4 ). Figure 8 As shown in the lower left portion of , since the servo motors 410 of the joints X11, X12, and X13 are driven and the movements are completed at the same timing, the joints X11, X12, and X13 are driven to the end and the movements are completed at the destination point.

[0077] Figure 9 is with Figure 8Regarding the same operation, this is a graph showing a case where a low-pass filter 914 having a cutoff frequency greater than fc2 is applied only to the position command of each servo motor 410 driving the joint X13. Figure 9 Other aspects of the examples shown are similar to Figure 8 The examples shown are the same. Figure 9 The horizontal axis shows the angular positions of the joints X11 and X12. Figure 9 The vertical axis shows the angular position of the joint X13. The angular positions (0, 0, 0) of the servo motors 410 of the joints X11, X12, and X13 are the destination points.

[0078] like Figure 9 As shown in the lower left portion of the figure, joint X13 reaches the target angular position before joints X11 and X12. Therefore, the end effector 200 does not perform an oblique movement in which the angular positions of all joints are displaced. Instead, it performs a movement that displaces only joints X11 and X12, as shown on the horizontal axis, and then terminates the movement. In such a situation, for example, if the end effector 200 begins descending too early, it may not be able to fully avoid an obstacle and may come into contact with it. Furthermore, if the end effector 200 terminates its descent too early, it may contact the surface of the object to be grasped or the support platform 500.

[0079] Figure 10 is with Figure 8 This graph shows the case where a low-pass filter 914 having a cutoff frequency greater than fc2 is applied to the position commands of the servo motors 410 driving the joint X11. A low-pass filter 914 having a cutoff frequency of fc2 is applied to the position commands of the servo motors 410 driving the joints X12 and X13. Figure 10 The horizontal axis shows the difference Δfc between the cutoff frequency of joints X12 and X13 and the cutoff frequency of joint X11. Figure 10 At the right end of , the difference between the cutoff frequencies of joints X12 and X13 and the cutoff frequency of joint X11 is zero. The further to the left, the larger the cutoff frequency of joint X11. Figure 10 The vertical axis shows the magnitude of the position deviation Δp at the target point. The position deviation Δp at the target point is the position deviation from the target point indicated by the position command x0 when the filtering process by the VRT filter processing unit 900 is not performed.

[0080] like Figure 10 As shown in the figure, the larger the difference Δfc between the cutoff frequency of joints X12 and X13 and the cutoff frequency of joint X11, the larger the position deviation Δp at the target point (refer to Figure 10 ).

[0081] In step S140 of the present embodiment, the six VRT filter processing units 900 corresponding to the six servo motors 410 set the cutoff frequencies of the six low-pass filters 914 to the same value according to the instruction input to the robot teaching device 600 .

[0082] By making such a setting, the position commands x0 of the plurality of servo motors 410 that move the arm 110 are processed in the same manner by the filtering process of each VRT filter processing unit 900. As a result, some of the plurality of servo motors 410 terminate their operation first, thereby reducing the possibility that the arm 110 will move along a trajectory different from the trajectory specified in the position command x0 (see Figures 8 to 10 ).

[0083] More specifically, in Figure 6 In step S140 , the cutoff frequency of the filtering process applied to the position command x0 of the six servo motors 410 is set as follows.

[0084] VRT filter processing unit 900 processes position command x0 for the main servo motor 410, which is the motor that operates most during the movement to be performed by arm 110, among the six servo motors 410. It sets the cutoff frequency of low-pass filter 914 based on instruction Ins input to robot teaching device 600. The main servo motor 410 that operates most during the movement to be performed by arm 110 can be determined based on position command x0 for each servo motor 410. The amount of movement of each servo motor 410 during a particular movement is the integrated value of the pulses applied to each motor during that movement.

[0085] The VRT filter processing units 900 of the servo motors 410 other than the main servo motor 410 among the six servo motors 410 set the cutoff frequency of the low-pass filter 914 to a value equal to the cutoff frequency of the low-pass filter 914 of the main servo motor 410 .

[0086] By performing such processing, as the movement of the arm 110 as a whole, the user can determine the movement that effectively reduces the vibration of the main servo motor 410 that works the most during the movement with a reasonable processing load and achieves appropriate position accuracy and processing time corresponding to the work performed by the robot.

[0087] The robot teaching device 600 of this embodiment is also referred to as an "input unit." The VRT filter processing unit 900 is also referred to as a "filter processing unit." The servo motor 410 is also referred to as a "motor." The main servo motor 410 is also referred to as a "main motor." The position control unit 320, speed control unit 330, torque control unit 350, and servo amplifier 360 are also referred to as a "drive signal generation unit." The robot controller 300 and the robot teaching device 600 are also referred to as a "computer."

[0088] Any servo motor 410 other than the master servo motor 410 is also referred to as a "second motor." The drive signal for any servo motor 410 other than the master servo motor 410 is also referred to as a "second drive signal." The position command for any servo motor 410 other than the master servo motor 410 is also referred to as a "second position command." The VRT filter processing unit 900 that filters the position command for any servo motor 410 other than the master servo motor 410 and generates a filter completion command is also referred to as a "second filter processing unit." The filter completion command xfo generated by filtering the position command for any servo motor 410 other than the master servo motor 410 is also referred to as a "second filter completion command." The band-stop filter 912 of the VRT filter processing unit 900 that generates the filter completion command for any servo motor 410 other than the master servo motor 410 is also referred to as a "second band-stop filter." The low-pass filter 914 of the VRT filter processing unit 900 that generates the filter completion command for any servo motor 410 other than the master servo motor 410 is also referred to as a "second low-pass filter." The position control unit 320 , speed control unit 330 , torque control unit 350 , and servo amplifier 360 that generate a drive signal using a filter completion command for any servo motor 410 other than the master servo motor 410 are also referred to as a “second drive signal generation unit”.

[0089] A2. Modification of the first embodiment:

[0090] Figure 11 It is shown in Figure 6 FIG2 is a diagram showing a modified example of the user interface displayed on the display unit 602 of the robot teaching apparatus 600 in step S120. In this modified example of the first embodiment, the robot teaching apparatus 600 displays the user interface UI14 on the display unit 602 in place of the user interface UI12 in step S120. Other aspects of this modified example of the first embodiment are the same as those of the first embodiment.

[0091] The user interface UI14 is a user interface for specifying the degree to which vibration suppression should be prioritized in filtering. Specifically, the user interface UI14 is a slider with "Vibration Suppression" displayed on the top and "Low" and "High" displayed on the left and right ends.

[0092] Configuring the slider, i.e., the user interface UI14, to the right of the center means that an instruction for the content that should be prioritized for vibration suppression in the filtering process is input to the robot teaching device 600. That is, the further to the right the slider is set in the user interface UI14, the stronger the instruction for the content that should suppress vibration is input to the robot teaching device 600. As a result, the further to the right the slider is set in the user interface UI14, the lower the cut-off frequency fc of the low-pass filter 914 is set.

[0093] Configuring the slider, i.e., the user interface UI14, to the left of the center means that an instruction for the content that should be prioritized for the operating speed in the filtering process is input to the robot teaching device 600. That is, the further to the left the slider is set in the user interface UI14, the stronger the instruction for the content that should prioritize the operating speed is input to the robot teaching device 600. As a result, the further to the left the slider is set in the user interface UI14, the higher the cut-off frequency fc of the low-pass filter 914 is set.

[0094] In a modification of the first embodiment, the cut-off frequency fcr set when the slider, i.e., the user interface UI14, is configured to the right of the center and an instruction for the content that should be prioritized for vibration suppression is given, is lower than the cut-off frequency fcl set when the slider is configured to the left of the center and an instruction for the content that should be prioritized for the operating speed is given (fcr < fcl). That is, the user interface UI14 functions as a user interface for specifying whether vibration suppression should be prioritized in the filtering process.

[0095] In such a manner, the user operates the robot teaching device 600 and specifies that vibration suppression should be prioritized, thereby being able to input an instruction for the content that should be prioritized for vibration suppression. Moreover, the user operates the robot teaching device 600 and specifies that vibration suppression should not be prioritized, thereby being able to input an instruction for the content that should be prioritized for the operating speed.

[0096] In a modification of the first embodiment, the cut-off frequency fcr set when the slider, i.e., the user interface UI14, is configured to the left of the center and an instruction for the content that should be prioritized for the operating speed is given is also referred to as the "first frequency". The cut-off frequency fcr set when the slider, i.e., the user interface UI14, is configured to the right of the center and an instruction for the content that should be prioritized for vibration suppression is given is also referred to as the "second frequency".

[0097] B: Second Embodiment:

[0098] B1. Operations of the Second Embodiment:

[0099] Figure 12 This shows the operations in the robot 100 and the robot control device 300 Figure 5Before the processing of the robot teaching device 600 and the robot control device 300, the processing flow chart (refer to Figure 1 (see the lower right portion of the figure). In the second embodiment, steps S120B and S140B are executed instead of steps S120 and S140. Furthermore, the process of step S130 is executed between steps S120B and S140B. The robot system 10 of the second embodiment is otherwise identical to the robot system 10 of the first embodiment.

[0100] In step S120B, the robot teaching device 600 first performs Figure 7 The robot teaching device 600 receives a designation from the user via the user interface UI12 as an instruction whether or not vibration suppression should be prioritized (see Figure 7 ).

[0101] When a check mark is placed in the “Vibration Suppression Priority” check box, ie, the user interface UI12 , to confirm input of an instruction to prioritize vibration suppression, the robot teaching apparatus 600 further displays the user interface UI20 on the display unit 602 .

[0102] Figure 13 FIG. 1 is a diagram showing the user interface UI 20 displayed on the display unit 602 of the robot teaching device 600 in step S120B (see FIG. Figure 1 The user interface UI20 is a user interface for specifying the permissible amount of vibration. Specifically, the user interface UI20 is an input window accompanied by the display of "permissible amount of vibration". As part of the instruction Ins of the content that should prioritize vibration suppression, the robot teaching device 600 accepts the specification of the permissible amount of vibration via the user interface UI20. Figure 13 In the example, 150 μm is specified as the allowable vibration amount.

[0103] With this approach, the user can operate the robot teaching device 600 to designate the priority of vibration suppression and further designate the permissible vibration amount, thereby determining the operation of the robot 100 .

[0104] exist Figure 12 In step S130, the robot teaching apparatus 600 determines the cutoff frequency fc to be set in the low-pass filter 914. Specifically, the robot teaching apparatus 600 performs the processing of steps S132 to S136.

[0105] In step S132, the robot teaching device 600 causes the robot control device 300 to perform a trial Figure 5 The processing of , makes the robot 100 move. Figure 12In the process of step S132, when the process is first executed, the robot teaching apparatus 600 sets the default cutoff frequency fc0 as the cutoff frequency fc of the low-pass filter 914. The robot teaching apparatus 600 measures the vibration amount at the end of the operation.

[0106] In step S134, the robot teaching device 600 determines whether the termination condition is satisfied. The termination condition is described below. If the termination condition is satisfied, the process proceeds to step S140B. If the termination condition is not satisfied, the process proceeds to step S136.

[0107] In step S136, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914. If the vibration amount of the initial test movement based on the default cutoff frequency fc0 is smaller than the permissible vibration amount input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to increase it. If the vibration amount of the initial test movement based on the default cutoff frequency fc0 is larger than the permissible vibration amount input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to decrease it. The same process is applied to the second and subsequent steps of step S136. After this, the process returns to step S132.

[0108] Figure 14 This is a table showing the process of changing the cutoff frequency performed in step S136 and its results. The first row shows the coefficient multiplied by the default cutoff frequency fc0 in the temporary setting of the cutoff frequency in step S136. The second row shows the cycle of the action performed as a result. The cycle is the time from the start time of the action in the position instruction x0 to the end time of the action. The third row shows the overshoot of the executed action. Overshoot refers to the distance that the control point travels beyond the destination point due to vibration during the action. Overshoot is usually the maximum value of the vibration amount. The fourth row shows the peak torque in the executed action.

[0109] according to Figure 14 The larger the coefficient multiplied by the default cutoff frequency fc0, that is, the larger the temporarily set cutoff frequency, the shorter the period. The larger the coefficient multiplied by the cutoff frequency fc0, the greater the overshoot. The larger the coefficient multiplied by the cutoff frequency fc0, the greater the peak torque.

[0110] If the vibration amount of the initial test movement based on the default cutoff frequency fc0 is smaller than the permissible vibration amount, the robot teaching device 600 increases the cutoff frequency fc of the low-pass filter 914 in step S136 as follows. The robot teaching device 600 sets the cutoff frequency fc to 1.1 times the default cutoff frequency fc0 in the first step S136 (see Figure 14 In the second step S136, the robot teaching device 600 sets the cutoff frequency fc to 1.2 times the default cutoff frequency fc0. Similarly, in step S136, the coefficient multiplied by the cutoff frequency fc0 is increased by 0.1.

[0111] exist Figure 14 In the example, the vibration amount of the initial experimental operation based on the default cutoff frequency fc0 is 60 μm corresponding to the coefficient 1.0. That is, it is smaller than the common vibration amount of 150 μm input in step S120B (see Figure 13 ). Therefore, the robot teaching device 600 increases the cutoff frequency fc of the low-pass filter 914 by 0.1.

[0112] If the vibration amount of the initial test movement based on the default cutoff frequency fc0 is larger than the permissible vibration amount, the robot teaching device 600 reduces the cutoff frequency fc of the low-pass filter 914 in step S136 as follows. The robot teaching device 600 sets the cutoff frequency fc to 0.95 times the default cutoff frequency fc0 in the first step S136 (see Figure 14 (The upper center portion of the figure). In step S136, the robot teaching device 600 sets the cutoff frequency fc to 0.9 times the default cutoff frequency fc0. Similarly, in step S136, the coefficient multiplied by the cutoff frequency fc0 is reduced by 0.05. The magnitude of the cutoff frequency reduction is smaller than the magnitude of the cutoff frequency increase.

[0113] In step S134 executed after the processing of steps S136 and S132 , the robot teaching apparatus 600 determines whether or not the end condition is satisfied.

[0114] When the vibration amount of the initial experimental action based on the default cutoff frequency fc0 is smaller than the allowable vibration amount input in step S120B, the termination condition refers to the cutoff frequency, i.e., the first frequency fc1, when the vibration amount of the experimental action finally performed in step S132 is larger than the allowable vibration amount input in step S120B, or the cutoff frequency exceeds the priority action speed.

[0115] If the end condition is satisfied, the cutoff frequency fc of the low-pass filter 914 is restored to the cutoff frequency that was temporarily set immediately before the cutoff frequency that was temporarily set at this time, and the process proceeds to step S140B.

[0116] exist Figure 14 In the example, when the coefficient is 1.3, the vibration exceeds the permissible vibration of 150 μm. Therefore, the robot teaching device 600 returns the cutoff frequency fc of the low-pass filter 914 to 1.2 times the default cutoff frequency fc0 and proceeds to step S140B.

[0117] By performing such processing, in the second embodiment, when the checkbox, i.e., the user interface UI12 is checked and an instruction is given to prioritize vibration suppression, the cutoff frequency set is lower than the cutoff frequency fc1 set when an instruction is given to prioritize motion speed.

[0118] If the vibration amount of the initial test movement based on the default cutoff frequency fc0 is greater than the permissible vibration amount input in step S120B, the termination condition is that the vibration amount of the final test movement executed in step S132 is less than the permissible vibration amount input in step S120B. If the termination condition is met, the process proceeds to step S140B.

[0119] In step S140B, the robot teaching apparatus 600 determines the cutoff frequency temporarily set at this time as the cutoff frequency fc to be set in the low-pass filter 914 during the operation of the robot 100 .

[0120] By performing such processing, the robot can be made to reflect the user's intention regarding the vibration amount and to achieve appropriate position accuracy and processing time corresponding to the work performed by the robot. For example, when 100 μm is specified as the allowable vibration amount, a frequency 1.1 times the default cutoff frequency fc0 is set as the cutoff frequency (see Figure 14 When 300 μm is specified as the permissible vibration amount, a frequency 1.4 times the default cutoff frequency fc0 is set as the cutoff frequency (see Figure 14 When 50 μm is specified as the permissible vibration amount, a frequency 0.95 times the default cutoff frequency fc0 is set as the cutoff frequency (see Figure 14 (lower left part of the ).

[0121] B2. Modification of the second embodiment:

[0122] (1) Modification 1 of the second embodiment:

[0123] The robot system of the second embodiment can also be configured as described below. Below, the robot system of Modification 1 of the second embodiment will be described in terms of differences from the robot system 10 of the second embodiment. The robot system of Modification 1 of the second embodiment is otherwise identical to the robot system of the second embodiment.

[0124] In the first modification of the second embodiment, Figure 12 In step S120B, when the checkbox of “prioritize vibration suppression”, ie, the user interface UI12 , is not checked and the instruction to prioritize the motion speed is input, the robot teaching apparatus 600 further displays the user interface UI32 on the display unit 602 .

[0125] Figure 15 It is shown in Figure 12 FIG. 32 of the user interface UI32 displayed on the display unit 602 of the robot teaching device 600 in step S120B (see Figure 1 The user interface UI32 is a user interface for specifying an allowable cycle. Specifically, the user interface UI32 is an input window with the display of "cycle". As part of the instruction of the content that should prioritize the motion speed, the robot teaching device 600 accepts the specification of the allowable cycle through the user interface UI32. Figure 15 In the example, 18 seconds is specified as the allowable period.

[0126] exist Figure 12 In step S132, the robot teaching device 600 causes the robot control device 300 to perform a trial Figure 5 The processing of , makes the robot 100 move. Figure 12 In the process of step S132, when the process is first executed, the robot teaching apparatus 600 sets the default cutoff frequency fc0 as the cutoff frequency fc of the low-pass filter 914. The robot teaching apparatus 600 measures the cycle of the motion.

[0127] In step S134, the robot teaching device 600 determines whether the termination condition is satisfied. The termination condition is described below. If the termination condition is satisfied, the process proceeds to step S140B. If the termination condition is not satisfied, the process proceeds to step S136.

[0128] In step S136, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914. If the period of the initial test movement based on the default cutoff frequency fc0 is longer than the permissible period input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to increase it. If the period of the initial test movement based on the default cutoff frequency fc0 is shorter than the permissible period input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to decrease it. The same process applies to the second and subsequent steps of step S136. After this, the process returns to step S132.

[0129] In the first modification of the second embodiment, the manner of increasing the cutoff frequency and the manner of decreasing the cutoff frequency in step S136 are the same as those in the second embodiment.

[0130] In step S134 executed after the processing of steps S136 and S132 , the robot teaching apparatus 600 determines whether or not the end condition is satisfied.

[0131] If the cycle of the initial test operation based on the default cutoff frequency fc0 is greater than the permissible cycle input in step S120B, the termination condition is that the cycle of the final test operation executed in step S132 is less than the permissible cycle input in step S120B. If the termination condition is satisfied, the process proceeds to step S140B.

[0132] If the cycle of the initial test operation based on the default cutoff frequency fc0 is shorter than the permissible cycle input in step S120B, the termination condition is as follows. Specifically, the termination condition is that the cycle of the final test operation executed in step S132 exceeds the permissible cycle input in step S120B, or the cutoff frequency falls below the second frequency fc2, which is the cutoff frequency for prioritizing vibration suppression. If the termination condition is met, the cutoff frequency fc of low-pass filter 914 is restored to the previously temporarily set cutoff frequency, and processing proceeds to step S140B.

[0133] In step S140B, the robot teaching apparatus 600 determines the cutoff frequency temporarily set at this time as the cutoff frequency fc to be set in the low-pass filter 914 during the operation of the robot 100 .

[0134] By performing such processing, in the first modification of the second embodiment, when the checkbox, i.e., the user interface UI12 , is not checked but an instruction is given to prioritize the motion speed, the cutoff frequency fc2 set is higher than the cutoff frequency fc2 set when an instruction is given to prioritize vibration suppression.

[0135] In a modified example of the second embodiment, by Figure 15 Through the processing shown, the user can operate the robot teaching device 600 to specify the cycle of the work to be performed by the robot system 10 and determine the robot's operation. Furthermore, through the processing of step S130, the robot can be caused to perform operations that reflect the user's intention regarding the cycle and achieve appropriate position accuracy and processing time corresponding to the work to be performed by the robot.

[0136] (2) Modification 2 of the second embodiment:

[0137] The robot system of the second embodiment can also be configured as described below. Below, the robot system of Variation 2 of the second embodiment will be described in terms of differences from the robot system of Variation 1 of the second embodiment. The robot system of Variation 2 of the second embodiment is otherwise identical to the robot system of Variation 1 of the second embodiment.

[0138] In the second modification of the second embodiment, Figure 12 In step S120B, when the checkbox of “prioritize vibration suppression”, ie, the user interface UI12 , is not checked and the instruction to prioritize the motion speed is input, the robot teaching apparatus 600 further displays the user interface UI34 on the display unit 602 .

[0139] Figure 16 It is shown in Figure 12 FIG. 34 of the user interface UI 34 displayed on the display unit 602 of the robot teaching device 600 in step S120B (see Figure 1 The user interface UI34 is a user interface for specifying the maximum value of the permissible motion speed. Specifically, the user interface UI34 is an input window accompanied by the display of "motion speed". As part of the instruction of the content that should prioritize the motion speed, the robot teaching device 600 accepts the specification of the permissible motion speed via the user interface UI34. Figure 15 In the example, 600 pulses / second is specified as the maximum allowable motion speed.

[0140] exist Figure 12 In step S132, the robot teaching device 600 causes the robot control device 300 to perform a trial Figure 5The robot 100 is moved by the processing. The robot teaching device 600 measures the maximum value of the movement speed during the movement. The other aspects of the processing of step S132 in the second modification of the second embodiment are the same as the processing of step S132 in the first modification of the second embodiment.

[0141] In step S134, the robot teaching device 600 determines whether the termination condition is satisfied. The termination condition is described below. If the termination condition is satisfied, the process proceeds to step S140B. If the termination condition is not satisfied, the process proceeds to step S136.

[0142] In step S136, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914. If the maximum motion speed of the initial test movement based on the default cutoff frequency fc0 is greater than the maximum permissible motion speed input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to increase it. If the maximum motion speed of the initial test movement based on the default cutoff frequency fc0 is less than the maximum permissible motion speed input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in step S136 to decrease it. The same process is repeated in the second and subsequent steps of step S136. After this, the process returns to step S132.

[0143] In the second modification of the second embodiment, the manner of increasing the cutoff frequency and the manner of decreasing the cutoff frequency in step S136 are the same as those in the second embodiment.

[0144] In step S134 executed after the processing of steps S136 and S132 , the robot teaching apparatus 600 determines whether or not the end condition is satisfied.

[0145] If the maximum motion speed of the initial test motion based on the default cutoff frequency fc0 is greater than the maximum permissible motion speed input in step S120B, the termination condition is that the maximum motion speed of the final test motion executed in step S132 is lower than the maximum permissible motion speed input in step S120B. If the termination condition is satisfied, the process proceeds to step S140B.

[0146] If the maximum speed of the initial test movement based on the default cutoff frequency fc0 is lower than the maximum permissible speed input in step S120B, the termination condition is as follows. Specifically, the termination condition is that the maximum speed of the final test movement executed in step S132 exceeds the maximum permissible speed input in step S120B, or the cutoff frequency falls below the second frequency fc2, which is the cutoff frequency for prioritizing vibration suppression. If the termination condition is met, the cutoff frequency fc of low-pass filter 914 is restored to the previously temporarily set cutoff frequency, and processing proceeds to step S140B.

[0147] In step S140B, the robot teaching apparatus 600 determines the cutoff frequency temporarily set at this time as the cutoff frequency fc to be set in the low-pass filter 914 during the operation of the robot 100 .

[0148] In the second modification of the second embodiment, Figure 16 Through the processing shown, the user can operate the robot teaching device 600 to specify the operating speed of the servo motor 410 and determine the robot's operation. Furthermore, through the processing of step S130, the robot can be made to operate in a manner that reflects the user's intention regarding the operating speed of the servo motor 410 and achieves appropriate positioning accuracy and processing time corresponding to the work to be performed by the robot.

[0149] C. Other implementation methods:

[0150] C1: Other implementation methods 1:

[0151] (1) In the first embodiment, the six joints X11 to X16 are rotated by the servo motors 410 to drive the arm 110 of the robot 100 (see Figure 1-Figure 3 However, the robot arm can also be driven by rotating one joint with one servo motor. Furthermore, the number of joints and servo motors can range from two to five, or even seven or more.

[0152] (2) In the first embodiment, the VRT filter processing unit 900 performs filtering on the position instruction x0 generated by the instruction generation unit 310 during the execution of the robot 100's motion, and generates a filtering completion instruction xfo (see Figure 3 The middle left part and Figure 5 The filtering process in the filtering unit can be performed on the command position generated by the command generation unit, or on the command generated by performing certain processing on the command position generated by the command generation unit. In this specification, such an approach is also included in "filtering the position command and generating a filtered command."

[0153] (3) In the first embodiment, in step S242, first, the band-stop filter 912 is applied to the position command x0. Thereafter, in step S244, the low-pass filter 914 (see Figure 4 as well as Figure 5 ). However, it is also possible to first apply a low-pass filter to the command position and then apply a band-stop filter.

[0154] (4) In the first embodiment described above, the VRT filter processing unit 900 includes a band-stop filter 912 and a low-pass filter 914. However, the filter processing unit may also include multiple band-stop filters. One or more band-stop filters may also include notch filters that reduce frequency components with a narrower amplitude than a narrow band-stop filter. In this specification, the term "band-stop filter" is used to include so-called notch filters. The filter processing unit may also include multiple low-pass filters. The order in which these filters are applied to the position command can be set to any order.

[0155] (5) In the first modification of the second embodiment, the robot teaching device 600 displays the user interface UI 32 and receives an input of an allowable cycle (see Figure 15 In the second modification of the second embodiment, the robot teaching device 600 displays the user interface UI34 and receives the input of the maximum value of the permissible motion speed (see Figure 16 However, the robot teaching device 600 can display both of them and receive input of at least one of the maximum value of the allowable cycle and the allowable motion speed.

[0156] (6) In the second embodiment, when the vibration amount of the initial experimental operation based on the default cutoff frequency fc0 is smaller than the permissible vibration amount input in step S120B, the robot teaching device 600 changes the cutoff frequency fc of the low-pass filter 914 in a direction of increasing it in step S136 (see Figure 12 If the vibration amount of the initial experimental operation based on the default cutoff frequency fc0 is larger than the permissible vibration amount input in step S120B, the robot teaching apparatus 600 changes the cutoff frequency fc of the low-pass filter 914 in a direction to decrease in step S136.

[0157] If the vibration amount during the initial test motion based on the default cutoff frequency fc0 is equal to the allowable vibration amount input in step S120B, the robot teaching device 600 may increase or decrease the cutoff frequency fc of the low-pass filter 914 in step S136. However, in the repeated execution of step S136, it is preferable to always increase or decrease the cutoff frequency fc of the low-pass filter 914. This also applies to the modified example of the second embodiment. Furthermore, the reduction in the cutoff frequency fc may be equal to or greater than the increase in the cutoff frequency fc.

[0158] (7) In the second embodiment, the robot teaching device 600 displays the user interface UI 20 and receives an input of the permissible vibration amount (see Figure 13 In the first modification of the second embodiment, the robot teaching device 600 displays the user interface UI32 and receives an input of an allowable cycle (see Figure 15 In the second modification of the second embodiment, the robot teaching device 600 displays the user interface UI34 and receives an input of the maximum value of the permissible motion speed (see Figure 16 ). However, instead of these, the robot teaching device 600 may also display a user interface for receiving an input of the allowable peak torque, and receive an input of the allowable peak torque (see Figure 14 ).

[0159] (8) In the second embodiment, the user interface UI20 is a user interface for designating the permissible vibration amount. Specifically, the user interface UI20 is an input window with the display of “permissible vibration amount” (see Figure 13 In the first modification of the second embodiment, the user interface UI32 is a user interface for specifying an allowable period. Specifically, the user interface UI32 is an input window with the display of "period" (see Figure 15 In the second modification of the second embodiment, the user interface UI34 is a user interface for specifying the maximum value of the permissible motion speed. Specifically, the user interface UI34 is an input window with the display of "motion speed" (see Figure 16 ).

[0160] However, instead of these input windows, a slider for designating the degree of the permissible vibration amount, the degree of the permissible period, or the degree of the permissible motion may be displayed as the user interface.

[0161] (9) In the first embodiment, the VRT filter processing unit 900 includes a set of a band-stop filter 912 and a low-pass filter 914 (see Figure 4 ). However, the filter processing unit may include a plurality of sets of band-stop filters and low-pass filters and switch between these sets for use.

[0162] In this embodiment, the filter processing unit can include a first filter unit, a second filter unit, a switching unit, and a synthesizing unit. The first filter unit processes the signal based on the position command to reduce the component of the first target frequency and generates a first command. The second filter unit processes the signal based on the position command to reduce the component of the second target frequency and generates a second command. The switching unit selectively inputs the position command generated by the command generating unit to the first filter unit and the second filter unit. The synthesizing unit uses the sum of the signal based on the first command and the signal based on the second command to generate a filtering completion command.

[0163] In such a manner, a filtering completion instruction is generated using the sum of a signal based on the first instruction and a signal based on the second instruction, and on the other hand, the position instruction generated by the instruction generation unit is selectively input into the first filter unit and the second filter unit, thereby enabling the frequency of the vibration to be reduced to be switched quickly.

[0164] In the robot of the above aspect, the switching unit can selectively perform the following processing based on input of an instruction to switch the content of the filtering process, thereby selectively inputting the position command generated by the command generating unit: (i) Processing in which 0 is input to the second filtering unit as the position command and the position command generated by the command generating unit is input to the first filtering unit. (ii) Processing in which 0 is input to the first filtering unit as the position command and the position command generated by the command generating unit is input to the second filtering unit.

[0165] By adopting this configuration, the filter processing can be easily switched by switching the position commands input to the first filter unit and the second filter unit.

[0166] C2: Other implementation methods 2:

[0167] In the first embodiment, the robot teaching device 600 displays the user interface UI12 (see Figure 7 as well as Figure 6 The user interface UI12 is a user interface for specifying whether vibration suppression should be prioritized in the filtering process. In the modified example of the first embodiment described above, the robot teaching device 600 displays the user interface UI14 on the display unit 602 (see Figure 11 as well as Figure 6 The user interface UI 14 functions as a user interface for designating whether or not vibration suppression should be prioritized in the filtering process.

[0168] However, the technology disclosed herein can also be configured such that a user interface for specifying whether or not vibration suppression should be prioritized in such filtering processing is not displayed. For example, instead of displaying the user interface UI12 or the user interface UI14, one or more of the user interfaces UI20, UI32, and UI34 can be displayed, and input of one or more of the maximum values ​​of the permissible vibration amount, permissible period, and permissible motion speed can be received (see Figure 13 、 Figure 15 as well as Figure 16 In this method, the cutoff frequency fc of the low-pass filter 914 is not limited to the first frequency fc1 and the second frequency fc2, but can be set according to the maximum value of the allowable vibration amount, the allowable period, or the allowable motion speed. In this method, as a result, the input numerical value specifies whether vibration suppression should be prioritized.

[0169] C3: Other implementation methods 3:

[0170] In the second embodiment, when a check box is added to the user interface UI12, which is a check box of “prioritize vibration suppression”, the robot teaching device 600 further displays the user interface UI20 (see FIG. Figure 13 ). The user interface UI20 is a user interface for specifying the permissible vibration amount. However, as shown in the first embodiment, the modified example of the first embodiment, and the modified example of the second embodiment, the technology disclosed in the present invention can also be set to a method in which the user interface for specifying the permissible vibration amount is not displayed (see Figure 15 as well as Figure 16 ).

[0171] C4: Other implementation methods 4:

[0172] In the first modification of the second embodiment, Figure 12 In step S120B, if the check box of the user interface UI12 of “prioritize vibration suppression” is not checked, the robot teaching apparatus 600 displays the user interface UI32 on the display unit 602 (see Figure 15 ). The user interface UI32 is a user interface for specifying an allowable period.

[0173] In the second modification of the second embodiment, Figure 12 In step S120B, if the check box of the user interface UI12 of “prioritize vibration suppression” is not checked, the robot teaching apparatus 600 displays the user interface UI34 on the display unit 602 (see Figure 16 ). The user interface UI34 is a user interface for specifying the maximum value of the permissible motion speed.

[0174] However, as shown in the first embodiment, the modified example of the first embodiment, and the second embodiment, the technology disclosed in the present invention can also be configured such that a user interface for designating the operating speed of the motor or the cycle of the operation to be performed by the robot system is not displayed (see Figure 13 ).

[0175] C5: Other implementation methods 5:

[0176] In the first embodiment, the six VRT filter processing units 900 corresponding to the six servo motors 410 set the cutoff frequencies of the six low-pass filters 914 to be equal to each other according to the instruction Ins input to the robot teaching device 600 (see FIG. Figure 6 However, the multiple filter processing units corresponding to the multiple servo motors may independently set the cutoff frequency of each low-pass filter based on the instruction input to the input unit. In this way, the cutoff frequency of the low-pass filter can be set based on the characteristics of each joint and the arm portion connected to the joint.

[0177] C6: Other implementation methods 6:

[0178] In the first embodiment described above, the VRT filter processing unit 900, which processes the position command x0 for the main servo motor 410, which performs the most work in the movement to be performed by the arm 110, sets the cutoff frequency of the low-pass filter 914 based on the instruction Ins input to the robot teaching device 600. The VRT filter processing units 900 of the other servo motors 410 set the cutoff frequency of the low-pass filter 914 to a value equal to the cutoff frequency of the low-pass filter 914 of the main servo motor 410. However, the cutoff frequency of the low-pass filter 914 of each servo motor 410 may be determined by other methods.

[0179] For example, when the robot is controlling a line, the motor closest to the robot's base can be designated as the master motor among the multiple motors in the drive arm, regardless of the motion of each motor. When the robot is controlling an arc, one or more motors, including the motor closest to the end effector, can be designated as the master motor among the multiple motors in the drive arm, regardless of the motion of each motor.

[0180] C7: Other implementations 7:

[0181] In the above embodiment, the cutoff frequencies fL and fH of the band rejection filter 912 are not changed according to the instruction Ins input to the robot teaching device 600 (see Figure 3However, the cutoff frequencies fL and fH of the band-stop filter 912 may be changed according to an instruction Ins input to the robot teaching device 600. In addition, the cutoff frequencies fL and fH may be changed according to other instructions.

[0182] D.Other methods:

[0183] The present disclosure is not limited to the above-mentioned embodiments and can be implemented in various ways without departing from its purpose. For example, the present disclosure can also be implemented in the following ways. The technical features in the above-mentioned embodiments corresponding to the technical features in each of the methods described below can be appropriately replaced or combined in order to solve part or all of the problems of the present disclosure or to achieve part or all of the effects of the present disclosure. In addition, as long as the technical features are not described as being necessary in this specification, they can be appropriately deleted.

[0184] (1) According to one embodiment of the present disclosure, a robot system is provided. The robot system includes: an arm; a motor that moves the arm according to a drive signal; a control unit that controls the motor; and an input unit that receives an instruction from the outside. The control unit includes: a filter processing unit that performs filter processing on a position instruction and generates a filter completion instruction; and a drive signal generating unit that uses the filter completion instruction to generate the drive signal. The filter processing unit includes: a band-stop filter used for the filter processing; and a low-pass filter used for the filter processing, which can change the cutoff frequency. When an instruction is received through the input unit that the vibration suppression of the arm and the movement speed of the arm should be given priority, the cutoff frequency is set to a first frequency. When an instruction is received through the input unit that the vibration suppression of the arm and the movement speed of the arm should be given priority, the cutoff frequency is set to a second frequency lower than the first frequency.

[0185] With this approach, the user can adjust the cutoff frequency of the low-pass filter to cause the robot to operate in a manner that reflects the user's intention and achieves appropriate position accuracy and processing time corresponding to the work to be performed by the robot.

[0186] (2) In the robot system of the above-described embodiment, the input unit may include a display unit capable of displaying information, a user interface for designating whether or not vibration suppression should be prioritized in the filtering process may be displayed on the display unit, and a designation of whether or not vibration suppression should be prioritized may be accepted as at least part of the instruction via the user interface.

[0187] With this method, the user can input an instruction to prioritize vibration suppression by operating the input unit and specifying that vibration suppression should be prioritized, and can input an instruction to prioritize motion speed instead of vibration suppression by operating the input unit and specifying that motion speed should be prioritized.

[0188] (3) In the robot system of the above aspect, the input unit may be configured to display a user interface for designating an allowable vibration amount on the display unit, and to accept the designation of the allowable vibration amount via the user interface as at least part of an instruction regarding which vibration suppression should be prioritized.

[0189] According to this embodiment, the user can operate the input unit to designate the priority of vibration suppression and the permissible vibration amount, thereby determining the operation of the robot.

[0190] (4) In the robot system of the above-mentioned method, it can be set as follows: the input unit has a display unit that can display information, a user interface for specifying at least one of the movement speed of the motor and the cycle of the operation performed by the robot system can be displayed on the display unit, and at least one of the movement speed of the motor and the cycle of the operation performed by the robot system can be accepted through the user interface as at least part of the indication of the content that should prioritize the movement speed.

[0191] According to this embodiment, the user can operate the input unit to designate at least one of the operating speed of the motor and the cycle of the work to be performed by the robot system, thereby determining the operation of the robot.

[0192] (5) In the robot system of the above-mentioned method, it can be set as follows: further comprising a second motor for moving the arm according to a second drive signal, the control unit further controlling the second motor, the control unit further comprising: a second filtering unit for filtering the second position instruction and generating a second filtering completion instruction; and a second drive signal generating unit for generating the second drive signal using the second filtering completion instruction, the second filtering unit comprising: a second band-stop filter for use in the second filtering process of the filtering unit; and a second low-pass filter for use in the filtering process of the second filtering unit and capable of changing a cutoff frequency, the second filtering unit setting the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter according to the instruction input to the input unit.

[0193] With this method, the position command for the motor that moves the arm and the position command for the second motor are processed identically by the filtering unit and the second filtering unit. As a result, one of the motor and the second motor ends its operation first, reducing the possibility of the arm moving along a trajectory different from the trajectory specified in the position command.

[0194] (6) In the robot system of the above-mentioned method, it can be set as follows: the motor is a main motor that works the most in the action that the arm should perform, the filter processing unit sets the cutoff frequency of the low-pass filter according to the instruction input to the input unit, and the second filter processing unit sets the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

[0195] According to this aspect, the user can determine, as the entire arm operation, an operation that achieves appropriate position accuracy and processing time corresponding to the work to be performed by the robot.

[0196] (7) In the robot system of the above aspect, the filter processing unit may not change the cutoff frequency of the band-stop filter in accordance with the instruction input to the input unit.

[0197] This approach allows the user's preferences to be reflected in the low-pass filter's cutoff frequency setting, allowing the robot's drive signal to be generated. Furthermore, by setting the band-stop filter's cutoff frequency to the robot's resonant frequency, it is possible to generate a drive signal that minimizes significant robot resonance, independent of user preferences.

[0198] (8) Another aspect of the present disclosure provides a control method for a robot having an arm and a motor that moves the arm according to a drive signal. The control method includes a drive signal generation step for the motor, which performs the following steps: a step of filtering a position instruction and generating a filter completion instruction; and a step of generating the drive signal using the filter completion instruction. The step of filtering the position instruction and generating the filter completion instruction includes a step of applying a band-stop filter and a low-pass filter capable of changing the cutoff frequency to the position instruction. The control method includes: a step of receiving an instruction from the outside; and a step of setting the cutoff frequency of the low-pass filter before applying the low-pass filter to the position instruction according to the instruction. The step of setting the cutoff frequency of the low-pass filter is a step of setting the cutoff frequency of the low-pass filter to a first frequency when an instruction is received that the vibration suppression of the arm should be prioritized over the movement speed of the arm; and setting the cutoff frequency to a second frequency lower than the first frequency when an instruction is received that the vibration suppression of the arm should be prioritized over the movement speed of the arm.

[0199] According to this embodiment, the user can generate a drive signal that realizes appropriate position accuracy and processing time corresponding to the work to be performed by the robot as the operation of the robot.

[0200] (9) In the control method of the robot of the above-mentioned embodiment, it can be set as follows: the process of receiving the instruction from the outside includes the following steps: the process of displaying a user interface for specifying whether vibration suppression should be prioritized in the filtering process on the display unit; and the process of accepting the designation of whether vibration suppression should be prioritized as at least part of the instruction via the user interface.

[0201] According to this aspect, the user can input an instruction to prioritize vibration suppression by specifying that vibration suppression should be prioritized, and can input an instruction to prioritize motion speed by specifying that vibration suppression should not be prioritized.

[0202] (10) In the control method of the robot of the above-mentioned embodiment, it can be set as follows: the process of receiving the instruction from the outside includes the following steps: the process of displaying a user interface for specifying the allowable vibration amount on the display unit; and the process of accepting the specification of the allowable vibration amount as at least a part of the instruction of the content of the vibration suppression that should be prioritized via the user interface.

[0203] According to this embodiment, the user can operate the input unit to designate the priority of vibration suppression and the permissible vibration amount, thereby determining the operation of the robot.

[0204] (11) In the control method of the robot of the above-mentioned embodiment, it can be set as follows: the process of receiving the instruction from the outside includes the following processes: the process of displaying a user interface for specifying at least one of the movement speed of the motor and the cycle of the operation performed by the robot on the display unit; and the process of accepting at least one of the designation of the movement speed of the motor and the cycle of the operation performed by the robot as at least a part of the instruction of the content of the movement speed that should be prioritized via the user interface.

[0205] According to this embodiment, the user can designate at least one of the operating speed of the motor and the cycle of the work to be performed by the robot, and determine the operation of the robot.

[0206] (12) In the control method of the robot of the above-mentioned embodiment, it can be set as follows: the robot has a second motor that moves the arm according to a second drive signal, the control method has a second drive signal generation process that performs the following processes on the second motor: a process of filtering the second position instruction and generating a second filtering completion instruction; and a process of using the second filtering completion instruction to generate a second drive signal, the process of generating the second filtering completion instruction has a process of applying a second band-stop filter and a second low-pass filter capable of changing the cutoff frequency to the second position instruction, the control method has a process of setting the cutoff frequency of the second low-pass filter before applying the second low-pass filter to the second position instruction according to the instruction, and the process of setting the cutoff frequency of the second low-pass filter is a process of setting the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

[0207] With this method, the position command for the motor that moves the arm and the second position command for the second motor are processed identically through filtering. As a result, one of the motor or the second motor ends its operation first, reducing the possibility of the arm moving along a trajectory different from the trajectory specified in the position command.

[0208] (13) In the control method of the robot of the above-mentioned method, it can be set as follows: the motor is a main motor that works the most in the action that the arm should perform, in the process of setting the cutoff frequency of the low-pass filter applied to the position instruction, the cutoff frequency of the low-pass filter is set according to the instruction, and in the process of setting the cutoff frequency of the second low-pass filter, the cutoff frequency of the second low-pass filter is set to a value equal to the cutoff frequency of the low-pass filter.

[0209] According to this embodiment, the user can generate a drive signal that realizes appropriate position accuracy and processing time corresponding to the work to be performed by the robot as the entire arm operation.

[0210] (14) In the robot control method of the above aspect, it is possible to configure the cutoff frequency of the band-stop filter not to be changed in accordance with the instruction.

[0211] This approach allows the user's preferences to be reflected in the low-pass filter's cutoff frequency setting, allowing the robot's drive signal to be generated. Furthermore, by setting the band-stop filter's cutoff frequency to the robot's resonant frequency, it is possible to generate a drive signal that minimizes significant robot resonance, independent of user preferences.

[0212] (15) According to another embodiment of the present disclosure, a computer program for controlling a robot having an arm and a motor that moves the arm according to a drive signal using a computer is provided. The computer program causes the computer to implement the following functions for the motor: a function of filtering a position instruction and generating a filter completion instruction; and a function of generating the drive signal using the filter completion instruction. The function of filtering the position instruction and generating the filter completion instruction includes the following functions: a function of applying a band-stop filter and a low-pass filter capable of changing the cutoff frequency to the position instruction; a function of receiving an instruction from the outside; and a function of setting the cutoff frequency of the low-pass filter before applying the low-pass filter to the position instruction according to the instruction. The function of setting the cutoff frequency of the low-pass filter includes the following functions: when an instruction is received that the speed of the movement of the arm should be prioritized, the cutoff frequency is set to a first frequency; and when an instruction is received that the speed of the movement of the arm should be prioritized, the cutoff frequency is set to a second frequency lower than the first frequency.

[0213] The present disclosure can also be implemented in various ways other than a robot, a robot control method, and a robot control program. For example, it can be implemented in a robot setting device, a robot setting method, a computer program that implements the method, or a non-transitory recording medium that stores the computer program.

Claims

1. A robot system, characterized in that: have: arm; a motor that moves the arm according to a drive signal; a control unit that controls the motor; and The input unit receives instructions from the outside. The control unit includes: a filtering processing unit that performs filtering on the position instruction and generates a filtering completion instruction; and a driving signal generating unit that generates the driving signal using the filtering completion instruction, The filtering processing unit includes: a band-stop filter, used for the filtering process; and A low-pass filter is used for the filtering process and can change the cut-off frequency. When an instruction is received through the input unit that priority should be given to either the vibration suppression of the arm or the movement speed of the arm, the cutoff frequency is set to a first frequency. When an instruction to prioritize vibration suppression of the arm and vibration suppression among the arm movement speed is received through the input unit, the cutoff frequency is set to a second frequency lower than the first frequency.

2. The robot system according to claim 1, wherein: The input unit includes a display unit capable of displaying information. The input unit is capable of displaying a user interface on the display unit, the user interface being used to specify whether vibration suppression should be prioritized in the filtering process. The input unit may receive, via the user interface, a designation of whether vibration suppression should be prioritized as at least a part of the instruction.

3. The robot system according to claim 2, characterized in that The input unit can display a user interface on the display unit, the user interface being used to specify an allowable vibration amount. The input unit may receive, via the user interface, a designation of an allowable vibration amount as at least a part of an instruction regarding which content of the vibration suppression should be prioritized.

4. The robot system according to claim 1, wherein: The input unit includes a display unit capable of displaying information. The input unit is capable of displaying a user interface on the display unit, the user interface being used to designate at least one of the operating speed of the motor and a cycle of a task to be performed by the robot system. The input unit can receive, via the user interface, at least one of a designation of an operating speed of the motor and a cycle of a task to be performed by the robot system as at least part of an instruction regarding which priority should be given to the operating speed.

5. The robot system according to claim 1, wherein: The robot system further includes a second motor that moves the arm according to a second drive signal. The control unit further controls the second motor. The control unit further includes: a second filtering processing unit that performs filtering on the second position instruction and generates a second filtering completion instruction; and A second drive signal generating unit generates the second drive signal using the second filtering completion instruction. The second filtering processing unit includes: a second band-stop filter, used for the filtering process of the second filtering processing unit; as well as A second low-pass filter is used for the filtering process of the second filtering processing unit and can change the cut-off frequency. The second filter processing unit sets the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter in accordance with the instruction input to the input unit.

6. The robot system according to claim 5, characterized in that The motor is the main motor that does the most work in the movement that the arm should perform, The filter processing unit sets the cutoff frequency of the low-pass filter according to the instruction input to the input unit. The second filter processing unit sets the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

7. The robot system according to any one of claims 1 to 6, characterized in that: The filter processing unit does not change the cutoff frequency of the band-stop filter according to the instruction input to the input unit.

8. A robot control method, characterized in that: The robot has: arm; and a motor, which moves the arm according to a drive signal, The robot control method includes a drive signal generation step of executing the following steps for the motor: The process of filtering the position instruction and generating a filtering completion instruction; and The step of generating the driving signal using the filtering completion instruction, The step of filtering the position instruction and generating a filtering completion instruction includes the step of applying a band-stop filter and a low-pass filter to the position instruction, wherein the low-pass filter can change the cut-off frequency. The control method has the following features: The process of receiving instructions from the outside; as well as a step of setting a cutoff frequency of the low-pass filter before applying the low-pass filter to the position command according to the instruction, The process of setting the cutoff frequency of the low-pass filter is as follows: When receiving an instruction to prioritize the movement speed over the vibration suppression of the arm, the cutoff frequency is set to a first frequency. When an instruction is received to prioritize the vibration suppression of the arm and the vibration suppression in the movement speed of the arm, the cutoff frequency is set to a second frequency lower than the first frequency.

9. The robot control method according to claim 8, characterized in that: The process of receiving the instruction from the outside includes the following steps: a step of displaying, on a display unit, a user interface for designating whether vibration suppression should be prioritized in the filtering process; and and receiving, via the user interface, a designation of whether vibration suppression should be prioritized as at least a part of the instruction.

10. The robot control method according to claim 9, characterized in that: The process of receiving the instruction from the outside includes the following steps: a step of displaying a user interface for designating an allowable vibration amount on the display unit; and The step of accepting, via the user interface, a designation of an allowable vibration amount as at least a part of an instruction regarding the content of which vibration suppression should be prioritized.

11. The robot control method according to claim 8, characterized in that: The process of receiving the instruction from the outside includes the following steps: a step of displaying, on a display unit, a user interface for designating at least one of an operating speed of the motor and a cycle of a task to be performed by the robot; as well as The step of accepting, via the user interface, a designation of at least one of an operating speed of the motor and a cycle of a task to be performed by the robot as at least a part of an instruction regarding the content to prioritize the operating speed.

12. The robot control method according to claim 8, characterized in that: The robot includes a second motor, and the second motor moves the arm according to a second drive signal. The control method includes a second drive signal generating step of performing the following steps on the second motor: The process of filtering the second position instruction and generating a second filtering completion instruction; and the step of generating the second drive signal using the second filtering completion instruction, The step of generating the second filtering completion instruction includes the step of applying a second band-stop filter and a second low-pass filter to the second position instruction, wherein the second low-pass filter is capable of changing a cutoff frequency. The control method includes the step of setting a cutoff frequency of the second low-pass filter before applying the second low-pass filter to the second position command according to the instruction. The step of setting the cutoff frequency of the second low-pass filter is a step of setting the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

13. The robot control method according to claim 12, characterized in that: The motor is the main motor that does the most work in the movement that the arm should perform, In the step of setting the cutoff frequency of the low-pass filter applied to the position command, the cutoff frequency of the low-pass filter is set according to the instruction, In the step of setting the cutoff frequency of the second low-pass filter, the cutoff frequency of the second low-pass filter is set to a value equal to the cutoff frequency of the low-pass filter.

14. The robot control method according to any one of claims 8 to 13, characterized in that: The cutoff frequency of the band-stop filter is not changed according to the instruction.

15. A recording medium, characterized in that A computer program is recorded for controlling a robot including an arm and a motor for moving the arm according to a drive signal using a computer. The computer program enables the computer to implement the following functions for the motor: A function for filtering the position instruction and generating a filtering completion instruction; and The function of using the filtering completion instruction to generate the driving signal, The function of filtering the position instruction and generating a filtering completion instruction includes the following functions: A function of applying a band-stop filter and a low-pass filter capable of changing a cutoff frequency to the position command; A function of receiving instructions from the outside; and a function of setting a cutoff frequency of the low-pass filter before applying the low-pass filter to the position command according to the instruction, The function of setting the cutoff frequency of the low-pass filter includes the following functions: When receiving an instruction to prioritize the movement speed over the vibration suppression of the arm, the cutoff frequency is set to a first frequency. When an instruction is received to prioritize the vibration suppression of the arm and the vibration suppression in the movement speed of the arm, the cutoff frequency is set to a second frequency lower than the first frequency.

Citation Information

Patent Citations

  • Method for generating speed command profile of multi-joint robot

    JP2011224694A