METHOD FOR AUTOMATIC LOAD COMPENSATION FOR A COBOT OR AN UPPER LIMB EXOSKELETON
20220347038 · 2022-11-03
Assignee
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/37621
PHYSICS
G05B2219/40413
PHYSICS
B25J9/0006
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/40411
PHYSICS
G05B2219/39523
PHYSICS
A61H2201/501
HUMAN NECESSITIES
International classification
Abstract
A control method for controlling an actuator (11) connected to a load (50) for handling, the method comprising the steps of: detecting an intention to handle the load (50); applying an increasing command to the actuator (11) until detecting a movement of the actuator (11); storing the value reached by the command when a movement of the actuator (11) is detected; using the stored value reached by the command to determine an estimate of the opposing force exerted by the load (50) for handling; and controlling the actuator by means of a force servocontrol relationship using the estimate of the opposing force exerted by the load (50) for handling in order to establish the commands to be applied to the actuator (11).
A cobot (1) arranged to perform the method.
Claims
1.-14. (canceled)
15. A control method for controlling an actuator of a cobot, the actuator being functionally connected to a load for handling and being controlled by a monitor and control unit, the method comprising the steps of: detecting an intention of a user of the cobot to handle the load for handling; applying an increasing command to the actuator seeking to cause the load for handling to move until detecting a movement of the actuator or of the load for handling or until detecting that the intention to handle the load for handling has ceased; storing the value reached by the command and/or by a sensor linked to the actuator when a movement of the actuator or of the load for handling is detected or when detecting that the intention to handle the load for handling has ceased; using the stored value reached by the command and/or by the sensor linked to the actuator to determine an estimate of the opposing force exerted by the load for handling; and controlling the actuator by means of a force servocontrol relationship using the estimate of the opposing force exerted by the load for handling in order to establish the commands to be applied to the actuator.
16. A control method according to claim 15, wherein the increasing command results from a non-zero speed setpoint applied by the monitor and control unit.
17. A control method according to claim 15, wherein the increasing command comprises an increasing force command applied by the monitor and control unit.
18. A control method according to claim 17, wherein the increasing force command comprises a torque command.
19. A control method according to claim 15, wherein the estimate of the opposing force of the load for handling is determined by using the value taken by a sensor for sensing the current of the actuator when a movement of the actuator is detected.
20. A control method according to claim 15, wherein the estimate of the opposing force of the load for handling is determined by using the value taken by a current setpoint being sent to the actuator when a movement of the actuator is detected.
21. A control method according to claim 15, wherein the step of detecting a movement of the actuator comprises a step of detecting the crossing of a speed threshold or the crossing of a movement threshold or the crossing of an acceleration threshold.
22. A control method according to claim 15, wherein the step of detecting an intention to handle the load for handling comprises a step of detecting a change of state of an intention sensor.
23. A control method according to claim 22, wherein the intention sensor comprises a dry contact.
24. A control method according to claim 22, wherein the intention sensor is positioned on a hand of a user of the actuator.
25. A control method according to claim 22, wherein the intention sensor comprises a pressure sensor and/or an attitude sensor and/or an acceleration sensor and/or a flexion sensor and/or a myoelectrical sensor.
26. A control method according to claim 15, including the additional step of resetting the value of the estimate of the opposing force exerted by the load for handling to zero when the intention to handle the load ceases to be detected.
27. A cobot including a monitor and control unit connected to an actuator, the cobot also including detector means for detecting an intention of a user of the cobot to handle a load and/or a sensor linked to the actuator and linked to the monitor and control unit, the cobot being arranged to perform the method according to claim 15.
28. A cobot according to claim 27, wherein the detector means for detecting an intention to handle a load also include an intention sensor, the control unit being arranged to detect an intention to handle the load for handling comprises a step of detecting a change of state of an intention sensor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Reference is made to the accompanying figures, in which:
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTION OF THE INVENTION
[0035] With reference to
[0036] In operation, when the user 100 uses the right hand 101 to grasp a load 50 for handling that is of unknown weight, the user puts the load on the palm 106 of the right-hand 101. The first palm contactor 6.1 changes from the open state to the closed state. The monitor and control unit 5 detects this change of state and interprets it as meaning that the user 100 intends to handle the load 50. For the first gearmotor 11, the monitor and control unit 5 then sets a first speed setpoint 13 of 5 degrees per second (°/s) in a direction for lifting the load 50 (in the example shown in
[0037] When the user 100 desires to put down the load 50, the user places it on a destination support and the first palm contactor 6.1 changes from the closed state to the open state. The monitor and control unit 5 then detects that the intention to handle the load 50 has ceased and it proceeds to reset to zero the value for the estimate M.sub.50es of the weight of the load 50 stored in the module 9.
[0038] A control method is thus obtained that enables the unknown weight of the load 50 for handling by a first gearmotor 11 to be estimated, and that then enables the first gearmotor 11 to be controlled while using an estimate M.sub.50es for the unknown weight of the load 50 for handling.
[0039] In the following description of the second, third, fourth, fifth, sixth, seventh, eighth, and ninth embodiments of the invention, elements that are identical or analogous to those described above are given identical numerical references.
[0040] With reference to
[0041] In operation, when the user 100 uses both the right hand 101 and the left hand 102 to grasp a load 50, the user grips the load 50 between the palm 106.1 of the right hand 101 and the palm 106.2 of the left hand 102. The first palm contactor 6.1 and the second palm contactor 6.2 then both change from the open state to the closed state. The monitor and control unit 5 detects these changes of state and interprets them as meaning that the user 100 intends to handle the load 50. For the first gearmotor, the monitor and control unit 5 then sets a first speed setpoint 13 of 5°/s in a direction for lifting the load 50 (in the example shown in
[0042] When the torque C.sub.11 that is applied by the first gearmotor 11 to the first arm segment 10 exceeds the value of a first threshold torque C.sub.s, the arm segment 10 moves and the first encoder 12 senses a non-zero speed V.sub.11 for the first gearmotor 11. The monitor and control unit 5 maintains and stores the value COM.sub.s11 reached by the command COM.sub.11 sent to the first gearmotor 11. When the torque C.sub.21 applied by the second gearmotor 21 to the second arm segment 20 exceeds the value of a second threshold torque C.sub.s21, the second arm segment 20 moves and the second encoder 22 stores a non-zero speed V.sub.21 for the second gearmotor 21. The monitor and control unit 5 maintains and stores the value COM.sub.s21 reached by the command COM.sub.21 sent to the second gearmotor 21.
[0043] In this example, since the first and second gearmotors 11 and 12 are current controlled, the monitor and control unit 5 stores the first value I.sub.s11 reached by the power supply current I.sub.11 of the first gearmotor 11 and the second value I.sub.s21 reached by the power supply current I.sub.21 of the second gearmotor 21. These values are measured by using the first sensor 14 and the second sensor 24. Thereafter, the monitor and control unit 5 makes use of the first value I.sub.s11 and of the second value I.sub.s21 to determine an estimate M.sub.50es for the weight of the load 50. This estimate M.sub.50es is stored in the module 9 and is then used by the module 9 to set up a force servocontrol relationship that determines the commands to be applied to the first gearmotor 11 and to the second gearmotor 21 by the monitor and control unit 5.
[0044] When the load 50 is balanced, its weight is shared in substantially equal manner between the first arm segment 10 and the second arm segment 20. Under such circumstances, the first threshold torque C.sub.s11 is substantially equal to the second threshold torque C.sub.s21 and these values are reached at substantially the same time when the first gearmotor 11 and the second gearmotor 21, and also the first arm segment 10 and the second arm segment 20 have characteristics that are substantially identical.
[0045] When the load 50 is not balanced, the forces to be delivered by the first gearmotor 11 and by the second gearmotor 21 are different, and they might not be reached at the same time. This unbalance of the load 50 gives rise to a difference between the first torque threshold C.sub.s11 and the second torque threshold C.sub.s21, which difference is taken into account by the module 9 while setting up the force servocontrol relationship that determines the commands to be applied to the first gearmotor 11 and to the second gearmotor 21 by the monitor and control unit 5.
[0046] When the user 100 seeks to put down the load 50, the user places it on a destination support. When the user 100 lets go of the load 50, the first palm contactor 6.1 and the second palm contactor 6.2 both change from the closed state to the open state. The monitor and control unit 5 then detects that the intention to handle the load 50 has ceased and it proceeds to reset to zero the value for the estimate M.sub.50es of the weight of the load 50 stored in the module 9.
[0047] With reference to
[0048] In operation, when the user 100 seeks to use the right hand 101 to move the load 50 for handling, the user applies the palm 106.1 against the load 50. The first palm contactor 6.1 changes from the open state to the closed state. The monitor and control unit 5 detects this change of state and interprets it as meaning that the user 100 intends to handle the load 50. The information coming from the first inertial unit 6.3 indicates that the intention of the user 100 is to move the load 50 in a horizontal plane, from right to left as seen by the user 100. For the third gearmotor 31, the monitor and control unit 5 then sets up a third speed setpoint 33 of 5°/s in a direction seeking to move the load 50 towards the left of the user 100, and the unit 5 servocontrols the third gearmotor 31 on the measurement from the encoder 32. When the torque C.sub.31 that is applied by the third gearmotor 31 to the first arm segment 10 exceeds the value of a third threshold torque C.sub.s31, the first arm segment 10 moves and the third encoder 32 senses a non-zero speed V.sub.31 for the third gearmotor 31. The value of the torque threshold C.sub.s31 corresponds to the opposition to rotation of the third gearmotor 31 that is being exerted essentially by the weight of the load 50 and by static friction against its support. When the third encoder 32 detects a non-zero speed V.sub.31, the monitor and control unit 5 stores the value COM.sub.s31 reached by the command COM.sub.31 sent to the third gearmotor 31. In this example, since the third gearmotor 31 is current controlled, the monitor and control unit 5 stores the value I.sub.s31 reached by the power supply current I.sub.31 of the third gearmotor 31. This value is measured using the third sensor 34. Thereafter, the monitor and control unit 5 makes use of the value I.sub.s31 to determine an estimate R.sub.50es for the opposing force exerted by the load 50. This estimate R.sub.50es is stored in the module 9 and is then used by the module 9 to set up a force servocontrol relationship that determines the commands to be applied to the third gearmotor 31 by the monitor and control unit 5.
[0049] With reference to
[0050] In corresponding manner, the second arm segment 20 receives a second forearm segment 25 hinged to the end of the second arm segment 20 on the left by a fifth gearmotor 51 connected to the monitor and control unit 5. The fifth gearmotor 51 is provided with a fifth dot-based rotary encoder 52 and with a fifth sensor 54 for sensing the power supply current of the fifth gearmotor 51.
[0051] In operation, when the user 100 uses both the right hand 101 and the left hand 102 to grasp a load 50, the user grips the load 50 between the palm 106.1 of the right hand 101 and the palm 106.2 of the left hand 102. The first palm contactor 6.1 and the second palm contactor 6.2 both change from the open state to the closed state. The monitor and control unit 5 detects these changes of state and interprets them as meaning that the user 100 intends to handle the load 50. The monitor and control unit 5 then sets a first speed setpoint 13 of 10 centimeters per second (cm/s) in a direction seeking to lift the load 50. The monitoring control unit 5 then performs servocontrol in three-dimensional (or “operating”) space, and using the models of the exoskeleton it calculates the torques to be sent as respective setpoints to the first gearmotor 11, to the second gearmotor 21, to the fourth gearmotor 41, and to the fifth gearmotor 51 (in this example, all being rotations or torques in the vertical plane of
[0052] The monitor and control unit then monitors the signals coming from the first encoder 12, the second encoder 22, the fourth encoder 42, and the fifth encoder 52. When the first encoder 12 and/or the fourth encoder 42 detects movement, the monitor and control unit 5 maintains and stores the value COM.sub.s11 reached by the command COM.sub.11 sent to the first gearmotor 11, and the value COM.sub.s41 reached by the command COM.sub.41 sent to the fourth gearmotor 41.
[0053] When the second encoder 22 and/or the fifth encoder 52 detects movement, the monitor and control unit 5 maintains and stores the value COM.sub.s21 reached by the command COM.sub.21 sent to the second gearmotor 21, and the value COM.sub.s51 reached by the command COM.sub.51 sent to the fifth gearmotor 51. On the basis of the values of the commands COM.sub.s11, COM.sub.s41, COM.sub.s21, and COM.sub.s51, the monitor and control unit 5 determines an estimate M.sub.50es of the weight of the load 50 (or else M.sub.50es multiplied by the lever arm if the value of the lever arm is unknown), e.g. using a model of the exoskeleton 1. This estimate M.sub.50es is stored in the module 9 and is then used by the module 9 to set up a force servocontrol relationship that determines the commands to be applied to the first gearmotor 11, to the second gearmotor 21, to the fourth gearmotor 41, and to the fifth gearmotor 51 by the monitor and control unit 5.
[0054] When the user 100 seeks to put down the load 50, the user places it on a destination support. When the user 100 lets go of the load 50, the first palm contactor 6.1 and the second palm contactor 6.2 both change from the closed state to the open state. The monitor and control unit 5 then detects that the intention to handle the load 50 has ceased and it proceeds to reset to zero the value for the estimate M.sub.50es of the weight of the load 50 stored in the module 9.
[0055] With reference to
[0056] In operation, when the user 100 uses both the right hand 101 and the left hand 102 to grasp a load 50, the user grips the load 50 between the palm 106.1 of the right hand 101 and the palm 106.2 of the left hand 102. The first palm contactor 6.1 and the second palm contactor 6.2 both change from the open state to the closed state. The monitor and control unit 5 detects these changes of state and interprets them as meaning that the user 100 intends to handle the load 50. The monitor and control unit 5 then applies to the sixth gearmotor 61 an increasing torque command 63 in a direction seeking to lift the load 50 (in this example rotation of the sixth gearmotor 61 in a positive direction). This command may be in the form of increasing the output torque from the sixth gearmotor 61 by 1 newton meter per second (Nm/s). The monitor and control unit 5 also applies to the seventh gearmotor 71 an increasing torque command 73 in a direction seeking to lift the load 50 (in this example rotation of the seventh gearmotor 71 in a positive direction). This command may be in the form of increasing the output torque from the seventh gearmotor 71 by 1 Nm/s.
[0057] When the force F.sub.61 applied by the sixth gearmotor 61 to the first cable 66 exceeds the value of a sixth force threshold F.sub.s61, the first drum 65 moves and the sixth encoder 62 stores a non-zero speed V.sub.61 for the sixth gearmotor 61. The monitor and control unit 5 then stores and maintains the value C.sub.61 for the output torque of the sixth gearmotor 61 as sensed by the sixth sensor 64. When the force F.sub.71 applied by the seventh gearmotor 71 to the second cable 76 exceeds the value of a seventh force threshold F.sub.s71, the second drum 75 moves and the seventh encoder 72 stores a non-zero speed V.sub.71 for the seventh gearmotor 71. The monitor and control unit 5 then stores and maintains the value C.sub.71 for the output torque of the seventh gearmotor 71 as sensed by the seventh sensor 74.
[0058] Thereafter, the monitor and control unit 5 makes use of the values C.sub.61 and C.sub.71 of the output torque to determine an estimate M.sub.50es for the weight of the load 50. This estimate M.sub.50es may be obtained by dividing the measured value C.sub.61 for the output torque of the first gearmotor 61 by the radius of the first drum 65, and the measured value C.sub.71 for the output torque of the second gearmotor 71 by the radius of the second drum 75. The estimate M.sub.50es is stored in the module 9 and is then used by the module 9 for setting up a force servocontrol relationship that determines the commands to be applied to the sixth gearmotor 61 and to the seventh gearmotor 71.
[0059] In a tenth embodiment shown in
[0060] In operation, when the user 100 seeks to lift the load 50 for handling of unknown weight, the user grasps it and contracts the biceps 111 of the right arm 110 in order to apply a lifting force to the load 50. The contraction of the biceps 111 is greater than the contraction would be caused by moving the right arm 110 without a load. The biological signature specific to a movement of a loaded right arm 110, and that is representative of an intention to lift the load 50, is detected by the first myoelectrical sensor 6.4. The module 9.1 analyzes the signal transmitted by the first myoelectrical sensor 6.4 and identifies an intention to handle the load 50. For the first gearmotor 11, the monitor and control unit 5 then sets a first speed setpoint 13 of 5°/s in a direction for lifting the load 50 (in the example shown in
[0061] When the user seeks to put down the load 50, the myoelectrical signatures detected by the first and second myoelectrical sensors 6.4 and 6.5 are sent to the module 9.1 that, on analyzing them, detects a combination of signals representative of an intention to put down the load 50. Making use of the signals coming from the second myoelectrical sensor 6.5 is particularly effective for identifying the intention to put down the load 50. The monitor and control unit 5 then resets to zero the value of the estimate M.sub.50es for the weight of the load 50 as stored in the module 9.
[0062] Advantageously, the first and second myoelectrical sensors 6.4 and 6.5 are used in addition to the other sensors for sensing the intention to lift and/or put down the load as described for the above embodiments in order to improve the robustness of control.
[0063] Naturally, the invention is not limited to the embodiments described, but covers any variant coming within the ambit of the invention as defined by the claims.
[0064] In particular; [0065] although, above, the load 50 is connected to the exoskeleton via the hands of the user 100, the invention applies equally to the load 50 being connected directly to the exoskeleton, e.g. using gripper pads 80 (