Program control system for manipulator
Abstract
A program control system is disclosed wherein the coordinates of a plurality of specified points of a prescribed path in the space to be traced by a manipulator assembly which are spaced apart from each other by a line segment of the same unit length are stored in a storage device in a teaching mode, and one set of coordinates of the adjacent specified points are simultaneously and sequentially read out from the storage device in a repeat mode so that the position command signals or coordinates of a plurality of interpolation points between the adjacent specified points are obtained by linear interpolation and are sequentially compared, at a predetermined time interval, with the actual or present positions of the manipulator assembly. The manipulator assembly is displaced at a velocity corresponding to the difference between the position command signal and the actual or present position signal so that the difference may become zero.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A program control system for controlling the motions of a manipulator assembly for tracing a prescribed path in space comprising: a. encoder means for generating position information representative of the coordinates of a plurality of specified points of said prescribed path in space which are spaced apart from each other solely by line segments of the same unit length, b. storage means connected to said encoder means for storing therein in addressable locations said specified position information representative of the coordinates of said plurality of specified points of said prescribed path which are spaced apart from each other by line segments of the same unit length, c. means for receiving a pulsatory clock signal, address counter means responsive to said clock signal for periodically generating addresses of said storage means at regularly spaced intervals, said clock signal receiving means and address counter means comprising reader means for reading from said storage means at a predetermined time interval the specified position information representative of the coordinates of the adjacent specified points as one set of the specified position information, d. interpolation arithmetic means for sequentially providing the coordinates of N interpolation points as position command signals between said adjacent specified points by linear interpolation based upon said set of specified position information, e. detecting means for sequentially comparing said position command signals with the signals representative of the actual or present position of said manipulator assembly and for generating a signal representing the difference between said two signals, and f. means for moving said manipulator assembly at a velocity corresponding to said signal representing the difference between said two signals so that the difference between said two signals may become zero.
2. A program control system as defined in claim 1 further comprising means for integrating the signals each representing the difference between the position command signal at each interpolation point and the signal representative of the actual or present position of said manipulator assembly so that said manipulator assembly may be displaced at a velocity corresponding to the resulting integrated value.
3. A program control system as defined in claim 1, wherein the manipulator assembly has four degrees of freedom, further comprising scanning means for sequentially transferring the digital signals corresponding to the coordinates of each point into the storage means, and switch means connected to said scanner for providing said sequential digital signals to said detector means whereby the coordinates of the manipulator assembly are sequentially available for comparison with said coordinates from said interpolation arithmetic means.
4. A program control system as defined in claim 1, wherein said manipulator assembly further comprises a hand assembly for gripping objects, address counter means for providing a unique output signal corresponding to each position command signal, said storage means further comprising means for storing a hand motion signal at a storage location corresponding to at least one of the output signals from said address counter means and decoder means connected to said storage means and responsive to the reading from said storage means of the specified position information at a storage location corresponding to said at least one of said output signals of said address counter means and for providing hand motion signals to said hand assembly.
5. A program control system as defined in claim 1, wherein said interpolation arithmetic means comprises a first register, a second register, means for transferring the position information corresponding to two adjacent positions into said first and second register, means for subtracting the contents of said first and second register, shift circuit means for dividing the output of said subtraction means by N where N is equal to a positive integer, multiplier means for sequentially multiplying the output of said shift circuit means by integers between 1 and 10 and combining means for combining the output of said subtraction means with the output of said multiplier means thereby sequentially providing the coordinates of N interpolation points. .Iadd. 6. In a programmable manipulator apparatus having a manipulator arm movable in a plurality of controllable axes, the combination of: storage means having stored therein a plurality of command signals at addressable locations, said position signals representing the position of said manipulator arm in said plurality of controllable axes; address means for controlling the read out of said command signals from said storage means; linear interpolation means responsive to two predetermined command signals read out of said storage means for generating a series of interpolation command signals representing a series of substantially, equally spaced positions between said command signals for each of said axes, said linear interpolation command signal generating means comprising means for sequentially multiplying the difference between said two command signals by a predetermined series of multiplication factors in accordance with a linear interpolation operation to provide a series of products; means for successively combining a predetermined one of said two command signals with each of said products to provide said series of interpolation command signals; and means responsive to said series of interpolation command signals for controlling the movement of said manipulator arm between the positions represented by said two command signals. .Iaddend..Iadd. 7. The programmable manipulator apparatus of claim 6 wherein said multiplying means comprises means for developing a digital signal, d, equal to the difference between said two command signals for each of said axes. .Iaddend. .Iadd. 8. The programmable manipulator apparatus of claim 7 wherein said multiplying means further comprises means for dividing said digital difference signal d by a predetermined factor n equal to the number of interpolation command signals, and sequential means for developing a product equal to the divided digital difference signal d/n multiplied by a factor m, where m varies from 1 to n. .Iaddend..Iadd. 9. The programmable manipulator apparatus of claim 8 wherein said multiplying means further comprises sequential advancing means for controlling the sequential advancing of said sequential product developing means. .Iaddend..Iadd. 10. The programmable manipulator apparatus of claim 6 wherein said movement controlling means comprises encoder means for each of said axes operative to develop encoder position signals representing the position of said arm in each of said axes and means for comparing said encoder position signals with said interpolation command signals. .Iaddend..Iadd. 11. The programmable manipulator apparatus of claim 10 wherein said comparing means is operative to develop a digital output signal equal to the difference between said respective encoder position signals and said interpolation command signals. .Iaddend..Iadd. 12. The programmable manipulator apparatus of claim 11 wherein said movement controlling means further comprises motive means responsive to said digital output signal of said comparing means to move said manipulator arm in said axes toward the position represented by said interpolation command signal. .Iaddend. .Iadd. 13. The programmable manipulator apparatus of claim 12 wherein said linear interpolation command signal generating means further comprises means for controlling the sequential advancing of said multiplying means to multiply by said predetermined series of multiplication factors. .Iaddend..Iadd. 14. The programmable manipulator apparatus of claim 13 wherein said motive means comprises means for moving said manipulator arm at a velocity corresponding to said digital output signal of said comparing means. .Iaddend..Iadd. 15. The programmable manipulator apparatus of claim 10 further comprising teach means for recording said encoder position signals into said storage means during a teaching phase as said manipulator arm is moved over a desired path. .Iaddend..Iadd. 16. The programmable manipulator apparatus of claim 15 further comprising mode means for controlling the operation of said manipulator apparatus in a first teach mode and a second repeat mode. .Iaddend..Iadd. 17. The programmable manipulator apparatus of claim 16 wherein said mode controlling means comprises switch means for providing said encoder position signals to said teach recording means in said teach mode and for providing said encoder position signals to said comparing means in said repeat mode. .Iaddend. .Iadd. 18. The programmable manipulator apparatus of claim 6 further comprising multiplex means for controlling the operation of said linear interpolation command signal generating means and said address read out controlling means for each of said axes, each of said linear interpolation command signals in said series comprising an axis interpolation command signal for each of said axes. .Iaddend..Iadd. 19. The programmable manipulator apparatus of claim 18 wherein said multiplex controlling means comprises scanning means to define a sequential multiplex scan sequence, said multiplex scan sequence defining a scan interval for each of said axes. .Iaddend..Iadd. 20. The programmable manipulator apparatus of claim 6 wherein said linear interpolation command signal generating means further comprises storage register means for storing each of said two command signals. .Iaddend..Iadd. 21. The programmable manipulator apparatus of claim 6 further comprising timing means for sequentially advancing the operations of said linear interpolation command signal generating means to generate said series of interpolation command signals. .Iaddend..Iadd. 22. The programmable manipulator apparatus of claim 6 further comprising storage control means for sequentially advancing said address read out controlling means. .Iaddend. .Iadd. 23. The programmable manipulator apparatus of claim 6 wherein said two command signals represent two manipulator arm positions taught and recorded during a teach phase. .Iaddend..Iadd. 24. The programmable manipulator apparatus of claim 6 wherein said address read out controlling means comprises means for reading out two command signals having successive address locations. .Iaddend..Iadd. 25. The programmable manipulator apparatus of claim 6 wherein each of said command signals comprises an axis position signal for each of said axes. .Iaddend..Iadd. 26. The programmable manipulator apparatus of claim 6 wherein a first of said two command signals represents a first manipulator arm position along a predetermined work path to which said manipulator arm has been moved and said second command signal represents a second manipulator arm position along said work path to which said manipulator arm is to be moved. .Iaddend..Iadd. 27. The programmable manipulator apparatus of claim 6 further comprising means for alternately controlling said address read out controlling means to address and read out a first of said two command signals during a first time interval and said second command signal during a second time interval. .Iaddend..Iadd. 28. A linear interpolation unit for generating command signals to control the movement of a programmed manipulator apparatus of the type having a manipulator arm movable in a plurality of controllable axes and an addressable series of stored command signals representing positions of the arm in each of the axes, said linear interpolation unit comprising: means for reading out two successive ones of said stored command signals; means for subtracting said two command signals; means for successively multiplying the output of said subtracting means by a predetermined series of multipliers to generate a series of substantially equally spaced incremental command signals; and means for successively combining each of the incremental command signals in said series with one of said two command signals to generate interpolation command signals representing a sequence of substantially equally spaced positions of said arm in each of said axes between the arm positions represented by said two successive stored command signals. .Iaddend..Iadd. 29. In a programmable manipulator apparatus having a manipulator arm movable in a plurality of controllable axes, the combination of: storage means having stored therein an addressable series of command signals for each of said controllable axes, said command signals representing positions of said manipulator arm in said plurality of controllable axes; means for controlling the read out of said command signals by addressing said storage means; linear interpolation means responsive to two successive command signals read out of said storage means for generating a series of interpolation command signals representing a predetermined number of sequential, substantially equally spaced positions between said two successive command signals, said linear interpolation generating means comprising means for multiplying the difference between said two successive command signals by a predetermined multiplication factor in accordance with a linear interpolation operation; and means responsive to one of said two successive command signals and said series of interpolation command signals for moving said manipulator arm between the positions represented by said two successive command signals. .Iaddend..Iadd. 30. A linear interpolation unit for generating interpolation command signals to control the movement of a programmable manipulator having a manipulator arm movable in a plurality of controllable axes and having stored therein an addressable series of position signals representing positions of the manipulator arm in the plurality of axes, said linear interpolation unit comprising: means for developing a digital difference signal representing the difference between two successive stored position signals; means for dividing said digital difference signal into a predetermined number of increments and for multiplying said increments by a variable integer multiplier to generate a series of multiplied interpolation increment signals representing equally spaced incremental positions between said two successive stored position signals; said variable integer multiplier increasing by one for each sequential interpolation increment signal in said series; and means for combining said multiplied interpolation increment signals with one of said two successive stored position signals to generate said interpolation command signals. .Iaddend.Join the waitlist — get patent alerts
Track USRE30132E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.