WO2019063146A1 - Robot arm and method for controlling it - Google Patents
Robot arm and method for controlling it Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001133 acceleration Effects 0.000 claims abstract description 20
- 230000001788 irregular Effects 0.000 claims abstract description 19
- 239000012636 effector Substances 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 17
- 230000005484 gravity Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 4
- 238000000105 evaporative light scattering detection Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 208000027418 Wounds and injury Diseases 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 206010013710 Drug interaction Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000000314 lubricant Substances 0.000 description 1
- 238000005461 lubrication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40317—For 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
joint (5, 9) is calculated (S4) and used for detecting (S3) the actual rotation acceleration
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
is the vector of motor torque. All external load torques affecting the joint, e.g. due to contact with an obstacle, are condensed into
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. 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.
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:
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
depend on the direction of rotation. It takes ac- count of load dependency of friction by introducing
load-proportional terms The em
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.
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) :
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
(2) or (3) .
intake (S5) .
Using above eq. (1), the vector
is calculated in step S6. Under normal operating conditions,
should be below a predetermined threshold,
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
under various postures of the robot arm 1, i.e. it repeats steps S1-S7 until it has collected as many values of
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
and, possibly, a lever arm length 1 of the payload, to the collected values of
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
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
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< | thrl | in S15,
it is assumed that the coefficients
(S16) using the values of
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
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 .
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.
As an alternative, when entering the mass detection procedure, 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.
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-
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
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
operated without payload and without contact with an obstacle, any non-zero value of
obtained using above eq. (1) can be taken to be due to an error in the calculation of Therefore, the
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
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. 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
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
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),
tive of a discrepancy between an expected rotation acceleration of the member (4, 10) and said actual rotation acceleration ,
d) deciding that the joint is in an irregular condition if the discrepancy
exceeds a threshold (ε) ,
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) .
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
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
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
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.
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)
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)
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 |
-
2018
- 2018-06-21 WO PCT/EP2018/066534 patent/WO2019063146A1/en active Application Filing
Patent Citations (2)
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)
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)
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 |