How to Move an Exoskeleton
The admittance controller method for exoskeletons compensates for flexibility and terrain deviations, allowing stable walking on uneven ground, addressing the challenge of maintaining balance and safety on complex terrains.
Patent Information
- Application Number
- JP2023536350
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-16
- Filing Date
- 2021-12-15
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2041-12-15
AI Technical Summary
Existing exoskeletons struggle to maintain balance and stability on uneven terrain, leading to potential collapse and injury, as they are not equipped with an effective control method to handle strong disturbances.
A method for operating a bipedal exoskeleton using an admittance controller that estimates the current state, applies a wrench to compensate for deviations from a theoretical trajectory, and accounts for the exoskeleton's flexibility, ensuring stable walking on uneven ground.
The method enables the exoskeleton to autonomously navigate uneven terrain, including cobblestone roads and maintain balance under strong disturbances, enhancing user safety and comfort.
Smart Images

Figure 0007790018000013 
Figure 0007790018000014 
Figure 0007790018000015
Abstract
Description
[Technical Field]
[0001] The present invention relates to the field of bipedal robots such as humanoid robots and exoskeletons.
[0002] More particularly, the present invention relates to a method for moving an exoskeleton using an admittance controller. [Background technology]
[0003] In recent years, assistive walking devices called exoskeletons have emerged for people with significant mobility problems, such as paraplegia. These devices are external robotic devices "worn" by an operator (human user) thanks to an attachment system that links the exoskeleton's movements to their own. Lower limb exoskeletons have multiple joints, usually at least at the knee and hip levels, to replicate walking movements. Actuators allow these joints to move, which in turn moves the operator. An interface system allows the operator to give commands to the exoskeleton, and a control system converts these commands into commands for the actuators. Sensors generally complete the device.
[0004] These exoskeletons are an advancement over wheelchairs because they allow the operator to stand up and walk. Exoskeletons are no longer limited by wheels and can theoretically evolve in most uneven environments. That is, unlike legs, wheels do not allow the user to overcome significant obstacles such as steps, stairs, or very tall obstacles. Known exoskeleton control methods allow for stable autonomous walking on uniform, or in other words, flat, ground (inappropriately called flat ground, but referring to uneven ground, for example, indoors or on a treadmill) and to withstand small external disturbances. Reference may be made, for example, to the publications "Towards Restoring Locomotion for Paraplegics: Realizing Dynamically Stable Walking on Exoskeletons" by T. Gurriet et al. or "Feedback Control of an Exoskeleton for Paraplegics: Toward Robustly Stable, Hands-Free Dynamic Walking" by O. Harib et al.
[0005] However, this does not allow it to withstand strong disturbances or to walk on uneven ground, such as can be found in urban environments with cobblestone streets, in which situation the exoskeleton may collapse and injure the user.
[0006] To be able to move in such an environment, an active control method is required that allows the exoskeleton to maintain balance and respond to disturbances in order to continue walking, but no satisfactory method has been proposed to date, and it is still necessary to use a gantry to support the exoskeleton in case it falls over. Summary of the Invention [Problem to be solved by the invention]
[0007] It is desirable to have new solutions for moving any exoskeleton that reliably and ergonomically allow walking on any terrain, including uneven terrain. [Means for solving the problem]
[0008] Thus, the present invention relates, according to a first aspect, to a method for operating a bipedal exoskeleton adapted to accommodate a human operator, said method comprising the following steps by a data processing means of the exoskeleton: (a) obtaining a theoretical base trajectory of the exoskeleton; (b) executing a control loop that defines the evolution of the actual position of the exoskeleton so as to implement an actual base trajectory similar to the theoretical base trajectory, During each iteration of the control loop, - Estimation of the current state of the exoskeleton as a function of its actual position; - determining the wrench to be applied to the exoskeleton at the next iteration of the control loop to compensate for deviations between the estimated current state of the exoskeleton and the expected state of the exoskeleton according to the theoretical base trajectory; The determination of the wrench and / or its application to the exoskeleton takes into account the flexible model of the exoskeleton compared to a rigid robot, executing a control loop; Includes an implementation of
[0009] According to advantageous and non-limiting characteristics:
[0010] The method comprises repeating steps (a) and (b) to cause the exoskeleton to walk through a series of actual elementary trajectories, each corresponding to a step.
[0011] The theoretical base trajectory obtained in step (a) starts from an initial position, and step (b) involves determining the final position of the exoskeleton at the end of the actual base trajectory, which is used as the initial position for the next occurrence of step (a).
[0012] Step (b) involves, at the beginning of each iteration of the control loop, applying the wrench determined in the previous iteration by the admittance controller to the exoskeleton.
[0013] Determining the wrench to be applied to the exoskeleton to compensate for deviations between an estimated current state of the exoskeleton and an expected state of the exoskeleton according to the theoretical base trajectory includes implementing a feedback control on at least one parameter defining the state of the exoskeleton.
[0014] The position of the exoskeleton is defined by the vectors of joint positions of the actuated degrees of freedom of the exoskeleton, and the state of the exoskeleton is defined by at least one parameter selected from among the positions, velocities and accelerations of the actuated degrees of freedom, the position and velocity of the center of mass (CoM) of the divergent components of motion (DCM), the position of the center of pressure (CoP), and the position of the zero moment point (ZMP), and is particularly defined by the position of the center of mass (CoM) of the divergent components of motion (DCM) and the position of the center of pressure (CoP).
[0015] A feedback control is implemented for the position of the divergent component of motion (DCM).
[0016] The wrench to be applied to the exoskeleton is defined by the location of the center of pressure (CoP).
[0017] The wrench to be applied to the exoskeleton is determined by adding to the expected position of the center of pressure (CoP) according to a theoretical base trajectory at least one term for the error between the estimated current position of the center of pressure (CoP) and the expected current position and one term for the error between the estimated current position of the center of pressure (CoP) and the expected current position of the divergent component of motion (DCM), in particular according to the following formula:
number
[0018] The flexibility model defines the correction of the expected location of the center of pressure (CoP) that is used to determine the wrench.
[0019] The exoskeleton has at least one flexible actuated degree of freedom, and the flexibility model defines an offset to be applied to the position and / or target velocity of the flexible actuated degree of freedom determined following application of the wrench.
[0020] The flexibility model defines at least one parameter of the exoskeleton's state that should be replaced with the average value observed in real stable gait.
[0021] The flexibility model is experimentally predetermined from actual stable gait and / or simulation.
[0022] According to a second aspect, the present invention relates to an exoskeleton including data processing means configured to implement the method according to the first aspect for moving the exoskeleton.
[0023] According to a third aspect, the present invention relates to a system comprising a server and an exoskeleton according to the second aspect, wherein the server comprises data processing means configured to generate a theoretical base trajectory and to provide the theoretical base trajectory to the exoskeleton in step (a).
[0024] According to a fourth and fifth aspect, the present invention relates to a computer program product comprising code instructions for performing the method according to the first aspect for moving an exoskeleton, and storage means readable by a computing device, on which storage means the computer program product comprises code instructions for performing the method according to the first aspect for moving an exoskeleton.
[0025] Other features and advantages of the invention will become apparent after reading the following description of one preferred embodiment, which description is given with reference to the accompanying drawings. [Brief explanation of the drawings]
[0026] [Figure 1] 1 is a diagram of an exoskeleton used by the method according to the invention; FIG. [Figure 2] 1 is a diagram of an architecture for implementing the method according to the invention; [Figure 3] FIG. 1 shows one preferred embodiment of the method according to the present invention. [Figure 4] 2 shows a schematic representation of a control loop used in one preferred embodiment of the method according to the invention; DETAILED DESCRIPTION OF THE INVENTION
[0027] (architecture) The present invention proposes a method for moving the exoskeleton 1.
[0028] With reference to Figure 1, said exoskeleton 1 is an actuated and controlled bipedal robotic device type articulated mechanical system with two legs, more specifically accommodating a human operator whose lower limbs are fixed (in particular thanks to straps) to the legs of the exoskeleton 1. It can therefore be more or less a humanoid robot. "Setting in motion" actually means leaning on the legs alternately in a standing position to effect movement. It is most often walking, in particular walking forward, but in fact it can be any movement, including backward, sideways, half-turns, sitting, standing, etc.
[0029] As will be seen, the motion of the exoskeleton is assumed to consist of a series of step-like basic trajectories, each consisting of a foot being lifted off the ground and coming to rest, followed by a role reversal (i.e., alternating left and right foot steps). A step refers to any movement of the foot for any movement.
[0030] The exoskeleton 1 has multiple degrees of freedom, in other words joints that can move relative to each other (generally via rotation), each of which is either "actuated" or "unactuated".
[0031] An actuated degree of freedom refers to a joint with an actuator controlled by the data processing means 11c. In other words, this degree of freedom can be controlled and actuated. In contrast, a non-actuated degree of freedom refers to a joint without an actuator. In other words, this degree of freedom follows its own dynamics and the data processing means 11 has no direct control over it (but a priori indirect control via other actuated degrees of freedom).
[0032] The exoskeleton of the present invention naturally includes at least two actuated degrees of freedom, and preferably a plurality of them. As will be appreciated, some of these degrees of freedom may be "flexible."
[0033] Data processing means 11c refers to a computing device (typically a processor, i.e. external, but preferentially embedded in the exoskeleton 1 if the exoskeleton 1 is "remotely controlled") configured to process instructions and generate commands for the different actuators. These can be electric actuators, hydraulic actuators, etc.
[0034] The present application is not limited to any particular architecture for the exoskeleton 1, examples such as those described in WO2015 / 140352 and WO2015 / 140353 are contemplated.
[0035] Thus, preferably, in accordance with these applications, the exoskeleton 1 comprises, for each leg, a foot structure comprising a support surface on which the foot of that leg of the person wearing the exoskeleton can rest.
[0036] The support plane includes, for example, a forward platform and a rearward platform such that a foot pivot link connects the forward platform to the rearward platform to form an unactuated degree of freedom.
[0037] However, one skilled in the art would be able to adapt the method to any other mechanical architecture.
[0038] According to one preferred embodiment, the present trajectory and gait generation method may include a first or second server 10a, 10b in an architecture as depicted in FIG.
[0039] The first server 10a is a trajectory generation server and the second server 10b is a possible learning server.
[0040] In fact, the generation of the trajectory of the exoskeleton 1 can use a neural network, in particular a feedforward neural network (FNN) type, as proposed in application FR1910649. The second server 10b is then a server for implementing a method for learning the parameters of said neural network. It should be noted that the method is not limited to the use of a neural network, but can use, in whole or in addition, any known technique for generating trajectories.
[0041] In any case, it is quite possible that these two servers are combined, but in practice the second server 10b is most often a remote server, whereas the first server 10a can be embedded with the exoskeleton 1 for real-time operation, as represented in Figure 2. According to one preferred embodiment, the first server 10a implements a method for generating a trajectory for the exoskeleton 1 thanks to a neural network that uses parameters retrieved from the second server 10b, and the exoskeleton 1 starts moving by directly applying said trajectory, which is usually generated on the fly.
[0042] Each of these servers 10a, 10b is in fact a computer device typically connected to a wide area network 20, such as the Internet network, for the exchange of data, even though communication may be at least intermittently interrupted once the neural network has been trained and embedded in the second server 10b. Each includes processor-type data processing means 11a, 11b (particularly the data processing means 11b of the second server has high computing power, since training is longer and more complex than the simple use of a trained neural network) and, where appropriate, data storage means 12a, 12b, such as a computer memory, e.g., a hard disk. In the case of trajectory generation by a neural network, a training database can be stored in the memory 12b of the second server 10b.
[0043] It will be understood that there can be multiple exoskeletons 1, each with its own embedded first server 10a (which can have limited power and space needs as long as it only generates trajectories for the exoskeleton 1 to which it is dedicated), or there can be multiple exoskeletons 1, each connected to a more powerful first server 10a and possibly combined with a second server 10b (and with the ability to generate aerial trajectories for all exoskeletons 1).
[0044] (Trajectory) As explained, the "trajectory" of the exoskeleton means the evolution of each degree of freedom (especially the actuated degrees of freedom, although the non-actuated degrees of freedom can intervene in the algorithms for controlling the other degrees of freedom), conventionally expressed as a function of time or phase variables. In the remainder of this description, the "position" of the exoskeleton 1 means the joint positions of the actuated degrees of freedom, which advantageously means the position defined by a vector of dimension 12, even though it is possible to take six numbers per leg, i.e. the Cartesian position of the singularity of the exoskeleton, for example its center of mass (CoM - we then have a vector of dimension 3 corresponding to three positions along the three axes).
[0045] Furthermore, it is known how to define a "complex" movement as a sequence of trajectories, called "elementary" trajectories, interspersed with transitions where appropriate. By elementary trajectories, we mean, in most cases, trajectories corresponding to a step, i.e., trajectories that apply for the duration of a step, starting from an initial state of the exoskeleton 1 at the start of the step (at foot contact) and arriving at the start of the next step. Note, for example, that in walking, there are alternating left and right steps; it technically takes two steps to return to the exact same state (same foot forward). A periodic trajectory refers to a stable sequence of elementary trajectories that allows walking, but as explained, the method applies to any movement.
[0046] This includes any level walking, but also includes ramps, going up or down stairs, side steps, step turns, etc.
[0047] The base trajectories are associated with a given gait of the exoskeleton 1 (defined by an n-tuple of gait parameters) and allow maintaining this gait in a stable and feasible way (i.e., as can be seen, satisfying all the constraints of the optimization problem and minimizing the cost function as much as possible). As explained, said gait parameters correspond to the "features" of the walking method, such as step length, step frequency, chest inclination, but also step height when ascending or descending stairs, instantaneous rotation angle for bending movements, and also to the morphological characteristics of the operator (a subgroup of gait parameters called patient parameters), such as the operator's height, weight, thigh or shin length, position of the center of mass (value of anterior shift), lateral displacement of the chest in the context of rehabilitation activities.
[0048] The "constraints" of gait described above can vary and depend on the desired type of gait, e.g., a "flat-footed" gait or a gait with a "roll", etc. The method is not limited to any desired type of gait.
[0049] A possible transition corresponds to a gait change, i.e., a change in the value of said gait parameters (e.g., an increase in step length), i.e., knowing an initial set of gait parameters and a final set of gait parameters, and thus an initial periodic trajectory (associated with the initial set of gait parameters) and a final periodic trajectory (associated with the final set of gait parameters), said transition being a trajectory fragment that allows switching from the initial periodic trajectory to the final trajectory. It should be noted that there must be an "initial" or "final" transition corresponding to the start and end of the movement.
[0050] (admittance control) To be able to walk safely, including on uneven ground, the exoskeleton 1 requires a "stabilizer," i.e., a dynamic controller that enforces trajectory while ensuring balance of the exoskeleton 1.
[0051] A method called "admittance control" has proven effective in stabilizing the walking of humanoid robots, as exemplified, for example, in the paper "Stair Climbing Stabilization of the HRP-4 Humanoid Robot using Whole-body Admittance Control" by Stephane Caron, Abderrahmane Kheddar, and Oliver Tempier.
[0052] Admittance control consists of estimating the state of the robot at any time, measuring its deviation from a reference trajectory, calculating a stabilizing wrench, and applying this effort to the system through control of the joint positions in the form of a stabilization loop.
[0053] Specifically, the deviation from the reference trajectory is evaluated based on a quantity called a divergent component of motion (DCM) or a capture point, which is defined by the following formula:
number
number
[0054] This DCM is the quadratic equation of the LIPM (only the two horizontal components are considered):
number
number
number
[0055] The first equation shows that the DCM naturally diverges from the ZMP (hence the name "divergence"), while the second equation shows that the CoM converges towards the DCM.
[0056] Thus, feedback control on the DCM (DCM control feedback) allows to calculate the stabilization wrench to be applied, and various admittance strategies, called "whole-body admittance" strategies (Stephane Caron, Abderrahmane Kheddar, and Oliver Tempier's paper Stair Climbing Stabilization of the HRP-4 Humanoid Robot using Whole-body Admittance Control gives examples of ankle admittance, CoM admittance, or force difference between the feet), allow to determine the kinematic setpoints to be achieved so that the desired effort is applied (generally using inverse kinematics).
[0057] While this potential for improving gait stability is likely to make exoskeleton walking more stable on uniform ground and enable exoskeletons to walk and move in uneven environments, the application of admittance control to exoskeletons has been disappointing.
[0058] Indeed, in its initial form, as described in the paper "Stair Climbing Stabilization of the HRP-4 Humanoid Robot using Whole-body Admittance Control" by Stephane Caron, Abderrahmane Kheddar, and Oliver Tempier, the admittance control method is not very robust. More specifically, the exoskeleton takes smaller steps than expected, drags its legs, and even vibrates, making walking uncomfortable and risk-free for the operator.
[0059] This is due to the fact that Exoskeleton 1 cannot be considered a "rigid robot" in the same way as HRP-4 in the aforementioned publication, in other words, as an actuated joint system whose dynamics can be adequately described by the conventional equations of a rigid robot.
[0060] This is called the exoskeleton "reality gap," and it boils down to two main points. - The operator of the exoskeleton 1 himself is a potentially significant source of disturbance, - Parts of the exoskeleton (especially the ankles and / or hip joints) are deformable, resulting in the fact that the foot in the air (called the pivot foot) is generally lower than expected and therefore contacts the ground abnormally early.
[0061] The present method very elegantly solves these problems by proposing a modified admittance control that takes into account the flexibility model of the exoskeleton 1 compared to a rigid robot, and has been successfully completed in the following tests. - Autonomous walking of the exoskeleton 1, supported by a passive dummy and resisting strong disturbances (such as lateral thrusts), - Autonomous walking of the exoskeleton 1 with a human operator on uneven ground comprising a cobblestone road with a curved profile, - Autonomous walking of the exoskeleton 1 with a passive dummy on a treadmill over a long period of time (1,000 steps).
[0062] (method) 3, said method for moving the exoskeleton 1 implemented by the embedded data processing means 11c starts with step (a) of obtaining theoretical elementary trajectories of the exoskeleton, corresponding for example to steps 11b, 11c, 11d, 11e, 11f, 11g, 11h, 11m, 11m, 11mn ...
[0063] It should be noted that this acquisition may involve the generation of the trajectory directly by the exoskeleton 1 (for example, in the case where the exoskeleton 1 embeds the server 10a), as explained, or simply receiving the trajectory via the network 20. Thus, the means 11c can provide the gait parameters to the external server 10a and retrieve the trajectory in return.
[0064] The operator may be equipped with a vest of sensors 15, as explained, that allows the shape of his chest (chest orientation) to be detected. The direction in which the operator orients his chest is the direction in which he wants to walk, and the speed is given by the strength with which he leans his chest forward (how much he leans). A start request may correspond to the operator pressing a button (or a particular posture), which triggers the data processing means and thus indicates the operator's intention to command the data processing means to determine said parameters. Some parameters, such as the instantaneous turning angle or step height when ascending or descending stairs, can be predetermined or obtained by other sensors 13, 14.
[0065] For the generation of the trajectory, strictly speaking, there is no restriction to any known technology. As explained, optimization tools are particularly known that can specifically generate a given trajectory according to constraints and selected walking parameters. For example, in the case of HZD trajectories, the trajectory generation problem is preferably formulated as an optimal control problem that can be solved by an algorithm called the Direct Collocation Algorithm. See Feedback Control of an Exoskeleton for Paraplegics for Towards Robustly Stable Hands-Free Dynamic Walking by Omar Harib et al.
[0066] As explained, a neural network trained on a database of learning trajectories can alternatively be used.
[0067] In all cases, it is assumed that an initial position of the exoskeleton 1 is defined, corresponding to its position at the start of the step.
[0068] The generated elementary trajectories are called "theoretical" trajectories, as opposed to "real" trajectories. Indeed, in a world without any external disturbances, it is simply possible to apply the theoretical trajectory, and the exoskeleton will automatically follow this trajectory.
[0069] Here, it is assumed that due to the uneven nature of the ground as well as the operator's behavior or external actions, disturbances may occur, so that the trajectory actually taken by the exoskeleton 1 (actual trajectory) will never exactly match the planned theoretical trajectory, even if, as can be seen, the method keeps them close.
[0070] Next, in main step (b), the method comprises executing a control loop that defines the evolution of the actual position of the exoskeleton 1 so as to implement said actual base trajectory in the vicinity of said theoretical base trajectory, i.e. so that the exoskeleton 1 walks.
[0071] As explained, it is an admittance control that takes the form of an iterative loop, and one particularly preferred embodiment is therefore depicted in FIG.
[0072] The implementation of the admittance control loop is configured in a known manner at each iteration of the loop. - an estimation (by a state estimator) of the current state of the exoskeleton 1 as a function of said actual position, - determining the twister effort to be applied to the exoskeleton 1 (typically by a controller of the DCM) during the next iteration of the loop so as to compensate for the deviation between said estimated current state of the exoskeleton 1 and the state predicted from the exoskeleton 1 according to said theoretical base trajectory; and, advantageously, the application (by an admittance controller) of said wrench to the exoskeleton 1 during the next iteration of the loop, determined via control of the joint positions. However, the determination of the wrench and / or its application to the exoskeleton 1 takes into account the flexible model of the exoskeleton 1 compared to a rigid robot.
[0073] By (current or expected) state of the exoskeleton 1 we mean at least one parameter selected from the position, velocity and acceleration of actuated degrees, the position and velocity of the center of mass (CoM) of the divergent component of motion (DCM), the position of the center of pressure (CoP), the position of the zero moment point (ZMP), in particular the three parameters that are the position of the center of mass of the divergent component of motion and the position of the center of pressure (CoP). Note that in practice, the CoP and the ZMP are assumed to coincide (which is the case when the ground is substantially horizontal, even if the ground is uneven). Hence, in the remainder of this document, the notation z will be used to refer to either one, and we will refer to the CoP for convenience. Insofar as we have an estimated current state and an expected state, we have a current and expected version for each parameter.
[0074] The current state is the "measurable" actual state of the exoskeleton 1 corresponding to the actual trajectory performed. In this case, each of its parameters is either directly measured (in particular the degree of actuation and the position of the CoP) or estimated by the "State Estimator" block of Figure 4 from directly measured parameters (in particular the CoM and DCM). The estimated positions of the CoM, of the DCM and of the CoP are respectively C m , ζ m , and Z m As noted and explained, the DCM is actually calculated directly from the CoM.
[0075] The expected states are the "desired" theoretical states that the exoskeleton 1 should assume if the theoretical trajectory is applied as is, as determined by the "pattern generator" block in Figure 4. The expected positions of the CoM, DCM, and CoP are c d , ζ d , and z d It is shown as follows.
[0076] In a particularly preferred method, the current DCMζ m is not estimated only by the current CoMcm, but by its target value, i.e., the value of the previous iteration.
number
number
number
[0077] The determination of the wrench to be applied to the exoskeleton 1 during the next iteration of the loop, in order to compensate for the deviation between said current state and the expected state of the exoskeleton 1, then advantageously includes a feedback control (advantageously of PID type) to at least one of said parameters defining the state of the exoskeleton, in particular the DCM, i.e. constituting the controller of the DCM (DCM control feedback block in Figure 4).
[0078] Preferably, the wrench applied to the exoskeleton 1 is defined as the location of the Center of Pressure (CoP) and / or Zero Moment Point (ZMP). Again, in practice, the COP and ZMP are assumed to coincide. It is understood that there are potentially three occurrences of CoP: as a parameter of the current state to be estimated (called current CoP), as a parameter of the expected state (called expected CoP), and as a parameter defining the wrench to be applied (called reference CoP).
[0079] In one particularly preferred method, the wrench applied to the exoskeleton 1 is determined using the formula:
number
[0080] This formula has proven very effective for exoskeletons that accommodate human operators.
[0081] In fact, the DCM controller (DCM feedback controller block) provides the last two terms of "deviation compensation" to the admittance controller (whole body admittance block) to achieve the z r The standard CoP shown in is constructed.
[0082] Each iteration of the loop advantageously involves the application of said wrench to the exoskeleton 1 (at the start of the loop) by the admittance controller itself (whole body admittance block), which generates in particular a kinematic setpoint, called reference kinematic setpoint (as opposed to an expected kinematic setpoint generated from a theoretical trajectory), which can be converted, where appropriate, into an actuated degree of position / velocity to be applied (called target position / velocity), for example by using inverse kinematics and integration (if inverse kinematics gives acceleration), as explained. It should be noted that possible inverse kinematics can involve different hierarchical tasks (e.g., feet, CoM, pelvis, then posture), according to the admittance method used.
[0083] The admittance controller actually implements ad-hoc methods such as ankle admittance (changing ankle position to apply force), CoM admittance (requiring center of mass movement), force difference between feet (when double supporting, foot lift or lower, by using force sensors under the feet), or any other position setpoint changing strategy to control force.
[0084] For example, the CoM strategy consists of calculating the open-loop inverse kinematics (feedforward) by using the following equation:
number
[0085] In general, those skilled in the art may refer to the article Stair Climbing Stabilization of the HRP-4 Humanoid Robot using Whole-body Admittance Control by Stephane Caron, Abderrahmane Kheddar and Oliver Tempier to implement this control loop.
[0086] (Flexibility compensation) As explained, the determination and / or application of the wrench to the exoskeleton 1 takes into account a flexible model of the exoskeleton 1 relative to a rigid robot, in other words, here a conventional bipedal robot that does not accommodate a human operator and can therefore be considered an isolated system. The opposition between rigid and flexible (or "soft") robotics is well known to those skilled in the art, and these terms have clear meanings.
[0087] The idea is to consider the exoskeleton 1 as "flexible", model it with a model, and apply this model during the determination of the wrench to be applied to the exoskeleton or during the application of this wrench to the exoskeleton. This is an open-loop correction (feed-forward), where the values of the parameters (joint setpoints) are just modified, in other words just corrected (their initial values taken into account) or just directly replaced.
[0088] It should be noted that retrospective control of foot position was attempted to take flexibility into account, but this proved counterproductive and, despite the observer's precision, produced more instability than anything else. The fact that a feedforward model is applied directly before or after admittance control solves all difficulties.
[0089] Several possible strategies for applying the flexibility model have now been discussed, which can be implemented separately or in combination. More specifically, the flexibility model can have several effects on the control loop.
[0090] 1 - As represented in Figure 4, at least one actuated degree of target position / velocity offset (i.e., the offset generated by inverse kinematics), called the flexible degree (because it follows from flexibility), is applied, particularly to the ankle and / or hip joint.
[0091] As can be seen, the "Flexibility Compensator" module generates offsets and adds them to the target values to correct them before they are sent to the actuators.
[0092] Said model making it possible to determine the offset is advantageously determined experimentally in advance from a real stable gait and / or a simulation (for example thanks to the Jiminy simulator), for example first there is a simulation of a stable gait and then the model is refined for a real step whose stability has been proven.
[0093] In particular, the flexibility model may model the actuation degree of a spring-like flexibility, for example, whose stiffness has been experimentally determined.
[0094] The advantage of this method is that it is transparent to the controller itself (as it is applied at the output of the admittance control).
[0095] It should be noted that this method may (or may not) also include removing an offset from the measured position to cancel out the flexibility compensation, as depicted in FIG.
[0096] 2-CoP Fixes In this strategy, the flexible model calculates the expected position z of the CoP, which is used by both the DCM controller and the admittance controller. d is applied to correct
[0097] In fact, we found that the CoP does not need to be perfectly dynamically consistent with other parameters, including the CoM.
[0098] It is possible to proceed in many ways, by filtering the expected CoP according to what was observed in the actual steps, or even by directly taking the average expected COP (in position, velocity or acceleration) observed in the actual steps. See Method 3 immediately below. The flexibility model is then a "flexible" behavioral model of the CoP.
[0099] Specifically, flexibility compensation can be performed during contact foot changes (discussed below), especially if the contact foot changes faster than expected due to unexpected contact with the ground (a typical consequence of flexibility). For greater stability and speed of calculation, the modified CoP can be calculated independently of joint position.
[0100] For example, the flexibility model can take the form of a first-order filter that can be applied to the expected CoP. As the touch paw changes, the filter allows the expected CoP to vary naturally between the final value of the first step and the initial value of the second step, instead of changing abruptly.
[0101] Similarly, MPC (Model Preview Control) strategies can be utilized for the same purpose, which has the advantage of allowing constraints to be explicitly included in the modified CoP.
[0102] Alternatively, any other live replanning strategy that allows for a smooth transition from one foot to the other is also feasible.
[0103] 3-Replace with the average value In this approach, instead of physically modeling flexibilities, their effect during walking is modeled on all or some of the parameters of the state of the exoskeleton 1, including the CoM, or DCM, or potentially even the CoP.
[0104] Thus, the flexibility model defines at least one parameter of the exoskeleton's state to be replaced by the average value observed in real stable gait, this replacement preferably being done directly at the output of the admittance controller prior to inverse kinematics.
[0105] The idea is to directly use values from steps whose stability has already been observed, despite their flexibility. Indeed, as a stabilization algorithm, the admittance controller loop can generate "stable areas" around gaits that are already stable (proven), which allows for better overall stability than if it had to also perform the task of stabilizing the unstable basic gait.
[0106] (Chain of steps) Steps (a) and (b) can be repeated to cause the exoskeleton 1 to traverse a series of actual elementary trajectories, each corresponding to a step.
[0107] It must be noted that the actual trajectory differs from the theoretical trajectory, so the subsequent trajectory must be adapted to the step that just occurred, especially due to flexibility which generally causes foot impact earlier than expected.
[0108] Thus, the theoretical base trajectory obtained in step (a) starts from an initial position, and step (c) advantageously comprises determining the final position of the exoskeleton 1 at the end of said actual base trajectory, said final position being used as the initial position in the next occurrence of step (a).
[0109] As explained, a complete periodic trajectory (consisting of a sequence of elementary trajectories) is approximately generated, so that a new occurrence of step (a) consists in modifying the periodic trajectory (for the next elementary trajectory).
[0110] In other words, there is therefore an interpolation between the position of the Exoskeleton 1 at impact and the next step to avoid a jump in the setpoint. The interpolation is performed at impact to correct the start of the trajectory of the next step.
[0111] (Equipment and Systems) According to a second aspect, the invention relates to an exoskeleton 1 for implementing the method according to the first aspect, and according to a third aspect, a system comprises an exoskeleton and a possible server 10a, possibly combined.
[0112] The exoskeleton 1 comprises data processing means 11c configured for the implementation of the method according to the second aspect, as well as, if necessary, data storage means 12 (in particular those of the first server 10a), inertial measurement means 14 (inertial unit), means for detecting foot impacts on the ground 13 and, where appropriate, for estimating contact forces (contact sensors or possibly pressure sensors), and / or a vest of sensors 15.
[0113] It has a number of degrees of freedom, including at least one degree of freedom actuated by an actuator controlled by data processing means 11c for implementation in said controller.
[0114] The first server 10a comprises data processing means 11a for generating said theoretical basic trajectory and providing it to the exoskeleton in step (a), in particular after receiving the initial position of the exoskeleton 1 at the start of the step and any walking parameters.
[0115] (Computer Program Products) According to a third and a fourth aspect, the present invention relates to a computer program product, comprising code instructions for the execution (in processing means 11c) of a method for moving an exoskeleton 1 according to the first aspect, as well as storage means readable by a computing device on which this computer program product is present.
Claims
1. 1. A method of operating a bipedal exoskeleton that accepts a human operator, comprising: The method comprises the following steps by the data processing means of said bipedal exoskeleton: (a) obtaining a theoretical base trajectory of the bipedal exoskeleton; (b) executing a control loop that defines the evolution of the actual position of the bipedal exoskeleton so as to implement an actual base trajectory similar to the theoretical base trajectory, During each iteration of the control loop, - an estimation of the current state of the bipedal exoskeleton as a function of the actual position; determining a wrench to be applied to the bipedal exoskeleton at the next iteration of the control loop to compensate for deviations between the estimated current state of the bipedal exoskeleton and an expected state of the bipedal exoskeleton according to the theoretical base trajectory, during the determination of the wrench and / or its application to the bipedal exoskeleton, a flexibility model of the bipedal exoskeleton is applied, which comprises compensating for the flexibility of the bipedal exoskeleton; executing a control loop; method.
2. 2. The method of claim 1, comprising repeating steps (a) and (b) to cause the bipedal exoskeleton to walk through a series of actual elementary trajectories, each corresponding to a step.
3. 3. The method of claim 2, wherein the theoretical base trajectory obtained in step (a) starts from an initial position, and step (b) includes determining a final position of the bipedal exoskeleton at the end of the actual base trajectory, the final position being used as the initial position for the next occurrence of step (a).
4. 4. The method of claim 1, wherein step (b) comprises, at the start of each iteration of the control loop, applying to the bipedal exoskeleton the wrench determined in the previous iteration by an admittance controller.
5. 5. The method of claim 1, wherein the determination of a wrench to be applied to the bipedal exoskeleton to compensate for the deviation between the estimated current state of the bipedal exoskeleton and an expected state of the bipedal exoskeleton according to the theoretical base trajectory comprises implementing a feedback control on at least one parameter defining the state of the bipedal exoskeleton.
6. 6. The method according to any one of claims 1 to 5, wherein the position of the bipedal exoskeleton is defined by vectors of joint positions of actuated degrees of freedom of the bipedal exoskeleton, and the state of the bipedal exoskeleton is defined by at least one parameter selected from among the position, velocity and acceleration of the actuated degrees of freedom, the position and velocity of the center of mass (CoM) of the divergent components of motion (DCM), the position of the center of pressure (CoP), and the position of a zero moment point (ZMP), and in particular by the position of the center of mass (CoM) of the divergent components of motion (DCM) and the position of the center of pressure (CoP).
7. The method of claim 6 when dependent on claim 5, wherein the feedback control is implemented on the position of the divergent component of motion (DCM).
8. 8. The method of claim 6 or 7, wherein the wrench to be applied to the bipedal exoskeleton is defined by the location of the center of pressure (CoP).
9. The wrench to be applied to the bipedal exoskeleton is determined by adding to the expected position of the Center of Pressure (CoP) according to the theoretical fundamental trajectory at least one term for the error between the estimated current position of the Center of Pressure (CoP) and the expected current position and one term for the error between the estimated current position of the Center of Pressure (CoP) and the expected current position of the Divergence Component of Motion (DCM), in particular according to the following formula: [Equation 1] Here, z d is the expected position of the center of pressure (CoP) according to the theoretical fundamental trajectory, and e ξ and e z are the errors between the estimated current position and the expected current position of the center of pressure (CoP) and the divergent component of motion (DCM), respectively; K p , K. i and K. d is the gain, The method of claim 7.
10. The method of any one of claims 6 to 9, wherein the flexibility model defines a correction of the expected position of the center of pressure (CoP) that is used to determine the wrench.
11. 11. The method of any one of claims 1 to 10, wherein the bipedal exoskeleton has at least one flexible actuated degree of freedom, and the flexibility model defines an offset to be applied to a position and / or a target velocity of the flexible actuated degree of freedom determined following the application of the wrench.
12. The method according to any one of claims 1 to 11, wherein the flexible model defines at least one parameter of the state of the bipedal exoskeleton to be replaced with an average value observed in real stable gait.
13. The method according to any one of claims 1 to 12, wherein the flexibility model is predetermined experimentally from actual stable gait and / or simulations.
14. A bipedal exoskeleton comprising data processing means configured to implement the method of any one of claims 1 to 13 for moving said bipedal exoskeleton.
15. 15. A system comprising a server and the bipedal exoskeleton according to claim 14, wherein the server comprises data processing means configured to generate the theoretical base trajectory and to provide the theoretical base trajectory to the bipedal exoskeleton in step (a).
16. A computer program comprising code instructions for carrying out the method of any one of claims 1 to 13 for moving a bipedal exoskeleton when said computer program is run on a computer.
17. A storage means readable by a computing device, on which a computer program comprises code instructions for carrying out the method of any one of claims 1 to 13 for moving a bipedal exoskeleton.
Citation Information
Patent Citations
Method for operating an exoskeleton system, exoskeleton system and central server unit
DE102018211050A1
Power mount for lower limb disabled person
JP1985199450A
Flexible exoskeleton suit to assist human movement
JP2015529574A
A Powered Orthotic System for Coordinated Ground Rehabilitation
JP2016514029A
Energy recovering legged robotic system
JP2020124806A