# US 9,891,618 B2 · Program correcting device and program correcting method of industrial robot

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

- Number: US 9,891,618 B2
- Document ID: US9891618B2
- Status: Granted
- Kind: B2
- Application number: 14/933,133
- Filed: 2015-11-05
- Published: 2016-05-12
- Granted: 2018-02-13
- Earliest claimed: 2014-11-06
- Assignees: Fanuc Corporation
- Applicants: FANUC Corporation
- Inventors: Yanxue Liang; Yoshiharu Nagatsuka
- Web page: https://patentgrep.com/patent/US9891618B2

## CPC

- G05B 19/416: characterised by control of velocity, acceleration or deceleration (G05B19/19 takes precedence)
- G05B 2219/43011: Shorter time by adjusting corner speed, avoid zero speed when engage corner
- G05B 2219/43129: Speed as function of curvature, in curves, corners smaller than in straight line
- Y10S 901/02: Arm motion controller
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A program correcting device comprises an executing part which executes a simulation of operation of the robot based on an operating program, a calculating part which calculates a variation with time of a TCP speed from the simulation results, an evaluating part which evaluates a pattern of the calculated variation with time if a minimum value of the TCP speed during the calculated variation with time is a predetermined lower limit value or less, a selecting part which selects a correction scheme of the operating program for increasing the minimum value of the TCP speed from a plurality of correction schemes, in accordance with the evaluation results of the pattern of the variation with time, and a correcting part which corrects the operating program in accordance with the selected correction scheme.

## Claims

### Claim 1

A program correcting device which corrects an operating program of a robot for moving a tip of a tool which is attached to said robot along a predetermined movement path at a command speed, the device comprising:
at least one processor configured to:
execute a simulation of operation of said robot based on said operating program,
calculate a variation with time of a movement speed of said tip for the period when said tip passes through said of movement path from the results of said simulation of operation,
evaluate a pattern of said variation with time calculated by said calculating part if a minimum value of said movement speed during said variation with time calculated by said calculating part is a predetermined lower limit value or less,
select a correction scheme of said operating program for increasing said minimum value of the movement speed from a predetermined plurality of correction schemes, in accordance with the results of evaluation of the pattern of said variation with time,
correct said operating program in accordance with the correction scheme, and
instructing the robot to move the tip of the tool based on the corrected operating program.

### Claim 2 (depends on 1)

The program correcting device according to claim 1, wherein said processor is configured to repeatedly correct said operating program until a minimum value of said movement speed during said variation with time becomes larger than said lower limit value.

### Claim 3 (depends on 1)

The program correcting device according to claim 1,
wherein
said operating program comprises a plurality of operating commands to be executed in sequence, and
said processor is configured to calculate said variation with time while said plurality of operating commands are executed in sequence.

### Claim 4 (depends on 3)

The program correcting device according to claim 3, wherein said processor is configured to evaluate the pattern of said variation with time based on monotonicity of the variation with time in a first section between the time when said movement speed starts to decrease from said command speed and the time when said movement speed reaches the minimum value, and in a second section between the time when said movement speed starts to increase from the minimum value and the time when said movement speed converges to said command speed.

### Claim 5 (depends on 4)

The program correcting device according to claim 4,
wherein
said plurality of correction schemes include a first correction scheme which comprises adding a new operating command right after the operating command among said plurality of operating commands where said movement speed starts to decrease from said command speed, and
said processor is configured to select said first correction scheme if said variation with time in said first section is a monotonous decrease and said variation with time in said second section is a monotonous increase.

### Claim 6 (depends on 4)

The program correcting device according to claim 4,
wherein
said plurality of correction schemes include a second correction scheme which comprises changing an operating command right after the operating command among said plurality of operating commands where said movement speed starts to decrease from said command speed, and
said processor is configured to select said second correction scheme if said variation with time is said first section is a monotonous decrease and said variation with time in said second section a non-monotonous increase.

### Claim 7 (depends on 4)

The program correcting device according to claim 4,
wherein
said plurality of correction schemes include a third correction scheme which comprises deleting an operating command right after the operating command among said plurality of operating commands where said movement speed reaches the minimum value, and
said processor is configured to select said third correction scheme if said variation with time in said first section is a non-monotonous decrease.

### Claim 8

A program correcting method which corrects an operating program for moving a tip of a tool which is attached to a robot along a predetermined movement path at a command speed, comprising
executing a simulation of operation of said robot based on said operating program,
calculating a variation with time of a movement speed of said tip for the period when said tip passes through said movement path from the results of said simulation of operation,
evaluating a pattern of the calculated variation with time if a minimum value of said movement speed during the calculated variation with time is a predetermined lower limit value or less,
selecting a correction scheme of said operating program for increasing said minimum value of the movement speed from a predetermined plurality of correction schemes, in accordance with the results of evaluation of the pattern of the variation with time,
correcting said operating program in accordance with the selected correction scheme, and moving the tip of the tool, using the robot, based on the corrected operating program.

### Claim 9 (depends on 8)

The program correcting method according to claim 8 further comprising repeatedly correcting said operating program until a minimum value of said movement speed during the variation with time becomes larger than said lower limit value.

### Claim 10 (depends on 8)

The program correcting method according to claim 8, wherein
said operating program comprises a plurality of operating commands to be executed in sequence, and
said program correcting method further comprises calculating the variation with time while said plurality of operating commands are executed in sequence.

### Claim 11 (depends on 10)

The program correcting method according to claim 10 further comprising evaluating the pattern of the variation with time based on monotonicity of the variation with time in a first section between the time when said movement speed starts to decrease from said command speed and the time when said movement speed reaches the minimum value and in a second section between the time when said movement speed starts to increase from the minimum value and the time when said movement speed converges to said command speed.

### Claim 12 (depends on 11)

The program correcting method according to claim 11, wherein
said plurality of correction schemes include a first correction scheme which comprises adding a new operating command right after the operating command among said plurality of operating commands where said movement speed starts to decrease from said command speed, and
the program correcting method further comprises selecting said first correction scheme if the variation with time in said first section is a monotonous decrease and the variation with time in said second section is a monotonous increase.

### Claim 13 (depends on 11)

The program correcting method according to claim 11, wherein said plurality of correction schemes include a second correction scheme which comprises changing an operating command right after the operating command among said plurality of operating commands where said movement speed starts to decrease from said command speed, and
the program correcting method further comprises selecting said second correction scheme if the variation with time in said first section is a monotonous decrease and the variation with time in said second section is a non-monotonous increase.

### Claim 14 (depends on 11)

The program correcting method according to claim 11, wherein
said plurality of correction schemes include a third correction scheme which comprises deleting an operating command right after the operating command among said plurality of operating commands where said movement speed reaches the minimum value, and
the program correcting method further comprises selecting said third correction scheme if the variation with time in said first section is a non-monotonous decrease.
