METHOD FOR AUTOMATIC LOAD COMPENSATION FOR A COBOT OR AN UPPER LIMB EXOSKELETON

20220347038 · 2022-11-03

Assignee

Inventors

Cpc classification

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] FIG. 1 is a diagrammatic side view of an exoskeleton in a first embodiment of the invention;

[0025] FIG. 2 is a diagrammatic view of the exoskeleton of FIG. 1 in a handling configuration;

[0026] FIG. 3 is a diagrammatic perspective view of an exoskeleton in a second embodiment of the invention;

[0027] FIG. 4 is a diagrammatic side view of an exoskeleton in a third embodiment of the invention;

[0028] FIG. 5 is a diagrammatic perspective view of an exoskeleton in a fourth embodiment of the invention;

[0029] FIG. 6 is a diagrammatic perspective view of an exoskeleton in a fifth embodiment of the invention;

[0030] FIG. 7 is a diagrammatic side view of an exoskeleton in a sixth embodiment of the invention;

[0031] FIG. 8 is a diagrammatic side view of an exoskeleton in a seventh embodiment of the invention;

[0032] FIG. 9 is a diagrammatic side view of a cobot in an eighth embodiment of the invention;

[0033] FIG. 10 is a diagrammatic side view of a cobot in a ninth embodiment of the invention; and

[0034] FIG. 11 is a diagrammatic side view of a cobot in a tenth embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0035] With reference to FIGS. 1 and 2, an exoskeleton of the invention, given overall reference 1, includes a dorsal segment 2 provided with straps 3 for attaching it to a user 100. The dorsal segment includes a battery 4 powering a monitor and control unit 5. The exoskeleton 1 also includes a first arm segment 10 on the right that is hinged to the dorsal segment 2 by a first gearmotor 11. The first gearmotor 11 is provided with a first dot-based rotary encoder 12 and with a first sensor 14 for sensing the power supply current of the first gearmotor 11. The first arm segment 10 is connected to the right arm 110 of the user 100 by straps 7. A normally-open first palm contactor 6.1 for attaching to the palm 106 of the right hand 101 of the user 100 is connected to the monitor and control unit 5. The monitor and control unit 5 is also connected to the first encoder 12, to the first sensor 14, and to the first gearmotor 21, and it includes in particular a proportional-integral type speed corrector algorithm 8 together with a memory and calculation module 9.

[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 FIGS. 1 and 2, turning upwards in a vertical plane), and the unit 5 servocontrols the first gearmotor 11 on the measurement from the encoder 12. The integral corrector algorithm 8 measures the error between the measurement from the first encoder 12 and the first setpoint 13 and it adjusts accordingly the control value COM.sub.11 that is sent to the first gearmotor 11 by the monitor and control unit 5. Thus, so long as the first encoder 12 measures a speed of zero, the monitor and control unit 5 sends an increasing torque command to the first gearmotor 11. 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 threshold torque C.sub.s, the first arm segment 10 moves and the first encoder 12 stores a non-zero speed V.sub.11 for the first gearmotor 11. The value of the threshold torque C.sub.s corresponds to the resistance to turning the first gearmotor 11 as exerted essentially by the weight of the arm segment 10 and by the weight of the load 50 (and possibly also by part of the weight of the user's arm). When the speed V.sub.11 reaches the value of a threshold speed V.sub.s11—one meter per second (m/s) in this example the monitor and control unit 5 stores the value COM.sub.s11 reached by the command COM.sub.11 being sent to the first gearmotor 11. In this example, since the first gearmotor 11 is current controlled, the monitor and control unit 5 stores the value I.sub.s11 reached by the power supply current I of the first gearmotor 11. This value I.sub.s11 is measured using the sensor 14. Alternatively, when the first gearmotor 11 is controlled by a variable drive having a current loop, the value I.sub.s11 corresponds to the setpoint being applied to the variable drive). Thereafter, the monitor and control unit 5 makes use of the value I.sub.s11 to determine an estimate M.sub.50es for the weight of the load 50. By way of example, this determination may be performed using a curve associating the power supply current I.sub.11 of the first gearmotor 11 with the available torque developed by the first gearmotor 11. The torque C.sub.s11 corresponding to the current I.sub.s11 is then divided by the length L.sub.10 of the first arm segment 10, possibly weighted by the cosine of the angle α.sub.10 between the dorsal segment 2 and the first arm segment 10, thereby enabling an estimate M.sub.50es to be deduced 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 by the monitor and control unit 5. This relationship is used to control the first gearmotor 11 while handling the load 50.

[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 FIG. 3, the exoskeleton 1 also includes a left arm segment 20 hinged to the dorsal segment 2 via a second gearmotor 21. The second gearmotor 21 is provided with a second dot-based rotary encoder 22 and with a second sensor 24 for sensing the power supply current of the second gearmotor 21. The left arm segment 20 is connected to the left arm 120 of the user 100 by straps 7. A normally-open second palm contactor 6.2 for attaching to the palm 106.2 of the left hand 102 of the user 100 is connected to the monitor and control unit 5. The monitor and control unit 5 is also connected to the second gearmotor 21, to the second encoder 22, and to the second sensor 24.

[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 FIG. 3, turning upwards in a vertical plane), and the unit 5 servocontrols the first gearmotor 11 to the measurement from the encoder 12. For the second gearmotor 21, the monitor and control unit 5 then also sets a second speed setpoint 23 of 5°/s in a direction for lifting the load 50 (in the example shown in FIG. 3, turning upwards in a vertical plane), and the unit 5 servocontrols the second gearmotor 21 to the measurement from the encoder 22.

[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 FIG. 4, the exoskeleton 1 also includes a third gearmotor 31 having its outlet axis 31.1 orientated substantially vertically when the user is in a vertical position. The outlet axis 31.1 of the third gearmotor 31 is connected to the first arm segment 10 and it serves to impart a turning torque about a vertical axis to the first arm segment 10. The third gearmotor 31 is provided with a third dot-based rotary encoder 32 and with a third sensor 34 for sensing the power supply current of the third gearmotor 31. The first palm contactor 6.1 also includes a first inertial unit 6.3 for detecting the orientation of the first palm contactor 6.1.

[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 FIG. 5, the first arm segment 10 receives a first forearm segment 15 that is hinged to the end of the first arm segment 10 by a fourth gearmotor 41. The fourth gearmotor 41 is provided with a fourth dot-based rotary encoder 42 and with a fourth sensor 44 for sensing the power supply current of the fourth gearmotor 41, all connected to the monitor and control unit 5. The first forearm segment 15 is connected to the right forearm 115 of the user 100 by straps 7.

[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 FIG. 5). The monitoring control unit 5 uses the values from the encoders 12, 22, 42, and 52 to calculate the three-dimensional positions and speeds of the wrists, thereby performing servocontrol in three dimensions. The monitor and control unit 5 then also acts to manage the coupling between the axes and to ensure that the speed of 10 cm/s for the load is indeed complied with. For the monitor and control unit 5, a simpler alternative for controlling the fourth gearmotor 41 and the fifth gearmotor 51 would be to block any rotation of the fourth gearmotor 41 and of the fifth gearmotor 51, or to perform simple dynamic coupling by using the values from the encoders 12 and 22.

[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 FIG. 6, the dorsal segment 2 of the exoskeleton 1 includes a first bracket 60 and a sixth gearmotor 61 for winding a first cable 66 around a first drum 65, the first cable 66 having a first end 67 that is connected to the right wrist 116 of the user 100. The sixth gearmotor 61 is provided with a sixth dot-based rotary encoder 62, and with a sixth sensor 64 for sensing output torque from the sixth gearmotor 61, all connected to the monitor and control unit 5. In corresponding manner, the dorsal segment 2 of the exoskeleton 1 includes a second bracket 70 and a seventh gearmotor 71 for winding a second cable 76 about a second drum 75, the second cable 76 having a second end 77 that is connected to the left wrist 117 of the user 100. The seventh gearmotor 71 is provided with a seventh dot-based rotary encoder 72, and with a seventh sensor 74 for sensing the output torque of the seventh gearmotor 71, all connected to the monitor and control unit 5.

[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 FIG. 11, but that is applicable to all of the above-described arm architectures), the exoskeleton 1 includes a first myoelectrical sensor 6.4 placed on the biceps 111 of the right arm 110 of the user 100, and a second myoelectrical sensor 6.5 placed on the triceps 112 of the user 100. The first and second myoelectrical sensors 6.4 and 6.5 are connected to a neural network based artificial intelligence module 9.1 of the monitor and control unit 5.

[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 FIG. 11, turning upwards in a vertical plane), and the unit 5 servocontrols the first gearmotor 11 to the measurement from the encoder 12. The integral corrector algorithm 8 measures the error between the measurement from the first encoder 12 and the first setpoint 13 and it adjusts accordingly the control value COM.sub.11 that is sent to the first gearmotor 11 by the monitor and control unit 5. Thus, so long as the first encoder 12 measures a speed of zero, the monitor and control unit 5 sends an increasing torque command to the first gearmotor 11. When the torque C.sub.11 applied by the first gearmotor 11 to the first arm segment 10 exceeds the value of a threshold torque C.sub.s, the arm 10 of the exoskeleton 1 then takes up a fraction of the weight of the load 50 such that the user 100 ceases to apply a lifting force. This results in a reduction in the contraction of the biceps 111, which 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 determines that the intention to handle the load 50 has ceased. The monitor and control unit 5 then stores the value of the torque C.sub.11 applied to the gearmotor 11 and then makes an estimate M.sub.50es of the weight of the load 50, in the same manner as for the above-described embodiments. 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 by the monitor and control unit 5. This relationship is used to control the first gearmotor 11 during subsequent handling of the load 50.

[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 (FIGS. 7 and 8) or forks; [0066] although, above, the arm segment of the exoskeleton is connected to the arm of the user, the invention applies equally to an arm segment that is not connected to the user (FIGS. 7 and 8); [0067] although, above, the invention is described with reference to an exoskeleton worn by a user, the invention applies equally to other types of cobot, e.g. such as fixed-base load handlers with grasping in parallel (FIG. 9) or with grasping by the user (FIG. 10); [0068] although, above, the exoskeleton includes a gearmotor, the invention applies equally to actuators of other types, e.g. such as cable jacks, or hydraulic, pneumatic, or electrical linear actuators; [0069] although, above, the gearmotors are provided with dot-based rotary encoders, the invention applies equally to other means for detecting movement of the actuator, e.g. such as a cable encoder, a resolver, a Hall effect sensor, a resistive track, or an inertial unit; [0070] although, above, the monitor and control unit sets a speed setpoint of 5°/s or of 10 cm/s, the invention applies to other values for the speed setpoint, e.g. such as any non-zero angular or linear speed value; [0071] although, above, the value of the threshold speed is 1 m/s, the invention applies equally to other values for the threshold speed, e.g. such as any non-zero value; [0072] although, above, the monitor and control unit applies torque increasing at 1 Nm/s, the invention applies to other values of increasing torque, such as for example any non-zero value; [0073] although, above, the monitor and control unit determines an estimate of the load for handling, the invention applies equally to estimating other types of opposing force, e.g. such as resistance to moving a load running on wheels, or resistance to driving a pile into the ground; [0074] although, above, the exoskeleton includes a palm contactor, the invention applies equally to other means for detecting an intention to handle the load for handling, e.g. such as a voice command, an attitude sensor, a pressure sensor, or a photoelectric cell; [0075] although, above, the exoskeleton includes a single palm sensor, the invention applies equally to other means for detecting an intention to handle the load, e.g. such as a cobot having one or more sensors for sensing pressure, flexion, or attitude, one or more accelerometers, or one or more myoelectrical sensors. These sensors may equally well be associated with an artificial intelligence module; [0076] although, above, the control unit applies an increasing torque command to the actuator, the invention applies equally to other types of increasing command, e.g. such as increasing force command; [0077] although, above, the step of detecting movement of the actuator includes a step of detecting the actuator crossing a speed threshold, the invention applies equally to other means for detecting movement of the actuator, e.g. such as crossing a movement threshold or an acceleration threshold; [0078] although, above, the step of detecting movement of the actuator includes a step of detecting the actuator crossing a speed threshold, the invention applies equally to other means for detecting movement of the load, e.g. such as the load crossing a movement, speed, or acceleration threshold, by using hinge position sensors or by using an inertial unit placed on the terminal member of the robot, on the hand of the user, or directly on the load; [0079] although, above, the estimated value M.sub.50es corresponds to the exact weight of the load, the invention applies equally to situations in which the user does apply some lifting force to the load, thereby biasing the estimate. Under such circumstances, the amount of the load that is compensated in operation is reduced by the value of the bias, with the bias continuing to be supported by the user; [0080] although, above, the operational space command calculates a torque setpoint in hinge or motor space (i.e. for the gearmotors), the invention applies equally to the situation in which the three-dimensional space command calculates a hinge speed setpoint (e.g. using an inverse Jacobean), or a hinge position setpoint (e.g. via an inverse geometrical model); [0081] although, above, the monitor and control module uses the value of the setpoint for the current supplied to the motor(s) in order to determine an estimate of the weight of the load, the invention applies equally to other types of command being applied to the gearmotor, such as for example frequency, voltage, or torque command; [0082] although, above, the sensor linked to the gearmotor is a current sensor or a torque sensor, the invention applies equally to other types of sensor, e.g. such as a sensor for sensing an elongation or shear force on an arm segment. These sensors may be located upstream or downstream from the actuator, and preferably directly at the outlet of the gearmotor; [0083] although, above, the exoskeleton includes first and second myoelectrical sensors located respectively on the biceps and on the triceps of the user, the invention applies to other means for detecting the intention to put down and/or move the load for handling, e.g. such as a single myoelectrical sensor, more than two myoelectrical sensors, or sensors installed on other muscle groups, such as the forearm, the shoulder, the trapezius, or the pectorals; and [0084] although, above, the myoelectrical sensors are connected to a neural network based artificial intelligence module, the invention applies equally to other means for analyzing signals coming from these sensors, e.g. such as a simple logic module, an adaptive heuristic criticality module, or an Artmap type module.