Switching a control of a robot into a manual operating mode

10350765 ยท 2019-07-16

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for switching a control of a robot into a manual operating mode, wherein the robot is movable by a user manually applying at least one of a force or a torque upon the robot, includes detecting at least one of joint forces or joint torques of the robot, and triggering an error reaction in response to the switching and based on at least one of the detected joint forces and/or joint torques, target joint forces and/or target joint torques, or a pose of the robot.

Claims

1. A method for switching a control of a robot into a manual operating mode wherein the robot is movable by a user manually applying at least one of a force or a torque upon the robot, the method comprising: detecting with a robot controller at least one of joint forces or joint torques exerted by a drive associated with at least one joint of the robot, wherein the detecting step is performed either by directly measuring the at least one of joint forces or joint torques by sensors or by indirectly measuring the at least one of joint forces or joint torques based on currents or voltages applied to control the drive; switching the control to the manual operating mode from a different operating mode; determining at least one external force or external torque acting on the robot using the detected joint forces or joint torques and a model of the robot; and triggering an error reaction during the switching in response to determining an error in the model and based on at least one of: the detected joint forces and/or joint torques, target joint forces and/or target joint torques, or a pose of the robot; wherein the error reaction comprises at least one of: limiting at least one of a motion speed or a work area of the robot, or increasing a virtual damping.

2. The method of claim 1, wherein the error reaction is triggered based on whether at least one of: a vertical force determined based on the detected joint forces and/or joint torques of the robot, acting externally upon the robot, exceeds a predetermined vertical force threshold; a horizontal torque externally acting upon the robot and determined based on detected joint forces and/or joint torques exceeds a predetermined horizontal torque threshold; a change of a target joint force or a target joint torque resulting from the switching exceeds a change threshold; a ratio of a vertical force, acting externally upon the robot, to joint forces and/or joint torques of the robot resulting from the vertical force, or a ratio of a horizontal torque acting externally upon the robot to joint forces and/or joint torque of the robot resulting from the horizontal torque, exceeds a pose threshold; or a joint force of the robot resulting from one of a force acting externally upon the robot or a torque acting externally upon the robot, or a joint torque of the robot resulting from a force acting externally upon the robot or a torque acting externally upon the robot exceeds a joint threshold.

3. The method of claim 2, wherein the error reaction is triggered based on whether: the vertical force determined from the detected joint forces and/or joint torques of the robot, acting externally upon the robot, exceed the predetermined vertical force threshold, or the horizontal torque determined from the detected joint forces and/or joint torques of the robot, acting externally upon the robot, exceeds the predetermined horizontal torque threshold; and a load determined from the determined joint forces and/or joint torques of the robot, complementary to the vertical force and the horizontal torque, is less than a load threshold.

4. The method of claim 1, further comprising controlling the robot in the manual operating mode using force control.

5. The method of claim 4, where in the force control is one of impedance or admittance control.

6. The method of claim 1, wherein the error reaction further comprises issuing an error signal.

7. The method of claim 1, wherein limiting the work area of the robot comprises limiting a joint space or a Cartesian space of the robot.

8. The method of claim 1, wherein at least one threshold is fixed or is variably predetermined.

9. The method of claim 1, wherein an error is determined in the model of the robot based on: the amount of change of a target joint force or a target joint torque exceeding a change threshold; the detection of a temporal change of target joint forces or target joint torques; or a deviation between detected joint forces or torques and joint forces or torques determined by the model exceeding a threshold.

10. A controller for controlling a robot, the controller including programming code stored on a non-transient, computer-readable medium that, when executed by the controller, causes the controller to: detect at least one of joint forces or joint torques exerted by a drive associated with at least one joint of the robot, wherein the detecting is performed either by directly measuring the at least one of joint forces or joint torques by sensors or by indirectly measuring the at least one of joint forces or joint torques based on currents or voltages applied to control the drive; determine at least one external force or external torque acting on the robot using the detected joint forces or joint torques and a model of the robot; and trigger an error reaction during a switching of the robot into a manual operating mode that facilitates moving the robot by a user manually applying at least one of a force or a torque on the robot, the error reaction triggered in response to the determination of an error in the model and based on at least one of: the detected joint forces and/or joint torques, target joint forces and/or target joint torques, or a pose of the robot; wherein the error reaction comprises at least one of: limiting at least one of a motion speed or a work area of the robot, or increasing a virtual damping.

11. A robot arrangement, comprising: a robot; and a controller according to claim 9.

12. A computer program product including program code stored on a non-transient, computer-readable medium that, when executed by a computer, causes the computer to: detect at least one of joint forces or joint torques exerted by a drive associated with at least one joint of a robot, wherein the detecting is performed either by directly measuring the at least one of joint forces or joint torques by sensors or by indirectly measuring the at least one of joint forces or joint torques based on currents or voltages applied to control the drive; determine at least one external force or external torque acting on the robot using the detected joint forces or joint torques and a model of the robot; and trigger an error reaction during a switching of the robot into a manual operating mode that facilitates moving the robot by a user manually applying at least one of a force or a torque on the robot, the error reaction triggered in response to the determination of an error in the model and based on at least one of: the detected joint forces and/or joint torques, target joint forces and/or target joint torques, or a pose of the robot; wherein the error reaction comprises at least one of: limiting at least one of a motion speed or a work area of the robot, or increasing a virtual damping.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Additional advantages and features are found in the dependent claims and the exemplary embodiments, wherein the drawings show, in partially schematic views:

(2) FIG. 1 depicts a robot arrangement with a robot and a control according to one embodiment of the present invention; and

(3) FIG. 2: depicts a method for switching the control into a manual operating mode according to one embodiment of the present invention.

DETAILED DESCRIPTION

(4) FIG. 1 shows a robot arrangement with a robot 2 and a control 1 for controlling the robot according to one embodiment of the present invention.

(5) The robot comprises in the exemplary embodiment seven actuated pivot joints, therefrom in FIG. 1 in an exemplary fashion the joint coordinate and/or the joint angle q.sub.1 of the proximal first pivot joint as well as the joint coordinates and/or coordinate angle q.sub.6, q.sub.7 of the sixth and distal seventh pivot joint being indicated.

(6) At the flange of the robot, where its TCP is indicated, a load 3 guided by the robot 2 is indicated. Additionally, in dot-dash lines a vertical so-called straight position of the robot 2 is indicated.

(7) The control 1 performs a method, explained in the following in greater detail in particular with reference to FIG. 2 for switching the control into a manual operating mode according to one embodiment of the present invention and/or is embodied by hardware and/or software, in particular by a computer program product according to one embodiment of the present invention.

(8) In a first step S10, the joint torque .sub.e applied by a force externally acting upon the robot or a torque externally acting upon the robot is determined based on joint torque .sub.meas and based on a model of the robot estimated joint torque .sub.model: .sub.e=.sub.meas.sub.model.

(9) In a second step S20 it is checked if switching of the control 1 into the manual operating mode, which is implemented to move the robot 2 by manually applying forces and/or torque upon the robot, has been ordered. As long as this is not the case (S20: N) the method returns to step S10.

(10) If switching into the manual operating mode was ordered (S20: Y), the control 1 checks in step S30 if at least one joint torque .sub.e,i of the joint torque .sub.e determined in step S10 exceeds a predetermined joint threshold G.sub.1 with its value.

(11) If, for example, the load 3 was not modeled or modeled falsely, its weight force applies in the pose shown in FIG. 1 in an exploded illustration, in particular in the first joint q.sub.1, an additional joint torque .sub.e,1, which accordingly deviates from the joint torque .sub.model,1 estimated based on the (false) model of the robot 2.

(12) If at least one joint torque .sub.e,i exceeds the predetermined joint threshold G.sub.1 (S30: Y), in a step S40 an error reaction R is triggered, in particular a motion speed and/or a work area of the robot 2 is limited, a virtual damping of the impedance-controlled robot 2 is increased, and/or an error signal is issued.

(13) Otherwise the method continues with step S50.

(14) Here, the control 1 checks if the robot 2 is in a pose in which an extreme vertical force acting upon the robot would only apply (too) little joint torque, such as is the case in the stretched position indicated for example in FIG. 1 in dot-dash lines: it is discernible that the weight force of the robot-guided load 3 in this pose (theoretically) would not apply any additional joint torque, and thus a respective model error of load 3 in this pose could not be detected based on the weight and/or the joint torque applied thereby.

(15) In the exemplary embodiment the control 1 determines in step S50 a ratio

(16) = 1 .Math. j z .Math.
of a vertical force externally acting upon the robot to the joint torque of the robot applied thereby via the line

(17) j z = [ Z q 1 .Math. Z q n ]
of the Jacobi-matrix J of the TCP with the vertical component Z of the Cartesian position and orientation of the TCP. The vertical force f.sub.z externally acting at its TCP upon the robot is projected by the transposed Jacobi-matrix J.sup.T of TCP into the joint torque (J.sup.T[0 0 f.sub.z 0 0 0].sup.T=j.sub.z.sup.Tf.sub.z=.sub.e), so that for the ratio of the values of the vertical force externally acting upon the robot to the hereby applied joint torque it applies:

(18) .Math. f z .Math. .Math. e .Math. = 1 .Math. j z .Math. .
If the ratio is greater than a pose threshold G.sub.2 or equivalent thereto |j.sub.z| is below the respective pose threshold 1/G.sub.2, (S50: Y), in step S40 an error reaction is triggered as well.

(19) Similarly, in particular via the corresponding sub-matrix J.sub.z,.sub.x.sub.,.sub.y the Jacobi-matrix, it is checked if an external horizontal torque acting upon the robot would only apply (too) little joint torque.

(20) If the robot 2 is not in a pose in which the external vertical forces and/or the horizontal torque apply insufficient joint torque (S50: N) the control 1 continues with step S60.

(21) Here it determines, based on the joint torque determined in step S10, a vertical force externally acting upon the robot f.sub.z=(j.sub.z.sup.T).sup.#.sub.e with the pseudoinverse of the line j.sub.z of the Jacobi-matrix and checks if its value exceeds a vertical force threshold G.sub.3. In one variant the determination occurs alternatively via the sub-matrix J.sub.z,.sub.x.sub.,.sub.y.

(22) If this is not the case (S60: N) it determines in a step S70 similarly, based on the joint torque determined in step S10, horizontal torque T.sub.x, T.sub.y, externally acting upon the robot, about an x-axis perpendicular to the vertical and about a y-axis perpendicular to the vertical of the Cartesian space in TCP and checks if at least the value of one of these torques exceeds a horizontal torque threshold G.sub.4.

(23) If the vertical threshold G.sub.3 or the horizontal torque-threshold G.sub.4 is exceeded (S60: Y OR S70: Y) the control continues with step S80.

(24) Here it checks if additionally the value of an external load, determined based on the joint torque of the robot in step S10, complementary to the vertical force f.sub.z and the horizontal torques T.sub.x, T.sub.y K=.sub.eJ.sub.z,.sub.x.sub.,.sub.y.sup.T(J.sub.z,.sub.x.sub.,.sub.y.sup.T).sup.#.sub.e falls short of a load threshold G.sub.5. If this is the case (S80: Y), in step S40 an error reaction is triggered as well.

(25) Otherwise (S70: N OR S80: N) the control continues with step S90, in which it checks if at least one change d.sub.d,i/dt of a target joint torque .sub.d,i due to the switching, exceeds a change threshold G.sub.6 with its value.

(26) If the value of a change of a target joint torque exceeds the change threshold (S90: Y), in step S40 an error reaction is triggered as well.

(27) Otherwise (S90: N) in step S100 it is switched into the normal manual operation mode.

(28) In the exemplary embodiment joint torque .sub.d,i, .sub.e,i and horizontal torques T.sub.x, T.sub.y are compared individually with thresholds. Here, the same or different thresholds may be predetermined for different joints. Similarly, the joint torques .sub.d, .sub.e overall, in particular their standard vector value, can be compared to a threshold. Accordingly, in general a joint force and/or a joint torque in the sense of the present invention may be one-dimensional or multi-dimensional in one embodiment.

(29) Although exemplary embodiments have been explained in the above description, it is hereby noted that a number of modifications are possible.

(30) For example, one or more of the tests S30, S50, S60, S70, and S90 in a logical OR-composition performed in the exemplary embodiment and/or the check S80 performed in a logical AND-composition, may be waived in particular also when the vertical force threshold G.sub.3 or the horizontal torque threshold G.sub.4 is exceeded, always the error reaction R can be performed.

(31) Similarly, in a variant one or more of these checks can also be performed only upon an initial switching into the manual operating mode after starting and/or initializing the control 1 and/or the robot 2.

(32) In addition, it is hereby noted that the exemplary embodiments are merely examples which are not intended to in any way restrict the scope of protection, the uses, and the construction. Rather, the preceding description gives a person skilled in the art a guideline for the implementation of at least one exemplary implementation, wherein various modifications, in particular with respect to the function and arrangement of the components described, can be undertaken without departing from the scope of protection as indicated by the claims and the equivalent combinations of features.

(33) Even though exemplary embodiments are explained in the description above, it should be pointed out that a plurality of modifications are possible. Moreover, it should be pointed out that the exemplary embodiments are merely examples that do not restrict the scope of protection, the applications and configuration in any way. Instead, the description above gives the person skilled in the art a guideline for implementing at least one exemplary embodiment. At the same time it is possible to make diverse modifications, in particular, with respect to the function and the arrangement of the components described without departing from the scope of protection that will become apparent from the claims and the combination of features equivalent thereto.

LIST OF REFERENCE NUMBERS

(34) 1 Control 2 Robot 3 Load f.sub.z Vertical force G.sub.1, . . . , G.sub.6 Threshold T.sub.x, T.sub.y Horizontal torque .sub.d=[.sub.d,1, . . . , .sub.d,7].sup.T Target joint torque .sub.e=[.sub.e,1, . . . , .sub.e,7].sup.T By external force/torque Applied joint torque .sub.meas Joint torque detected Ratio (external) Vertical force/Horizontal torque/Joint torque q1, . . . , q7 Joint coordinates H Manual operating mode R Error reaction K Complementary external load