# US 7,333,879 B2 · Offline programming device

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

- Number: US 7,333,879 B2
- Document ID: US7333879B2
- Status: Granted
- Kind: B2
- Application number: 11/638,471
- Filed: 2006-12-14
- Published: 2007-06-21
- Granted: 2008-02-19
- Earliest claimed: 2005-12-16
- Assignees: Fanuc Corporation
- Inventors: Katsutoshi Takizawa; Yoshiharu Nagatsuka; Hirohiko Kobayashi
- Web page: https://patentgrep.com/patent/US7333879B2

## CPC

- B25J 9/1671: {characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems}
- B25J 9/1697: {Vision controlled systems}
- G05B 2219/37453: Simulate measuring program, graphical interactive generation of program
- G05B 2219/40323: Modeling robot environment for sensor based robot system
- G05B 2219/40613: Camera, laser scanner on end effector, hand eye manipulator, local
- 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

An offline programming device capable of automatically generating a measuring program by which the time and the workload for making an offline program may be greatly reduced. The offline programming device includes a storing part for storing a plurality of data in relation to a plurality of measurement points of the object and the position and the orientation of a vision sensor relative to the movable part of the robot; a calculating part for calculating the position and the orientation of the vision sensor relative to each measurement point when the measurement point is measured; a measuring program making part for making at least one measuring program, based on the plurality of data stored in the storing part, by means of which the position and the orientation of the vision sensor may be achieved; an evaluating part for evaluating the at least one measuring program according to a predetermined evaluative criteria; and a selecting part for selecting a measuring program, from the at least one measuring program, which satisfies the predetermined evaluative criteria.

## Claims

### Claim 1

An offline programming device for making a measuring program for measuring an object to be worked by using at least one vision sensor mounted on a movable part of a robot, in order to correct the positional relation between the robot and the object in an offline simulation based on the measured positional relation between the robot and the object in the field, the offline programming device comprising:
a storing part for storing a plurality of data in relation to a plurality of measurement points of the object and the position and the orientation of the vision sensor relative to the movable part of the robot;
a calculating part for calculating the position and the orientation of the vision sensor relative to each measurement point when the measurement point is measured;
a measuring program making part for making at least one measuring program, based on the plurality of data stored in the storing part, by means of which the position and the orientation of the vision sensor may be achieved;
an evaluating part for evaluating the at least one measuring program according to a predetermined evaluative criteria; and
a selecting part for selecting a measuring program, from the at least one measuring program, which satisfies the predetermined evaluative criteria.

### Claim 2 (depends on 1)

The offline programming device as set forth in claim 1, wherein the predetermined evaluative criteria is whether the operating range of the robot determined in the measuring program is within the whole operating range of the robot determined in an operation program of the robot.

### Claim 3 (depends on 1)

The offline programming device as set forth in claim 1, wherein the predetermined evaluative criteria is whether at least one of a work tool mounted on the movable part of the robot, the vision sensor and a modeled scope representing a viewing field of the vision sensor interfere with another object or external equipment.

### Claim 4 (depends on 1)

The offline programming device as set forth in claim 1, wherein the predetermined evaluative criteria includes an angle formed by a surface on which the measuring point is positioned and a view line of the vision sensor directed to the measuring point.

### Claim 5 (depends on 1)

The offline programming device as set forth in claim 1, wherein the robot is a spot welding robot and the predetermined evaluative criteria includes the degree of the difference between the orientation of the robot during measuring and the orientation of the robot during spot welding.
