# US 8,831,777 B2 · Robot program changing device

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

- Number: US 8,831,777 B2
- Document ID: US8831777B2
- Status: Granted
- Kind: B2
- Application number: 13/859,993
- Filed: 2013-04-10
- Published: 2013-11-28
- Granted: 2014-09-09
- Earliest claimed: 2012-05-24
- Assignees: Fanuc Corporation
- Applicants: Fanuc Corporation
- Inventors: Yuuki Kimoto
- Web page: https://patentgrep.com/patent/US8831777B2

## CPC

- B25J 9/1651: {acceleration, rate control}
- G05B 19/425: Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
- G05B 2219/36462: Minimize teach time, compress data, many points in curve, few in line
- G05B 2219/36492: Record position and orientation, posture of probe, tool
- G05B 2219/40387: Modify without repeating teaching operation
- 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})
- 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)

## Abstract

A program changing device includes a sequence interchanging unit for interchanging plural teaching points in a teaching sequence such that total movement time of a robot becomes smaller than that when the robot is moved in line with an initial teaching sequence of the teaching points, a calculating unit for calculating difference amounts between the initial teaching points and a trajectory of the robot that is obtained by executing an after-interchanged operational program by simulation, a position adjusting unit for adjusting positions of the teaching points of the after-interchanged operational program until the difference amounts become equal to or smaller than a predetermined allowable value, and a teaching point changing unit for changing the adjusted teaching points to be the initial teaching points when cycle time of the after-interchanged operational program including the adjusted teaching points is longer than initial cycle time.

## Claims

### Claim 1

A robot program changing device that changes a program of a robot performing smooth operation in which while deceleration is being performed by a first movement command, acceleration is performed by a second movement command to smoothly shift from the first movement command to the second movement command, comprising:
a program storage unit for storing an operational program of the robot;
an initial storage unit for storing cycle time of the operational program as initial cycle time, storing positions of a plurality of teaching points of the operational program as a plurality of initial teaching points, and storing a teaching sequence of the plurality of initial teaching points of the operational program as an initial teaching sequence, when the operational program stored in the program storage unit is executed by simulation;
a sequence interchanging unit for interchanging the plurality of teaching points in the teaching sequence such that sum of movement time of the robot respectively spent by the robot to move between respective two of the plurality of teaching points becomes smaller than sum of movement time when the robot is moved in line with the initial teaching sequence of the plurality of initial teaching points stored in the initial storage unit;
an arm tip position storage unit for storing positions of an arm tip of the robot at predetermined time intervals when an after-interchanged operational program for which the teaching points have been interchanged in the teaching sequence by the sequence interchanging unit is executed by simulation;
a calculating unit for calculating, for each initial teaching point, a difference amount between a trajectory of the robot and the initial teaching points stored in the initial storage unit, the trajectory being created on the basis of the positions, stored in the arm tip position storage unit, at the predetermined time intervals;
a position adjusting unit for shifting the positions of the arm tip of the robot at predetermined time intervals stored in the arm tip position storage unit by a predetermined distance such the positions of the arm tip move away from the initial teaching points in a direction in which a distance between the initial teaching points and the trajectory of the robot becomes the shortest, and for adjusting the positions of the teaching points of the after-interchanged operational program until the difference amount, which are calculated by the calculating unit, between the initial teaching points and a new trajectory of the robot based on the positions of the arm tip after shifting become equal to or smaller than a predetermined allowable value; and
a teaching point changing unit for, when the after-interchanged operational program including the teaching points adjusted by the position adjusting unit is executed by simulation, if cycle time of the executed after-interchanged operational program is longer than the initial cycle time stored in the initial storage unit, changing the adjusted teaching points to be the initial teaching points to adopt the initial teaching sequence.

### Claim 2 (depends on 1)

The robot program changing device according to claim 1, wherein the sequence interchanging unit comprises:
a movement time calculating unit for dividing a movement angle around each axis of the robot by a rotational speed around each axis of the robot to calculate movement time respectively spent between respective two of the teaching points in the after-interchanged operational program, and the operational program before interchange of the teaching points in the teaching sequence;
a determining unit for interchanging, in the teaching sequence, two teaching points among the plurality of teaching points in the operational program, and estimating whether or not a difference is equal to or smaller than a time allowable value, the difference being obtained by subtracting, from sum of the movement time of the robot respectively spent between respective two of the plurality of teaching points after interchange of the teaching points, sum of the respective movement time of the robot before interchange of the teaching points;
a sequence adopting unit for adopting the teaching sequence after interchange of the teaching points when the determining unit determines that the difference is equal to or smaller than the time allowable value, and adopting the teaching sequence before interchange of the teaching points when the determining unit determines that the difference is not equal to or smaller than the time allowable value;
an allowable value changing unit for changing the allowable value to be decreased by a predetermined amount after the sequence adopting unit adopts the teaching sequence after interchange of the teaching points or the teaching sequence before interchange of the teaching points; and
a repeating unit for repeating a process of interchanging the teaching points in the teaching sequence within the predetermined maximum attempting number of times until the allowable value changed by the allowable value changing unit becomes a predetermined specified value.

### Claim 3 (depends on 1)

The robot program changing device according to claim 1, wherein the sequence interchanging unit interchanges the teaching points in the teaching sequence on the basis of an angle made by first and second movement vectors respectively corresponding to first and second operational segments that respectively exist between respective two of three successive teaching points of the operational program, and on the basis of movement time for the second operational segment.

### Claim 4 (depends on 1)

The robot program changing device according to claim 1, wherein when the difference amount calculated by the calculating unit exceeds the allowable value, the position adjusting unit performs position adjustment by shifting the teaching points of the after-interchanged program by a fixed distance in directions of vectors directed toward the initial teaching points from the points that are positioned on the trajectory such that distances from the initial teaching points to the points on the trajectory become the smallest.

### Claim 5 (depends on 2)

The robot program changing device according to claim 2, wherein when the difference amount calculated by the calculating unit exceeds the allowable value, the position adjusting unit performs position adjustment by shifting the teaching points of the after-interchanged program by a fixed distance in directions of vectors directed toward the initial teaching points from the points that are positioned on the trajectory such that distances from the initial teaching points to the points on the trajectory become the smallest.

### Claim 6 (depends on 3)

The robot program changing device according to claim 3, wherein when the difference amount calculated by the calculating unit exceeds the allowable value, the position adjusting unit performs position adjustment by shifting the teaching points of the after-interchanged program by a fixed distance in directions of vectors directed toward the initial teaching points from the points that are positioned on the trajectory such that distances from the initial teaching points to the points on the trajectory become the smallest.

### Claim 7 (depends on 1)

The robot program changing device according to claim 1, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.

### Claim 8 (depends on 2)

The robot program changing device according to claim 2, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.

### Claim 9 (depends on 3)

The robot program changing device according to claim 3, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.

### Claim 10 (depends on 4)

The robot program changing device according to claim 4, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.

### Claim 11 (depends on 5)

The robot program changing device according to claim 5, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.

### Claim 12 (depends on 6)

The robot program changing device according to claim 6, further comprising a changing unit for changing a command value of at least one of a speed, acceleration and a smoothing degree of the robot in the operational program so as to decrease cycle time of the operational program, directly before position adjustment of the teaching points of the operational program is performed.
