WO1992003769A1 - Procede et appareil utilisant la reaction a la force appliquee pour instruire un robot - Google Patents

Procede et appareil utilisant la reaction a la force appliquee pour instruire un 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
English (en)
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/fr

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

Des systèmes permettant d'apprendre à un robot (12) à effectuer une fonction voulue sont utiles dans plusieurs domaines. D'une manière tout à fait avantageuse, de tels systèmes d'apprentissage peuvent être mis en service sans formation particulière. Ledit système d'apprentissage détecte les forces et les moments appliqués à un effecteur terminal (16) par un opérateur. Un signal de déplacement est généré, lequel entraîne le robot (12) à déplacer l'effecteur terminal (16) dans le sens de la force ou du moment appliqués, à une vitesse correspondant à l'importance de la force ou du moment appliqué. Des positions de référence sont stockées dans un dispositf de mémoire lorsque le robot (12) déplace l'effecteur terminal (16).
PCT/US1991/003609 1990-08-20 1991-05-23 Procede et appareil utilisant la reaction a la force appliquee pour instruire un robot WO1992003769A1 (fr)

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 (fr) 1992-03-05

Family

ID=24274908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1991/003609 WO1992003769A1 (fr) 1990-08-20 1991-05-23 Procede et appareil utilisant la reaction a la force appliquee pour instruire un robot

Country Status (2)

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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0850730A1 (fr) * 1995-09-14 1998-07-01 Kabushiki Kaisha Yaskawa Denki Unite d'enseignement pour robots
WO1998053376A1 (fr) * 1997-05-22 1998-11-26 Eshed Robotec (1982) Ltd. Procede et appareil d'apprentissage direct de machines automatiques
WO2000060427A1 (fr) * 1999-04-01 2000-10-12 Abb Ab Materiel de commande pour robot industriel et procede de programmation et/ou de reglage des mouvements dudit 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 (fr) 2007-06-06 2008-12-10 KUKA Roboter GmbH Robot industriel et procédé de programmation d'un robot industriel
US9274014B2 (en) 2013-03-12 2016-03-01 Stryker Corporation Sensor assembly and method for measuring forces and torques
CN107790313A (zh) * 2016-08-30 2018-03-13 精工爱普生株式会社 控制装置、机器人及机器人系统

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 (fr) * 1995-09-14 1998-07-29
EP0850730A1 (fr) * 1995-09-14 1998-07-01 Kabushiki Kaisha Yaskawa Denki Unite d'enseignement pour robots
WO1998053376A1 (fr) * 1997-05-22 1998-11-26 Eshed Robotec (1982) Ltd. Procede et appareil d'apprentissage direct de machines automatiques
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 (fr) * 1999-04-01 2000-10-12 Abb Ab Materiel de commande pour robot industriel et procede de programmation et/ou de reglage des mouvements dudit robot
US6477445B1 (en) 1999-04-01 2002-11-05 Abb Ab Method and apparatus for controlling an industrial robot
EP2000872A2 (fr) 2007-06-06 2008-12-10 KUKA Roboter GmbH Robot industriel et procédé de programmation d'un robot industriel
DE102007026299A1 (de) 2007-06-06 2008-12-11 Mrk-Systeme Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102007026299B4 (de) 2007-06-06 2018-08-16 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
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 (zh) * 2016-08-30 2018-03-13 精工爱普生株式会社 控制装置、机器人及机器人系统

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 (fr) Robot
US4967127A (en) Robot with controlled tool tracking displacement
US5617515A (en) Method and apparatus for controlling and programming a robot or other moveable object
EP0159131B1 (fr) Système d'entraînement pour un appareil déplaçable
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 (ja) 適合速度制御を行なう経路運動マニピユレ−タ
WO1992003769A1 (fr) Procede et appareil utilisant la reaction a la force appliquee pour instruire un robot
CA1080828A (fr) Methode et appareil generateur de programmes de controle de position ou de trajet utilisant la reaction due aux forces exterieures
EP0271590B1 (fr) Dispositif de commande de robot
KR101474778B1 (ko) 다관절 로봇의 동작인식을 통한 제어장치 및 그 방법
CN108475051B (zh) 用于在工业机器人的编程期间对准工具的方法和系统
JP2791030B2 (ja) 多自由度作業機械の曲面倣い制御装置
JPH05303425A (ja) 直接教示方式ロボット
JPH0639760A (ja) ロボットの制御装置
GB2185593A (en) Improvements in and relating to robot teaching
JPH07205068A (ja) ロボットの座標系設定方法
JPH02269586A (ja) マニピュレータ駆動制御装置
Heikkilä et al. Robot skills-modeling and control aspects

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