Abstract:
A method for controlling a manipulator system, such as a robot system, having at least two driven axes connected to a power supply, includes selecting an axis of the manipulator system, monitoring the selected axis for a standstill state, and disconnected the selected axis from the power supply if it is detected that the selected axis is not in the standstill state, while maintaining the other non-selected axis connected to the power supply.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention concerns a method and a device to control a manipulator system, in particular of a robot system, which has at least two drivable axes, a manipulator system with such a device and a computer-readable storage medium encoded with program instructions to implement such a method. 
         [0003]    2. Description of the Prior Art 
         [0004]    A manipulator system generally includes one or more manipulators, in particular robots (such as industrial or service robots), and can additionally have additional axes external to the manipulator(s) or, respectively, auxiliary axes. For example, a welding station can have a six-axis industrial robot that drives an electrode holder as well as a rotating table on which can be mounted two workpieces that can be rotated around a drivable seventh or eighth axis, such that a workpiece can always be processed by a robot and for this purpose can be rotated round the seventh or eighth axis while an operator removes or newly mounts a different workpiece. After the processing and the mounting of the new workpiece, the rotating table rotates around a ninth axis so that the robot processes the newly mounted workpiece and the operator can remove the processed workpiece. 
         [0005]    In particular, if people interact with a manipulator system it must be ensured that they are not injured given a malfunction of the controller of the system. In general a regulator that emits control commands to actuators of the manipulator system (in particular to drive its axes) on the basis of fed back real values and their comparison with predetermined desired values is presently also designated as a controller. For example, it can be a programmable robot controller or superordinate process controller (SPC). 
         [0006]    In order to ensure safety given an unscheduled movement of the manipulator system independent of the controller (that, for example, emits incorrect control commands due to calculation, measurement or model errors), from the standard EN 60204-1 it is known to disconnect the drives from the power supply immediately upon detection of the error (known as “STOP 0”), wherein if necessary the residual energy present in the manipulator can be used to brake or shut down the axes in order to assist engaged mechanical brakes via motors, or to additionally supply the drives with power to apply braking forces and only to disconnect from the power supply after the shutdown (what is known as “STOP 1”). Opposite parallel forces (i.e. torques) are also generally designated as forces, such that what is understood by a force sensor is also a torque sensor, for example. 
         [0007]    In this regard EP 1 935953 B1 also proposes to drive a robot into a safety position and in this safety position to monitor all axes of the robot for shutdown if an operator enters a safety space, and to interrupt the power supply to all drives in order to execute a STOP 1 when at least one axis moves unscheduled into the safety position. 
         [0008]    Here the violation of a shutdown monitoring by an axis of the robot disadvantageously already requires a complicated resumption of the operation after the complete STOP 1 of all axes. Additional axes of a manipulator system—in particular axes external to the manipulator—are not taken into account at all. 
       SUMMARY OF THE INVENTION 
       [0009]    An object of the present invention to improve the operation of a manipulator system, in particular a robot system. 
         [0010]    A manipulator system according to the invention has one or more manipulators (in particular robots) and has at least two drivable axes that for this purpose are connected with a power supply. 
         [0011]    The axes can be axes of the manipulator or manipulators that serve for the movement of a work point of the manipulator, in particular its tool reference coordinate system (known as the tool center point). For example, a welding robot can have six rotation axes that can be individually driven by electromotors connected with the power supply; a palletizing robot has four rotation axes, of which the first and fourth are aligned parallel to one another; the second and third are aligned parallel to one another and perpendicular to the first axis. 
         [0012]    The manipulator system can additionally have one or more axes external to the manipulator, which in particular can be provided to move a workpiece. For example, the turning positioner described in the preceding can have a rotating table axis as well as additional rotation axes for positioning of workpieces on the rotating table. 
         [0013]    An axis thereby represents in general a movement possibility or an actuatable degree of freedom of the manipulator system. A rotation axis (which for example can be driven by an electromotor) thus describes a degree of rotation freedom; a linear axis (that, for example, can be driven by a linear motor or by an electromotor via a gearing) describes a degree of translation freedom. 
         [0014]    According to the invention one or more axes of the manipulator system is/are selected and monitored for shutdown. In the event that it is detected that one of these selected axes is not stopped, this axis is specifically disconnected from its power supply while—according to the innovation—the unselected axes continue to remain connected with the power supply. In this way the unnecessary STOP 1 of all axes—thus also those that were not selected for shutdown monitoring since they are not relevant to safety, for example—and the cost connected with this are avoided given a resumption of the operation. The unselected axes can advantageously continue to be activated in the predetermined manner and, for example, bring a planned movement to its end. 
         [0015]    In the example of a welding cell explained in the preamble, the welding robot and the workpiece that is to be directly processed by it are, for example, located in a work space that is secured against admission while the operator removes or newly mounts the other workpiece in a manual loading station. The operator can thus be injured only by an unscheduled movement of the axis for rotation of the workpiece that is currently to be removed or mounted, possibly due to an unscheduled movement of the rotating table. In this example, these axes can therefore advantageously be selected and monitored for stopping. If an unscheduled movement of one of these selected axes occurs, the corresponding axis is disconnected from the power supply in order to ensure that the operator is not injured, independent of the control of the manipulator system. By contrast, the unselected axes of the welding robot and of the workpiece to be processed by it in work space remain in the predetermined controller and for this continue to be supplied with power. In contrast to a disconnection of all drives from the power supply, a burning of welding wire to ash can be prevented. 
         [0016]    In a preferred embodiment of the present invention, the selected axis is immediately disconnected from the power supply as soon as it is detected that this axis is not at a standstill, meaning that a STOP 0 has been implemented for this axis. A high degree of safety can thereby be ensured, independently of errors of the controller. 
         [0017]    Alternatively, the selected axis can be disconnected from the power supply only after this axis has been brought to a standstill while being supplied with power, meaning that a STOP 1 has been implemented for this axis. The braking time to stop the axis that is moving in an unscheduled manner can thereby be reduced. In both cases a mechanical braking occurs as soon as it is detected that this axis has not stopped, or as soon as the axis moving in an unscheduled manner has been re-stopped while being supplied with power in order to additionally reduce the braking time, or to safely bring the axis to a halt and protect it against an unexpected startup. 
         [0018]    Both alternatives can be combined with one another by the selected axis being stopped while supplied with power, meaning that a STOP 1 is executed in the event that it is detected that this axis is not stopped due to an external interference (for example a contact by an operator or a collision with a moving obstacle) while otherwise the selected axis is disconnected from the power supply, meaning that a STOP 0 is executed as soon as it is detected that this axis has not been brought to a stop. The braking time can thus be reduced utilizing the drive of the axis that is correspondingly activated for this purpose when the controller and the drive function correctly, and the movement of the axis results from an external interference (for example the operator forcibly rotates the workpiece to be extracted around its workpiece axis in the manual loading station). In contrast to this, if it cannot be determined that an external interference is responsible for the unscheduled movement, the danger exists that the controller cannot function correctly and therefore also cannot be reliably used for braking, such that in this case a STOP 0 is implemented with immediate disconnection of the power supply and the occurrence of mechanical braking. 
         [0019]    The decision can thereby similarly be made on the basis of a signal that indicates whether the controller and drive function correctly, or on the basis of a signal that indicates an external interference and, for example, can be generated by a force sensor to detect additional external forces or the like. 
         [0020]    The activation of the standstill monitoring and/or the monitored standstill position of the selected axis is preferably variably predeterminable depending on a state of the manipulator system, a position of a manipulator, the time and/or a user input. 
         [0021]    For example, a state of the manipulator system used in this context can be the opening or closing state of safety gates to work spaces or the like. For instance, as long as both safety gates (to the work space behind a four-axis palletizing robot and to a region in front of the robot) are closed, no axis is monitored for a standstill. If the gate to the region in front of the robot is opened, its first vertical rotation axis is monitored for a standstill in order to prevent the palletizing robot from breaching this region with its gripper by rotation around this axis. In contrast, if the gate to the work space is opened, its second and third horizontal rotation axes are monitored in a standstill position that corresponds to a maximum vertical extension of the robot in order to secure the work space under the extended robot in any case. 
         [0022]    For example, a position of the manipulator used in this context can be described by the attitude and/or orientation of a coordinate system fixed to the manipulator, in particular its tool center point (TCP) by the positions of its drives or elements or the like, which can be transformed into one another corresponding to the translation relationships of gears between drive and driven manipulator element or by solving the forward or backward kinematics. Depending on such a position, the axes that are monitored for a standstill, and/or the standstill positions in which these are monitored for a standstill, can also be variably predetermined. 
         [0023]    For example, a path or trajectory of the manipulator can provide one or more operating halts in which one or more of the selected axes should be safety stopped and secured against unexpected startup. If the manipulator reaches such an operating halt, the corresponding axes are monitored for a standstill until the manipulator leaves this operating halt again according to plan. 
         [0024]    For example, a sixth tool axis of an industrial robot should not move during a tool exchange while the remaining axes move to occupy the tool placement position or tool take-up position. Therefore, for each operating halt for tool exchange an individual standstill position of the tool axis (which standstill position is dependent on the position of the manipulator) is predetermined and monitored in that the manipulator can deposit the old tool or can take up the new tool. These standstill positions depend on the respective tool, and therefore on the position of the robot relative to a tool exchange cabinet or the like. 
         [0025]    Manipulators frequently travel predetermined trajectories in a chronologically precise manner. In addition or as an alternative to manipulator positions, the axes or, respectively, standstill positions can therefore also be predetermined depending on the time. For example, this also allows specific work spaces to be protected against damage for a limited time. 
         [0026]    A monitoring can also similarly be initialized by an operator or by a process controller in that a corresponding input takes place if, for example, a service technician would like to temporarily safely stop a specific axis and would like to protect against unexpected startup. 
         [0027]    For example, a standstill monitoring can be realized by detecting a real (actual) position of the selected axis or axes and stored as a desired standstill position at the beginning of the standstill monitoring. A current real position of the selected axis(s) is then detected and compared with the desired standstill position during the standstill monitoring. If the difference between the current real position and the desired standstill position exceeds a predeterminable limit value, it is established that the corresponding axis has moved beyond a tolerance range that can be predetermined by the limit value, and the axis is disconnected from its power supply. This “freezing” of the real position, as a desired position to be held at the beginning of the standstill monitoring, allows the successive monitoring of different standstill positions and is suitable both for absolute and in particular for relative measurement devices to detect the real position of an axis, for example incremental rotary encoders or resolvers. 
         [0028]    A mechanical braking can act on the selected axis during the monitoring for a standstill. If the axis remains in the standstill monitoring even given an occurred mechanical braking or if this is activated with or after the braking occurs, a slippage of the brake can thus be detected. Braking can advantageously be monitored or checked specifically via the selection and monitoring of specific axes according to the invention. 
         [0029]    In the preceding the present invention has been explained with reference to a selected axis to be monitored. As is clear from the example of the turning positioner, however, multiple axes of the manipulator system can be selected and monitored as a group (for example the rotation axis of the rotating table and the two workpiece rotation axes). In the event that it is detected that one of these axes is not at a standstill, this axis is disconnected from its power supply while the axes that are not selected continue to remain connected with the power supply. The other axes of the selected group can similarly continue to be connected with the power supply or can also be disconnected from their power supply. 
         [0030]    Additional advantages and features result from the dependent Claims and the exemplary embodiments. Shown in this regard, schematically in part, are: 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0031]      FIG. 1  schematically illustrates a manipulator system according to a first embodiment of the present invention. 
           [0032]      FIG. 2  shows the workflow of a method to control the manipulator system of  FIG. 1  according to an embodiment of the present invention. 
           [0033]      FIG. 3  schematically illustrates a manipulator system according to a second embodiment of the present invention. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0034]      FIG. 1  shows a manipulator system according to a first embodiment of the present invention in the form of a welding cell with exchange positioner. It comprises a six-axis industrial robot  1  that has at its work point an electrode holder to process workpieces  2 ,  3 . For clarity only the first three axes A 1 , A 2 , A 3  of the robot  1  are shown. 
         [0035]    The exchange positioner in the form of a rotating table  4  can accommodate two workpieces  2 ,  3  such that these can be rotated by motor around their horizontal workpiece axis A 7 , A 8 . The rotating table  4  can be rotated by motor around the additional manipulator-external vertical axis A 9  in order to exchange the workpieces between a work space of the robot  1  (to the left in  FIG. 1 ) and a manual loading station (to the right in  FIG. 1 ). In this an operator removes a processed workpiece  3  and mounts a new workpiece to be processed while the robot  1  processes the opposite workpiece  2  in the work space. During this workpiece exchange it must be ensured that at all events the workpiece axis A 8  does not move in order to prevent an injury to the operator. 
         [0036]    For this a device integrated into the controller of the robot  1  executes a method according to one embodiment of the present invention which is shown in simplified form in  FIG. 2 . 
         [0037]    In a first Step S 10  (that, in the exemplary embodiment, is implemented before startup of the robot  1 , for example during the programming of the welding process), the axes to be monitored are selected, for instance the workpiece axes A 7  and A 8  external to the manipulator in the exemplary embodiment. In a modified embodiment the axis of the rotating table  4  can additionally also be selected; in a further modification the selection of the axes to be monitored can also take place during the operation of the manipulator system. 
         [0038]    While the manipulator system executes the welding process—by the processing of a workpiece  2  in the work space by the robot  1  and the subsequent replacement with a new workpiece  3  by means of a rotating table  4  occurring in a synchronized manner—the method shown in Steps S 20  through S 110  runs periodically, as is indicated by the incrementation t→t+Δt in Step S 20  and the return to this step. 
         [0039]    During a program run-through, for all selected axes it is checked whether a monitoring of one or more axes A s  has been activated in that it is checked whether a corresponding input command 1→ctrl s,A  was received that sets a qualifier (unique identifier) ctrl s,A  to the value “1” in order to indicate the activation of the monitoring. Such an input command can, for example, be cyclically generated in the clocking of the workpiece exchange by a process controller—depending on the position of the robot  1 —when the robot  1  approaches the workpiece  2  for processing, during which an exchange of the workpiece  3  should take place, or can be input by the operator when she would like to exchange the workpiece  3 . 
         [0040]    In the state shown in  FIG. 1 , in Step S 30  the standstill monitoring for the axis A 8  is activated in order to be able to exchange the workpiece  3  without risk. The current real position x A  of the axis A 8  (i.e. its rotation attitude) is accordingly detected by an incremented rotation sensor and stored in Step  540  as a desired standstill position x A,d . In the modified embodiment (not shown), the current real position of the axis A 9  of the rotating table  4  is accordingly also detected and stored as a desired standstill position for this axis. The Step or Steps S 40  are thereby only executed once given each activation of the standstill monitoring, as soon as a corresponding input command has been received. 
         [0041]    During the subsequent standstill monitoring, for all axes of the manipulator system (or alternatively only for all selected axes; in the exemplary embodiment the axes A 7 , A 8 , in the modified exemplary embodiment the axes A 7  through A 9 ) it is checked in Step S 60  (as indicated in  FIG. 2  by the loop returning to Step S 50 ) whether the qualifier ctrl s,A  has a value of “1”, i.e. whether the standstill monitoring for this axis is presently activated. 
         [0042]    If this is not the case in the state shown in  FIG. 1  for the first selected axis A 7 , this should directly move in order to suitably position the workpiece  2 . The decision in Step S 60  is therefore negative (“N”) and the method proceeds with 
         [0043]    Step S 70  for this axis in that the movement of the axis A 7  is controlled in a predetermined manner, for example depending on the position of the robot  1  or corresponding to a predetermined time profile (“CTRL”), and its drive as well as the drives of the axes A 1  through A 6  of the welding robot  1  remain connected with the power supply. The program subsequently returns to Step S 50  and implements this for the next axis A 8 . 
         [0044]    Since the standstill monitoring for this axis is activated, the decision in Step S 60  is positive (“Y”) and the method proceeds with Step S 80  in which it is checked whether the difference |x A -x A,d | (between a real position x A  of the axis A 8  that is detected in this time step and its desired standstill position x A,d  “frozen” at the beginning of the standstill monitoring upon input of the activation command in Step S 30 ) does not exceed a predetermined limit value Δ A . If this is the case (S 80 : “Y”), the axis A 8  does not move within the scope of the tolerance predetermined by the limit value; the axis therefore remains in the normal control that continues to maintain the operating halt, and for this remains connected with the power supply. 
         [0045]    However, if the difference |x A =x A,d | exceeds the limit value (S 80 : “N”), if the workpiece axis A 8  moves in an impermissible manner, in Step S 90  it is checked whether an external interference is present and the controller of the manipulator system as such works correction, for example in that a monitoring qualifier ctrl err  is checked that indicates a correct function of the controller with a value of “0”. 
         [0046]    For example, for this a force sensor can detect external forces acting on the axis A 8 . If such a force (a torque in the exemplary embodiment) is detected, for example if the operator attempts an unscheduled, forcible rotation of the clamped workpiece  3  around its axis A 8  (which is at a standstill), the detector movement does not apply an interference to the controller; rather, this operates correctly and can be used to re-brake the axis A 8 . For this the monitoring qualifier ctrl err  is correspondingly actively set by the force sensor to “0”, such that in Step 
         [0047]    S 90  the decision is positive (S 90 : “Y”). In Step S 100  a STOP 1 is then executed in that the controller of the manipulator system activates the drive of the axis A 8  in order to bring this to a stop, and the drive subsequently disconnects from its power supply. 
         [0048]    By contrast, if a proper functioning of the controller cannot be ensured, in 
         [0049]    Step S 90  the decision turns out to be negative (S 90 : “N”). In Step S 110  a STOP 0 is then executed in that the drive of the axis A 8  is disconnected from its power supply. Additional mechanical braking occurs both at STOP 0 and at STOP 1 in order to bring the axis A 8  to a standstill and to prevent an injury to the operator as soon as a negative decision is made in Step S 80 . 
         [0050]    After the axis A 8  has been processed, axis A 9  is checked analogously. 
         [0051]    In a first exemplary embodiment, for instance, a forcible rotation of the workpiece  8  by the operator thus does not lead to the situation that a STOP 1 is implemented for all axes (in particular the unselected axes A 1  through A 6  of the robot  1 ), in which STOP 1 the danger exists that the welding wire burns to ash. Rather, the robot  1  can continue the processing of the workpiece  2  without interruption since its axes have not been selected for monitoring and remain in control even given an activated standstill monitoring. According to the invention, the operation of the manipulator system can inasmuch be improved by targeted selection of the axes to be monitored. 
         [0052]      FIG. 3  shows a manipulator system according to a second embodiment of the present invention in the form of a palletizing robot  10  with a first vertical rotation axis A 1 , two horizontal rotation axes A 2 , A 3  and a fourth vertical rotation axis A 4 . 
         [0053]    As long as an operator is located in front of the palletizing robot  10  (as shown in  FIG. 3 ), the axis A 1  should securely stand still in order to preclude an endangerment of the operator. For this purpose (as was explained in the preceding with reference to  FIG. 1 ,  2 ) only the axis A 1  is specifically selected as an axis to be monitored; upon activation of the standstill monitoring its real position is stored as a desired standstill position and this axis A 1  stands still in a STOP 0 or STOP 1 in the event that its movement exceeds a tolerance range. The remaining axes A 2  through A 4  remain in control and connected with their power supply even given an unscheduled movement of the axis A 1 , such that in this case the palletizing robot  10  can also deposit a gripped load in a controlled manner, for example. 
         [0054]    In a modification of this exemplary embodiment, mechanical brakes act on the axes A 1  through A 4  of the robot  10  in a mounting position. The horizontal axes A 2 , A 3  are now selected and activated as axes to be monitored. If these slip after activation of the standstill monitoring, i.e. if the arm of the palletizing robot  10  sags when braking occurs (for example due to a usable load that is too heavy), this is advantageously detected and leads to a STOP 1 of the corresponding axis that for this is additionally braked via motor. 
         [0055]    In a further modification of the second exemplary embodiment, the palletizing robot should, with its tool, travel a path parallel to a fence which is arranged concentric to its first vertical rotation axis A 1 . In order to ensure that its tool flange  5  does not deviate from this parallel path, after occupying an initial position in which the tool flange  5  has the desired horizontal distance from the fence the two horizontal axes A 2 , A 3  are selected and their standstill monitoring is activated, as this was explained in the preceding with reference to the axis A 8  of the first exemplary embodiment. The robot  10  can subsequently travel the path, wherein due to the standstill monitoring of the specifically selected horizontal rotation axes A 2 , A 3  it is ensured that the flange  5  does not contact the fence in an unscheduled manner. 
         [0056]    Although modifications and changes may be suggested by those skilled in the art, it is the intention of the inventor to embody within the patent warranted heron all changes and modifications as reasonably and properly come within the scope of his contribution to the art.