`
`IROBOT 2012
`Shenzhen Zhiyi Technology v. iRobot
`IPR2017-02061
`
`
`
`U.S. Patent
`
`Nov. 20, 1984
`
`Sheet 1 of6
`
`4,484,294
`
`
`
`2
`
`
`
`U.S. Patent
`
`Nov, 20, 1984'
`
`Sheet 2 of6
`
`4,484,294
`
`SIMULATOR
`ROBOT
`
`ROBOT
`CONTROLLER A? 5
`
`WORK
`ROBOT
`
` -COMPUTER
`
`-BUFFER
`
`REGISTERS
`
`
`
`
`""" — -
`POSITION :“Am
`
`
`TRANS-
`:-
` DUCERS :- Ii
`
`
`
`
` FETCHED
`
`COMMAND
`BUFFER
`
`‘
`
`ADDER
`
`
`
`INCREMENT
`, ACCUMULAflNG
`
`COUNTER
`
`COUNTER
`CONTROL
`
`
`'
`
`
`
`RETURN;
`
`435
`0
`
`- 1%«5
`
`3
`
`
`
`U.S. Patent
`
`Nov. 20, 1984
`
`Sheet 3 of 6
`
`4,484,294
`
`300
`
`SAMPLE DESIRED
`ON/OFF sw.
`_ N'T'ON ‘2
`
`
`
`
` 3&4
`
`
`_7
`
`..
`
`30.5
`
` 4%?
`
`
`FETCH POSITION
`COMMAND FROM
`
`
`ROBOT
`
`
`CONTROLLER RAM
`
`
`INPUT ACTUAL POSITION
`
`0F ROBOT LINK FROM
`
`LINK POSITION TRANS-
`
`
`DUCER TO ROBOT
`
`CONTROLLER
`
`3/4
`COMPUTE ERROR IN
`
`
`ROBOT CONTROLLER
`
`
`BETWEEN COMMAND
`AND ACTUAL LINK
`
`
`POSITIONS
`
`OUTPUT ERROR FROM
`
`
`ROBOT CONTROLLER TO
`
`ROBOT LINK ACTUATRO
`
`3/7
`
`FETCH ON/OFF S .
`CONDITION COMMAND
`
`
`
`FROM CONTROLLER RAM
`3/9
`OUTPUT ON/OFF SW.
`
`
`CONDITION COMMAND TO
`
`ROBOT ON/OFF SW.
`
`FROM ROBOT CONTROLLER
`
` 35/
`
`
`
`ROBOT CONTROLLER
`
`PROGRAM EXECUTION
`
`FORMAT 8| BUFFER 2
`STORE DESIRED
`=‘
`POSITIONS 8s ON/OFF
`
`
`SW. CONDITIONS IN
`CONTROLLER
`
`REGIEST “
`
`
`
`
`WRITE DESIRED
`POSITIONS 8| ON/OFF
`SW. CONDITIONS IN L
`CONTROLLER RAM
`
`‘
`
`
`
`
`
`
`
`SIMULATOR ROBOT
`DATA CONVERSION
`
`
`
`£12» 45
`
`4
`
`
`
`U.S. Patent Nov.20, 1984
`
`Sheet4 Of6
`
`4,484,294
`
`START ,.. 3/20
`
`36/2
`
`FETCH POSITION a
`COMMAND FROM ‘
`ROBOT
`;
`
`
`
`
`415/
`
`
`
`
`
`IS EITHER
`
`POSITIVE OR NEG.
`
`INCREMENT SWITCH OR
`CONTORRLLE RAM
`RETURN SWITCH
`
`
`ACTIVATED
`
`?
`
`
` INPUT ACTUAL POSITION
`
`
`0F ROBOT LINK FROM I;
`LINK POSITION TRANs-
`YES
`
`
`DUCER TO ROBOT
`
`
`
`
`COMPUTE ERROR IN j 3/4
`FETCH POSITION COMMAND
`ROBOT CONTROLLER
`FROM RAM AND LOAD INTO
`BETWEEN COMMAND
`BUFFER REGISTER
`
`AND ACTUAL LINK
`I
`
`
` 4.92?
`' 3/5
`
`OUTPUT ERROR FROM I
`MODIFY POSITION
`ROBOT CONTROLLER To
`COMMAND BY ACCUMULATED
`ROBOT I, ,'-.K ,
`INCREMENT VALUE IN
`
`
`
`POUNTER
`
`
`
`5
`
`BN8
`
`
`
` IYES
`1
`FETCH ONIOFF SW.
`
`; \fl—h—J
`CONDITION COMMAND
`OMCOR
`REAL TIME POSITION
`
`COMMAND EDITING
`
`
`ROUTINE
`OUTPUT ON/OFF sw.
`
`CONDITION COMMAND TO »
`ROBOT ONIOFF sw.
`;
`
`, FROM ..0T_)
`
`
`L
`EXECUTION WITH POSITION COMMAND EDITING
`
`
`5
`
`
`
`U.S. Patent
`
`Nov. 20, 1984
`
`Sheet 5 Of6
`
`4,484,294
`
`DELAY DURING STORAGE
`IN RAM AND EXECUTION
`OF UNMODIFIED
`
`POSTION ,cIOvIAND
`
`
`
`
`
` 500 POSITIVE
`
`
`
`
`
`
`ACTIVATED
`POSIT'VE AND
`ACTIVATED
`
`
`
`
`NEGATIVE INCREMENT
`SWITCH STATU°
`
`
`
`
`EGATIVE
`
`
`INCR EM ENT
`
`SWITCH
`
`508
`T
`
`ACTIVATED
`
`
`
`ADD ONE POSITION
`INCREMENT VALUE
`
`
`TO COUNTER
`
`
`
`
`SUBTRACT ONE POSITION
`INCREMENT VALUE
`OM COUNTER
`
`7
`
`-
`
`
`
`
`
`
`
`504
`DELAY DURING STORAGE OF
`
`
`MODIFIED COMMAND IN RAM
`
`AND MODIFIED POSITION
`
`COMAND EXCUTION BYR-BOT
`
`POSITIVE/NEGATIVE INCREMENT SWITCH SUBROUTINE
`O
`_%ao£46
`
`CHECK
`RETURN SWITCH
`
`NOT ACT'VATED
`
`OSITION
`VALUE
`R ,
`
`'
`
`SUBTRACT ONE
`POSITION
`INCREMENT VALUE
`FROM COUNTER
`
`
`
`DELAY DURING STORAGE OF
`55/; MODIFIED COMMAND IN RAM
`ADN EECUTON THEREOF BY ROBOT
`
`DELAY DURING STORAGE IN
`RAM AND EXECUTION OF
`UNMODIFIED POSITION
`COMMAND BY ROBOT
`
`o
`
`@953
`
`
`RETURN SWITCH SUBRO UTINE
`
`6
`
`
`
`US. Patent
`
`Nov. 20, 1984
`
`Sheet 6 of6
`
`4,484,294
`
`
`
`LINK
`POSITION
`
`
`
` \
`
`
`
`\MODIFIED
`PROGRAM
`
`COMMAND IDENTITY
`
`Ilia/c!
`
`TIME
`
`7
`
`
`
`METHOD AND APPARATUS FOR
`MODIFICATION OF A PRERECORDED
`PROGRAMMED SEQUENCE OF MOTIONS
`DURING EXECUTION THEREOF BY A ROBOT
`
`This invention relates to a work-performing robot
`which executes a prerecorded sequence of motions
`stored in a robot controller memory, and more particu-
`larly, to an apparatus and method for editing, or modi-
`fying, a program during processing by the robot con-
`troller immediately prior to input to the robot such that
`the program, as modified, is both executed by the robot
`and stored in the controller memory for subsequent
`repetitive reply or re-execution by the robot.
`A work-performing robot, or manipulator, typically
`includes a plurality of links which are pivotally con-
`nected end-to-end at joints. Located at each joint is a
`rotary actuator, usually of the electrohydraulic type,
`which is responsive to an electrical signal for control-
`ling the relative position, or angle, between the two
`links connected at the joint. Also located at each joint is
`an angular position transducer, for example, a resolver,
`which provides an electrical output signal correlated to
`the relative position or angle of the links at the joint. At
`the outboard end of the outermost link, a device, such as
`a spray coating gun, is secured for performing work on
`a workpiece located at a work station as the robot exe-
`cutes a prerecorded sequence of motions.
`Associated with the work robot is a computerized
`robot controller in which is stored in a memory thereof
`a prerecorded sequence of position commands. During
`program execution, or replay, the stored position com-
`mands are sequentially fetched from the memory, com-
`pared with current samples of actual robot position, and
`positional errors calculated corresponding to the differ-
`ence between the position commands and the then cur-
`rent actual robot position, and the positional errors
`output from the controller to the robot to drive the
`robot to the desired or command position.
`_
`Since the robot has plural axes or links which are
`separately controlled and driven by their respective
`actuators, each position command in the prerecorded
`sequence in reality constitutes a set of individual posi-
`tion command components corresponding to the differ-
`ent axes or links of the robot. Depending upon the data
`processing capability of the controller, the individual
`position command components associated with the dif—.
`ferent robot links will be processed either serially or in
`parallel by the controller in the'course of producing the
`positional error signals output to the different robot’link
`actuators. The set of position command components,
`regardless of whether individually processed by the
`controller in series or parallel, are retrieved from the
`controller memory for execution by the robot on a
`serial basis. If a programmed sequence of motions has N
`position commands and the robot has M axes, there are ‘
`NM discrete robot link position commands which are
`grouped in N sequential sets of M link commands. Dur-
`ing program execution, the N sets of M-link commands
`are executed serially by set, and either serially or paral-
`lel by link command.
`Production of the prerecorded motion sequence,
`known as robot “training” or “teaching”, can be accom-
`plished in several ways. In accordance with one ap-
`proach, a joy stick is used to control the robot actuators
`during programming such that the robot links move to
`position the robot output element in accordance with
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4O
`
`45
`
`50
`
`55
`
`60
`
`65
`
`1
`
`4,484,294
`
`5
`
`10
`
`2
`manual manipulation of the joy stick. The outputs of the
`robot link position transducers of the robot are periodi-
`cally sampled and stored for subsequent execution by
`the robot without the aid of the joy stick.
`In a second approach, a lightweight “training robot”
`is used which, except for the mass of the training robot
`and the absence of actuators for the links, is identical in
`all respects to the considerably more massive work
`robot being programmed. To program the work robot,
`the output element of the training robot is grasped man-
`ually by the individual doing the programming and
`moved through a sequence of motions which it is de-
`sired to have the work robot subsequently execute.
`Since the training robot is lightweight, it can be moved
`manually by the operator with little difficulty. As the
`training robot is being moved through the desired se-
`quence of motions, position transducers at the joints of
`its links provide electrical link position signals which
`are recorded for subsequent reproduction and input to
`the actuator servoloops of the work robot.
`A third method of robot programming involves by-
`passing or decoupling the actuators of the work robot
`and counter-balancing the work robot such that the
`operator may more easily move it through the desired
`path. The robot link position transducer outputs are
`recorded during this manual programming phase such
`that they can be subsequently replayed for execution by
`the robot.
`
`A still further approach involves providing the work
`robot with motion or force sensing transducers When
`an operator attempts to move the work robot during
`manual programming, the force or motion sensors de-
`tect the force or motion applied by the operator to the
`robot. The force or motion sensor outputs are input to
`the actuators for moving the individual work robot
`links in accordance with the manual force or motion
`applied thereto by the operator As the robot links move
`under power assistance,
`the link position transducer
`outputs are recorded for subsequent replay and execu-
`tion by the robot.
`During training of a spray painting robot having a
`manual trigger-operated ON/OFF solenoid valve de-
`signed to control the flow of coating from the spray
`gun, and in conjunction with periodic sampling and
`storing of the robot link position transducer outputs to
`produce the recorded motion sequence which is desired
`to thereafter replay for execution by the robot, the
`status of the manual, trigger-operated ON/OFF flow
`control solenoid valve is sampled and stored as solenoid
`valve commands. When the robot program is thereafter
`replayed, the recorded sequence of ON/OFF solenoid
`valve commands are output to the spray gun in syn-
`chronism with the sequence of robot position com-
`mands,
`thereby coordinating spray coating emission
`with spray gun position.
`In robots used for spray coating objects of various
`configurations and shapes, it sometimes occurs that the
`position of the object being coated relative to the robot
`during the programming phase has changed since the
`robot was programmed, with the result that if the pro-
`gram is executed by the work robot, the part will not be
`satisfactorily spray coated because the part is not in the
`same position relative to the work robot during pro-
`gram execution as it was during programming. The
`change in the relative position of the robot and article
`being coated may be due to a change in the location of
`the conveyor on which the articles are transported, a
`
`8
`
`
`
`3
`change in the length of the hooks on which the articles
`are supported from the conveyor, or the like.
`When there is a change in the article-robot relation-
`ship between robot programming and program execu-
`tion, reprogramming may be necessary, particularly if 5
`the difference is substantial. If reprogramming is neces-
`sary, typically the entire program must be redone since
`all position commands are adversely affected by the
`changed relationship between the robot and the article
`being coated.
`Another circumstance giving rise to the necessity to
`reprogram an entire spray painting robot motion se-
`quence is when the nozzle of the spray gun is changed
`such that the spray pattern is directed at a different
`angle relative to the spray gun which is secured to the
`output link of the robot. While the relative position
`between the article being coated and the robot has not
`changed, because the Spray gun nozzle has been
`changed, in turn changing the direction of the spray
`pattern, the relative position of the article being coated
`and the spray pattern changes, necessitating reprogram-
`ming of the entire motion sequence.
`A further situation arising in practice necessitating
`reprogramming, albeit not of the entire motion se-
`quence, is when the size or shape of the article being
`coated is changed between the time Of robot program-
`ming and program execution by the robot. For example,
`if the design of a vertically suspended rectangular frame
`is altered such that a horizontal reinforcing bar span-
`ning opposite vertical sides of the rectangular frame is
`raised or lowered relative to the upper and lower ex-
`tremities of the frame, the portion of the prerecorded
`sequence of motions which control the robot, to spray
`coat the horizontal reinforcing bar will no longer‘prop-
`erly locate the spray gun relative to the bar, although
`proper location of the gun relative to the rectangular
`frame will be provided. Under such circumstances, and
`while it is unnecessary to reprogram the portion of the
`motion sequence correlated to spray coating the rectan-
`gular frame itself, it is necessary to reprogram that por-
`tion of the motion sequence correlated to spray coating
`the repositioned, transverse, frame-reinforcing bar.
`Accordingly, it has been an objective of this inven-
`tion to provide a simple, inexpensive, and convenient
`apparatus and method for editing, or modifying, a pro-
`grammed sequence of motions for a work robot link
`such that the modified sequence when input to the work
`robot will result in producing motion of the robot link
`which compensates for the change in either the spray
`gun nozzle and/or the position or configuration of the
`workpiece which rendered the previously recorded
`program partially or totally unusable. This objective
`has been accomplished in accordance with certain prin-
`ciples of the invention by conducting program editing
`or modification, with the aid of suitable manually-
`activated input means, during program processing by
`the robot controller immediately prior to input of posi-
`tion commands to the robot such that the program, as
`modified, is both executed by the robot and stored in the
`controller memory for subsequent replay or re-execu-
`tion, thereby achieving what effectively constitutes real
`time program editing during program execution by the
`robot. An important advantage of this invention is that
`the operator, via the manually-activated input means,
`can not only edit the program under manual control,
`but can actually monitor the edited program as it is
`being executed by the robot, making further program
`changes as necessary and, again, on a real time basis.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35,
`
`45
`
`50
`
`55
`
`60
`
`4,484,294
`
`4
`
`In a preferred form of the invention, position com-
`mand incrementing means responsive to activation of a
`manual “positive increment” switch or “negative incre-
`ment” switch associated with a given robot link is pro-
`vided which is operative to generate, and positive or
`negatively accumulate, sequential discrete signals cor-
`related to positive or negative position increments by
`which it is desired to modify, i.e., increase or decrease,
`the position commands for a given robot link stored in
`the robot controller memory. The continuously chang-
`ing, either increasing or decreasing, cumulative position
`increment
`is used to successively modify, either by
`adding or subtracting the cumulative increment,
`the
`individual position commands associated with a given
`robot link which are sequentially fetched from the robot
`controller memory prior to processing by the robot
`controller, which processing is effective to compare the
`successively modified position commands for the link in
`questiOn with successively input actual robot link posi-
`tions and derive therefrom for input to the robot link
`actuator successive positional error signals for succes-
`sively driving the robot link to the successively modi-
`fied command positions. Concurrent with processing of
`the modified position commands for execution by the
`work robot, the modified commands are also stored in
`the controller memory as substitutes for the original,
`unmodified position commands.
`In the preferred form of the invention, when the
`manually activated “positive increment” or “negative
`increment” switch is released, the accumulated posi-
`tional increment is preserved and added, or subtracted,
`as the case may be, to all subsequent position commands
`of the recorded sequence occurring after deactivation
`of the positive/negative increment switch means. As a
`result, the modification of the position command occur-
`ring immediately prior to deactivation of the positive/-
`negative increment switch means is applied to all subse-
`quently occurring position commands without further
`intervention of the operator. The practical effect of this
`is that if the fan spray relative to the article to be coated
`was several inches too low, due to either changing of
`the gun nozzle between program recording and pro-
`gram execution, avchange in position of the articles on
`the conveyor, a change in position of the conveyor
`relative to the robot, or the like, once theproper posi-
`tion command modification has been achieved to re-
`store the desired orientation between the robot and the
`workpiece, it is maintained for the remainder of the
`program without continued operator intervention.
`In accordance with a further, and equally important
`aspect of the invention, a method and apparatus is pro-
`vided, responsive to deactivation of the positive/nega-
`tive increment switch, for automatically reducing to
`zero, in a controlled manner, the cumulative command
`position increment. In accordance with further princi-
`ples of this invention, this objective is accomplished by
`automatically reducing the cumulative positional incre-
`ment by one position increment upon execution of each
`position command subsequent to deactivation of the
`positive/negative increment switch until such time as
`the cumulative positional increment has been reduced
`to zero. Once zero is reached, subsequently occurring
`position commands are stored in memory and executed
`by the robot free of modification. Position commands
`fetched from memory during the interval between de-
`activation of . the» positive/negative increment switch
`and reduction of the cumulative position increment to
`
`65
`
`9
`
`
`
`5'
`
`10-
`
`15
`
`20
`
`'
`
`4,484,294
`5
`6
`zero are mOditied by cumulative increments of succes-
`grees of freedom In practice, the links 12, 14, 16, 18, 20,
`sively decreasing size.
`and 22 collectiVely constitute a relatively large mass.
`Summarizing, with this invention a prerecorded se-
`For example, the links 12, 14, and 16 are each approxi-
`quence of robot commands can be modified and stored
`mately 1—4 feetin length, and typically weighin the
`for subsequent replay simultaneously with execution of
`rangeof 10—400 pounds each. The links 18,20, and 22
`the modified commands by the work robot. In this Way,
`which, in the work-performing robot shown1n FIG. 1
`it
`is possible for the operator to effectively modify
`constitute a wrist, typically are significantly less mas-
`under manual control a program while it is being exe-
`sive than the links 12,14 and 16, although this1s not
`necessarily the case.
`cuted by the robot. An advantage of this approach to
`The link 12IS vertically disposed and mounted to the
`editing position commands of a robot program is that
`the operator can See the effect of the position command
`base 10 by a suitable joint which permits the link to
`program editing asactually executed by the work robot
`rotate about its lbngitudinal axis which is coincident
`during the editing process. Stated differently, the opera-
`with:' the X axis An actuator 231s associated with the
`tor can edit the program on a real time basis as it is being
`link 12, andIS responsive to a position error signal pro-
`executed by the work robot Moreover, the position
`vided by a Conventional robot controller (not shown'1n
`command editing which occurs is on a cumulative basis,
`FIG1) to facilitate selective, bidirectional, angular
`with the result that the duration of activation of the
`motion of the link 121n an azimuthal direction about its
`positive/negative increment switch means directly con-
`longitudinal axis to the desired link position. Also asso-
`trols the size of the corrections. of the position com-
`ciated with the link 121s a position transducer 24 which
`mands. Thus, the longer the positive/negative incre-
`provides an electrical signal correlated to the actual
`ment switch means is activated, the greater the correc-
`angular, or azimuthal, position of the link 12 relative to
`tion that15 achieved.
`the base 10.
`'-
`These and other features, objectives, and advantages
`The link 14atits lower end15 connected to the upper
`of the invention will become more readily apparent
`end of the link 12 by a suitable jOint for permitting
`from a detailed description thereof taken'1n conjunction
`pivotal, elevatiOnal movement of the link 141n a verti-
`with the drawingsin which.
`cal plane abOuta hOrizontal axis 26 which1s perpendic-
`FIG. 1 is a perspective View, in schematic form, of a
`ular tothe Xaxis and parallel to the Y-Z plane. Associ-
`typical Work-performing robot, or manipulator, show-
`ated with the link 14is an actuator 28 which1s respon-
`ing the general relationship of the relatively massive
`sive ‘to a position error signal from the robot controller
`robot links and their respectively associated actuators-
`and facilitatesselectiVe, bidirectional, elevational, piv-
`otal movement of the link 14 about horizontal axis 26 to
`and position transducers.
`,
`FIG. 21s a perspeCtive View, in schematic form, of a
`the desired link position. Also associated with the link
`lightweight, hand manipulable simulator robot, or train-
`14 is a positiOn transducer 30 which provides an electri-
`ing arm, showing the general relationship of the simula-
`cal signal correlated to the actual elevational position of
`the link 14 relative to the link 12.
`tor links and associated position transducers.
`.
`FIG. 31s a circuit diagram1n block format of a pre-
`The link 16 at its inner endis connected to the upper
`ferred embodiment of the invention.
`end of the link 14 by a suitable joint for permitting the
`FIG. 4a15 a floW chart of simulator robot data con-
`link 16_ to move in a vertical plane about horizontal axis
`32 which1s parallel to axis 26. A suitable transducer 34
`version for a robot system with which this invention is
`useful.‘ '
`is associated with the link 16 for providing an electrical
`signal correlated to the actual angular elevational posi-
`tion of the link 16 with respect to the link 14. An actua-
`tor 33, associated With the link 16, is responsive to a
`, pOSitio'n error Signal from the robot controller and facil-
`itates selective, bidirectiOnal, eleVational, pivotal move-
`ment of the link 14 about horizontal axis 32 to the de-
`sired l1nk position.
`The actuator 23 Which bidirectionally drives the link
`12'about the X axis provides the work-performing robot
`with one degree of freedom, namely, azimuthal posi-
`tioning motion, while the actuators 28 and 33 which
`bidirectionally drive the link 14 and link 16, respec-
`tively,provide therobot with two degrees of freedom,
`each'in an elevational direction.
`The articulated links 18, 20, and 22 collectively con-
`stitute a wrist. Link 18 at its inner end18 connected via
`a suitable joint to the outer end of the link 16. An actua-
`tor 441s as'Sociated with the wrist member 18 for bidi-
`rectionally rotating, when input with suitable position
`errbr signals from the robot controller, the wrist mem-
`ber 18 to the desired link position about its longitudinal
`axisWhichls coincident with the longitudinal axis of the
`link 16. A suitable position transducer 4618 associated
`with the link 18 for providing an electrical signal corre-
`lated to the actual relative rotational position of the link
`18 with respect to the link 16.
`The link 20 is COnnected at its inner end via a suitable
`joint to the outer end of the link 18 for providing rota-
`
`FIG. 5a15 a flowchart of robot controller program
`execution with position command editingin accordance
`with an embodiment of the invention.
`FIG. 5b'is a flow chart of a positive/negative'incre-
`ment switch subroutine for an embodiment of themven- ,
`tion.
`FIG. 5c1s a flowchart of a return switch subroutine
`for an embodiment of the invention
`'
`FIG 61s a perspective view ofa robot work station,
`including conveyor and workpiece.
`FIG 7 is a plot of the magnitude ofposition com-
`mand versusposition command (time) for an illustrative
`robot program designed to spray coat the workpiece
`shown1n FIG. 6.
`With reference to FIG. 1, a typical work-performing
`robot, or manipulator, with respectto which this'1nven-
`tion is useful for providing real time incrementing of
`position commands motions which the robotis to exe-
`cute relativeto a workpiece contained1n a programmed
`series, is Seen to 1nclude a base 10 which rests on the
`fl00r or other appropriate surface for supporting the
`robot. Extending him the base 10 are plural, series-con-
`nected, elongated, articulated members or links 12, 14,
`16, 18, 20 and 22 which, in the preferred embodiment,
`provide the robot with several, in this instance six, de-
`
`FIG. 4b1s a flow chart of robot controller program
`execution for a robot system with which this invention
`is useful.
`‘
`
`25
`
`30
`
`35
`
`40
`
`45
`
`'
`50
`
`55
`
`60
`
`65
`
`10
`
`10
`
`
`
`4,484,294
`
`‘
`
`10
`
`15
`
`20
`
`25
`
`30
`
`7 .
`tional movement of link 20 about its. longitudinal. axis
`which is perpendicular to the longitudinal axis of .link
`18. An actuator 48 is associated with link 20, and when
`input with suitable position error signals from the robot
`controller, bidirec‘tionally rotates link 20 about its longi»
`tudinal axis perpendicular to the longitudinal axis of link '
`18 to the desired link position. A‘ suitable position trans-
`ducer 50 is also associated with link 20 for providing an ,
`electrical output correlated to the actual rotational posi-
`tion of this link relative to link 18.. _
`Link 22 is’conne’cted‘via a suitable.joint to the'outer
`end of link 20 to: facilitate rotation of link 22 about its
`longitudinal axis which is disposed perpendicularly to
`the longitudinal axis of link 20. An actuatorv52 associ-
`ated with link 22, when input with suitable position
`error signals from the robot controller, facilitates bidi-
`rectional motion of link 22 about its longitudinal axis to
`the desired link position. A transducer 54, also associ-
`ated with link 22, provides an electrical signal output
`correlated to the actual relative rotational position of
`link 22 relative to link 20.
`Link 22 constitutes the mechanical output element of
`the work-performing robot. While the mechanical out-
`put of the robot can be utilized for positioninga wide
`variety of devices, in the preferred form of the inven-
`tion the work-performing robot1s utilized to position a
`spray coating gun 58 having a barrel 58a with a nozzle
`58b which emits coating particles. The gun handle 58c'1s
`mounted to the upper end of the wrist link 22. The gun
`handle 58c mounts aisuitable trigger mechanism 58d
`which, when actuated by a suitable signal-operated
`device (not shown), functions to control theemission of
`coating particles from the nozzle 58b of the spray gun
`58.
`The longitudinal rotational axes of wrist links 18, 20,
`and 22 are mutually perpendicular, and accordingly
`constitute three degrees of freedom forthe robot. These
`three degrees of freedom, coupled with the three de?
`grees of freedom of the links 12, 14, and 16, provide a
`total of six degrees of freedom for the work-performing
`robot
`.
`In the operation of the work-performing robot shown
`in FIG. 1, a series of programmed, i.e., desired link
`position command signals stored in a suitable memory
`device of the robot controller are periodically retrieved
`and compared against the actual link position signals
`provided by the link position transducers 24, 30, 34, 46,
`50, and 54, and'1n response thereto the link positional
`error signals are generated for each of the links 12,14,
`16, 18, 20, and 22. The positional error signals for the
`various links 12, 14, 16, 18, 20, and 22 are then input to
`the various link actuators, 23, 28, 33, 44, 48, and 52,
`which typically are of the servo-controlled electrohye
`draulic type, for moving the links to the desired, or
`programmed, command positions which in turn reduce
`the positional error signals to zero. Thus, the links of the
`work-performing robot of FIG. 1 are driven through
`the programmed sequence of desired motions, or com-
`mand positions, utilizing closed-loop servo techniques,
`by periodically comparing desired position command
`signals retrieved from the memory of the robot control-
`ler with actual link position signals from their associated
`position transducers, and using the resulting positional
`error signals associated with the different links to drive
`the various link actuators to the desired, or pro-
`grammed, command positions.
`Since the robot controller, actuators, position trans-
`ducers, closed-loop servo controls, and the like of the
`
`8
`work-performing robot of FIG. 1 are well known and
`form no part of this invention,
`they are not further
`discussed in detail herein, except to the extent necessary
`to an understanding of- the flow charts of FIGS. 4 and 5.
`The robot simulator, or training arm, shown in FIG.
`2, which1s usefulin preparing a programmed sequence ..
`of motions for input to the work robot for execution
`thereby relative to a workpiece, includes a tripod base .
`110 from which extends vertically a link 112 which is
`connected to the base for rotational movement about a
`vertical axis by a rotary joint 123. A position'transducer
`124 associated with the link 112 and base 110 provides
`an electrical signal correlated to the actual angular
`position of the link 112 relative to the stationary base.
`Pivotally connected to the upper end of the link 112 by
`a rotary joint 128 is a link 114 which pivots about axis
`126. An angular position transducer 130 associated with
`the joint 128 and the link 114 provides an electrical
`signal correlated to the actual angular position of the
`link 114 with respect to the link 112. A link 116 con-
`nects to the link 114 via a rotary joint 133 for pivotal
`movement about axis 132. A11 angular position trans-
`ducer 134 associated With the joint 133 and the link 116
`provides an electrical signal correlated to the actual
`angular position of the link 116 with respect to the link 1
`114.
`
`11
`
`Also included in the robot simulator depicted in FIG.
`2 are links 118, 120, and 122 which are pivotally con-
`nected to links 116, 118, and 120, respectively, via ro-
`tary joints 144, 148, and 152, respectively. Angular
`position transducers 146, 150, and 154 associated with
`the rotary joints 144, 148, and 152, respectively, and the
`links .118, 120, and>122, respectively, provide electrical
`’ signals correlated to the actual angular position of the
`35
`links 118, 120, and 122 with respect to the links 116,118,
`and 120, respectively.
`Mounted to the link 122is a spray gun 158 having a
`barrel 1580, a nozzle 158b, and a handle 158s which
`mounts an ON/OFF switch 158d.
`The length of the links 112, 114, 116, 118, 120, and
`122 of the simulator robot of FIG. 2 are identical to the
`lengths of the links 12, 14, 16, 18, 20, and 22, respec-
`tively, of the work-performing robot shown1n FIG 1.
`Of course, the mass of the links 112,114. 116, 118, 120,
`and 122 of the simulator robot of FIG. 2 are a mere
`fraction of that of their counterpart links 12, 14, 16, 18,
`20, and 22 of the considerably more massive work-per-
`forming robot shown in FIG. 1. Similarly, the joints
`123,128, 133, 144, 148, and 152 of the simulator robot
`permit the same type of pivotal motion between their
`respectively associated links 112, 114, 116. 118, 120, and
`122 as their counterpart rotary actuators 23, 28, 33, 44,
`48, and 52 provide for their respectively associated links
`12, 14, 16, 18, 20, and 22 of the work-performing robot.
`When the spray gun 158 is moved manually by an
`operator grasping the handle 1581: thereof through a
`sequence of motions necessary to spray coat an object,
`which is possible due to its lightweight construction,
`the various links 112, 114, 116, 118, 120, and 122-of the
`simulator robot move through a sequence of motions.
`Simultaneously, the transducers 124, 130, 134, 146, 150,
`and 154 of the simulator robot associated with the vari~
`ous simulator robot links 112, 114, 116, 118, 120, and 122
`provide electrical outputs corresponding to the actual
`sequence of positions, or motions, through which the
`simulator robot links move in the course of manually
`moving the gun through the positions necessary to coat
`the object. These transducer signals corresponding to
`
`50
`
`4s
`
`55
`
`65
`
`11
`
`
`
`4,484,294
`
`10
`
`9
`the actual positions of the different simulator robot links
`can be input directly to the robot controller memory or
`recorded by any suitable means (not shown in FIG. 2)
`and thereafter the recorded signals input to the robot
`controller of the work-performing robot where they are
`compared with signals correlated to the actual work
`robot link positions and link position error signals de-
`rived for input to the work robot link actuators to cause
`the work robot links to reproduce the motion of the
`simulator robot
`links in the manner previously de-
`scribed.
`
`20
`
`In the course of moving the gun 158 associated with
`the simulator robot through the sequence of motions
`necessar