Background of the Invention
The present invention relates to automatic machines, and particularly to automatic machines to the type having moving parts which have more than one degree of freedom and which can be controlled by actuators to perform different movements in accordance with a program stored in a memory of the machine. In one type of such machine the program is fed into the memory by manually displacing the moving parts through the required path to generate, by means of position transducers connected to the parts, signals representing the movements, which signals are recorded in some way in the memory and subsequently used to control the actuators.
One known type of such automatic machine has an articulated mechanical arm movable with several degrees of freedom by a number of actuators. The arm is connected to position transducers the outputs of which feed a memorizing and processing device which can control the actuators. An automatic machine of this type is usually referred to as a "robot".
Known methods for controlling such "robots" comprise a learning stage in which the operator moves the free end of the arm through the required path so as to generate in the position transducers electrical signals in the form of sequential numerical data representing in quantized form the spatial co-ordinates of the sequence of points which constitute the path of the free end of the arm in space, this data being memorized in the memory. The memorized data can then be used to control the actuators to move the arm so that it reproduces the movement it has been "taught" by the initial manual movement. Normally, because of the large amount of information which may be contained in the sequential numerical data representing the movement of the arm, a high capacity memory means, such as, for example, a magnetic tape, is used as the memory.
However, where such a memory is required to be read a large number of times in order to control the robot to repeat its movement a large number of times, there is the disadvantage of heavy wear of the magnetic tape, and this inevitably involves alteration of some of the memorized information, leading to a reduction in the reliability of faithful reproduction of the required path by the free end of the mechanical arm of the robot. The use of more reliable means of memorization, such as magnetic discs, is not convenient from the point of view of economy because of the large amount of information to be recorded in order to represent exactly the path of the arm.
Summary of the Invention
The object of the present invention is to provide a robot of the type described above, in which the disadvantage of tape wear is overcome, and also to provide a system for controlling such a robot.
According to the present invention there is provided a control system for an automatic machine provided with an articulated mechanical arm movable with several degrees of freedom to cause its free end to describe any selected spatial path, comprising position transducer means sensitive to the position of the arm and operable to produce output signals representing the position of the arm, memorizing and processing means for storing data representing the output signals from the transducers, and thus representing the movement of the arm, and actuator means controllable by signals from the memorizing and processing means to reproduce the movement of the arm memorized therein, of the type in which the data stored in the memory is recorded in a first operating stage during which an operator moves the arm through a required movement and the output signals from the position transducers are stored in the memory as sequential numerical data, characterized in that there are further provided means for processing the data memorized in the memory following the manual handling of the arm so as to generate modified sequential numerical data representing the spatial co-ordinates of the significant points of a line which approximates the said path of the arm, a second memory for memorizing the modified sequential numerical data, and means for controlling the actuators by signals derived from the same modified sequential data stored in the second memory.
It has been established that the sequential numerical data representing the spatial co-ordinates of the path of the free end of the arm, generated and memorized during the learning stage, in fact consist of a plurality of sets of sequential numerical data, each set of data representing the movements of the arm of the robot appropriate to one single degree of freedom. The generation of the modified sequential numerical data and the memorization of the modified sequential data may thus be performed separately on all the sets of data representing individual degrees of freedom.
Brief Description of the Drawings
One embodiment of this invention will now be more particularly described, by way of example, with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram of a system in accordance with the invention for controlling a robot of the type having a mechanical arm movable with several degrees of freedom; and
FIG. 2 is a diagram illustrating the movement of the arm of the robot relative to one degree of freedom.
Description of the Preferred Embodiment
Referring now to FIG. 1, there is shown a robot 1 having an articulated mechanical arm (not shown) movable with several degrees of freedom so that its free end can describe a spatial trajectory. The arm is connected to position transducers 2, and to actuators 3. The robot 1 is also connected by means of an interfacing circuit 4 to a mini-processor 5, which latter is connected to a memory 6.
The mini-processor 5 used may be, for example, a mini-processor of the type ULP-12, made by FIAT S.p.A., having a central magnetic core memory which can extend to 32 K words of 16 bits. The robot 1 may be, for example, a TRALLFA painting robot having a mechanical arm movable with five degrees of freedom; the memory 6 may be, for example, a magnetic tape recorder of the H7 type, series RCT, produced by REMEX.
The system outlined above operates as follows:
First, the robot must be "taught" the movement required for any operation. For this an operator displaces the free end of the robot's mechanical arm through the required path with the position transducers 2 switched on to produce sequential numerical data representing the spatial coordinates of a sequence of points constituting the path followed by the arm as it is moved by the operator. This information is fed to the memory 6 by the interface 4 and the mini-processor 5, and is stored.
Subsequently the sequential numerical data memorized by the memory 6 following the manual handling of the arm, is processed by the mini-processor 5 so as to generate modified sequential numerical data representing the spatial co-ordinates of a sequence of the significant points of a line which approximates the said path of the free end of the arm. The modified sequential numerical data is then memorized in the central memory of the mini-calculator 5.
When it is desired to control the arm of the robot to move, the mini-processor 5 operates to read and to process the modified data so as to control the actuator means 3 connected to the arm, so that the free end of the arm describes a path which faithfully follows the said approximation line.
In the learning stage of the procedure, when the arm of the robot is guided manually by the operator who follows a chosen path, the sequential numerical data representing the spatial co-ordinates of the points along the actual path can be considered to comprise a plurality of sets of sequential numerical data, each set of data representing the movements S of the arm of the robot according to one single degree of freedom (curve 7 of FIG. 2). The whole of the sequential numerical data is recorded on the magnetic tape of the memory 6. The said points of the actual path are also acquired in the form of paired numerical values for each degree of freedom.
The acquisition rate is 5 thousandths of a second for each degree of freedom, hence the complete position information for the five degrees of freedom of the mechanical arm of the robot 1 is arrived at every 25 milliseconds. After this initial "learning" stage, the sets of data relative to each single degree of freedom are transferred successively and singly for each degree of freedom from the magnetic tape of the memory 6 to the central memory of the mini-processor 5. The subsequent processing procedure is thus performed separately for each individual degree of freedom.
The sets of data which are present in the central memory of the processor 5 are converted into numerical values so that they can be mathematically processed. This mathematical processing, carried out by the mini-processor 5 generates, for each degree of freedom, a set of modified sequential numerical data representing all the significant points 9 of an approximation line 8, which approximates the actual displacement of the arm as represented by the line 7 of FIG. 2. The sets of modified data, representing the approximation line 8, are transferred back into the memory 6. All the aforesaid operations of the second processing stage are repeated successively for each degree of freedom.
The sets of modified data, representing the various approximations of the displacement of the arm for respective degrees of freedom, now recorded on the magnetic tape memory 6, are then transferred to the central core memory of the mini-processor 5.
When the arm is to be moved by the actuators 3 the mini-processor 5, processing the sets of modified data present in its central memory, reconstructs the approximation line 8 for each degree of freedom and these approximation lines 8 are used, by means of the interface 4, to generate the signals which control the actuators 3 of the robot 1 so that the free end of the arm follows a path which faithfully reproduces the approximation to the initial displacement.
The magnetic tape memory 6 is thus used only during the three learning-processing stages of the operating procedure, whilst only the central core memory of the mini-processor 5 is used during any subsequent operating stage in which the arm of the robot is caused to displace along a path approximately following the initial path through which it was displaced by the operator in the learning stage. If it is wished to vary the precision of the approximation curves, it is not necessary to repreat the whole process, but only the processing stage and the memorizing stage.