Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
APPARATUS AND METHOD FOR USING FORCE FEEDBACK TO TEACH A ROBOT
Document Type and Number:
WIPO Patent Application WO/1992/003769
Kind Code:
A1
Abstract:
Systems for teaching a robot (12) to perform a desired function are useful in many applications. Advantageously, such teach systems may be operated without special training. The subject teach system senses forces and torques being applied to an end effector (16) by an operator. A move signal is created which causes the robot (12) to move the end effector (16) in the direction of the applied force or torque and at a seped being reflective of the magnitude of the applied force or torque. Reference positions are stored in a memory device as the robot (12) moves the end effector (16).

Inventors:
CANNON ROBERT K (US)
Application Number:
PCT/US1991/003609
Publication Date:
March 05, 1992
Filing Date:
May 23, 1991
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CATERPILLAR INC (US)
International Classes:
G05B19/425; (IPC1-7): G05B19/40
Foreign References:
US4408286A1983-10-04
US4367532A1983-01-04
US4283764A1981-08-11
US4243923A1981-01-06
US4156835A1979-05-29
Download PDF:
Claims:
Claims
1. A method for teaching a robot (12) to perform a desired operation, said robot (12) including a robot controller having a memory device (21) , comprising the steps of: sensing a force being applied to the robot (12) and responsively producing a feedback signal; calculating a first movement signal in response to said feedback signal; moving the robot (12) in response to said first movement signal; sensing a plurality of reference positions as the robot (12) moves and responsively producing a plurality of position signals; and storing said position signals in the memory device (21) .
2. A method, as set forth in claim 1, wherein said robot (12) includes an end effector (16) and said force is applied to said end effector (16) .
3. A method, as set forth in claim 1, including the step of modifying said feedback signal in response to said feedback signal exceeding a predetermined constant.
4. A method, as set forth in claim 1, wherein said step of calculating a first movement signal includes the step of calculating a distance signal in response to the magnitude of force applied to the robot.
5. A method, as set forth in claim 4, wherein the speed at which said robot (12) moves is a function of said distance signal.
6. A method, as set forth in claim 1, wherein said step of moving the robot (12) continues for a preselected amount of time and includes the step of producing a second movement signal during said preselected amount of time.
7. An apparatus (10) for teaching a robot (12) to perform a desired operation, said robot (12) including a robot controller (20) having a memory device (21) , comprising: means (14,18) for sensing a force being applied to the robot (12) and responsively producing a feedback signal; means (20) for calculating a movement signal in response o said feedback signal; means (52) for moving the robot (12) in response to said movement signal; means (55) for sensing a plurality of reference positions as the robot (12) moves and responsively producing a plurality of position signals; and means (58) for storing said plurality of position signals in the memory device (21) .
8. An apparatus (10), as set forth in claim 7, wherein said robot (12) includes an end effector (16) and said force is appl i to aid end effector (16).
9. An apparatus (10), as set forth in claim 7, wherein said v ot (12) includes an end effector (16) being positioned in an end effector coordinate system, said means (14,18) for sensing a force and responsively producing a feedback signal includes a force sensor (14) being positioned in a force sensor coordinate system and being connected to said end effector (16) , and said end effector and force sensor coordinate systems are coincident.
10. An apparatus (10), as set forth in claim 9, wherein said feedback and movement signals correspond to mathematical representations of threedimensional vectors in the force sensor and end effector coordinate systems, respectively.
11. An apparatus (10) , as set forth in claim 7, including means for modifying (44) said feedback signal in response to said feedback signal exceeding a predetermined constant.
12. An apparatus (10), as set forth in claim 7, wherein said means (20) for calculating a movement signal includes means (50) for calculating a distance signal in response to the magnitude of force applied to the robot.
13. An apparatus (10), as set forth in claim 12, wherein the speed at which said robot (12) moves along said path is a function of said distance signal.
14. An apparatus (10) for teaching a robot (12) to perform a desired operation, said robot (12) including a robot controller (20) having a memory device (21) , comprising: eans (14,18) for sensing a force being applied to the robot (12) and responsively producing a feedback signal; means (20) for calculating a movement signal in response to said feedback signal; means (55) for sensing a plurality of reference positions as the robot (12) moves and responsively producing a plurality of position signals; means (58) for storing said plurality of position signals in the memory device; means (20) for retrieving said position signals; and means (52) for moving said robot in response to said position signals.
15. An apparatus (10) , as set forth in claim 14, wherein said means (20) for calculating a movement signal includes means (50) for calculating a distance signal in response to the magnitude of force applied to the robot (12) .
16. An apparatus (10) , as set forth in claim 15, wherein the speed at which said robot (12) moves along said path is a function of said distance signal.
17. An apparatus (3* for teaching a robot (12) to perform a desired op on, said robot (12) including a robot controller { ,. . . having a memory device (21) , comprising: an end effector (16) being positioned in an end effector coordinate system, a force sensor (14) being positioned in a force sensor coordinate system, said force sensor (14) being adapted to produce an analog signal corresponding to a mathematical representation of a threedimensional vector in the force sensor coordinate system; means (20) for calculating a digital movement signal in response to receiving said analog signal, said digital movement signal corresponding to a mathematical representation of a threedimensional vector in the end effector coordinate system; means (20) for producing a drive signal in response to said digital movement signal; means (12) for moving the end effector (16) along a path in response to said drive signal; means (55) for sensing a plurality of reference positions as the end effector (16) moves along said path and responsively producing a plurality of position signals; means (58) for storing said plurality of position signals in the memory device (21) ; means (20) for retrieving said position signals; and means (12) for moving said end effector (16) in response to said position signals.
18. An apparatus (10), as set forth in claim 17, wherein said end effector and force sensor coordinate systems are coincident.
Description:
De script ion

APPARATUS AND METHOD FOR USING FORCE FEEDBACK TO TEACH A ROBOT

Technical Field

The invention relates generally to teaching reference points to a robot and, more particularly, to an apparatus and method for teaching reference points to a robot by using force feedback and torque feedback controls.

Background Art

Robots are typically used to perform a number of manufacturing operations such as: welding, grinding, painting, etc. These robots are often used to perform several different functions or to perform the same function on different workpieces. In both instances, the robot must be taught to move an end effector through a series of different motions. To allow the desired flexibility, these robots include control mechanisms having operator interfaces which allow an operator to teach the robot the desired movements and functions. U.S. Pat. No. 4,511,985 issued Apr. 16, 1985 to Inaba et al. discloses a robot control system that includes a teach pendant. An operator uses the teach pendant to instruct the robot to perform the desired function. The teach pendant includes a series of buttons corresponding to the desired motions and functions. The signals created when the buttons are actuated are stored in a memory device and are retrieved when the robot is instructed to perform the desired function. This teach method is cumbersome and inefficient because each movement requires a button to

be actuated and because it is difficult to mentally translate a desired movement of the robot end effector to a series of buttons. In addition, more buttons must be actuated in order to change the speed at which the robot operates. Furthermore, operators who are highly skilled in the manufacturing operation of interest are typically not skilled robot operators. Therefore, the function being taught to the robot either does not accurately represent the motions that would be carried out if a human operator performed the function, or the operator must undergo training in order to efficiently teach the robot.

U.S. Pat. No. 4,105,937 issued Aug. 8, 1978 to Tuda et al. discloses the method of teaching a robot by physically moving the robot end effector through the desired motions. The movement of each portion of the robot is sensed by a plurality of sensors which create signals in response to the motions and store the signals in a memory device. The signals are then retrieved by the controller when the robot is instructed to perform the desired operation. While this method does not require any special skills on the part of the operator, the method is not practical for use with very large robots, such as those used to paint large construction equipment. Typical operators are simply not physically strong enough to move the large robots along the desired path in a smooth motion. As a result, the movements being taught to the robot do not resemble the smooth motions that the tool would make if a human performed the function. In some cases, the operator may not be able to move the robot at all.

The present invention is directed to overcoming one or more of the problems set forth above.

Disclosure of the Invention

The invention avoids the disadvantages of known robot teaching controls and provides a system that is usable in conjunction with existing robot control systems and allows an operator having a limited amount of training to efficiently teach a robot to perform a desired function.

In one aspect of the present invention, a method for teaching a robot to perform a desired operation is provided. The robot includes an end effector and a robot controller having a memory device. The method includes the steps of sensing a force applied to the end effector and calculating a movement signal in response to the force. The end effector is then moved along a path in response to the movement signal and a plurality of reference positions are sensed and stored.

In another aspect of the invention, an apparatus for teaching a robot to perform a desired function is provided. The robot includes an end effector and a robot controller having a memory device. The apparatus includes a device that senses forces applied to the end effector and a device that calculates a movement signal in response to the applied force. Another device causes the robot to move in response to the movement signal. A plurality of reference positions along the path are sensed and stored in a memory device.

The invention also includes other features and advantages which will become apparent from a more detailed study of the drawings and specification.

Brief Description of the Drawings

For a better understanding of the present invention, reference may be made to the accompanying

drawings in which:

FIG. 1 is a block diagram of an embodiment of the present invention;

FIG. 2 is a flow chart of an algorithm used in the embodiment of FIG. 1;

FIG. 3 is a flow chart illustrating details of a portion of the algorithm of FIG. 2; and

FIG. 4 is a flow chart illustrating details of a portion of the algorithm of FIG. 2.

Best Mode for Carrying Out the Invention

As illustrated in FIG. 1, a robot teaching apparatus is shown generally by the reference number 10. A robot 12 is shown having a force/torque sensor 14 and an end effector 16. The force/torque sensor 14 produces analog signals that are a function of the magnitude and direction of the force and torque being applied to the end effector and is of a type well-known in the art. The end effector 16 can be a paint nozzle, a deburring apparatus, a welding device, or any other tool used in conjunction with a robot. Even though the invention is described with respect to forces or torques being applied to the end effector 16, it should be understood that the invention is equally operable in the absence of an end effector if the force/torque sensor includes an appendage or other feature which an operator can engage in a manner similar to that of the end effector 16.

The force/torque sensor 14 is connected to a force sensor controller 18 which receives the analog signal from the force/torque sensor 14 and converts it to a digital feedback signal. A robot controller 20 is connected to the force sensor controller 18, receives the feedback signal, and converts the feedback signal to a movement signal which represents

the parameters of a movement vector. The robot controller 20 is also connected to a teach pendant 22 and to the robot 12. The robot controller 20 includes a memory device 21. The pendant 22 includes an operator interface (not shown) and is used to activate the robot controller 20 in an auto-teach mode in which the robot is taught to perform a desired function in response to forces being applied to the end effector 16 and other operational parameters entered by the operator via the teach pendant 22. The pendant 22 may also activate the robot controller 20 in a run mode in which the robot performs the taught functions. In addition, the pendant 22 may be used to associate a particular tool or workpiece with a particular path, to adjust the sensitivity of the robotic sensors, to adjust the robot's speed, or to cause the robot controller 20 to only be responsive to forces applied in certain directions.

As is well known in the art, the robot controller includes a number of reference positions stored in memory 21 which represent the series of positions through which the robot _.2 moves during the performance of the desired function. When the robot is activated in the run mode, the robot controller 20 retrieves the reference positions and other operational parameters and creates move signals which cause the robot 12 to move through each of the reference positions.

The force/torque sensor 14 is positioned in a force sensor coordinate system which is a three-dimensional set of coordinates having an origin or reference point in fixed relation to a preselected point on the force/torque sensor 14. The end effector 16 is positioned in an end effector coordinate system which is a three-dimensional set of coordinates having

an origin or reference point in fixed relation to a preselected point on the end effector 16. In the preferred embodiment, the force sensor and end effector coordinate systems are coincident. The origins or reference points are in the same spatial position and the axes of the coordinates are co-linear. The coordinate systems are preferably of the same type, i.e. cartesian, cylindrical, spherical. However, the coordinate systems can differ if the robot controller 20 includes a means to transform coordinate systems.

The analog signal from the force/torque sensor 14 represents a three-dimensional feedback vector which has a magnitude and direction corresponding to the magnitude and direction of the force applied to the end effector. The feedback signal corresponds to a binary representation of the variables defining the three-dimensional feedback vector in the force sensor coordinate system. The memory device in the robot controller 20 includes data registers to store the variables defining the feedback vector.

Referring to FIG. 2, a flow chart is shown outlining the general operation of the robot controller 20. In block 24, the controller begins by determining if an auto-teach button on the pendant 22 is actuated. If a safety button (not shown) is actuated 26, then the robot controller 20 obtains 28 force/torque data from the force sensor controller 18. As best shown in FIG. 3, the robot controller 20 requests 32 the force sensor controller 18 to produce the feedback signal in response to the acquired force/torque data and to transmit the feedback signal to the robot controller 20. If the robot controller 20 does not receive the feedback signal from the force

sensor controller 18 in a preselected amount of time 34, then an error message is displayed 36 and the algorithm pauses 38 until an operator resolves the problem 40 or instructs the robot controller 20 to proceed. The preselected amount of time is strictly a matter of design choice. If the feedback signal is received by the robot controller in the preselected amount of time, then the variables represented by the feedback signal are stored 42 in the memory device 21. The robot controller 20 then calculates 30 the movement signal in response to the stored feedback vector variables. In the preferred embodiment, the parameters of the movement vector represent the desired direction of motion and the distance to be moved during a predetermined amount of time in the end effector coordinate system. The distance to be moved during the predetermined amount of time is proportional to the magnitude of the applied force. Since the amount of time during which movement is completed is constant regardless of the distance to be moved, the speed at which the end effector 16 moves is proportional to the distance moved. Referring now to Fig. 4, the robot controller 20 compares 44 the variables which define the feedback vector to a series of respective predetermined constants chosen to reflect the maximum velocity that the end effector 16 can move in any given direction. In the case of torque being applied to the end effector 16, the predetermined constant correlates to a maximum speed of rotation of the end effector 16. If any of the variables exceed their respective predetermined constant, then that variabxe is replaced 46 by the value of the predetermined constant.

Each variable is multiplied 48 by a respective scale factor. Since the feedback vector

represents the forces and torques applied to the end effector 16 but the desired movement vector represents the direction and distance of the motion of the end effector 16, the scale factors are needed to adjust the sensed magnitudes of the variables to a level at which they represent the components of the desired movement vector. Without the scale factors, the resulting movement vector will not correspond to the desired motion when a given force is applied to the end effector 16. The value of each of the scale factors is chosen in response to the relative magnitude of the output of the force sensor controller 18 and the corresponding magnitude of the movement vector that causes the robot 12 to move the end effector 16 the desired distance. It should be recognized that in some applications the operator may want the apparatus 10 to be responsive to only certain directions of applied force while being non-responsive to forces applied in other directions. In such a case, the scale factors corresponding to the latter directions may be zero. The components of the movement vector are stored in the memory device 21.

The robot controller 20 then transmits 52 a drive signal to the robot 12 to cause it to move the end effector 16 the distance in the direction corresponding to the magnitude and direction of the force or torque applied to the end effector 16. The drive signal includes the necessary information to cause each of the robot's component parts and axes of rotation to move such that the end effector 12 moves the distance in the direction represented by the movement vector 50. The means used by the robot controller 20 to convert the movement signal to the drive signal are well-known in the art and are

dependent on the robot 12 and controller being used in the application.

The drive signal is maintained for the preselected amount of time during which the force sensor controller 18 acquires new data reflecting the forces applied to the end effector 16, and the robot controller 20 calculates a new movement signal, provided force is being applied to the robot 12. In this way, the components of a new movement vector are present in the robot controller 20 before the previous motion is completed. Therefore, the robot controZ: " *er 20 can provide a new drive signal immediately following the predetermined amount of time. The resulting motion of the robot is smooth and uninterrupted. In the preferred embodiment, the preselected amount of time is substan ially equal to the time required to obtain new data and calculate a new movement vector.

The robot 12 includes a plurality of position sensors 55 which sense the position of each component and axis of rotation of the robot and consequently the location of the end effector coordinate system. The position sensors 55 produce signals representative of the sensed positions and deliver these signals to the robot controller 20. If the robot controller 20 is in the auto-teach mode 54, the robot cont r oller 20 compares 56 the distance that the end effector has been moved since it last recorded a reference position to a maximum distance. If the distance moved is greater than the maximum distance, ■* e position sensor signals are stored 58 in the E.-mory device 21 and repreε nt a reference position. If the distance moved is leias than the maximum distance, the algorithm proceeds back to block 26. The maximum distance is chosen in response to the

desired degree to which the motion performed by the robot 12 in the run mode reflects the motion performed in the auto-teach mode. Alternatively, the operator can move the robot through a series of desired positions at which the operator manually causes the robot controller 20 to store the position sensor signals.

Industrial Applicability The operation of an embodiment of the present invention is best described in relation to its use in teaching a robot a new series of movements or functions.

An operator uses the pendant 22 to activate the robot controller 20 in the auto-teach mode. The operator then grasps the end effector 16 and begins to move the end effector 16 through a series of motions as if the operator was manually performing the function. The forces and torques being applied to the end effector are sensed by the force/torque sensor 14 which creates an analog signal in response to the forces and torques and delivers the analog signal to the force sensor controller 18.

The force sensor controller 18 produces a feedback signal which represents the magnitude and direction of the forces and torques applied to the end effector 16. The feedback signal is delivered to the robot controller 20 which responsively produces a drive signal that causes the robot 12 to move the end effector in the direction of the applied force and at a speed and distance that is proportional to the magnitude of the applied force. The robot continues to move in this direction and at this speed for a predetermined amount of time during which a new drive signal is produced if a force is still being applied

to the end effecto 6. After the end effector has moved a predetermined distance, the robot controller 20 stores a series of signals representing the position of the robot 12 at that time. In the run mode, the robot controller 20 retrieves the stored position data and causes the robot 12 to move through each of the reference positions.

Therefore, the system allows the operator to teach a robot to move the end effector 16 as if a human operator was performing the function manually. The invention is applicable to any robot having a force/torque sensor and an appropriate controller and allows an operator having little or no skill in programming robots to teach the manufacturing operation to the robot.

Any specific values used in the above descriptions should be viewed as exemplary only and not as limitations. Other aspects, objects, and advantages of this invention can be obtained from a study of the drawings, the disclosure, and the appended claims.