WO1992003769A1 - Apparatus and method for using force feedback to teach a robot - Google Patents

Apparatus and method for using force feedback to teach a robot Download PDF

Info

Publication number
WO1992003769A1
WO1992003769A1 PCT/US1991/003609 US9103609W WO9203769A1 WO 1992003769 A1 WO1992003769 A1 WO 1992003769A1 US 9103609 W US9103609 W US 9103609W WO 9203769 A1 WO9203769 A1 WO 9203769A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
end effector
signal
response
force
Prior art date
Application number
PCT/US1991/003609
Other languages
French (fr)
Inventor
Robert K. Cannon
Original Assignee
Caterpillar Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Caterpillar Inc. filed Critical Caterpillar Inc.
Publication of WO1992003769A1 publication Critical patent/WO1992003769A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector

Definitions

  • 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.
  • 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.
  • 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.
  • more buttons must be actuated in order to change the speed at which the robot operates.
  • 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.
  • a method for teaching a robot to perform a desired operation 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.
  • an apparatus for teaching a robot to perform a desired function 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.
  • 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;
  • FIG. 4 is a flow chart illustrating details of a portion of the algorithm of FIG. 2.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the robot controller 20 calculates a new movement signal, provided force is being applied to the robot 12.
  • 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.
  • 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.
  • An operator uses the pendant 22 to activate the robot controller 20 in the auto-teach mode.
  • the operator 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.
  • 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.
  • 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.

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).

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 controller 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.

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 three-dimensional 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 three-dimensional 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 three-dimensional 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.
PCT/US1991/003609 1990-08-20 1991-05-23 Apparatus and method for using force feedback to teach a robot WO1992003769A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56931190A 1990-08-20 1990-08-20
US569,311 1990-08-20

Publications (1)

Publication Number Publication Date
WO1992003769A1 true WO1992003769A1 (en) 1992-03-05

Family

ID=24274908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1991/003609 WO1992003769A1 (en) 1990-08-20 1991-05-23 Apparatus and method for using force feedback to teach a robot

Country Status (2)

Country Link
AU (1) AU7960291A (en)
WO (1) WO1992003769A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0850730A1 (en) * 1995-09-14 1998-07-01 Kabushiki Kaisha Yaskawa Denki Teaching unit for robots
WO1998053376A1 (en) * 1997-05-22 1998-11-26 Eshed Robotec (1982) Ltd. Method and apparatus for the direct teaching of automatic machines
WO2000060427A1 (en) * 1999-04-01 2000-10-12 Abb Ab Equipment for controlling an industrial robot and a method for programming and/or adjusting the movements of the robot
US6519169B1 (en) 1999-03-29 2003-02-11 Abb Ab Multiphase inverter with series of connected phase legs
US6553652B2 (en) * 1997-10-22 2003-04-29 Fanuc Ltd. Force controlling robot
EP2000872A2 (en) 2007-06-06 2008-12-10 KUKA Roboter GmbH Industrial robot and method for programming an industrial robot
US9274014B2 (en) 2013-03-12 2016-03-01 Stryker Corporation Sensor assembly and method for measuring forces and torques
CN107790313A (en) * 2016-08-30 2018-03-13 精工爱普生株式会社 control device, robot and robot system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156835A (en) * 1974-05-29 1979-05-29 Massachusetts Institute Of Technology Servo-controlled mobility device
US4243923A (en) * 1979-01-22 1981-01-06 Massachusetts Institute Of Technology Servo-controlled mobility device
US4283764A (en) * 1979-10-12 1981-08-11 Nordson Corporation Manually programmable robot with power-assisted motion during programming
US4367532A (en) * 1979-10-12 1983-01-04 Nordson Corporation Manually programmable robot with power-assisted motion during programming
US4408286A (en) * 1979-12-14 1983-10-04 Hitachi, Ltd. Method and apparatus of robot teaching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156835A (en) * 1974-05-29 1979-05-29 Massachusetts Institute Of Technology Servo-controlled mobility device
US4243923A (en) * 1979-01-22 1981-01-06 Massachusetts Institute Of Technology Servo-controlled mobility device
US4283764A (en) * 1979-10-12 1981-08-11 Nordson Corporation Manually programmable robot with power-assisted motion during programming
US4367532A (en) * 1979-10-12 1983-01-04 Nordson Corporation Manually programmable robot with power-assisted motion during programming
US4408286A (en) * 1979-12-14 1983-10-04 Hitachi, Ltd. Method and apparatus of robot teaching

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0850730A4 (en) * 1995-09-14 1998-07-29
EP0850730A1 (en) * 1995-09-14 1998-07-01 Kabushiki Kaisha Yaskawa Denki Teaching unit for robots
WO1998053376A1 (en) * 1997-05-22 1998-11-26 Eshed Robotec (1982) Ltd. Method and apparatus for the direct teaching of automatic machines
US6222338B1 (en) 1997-05-22 2001-04-24 Eshed Robotec Method and apparatus for the direct teaching of automatic machines
US6553652B2 (en) * 1997-10-22 2003-04-29 Fanuc Ltd. Force controlling robot
US6519169B1 (en) 1999-03-29 2003-02-11 Abb Ab Multiphase inverter with series of connected phase legs
WO2000060427A1 (en) * 1999-04-01 2000-10-12 Abb Ab Equipment for controlling an industrial robot and a method for programming and/or adjusting the movements of the robot
US6477445B1 (en) 1999-04-01 2002-11-05 Abb Ab Method and apparatus for controlling an industrial robot
EP2000872A2 (en) 2007-06-06 2008-12-10 KUKA Roboter GmbH Industrial robot and method for programming an industrial robot
DE102007026299A1 (en) 2007-06-06 2008-12-11 Mrk-Systeme Gmbh Industrial robots and method for programming an industrial robot
DE102007026299B4 (en) 2007-06-06 2018-08-16 Kuka Roboter Gmbh Industrial robots and method for programming an industrial robot
US9274014B2 (en) 2013-03-12 2016-03-01 Stryker Corporation Sensor assembly and method for measuring forces and torques
US10048145B2 (en) 2013-03-12 2018-08-14 Stryker Corporation Sensor assembly and method for measuring forces and torques
CN107790313A (en) * 2016-08-30 2018-03-13 精工爱普生株式会社 control device, robot and robot system

Also Published As

Publication number Publication date
AU7960291A (en) 1992-03-17

Similar Documents

Publication Publication Date Title
US4433382A (en) Apparatus for automatically adjusting the programmed location of a robot arm
US4432063A (en) Apparatus for automatically moving a robot arm along a nonprogrammed path
US4969108A (en) Vision seam tracking method and apparatus for a manipulator
CA1330363C (en) Robot system
US4967127A (en) Robot with controlled tool tracking displacement
US5617515A (en) Method and apparatus for controlling and programming a robot or other moveable object
EP0159131B1 (en) Drive system for a movable apparatus
US4598380A (en) Method and apparatus for controlling manipulator and workpiece positioner
US4685054A (en) Method and apparatus for outlining the environment of a multiarticular duty machine by means of a laser pointer
US6222338B1 (en) Method and apparatus for the direct teaching of automatic machines
US5371836A (en) Position teaching method and control apparatus for robot
GB2096362A (en) Programmable robot
JPS59708A (en) Path motion manipulator performing adaptive speed control
US4635206A (en) Method and apparatus for oscillating a tool carried by a manipulator
WO1992003769A1 (en) Apparatus and method for using force feedback to teach a robot
WO1989008878A1 (en) Method of controlling tool attitude of a robot
CA1080828A (en) Method and apparatus for generating position or path control programs using force feedback
EP0271590B1 (en) Robot control apparatus
JPH05158514A (en) Controller for robot
KR101474778B1 (en) Control device using motion recognition in artculated robot and method thereof
CN108475051B (en) Method and system for aligning a tool during programming of an industrial robot
JP2791030B2 (en) Curved copying controller for multi-degree-of-freedom work machine
JPH05303425A (en) Direct teaching type robot
GB2185593A (en) Improvements in and relating to robot teaching
JPH07205068A (en) Coordinate system setting method of robot

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BE DE FR GB SE