[go: up one dir, main page]

WO2019063146A1 - Robot arm and method for controlling it - Google Patents

Robot arm and method for controlling it Download PDF

Info

Publication number
WO2019063146A1
WO2019063146A1 PCT/EP2018/066534 EP2018066534W WO2019063146A1 WO 2019063146 A1 WO2019063146 A1 WO 2019063146A1 EP 2018066534 W EP2018066534 W EP 2018066534W WO 2019063146 A1 WO2019063146 A1 WO 2019063146A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
robot arm
motor
axis
payload
Prior art date
Application number
PCT/EP2018/066534
Other languages
French (fr)
Inventor
Jonathan STYRUD
Arne WAHRBURG
Original Assignee
Abb Schweiz Ag
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 Schweiz Ag filed Critical Abb Schweiz Ag
Publication of WO2019063146A1 publication Critical patent/WO2019063146A1/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
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection

Definitions

  • the present invention relates to a robot arm and to a control method therefore, in particular for detecting an irregular condition in which an ongoing operation of the robot may have to be interrupted or aborted due to an unforeseeable incident.
  • a typical example of such an irregular condition is a contact between the robot arm and a person; if such a contact occurs, the movement of the robot arm must be stopped immediately in order to avoid injury .
  • US 8788093 B2 discloses a robot arm in which a force sensor detects a force caused by contact between the robot arm and a person, and in which a movement of the robot arm is stopped when the detected force exceeds a threshold.
  • the force detec- tor cannot detect a contact of a person with a region of the robot arm extending between itself and a base; therefore, contact is prevented by confining this region behind a wall.
  • Possibilities for interaction between the robot and a person are guite limited, since only an end effector of the robot can reach through an opening in the wall. Since the opening is just large enough for the end effector to pass, navigating through it tends to be time-consuming, and a possible exchange of objects between the robot and the person is limited since the robot lacks means to distinguish between the weight of an object and a force caused by contact with the person.
  • US 2016/339 585 Al discloses method of operating a robotic system in which a known relationship between motor current and motor torque is used to calculate from a motor current measurement taken at the axis motors of the robotic system various parameters including payload balance, mass, moment of inertia, friction force and traction force.
  • the motor is controlled to hold the payload static in at least three angular positions, and for each position there is determined a respective torque applied by the motor to hold the payload static. This process has to be repeated every time the robot seizes an object of unknown weight.
  • the object of the present invention is to provide a robot arm and a method for operating it that enable the robot to safely cooperate with a person while imposing less restrictions on their possible inter- action.
  • this object is achieved by a method of controlling a robot arm, the robot arm comprising at least one mem- ber, a joint by which the member is connected to a support and which defines an axis by which the member is rotatable with respect to the support, and a motor for driving rotation of the member by said axis, the method comprising the steps of a) calculating a torque output by the motor based on motor power intake and motor rotation;
  • step c) deciding that the joint is in an irregular condition if the discrepancy exceeds a threshold, wherein in step c) internal friction of the
  • the calculation of the expected rotation acceleration doesn't have to be exact; however, the degree of accuracy of the calculation should be taken into account when defining the threshold of step d) , in order to minimize the probability that the decision taken in step d) is objectively wrong (i.e. that an irregular condition goes undetected, or that the condition is decided to be irregular while in fact it isn't.)
  • the degree of accuracy of the calculation should be taken into account when defining the threshold of step d) , in order to minimize the probability that the decision taken in step d) is objectively wrong (i.e. that an irregular condition goes undetected, or that the condition is decided to be irregular while in fact it isn't.)
  • the parameters actually influencing the rotation acceleration should be known with good accuracy, but not all have to.
  • the gravity-induced torgue acting on the member It can be calculated based on orientation of the axis, an angle of rotation of the member by said axis, the mass of the member and the distance between its centre of gravity and the axis. While the mass can be assumed to be constant under regular conditions, the distance between its centre of gravity and the axis may vary, in particular if the member comprises at least two components which are movable with respect to each other.
  • Another important parameter that should be known when calculating the expected rotation acceleration is the moment of inertia of the member; it may also vary when components of the member move with respect to each other.
  • Dynamic and static friction coefficients that can be used for calculating a friction torque can be obtained e.g. as described in US 2016/339 585 ⁇ 1 , by gradually increasing mo- tor torque until rotation sets in, and gradually reducing it until rotation stops.
  • Friction in a joint will usually be increased if the joint is subjected to a vector torque perpen- dicular to its axis.
  • the weight of an arm member carried by the joint will generate a torque, and how much of this torque is perpendicular to the axis of the joint depends on the orientation of the axis in space. Therefore, the internal friction should be calculated based on the gravity-induced torque exercised on the joint by the member.
  • One kind of irregular condition is the robot arm being in contact with a person. In order to avoid injury of the person in such a condition, the robot arm should be halted.
  • the torque generated by a motor is controlled to outweigh any gravity-induced torque but not to overcome friction, so that the robot arm is at rest but free to be moved by an outside force. This ena- bles the person to free him/herself from contact with the robot arm by pushing the robot arm away.
  • the gravity-compensated mode of operation can be a lead-through mode in which not only the robot arm is freely moveable by hand but its controller is also adapted to learn and reproduce any movement the robot arm is lead through. So the person can at any time stop an unwanted movement of the robot arm by simply and intuitively taking it by the hand, thereby bringing it into lead-through mode, and and guiding it through the desired movement instead.
  • An appropriate reaction in such a case, would be a step of f) updating at least one parameter of the member used in step b) for calculating the expected rotation acceleration in a way to reduce the discrepancy .
  • the at least one updated parameter preferably is the mass of the payload and/or the position of the centre of gravity of the payload relative to the end effector.
  • step f) should be enabled by a change of the payload only.
  • a controller which controls movements of the robot arm will also con- trol its end effector. It will thus be inherently “aware” of whether it has carried out a change of the payload and enable a parameter update if (and as soon as) it has. For other parameters, it may be advisable to update them continuously. This holds true in particular for the friction of the joint, which is likely to change noticeably over periods of time which are far longer than the time the robot spends handling a specific payload.
  • Such a continuous update of parameters can be carried out conveniently if the calculation of the ex- pected rotation acceleration is a prediction by a Kalman filter.
  • a robot system comprising a robot arm and a controller, the robot arm comprising at least one member, a joint by which the member is connected to a support and which defines an axis by which the member is rotatable with respect to the support, and a motor for driving rotation of the member by said axis, wherein the controller is adapted to control the motor using the method described above.
  • the member comprises several components such as a second-order base, a second-order member, a second-order joint and a second-order motor, the second-order base extending between said joint and said second-order joint
  • the controller can use the above-described method for controlling also the second-order motor.
  • the decision whether the reaction to an irregular condition should be a parameter up- date or a halt can be made by combining discrepancies of the first and second order joints. Since the second-order joint is closer to an end effector than the first-order joint and carries less weight, a discrepancy due to a change of payload will cause a more pronounced discrepancy in the second-order joint than in the first-order joint. If the discrepancy is more pronounced in the first-order joint, or if there is no significant discrepancy at all in the second-order joint, then it can only be due to a force acting on the second-order base. In this case, since the force cannot be due to a change of payload, it is always appropriate to halt the robot .
  • the invention can further be embodied in a computer program product comprising program code means which enable a computer to perform the method described above .
  • FIG. 1 schematically illustrates a robot system according to the invention
  • Fig. 2 is a flowchart of an operating method carried out by a controller of the robot system of Fig. 1.
  • Fig. 1 illustrates a robot system comprising a robot arm 1 and its associated controller 2.
  • the ro- bot arm 1 comprises a support 3, a member 4 and a joint 5 which connects the support 3 to a first link 6 of member 4 and enables rotation of the member 4 with respect to the support 3 by one or two axes, e.g. a zenith axis 7 and an azimuth axis 8 which is perpendicular to and rotatable about zenith axis 7.
  • motors 15, 17 for driving rotation of the member 4 about axes 7, 8 are provided inside the link 6, the joint 5 or the support 3.
  • the joint 5 further comprises rotary en- coders 16, 18 associated to each axis 7, 8, which provide the controller 2 with data on azimuthal and zenithal orientation of link 6, by which an angular position and, by repeated measurements, an angular velocity can be derived.
  • the member 4 can be regarded as comprising a second order support, namely link 6, a second order joint 9 and a second order member 10, which is pivotably connected to link 6 by joint 9.
  • a motor 19 is provided for driving rotation of the member 10, and a rotary encoder 20 supplies data on the orientation of member 10 with respect to link 6 to controller 2.
  • Member 10 can be regarded as comprising a third order support, namely link 12 connected to joint 9, a third order joint 13 and a third order member, namely end effector 14.
  • ⁇ motor 21 is provided for rotating the end effector 14, and a rotary encoder 22 is there to monitor the rotation.
  • Controller 2 defines a coordinate system in which support 3 is at rest.
  • joint 5 can be chosen as the origin of this coordinate system.
  • the position of second-order joint 9 is straightforwardly calculated based on the known, constant length of first link 6 and the angles q provided by encoders 16, 18.
  • link 6 is divided into two portions 6', 6" rotatable with respect to each other around a longitudinal axis 23 by a motor 24, and a rotary encoder 25 monitors rotation of the motor.
  • a unit vector representative of the orientation of axis 11 is obtained by rotating the vector of axis 8 by the angle q detected by encoder 25. In this way, step by step, all coordinates of the centres of gravity of links 6, 12, etc.
  • controller 2 In operation, at a given instant t, controller 2 reads angles q from the various rotational encoders 16, 18, 20, 25... (step SI of Fig. 2) . Using angles obtained in previous measurements, angular velocities q and angular accelerations are obtained in
  • step S2 The processing of controller 2 being similar for all joint, it will subsequently be described, as a matter of example, referring to joint 9 only.
  • the inertia matrix M(q) of the member 10 is calculated. Calculation of this matrix M(q) takes into account the momentary shape of member 10, i.e. the angles of all its joints, and, if pre- sent, the mass, and, possibly, the lever arm length, of a payload attached to end effector 14.
  • Coriolis torque is obtained.
  • step S4 the controller 2 calculates the effect of friction by the following law:
  • Expression (2) allows for asymmetry in both Coulomb and viscous friction, by allowing Coulomb and viscous friction parameters to
  • bodiment considered here uses four such terms, depending on the sign of i.e. on the direction of rotation of the joint, and on the sign of i.e.
  • v s is the Stribeck velocity and c s is the static friction coefficient (which may also depend on the direction of rotation) .
  • ... can be determined and employed in eg.
  • the controller 2 further detects current intake of motor 19 and calculates motor torgue based on
  • the vector is calculated in step S6. Under normal operating conditions, should be below a predetermined threshold,
  • controller 2 moves the robot arm 1 along a previously programmed path over a short distance or for a short period of time (S8) and then returns to step SI.
  • step S9 the controller checks in step S9 whether there might have been a change of payload. This can be done by checking a flag which is set whenever the end effector 14 is operated to seize or to release a piece of payload or when the end effector 14 is at a location where, according to the programmed path, payload should be seized or released. If this flag is set, the controller 2 enters a mass detection procedure. In this procedure, while still moving the robot arm 1 along the programmed path and assuming, when calculating M, C and G, that the payload is unchanged, the controller collects values of under various postures of the robot arm 1, i.e.
  • the estimate (Sll) will be carried out by least-squares fitting a payload mass and, possibly, a lever arm length 1 of the payload, to the collected values of
  • step S9 In one out of two cases in which a change of pay- load is detected in step S9, the end effector 14 has released its payload, i.e. the true payload mass is zero. Still, in these cases the estimate of step Sll may yield a value of which is differ
  • Step S12 checks whether is below a predetermined threshold thrl close to zero. If it is, it is assumed that the end effector 14 is indeed empty, and that, therefore, the current value of m pay is in fact a measure of the error in the calculation of the payload. In that case, the collected values of will be stored (S13) , and a moving average of the error is updated (S14) by the present value If exceeds a second threshold thr2 ⁇
  • the flag may then be reset unconditionally in step S17, before returning to step SI.
  • it is reset under a condition, e.g. only if the quality of the fit exceeds a predetermined threshold, so that if in the next iteration step an irregular condition is found again while the flag is not yet reset, the mass detection procedure can be resumed and new values of can be included in the fit. In this way, the time the controller 2 spends in the mass detection procedure can be minimized, be- cause only few values of have to be collected before a first estimate of the new payload can be made .
  • step S20 There might be the case that the values of vary in a way which cannot be ascribed to a single pay- load weight. This may happen if a person deliberately holds or tries to move the robot arm 1. In that case the method branches to step S20, described below.
  • the controller 2 can check (S18) whether the value of that led to the irregular condition would fit payload zero or a previously deter- mined payload. If it does, it sets the payload to zero or to the previously determined value in step S19, and returns to step SI; else it begins to collect values of as described above. In that way, the duration of the mass detection procedure is ef- ficiently minimized in case the robot arm carries out a repetitive operation in which it e.g. transfers payload objects of identical weight from a location A to a location B and returns from B to A without payload.
  • step S9 if there is no reason in step S9 to assume a change of payload, i.e. if the flag is not set, then the fact that is most proba-
  • the controller 2 halts the robot arm 1 in step S20. Halting the robot arm 1 is preferably done by abruptly and actively braking it. However, once the robot arm 1 has come to a halt, the controller enters a gravity-compensated mode (S21) in which the joints of the robot arm 1 are not braked, but just enough torque is generated in its motors 15, 17, ... to overcome gravity and, preferably, also internal friction of the joints 5, 9 etc.. Thus, a person who unintentionally got into contact with the robot arm 1 can push the robot arm 1 away without effort.
  • a gravity-compensated mode S21
  • the transition to gravity-compensated mode can be accompanied by a switchover (S22) from autonomous operation to lead-through operation.
  • S22 switchover
  • an attendant notices an inadequate movement of the robot arm 1, he can intercept it by simply taking it by the hand and leading it through the correct movement.
  • the controller 2 comes to different conclusions depending on which joint it monitors. If e.g. link 12 hits a person, this will have an effect on of joints 5 and 9, but (except for
  • step S20 can be carried out immediately for all joints of the robot arm 1 regardless of whether a payload change flag is set or not.
  • the safety for persons is increased even immediately after a payload change.
  • the robot in lead-through operation the robot has to be guided holding it by a distal region, i.e. by its end effector or by a link to which the end effector is attached.
  • the robot arm may be halted (S20) and brought into gravity-compensated mode (S21) under the same conditions as described above, but a switchover into lead-through mode (S22) occurs only if the irregular condition is detected in distal joint 13.
  • step S7 the method proceeds to calculate torques at all joints of robot arm 1 in step S9a. If the irregularity is due to a change of the payload mass by i.e. a change of the force acting on end effector 14 by is at the origin of these torques, then the joints should be subject to torques wherein r is the vector distance between the end effector and the joint. Of this vector torque on- ly the component parallel to the axis of the joint has an effect on its associated motor, i.e. if d is a unit vector in the direction of the axis, then should hold, or in other terms, the ratio should be the same for all joints.
  • Step 9b calculates p for each joint.
  • step 9c the difference between the highest and the lowest value of p is compared to a predetermined thresh- old; if the difference is below the threshold, it is concluded that the irregularity is due to a change of payload, and the method branches to a mass detection procedure S11-S17 as described above referring to Fig. 2. If the threshold is exceeded, the force at the origin of the torgues cannot be compared to a predetermined thresh- old; if the difference is below the threshold, it is concluded that the irregularity is due to a change of payload, and the method branches to a mass detection procedure S11-S17 as described above referring to Fig. 2. If the threshold is exceeded, the force at the origin of the torgues cannot be a mass detection procedure S11-S17 as described above referring to Fig. 2. If the threshold is exceeded, the force at the origin of the torgues cannot be a mass detection procedure S11-S17 as described above referring to Fig.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

A robot arm (1) comprises at least one member (4, 10), a joint (5, 9) by which the member (4, 10) is connected to a support (3, 6) and which defines an axis (7, 8, 11) by which the member (4, 10) is rotatable with respect to the support (3, 6), and a motor (15, 17, 19) for driving rotation of the member (4, 10) by said axis (7, 8, 11). A method of operating the robot arm comprises the steps of a) calculating (S5) a torque (Ƭ mot ) output by the motor (15, 17, 19) based on motor power intake and motor rotation; b) detecting (S3) an actual rotation acceleration (I) of the member (4, 10), c) calculating (S6), based on said torque (Ƭ mot ), a quantity (Ƭ ext ) representative of a discrepancy between an expected rotation acceleration of the member (4, 10) and said actual rotation acceleration (I), d) deciding that the joint is in an irregular condition if the discrepancy (II) exceeds a threshold (ε).

Description

Robot arm and method for controlling it
The present invention relates to a robot arm and to a control method therefore, in particular for detecting an irregular condition in which an ongoing operation of the robot may have to be interrupted or aborted due to an unforeseeable incident. A typical example of such an irregular condition is a contact between the robot arm and a person; if such a contact occurs, the movement of the robot arm must be stopped immediately in order to avoid injury . US 8788093 B2 discloses a robot arm in which a force sensor detects a force caused by contact between the robot arm and a person, and in which a movement of the robot arm is stopped when the detected force exceeds a threshold. The force detec- tor cannot detect a contact of a person with a region of the robot arm extending between itself and a base; therefore, contact is prevented by confining this region behind a wall. Possibilities for interaction between the robot and a person are guite limited, since only an end effector of the robot can reach through an opening in the wall. Since the opening is just large enough for the end effector to pass, navigating through it tends to be time-consuming, and a possible exchange of objects between the robot and the person is limited since the robot lacks means to distinguish between the weight of an object and a force caused by contact with the person.
US 2016/339 585 Al discloses method of operating a robotic system in which a known relationship between motor current and motor torque is used to calculate from a motor current measurement taken at the axis motors of the robotic system various parameters including payload balance, mass, moment of inertia, friction force and traction force. Specifically, the motor is controlled to hold the payload static in at least three angular positions, and for each position there is determined a respective torque applied by the motor to hold the payload static. This process has to be repeated every time the robot seizes an object of unknown weight.
The object of the present invention is to provide a robot arm and a method for operating it that enable the robot to safely cooperate with a person while imposing less restrictions on their possible inter- action.
According to a first aspect of the invention, this object is achieved by a method of controlling a robot arm, the robot arm comprising at least one mem- ber, a joint by which the member is connected to a support and which defines an axis by which the member is rotatable with respect to the support, and a motor for driving rotation of the member by said axis, the method comprising the steps of a) calculating a torque output by the motor based on motor power intake and motor rotation;
b) detecting an actual rotation acceleration of the member,
c) calculating, based on said torque, a quantity representative of a discrepancy between an expected rotation acceleration of the member and said actual rotation acceleration, and
d) deciding that the joint is in an irregular condition if the discrepancy exceeds a threshold, wherein in step c) internal friction of the
Figure imgf000004_0001
joint (5, 9) is calculated (S4) and used for detecting (S3) the actual rotation acceleration
Figure imgf000004_0002
of the member (4, 10) .
The calculation of the expected rotation acceleration doesn't have to be exact; however, the degree of accuracy of the calculation should be taken into account when defining the threshold of step d) , in order to minimize the probability that the decision taken in step d) is objectively wrong (i.e. that an irregular condition goes undetected, or that the condition is decided to be irregular while in fact it isn't.) Evidently, for an accurate calculation, as many as possible of the parameters actually influencing the rotation acceleration should be known with good accuracy, but not all have to.
One of the parameters that should be known is the gravity-induced torgue acting on the member. It can be calculated based on orientation of the axis, an angle of rotation of the member by said axis, the mass of the member and the distance between its centre of gravity and the axis. While the mass can be assumed to be constant under regular conditions, the distance between its centre of gravity and the axis may vary, in particular if the member comprises at least two components which are movable with respect to each other.
Another important parameter that should be known when calculating the expected rotation acceleration is the moment of inertia of the member; it may also vary when components of the member move with respect to each other.
Further, internal friction of the joint should be taken into account when calculating the expected rotation acceleration. Dynamic and static friction coefficients that can be used for calculating a friction torque can be obtained e.g. as described in US 2016/339 585 Ά1 , by gradually increasing mo- tor torque until rotation sets in, and gradually reducing it until rotation stops.
Friction in a joint will usually be increased if the joint is subjected to a vector torque perpen- dicular to its axis. The weight of an arm member carried by the joint will generate a torque, and how much of this torque is perpendicular to the axis of the joint depends on the orientation of the axis in space. Therefore, the internal friction should be calculated based on the gravity-induced torque exercised on the joint by the member.
One kind of irregular condition is the robot arm being in contact with a person. In order to avoid injury of the person in such a condition, the robot arm should be halted.
This can be done by switching the robot arm into a gravity-compensated mode of operation. In such a mode the torque generated by a motor is controlled to outweigh any gravity-induced torque but not to overcome friction, so that the robot arm is at rest but free to be moved by an outside force. This ena- bles the person to free him/herself from contact with the robot arm by pushing the robot arm away.
Further, the gravity-compensated mode of operation can be a lead-through mode in which not only the robot arm is freely moveable by hand but its controller is also adapted to learn and reproduce any movement the robot arm is lead through. So the person can at any time stop an unwanted movement of the robot arm by simply and intuitively taking it by the hand, thereby bringing it into lead-through mode, and and guiding it through the desired movement instead.
An irregular condition will also arise if the pa- rameters of the robot arm used in step b) are incorrect and lead to unrealistic values of the expected rotation acceleration, e.g. because payload held by an end effector of the member has been removed, replaced or in some other way modified. Re- acting to such a change by halting the robot arm is clearly not desirable.
An appropriate reaction, in such a case, would be a step of f) updating at least one parameter of the member used in step b) for calculating the expected rotation acceleration in a way to reduce the discrepancy .
Such an update would help to obtain realistic values of the expected rotation acceleration again.
Here, the at least one updated parameter preferably is the mass of the payload and/or the position of the centre of gravity of the payload relative to the end effector.
Updating a parameter, however, is not a useful re- action if the irregularity is due to contact with a person. Therefore, in order to ensure an appropriate reaction, step f) should be enabled by a change of the payload only. Usually, a controller which controls movements of the robot arm will also con- trol its end effector. It will thus be inherently "aware" of whether it has carried out a change of the payload and enable a parameter update if (and as soon as) it has. For other parameters, it may be advisable to update them continuously. This holds true in particular for the friction of the joint, which is likely to change noticeably over periods of time which are far longer than the time the robot spends handling a specific payload.
Such a continuous update of parameters can be carried out conveniently if the calculation of the ex- pected rotation acceleration is a prediction by a Kalman filter.
According to a second aspect of the invention, the above object is achieved by a robot system comprising a robot arm and a controller, the robot arm comprising at least one member, a joint by which the member is connected to a support and which defines an axis by which the member is rotatable with respect to the support, and a motor for driving rotation of the member by said axis, wherein the controller is adapted to control the motor using the method described above. If the member comprises several components such as a second-order base, a second-order member, a second-order joint and a second-order motor, the second-order base extending between said joint and said second-order joint, the controller can use the above-described method for controlling also the second-order motor.
In such a system, the decision whether the reaction to an irregular condition should be a parameter up- date or a halt can be made by combining discrepancies of the first and second order joints. Since the second-order joint is closer to an end effector than the first-order joint and carries less weight, a discrepancy due to a change of payload will cause a more pronounced discrepancy in the second-order joint than in the first-order joint. If the discrepancy is more pronounced in the first-order joint, or if there is no significant discrepancy at all in the second-order joint, then it can only be due to a force acting on the second-order base. In this case, since the force cannot be due to a change of payload, it is always appropriate to halt the robot .
The invention can further be embodied in a computer program product comprising program code means which enable a computer to perform the method described above .
Further features and advantages of the invention will become apparent from the following description of embodiments thereof, referring to the appended drawings .
Fig. 1 schematically illustrates a robot system according to the invention; and Fig. 2 is a flowchart of an operating method carried out by a controller of the robot system of Fig. 1.
Fig. 1 illustrates a robot system comprising a robot arm 1 and its associated controller 2. The ro- bot arm 1 comprises a support 3, a member 4 and a joint 5 which connects the support 3 to a first link 6 of member 4 and enables rotation of the member 4 with respect to the support 3 by one or two axes, e.g. a zenith axis 7 and an azimuth axis 8 which is perpendicular to and rotatable about zenith axis 7. As usual in the art, motors 15, 17 for driving rotation of the member 4 about axes 7, 8 are provided inside the link 6, the joint 5 or the support 3. The joint 5 further comprises rotary en- coders 16, 18 associated to each axis 7, 8, which provide the controller 2 with data on azimuthal and zenithal orientation of link 6, by which an angular position and, by repeated measurements, an angular velocity can be derived.
The member 4 can be regarded as comprising a second order support, namely link 6, a second order joint 9 and a second order member 10, which is pivotably connected to link 6 by joint 9. Here, too, a motor 19 is provided for driving rotation of the member 10, and a rotary encoder 20 supplies data on the orientation of member 10 with respect to link 6 to controller 2.
Member 10 can be regarded as comprising a third order support, namely link 12 connected to joint 9, a third order joint 13 and a third order member, namely end effector 14. Ά motor 21 is provided for rotating the end effector 14, and a rotary encoder 22 is there to monitor the rotation.
Obviously, if the robot arm 1 had still more joints, members of a still higher order could be defined.
Controller 2 defines a coordinate system in which support 3 is at rest. For convenience's sake, joint 5 can be chosen as the origin of this coordinate system. In this coordinate system, the position of second-order joint 9 is straightforwardly calculated based on the known, constant length of first link 6 and the angles q provided by encoders 16, 18. In Fig. 1, link 6 is divided into two portions 6', 6" rotatable with respect to each other around a longitudinal axis 23 by a motor 24, and a rotary encoder 25 monitors rotation of the motor. A unit vector representative of the orientation of axis 11 is obtained by rotating the vector of axis 8 by the angle q detected by encoder 25. In this way, step by step, all coordinates of the centres of gravity of links 6, 12, etc. and orientations of axes 8, 11, etc. are calculated, enabling the controller 2 to specify, at any time and for any posture of the robot arm 1, the moment of inertia and the angular momentum of any member and the load torque induced at any of its joints by the weight and the (posture-dependent) lever arm length of the member carried by the joint. Torques at any joint of the robot arm satisfy
Figure imgf000011_0001
where
Figure imgf000011_0002
are inertial effects,
Figure imgf000011_0003
captures Coriolis and centrifugal effects, is gravity
Figure imgf000011_0004
load, is the friction torque in the joint and
Figure imgf000011_0005
is the vector of motor torque. All external load torques affecting the joint, e.g. due to contact with an obstacle, are condensed into
Figure imgf000011_0006
In operation, at a given instant t, controller 2 reads angles q from the various rotational encoders 16, 18, 20, 25... (step SI of Fig. 2) . Using angles obtained in previous measurements, angular velocities q and angular accelerations are obtained in
Figure imgf000011_0007
step S2. The processing of controller 2 being similar for all joint, it will subsequently be described, as a matter of example, referring to joint 9 only. Based on the angles q of the member 10 carried by joint 9, the inertia matrix M(q) of the member 10 is calculated. Calculation of this matrix M(q) takes into account the momentary shape of member 10, i.e. the angles of all its joints, and, if pre- sent, the mass, and, possibly, the lever arm length, of a payload attached to end effector 14. Based on the angles q and angular velocities q of its base 6, Coriolis torque is obtained.
Figure imgf000012_0002
Based on the angles g of the base 6, the joint 9 and of components of the member 10, gravity-induced torque Tload(q) of the member 10 is calculated (S3) .
In step S4, the controller 2 calculates the effect of friction by the following law:
Figure imgf000012_0001
wherein is the joint speed, i.e. the angular ve
Figure imgf000012_0003
locity by which e.g. in joint 9 link 12 rotates with respect to link 6, and the c parameters have previously been determined empirically.
Expression (2) allows for asymmetry in both Coulomb and viscous friction, by allowing Coulomb and viscous friction parameters to
Figure imgf000012_0004
depend on the direction of rotation. It takes ac- count of load dependency of friction by introducing load-proportional terms The em
Figure imgf000013_0002
bodiment considered here uses four such terms, depending on the sign of
Figure imgf000013_0004
i.e. on the direction of rotation of the joint, and on the sign of i.e.
Figure imgf000013_0003
on whether the load torque drives or opposes the rotation. Depending on the structure of the joint, it may be sufficient to use a simplified model having just one load-proportional term regardless of the directions of torque and rotation, or having two terms, differentiating only according to the direction of rotation or only according to the direction of load torque.
On the other hand, in a further sophisticated model, static friction may be taken account of by introducing a further addend in (2) :
Figure imgf000013_0001
wherein vs is the Stribeck velocity and cs is the static friction coefficient (which may also depend on the direction of rotation) .
Among the coefficients of above eq. (2) and (3), in particular those that are multiplied with q are related to lubrication and therefore tend to depend noticeably on temperature. This can be taken account of by providing at least one of the joints 5, 9, 13 of robot arm 1 with a temperature sensor or by inferring the joint temperature from the time it has been in operation, and by enabling lead-through operation only if the temperature is above a given threshold or by outputting a notice to the user that since the temperature of the joint is too low, friction compensation in lead-through mode may be deficient. Alternatively, if the relation between temperature and viscosity of the lubricant is known, temperature-dependent coefficients
Figure imgf000014_0002
... can be determined and employed in eg.
Figure imgf000014_0001
(2) or (3) .
The controller 2 further detects current intake of motor 19 and calculates motor torgue based on
Figure imgf000014_0003
the angular velocity of joint 9 and the current
Figure imgf000014_0007
intake (S5) .
Using above eq. (1), the vector
Figure imgf000014_0005
is calculated in step S6. Under normal operating conditions,
Figure imgf000014_0004
should be below a predetermined threshold,
Figure imgf000014_0006
If this condition is found fulfilled in S7, operating conditions are regular. In that case, controller 2 moves the robot arm 1 along a previously programmed path over a short distance or for a short period of time (S8) and then returns to step SI.
If the condition is not fulfilled, then operating conditions are irregular. In that case, the controller checks in step S9 whether there might have been a change of payload. This can be done by checking a flag which is set whenever the end effector 14 is operated to seize or to release a piece of payload or when the end effector 14 is at a location where, according to the programmed path, payload should be seized or released. If this flag is set, the controller 2 enters a mass detection procedure. In this procedure, while still moving the robot arm 1 along the programmed path and assuming, when calculating M, C and G, that the payload is unchanged, the controller collects values of
Figure imgf000015_0011
under various postures of the robot arm 1, i.e. it repeats steps S1-S7 until it has collected as many values of
Figure imgf000015_0009
as are needed for an estimate of the mass of the payload (S10) . Typically, the estimate (Sll) will be carried out by least-squares fitting a payload mass
Figure imgf000015_0010
and, possibly, a lever arm length 1 of the payload, to the collected values of
Figure imgf000015_0008
In one out of two cases in which a change of pay- load is detected in step S9, the end effector 14 has released its payload, i.e. the true payload mass is zero. Still, in these cases the estimate of step Sll may yield a value of which is differ
Figure imgf000015_0007
ent from zero, due to a discrepancy between the true friction torque in joint 9 and the value of calculated in step S4. Step S12 checks whether is below a predetermined threshold thrl close to zero. If it is, it is assumed that the end effector 14 is indeed empty, and that, therefore, the current value of mpay is in fact a measure of the error
Figure imgf000015_0006
in the calculation of the payload. In that case, the collected values of
Figure imgf000015_0005
will be stored (S13) , and a moving average
Figure imgf000015_0001
of the error is updated (S14) by the present value
Figure imgf000015_0004
If exceeds a second threshold thr2< | thrl | in S15,
Figure imgf000015_0002
it is assumed that the coefficients
Figure imgf000015_0003
used for calculating are no longer exact, and the coefficients are updated
Figure imgf000016_0001
(S16) using the values of
Figure imgf000016_0007
collected in the present and in previous iterations of the method. The flag may then be reset unconditionally in step S17, before returning to step SI. Preferably, it is reset under a condition, e.g. only if the quality of the fit exceeds a predetermined threshold, so that if in the next iteration step an irregular condition is found again while the flag is not yet reset, the mass detection procedure can be resumed and new values of
Figure imgf000016_0002
can be included in the fit. In this way, the time the controller 2 spends in the mass detection procedure can be minimized, be- cause only few values of
Figure imgf000016_0003
have to be collected before a first estimate of the new payload can be made .
There might be the case that the values of
Figure imgf000016_0004
vary in a way which cannot be ascribed to a single pay- load weight. This may happen if a person deliberately holds or tries to move the robot arm 1. In that case the method branches to step S20, described below.
As an alternative, when entering the mass detection procedure, the controller 2 can check (S18) whether the value of
Figure imgf000016_0005
that led to the irregular condition would fit payload zero or a previously deter- mined payload. If it does, it sets the payload to zero or to the previously determined value in step S19, and returns to step SI; else it begins to collect values of
Figure imgf000016_0006
as described above. In that way, the duration of the mass detection procedure is ef- ficiently minimized in case the robot arm carries out a repetitive operation in which it e.g. transfers payload objects of identical weight from a location A to a location B and returns from B to A without payload.
On the other hand, if there is no reason in step S9 to assume a change of payload, i.e. if the flag is not set, then the fact that is most proba-
Figure imgf000017_0001
bly due to a contact of the robot arm 1 with an external object, which might be a person. In that case, in order to avoid possible injury, the controller 2 halts the robot arm 1 in step S20. Halting the robot arm 1 is preferably done by abruptly and actively braking it. However, once the robot arm 1 has come to a halt, the controller enters a gravity-compensated mode (S21) in which the joints of the robot arm 1 are not braked, but just enough torque is generated in its motors 15, 17, ... to overcome gravity and, preferably, also internal friction of the joints 5, 9 etc.. Thus, a person who unintentionally got into contact with the robot arm 1 can push the robot arm 1 away without effort.
Eventually, the transition to gravity-compensated mode can be accompanied by a switchover (S22) from autonomous operation to lead-through operation. In that way, if an attendant notices an inadequate movement of the robot arm 1, he can intercept it by simply taking it by the hand and leading it through the correct movement. In the above-described method the decision whether a condition is irregular or not and whether an irregularity is ascribed to a change of payload or to contact with an obstacle is made based on torque measurements at a single joint. It is possible, therefore, that the controller 2 comes to different conclusions depending on which joint it monitors. If e.g. link 12 hits a person, this will have an effect on of joints 5 and 9, but (except for
Figure imgf000018_0001
inertia, when link 12 is being decelerated by the contact) none on link 13. Therefore, if proximal joints such as 5, 9 are found to be in irregular condition while a distal joint such as 14 is not (rather, not yet) , then the irregularity can be safely attributed to a contact, and step S20 can be carried out immediately for all joints of the robot arm 1 regardless of whether a payload change flag is set or not. Thus the safety for persons is increased even immediately after a payload change.
Further, it can be provided that in lead-through operation the robot has to be guided holding it by a distal region, i.e. by its end effector or by a link to which the end effector is attached. In that case, the robot arm may be halted (S20) and brought into gravity-compensated mode (S21) under the same conditions as described above, but a switchover into lead-through mode (S22) occurs only if the irregular condition is detected in distal joint 13.
Evidently, although different estimates of the pay- load mass can be derived from torques detected at the various joints, there can only be one correct value, and values of from different joints should best be combined in order to obtain in a short time a large amount of data on which to base a fit. Since the distal joint 13 is the joint where a change of payload is most noticeable, weight of data obtained there should be higher than that of data from the proximal joints.
Practical weighting coefficients can be set inversely proportional to the standard deviation of the friction torque estimate When the arm 1 is
Figure imgf000019_0001
operated without payload and without contact with an obstacle, any non-zero value of
Figure imgf000019_0002
obtained using above eq. (1) can be taken to be due to an error in the calculation of Therefore, the
Figure imgf000019_0003
standard deviation of
Figure imgf000019_0004
obtained under these circumstances can be taken as the standard deviation
Figure imgf000019_0005
In the method of Fig. 3, steps S1-S8, not shown, are identical to those of Fig 2. If an irregular condition is determined in step S7, the method proceeds to calculate torques at all joints of robot arm 1 in step S9a. If the irregularity is due to a change of the payload mass by
Figure imgf000019_0010
i.e. a change of the force acting on end effector 14 by
Figure imgf000019_0009
is at the origin of these torques, then the joints should be subject to torques
Figure imgf000019_0006
wherein r is the vector distance between the end effector and the joint. Of this vector torque
Figure imgf000019_0007
on- ly the component parallel to the axis of the joint has an effect on its associated motor, i.e. if d is a unit vector in the direction of the axis, then should hold, or in other terms, the
Figure imgf000019_0008
ratio should be the same for all joints.
Figure imgf000020_0001
Step 9b calculates p for each joint. In step 9c, the difference between the highest and the lowest value of p is compared to a predetermined thresh- old; if the difference is below the threshold, it is concluded that the irregularity is due to a change of payload, and the method branches to a mass detection procedure S11-S17 as described above referring to Fig. 2. If the threshold is exceeded, the force at the origin of the torgues cannot
Figure imgf000020_0002
be vertical but must be due to a contact. In that case, the robot arm is halted as described above referring to steps S20-S22.
Claims
1 robot arm
2 controller
3 support
4 member
5 j oint
6 link
6' , 6" portions of link 6
7 axis
8 axis
9 2nd order joint
10 2nd order member
11 pivot axis
12 link
13 j oint
14 end effector
15 motor
16 rotary encoder
17 motor
18 rotary encoder
19 motor
20 rotary encoder
21 motor
22 rotary encoder
23 axis
24 motor
25 rotary encoder

Claims

Claims 1. A method of operating a robot arm (1), the robot arm comprising at least one member (4, 10), a joint (5, 9) by which the member (4, 10) is connected to a support (3, 6) and which defines an axis (7, 8, 11) by which the member (4, 10) is rotatable with respect to the support (3, 6), and a motor (15, 17, 19) for driving rotation of the member (4, 10) by said axis (7, 8, 11), the method comprising the steps of
a) calculating (S5) a torque out
Figure imgf000022_0001
put by the motor (15, 17, 19) based on motor power intake and motor rotation; b) detecting (S3) an actual rotation acceleration of the member (4, 10),
Figure imgf000022_0005
c) calculating (S6) , based on said torque a quantity representa
Figure imgf000022_0004
Figure imgf000022_0006
tive of a discrepancy between an expected rotation acceleration of the member (4, 10) and said actual rotation acceleration ,
Figure imgf000022_0003
d) deciding that the joint is in an irregular condition if the discrepancy
Figure imgf000022_0002
exceeds a threshold (ε) ,
wherein in step c) internal friction
Figure imgf000022_0007
of the joint (5, 9) is calculated (S4) and used for detecting (S3) the actual rotation acceleration (ij ) of the member (4, 10) .
2. The method of claim 1, wherein in step b) gravity-induced torque is calcu
Figure imgf000023_0001
lated (S3) based on orientation of the axis (7, 8, 11), an angle of rotation (q) by said axis (7, 8, 11), the mass of the member (4, 10) and the distance between its centre of gravity and the axis.
3. The method of claim 2, wherein the member (4, 10) comprises at least two components (6, 10; 12, 14) which are movable with respect to each other, and the distance is calculated based on the relative positions of said components (6, 10; 12, 14) .
4. The method of claim 3, wherein the internal friction is calculated (S4) based on
Figure imgf000023_0003
the gravity-induced torque exercised
Figure imgf000023_0002
on the joint (5, 9) by the member (4, 10) .
5. The method of any of the claims 1 to 4, further comprising the step
e) halting (S20) the robot arm (1) if it is decided (S7) in step d) that the joint (5, 9) is in an irregular condition.
6. The method of any of the claims 1 to 4, further comprising the step
e) switching (S21) the robot arm (1) into a gravity-compensated mode of operation if it is decided (S7) in step d) that the joint (5, 9) is in an irregular condition.
7. The method of any of the preceding claims, further comprising the step
f) updating (Sll; S16) at least one parameter of the member (4, 10)
Figure imgf000024_0001
used in the calculation of step c) in a way to reduce the discrepancy.
8. The method of claim 7, wherein the member comprises an end effector (14) adapted to hold a payload, and wherein the parameter is the mass of the payload and/or the
Figure imgf000024_0002
position (1) of the centre of gravity of the payload relative to the end effector (14) and/or the inertial parameters of the payload .
9. The method of claim 8, wherein step f) is enabled by a change of the payload.
10. The method of claim 7, wherein step f) is carried out continuously.
11. The method of claim 10, wherein the updated parameter is the friction
Figure imgf000024_0003
12. The method of any of the preceding claims, wherein step b) is a prediction carried out using a Kalman filter.
13. A robot system comprising a robot arm (1) and a controller (2), the robot arm (1) comprising at least one member (4), a joint (5) by which the member (4) is connected to a support (3) and which defines an axis (7, 8) by which the member (4) is rotatable with respect to the support (3) , and a motor for driving rotation of the member (4) by said axis (7, 8), wherein the controller (2) is adapted to control the motor using the method of any of claims 1 to 13.
14. The robot system of claim 13, wherein the member further comprises a second-order base (6), a second-order member (10), a second-order joint (9) and a second-order motor, the second-order base (6) extends between said joint (5) and said second- order joint (9), and the controller (2) is adapted to control the second-order motor using the method of any of claims 1 to 12.
PCT/EP2018/066534 2017-09-18 2018-06-21 Robot arm and method for controlling it WO2019063146A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17191592 2017-09-18
EP17191592.9 2017-09-18

Publications (1)

Publication Number Publication Date
WO2019063146A1 true WO2019063146A1 (en) 2019-04-04

Family

ID=59901424

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/066534 WO2019063146A1 (en) 2017-09-18 2018-06-21 Robot arm and method for controlling it

Country Status (1)

Country Link
WO (1) WO2019063146A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020246997A1 (en) * 2019-06-03 2020-12-10 Covidien Lp System and apparatus for external torque observation and compensation for surgical robotic arm
CN117036489A (en) * 2023-10-10 2023-11-10 泉州装备制造研究所 Robot positioning method and equipment based on manual identification and four-eye panoramic camera
EP4052863A4 (en) * 2019-11-01 2023-12-06 Neuromeka Method for compensating for friction of multi-degree-of-freedom cooperative robot
CN118876064A (en) * 2024-08-27 2024-11-01 南京鑫荔电子科技有限公司 An intelligent control method and system for industrial robots

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788093B2 (en) 2010-08-17 2014-07-22 Fanuc Corporation Human robot interactive system
US20160339585A1 (en) 2015-05-18 2016-11-24 Ross Video Limited System and method for robot operating environment discovery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788093B2 (en) 2010-08-17 2014-07-22 Fanuc Corporation Human robot interactive system
US20160339585A1 (en) 2015-05-18 2016-11-24 Ross Video Limited System and method for robot operating environment discovery

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDY ZELENAK ET AL: "An Extended Kalman Filter for Collision Detection During Manipulator Contact Tasks", PROCEEDINGS OF THE ASME 7TH ANNUAL DYNAMIC SYSTEMS AND CONTROL CONFERENCE - 2014 : PRESENTED AT ASME 2014 7TH ANNUAL DYNAMIC SYSTEMS AND CONTROL CONFERENCE, OCTOBER 22 - 24, 2014, SAN ANTONIO, TEXAS, USA; VOL. 1, vol. 1, 22 October 2014 (2014-10-22) - 24 October 2014 (2014-10-24), US, XP055504235, ISBN: 978-0-7918-4618-6, DOI: 10.1115/DSCC2014-6330 *
Y YAMADA ET AL: "Human-robot contact in the safeguarding space", IEEE/ASME TRANSACTIONS ON MECHATRONICS, 1 December 1997 (1997-12-01), pages 230 - 236, XP055493261, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/iel3/3516/14234/00653047.pdf> DOI: 10.1109/3516.653047 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020246997A1 (en) * 2019-06-03 2020-12-10 Covidien Lp System and apparatus for external torque observation and compensation for surgical robotic arm
CN112566583A (en) * 2019-06-03 2021-03-26 柯惠Lp公司 System and apparatus for external torque observation and compensation of surgical robotic arms
US12245900B2 (en) 2019-06-03 2025-03-11 Covidien Lp System and apparatus for external torque observation and compensation for surgical robotic arm
EP4052863A4 (en) * 2019-11-01 2023-12-06 Neuromeka Method for compensating for friction of multi-degree-of-freedom cooperative robot
CN117036489A (en) * 2023-10-10 2023-11-10 泉州装备制造研究所 Robot positioning method and equipment based on manual identification and four-eye panoramic camera
CN117036489B (en) * 2023-10-10 2024-02-09 泉州装备制造研究所 Robot positioning method and equipment based on manual identification and four-eye panoramic camera
CN118876064A (en) * 2024-08-27 2024-11-01 南京鑫荔电子科技有限公司 An intelligent control method and system for industrial robots

Similar Documents

Publication Publication Date Title
WO2019063146A1 (en) Robot arm and method for controlling it
US9434073B2 (en) Robot apparatus and control method therefor
JP4756618B2 (en) Collision detection / stop control method for articulated robots
JP6238021B2 (en) ROBOT, ROBOT CONTROL DEVICE AND CONTROL METHOD, AND ROBOT CONTROL PROGRAM
CN104589304B (en) Robot controller and robot
EP3956112B1 (en) Method of controlling a robot arm based on adaptive friction
JP6512790B2 (en) Robot control method, robot apparatus, program, recording medium, and article manufacturing method
JP7225563B2 (en) ROBOT, CONTROL DEVICE, AND ROBOT CONTROL METHOD
JP6575200B2 (en) Robot, control device and robot system
CN112654467A (en) Obtaining gear stiffness of a robot joint gear of a robot arm
WO2012077335A1 (en) Control device and control method for robot, robot, and control program
CN111347421A (en) Method and apparatus for torque estimation
WO1997040435A2 (en) Base force/torque sensor apparatus for the precise control of manipulators with joint friction and a method of use thereof
JP6044511B2 (en) Robot control method and robot system
JP6831530B2 (en) Disturbance observer and robot control device
Vick et al. Safe physical human-robot interaction with industrial dual-arm robots
JP2022118153A (en) Method and computing system for estimating parameter for robot operation
JP2022544524A (en) How to operate a robot manipulator with increased load mass
SE516720C2 (en) Equipment for controlling an industrial robot and a procedure for programming and / or adjusting the movement of the robot
EP4052862A1 (en) Method and system for detecting collision of robot manipulator using artificial neural network
CN110871456B (en) Robot
Smith et al. Using COTS to construct a high performance robot arm
Swevers et al. Generation of periodic trajectories for optimal robot excitation
CN113771039B (en) Method and computing system for estimating robot operating parameters
JP5473889B2 (en) Force control device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18731469

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18731469

Country of ref document: EP

Kind code of ref document: A1