# US 12,759,158 B2 · Robot, method for controlling robot, and non-transitory computer-readable storage medium storing computer program for controlling robot

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,759,158 B2
- Document ID: US12759158B2
- Status: Granted
- Kind: B2
- Application number: 19/079,141
- Filed: 2025-03-13
- Published: 2025-09-18
- Granted: 2026-10-13
- Earliest claimed: 2024-03-14
- Assignees: Seiko Epson Corporation
- Applicants: Seiko Epson Corporation
- Inventors: Makoto Kudo
- Web page: https://patentgrep.com/patent/US12759158B2

## CPC

- B25J 9/1692: {Calibration of manipulator}
- B25J 9/1602: {characterised by the control system, structure, architecture}
- B25J 9/1664: {characterised by motion, path, trajectory planning}
- B25J 13/06: Control stands, e.g. consoles, switchboards
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})

## Abstract

A robot system includes an arm, one or more motors that move the arm according to a drive signal, a controller that controls the one or more motors, and an input section. The controller includes one or more sets including a filtering section that filters a position command to generate a filtered command and a drive signal generator that generates the drive signal using the filtered command. The filtering section includes a band-stop filter and a low-pass filter having a variable cutoff frequency. The cutoff frequency is set to a first frequency when an instruction to prioritize an operating speed is received, and the cutoff frequency is set to a second frequency lower than the first frequency when an instruction to prioritize suppression of vibration out of the suppression of vibration of the arm and the operating speed of the arm is received.

## Claims

### Claim 1

A robot system comprising:
an arm;
a motor that moves the arm according to a drive signal;
a controller that controls the motor; and
an input section that receives an instruction from an outside, wherein
the controller includes
a filtering section that filters a position command to generate a filtered command, and
a drive signal generator that generates the drive signal using the filtered command,
the filtering section includes
a band-stop filter that is used for the filtering, and
a low-pass filter that is used for the filtering and has a variable cutoff frequency,
the cutoff frequency is set to a first frequency when the input section receives an instruction to prioritize an operating speed out of suppression of vibration of the arm and the operating speed of the arm, and
the cutoff frequency is set to a second frequency lower than the first frequency when the input section receives an instruction to prioritize the suppression of vibration out of the suppression of vibration of the arm and the operating speed of the arm.

### Claim 2 (depends on 1)

The robot system according to claim 1, wherein
the input section includes
a display section capable of displaying information,
the input section is capable of displaying, on the display section, a user interface for designating whether or not to prioritize the suppression of vibration in the filtering, and
the input section is capable of receiving, via the user interface, designation of whether or not to prioritize the suppression of vibration as at least a portion of the instruction.

### Claim 3 (depends on 2)

The robot system according to claim 2, wherein
the input section is capable of
displaying, on the display section, a user interface for designating an allowable vibration amount, and
receiving, via the user interface, designation of the allowable vibration amount as at least a portion of the instruction to prioritize the suppression of vibration.

### Claim 4 (depends on 1)

The robot system according to claim 1, wherein
the input section includes
a display section capable of displaying information,
the input section is capable of
displaying, on the display section, a user interface for designating at least one of an operating speed of the motor and a cycle time of work that the robot system performs, and
receiving, via the user interface, at least one of designation of the operating speed of the motor and designation of the cycle time of the work that the robot system performs as at least a portion of the instruction to prioritize the operating speed.

### Claim 5 (depends on 1)

The robot system according to claim 1, further comprising:
a second motor that moves the arm according to a second drive signal, wherein
the controller further controls the second motor,
the controller further includes
a second filtering section that filters a second position command to generate a second filtered command, and
a second drive signal generator that generates the second drive signal using the second filtered command,
the second filtering section includes
a second band-stop filter that is used for the filtering by the second filtering section, and
a second low-pass filter that is used for the filtering by the second filtering section and has a variable cutoff frequency, and
the second filtering section sets 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 section.

### Claim 6 (depends on 5)

The robot system according to claim 5, wherein
the motor is a main motor that moves the most in an operation to be performed by the arm,
the filtering section sets the cutoff frequency of the low-pass filter according to the instruction input to the input section, and
the second filtering section sets the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

### Claim 7 (depends on 1)

The robot system according to claim 1, wherein
the filtering section does not change a cutoff frequency of the band-stop filter according to the instruction input to the input section.

### Claim 8

A method for controlling a robot including an arm and a motor that moves the arm according to a drive signal, the method comprising:
performing, on the motor, a drive signal generation process including
filtering a position command to generate a filtered command, and
generating the drive signal using the filtered command, wherein
the filtering the position command to generate the filtered command includes
applying a band-stop filter and a low-pass filter having a variable cutoff frequency to the position command,
the method further comprises:
receiving an instruction from an outside; and
setting the cutoff frequency of the low-pass filter according to the instruction before the application of the low-pass filter to the position command,
the setting the cutoff frequency of the low-pass filter is to
set the cutoff frequency to a first frequency when an instruction to prioritize an operating speed out of suppression of vibration of the arm and the operating speed of the arm is received, and
set the cutoff frequency to a second frequency lower than the first frequency when an instruction to prioritize the suppression of vibration out of the suppression of vibration of the arm and the operating speed of the arm is received.

### Claim 9 (depends on 8)

The method for controlling the robot according to claim 8, wherein
the receiving the instruction from the outside includes
displaying, on a display section, a user interface for designating whether or not to prioritize the suppression of vibration in the filtering, and
receiving, via the user interface, designation of whether or not to prioritize the suppression of vibration as at least a portion of the instruction.

### Claim 10 (depends on 9)

The method for controlling the robot according to claim 9, wherein
the receiving the instruction from the outside includes
displaying, on the display section, a user interface for designating an allowable vibration amount, and
receiving, via the user interface, designation of the allowable vibration amount as at least a portion of the instruction to prioritize the suppression of vibration.

### Claim 11 (depends on 8)

The method for controlling the robot according to claim 8, wherein
the receiving the instruction from the outside includes
displaying, on a display section, a user interface for designating at least one of an operating speed of the motor and a cycle time of work that the robot performs, and
receiving, via the user interface, at least one of designation of the operating speed of the motor and designation of the cycle time of the work that the robot performs as at least a portion of the instruction to prioritize the operating speed.

### Claim 12 (depends on 8)

The method for controlling the robot according to claim 8, wherein
the robot includes a second motor that moves the arm according to a second drive signal,
the method further comprises performing, on the second motor, a second drive signal generation process including
filtering a second position command to generate a second filtered command, and
generating the second drive signal using the second filtered command,
the generating the second filtered command includes
applying a second band-stop filter and a second low-pass filter having a variable cut-off frequency to the second position command,
the method further comprises
setting the cutoff frequency of the second low-pass filter according to the instruction before the application of the second low-pass filter to the second position command, and
the setting the cutoff frequency of the second low-pass filter is to set the cutoff frequency of the second low-pass filter to a value equal to the cutoff frequency of the low-pass filter.

### Claim 13 (depends on 12)

The method for controlling the robot according to claim 12, wherein
the motor is a main motor that moves the most in an operation to be performed by the arm,
the cutoff frequency of the low-pass filter is set according to the instruction in the setting of the cutoff frequency of the low-pass filter to be applied to the position command, and
the cutoff frequency of the second low-pass filter is set to a value equal to the cutoff frequency of the low-pass filter in the setting of the cutoff frequency of the second low-pass filter.

### Claim 14 (depends on 8)

The method for controlling the robot according to claim 8, wherein
a cutoff frequency of the band-stop filter is not changed according to the instruction.

### Claim 15

A non-transitory computer-readable storage medium storing a computer program for controlling, using a computer, a robot including an arm and a motor that moves the arm according to a drive signal, the computer program causing the computer to implement a function of executing, on the motor, functions of:
filtering a position command to generate a filtered command; and
generating the drive signal using the filtered command, wherein
the function of filtering the position command to generate the filtered command includes
a function of applying a band-stop filter and a low-pass filter having a variable cutoff frequency to the position command,
a function of receiving an instruction from an outside, and
a function of setting the cutoff frequency of the low-pass filter according to the instruction before the application of the low-pass filter to the position command,
the function of setting the cutoff frequency of the low-pass filter includes
a function of setting the cutoff frequency to a first frequency when an instruction to prioritize an operating speed out of suppression of vibration of the arm and the operating speed of the arm is received, and setting the cutoff frequency to a second frequency lower than the first frequency when an instruction to prioritize the suppression of vibration out of the suppression of vibration of the arm and the operating speed of the arm is received.
