Computer assisted teaching arrangement for conveyor line operation
First Claim
1. In a programmable manipulator, the combination of, a manipulator arm movable in a plurality of axes, a continuously moving conveyor positioned adjacent said programmed manipulator, memory storage means having stored therein a plurality of digital command signals at least some of which correspond to the program step position to which said arm is to be moved, one of said plurality of digital command signals including a digital representation of said conveyor position, one of said command signals for at least one program step including a continuous path mode signal, encoder means for each of said axes and said moving conveyor operative to develop position signals corresponding to the actual position of said arm in said plurality of axes and the actual position of said moving conveyor, address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence, means operative in the absence of said continuous path mode signal for moving said arm to the position represented by said stored command signals, means responsive to said continuous path mode signal for developing a digital signal equal to the difference between a command signal for a program step which includes said continuous path mode signal and the preceding command signal, means for dividing said difference signal into a predetermined number of increments according to said stored digital command signals at a program step which includes said continuous path mode signal, means for producing a series of artificial interpolation command signals equal in number to said predetermined number of increments which differ from said preceding command signals by said increments, means utilizing said artificial interpolation command signals to move said arm in a substantially continuous path, means for detecting the occurrence of a predetermined state of equality between said conveyor positional signal and said artificial conveyor command signal, and means responsive to said detecting means for developing an advance signal operative to control said dividing means to generate said predetermined number of increments.
0 Assignments
0 Petitions
Accused Products
Abstract
A programmable manipulator having an arm which is movable in a plurality of axes and encoder apparatus for the axes operative to develop position signals corresponding to the actual position of the arm is provided adjacent a workpiece moving along a predetermined path, a conveyor for example, to perform a series of programmed operations on the workpiece.
The programmable manipulator is provided with teach-programming apparatus for moving the arm during an initial teaching operation to different positions of the stationary workpiece corresponding to the desired series of operations of the manipulator relative to the stationary workpiece. Further, apparatus is provided for calculating digital representations during the teaching operation representing the positions of the arm accounting for the projected workpiece movement during playback and corresponding to the initial teaching positions relative to the workpiece. The calculated digital representations are than stored for use in controlling movement of the arm during playback with a moving workpiece.
The manipulator control electronics is provided with an interpolation unit which is effective to maintain the manipulator in synchronism with the moving conveyor during playback. This interpolation unit achieves substantially constant velocity dividing the recorded conveyor position signals for successive steps into a predetermined number of increments and utilizing the interpolated increments as artificial command signals.
A velocity mode constant may also be calculated and recorded during the teach mode and utilized in playback to generate velocity command signals to control the manipulator.
-
Citations
92 Claims
-
1. In a programmable manipulator, the combination of, a manipulator arm movable in a plurality of axes, a continuously moving conveyor positioned adjacent said programmed manipulator, memory storage means having stored therein a plurality of digital command signals at least some of which correspond to the program step position to which said arm is to be moved, one of said plurality of digital command signals including a digital representation of said conveyor position, one of said command signals for at least one program step including a continuous path mode signal, encoder means for each of said axes and said moving conveyor operative to develop position signals corresponding to the actual position of said arm in said plurality of axes and the actual position of said moving conveyor, address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence, means operative in the absence of said continuous path mode signal for moving said arm to the position represented by said stored command signals, means responsive to said continuous path mode signal for developing a digital signal equal to the difference between a command signal for a program step which includes said continuous path mode signal and the preceding command signal, means for dividing said difference signal into a predetermined number of increments according to said stored digital command signals at a program step which includes said continuous path mode signal, means for producing a series of artificial interpolation command signals equal in number to said predetermined number of increments which differ from said preceding command signals by said increments, means utilizing said artificial interpolation command signals to move said arm in a substantially continuous path, means for detecting the occurrence of a predetermined state of equality between said conveyor positional signal and said artificial conveyor command signal, and means responsive to said detecting means for developing an advance signal operative to control said dividing means to generate said predetermined number of increments.
-
2. In a programmable manipulator, the combination of, a manipulator arm movable in a plurality of axes, a continuously moving conveyor positioned adjacent said programmed manipulator, memory storage means having stored therein a plurality of digital command signals at least some of which correspond to the program step position to which said arm is to be moved, one of said plurality of digital command signals including a digital representation of said conveyor position, one of said command signals for at least one program step including a mode signal, encoder means for each of said axes and said moving conveyor operative to develop position signals corresponding to the actual position of said arm in said plurality of axes and the actual position of said moving conveyor, address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence, means for moving said arm to the position represented by said stored command signals, means responsive to said mode signal for developing a digital signal equal to the difference between a command signal for a program step which includes said mode signal and the preceding command signal, means for dividing said difference signal into a predetermined number of increments according to said stored digital command signals at a program step which includes said mode signal, means for producing a series of artificial command signals equal in number to said predetermined number of increments which differ from said preceding command signal by said increments, means for detecting the occurrence of the equality of said conveyor positional signal and said artificial conveyor command signal, and programmable counter means responsive to said detecting means for controlling the rate at which said series of artificial command signals are produced.
-
3. In a programmable manipulator, the combination of:
-
a manipulator arm movable in a plurality of axis; a continuously moving conveyor positioned adjacent said programmed manipulator; memory storage means having stored therein a plurality of digital command signals corresponding to different positions of said arm in said axes and different positions of said moving conveyor, at least one of said command signals including a variable interpolation mode signal; encoder means for each of said axes and operative to develop digital position signals corresponding to the actual position of said arm in said plurality of axes; conveyor encoder means for said moving conveyor and operative to develop a digital position signal corresponding to the actual position of said conveyor; address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence; means operative in the absence of said variable interpolation mode signal for moving said arm to the position represented by said stored command signals; means responsive to said variable interpolation mode signal for developing a digital signal equal to the difference between a command signal which includes said variable interpolation mode signal and the preceding command signals; means for producing a predetermined number of artificial command signals comprising means for dividing said difference signal into a number of increments equal to said predetermined number of artificial command signals, means for multiplying each of said increments by a variable integer increasing by one with each successive one of said series of artificial command signals, means for combining said series of multiplied increment products with said preceding command signal to produce said series of artificial command signals; and
means utilizing said artificial command signals to move said arm at a substantially constant velocity. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a programmable manipulator, the combination of:
-
a manipulator arm movable in a plurality of axes; memory storage means having stored therein a plurality of digital command signals at least some of which correspond to the program step position to which said arm is to be moved, one of said plurality of digital command signals corresponding to a digital representation of a reference point on a reference axis which is different from said plurality of manipulator arm axes; encoder means for each of said arm axes operative to develop position signals corresponding to the actual position of said arm in said plurality of axes; encoder means for said reference axis operative to develop position signals corresponding to a predetermined reference point along said reference axis; address means for causing said stored command signals in playback to appear at the output of said memory means in a predetermined sequence; means for moving said arm to the position represented by said stored command signals; means for developing a digital signal equal to the difference between command signals of successive program steps; and means responsive to said difference signal for generating artificial command signals equal in number to a predetermined number according to one of said stored digital command signals, said artificial command signals being generated with a variable duration period as defined by said predetermined number, said artificial command signal generating means including means for detecting the occurrence of a predetermined state of equality between said reference point positional signal and said artificial reference point command signal, said detecting means controlling the generation of said artificial command signals by said command signal generating means.
-
-
13. In a programmable manipulator the combination of, a manipulator arm, means for moving said arm in a plurality of different axes, a continously moving conveyor positioned adjacent said programmed manipulator, memory storage means for storing digital representations corresponding to different positions of said arm in said axes and different positions of said moving conveyor, encoder means for each of said axes and operative to develop position signals corresponding to the actual position of said arm in said plurality of axes, means for storing said position signals in said memory storage means during an initial teaching operation with a static conveyor, means controlled in part by said encoder means for calculating new digital representations which are different from said manipulator arm position signals and correspond to desired new positions of said arm representing said desired initial teaching positions relative to said static conveyor, said means for storing said calculated digital representations in said memory storage means so that said stored digital representations may also act as command signals to control movement of said arm during playback.
-
14. The method of programming a manipulator provided with an arm which is movable in a plurality of axes and having encoder means for said axes operative to develop position signals corresponding to the actual position of said arm in a plurality of axes to perform a series of operations on a workpiece while the workpiece is continuously moving along a predetermined path, which comprises the steps of:
-
moving said arm during an initial teaching operation to different positions of the static workpiece; storing said developed position signals corresponding to said positions of said teaching operation; calculating digital representations utilizing said position signals which are different from said positions in said teaching operation and correspond to desired new positions of said arm representing said initial teaching positions relative to said static workpiece; and storing said calculated digital representations in a memory for use in controlling movement of said arm during playback with a continuously movable workpiece in accordance with said stored calculated digital representations. - View Dependent Claims (15, 16, 17, 18)
-
-
19. In a programmable manipulator, the combination of:
-
a manipulator arm movable in a plurality of axes; a continously moving conveyor positioned adjacent said programmed manipulator; memory storage means having stored therein a plurality of digital command signals corresponding to the program step position to which said arm is to be moved, one of said plurality of digital command signals including a digital representation of said conveyor position, at least one of said command signals including a variable interpolation mode signal; encoder means for each of said axes and said moving conveyor operative to develop position signals corresponding to the actual position of said arm in said plurality of axes and the actual position of said moving conveyor; address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence; means operative in the absence of said variable interpolation mode signal for moving said arm to the position represented by said stored command signals; means responsive to said variable interpolation mode signal for developing a digital signal equal to the difference between a command signal for a program step which includes said variable interpolation mode signal and the preceding command signal; means for producing a predetermined number of interpolation command signals according to a code in said stored digital command signals, said interpolation command signal producing means comprising a multiplier responsive to a control input and arranged to multiply said difference signal by a series of fractions according to said control input, the denominator of said fraction being equal to said predetermined number of interpolation command signals, and the numerator being a variable integer increasing by one with each successive one of said series of interpolation command signals, and means for combining said series of products of multiplied difference signals and fractions with said preceding command signal to produce said series of interpolation command signals; means for detecting the occurrence of a predetermined state of equality of said conveyor encoder positional signal and said interpolation command signal; and means responsive to said detecting means for developing a control signal connected to said control input of said multiplier. - View Dependent Claims (20, 21)
-
-
22. In a programmable manipulator, the combination of:
-
a manipulator arm movable in a plurality of axes; a continuously moving conveyor positioned adjacent said programmed manipulator; memory storage means having stored therein a plurality of digital command signals at least some of which correspond to the program step position to which said arm is to be moved, one of said plurality of digital command signals including a digital representation of said conveyor position, one of said command signals for at least one program step including a velocity mode constant; encoder means for each of said axes and said moving conveyor operative to develop position signals corresponding to the actual position of said arm in said plurality of axes and the actual position of said moving conveyor; address means for causing said stored command signals to appear at the output of said memory in a predetermined sequence; means for moving said arm to the position represented by applied command signals; means responsive to said velocity mode constant for developing a digital signal equal to the difference between a command signal which includes said velocity mode constant and the preceding command signal; means for dividing said difference signal into a predetermined number of increments according to said stored digital command signals; means for producing a series of artificial interpolation command signals equal in number to said predetermined number of increments which differ from said preceding command signals by said increments; means common to said plurality of axes and said conveyor for comparing said digital position signals of said arm in said plurality of axes and said conveyor with said artificial interpolation command signals; means responsive to said stored velocity mode constant and said difference signal for producing a velocity control signal by multiplying said velocity mode constant and said difference signal; and means for combining said velocity control signal and the output of said comparing means to produce an error loop control signal applied to said moving means. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 54)
-
-
39. A digital multiplier responsive to a control input and arranged to multiply a first digital number by a series of fractions according to said control input, said multiplier comprising:
-
a plurality of programmable dividers, each of said dividers having a dividend input connected to said first digital number and a divisor input connected to a predetermined digital number divided by a different power of two starting with 20 and increasing by one for each successive divider, the number of said dividers being equal to the number of binary digits in said predetermined number, a combiner, and an enabling means responsive to said control signal and being connected to each of said quotient outputs of said dividers for selectively connecting said quotient output of each of said dividers to an input of said combiner, the denominator of said series of fractions being equal to said predetermined number and the numerator being a variable integer increasing by one with each successive one of said series of integers in said predetermined number, each of said enabling means having an input representing a binary digit in said predetermined number. - View Dependent Claims (40)
-
-
41. In a programmable manipulator arranged adjacent a workpiece moving along a predetermined path to perform a series of predetermined operations relative to the workpiece the combination of:
-
a manipulator arm movable in a plurality of axes; memory storage means having stored therein a plurality of digital command signals corresponding to the program step position to which said arm is to be moved, at least one of said plurality of digital command signals including a velocity mode constant comprising a digital representation proportional to the reciprocal of the distance to be traversed between successive program steps by the workpiece; address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence; means for developing a digital signal equal to the difference between command signals of successive program steps; means responsive to said stored velocity mode constant, the workpiece velocity and said difference signal for producing a velocity control signal, said velocity control signal producing means comprising means for multiplying said velocity mode constant and said difference signal; and means responsive to said velocity control signal for moving said arm. - View Dependent Claims (42, 43, 44, 45)
-
-
46. In a programmable manipulator arranged adjacent a workpiece moving along a predetermined path to perform a series of predetermined operations relative to the workpiece, the combination of:
-
a manipulator arm movable in a plurality of axes; memory storage means having stored therein a plurality of command signals corresponding to the program step position to which said arm is to be moved, at least one of said plurality of digital command signals including a velocity mode constant comprising a digital representation proportional to the reciprocal of the relative time for the workpiece to traverse a predetermined distance at a projected nominal velocity; address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence; means for developing a digital signal equal to the difference between command signals of successive program steps; means responsive to said stored velocity mode constant, said workpiece velocity and said difference signal for producing a velocity control signal, said velocity control signal producing means comprising means for multiplying said velocity mode constant and said difference signal; and means responsive to said velocity control signal for moving said arm. - View Dependent Claims (47, 48, 49, 50)
-
-
51. In a programmable manipulator for operation adjacent a reference axis, the combination of:
-
a manipulator arm movable in a plurality of axes; memory storage means having stored therein a plurality of digital command signals corresponding to the program step position to which said arm is to be moved, at least one of said plurality of digital command signals including a velocity mode constant representing the reciprocal of the distance to be traversed between successive program steps by a reference point moving along said reference axis; address means for causing said stored command signals to appear at the output of said memory means in a predetermined sequence; means common to said plurality of axes for developing position signals corresponding to the actual position of said arm in said plurality of axes and for comparing said digital position signals with said command signals; means responsive to said stored velocity mode constant and said digital command signals for producing a velocity mode control signal; means for combining said velocity mode control signal and the output of said comparing and position signal developing means to produce an error loop control signal; and means responsive to said combining means for moving said arm to the position represented by said digital command signals. - View Dependent Claims (52, 53)
-
-
55. In a programmable manipulator provided with a manipulator arm which is movable in a plurality of axes, having encoder means for said axes operative to develop position signals corresponding to the actual position of said arm and being arranged adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis, the combination of:
-
means for positioning said arm during an initial teaching operation with a stationary workpiece to different positions corresponding to the desired operations of the manipulator relative to the stationary workpiece; means for calculating signals representing positions of said arm accounting for projected workpiece movement and corresponding to said initial teaching positions relative to said workpiece; and means for storing said calculated arm position signals for use as command signals in controlling movement of said arm in a playback cycle with a moving workpiece. - View Dependent Claims (56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 83, 84, 85)
-
-
57. In a programmable manipulator the combination of, a manipulator arm which is movable in a plurality of axes, said arm being located adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis;
-
means for positioning said arm at a desired location relative to a stationary workpiece during an initial teaching operation; means for calculating the new position in space which said arm should occupy in order to be positioned at said desired location relative to the workpiece assuming a predetermined velocity of said workpiece during a subsequent playback cycle; and means for storing digital representations corresponding to said calculated new position for use as a command signal in controlling movement of said arm during said subsequent playback cycle. - View Dependent Claims (58, 90, 91, 92)
-
-
78. In a programmable manipulator provided with a manipulator arm which is movable in a plurality of axes, having means for developing position signals corresponding to the actual position of said arm in said plurality of axes and arranged adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis, the combination of:
-
means for positioning said arm at different locations relative to a stationary workpiece during an initial teaching operation; means for converting said position signals corresponding to different angular positions of said arm in said plurality of axes for successive taught steps into corresponding Cartesian coordinates; and means for translating said resulting Cartesian coordinates to account for the projected movement of said workpiece in terms of positional displacement units along said reference axis during the projected elapsed time for said arm to traverse the distance between successive taught positions on said workpiece.
-
-
79. In a programmable manipulator provided with a manipulator arm which is movable in a plurality of axes, having means for developing position signals corresponding to the actual position of said arm in said plurality of axes, and arranged adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis, the combination of:
-
means for positioning said arm at different locations relative to a stationary workpiece during an initial teaching operation; means for converting said position signals corresponding to different angular positions of said arm in said plurality of axes for successive taught steps into corresponding Cartesian coordinates; means for calculating the time interval required for said arm to traverse the distance between successive taught positions when the workpiece is moving at a predetermined velocity; and means controlled by said calculating means for translating said resulting Cartesian coordinates to account for movement of said workpiece along said refenece axis during said calculated time interval. - View Dependent Claims (82)
-
-
80. In a programmable manipulator provided with a manipulator arm which is movable in a plurality of axes, having means for developing position signals corresponding to the actual position of said arm in said plurality of axes and arranged adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis, the combination of:
-
means for positioning said arm at different locations relative to a stationary workpiece during an initial teaching operation; means for converting said position signals corresponding to different angular positions of said arm in said plurality of axes for successive taught steps into corresponding Cartesian coordinates; means for calculating the time interval required for said arm to traverse the distance between successive taught locations when said arm is moving at a first predetermined velocity and said workpiece is moving along said reference axis at a second predetermined velocity; and means controlled by said calculating means for translating said resulting Cartesian coordinates to account for movement of said workpiece along said reference axis during said calculated time interval.
-
-
81. In a programmable manipulator provided with a manipulator arm which is movable in a plurality of axes, having means for developing position signals corresponding to the actual position of said arm in said plurality of axes and arranged adjacent a reference axis to perform a series of operations on a workpiece moving along said reference axis, the combination of:
-
means for positioning said arm at different locations relative to a stationary workpiece during an initial teaching operation; means for converting said position signals corresponding to different angular positions of said arm in said plurality of axes for successive taught steps into corresponding Cartesian coordinates; means for calculating the path of movement which is required for said arm when moving at a first predetermined velocity in order to position said arm at the taught location relative to the workpiece when the workpiece is moving at a second predetermined velocity; and means controlled by said calculating means for translating said resulting Cartesian coordinates to values corresponding to said taught location relative to a moving workpiece.
-
-
86. The method of programming a manipulator to perform a series of operations on a workpiece while the workpiece is moving along a predetermined path, the manipulator having an arm which is movable in a plurality of axes and encoder means for said axes operative to develop position signals corresponding to the actual position of said arm, the method comprising the steps of:
-
moving said arm to different positions relative to a stationary workpiece during an initial teaching operation, said positions corresponding to desired operations of the manipulator relative to the stationary workpiece; calculating signals representing manipulator arm positions different from the positions to which said arm is moved during said teaching operation and corresponding to positions of said arm accounting for projected workpiece movement; and storing said calculated signals for use in controlling movement of said arm during playback with a moving workpiece. - View Dependent Claims (87, 88, 89)
-
Specification