WO2007057390A2 - Method and device for controlling motion of an industrial robot with a position switch - Google Patents

Method and device for controlling motion of an industrial robot with a position switch Download PDF

Info

Publication number
WO2007057390A2
WO2007057390A2 PCT/EP2006/068443 EP2006068443W WO2007057390A2 WO 2007057390 A2 WO2007057390 A2 WO 2007057390A2 EP 2006068443 W EP2006068443 W EP 2006068443W WO 2007057390 A2 WO2007057390 A2 WO 2007057390A2
Authority
WO
WIPO (PCT)
Prior art keywords
model
robot
computer
axis
running
Prior art date
Application number
PCT/EP2006/068443
Other languages
French (fr)
Other versions
WO2007057390B1 (en
WO2007057390A3 (en
Inventor
Magnus Hellberg
Mats Thulin
Michael Fors
Pierre Mikaelsson
Tommy Thors
Sönke KOCK
Kevin Behnisch
Peter Eriksson
Jan Bredahl
Bo Toresson
Original Assignee
Abb Ab
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 Abb Ab filed Critical Abb Ab
Priority to EP06819462A priority Critical patent/EP1951482A2/en
Priority to CN200680042941.5A priority patent/CN101309783B/en
Priority to US12/085,145 priority patent/US8036776B2/en
Publication of WO2007057390A2 publication Critical patent/WO2007057390A2/en
Publication of WO2007057390A3 publication Critical patent/WO2007057390A3/en
Publication of WO2007057390B1 publication Critical patent/WO2007057390B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Definitions

  • the present invention concerns an industrial robot and relates to a method, a device and a system for limiting extent of motion in one or more axes of the robot.
  • Programmable, servo-controlled machines like industrial robots are often equipped with position switches for limiting their workspace or allow interlocking of the machine with other moving equipment. These position switches often use a machined cam to define the switching positions. In particular positions switches are often used in applications where occupational safety regulations have to be followed.
  • Electronic supervision solutions may typically require that a difference between a reference value and a measured position shall stay below a predetermined threshold. This type of supervision may however, trigger a stop because the control error exceeds the threshold due to some unforeseen robot movement.
  • a difference between reference and measured positions which may be seen as a type of servo control error, may increase due to dynamic effects such as servo lag and transients during acceleration.
  • the threshold may be set at a level which less than optimal.
  • An embodiment of the present invention provides an improvement to methods for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit, the robot or the control unit also comprising at least one first computer running a servo controller, and the method comprising registering a motion limit for at least one axis of said robot arm, providing a reference signal for a robot position to a robot controller and making a measurement of a position of at least one axis of said robot arm for the purpose of limiting the motion of said arm of said robot, wherein a motion limit of said at least one said axis is provided by running in a first computer a model-based evaluator of a position switch and by modelling a position of said at least one axis of said robot arm dependent on said reference signal and comparing the modelled position to the measured position.
  • Another embodiment of the present invention provides a method wherein the modelled position of said at least one axis is provided with a trust value.
  • a method is provided wherein the modelled position is calculated by means of a second computer provided in the robot or robot control unit.
  • a method is provided wherein at least one axis of a robot arm is arranged without a hardware position switch or a mechanical rotational stop means.
  • a method wherein a servo loop model for said at least one axis and a model for at least one gearbox is run in the model-based evaluator of the position switch.
  • Another embodiment of the present invention provides a method wherein are comprised steps of reading a reference or target values sent to the servo control for said at least one axis, a reading measurement value for actual motor position for the at least one axis, and modelling in the model-based evaluator a servo control loop, modelling a gearbox and calculating a first position and a trust value for the first position.
  • a weighting function of the model-based evaluator is changed dependent on a change of the operational mode of a servo control loop .
  • Another embodiment of the present invention provides a method wherein a first position and trust value are calculated with a first model-based evaluator running on a first computer running the servo control, and a second position and trust value are calculated by means of second instance of a model-based evaluator running on the second computer.
  • Another embodiment of the present invention provides a method which further comprises sharing the control loop of the second instance of the model-based evaluator running on the second computer with the first model-based evaluator running on the first computer .
  • a method wherein the trust signals are compared and when at least 2 trust signals are evaluated positive the position may be a handled as a safety- evaluated position, and method wherein the trust signals are compared and when at least 2 trust signals are not both positive a signal may be generated indicating an internal error.
  • an improvement to a device for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit wherein said device includes a position switch comprising at least one first computer for servo control, a means for reading an actual position value and comparing it to reference signal for the purpose of limiting the motion of an arm of said robot in at least one axis, which device is arranged with at least one second computer running a model-based evaluator comprising means for modelling by means of a servo loop model a first position of said at least one axis dependent on said reference signal, comparing the modelled first position with a measured position of the at least one axis, and generating a control signal based on a function of the modelled first position.
  • model-based evaluator comprises means for running a servo loop model for the at least one axis and a model for at least one gearbox.
  • a device wherein the servo loop model comprises at least one parameter describing a delay, and the gearbox model comprises at least one revolution counter and at least one parameter for the gearbox speed reduction ratio .
  • the model-based position switch comprises means for inputting a target or reference value sent to the servo control for the at least one axis, inputting a measurement value for an actual position of the at least one axis, and means for modelling a servo control loop, modelling a gearbox to calculate a first position and a trust value for the first position, and means for generating a control signal based on the status of the model-based evaluator of at least on axis .
  • model-based position switch comprises a single main board and at least two computers or processors for running at least one instance of a model-based evaluator.
  • An improved position switch provides a method and device to limit the working area of a robot by software control.
  • the software control is provided by using a position switch including at least one model based evaluator to evaluate a measured position and compare that to a reference position.
  • the position is also assigned a trust value.
  • robots are developed with the option to use adjustable mechanical stops or cams and limit switches to carry out the function of a position switch on different axes of a robot arm.
  • the mechanical elements, the stops, electro-mechanical limit switches or cams require space and machining on robot arm, which in return is costly and the arm is heavier.
  • a programmed work envelope does no longer have to be the same as a total theoretical work envelope for the robot. It is no longer necessary for an engineer or technician to stop a robot in order to manually adjust limit switches or stop pieces on an arm or fixed part of the robot.
  • the robot may be used to carry out one or more tasks in close cooperation with human operators in a safe manner according to industrial safety standards because of the improved limitation of the robot active working area provided by the improved position switch.
  • Another advantage of the improved position switch is that logical combinations of axis limits for different axes of the robot may be quickly and simply set or reset.
  • the improved position switch may provide robot arm position information to a control unit during a time in which the robot is at a standstill, and so maintaining safety and synchronisation of the different axes of the robot arm.
  • the improved position switch comprises one or more microprocessor units or computers.
  • the control unit(s) comprises memory means for storing and/or running one or more computer programs that carry out the operations of the improved position switch.
  • a such computer program contains instructions for the one or more processors to perform the method as mentioned above and described in more detail below.
  • the computer program is provided on a computer readable data carrier such as a CD ROM.
  • FIG. 1 shows a simplified block diagram of an embodiment of the electronic position switch comprising a Model based Evaluator (MBV) according to an embodiment of the invention
  • Figure 2 shows a general control scheme for a robot which includes an electronic position switch according to an embodiment of the invention
  • Figure 3a shows a single channel MBV that is connected to a servo controller according to an embodiment of the invention
  • Figure 3b shows an alternative implementation an MBV connected to a servo control loop
  • Figure 4a shows a simple gearbox model comprising a resolver measurement signal and a revolution counter
  • Figure 4b shows a simple inverse gearbox model comprising a gear ratio and an arm fine position
  • Figure 5 shows a simplified block diagram of a dual channel MBV comprising at least two instances of the MBV according to another embodiment of the invention
  • Figure 6 shows a development of the dual channel electronic position switch wherein two or more MBVs share a servo loop model of one processor or CPU according to another embodiment of the invention
  • Figure 7 shows a simplified block diagram of a dual channel MBV comprising at least two instances of MBV each running on a separate CPU and wherein the servo controller is run on a third CPU according to another embodiment of the invention
  • Figure 8 shows a dual channel electronic position switch comprising at least two instances of the MBV and each instance running on a separate CPU and wherein the MBVs share the servo loop model running on one of the first two CPUs according to another embodiment of the invention
  • Figure 9 shows a simplified block diagram for a process of trust voting unit of an electronic position switch according to an embodiment of the invention.
  • FIG 10 shows a flowchart of an embodiment of a method for operating a position switch comprising a Model based Evaluator (MBV) according to an embodiment of the invention.
  • MBV Model based Evaluator
  • An improved position switch provides a programmable electronic position switch in the form of an electronic computer with at least one CPU and associated memory, and a model-based evaluator, MBV.
  • the MBV is run in the CPU which is connected to a communication channel where references that are sent to a servo controller can be "read", and also connected to a measurement channel where motor positions are readable.
  • the MBV has at least one model for each servo axis and at least one model for each gearbox of the machine under supervision.
  • Figure 1 shows an improved position switch 100 in the form of a programmable electronic position switch according to an embodiment of the invention. It shows a Model Based Evaluator (MBV) 4, a Voting Unit 30 and a Programmable Safety Function 40.
  • MV Model Based Evaluator
  • Programmable Safety Function may be configured by a safety program 38 or by configuration.
  • the MBV is supplied with a position reference 1 and a position measurement 22.
  • the servo loop model of the MBV is supplied with parameters P and sensitivity settings S.
  • the MBV outputs trust evaluated positions 19 and trust values 18 associated with those positions to the Voting Unit 30.
  • the Voting Unit supplies a safety enhanced position 32 and an error signal 34 when appropriate in the form of a dual channel error signal to the Programmable Safety Function.
  • the Programmable Safety Function provides safety signals 42 to the robot control system.
  • Figure 2 shows an arrangement for controlling a robot 101 comprising an embodiment of the programmable electronic position switch 100. It shows a Control Module 201 comprising a Panel Safety function 230, which may also be arranged connected with a teach pendant unit 29.
  • a motion limit may be configured, for example via the Panel Safety functions PS or the TPU 29, or via another suitably connected part of the control system. Such a motion limit specifies a limit to the extent of motion of one or more axes of the robot.
  • the control system ensures that the robot keeps within the limit by tracking the robot position as determined by the electronic position switch. In the event that the robot position is not determined to be reliable, or if an error has occurred, safety functions or alarms are triggered.
  • the Control Module may also comprise Power and UPS functions, a computer 225, and a series of I/O interfaces 205 to sensors and/or process signals.
  • Control module may be connected by means of a LAN 210 or a USB 215 bus connection or a Service line 220 or by an Ethernet-type connection 215.
  • Figure 2 also shows a Drive Module.
  • the Drive Module 202 comprises a programmable electronic position switch 100 comprising an MPV 4 connected to a Drives and Safety module 235, to the I/O interfaces 205 to the computer 225 of the Control Module and to an axis computer function 240.
  • a robot 101 is shown which comprises a motor 15 and a serial measurement board SMB, which handles data from at least one axis.
  • a programmable electronic position switch according to an embodiment of the invention comprises a model-based evaluator MBV, which contains at least one model of the servo loop for each axis, at least one model of each gearbox in use, typically a filter element, and at least one weighting function (see also Fig. 3a and below) .
  • the MBV reads measurement and reference values. After evaluation, it passes on at least one resulting trust-valued position to the Voting Unit 30 of Figure 1 together with a value indicating the amount of trust that is put in each position value, typically a number between 0 (don't trust) and 1 (fully trust) .
  • a low trust value can be represented by an error signal causing special action, e. g. turning on a light, sending a message via a communication channel etc.
  • the Voting Unit decides, based on receipt of a multitude of position signals with associated trust values, which (if any) position signal can be trusted and if enough signals with high trust level are present to give a confidence vote on the validity of a position measurement.
  • the Voting Unit has to make 2 decisions on 2x2n trust values. (See also Fig. 9.) If the voting unit decides to trust the available positions, in a third unit 40, user-defined operations on the position can be performed (programmable safety functions) . In addition to axis limits and axis ranges, operations such as speed supervision and standstill supervision may be selected. Standstill supervision involves maintaining accurate position information during a standstill or stop period so that position accuracy and safety requirements may be met even while the robot is not moving.
  • FIG 3a shows another embodiment of the invention comprising a single channel MBV that is connected to a servo controller.
  • the figure shows an MBV 4 which comprises a gearbox model 6B, a servo loop model 5B for at least one axis, a filter 8 and a weighting function 9 all running in a second computer or processor B.
  • Figure 3a also shows a Computer 10, CPU or processor A running a servo controller and a gearbox model 6a.
  • Computer A is in turn connected to a power amplifier 14, to a drive motor 15, and a gearbox 16.
  • the output of Computer A is also connected to a sensor means 17 in the motor, a sensor such as a resolver.
  • a position reference 1 (arrow from left of diagram) is supplied to Computer A (10) running the servo controller 13 and the servo controller output amplified at 14 fed to the motor 15 results in a movement of the gearbox 16 and moves the arm to a given arm position (arrow right of diagram) .
  • Resolver or other sensor measurement from 17 is fed back 22a to the gearbox model A, and summed or subtracted 7a with the reference and then supplied to the servo controller 13.
  • Resolver measurement is also fed back and made available 22b to the second gearbox model B.
  • Gearbox model B outputs the position reference 2 after modeling to summator 7b where it may be combined with output 3 from the servo model after modeling the reference position 1.
  • the servo controller process is preferably executed on a first computer A (10) or CPU and the MBV is executed on a second computer B (11) or CPU as shown in Figure 3a.
  • the MBV contains at least one gearbox model 6b and one servo loop model 5b, a comparator, summator or subtracting element 7b, a filter 8 and a weighting element 9.
  • the output from the single channel after weighting function 9 is a trust value 18 and a safety-valuated position (19) which may be 1, 2, or 3 or a linear combination of 1, 2 and 3.
  • An example of a simple servo loop model could be a delay element representing one or more communication delays and a servo lag.
  • the filter element preferably reduces high frequency components of the difference signal, typically occurring during acceleration of the servo motor.
  • the weighting function may, in the simplest case, be a comparator giving an output signal 1 if the input signal is below a certain threshold, and 0 if above.
  • the weighting function can be smooth giving intermediate values also.
  • the trust value may be reduced when the error between the measured position that was sent through the gearbox model and the position predicted by the servo loop model increases, and vice versa.
  • the values 0 and 1 are used as trust values and the weighting function is a threshold function.
  • Gearbox model A and gearbox model B may be synchronised as indicated by data connection 20.
  • Figure 3b shows an alternative implementation of a servo control loop.
  • Sensor or resolver measurement from 17 is not supplied to Computer A running the servo controller, and is instead supplied with the reference value to an inverse gearbox model 6a' in computer A before summation or subtraction 7a and subsequent supply to the servo controller 13.
  • the output from the single channel evaluator after weighting function 9 is similar to embodiment of Fig 3a, trust value 18, safety-valuated position 19 which may be 1, 2, or 3 or a linear combination of 1, 2 and 3.
  • the MBV comprises a comparator with a dual- channel modeling of measured position for comparison with a reference position. If the difference in one of two channels exceeds a threshold, the trust into the comparison is set to zero, which means that either of the signals, the servo controller or the MBV itself may be faulty, and if otherwise then set to one. In the case of a fault, the voting unit thus will receive two position signals with at least one trust value zero, and will in consequence decide to set an error signal.
  • Figure 5 shows a MBV of a dual channel model according to another embodiment of the invention comprising a first computer A (10) which is responsible for computing both the servo controller and one instance of an MBV, and a computer B which computes a second instance of an MBV.
  • Both MBVs comprise a gearbox model and a servo loop model.
  • Computer A (10) comprising a summator or comparator 7a, a Gearbox model A, a servo loop model A, a filter 8A and a weighting function 9A, the servo controller 13 and an inverse gearbox model 6a' .
  • the reference value 1 is fed to the gearbox model A.
  • Sensor or resolver measurement is fed back 22a to both the summator 7a and to the gearbox model A.
  • a gearbox model B, a servo loop model B, a filter 8B and a weighting function 9B are comprised in the second computer B (11) .
  • the same sensor or resolver measurement from 17 is fed back 22b to the gearbox model B of the second instance.
  • the output from the first channel after weighting function 9A is a trust value 18A and a safety-valuated position A (19A) which may be IA, 2A, or 3A or a linear combination of IA, 2A and 3A.
  • the output from the second channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B.
  • Other combinations of IB, 2B and 3B may be used.
  • the voting unit 30 may be assigned a logic function permitting the voting unit to ignore a single non- trusted position and continue operation, but give a warning signal to have the system checked.
  • voting unit decides to trust the available positions, user- defined operations can be performed, by means of the a third unit (Programmable Safety Functions 40), on the position.
  • a third unit Programmable Safety Functions 40
  • axis ranges and speed may be supervised.
  • the robot may also be supervised during standstill, stop or other functions while an axis is not being driven.
  • the MBV comprises a gearbox model which may contain at least one revolution counter per axis
  • a mechanism indicated by data connection 20 (Fig 3a, b, 5, 6) is needed to ensure that the revolution counter of the MBV model is synchronized with both the revolution counter used for the servo control and with the actual revolution of the real gearbox.
  • a periodic movement of the machine against an electric switch mounted in a well-known position may for example be used for synchronisation to make sure all models provide the correct and identical arm position.
  • Figure 4a shows an embodiment of a simple gearbox model 6, 6a, 6b reading a measurement signal from sensor or resolver 17, and comprising a revolution counter 48, a multiplier 44a, a summator 47 which may receive a calibration offset 49, an inverse gear ratio 45, and a second multiplier 50.
  • An arm coarse position signal 46 is calculated after first multiplier 44a and an arm fine position signal 51 is calculated after second multiplier 50.
  • Figure 4b shows an embodiment of a simple inverse gearbox model
  • 6a' comprising an input for an arm fine position 51, a gear ratio 54, a multiplier 44, an input 49 for a calibration offset, and a motor position output at 55.
  • the electronic position switch may be configured to define at least one limit for at least one axis, and a signal is sent and/or output is set whenever said axis reaches the set limit. It is also provided possible that a signal may be generated instead or as well based on a logical combination of axis limits, for example: (axis 1 out of limit and axis 2 out of limit and...) . If the voting unit decides to trust the available positions, in a third unit, user-defined operations on the position can be performed (programmable safety functions 40) , such as axis limits, axis ranges, speed supervision, standstill supervision etc. In this way, a safe working area in the proximity of robot is provided by the position switch and the use of mechanical limit switches on at least one axis of the robot arm is not required.
  • Figure 10 shows a flowchart for a method according to an embodiment of the invention. It shows a sequence of steps comprising :
  • Figure 6 shows an embodiment of the invention according to Fig 5, where the MBVs share the servo loop model of computer B. This solution reduces complexity, but requires real-time communication between computers A (10) and B (11) .
  • Figure 7 shows a dual channel, triple computer embodiment of the invention where a first computer A (10) is responsible for the servo controller, a second computer B (11) provides a first instance of an MBV, and a third computer C (12) provides a second instance of a MBV.
  • the output from the first channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B.
  • the output from the second channel after weighting function 9C is a trust value 18C and a safety-valuated position C (19C) which may be 1C, 2C, or 3C or may be a linear combination of 1C, 2C and 3C.
  • the output from the first channel after weighting function 9A is a trust value 18A and a safety-valuated position A (19A) which may be IA, 2A, or 3A or a linear combination of IA, 2A and 3A.
  • the output from the second channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B.
  • Other combinations of IB, 2B and 3B may be used.
  • Fig. 8 shows an embodiment according to Fig. 7, and where the two MBVs share the servo loop model of computer B. This solution reduces complexity, but requires real-time communication between computers B and C.
  • the robot and/or automation application with an improved position switch may applied to operations such automobile assembly and to manufacturing processes used in automobile manufacturing.
  • the robot or automation application may be used to carry out tasks such as any of: welding, soldering, electrical soldering, riveting, fettling, painting, spray painting, electrostatic powder spraying, gluing, operations performed in relation to metal processing processes such as continuous casting, casting, diecasting and production methods for other materials such as plastic injection moulding, compression and/or reaction moulding or extrusion.
  • the robot application may carry out other operations, including such as folding plate, bending plate and/or hemming plate.
  • the robot application may comprise a plurality of tools, with wireless communication as well as without wireless communication.
  • the robot may be used to carry out one or more tasks in a safe manner according to an industrial safety standards in close cooperation with human operators.
  • the invention may also be applied to one or more robots arranged to provide a vehicle simulator application or an amusement ride.
  • One or more processors present at least in a robot control unit, in a PLC, or in the position switch 100 each comprise a central processing unit CPU performing one or more steps of the methods according to one or more aspects of the invention. This is performed with the aid of one or more computer programs, which are stored at least in part in memory in, or in a memory storage accessible by, the one or more processors.
  • the invention may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors, or devices such as FPGAs (field programmable gate arrays), CPLDs (complex programmable logic device) or ASICs (application specific integrated circuits) .
  • FPGAs field programmable gate arrays
  • CPLDs complex programmable logic device
  • ASICs application specific integrated circuits
  • the program or programs may also be used.
  • the program or programs may also in part be supplied from a data network, including a public network such as the Internet, via a temporary hard-wire data connection and/or via a wireless communication unit arranged to the robot or robot control unit, a local PLC and/or another computer .
  • the computer programs described may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time.

Abstract

A method for controlling a multi-axis industrial robot or manipulator arranged with a robot control unit, the robot or the control unit also comprising at least one first computer (10) running a servo controller. A motion limit is configured for at least one axis of said robot arm. A reference signal (1) for a robot position is sent to a robot controller (13) together with a measurement of a position of said robot arm. The reference position is processed and the measured position and the processed reference position are then compared in an evaluator (4) for the purpose of limiting the motion of an arm of said robot.

Description

Method and device for controlling motion of an industrial robot
TECHNICAL FIELD
The present invention concerns an industrial robot and relates to a method, a device and a system for limiting extent of motion in one or more axes of the robot.
BACKGROUND ART
Programmable, servo-controlled machines like industrial robots are often equipped with position switches for limiting their workspace or allow interlocking of the machine with other moving equipment. These position switches often use a machined cam to define the switching positions. In particular positions switches are often used in applications where occupational safety regulations have to be followed.
US 5, 558,196 to Nehei et al entitled Device for detecting limits of rotational motion in a robot (Fanuc) a device for detecting the limits of rotational motion of a rotating member of an industrial robot, wherein the rotating member rotates in a first and a second rotational direction about an axis relative a fixed member. The device comprises a limit switch provided on a rotating member and a contact piece, provided on the fixed member to activate the limit switch. The device does not appear to require adjustment of the contact piece. However the casting for the arm appears to require additional material to form a circular wall around the arm followed by machining to shape a circumferential wall on the rotating member to which the contact piece will be attached. Generally speaking, mechanical position switches are expensive, require maintenance, and need additional cables between machine and controller. Each limit switch generally requires periodic replacement and/or repair.
Solutions are known that use an electronic supervision of reference and measured position of at least one servo axis providing a position switch function that does not rely on limit switches and mechanical cams. US 6,778 , 867 to Ziegler et al, entitled Monitoring and control of a handling device, describes a monitoring and control device for monitoring a technical system having at least one portable and/or mobile and/or immobile device, and more specifically, a handling device that is a arranged in a protective device, and further including at least one preferably central or decentralized control unit and actuators connected thereto to carry out dangerous actions.
Electronic supervision solutions may typically require that a difference between a reference value and a measured position shall stay below a predetermined threshold. This type of supervision may however, trigger a stop because the control error exceeds the threshold due to some unforeseen robot movement. Amongst other things, a difference between reference and measured positions, which may be seen as a type of servo control error, may increase due to dynamic effects such as servo lag and transients during acceleration. As a consequence, the threshold may be set at a level which less than optimal.
SUMMARY OF THE INVENTION An embodiment of the present invention provides an improvement to methods for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit, the robot or the control unit also comprising at least one first computer running a servo controller, and the method comprising registering a motion limit for at least one axis of said robot arm, providing a reference signal for a robot position to a robot controller and making a measurement of a position of at least one axis of said robot arm for the purpose of limiting the motion of said arm of said robot, wherein a motion limit of said at least one said axis is provided by running in a first computer a model-based evaluator of a position switch and by modelling a position of said at least one axis of said robot arm dependent on said reference signal and comparing the modelled position to the measured position.
Another embodiment of the present invention provides a method wherein the modelled position of said at least one axis is provided with a trust value.
According to another embodiment a method is provided wherein the modelled position is calculated by means of a second computer provided in the robot or robot control unit.
According to another embodiment a method is provided wherein at least one axis of a robot arm is arranged without a hardware position switch or a mechanical rotational stop means.
According to another embodiment a method is provided wherein a servo loop model for said at least one axis and a model for at least one gearbox is run in the model-based evaluator of the position switch.
Another embodiment of the present invention provides a method wherein are comprised steps of reading a reference or target values sent to the servo control for said at least one axis, a reading measurement value for actual motor position for the at least one axis, and modelling in the model-based evaluator a servo control loop, modelling a gearbox and calculating a first position and a trust value for the first position.
According to another embodiment a method is provided wherein a weighting function of the model-based evaluator is changed dependent on a change of the operational mode of a servo control loop .
Another embodiment of the present invention provides a method wherein a first position and trust value are calculated with a first model-based evaluator running on a first computer running the servo control, and a second position and trust value are calculated by means of second instance of a model-based evaluator running on the second computer.
Another embodiment of the present invention provides a method which further comprises sharing the control loop of the second instance of the model-based evaluator running on the second computer with the first model-based evaluator running on the first computer .
According to another embodiment a method is provided wherein the trust signals are compared and when at least 2 trust signals are evaluated positive the position may be a handled as a safety- evaluated position, and method wherein the trust signals are compared and when at least 2 trust signals are not both positive a signal may be generated indicating an internal error.
According to another aspect of the invention an improvement to a device for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit is provided wherein said device includes a position switch comprising at least one first computer for servo control, a means for reading an actual position value and comparing it to reference signal for the purpose of limiting the motion of an arm of said robot in at least one axis, which device is arranged with at least one second computer running a model-based evaluator comprising means for modelling by means of a servo loop model a first position of said at least one axis dependent on said reference signal, comparing the modelled first position with a measured position of the at least one axis, and generating a control signal based on a function of the modelled first position.
According to another embodiment a device is provided wherein the model-based evaluator comprises means for running a servo loop model for the at least one axis and a model for at least one gearbox.
According to another embodiment a device is provided wherein the servo loop model comprises at least one parameter describing a delay, and the gearbox model comprises at least one revolution counter and at least one parameter for the gearbox speed reduction ratio .
According to another embodiment a device is provided wherein the model-based position switch comprises means for inputting a target or reference value sent to the servo control for the at least one axis, inputting a measurement value for an actual position of the at least one axis, and means for modelling a servo control loop, modelling a gearbox to calculate a first position and a trust value for the first position, and means for generating a control signal based on the status of the model-based evaluator of at least on axis .
According to another embodiment a device is provided wherein the model-based position switch comprises a single main board and at least two computers or processors for running at least one instance of a model-based evaluator.
An improved position switch according to an embodiment of the invention provides a method and device to limit the working area of a robot by software control. The software control is provided by using a position switch including at least one model based evaluator to evaluate a measured position and compare that to a reference position. The position is also assigned a trust value. Traditionally robots are developed with the option to use adjustable mechanical stops or cams and limit switches to carry out the function of a position switch on different axes of a robot arm. The mechanical elements, the stops, electro-mechanical limit switches or cams require space and machining on robot arm, which in return is costly and the arm is heavier.
By utilizing software control it is possible to make robot arm more compact, light and cost efficient. When a cam or other mechanical stop is not required on a part of the robot arm, that part will not require: extra space on the casting; costly machining to machine the cam etc out of the extra casting shape; a heavier structure. The benefits are multiplied somewhat because less material is needed on rotating parts, thus reducing load on the robot during operation. In addition no limit switches need to be adjusted, replaced or repaired. Maintenance required during total product life is reduced in terms of requirement both for repair and replacement. Another advantage of the improved position switch is that reconfiguring of the robot for other tasks is simplified. The present invention provides a more efficient way to re-configure motion limits and define a robot safe space. A programmed work envelope does no longer have to be the same as a total theoretical work envelope for the robot. It is no longer necessary for an engineer or technician to stop a robot in order to manually adjust limit switches or stop pieces on an arm or fixed part of the robot. In addition, the robot may be used to carry out one or more tasks in close cooperation with human operators in a safe manner according to industrial safety standards because of the improved limitation of the robot active working area provided by the improved position switch. Another advantage of the improved position switch is that logical combinations of axis limits for different axes of the robot may be quickly and simply set or reset. In addition, the improved position switch may provide robot arm position information to a control unit during a time in which the robot is at a standstill, and so maintaining safety and synchronisation of the different axes of the robot arm.
In a preferred embodiment of the invention the improved position switch comprises one or more microprocessor units or computers. The control unit(s) comprises memory means for storing and/or running one or more computer programs that carry out the operations of the improved position switch. Preferably a such computer program contains instructions for the one or more processors to perform the method as mentioned above and described in more detail below. In one embodiment the computer program is provided on a computer readable data carrier such as a CD ROM. BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will now be described, by way of example only, with particular reference to the accompanying drawings in which: Figure 1 shows a simplified block diagram of an embodiment of the electronic position switch comprising a Model based Evaluator (MBV) according to an embodiment of the invention;
Figure 2 shows a general control scheme for a robot which includes an electronic position switch according to an embodiment of the invention;
Figure 3a shows a single channel MBV that is connected to a servo controller according to an embodiment of the invention; and Figure 3b shows an alternative implementation an MBV connected to a servo control loop; Figure 4a shows a simple gearbox model comprising a resolver measurement signal and a revolution counter; and
Figure 4b shows a simple inverse gearbox model comprising a gear ratio and an arm fine position; Figure 5 shows a simplified block diagram of a dual channel MBV comprising at least two instances of the MBV according to another embodiment of the invention;
Figure 6 shows a development of the dual channel electronic position switch wherein two or more MBVs share a servo loop model of one processor or CPU according to another embodiment of the invention;
Figure 7 shows a simplified block diagram of a dual channel MBV comprising at least two instances of MBV each running on a separate CPU and wherein the servo controller is run on a third CPU according to another embodiment of the invention; Figure 8 shows a dual channel electronic position switch comprising at least two instances of the MBV and each instance running on a separate CPU and wherein the MBVs share the servo loop model running on one of the first two CPUs according to another embodiment of the invention;
Figure 9 shows a simplified block diagram for a process of trust voting unit of an electronic position switch according to an embodiment of the invention;
Figure 10 shows a flowchart of an embodiment of a method for operating a position switch comprising a Model based Evaluator (MBV) according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
An improved position switch according to an embodiment of the invention provides a programmable electronic position switch in the form of an electronic computer with at least one CPU and associated memory, and a model-based evaluator, MBV. The MBV is run in the CPU which is connected to a communication channel where references that are sent to a servo controller can be "read", and also connected to a measurement channel where motor positions are readable. The MBV has at least one model for each servo axis and at least one model for each gearbox of the machine under supervision.
Figure 1 shows an improved position switch 100 in the form of a programmable electronic position switch according to an embodiment of the invention. It shows a Model Based Evaluator (MBV) 4, a Voting Unit 30 and a Programmable Safety Function 40. The
Programmable Safety Function may be configured by a safety program 38 or by configuration. The MBV is supplied with a position reference 1 and a position measurement 22. The servo loop model of the MBV is supplied with parameters P and sensitivity settings S. The MBV outputs trust evaluated positions 19 and trust values 18 associated with those positions to the Voting Unit 30. The Voting Unit supplies a safety enhanced position 32 and an error signal 34 when appropriate in the form of a dual channel error signal to the Programmable Safety Function. The Programmable Safety Function provides safety signals 42 to the robot control system.
Figure 2 shows an arrangement for controlling a robot 101 comprising an embodiment of the programmable electronic position switch 100. It shows a Control Module 201 comprising a Panel Safety function 230, which may also be arranged connected with a teach pendant unit 29. A motion limit may be configured, for example via the Panel Safety functions PS or the TPU 29, or via another suitably connected part of the control system. Such a motion limit specifies a limit to the extent of motion of one or more axes of the robot. When a motion limit has been configured or registered, the control system ensures that the robot keeps within the limit by tracking the robot position as determined by the electronic position switch. In the event that the robot position is not determined to be reliable, or if an error has occurred, safety functions or alarms are triggered. The Control Module may also comprise Power and UPS functions, a computer 225, and a series of I/O interfaces 205 to sensors and/or process signals.
Functions in the control module may be connected by means of a LAN 210 or a USB 215 bus connection or a Service line 220 or by an Ethernet-type connection 215. Figure 2 also shows a Drive Module.
The Drive Module 202 comprises a programmable electronic position switch 100 comprising an MPV 4 connected to a Drives and Safety module 235, to the I/O interfaces 205 to the computer 225 of the Control Module and to an axis computer function 240. In the third module of the diagram, a robot 101 is shown which comprises a motor 15 and a serial measurement board SMB, which handles data from at least one axis. A programmable electronic position switch according to an embodiment of the invention comprises a model-based evaluator MBV, which contains at least one model of the servo loop for each axis, at least one model of each gearbox in use, typically a filter element, and at least one weighting function (see also Fig. 3a and below) . The MBV reads measurement and reference values. After evaluation, it passes on at least one resulting trust-valued position to the Voting Unit 30 of Figure 1 together with a value indicating the amount of trust that is put in each position value, typically a number between 0 (don't trust) and 1 (fully trust) . Alternatively, a low trust value can be represented by an error signal causing special action, e. g. turning on a light, sending a message via a communication channel etc.
The Voting Unit decides, based on receipt of a multitude of position signals with associated trust values, which (if any) position signal can be trusted and if enough signals with high trust level are present to give a confidence vote on the validity of a position measurement. The Voting Unit has to make 2 decisions on 2x2n trust values. (See also Fig. 9.) If the voting unit decides to trust the available positions, in a third unit 40, user-defined operations on the position can be performed (programmable safety functions) . In addition to axis limits and axis ranges, operations such as speed supervision and standstill supervision may be selected. Standstill supervision involves maintaining accurate position information during a standstill or stop period so that position accuracy and safety requirements may be met even while the robot is not moving. Maintaining or even updating reliable and accurate determinations of position during standstill provides a basis for maintaining accurate synchronisation between the different moving parts of the robot. Fig 3a shows another embodiment of the invention comprising a single channel MBV that is connected to a servo controller. The figure shows an MBV 4 which comprises a gearbox model 6B, a servo loop model 5B for at least one axis, a filter 8 and a weighting function 9 all running in a second computer or processor B.
Figure 3a also shows a Computer 10, CPU or processor A running a servo controller and a gearbox model 6a. Computer A is in turn connected to a power amplifier 14, to a drive motor 15, and a gearbox 16. The output of Computer A is also connected to a sensor means 17 in the motor, a sensor such as a resolver. A position reference 1 (arrow from left of diagram) is supplied to Computer A (10) running the servo controller 13 and the servo controller output amplified at 14 fed to the motor 15 results in a movement of the gearbox 16 and moves the arm to a given arm position (arrow right of diagram) . Resolver or other sensor measurement from 17 is fed back 22a to the gearbox model A, and summed or subtracted 7a with the reference and then supplied to the servo controller 13. Resolver measurement is also fed back and made available 22b to the second gearbox model B. Gearbox model B outputs the position reference 2 after modeling to summator 7b where it may be combined with output 3 from the servo model after modeling the reference position 1. In this embodiment, the servo controller process is preferably executed on a first computer A (10) or CPU and the MBV is executed on a second computer B (11) or CPU as shown in Figure 3a. The MBV contains at least one gearbox model 6b and one servo loop model 5b, a comparator, summator or subtracting element 7b, a filter 8 and a weighting element 9. The output from the single channel after weighting function 9 is a trust value 18 and a safety-valuated position (19) which may be 1, 2, or 3 or a linear combination of 1, 2 and 3. An example of a simple servo loop model could be a delay element representing one or more communication delays and a servo lag. The filter element preferably reduces high frequency components of the difference signal, typically occurring during acceleration of the servo motor. The weighting function may, in the simplest case, be a comparator giving an output signal 1 if the input signal is below a certain threshold, and 0 if above. Alternatively, the weighting function can be smooth giving intermediate values also. In general, the trust value may be reduced when the error between the measured position that was sent through the gearbox model and the position predicted by the servo loop model increases, and vice versa. Preferably the values 0 and 1 are used as trust values and the weighting function is a threshold function. Gearbox model A and gearbox model B may be synchronised as indicated by data connection 20.
Figure 3b shows an alternative implementation of a servo control loop. Sensor or resolver measurement from 17 is not supplied to Computer A running the servo controller, and is instead supplied with the reference value to an inverse gearbox model 6a' in computer A before summation or subtraction 7a and subsequent supply to the servo controller 13. The output from the single channel evaluator after weighting function 9 is similar to embodiment of Fig 3a, trust value 18, safety-valuated position 19 which may be 1, 2, or 3 or a linear combination of 1, 2 and 3.
In one embodiment, the MBV comprises a comparator with a dual- channel modeling of measured position for comparison with a reference position. If the difference in one of two channels exceeds a threshold, the trust into the comparison is set to zero, which means that either of the signals, the servo controller or the MBV itself may be faulty, and if otherwise then set to one. In the case of a fault, the voting unit thus will receive two position signals with at least one trust value zero, and will in consequence decide to set an error signal.
Figure 5 shows a MBV of a dual channel model according to another embodiment of the invention comprising a first computer A (10) which is responsible for computing both the servo controller and one instance of an MBV, and a computer B which computes a second instance of an MBV. Both MBVs comprise a gearbox model and a servo loop model. The figure shows Computer A (10) comprising a summator or comparator 7a, a Gearbox model A, a servo loop model A, a filter 8A and a weighting function 9A, the servo controller 13 and an inverse gearbox model 6a' . The reference value 1 is fed to the gearbox model A. Sensor or resolver measurement is fed back 22a to both the summator 7a and to the gearbox model A. A gearbox model B, a servo loop model B, a filter 8B and a weighting function 9B are comprised in the second computer B (11) . The same sensor or resolver measurement from 17 is fed back 22b to the gearbox model B of the second instance.
The output from the first channel after weighting function 9A is a trust value 18A and a safety-valuated position A (19A) which may be IA, 2A, or 3A or a linear combination of IA, 2A and 3A. Similarly, the output from the second channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B. Other combinations of IB, 2B and 3B may be used. When a multi-channel MBV is used, the voting unit 30 may be assigned a logic function permitting the voting unit to ignore a single non- trusted position and continue operation, but give a warning signal to have the system checked. This is a form of multiple redundancy that is also used in vehicles such as airplanes or spacecraft. If the voting unit decides to trust the available positions, user- defined operations can be performed, by means of the a third unit (Programmable Safety Functions 40), on the position. As well as applying axis limits, axis ranges and speed may be supervised. The robot may also be supervised during standstill, stop or other functions while an axis is not being driven.
Since the MBV comprises a gearbox model which may contain at least one revolution counter per axis, a mechanism indicated by data connection 20 (Fig 3a, b, 5, 6) is needed to ensure that the revolution counter of the MBV model is synchronized with both the revolution counter used for the servo control and with the actual revolution of the real gearbox. A periodic movement of the machine against an electric switch mounted in a well-known position may for example be used for synchronisation to make sure all models provide the correct and identical arm position.
Figure 4a shows an embodiment of a simple gearbox model 6, 6a, 6b reading a measurement signal from sensor or resolver 17, and comprising a revolution counter 48, a multiplier 44a, a summator 47 which may receive a calibration offset 49, an inverse gear ratio 45, and a second multiplier 50. An arm coarse position signal 46 is calculated after first multiplier 44a and an arm fine position signal 51 is calculated after second multiplier 50. Figure 4b shows an embodiment of a simple inverse gearbox model
6a' comprising an input for an arm fine position 51, a gear ratio 54, a multiplier 44, an input 49 for a calibration offset, and a motor position output at 55.
In a development according to another embodiment a mode of the supervision may allow the weighting function to be changed during operation by an input signal or by a signal internally generated based on reference and measured position. For example, one application of this procedure would be to relax the threshold of a control error in operations where lower degree of safety is required, and the servo controller gain is reduced to allow an external equipment to move the servo axis. This may be used for example when running the robot in compliant mode or other modes for purposes such as for teaching, programming or configuration.
The electronic position switch according to an embodiment of the invention may be configured to define at least one limit for at least one axis, and a signal is sent and/or output is set whenever said axis reaches the set limit. It is also provided possible that a signal may be generated instead or as well based on a logical combination of axis limits, for example: (axis 1 out of limit and axis 2 out of limit and...) . If the voting unit decides to trust the available positions, in a third unit, user-defined operations on the position can be performed (programmable safety functions 40) , such as axis limits, axis ranges, speed supervision, standstill supervision etc. In this way, a safe working area in the proximity of robot is provided by the position switch and the use of mechanical limit switches on at least one axis of the robot arm is not required.
Figure 10 shows a flowchart for a method according to an embodiment of the invention. It shows a sequence of steps comprising :
110 reading the measured position 22, 22a
111 computing an arm position using gearbox model 113 reading an arm reference position 1 114 computing a servo loop model
116 computing a difference between measured position and reference position 117 applying filtering
119 applying weighting, and generating a position value 19 and trust value 18.
It also shows that parameters P may be configured or input for the gearbox model at 112, servo loop model at 114, filter at 118 and/or sensitivity S at 119.
Figure 6 shows an embodiment of the invention according to Fig 5, where the MBVs share the servo loop model of computer B. This solution reduces complexity, but requires real-time communication between computers A (10) and B (11) .
Figure 7 shows a dual channel, triple computer embodiment of the invention where a first computer A (10) is responsible for the servo controller, a second computer B (11) provides a first instance of an MBV, and a third computer C (12) provides a second instance of a MBV. The output from the first channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B. Similarly, the output from the second channel after weighting function 9C is a trust value 18C and a safety-valuated position C (19C) which may be 1C, 2C, or 3C or may be a linear combination of 1C, 2C and 3C. The output from the first channel after weighting function 9A is a trust value 18A and a safety-valuated position A (19A) which may be IA, 2A, or 3A or a linear combination of IA, 2A and 3A. Similarly, the output from the second channel after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be IB, 2B, or 3B or a linear combination of IB, 2B and 3B. Other combinations of IB, 2B and 3B may be used. Fig. 8 shows an embodiment according to Fig. 7, and where the two MBVs share the servo loop model of computer B. This solution reduces complexity, but requires real-time communication between computers B and C. The output from the first channel B after weighting function 9B is a trust value 18B and a safety-valuated position B (19B) which may be 2B, or 3B or a linear combination of 2B and 3B . The output from the second channel may includes modeled reference 1C to give a trust value 18C and a safety-valuated position C (19C) which may be 1C, 2C, or 3C or may be a linear combination of 1C, 2C and 3C.
The robot and/or automation application with an improved position switch according to an embodiment of present invention may applied to operations such automobile assembly and to manufacturing processes used in automobile manufacturing. The robot or automation application may be used to carry out tasks such as any of: welding, soldering, electrical soldering, riveting, fettling, painting, spray painting, electrostatic powder spraying, gluing, operations performed in relation to metal processing processes such as continuous casting, casting, diecasting and production methods for other materials such as plastic injection moulding, compression and/or reaction moulding or extrusion. The robot application may carry out other operations, including such as folding plate, bending plate and/or hemming plate. The robot application may comprise a plurality of tools, with wireless communication as well as without wireless communication. In particular, the robot may be used to carry out one or more tasks in a safe manner according to an industrial safety standards in close cooperation with human operators. The invention may also be applied to one or more robots arranged to provide a vehicle simulator application or an amusement ride. One or more processors (or microprocessors or computers) present at least in a robot control unit, in a PLC, or in the position switch 100 each comprise a central processing unit CPU performing one or more steps of the methods according to one or more aspects of the invention. This is performed with the aid of one or more computer programs, which are stored at least in part in memory in, or in a memory storage accessible by, the one or more processors. The invention may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors, or devices such as FPGAs (field programmable gate arrays), CPLDs (complex programmable logic device) or ASICs (application specific integrated circuits) .
The computer program comprises computer program code elements or software code portions that make the computer or processor perform the methods using equations, algorithms, data, stored values, calculations and other methods previously described and, for example, in relation to the flowchart of Figure 10. A part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM, EPROM or EEPROM chip, a flash memory or similar memory means . The program in part or in whole may also be stored locally (or centrally) on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto- optical memory storage means, in volatile memory, in flash memory, as firmware, or stored on a data server. Other known and suitable media, including removable memory media such as flash memories, hard drives etc. may also be used. The program or programs may also in part be supplied from a data network, including a public network such as the Internet, via a temporary hard-wire data connection and/or via a wireless communication unit arranged to the robot or robot control unit, a local PLC and/or another computer .
The computer programs described may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time.
It should be noted that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention as defined in the appended claims.

Claims

1. A method for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit, the robot or the control unit also comprising at least one first computer (10) running a servo controller, and the method comprising registering a motion limit for at least one axis of said robot arm, providing a reference signal (1) for a robot position to a robot controller (13) and making a measurement of a position of at least one axis of said robot arm for the purpose of limiting the motion of an arm of said robot, characterised in that a motion limit of said at least one said arm is provided by running in at least one computer (10, 11, 12) a model-based evaluator (4) of a position switch (100) , modelling a position of said at least one axis of said robot arm dependent on said reference signal and comparing the modelled position (19, 19A, 19B, 19C) to the measured position (22, 22a, 22b) .
2. A method according to claim 1, wherein the modelled position of said at least one axis is provided with a trust value (18, 18A, 18B, 18C) .
3. A method according to claim 1, wherein the modelled position is calculated by means of a second computer (11, 12) provided in the robot or robot control unit.
4. A method according to claim 1, wherein at least one axis of said arm is arranged without a hardware position switch or a mechanical rotational stop means.
5. A method according to claim 1, wherein a servo loop model for said at least one axis and a model for at least one gearbox is run in the model-based evaluator (4) of the position switch.
6. A method according to claim 5, wherein the method further comprises: a reading reference (1) or target values sent to the servo control for said at least one axis, reading a measurement value (22, 22a, 22b) for actual motor position for the at least one axis, and modelling in the model-based evaluator a servo control loop, modelling a gearbox and calculating a first position (19, 19A, 19B, 19C) and a trust value (18, 18A, 18B, 18C) for the first position.
7. A method according to claim 1, wherein the model-based evaluator of the position switch comprises a weighting function (8) .
8. A method according to claim 7, wherein the weighting function of the model-based evaluator of the position switch is changed by an input signal or a signal internally generated based on a reference and a measured position.
9. A method according to claim 8, wherein the weighting function of the model-based evaluator is changed dependent on a change of the operational mode of a servo control loop.
10. A method according to claim 9, the method further comprising changing the weighting function of the model-based evaluator during an operational mode such as compliant motion.
11. A method according to claim 1, the method further comprises synchronising a revolution counter function of the model for at least one gearbox with a servo control revolution counter and a measured gearbox position.
12. A method according to claim 1, wherein the method further comprises calculating the first position and trust value with a first model-based evaluator running on said first computer (10) running the servo control, and a calculating a second position and trust value by means of second instance of a model-based evaluator running on the second computer (11) .
13. A method according to claim 12, wherein the method further comprises sharing the control loop of the second instance of the model-based evaluator running on the second computer with the first model-based evaluator running on the first computer.
14. A method according to claim 12, wherein the method comprises running the servo control on said first computer, calculating the first position and trust value with a first model model-based evaluator running on the second computer, and calculating a second position and trust value by means of second instance of the model- based evaluator running on a third computer (12) .
15. A method according to claim 14, wherein the method further comprises sharing the control loop of the first model-based evaluator running on the second computer with the second instance of the model-based position switch running on the third computer.
16. A method according to any of claims 1 to 15, wherein the trust signals are compared and when at least 2 trust signals are evaluated positive the position may be a handled as a safety- evaluated position (19A, 19B, 19C) .
17. A method according to any of claims 1 to 15, wherein the trust signals are compared and when at least 2 trust signals are not both positive then a signal is generated indicating an internal error .
18. A method according to any of claims 1 to 17, wherein a safety- evaluated position and/or a trust signal are modelled during a time when the robot is at a standstill or stopped.
19. A method according to any one of claims 1 to 18, wherein the method is carried out under the instruction of a computer program comprising computer code means and/or software code portions for making a computer or processor perform the method.
20. A method according to any one of claims 1 to 18, wherein the method is carried out by means of a computer program according to claim 19 comprised in one or more computer readable media.
21. A control device for controlling the motion of a multi-axis industrial robot or manipulator arranged with a robot control unit, said device also comprising at least one first computer (10) for servo control, said device comprising means for reading an actual position value and comparing it to reference signal (1) for the purpose of limiting the motion of an arm of said robot in at least one axis, characterised in that said device is arranged with a second (11) computer running a model-based evaluator (4) comprising means for: modelling by means of a servo loop model a first position of said at least one axis dependent on said reference signal, comparing the modelled first position with a measured position of the at least one axis, and generating a control signal based on a function of the modelled first position.
22. A device according to claim 21, wherein model-based evaluator comprises means for providing a trust value (18) for the first position (19) from which the control signal is generated.
23. A device according to claim 21, wherein at least one axis of said arm is arranged without mechanical stop means.
24. A device according to claim 21, wherein the model-based evaluator comprises means for running a servo loop model (5) for the at least one axis and a model for at least one gearbox (6) .
25. A device according to claim 21, wherein the servo loop model comprises at least one parameter describing a delay, and the gearbox model comprises at least one revolution counter (48) and at least one parameter for the gearbox speed reduction ratio.
26. A device according to claim 21, wherein the model-based position switch comprises means for: inputting a target value sent to the servo control for the at least one axis, inputting a measurement value for an actual position of the at least one axis, and means for modelling a servo control loop, modelling a gearbox to calculate a first position and a trust value for the first position, and means for generating a control signal based on the status of the model-based evaluator of at least on axis.
27. A device according to claim 21, wherein the model-based evaluator comprises a weighting function means (8, 8A, 8B, 8C) .
28. A device according to claim 27, wherein the weighting function means for the model-based position switch is arranged readable from a memory storage means for changing a weighting value dependent on an input signal or a signal internally generated based on reference and a measured position.
29. A device according to claim 28, wherein the weighting function of the model-based position switch is arranged with means to read a signal indicating a change of operational mode of a servo control loop.
30. A device according to claim 21, wherein said device further comprises a servo control revolution counter, the servo model comprises a revolution counter function, and means for synchronising for at least one gearbox with a measured gearbox position .
31. A device according to claim 21, wherein said device comprises said first computer running the servo control also running a first model-based evaluator for calculating the first position and trust value, and the second computer running a second instance of the model-based evaluator for calculating a second position and trust value.
32. A device according to claim 31, wherein said device comprises communication means between the first and second computer arranged for sharing the control loop of the second instance of the model- based position switch running on the second computer with the first model-based position switch running on the first computer.
33. A device according to claim 31, wherein said device comprises communication means between the second computer running the first model-based evaluator for calculating the first position and trust value and a third computer running the second instance of the model-based evaluator for calculating second position and trust value .
34. A device according to claim any of claims 21-33, wherein the model-based position switch (100) comprises a single main board and at least two computers or processors for running at least one model-based evaluator.
35. A robot control system (200) for a multi-axis industrial robot or manipulator arranged with a robot control unit, the robot or the control unit also comprising at least one first computer (10) running a servo controller, and means for registering a motion limit for at least one axis of said robot arm, means for providing a reference signal (1) for a robot position to a robot controller (13) and means (17) for making a measurement of a position of at least one axis of said robot arm for the purpose of limiting the motion of said at least one axis of said robot, characterised in that said robot or the control unit is arranged with at least one second (11) computer running a model-based evaluator (4) comprising means for modelling by means of a servo loop model a first position of the at least one arm dependent on said reference signal, means for comparing the modelled first position with a measured position of said at least one axis, and means for generating a control signal based on a function of the modelled first position.
36. A system according to claim 35, wherein the model-based evaluator (4) is comprised in a position switch (100) .
37. A system according to claim 36, wherein the position switch comprises a voting unit (30) and a unit comprising one or more programmable safety functions (40) .
38. A system according to claim 36, wherein the position switch is comprised in a drive module of a robot control system.
39. A system according to claim 36, wherein said robot or the control unit is arranged with means for configuring a motion limit for said at least one axis of said robot.
40. A system according to claim 39, wherein said robot or the control unit is arranged with means for configuring a motion limit for said at least one axis said robot dependent on a motion limit for at least one other axis of the said robot.
41. A system according to claim 35, wherein said robot or the control unit is arranged with means (4) for modelling a first position of the at least one arm dependent on said reference signal and means for comparing the modelled first position with a measured position of said at least one axis when the at least one arm is in motion or at a standstill.
42. A computer program comprising computer code means and/or software code portions for making a computer or processor perform a method according to any of claims 1-18.
43. A computer program product comprising the computer program according to claim 42 comprised in one or more computer readable media .
44. Use of a device according to any of claims 21-34 for operations using a multi-axis industrial robot or manipulator in an industrial or commercial installation, a place of work or an amusement ride.
45. Use of a system according to any of claims 35-41 to operate a multi-axis industrial robot or manipulator in an industrial or commercial installation to carry an operation comprising any from the list of: fitting parts to automobiles, painting, welding, soldering, riveting, gluing, folding plate, bending plate, hemming plate, fettling, cutting, laser cutting, water-jet cutting, gripping an object, manipulating an object, stacking, pick and place, palletising, depalletising.
PCT/EP2006/068443 2005-11-16 2006-11-14 Method and device for controlling motion of an industrial robot with a position switch WO2007057390A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP06819462A EP1951482A2 (en) 2005-11-16 2006-11-14 Method and device for controlling motion of an industrial robot
CN200680042941.5A CN101309783B (en) 2005-11-16 2006-11-14 Method and device for controlling motion of an industrial robot equiped with positioning switch
US12/085,145 US8036776B2 (en) 2005-11-16 2006-11-14 Method and device for controlling motion of an industrial robot with a position switch

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73683505P 2005-11-16 2005-11-16
US60/736,835 2005-11-16

Publications (3)

Publication Number Publication Date
WO2007057390A2 true WO2007057390A2 (en) 2007-05-24
WO2007057390A3 WO2007057390A3 (en) 2007-07-12
WO2007057390B1 WO2007057390B1 (en) 2007-08-23

Family

ID=37951704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/068443 WO2007057390A2 (en) 2005-11-16 2006-11-14 Method and device for controlling motion of an industrial robot with a position switch

Country Status (4)

Country Link
US (1) US8036776B2 (en)
EP (1) EP1951482A2 (en)
CN (1) CN101309783B (en)
WO (1) WO2007057390A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155993A1 (en) * 2008-06-27 2009-12-30 Abb Research Ltd. A safety system for a machine
CN101806580A (en) * 2010-03-19 2010-08-18 东华大学 Motion control system and method for high-precision image measuring apparatus
CN102841563A (en) * 2012-09-26 2012-12-26 苏州工业园区职业技术学院 Four-axis high speed dispensing robot servo-control system
WO2016184451A1 (en) * 2015-05-21 2016-11-24 Kastanienbaum GmbH Method and device for open-loop/closed-loop control of an actuator-driven robot joint

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4792901B2 (en) 2005-09-30 2011-10-12 日産自動車株式会社 Laser welding apparatus and method, and irradiation apparatus
WO2007057390A2 (en) * 2005-11-16 2007-05-24 Abb Ab Method and device for controlling motion of an industrial robot with a position switch
CN102489570B (en) * 2011-12-08 2014-04-02 广州风神汽车有限公司 Positioning compensation system and method applied to automobile wheel casing edge covering
CN102591306B (en) * 2012-03-08 2013-07-10 南京埃斯顿机器人工程有限公司 Dual-system assembly type industrial robot controller
US11220867B2 (en) * 2013-12-10 2022-01-11 Halliburton Energy Services, Inc. Continuous live tracking system for placement of cutting elements
CN105437250A (en) * 2014-09-01 2016-03-30 赵德朝 Series engineering robot
DE102014017307B4 (en) * 2014-11-21 2019-08-01 Kuka Roboter Gmbh Method and system for processing a component with a robot-guided tool
KR101959963B1 (en) * 2014-12-26 2019-03-19 카와사키 주코교 카부시키 카이샤 Control device for conveyance device
US20160214261A1 (en) * 2015-01-22 2016-07-28 GM Global Technology Operations LLC Collaborative robot system and method
JP6613849B2 (en) * 2015-11-26 2019-12-04 株式会社デンソーウェーブ Robot controller
JP6690213B2 (en) * 2015-12-09 2020-04-28 セイコーエプソン株式会社 Robots, controllers and robot systems
JP6444955B2 (en) * 2016-09-23 2018-12-26 ファナック株式会社 Injection molding system, injection molding machine and peripheral device
CN107817695B (en) * 2017-09-28 2022-02-18 广州明珞汽车装备有限公司 Method and system for batch detection and setting of robot simulation soft limit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571149A (en) * 1983-04-14 1986-02-18 Westinghouse Electric Corp. General purpose orthogonal axes manipulator system
JPH01321192A (en) * 1988-06-20 1989-12-27 Toyoda Mach Works Ltd Working aera limiter for robot
US6778867B1 (en) * 1997-12-06 2004-08-17 Elan Schaltelemente Gmbh & Co. Kg Monitoring and control of a handling device

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025838A (en) * 1974-12-26 1977-05-24 Kawasaki Heavy Industries, Ltd. Signal modification device for memory controlled manipulator apparatus
US4011437A (en) * 1975-09-12 1977-03-08 Cincinnati Milacron, Inc. Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece
US4338672A (en) * 1978-04-20 1982-07-06 Unimation, Inc. Off-line teach assist apparatus and on-line control apparatus
JPS5717012A (en) * 1980-07-07 1982-01-28 Fanuc Ltd Numerical controller
JPS6039518B2 (en) * 1980-09-30 1985-09-06 ファナック株式会社 Industrial robot wrist mechanism
US4460826A (en) * 1980-10-24 1984-07-17 Diffracto Ltd. Fiber optic based robot controls
US4484294A (en) * 1982-03-03 1984-11-20 Nordson Corporation Method and apparatus for modification of a prerecorded programmed sequence of motions during execution thereof by a robot
US4486843A (en) * 1982-03-03 1984-12-04 Nordson Corporation Transitional command position modification for a controller
US4481592A (en) * 1982-03-05 1984-11-06 Texas Instruments Incorporated Calibration system for a programmable manipulator
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
SE436848B (en) * 1982-06-28 1985-01-28 Asea Ab INDUSTRIROBOT CONTROL SYSTEM
US4502109A (en) * 1982-09-14 1985-02-26 Vickers, Incorporated Apparatus for estimating plural system variables based upon a single measured system variable and a mathematical system model
US4608651A (en) * 1982-10-28 1986-08-26 Kabushiki Kaisha Kobe Seiko Sho Control system for direct teaching/playback type robots
JPS59114609A (en) * 1982-12-22 1984-07-02 Hitachi Ltd Method and device for controlling robot
US4494060A (en) * 1983-03-02 1985-01-15 Anorad Corporation Axis controller for robotic actuator
US4603284A (en) * 1984-06-05 1986-07-29 Unimation, Inc. Control system for manipulator apparatus with resolved compliant motion control
JPS6293710A (en) * 1985-10-18 1987-04-30 Tokico Ltd Industrial robot
US5155423A (en) * 1986-02-18 1992-10-13 Robotics Research Corporation Industrial robot with servo
US4973215A (en) * 1986-02-18 1990-11-27 Robotics Research Corporation Industrial robot with servo
US4894598A (en) * 1986-11-20 1990-01-16 Staubli International Ag Digital robot control having an improved pulse width modulator
US4786847A (en) * 1986-11-20 1988-11-22 Unimation Inc. Digital control for multiaxis robots
US4864206A (en) * 1986-11-20 1989-09-05 Westinghouse Electric Corp. Multiaxis robot control having improved energy monitoring system for protecting robots against joint motor overload
JP2645004B2 (en) * 1987-02-27 1997-08-25 株式会社東芝 Control device for multi-degree-of-freedom manipulator
US4866641A (en) * 1987-04-24 1989-09-12 Laser Alignment, Inc. Apparatus and method for controlling a hydraulic excavator
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
US5019761A (en) * 1989-02-21 1991-05-28 Kraft Brett W Force feedback control for backhoe
JPH02262987A (en) * 1989-04-03 1990-10-25 Mitsubishi Heavy Ind Ltd Teaching device for robot of direct teaching type
US5049796A (en) * 1989-05-17 1991-09-17 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Robust high-performance control for robotic manipulators
US5038243A (en) * 1989-07-19 1991-08-06 Hewlett-Packard Company Local initialization for incremental encoder
US5081593A (en) * 1989-08-16 1992-01-14 Megamation Incorporated Method and apparatus for monitoring and controlling linear motor robot apparatus and the like
JP2819353B2 (en) * 1990-09-28 1998-10-30 本田技研工業株式会社 Walking control device for legged mobile robot
US5198736A (en) * 1990-11-15 1993-03-30 Canon Kabushiki Kaisha Orthogonal two-axis moving apparatus
US5586224A (en) * 1990-12-25 1996-12-17 Shukyohojin, Kongo Zen Sohonzan Shorinji Robot or numerical control programming method
DE69223533T2 (en) * 1991-03-06 1998-07-23 Hitachi Ltd Encoder
JP3176701B2 (en) * 1992-04-15 2001-06-18 本田技研工業株式会社 Mobile object current position recognition processor
US7345672B2 (en) * 1992-12-02 2008-03-18 Immersion Corporation Force feedback system and actuator power management
US5629594A (en) * 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US5389865A (en) * 1992-12-02 1995-02-14 Cybernet Systems Corporation Method and system for providing a tactile virtual reality and manipulator defining an interface device therefor
US5769640A (en) * 1992-12-02 1998-06-23 Cybernet Systems Corporation Method and system for simulating medical procedures including virtual reality and control method and system for use therein
US6801008B1 (en) * 1992-12-02 2004-10-05 Immersion Corporation Force feedback system and actuator power management
US5724264A (en) * 1993-07-16 1998-03-03 Immersion Human Interface Corp. Method and apparatus for tracking the position and orientation of a stylus and for digitizing a 3-D object
US5625576A (en) * 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
JPH07108484A (en) * 1993-10-07 1995-04-25 Fanuc Ltd Operational end detecting device of robot
JPH07336943A (en) * 1994-06-03 1995-12-22 Sony Corp Motor with reducer
JP3406080B2 (en) * 1994-08-24 2003-05-12 ファナック株式会社 Method of allocating and using welding equipment in welding robot system
JPH08300280A (en) * 1995-05-09 1996-11-19 Fanuc Ltd Motion control system of robot
US5691898A (en) * 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
JPH09244730A (en) * 1996-03-11 1997-09-19 Komatsu Ltd Robot system and controller for robot
US6024576A (en) * 1996-09-06 2000-02-15 Immersion Corporation Hemispherical, high bandwidth mechanical interface for computer systems
JPH10291189A (en) * 1997-04-21 1998-11-04 Fanuc Ltd Robot emergency stop switch mechanism and teaching control panel provided with the mechanism
WO2000007503A1 (en) * 1998-08-04 2000-02-17 Intuitive Surgical, Inc. Manipulator positioning linkage for robotic surgery
US6033415A (en) * 1998-09-14 2000-03-07 Integrated Surgical Systems System and method for performing image directed robotic orthopaedic procedures without a fiducial reference system
US6232735B1 (en) * 1998-11-24 2001-05-15 Thames Co., Ltd. Robot remote control system and robot image remote control processing system
EP1090722B1 (en) * 1999-09-16 2007-07-25 Fanuc Ltd Control system for synchronously cooperative operation of a plurality of robots
SE0001312D0 (en) * 2000-04-10 2000-04-10 Abb Ab Industrial robot
JP3504222B2 (en) * 2000-09-04 2004-03-08 ファナック株式会社 Robot controller
US6442451B1 (en) * 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
JP2002301674A (en) * 2001-04-03 2002-10-15 Sony Corp Leg type moving robot, its motion teaching method and storage medium
US6801187B2 (en) * 2001-06-22 2004-10-05 Ford Global Technologies, Llc System and method of interactive evaluation and manipulation of a geometric model
CN1296182C (en) * 2001-08-29 2007-01-24 本田技研工业株式会社 Remote control device of bipedal mobile robot
AU2003224997A1 (en) * 2002-04-16 2003-11-03 Michael Conditt Computer-based training methods for surgical procedures
US7096076B2 (en) * 2002-06-19 2006-08-22 Rockwell Automation Technologies, Inc. Output cam system and method
DE10240180A1 (en) * 2002-08-27 2004-03-11 Putzmeister Ag Device for actuating an articulated mast
US6999851B2 (en) * 2002-08-30 2006-02-14 Sony Corporation Robot apparatus and motion controlling method therefor
US7236852B2 (en) * 2002-10-11 2007-06-26 Sony Corporation Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot
JP2004199433A (en) * 2002-12-19 2004-07-15 Fanuc Ltd Synchronous control device
TWI273009B (en) * 2003-01-21 2007-02-11 Yaskawa Electric Corp Speed reducer for industrial robot
JP4587738B2 (en) * 2003-08-25 2010-11-24 ソニー株式会社 Robot apparatus and robot posture control method
WO2007057390A2 (en) * 2005-11-16 2007-05-24 Abb Ab Method and device for controlling motion of an industrial robot with a position switch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571149A (en) * 1983-04-14 1986-02-18 Westinghouse Electric Corp. General purpose orthogonal axes manipulator system
JPH01321192A (en) * 1988-06-20 1989-12-27 Toyoda Mach Works Ltd Working aera limiter for robot
US6778867B1 (en) * 1997-12-06 2004-08-17 Elan Schaltelemente Gmbh & Co. Kg Monitoring and control of a handling device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155993A1 (en) * 2008-06-27 2009-12-30 Abb Research Ltd. A safety system for a machine
CN101806580A (en) * 2010-03-19 2010-08-18 东华大学 Motion control system and method for high-precision image measuring apparatus
CN102841563A (en) * 2012-09-26 2012-12-26 苏州工业园区职业技术学院 Four-axis high speed dispensing robot servo-control system
CN102841563B (en) * 2012-09-26 2015-05-13 苏州工业园区职业技术学院 Four-axis high speed dispensing robot servo-control system
WO2016184451A1 (en) * 2015-05-21 2016-11-24 Kastanienbaum GmbH Method and device for open-loop/closed-loop control of an actuator-driven robot joint
JP2018524185A (en) * 2015-05-21 2018-08-30 カスタニエンバウム ジーエムビーエイチ Method and apparatus for open loop / closed loop control of an actuator driven robot joint
US10730186B2 (en) 2015-05-21 2020-08-04 Kastanienbaum GmbH Method and device for open-loop/closed-loop control of an actuator-driven robot joint

Also Published As

Publication number Publication date
CN101309783B (en) 2013-09-11
CN101309783A (en) 2008-11-19
WO2007057390B1 (en) 2007-08-23
WO2007057390A3 (en) 2007-07-12
US20100217434A1 (en) 2010-08-26
EP1951482A2 (en) 2008-08-06
US8036776B2 (en) 2011-10-11

Similar Documents

Publication Publication Date Title
US8036776B2 (en) Method and device for controlling motion of an industrial robot with a position switch
Ramesh et al. Intelligent automation of design and manufacturing in machine tools using an open architecture motion controller
WO2018190936A1 (en) Teach mode collision avoidance system and method for industrial robotic manipulators
US10935955B2 (en) Method and system for operating a multi-axis machine, in particular a robot
Brogårdh Robot control overview: An industrial perspective
US11292130B2 (en) Method for motion simulation of a manipulator
WO2013108569A1 (en) System and method for controlling redundant actuators of a laser cutting machine
Desforges et al. Design methodology for smart actuator services for machine tool and machining control and monitoring
CN113924195A (en) Control of multipurpose robot arm
US20040186697A1 (en) Method and system for assisting in the planning of manufacturing facilities
Martinova et al. Practical aspects of ensuring accuracy of machining on CNC machine tools within framework of “smart manufacturing”
JPH01217604A (en) Synchronizing control system
Prévost et al. Feed drive modelling for the simulation of tool path tracking in multi-axis high speed machining
Wu et al. Dynamic performance of industrial robot with CNC controller
Martinova et al. An approach to the implementation of the machine safety function using an integrated in the CNC system SoftPLC and an external Safety controller made according to the SoftPLC
CN109687771A (en) Control device
Desforges et al. Multi-agent framework based on smart sensors/actuators for machine tools control and monitoring
Brecher et al. Machine Tools Production Systems 3: Mechatronic Systems, Control and Automation
Erdem et al. Automated flexible tooling for wing box assembly: hexapod development study
CN115079638A (en) Safe operation of a multi-axis movement device
CN115077953A (en) Safe operation of a multi-axis motion system
CA2909347C (en) Safety monitoring for a serial kinematic structure
Milighetti et al. On the discrete-continuous control of basic skills for humanoid robots
WO2022264338A1 (en) Control device, interference checking device, and control system
US11604450B1 (en) Processing machine and determining method for determining abnormal processing of the processing machine

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680042941.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006819462

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12085145

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2006819462

Country of ref document: EP