The present invention relates to a control system for an exoskeleton configured to be coupled to a body of a subject. In particular, it relates to a system for improved control over postural tasks of a lower limb haptic exoskeleton for rehabilitation or walking purposes, with improved postural equilibrium.
Haptic exoskeletons devices have been applied for rehabilitation purposes, and in particular for use in lower limb rehabilitation, or for walking.
In a haptic exoskeleton, the control system of the exoskeleton is designed to react to biometric stimuli coming from a subject (e.g. a patient) making use of the haptic exoskeleton, thus allowing the subject to contribute to the control of the exoskeleton, and receive as a feedback from the exoskeleton a compliance feeling.
Prior art mainly identifies four classes of such existing apparatuses, besides exoskeletons offering pure strength augmentation that are not here considered.
A first apparatus class relates to passive systems, where a passive control operates without a direct interaction with the patient (i.e. the patient has no control over the exoskeleton) . Such systems are adapted to sustain the patient and to force him to perform pre-programmed rehabilitation exercises.
A second apparatus class relates to reciprocating exoskeletons, which offer a moderate postural support to the patient, by providing coordination to the motion, but not equilibrium. Therefore, the patient must walk with the help of physical supporting means, such as crutches.
A third apparatus class relates to exoskeletons that maintain postural equilibrium but move a fully paralyzed patient like an autonomous robot, for example by means of a joystick. The patient is thus again deprived of the faculty of controlling the exoskeleton.
A fourth apparatus class relates to active systems, whose hybrid control operates by making a passive control interact with an active control performed by the patient, such as by means of measurements of electromyography (EMG) signals, eye movements, etc. Such active systems offer coordination and strength augmentation to the efforts of the patient, but do not guarantee posture or equilibrium.
None of the above exoskeleton devices tackles the aspects of guaranteeing equilibrium while, at the same time, offering compliance to the patient.
The two characteristics of maintaining the posture and offering compliance are clearly competing during a cycle of rehabilitation, when the patient is impaired.
Moreover, the patient wearing the exoskeleton, in spite of the compliance offered by the device, has a feeling of the reality that is different with respect to what he would experience in freestanding condition, due to being partially sustained and lacking of gravity. The lack of gravity is detrimental for rehabilitation purposes since, although having successfully terminated the rehabilitation process with the exoskeleton, the patient might still be unable to perform as desired because of the sudden reintroduction of gravity effects.
Another challenge in designing the control system of a haptic exoskeleton relies in the real time processing of biometric data, e.g. measured EMG signals, and in their translation into controls of the electrical motors actuating the exoskeleton.
Many sources report about controlling joints of an exoskeleton by measuring the only EMG signals of pairs of agonistic-antagonistic muscles, which are directly related to each joint. As an example, "tibialis anterior" and "soleus" can be used to control the ankle, "rectus femoris" and "biceps femoris" to control the knee, and "longissimus dorsi", alternatively "gluteal muscles", and "abdominal oblique", alternatively, "bicept femoris" to control the hip.
Nevertheless, by exploiting such solution the patient is found to be unable to control more than one joint at the time, and hence to perform complex postural tasks. In fact, trials performed controlling more joints with such technique result in an uncoordinated motion.
The reasons for that are the artifacts introduced by the exoskeleton, the environment where the patient is constrained to move, which is devoid of gravity, and the lack of consideration of muscle synergies in the control of the different joints.
Muscle synergy theory is a widely studied subject in motor control research. Although the understanding of signals that the central nervous system produces and sends to the muscles to effect movement is still incomplete, the muscle synergy theory suggests that the central nervous system produces a small number of signals that pass through a network that distributes combinations of these signals to the muscles. Muscle synergies are defined as a coherent activation, in space and time, of a group of muscles. Therefore, according to this theory, the nervous system activates the muscles by combining a number of bundles of activations (known as "muscle synergies" or simply "synergies"). In algebraic terms, the signals sent to such muscles define a set of vectors which are partially linearly dependent, and the synergies are defined as a set of signals linearly independent forming a vector basis for explaining all signals received by the muscles. It is argued that the biological objective is to reduce the number of variables that the nervous system has to control, thus also becoming an attractive solution for controlling an exoskeleton.
Two previous patents by the same Applicant, EP 2 238 894 B1
and EP 2 497 610 B1
, and a scientific article published in Robotics 2018, authored by G. Menga et al., titled "Lower limb exoskeleton for rehabilitation with improved postural equilibrium
", disclosed a haptic exoskeleton for rehabilitation purposes, and in particular for use in lower limb rehabilitation or for walking.
The exoskeleton disclosed in the above-cited literature is reported in Figure 1, shown as exoskeleton 1, worn by a patient 2, e.g. for rehabilitation purposes. The exoskeleton 1 integrates an interaction with the patient by measuring and processing biometric data, such as electromyography (EMG) signals, thus making the exoskeleton compliant to the intents of the patient through admittance control (velocity/position) of joints 7, 8, 9 (in the "joint space") of the exoskeleton 1. Superimposed to this first control, the exoskeleton 1 maintains equilibrium or executes postural tasks (such as sit-to-stand, step, walk, etc.), with a postural position control in the three-dimensional Euclidean (Cartesian) space (also named "postural space").
The exoskeleton 1 is adapted to be worn by a patient 2 undergoing a rehabilitation treatment and comprises a frame structure 3 (shown schematically) to be coupled to the trunk and lower limbs of the patient 2.
The frame structure 3 includes: a back support element 6a coupled to the trunk of the patient 2, linked to an upper arm 4, coupled to the thigh of the patient 2 and extending substantially parallel to the femur; a lower arm 5 coupled to the leg of the patient 2 and extending substantially parallel to the tibia. The lower arm 5 is coupled to a foot rest 6b, supporting the foot and sole of the patient 2, via an ankle joint 7 and to the upper arm 4 via a knee joint 8; the upper arm 4 ends at a hip joint 9, connected to the back support of the trunk. The ankle, knee and hip joints 7, 8, 9 allow the relative movement between the foot rest 6b, lower arm 5, upper arm 4 and back support; in particular the ankle and hip joints 7, 9 have two degrees of freedom, for rotations in the sagittal plane (the XZ plane defined by the X axis and the Z axis of Figure 1) and in a frontal plane (an YZ plane defined by the Y axis and the Z axis of Figure 1), while the knee joint 8 has a single degree of freedom, for rotation in the sagittal plane. Actuators, e.g. electric motors 10, are coupled to each one of the ankle, knee and hip joints 7, 8, 9, and are operable to control their movements in the sagittal and frontal planes.
A control unit 12 is coupled to the exoskeleton 1 and implements a control algorithm for driving the electric motors 10 at the various joints 7, 8, 9, thus controlling the exoskeleton movement.
The control unit 12 receives at input: (i) biometric signals SEMG (more specifically surface EMG signals, i.e. detected on the skin surface), indicative of the patient intention and strength of movement, from bioelectric sensors 14 coupled to the patient lower limbs and trunk and placed on the muscles involved in lower limb movement (in Figure 1, for reasons of simplicity of depiction only a sensor is schematically shown, placed on the thigh); (ii) position and velocity signals from position/velocity sensors 16, for detection of angles and angular velocities (i.e. of joint angles and joint angular velocities) of the ankle, knee and hip joints 7, 8, 9; collectively-called postural signals comprising (iii) pressures exerted by the feet of the patient, acquired through reaction force sensors 17 (e.g., pressure sensors), positioned on the exoskeleton foot rests; (iv) movement signals, acquired through inertial sensors 18 (e.g., accelerometers and gyroscopes), positioned on the trunk of the patient 2, to measure the movements (i.e. the acceleration and velocity of rotation of the trunk of the patient 2) and, during single stance when one foot is lifted, position signals from sensors measuring the coordinates of the free foot derived from the kinematics that links the foot rest 6b to the ground and/or proximity sensors when the exoskeleton is set for walk.
Control unit 12 processes the input signals and, based on the implemented control algorithm, outputs suitable driving commands for the electric motors 10, in particular indicative of the velocity that is to be impressed to the ankle, knee and hip joints 7, 8, 9.
The exoskeleton 1 can have two configurations:
- 1. a substantially stationary configuration with limited freedom, in which the exoskeleton 1 is not intended for walking exercises, as the feet are connected to the ground through a kinematical linkage so that they can be slightly lifted, but otherwise are not allowed to exit from the frontal plane or rotate to avoid the fall of the patient 2; or
- 2. a free-walking configuration, in which such kinematical linkage is removed and the exoskeleton 1 can be used for free-walking since equilibrium is guaranteed by the control loop.
Before describing the control structure presented in Fig. 2, some technical explanations and definitions are required.
In a kinematical chain, as the one of the exoskeleton, which is composed of limbs connected by revolving joints, motion of the joints causes motion of the coordinates of all points and of all angles (also indicated as "attitude") of the limbs composing the exoskeleton. Given the multiplicity of joints present in an exoskeleton, angles or angular velocities of the joints are conveniently represented as vectors θ,θ̇, each one of the respective components referring to one independent joint. During motion, such vectors belong to a vector space (customarily indicated as "joint space"), of dimension equal to the number of independent joints. Such dimension is also called Degrees of Freedom (DOF) of the kinematical structure.
Conversely, a motion of the joints results in a corresponding motion of all limbs of the exoskeleton. Hence, a position or velocity of the joint angles results in a position or velocity (motion) of the coordinates of all points and angles of the limbs of the exoskeleton, measured in the three dimensional Cartesian space. This is called a "posture" of the body, and the motion a "postural task" (or more simply a "task"). To univocally define a posture, and hence a postural task, a number equal to the DOF of appropriate coordinates of points and/or angles of the limbs is needed. This choice is not unique. Nevertheless, once one choice has been made, the coordinates, and angles become the components of vectors of position and velocity x and, respectively, ẋ, defined in a vector space of dimension equal to the DOF (indicated as "postural space"). Moreover, each component of the postural position (or postural task vectors) is called "elemental postural component" (or "elemental task component"). As an example, such elemental task component is relevant when a postural task is performed by moving only one elemental component, while leaving the other components unchanged.
A classical linear relationship ẋ = j(θ}· θ̇ exists between velocities linking the postural space to the joint space (i.e. allowing to move from joints to posture), where j=j(θ) (called Jacobian matrix), is a square matrix, nonlinear function of the angular positions of the joints. The Jacobian matrix J is invertible, apart from a few singular points, thus the inverse relationship θ̇ = j(θ) -1·ẋ is valid, linking, with an inverse relationship, the joint space to the postural space (i.e. allowing to move from the posture to the joints) .
Since postural equilibrium is one of the main objectives of the postural control described later, advantageously the postural components include the two coordinates of the projection on the XY plane (with reference to the three-dimensional Cartesian axis reference shown in Fig. 1) of a Center of Mass of the exoskeleton(1)-patient(2) system. This projection point is called Center of Gravity, i.e. COG. The COG coordinates, as components of the posture, are functions of the joint angles.
However, another point on the XY plane is of interest for equilibrium. Such a point is related to the COG, but not coincident with it: the Center of Pressure. The Center of Pressure (i.e. COP) represents a point on the XY plane of application of the equivalent force, sum of vertical reaction forces of the ground on the foot/feet soles. The postural equilibrium is guaranteed when the Centre of Pressure of reaction ground forces (COP), also called Zero Moment Point (ZMP), is positioned under the polygon formed by the contour of the foot/feet soles. This point, is not only a function of COG coordinates but also of their accelerations, and it coincides with the COG in stationary condition, while it moves away during a postural task.
Hence, to guarantee a postural equilibrium, the joint angles control directly the COG, having as objective the ZMP position, either in the still standing, in double stance, or during the gait in single stance, in anticipating the position the swing foot will reach at the touch down.
Figure 2 schematically shows a control loop 50 for the exoskeleton 1, according to the above-cited literature. The control loop 50 includes a velocity feedback loop 11a operating in the joint space and implementing a velocity control over the joints of the exoskeleton, and a position feedback loop 11b operating in the postural space and implementing a control over the postural tasks. The velocity feedback loop 11a includes an admittance-control block 70, implementing a mechanical admittance control over the joints of the exoskeleton 1.
Mechanical admittance is the dynamical relationship existing between the force impressed to a mechanical body, as an input, and its velocity, as an output. Mechanical impedance is, vice versa, the inverse relationship between velocity imposed to a body and the force needed to achieve such velocity.
The admittance-control block 70 is adapted to implement the transfer function of the reaction that will offer the joints of the exoskeleton to the efforts of the patients.
The EMG signal SEMG is a vector, whose components are taken from different muscles, selected to control in pairs each joint. The intensity of the components (i.e. their magnitude) is taken as an indication of the effort expressed by the patient to move a corresponding joint.
The admittance-control block 70 transfers, independently for each joint, the two components of the EMG signal SEMG taken from antagonistic muscles of the patient into velocity references of the respective joint control loops, indicated, for all joints, as the vector θ̇p . This direct relationship between components of the EMG signal SEMG related to a joint to its velocity is defined here as "single input-single output admittance" (or SISO admittance).
While the patient tries to move the joints of the exoskeleton, the postural loop signals are superimposed to the θ̇p
derived, through admittance control, from the EMG signal SEMG
. The postural loop signals allow maintaining postural equilibrium and/or forcing to execute postural tasks, through a preview block 52 (disclosed in EP 2 497 610 B1
), a K block 56 (a compensator to guarantee stability of the equilibrium loop, disclosed in EP 2 238 894 B1
), and an inverse Jacobian block 60.
The postural loop operates as follows.
The preview block 52 provides reference signals for all posture vector x
defined in the postural space (among them the COG and the auxiliary signal ZMP, function of the COG motion), as described in the mentioned patent of the same author ( EP 2 497 610 B1
In particular, the preview reference signals include preview positions xprev (including preview COG positions COGprev, and preview ZMP positions ZMPprev ) and preview velocities ẋprev (including preview COG velocities CȮGprev ) .
A vector of position errors ex is obtained as output of a sum block 54, and is calculated as the difference between the preview positions xprev and a vector of estimated positions xest. The estimated positions xest include estimated COG positions COGest and estimated ZMP positions ZMPest, and are generated by a state estimator block 66, as better described in the following.
The K block 56 receives as input the position error ex,
and is used to calculate a processed error
as described in Youngjin Choi, Doik Kim, Yonghwan Oh, Bum-Jae You "Posture/Walking Control for Humanoid Robot Based on Kinematic Resolution of CoM Jacobian With Embedded Motion" IEEE TRANSACTIONS ON ROBOTICS, VOL. 23, NO. 6, DECEMBER 2007 1285
. The processed error ex ,
output of the K block 56, is added (sum block 58) to the feedforward preview velocities ẋprev,
output of the preview block 52, thus obtaining as output a vector of summed velocities ẋsum
. The vector of summed velocities ẋsum
represents the desired postural tasks velocities corrected by the tracking error of the feedback. In particular, the tracking error goes to zero when perfect tracking is achieved. Moreover, the vector of summed velocities ẋsum
is processed by means of the inverse of the Jacobian to transfer signals form the postural to the joint space.
A vector of measured joint angular velocities θ̇meas
is then subtracted (sum block 88) in a negative feedback reaction to the vector of reference joint angular velocities θ̇ref,
sum of the contributions of both the admittance control and the postural control, to obtain the vector of angular velocity errors ėθ
. The vector of angular velocity errors ėθ
is set as input to a compensation block 63, which is used to close the feedback loop of the velocity feedback loop 11a according to per se known techniques (e.g., as described in patent EP 2 497 610 B1
by the same applicant). The compensation block 63 generates as output a system signals vector us
, which is adapted to control the actuators (e.g. electric motors 10) coupled to the exoskeleton.
A system block 64 represents the dynamics of the joint exoskeleton 1 and patient 2. In particular, the system block 64 receives as input system signals vector us adapted to control the actuators of the exoskeleton, and outputs a vector of measured joint angular velocities θ̇ meas, a vector of measured joint angles θmeas and a vector of output measures ymeas. Said outputs are provided by the position/velocity sensors 16.
The vector of output measures ymeas includes measured COG positions COGmeas, provided by the position/velocity sensors 16, measured ZMP positions ZMPmeas, provided directly through the COP by the reaction force sensors 17, measures of position and angular velocity of the centre of mass of the trunk through inertial sensor, and in single stance position of the free foot from the ground from proximity sensors.
The vector of outputs measures y meas
is given as an input to the state estimator block 66. The state estimator block 66 implements a Kalman filter and outputs the vector of estimated positions xest
(including a vector of estimated COG positions COGest
and a vector of estimated ZMP positions ZMPest
in a per se known way already described in the previous patent EP 2 238 894 B1
The vector of estimated positions xest is set as an input to the sum block 54 and is subtracted to the preview positions xprev, within the negative feedback loop already described with reference to the sum block 54. Moreover, the vector of estimated positions xest is set as an input to an inhibitor block 68.
The inhibitor block 68 is adapted to bind the freedom of the patient 2, by setting the gain of the admittance control module to zero (inhibiting the action of the patient), and generating in the preview some automatic recovering action, when equilibrium limits are reached. In particular, the inhibitor block 68 receives as an input the vector of estimated ZMP positions ZMPest included in the vector of estimated positions xest, and compare it with a convex hull of the feet of the patient 2. The convex hull is defined as a polygonal area that includes the soles of the feet of the patient 2. Specifically, the convex hull is the smallest geometrical convex set including a set of points of the XY plane of Figure 1, such set of points being defined by the soles of the patient's feet on the ground. In fact, when the ZMP of the patient 2 is within the convex hull, the equilibrium is guaranteed.
There is however the need for an improvement of the exoskeleton haptic device known from the above-cited literature, improving the interaction between the two competing loops, and the processing of the biometric data to achieve admittance control from the patient.
DISCLOSURE OF INVENTION
The aim of the present invention is to provide a haptic exoskeleton configured to be coupled to a body of a patient, that meets the above requirements.
According to the present invention a haptic exoskeleton is provided, as defined in the annexed claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, preferred embodiments thereof are now described, purely by way of non-limiting example and with reference to the attached drawings, wherein:
BEST MODE FOR CARRYING OUT THE INVENTION
- Figure 1 is a schematic representation of an exoskeleton and of a related control system adapted to control the exoskeleton;
- Figure 2 shows, by means of a block diagram, a control system of a known type, that can be used to control the exoskeleton of Figure 1;
- Figure 3 shows, by means of a block diagram, a control system that can be used to control the exoskeleton of Figure 1, according to an aspect of the present solution;
- Figure 4 shows a block diagram of a module to process electromyography signals and achieve admittance control; and
- Figure 5 shows, by means of a block diagram, the control system of the exoskeleton of Figure 1, according to a further aspect of the present solution.
The present invention is disclosed with initial reference to Figure 3, being aimed at integrating the compliance with the patient 2 to the automatic control of posture, according to a first aspect, and, according to a further aspect, at using muscle synergies and artificial intelligence to use all biometrical data as a whole to control all joints together instead of pairs of data for each single joint in isolation.
Without limiting the generality of a complete freedom of motion, an example is offered here of an exoskeleton operating in a fixed position with motion on a sagittal plane (i.e. an XZ plane-sagittal plane-defined by the X axis and Z axis shown in Figure 1) with coordinate control of the pairs, right and left, of ankles, knees and hips, thus being able to perform tasks such as a sit-to-stand exercise (e.g. sit and raise from a chair) . Although this exoskeleton is provided with six joints, only three of them are independent between each other, hence the kinematics has only three DOF: the jointly pairs of ankles, of knees and of hips. From these three DOF, three exemplary elemental postural tasks (in the Cartesian posture space) can be characterized by the vector x: the COG moving, along the X axis from heel to toe of the feet soles; raising or lowering the trunk, along the Z axis; bending forward or backward the trunk in the sagittal plane.
In the present application, consistent posture can be guaranteed partially (some elemental postural components or tasks) automatically by the postural loop and partially (the complementary postural components or tasks) by the admittance control of the joints from the patient, or jointly by both. To offer the greatest flexibility, the components of the posture (controlled either by the automatic postural loop or by the patient) and the components of the joints (operated by the patient) can be selected properly configuring the control. The two actions can operate independently over complementary elemental postural tasks, or can partially/totally overlap. Moreover, when overlapping, the exoskeleton must offer complete postural support at least in the earlier rehabilitation phases (being stiff, firmly holding the patient), and be more and more compliant in the terminal phases, when the patient regains postural functionalities.
To formalize the above, instead of the classical WBC it is here introduced the definitions of tutoring-cooperation-coordination.
Tutoring means that all elemental postural tasks are under the control of the external automatic postural loop. This is equivalent to WBC.
Coordination means that independently some elemental postural tasks are under automatic control and the complementary tasks are controlled by the patient, that has to coordinate his motion with the previous ones.
Cooperation means that some or all postural tasks are jointly controlled by either loops, and the intensity of contribution of the patient can be modulated, i.e. the two control actions have to cooperate.
To achieve these results the control scheme of Figure 2 has been modified into the control scheme of Figure 3, in particular by introducing the blocks referenced with numerals 78 (M1), 84 (F) and 82 (M2):
- block 78 implements a matrix with expression: M1 = Ru + Nu (1 -β);
- block 82 implements a matrix with expression: M2 = β · Rp ;
- block 84 implements a matrix with expression: F = Ru · J.
By indicating with n the DOF, Ru,Nu,Rp,Np are square selection matrices of dimension n · n with only ones or zeros on the diagonal, spanning ranges and null-spaces, respectively, of the postures and of the joint spaces, J is the Jacobian matrix, and the modulation coefficient β is a coefficient such that the modulation coefficient β is equal to or comprised between zero and one (i.e., 0 ≤ β ≤ 1) . The "posture range matrix" Ru defines the subspace spanned by the automatic task loop; the "posture null-space matrix" Nu , defines a subspace not spanned by the automatic task loop (thus complementary to that spanned by the automatic task loop), but covered, vice versa, by the action of the patient. Moreover, the "joint range matrix" Rp defines the subspace of the joint components controlled by the patient, as a consequence, for a consistent posture Np defines the subspace of the joint components controlled automatically by the postural loop.
As an example, considering the postural space, by applying Ru to a vector x (i.e. yR = Ru · x) only a first number of the components of x will be preserved without any modification in yR, while the others will be set to zero. Vice versa, by applying Nu to the same vector (i.e., yN = Nu · x), only a second number of the elemental components (which are complementary to the first number of elemental components) will be preserved, while the others will be set to zero.
The union of the range and the null-space defines the whole vectorial space, and hence, as known from linear algebra, the expressions I - Ru = Nu and I - Rp = Np apply, where I is the identity matrix.
The objective of the scheme of Fig. 3 is to limit the action of the automatic postural task loop to the subspace of postural tasks spanned by Ru , and the direct action of the patient, through the admittance control operating on the joints belonging to the subspace spanned by Rp, to not interfere with the tasks in the range of Ru , but to generate task motion only in its null-space Nu .
According to the definition of tutoring-cooperation-coordination, the control of the exoskeleton has three working modes, i.e. exoskeleton in tutoring mode with β = 0, exoskeleton in cooperation mode with 0 < β < 1 and exoskeleton in coordination mode with β = 1. The value of β affects both the gain of the admittance control and the admittance felt by the patient.
With the exoskeleton in tutoring mode, the postural exercise is performed fully automatically by external task loop 48 (analogous to the position feedback loop 11b of Figure 2), thus the patient is completely tutored. For this mode β = 0, and the choice of Ru,Rp is irrelevant, as the admittance gain is zero, and the patient has no control over the joints.
With the exoskeleton in coordination mode, postural tasks in the range of Ru are automatically controlled by the external task loop 48, while the tasks in the range of Nu are controlled by the patient, by controlling the joints in the range of Rp through admittance control (by internal joint loop 49, which is substantially analogous to the velocity feedback loop 11a of Figure 2). In this mode, the condition β = 1 is valid. Obviously the choices of Rp,Nu cannot be arbitrary and the following condition must be satisfied: range(Nu ) ⊂ range(J · Rp ). As a limiting case Rp = Nu = I the patient has complete control of the exoskeleton without interference of the task loop.
In between, with 0 < β < 1, the control of the exoskeleton is in cooperation mode, where tasks in the range of Nu are jointly controlled by the external postural loop 48 and by the patient, that must cooperate. The value of the coefficient β modulates the intensity of the control contribution of the patient, and consequently, the stiffness that the patient feels as response from the exoskeleton. As a limiting case, with Rp = Nu = I, all tasks are jointly controlled by both actors.
The freedom offered by the structure of the control allows different configurations that can follow the rehabilitation phases. At the initial phase, tutoring must be performed. At the following stages, each elemental task and elemental joint can be trained firstly through coordination, and then through cooperation, by changing the range subspaces of postural and joint spaces, with a proper choice of the Ru and Rp matrices. During the course of the rehabilitation, it is possible to increase the dimension of the subspaces, always modifying Ru and Rp, to increase the number of joints and tasks under the patient control (e.g., from one at the beginning of the rehabilitation until the full joint space is covered). As a limiting case, the two equilibrium tasks (i.e. constraining the motion of COP on the X and Y axis) can be left under the control of the external postural loop, thus limiting the freedom of action of the patient on only two joints (to be conveniently chosen, as those of the ankle). Then, the patient can move almost freely, without losing the postural equilibrium.
The control system 75 is shown with reference to Fig. 3.
The logic blocks shown in Figure 3 and already discussed with reference to Figure 2 are not further described; same reference numerals are used.
Equivalently to what described in Fig. 2, the control system 75 includes the preview block 52 setting the reference of the postural tasks, the feedback difference 54 between the preview positions xprev and the estimated positions xest, the processing of the errors ex through the filter K block 56 with output ex , and the addition of the preview velocities ẋprev to the output of the filter K ex to obtain the vector of summed velocities ẋsum = ẋprev + ex .
Differently to what shown in Fig. 2, the signals ẋsum are multiplied by the logic function implemented by the block M1 78 to obtain ẋ M1, so as to limit the action of the automatic postural task loop to the subspace spanned by Ru , in coordination mode, or to modulate the control action in cooperation mode.
Processed EMG signals ϑ̇P provided at the output of admittance control module 91 originated from the EMG signal SEMG, as will be discussed in more details in the following, are multiplied by the logic function implemented by the block M2 82, so as to limit the direct action of the patient to the subspace spanned by Rp, and balance its contribution.
The output of the block M2 82 is indicated as ϑ̇ M2, which both enters the sum node 86 and is feedforwarded before the inverse Jacobian block, after multiplying ϑ M2 by the logic function implemented by the block F 84 to generate as output of the block F 84 the vector ẋF. ẋF is then subtracted to ẋ M1 (result of the postural loop) in the sum node 80, and the output of the sum node 80 is called ucomb . ucomb is then processed by the inverse Jacobian 60. The output of the inverse Jacobian is called uj , and is summed to ϑ̇ M2 in the sum node 86 to generate the reference ϑ̇ref of the joint velocity control loops.
The following logic blocks of the control system 75 are unchanged with respect to what shown in Fig. 2: the joint velocity loops, the compensator, and the system outputs that, through the Kalman filter, generate the postural position estimates to close the postural loop.
From the scheme of the control system 75, following rules of linear block algebra, the vector of joint angular velocities θ̇ref
, reference of the joint speed loop, assumes the following form:
By transferring this signal back to the postural space through the multiplication by the Jacobian, the equivalent postural task ẋeq
corresponding to θ̇ref
This expression shows that when β = 0 we have tutoring (i.e., no patient contribution). When β = 1 postural control loop and patient actions operate in the two distinct subspaces spanned by Ru and Nu, with coordination. When 0 < β < 1 the task in the range of Ru are controlled by the posture loop alone, but those in the range of Nu are jointly controlled (with cooperation) by the automatic posture loop and by the patient, with the respective contributions modulated by β.
As previously discussed, the inhibitor block 68 is adapted to bind the freedom of the patient 2 if equilibrium limits are reached, and to perform automatic recovery tasks according to per se known techniques when this is not already done by the control of the postural tasks (i.e. when the patient has full control of the exoskeleton). In particular, the inhibitor block 68 receives as an input the vector of estimated ZMP positions ZMPest included in the vector of estimates from the output measures ymeas, and compares it with the convex hull of the feet of the patient 2.
When the internal joint loop 49 forces a posture that causes the ZMP of the patient 2 to move toward the frontier of the convex hull, the inhibitor forces β to zero in the blocks M1, M2, F, thus setting the exoskeleton in tutoring mode. Then, the inhibitor forces the preview to perform some recovery tasks. The recovery tasks can be of two types, according to some decision criteria: either acting on the joints to move the ZMP in the centre of the feet sole support, or, if such a task is not enough to recover equilibrium, acting on the joints of the exoskeleton to move one foot into a new position to intercept the ZMP.
As it is apparent from the above disclosure, the internal joint loop 49, which comprises the compensation block 63, the system block 64 and in particular the M2 block 82, implements a velocity control (i.e. a control on angular velocities of joints), and is adapted to guarantee compliance to the intentions of the patient expressed through the acquired bioelectric (e.g., EMG) signals SEMG. The external task loop 48, which comprises the preview block 52, the K block 56the state estimator block 66 and in particular the M1 block 78, implements postural position control in the postural space, and is adapted to guarantee postural equilibrium.
Training and use of synergies and artificial neural
network for the admittance control
It is now disclosed the admittance control module 91, configured to generate the signals ϑ̇P from EMG signals SEMG, with reference to Figure 4.
An aspect of the present solution, instead of exploiting single input-single output admittance (SISO admittance) for each joint in isolation, introduces a generalized multi input-multi output admittance (MIMO admittance). Therefore, multiple EMG signals are processed together to control multiple joints, irrespective of the original separation of pairs of antagonist muscles for each joint.
Moreover, the attention of the generalized admittance control does not rely in the actuation of each isolate joint separately from the others, but is intended to achieve the entire postural task.
The number of biometric data measured is greater than what strictly needed for controlling each joint. Therefore, an aspect of the present solution exploits muscle synergies and artificial intelligence to generate from such multivariable signal patterns the control of the joints, to achieve the desired postural task.
Two elements are exploited in cascade: extraction of muscle synergies, and a neural network to generate signals ϑ̇P from these synergies.
Both the synergies extractor and the neural network are trained for each specific patient in a series of preliminary exercises, before the rehabilitation starts. Then the outputs of the training are used in real time for admittance control during the rehabilitation. Since the physiological behaviour of the patient changes during the course of the rehabilitation process, the training is repeated in time accordingly.
The training is performed by collecting and recording time samples of EMG signals SEMG, along with joint positions and velocities, from a series of elemental postural tasks. Since the patient needs support at the beginning of the rehabilitation, these exercises exploit the same functionalities of decomposition of the postural tasks offered by the exoskeleton, as described before.
The following procedure is implemented for training the exoskeleton.
A old fashion "SISO" admittance control is temporarily implemented on one joint, separately from the other joints of the exoskeleton. Hence the exercise is performed on one elemental postural task, while the others are maintained at constant value by the automatic postural loop. The patient is asked to repeat for that elemental postural task and on that joint the exercise for a number of times. When needed, the tutoring or cooperation mode is used to help the patient. During the exercises, irrespective of which joint is used for controlling the motion, time samples of all available EMG signals are collected.
This procedure is repeated for each elemental postural component and each joint. The sequence of data of the different exercises are recorded in a unique matrix A, where each row is a vector sample at a defined time instant. Matrix A has dimension N·M, where N is the number of time samples and M is the number of measures, i.e. the number of EMG sensors. Together with matrix A, a matrix of position samples P and a matrix of velocity samples V of the joints are also recorded. P and V have both dimension N·h, where h is the number of independent joints of the exoskeleton.
Firstly, the matrix A of the samples of EMG signals is used to extract the synergies according to known techniques, such as matrix factorization, Principal Component Analysis (PCA), Singular Value Decomposition (SVD), Independent Component Analysis (ICA), Non-Negative Matrix Factorization (NNMF), etc.
According to known factorization rules, the EMG matrix A is factorized in the form of A ≈ W · H, where W is the matrix of synergy samples with dimensions N·K with the number of synergies K < M and H a full rank coefficient matrix of dimensions K·M.
The synergy matrix W, with a reduced number of components K, stores the information of the whole (M) measured EMG signals SEMG.
According to an aspect of the present solution, the multiplication matrix H, calculated during the first training procedure, is used in real time to generate the synergies from the measured EMG signals SEMG.
In fact, since H is a full-rank matrix, a pseudo-inverse matrix H † exists, such that H † = H' · (H · H')-1.
This matrix constitutes the factorization block 92 of the admittance control module 91 in Figure 4.
During the actual use of the exoskeleton 1 in real-time, multiplying the vector EMGRT
of measures at a time instant tRT
of the EMG signals from the bioelectric sensors 14 by the pseudo-inverse matrix H †
, a vector SRT
of synergies is obtained through the expression:
As a second step, the present solution exploits artificial neural network techniques (neural network block 94 of the admittance control module 91 in Figure 4) to process the extracted muscle synergies and generate signals θ̇ρ .
According to an embodiment of the present solution, a Nonlinear Autoregressive Exogenous Model (NARX), receiving the synergies and the joint positions as inputs, is used here to generate the desired vector of processed EMG signals θp to control the exoskeleton 1, as shown in the block diagram of Figure 3.
The external "exogenous" inputs of the NARX (considered as time series) are here represented by the synergies and the joint positions.
In an embodiment of the present solution, to emphasize that the driving signals are the synergies, each synergy component enters the NARX as one input, while the joint positions (which play only an ancillary role) enter as input in a product form with the synergies following a Recursive Neural Network scheme. Precisely, each position component will generate two groups of inputs, since each position component at a given time sample i-2 is multiplied with all synergy components taken at a first time sample i-1 and at a second time sample i.
The neural network adopted is called NARX-RNN, since it receives inputs according to the RNN scheme.
NARX and RNN are well known topics in the Artificial intelligence literature, described, in particular, in a recent paper for estimating torques from EMG signals (Z. Li, M. Hayashibe, Q. Zhang, and D. Guiraud, "FES-Induced Muscular Torque Prediction with Evoked EMG Synthesized by NARX-Type Recurrent Neural Network", 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems October 7-12, 2012. Vilamoura, Algarve, Portugal
The NARX-RNN neural network block 94 in Figure 4 is trained during a second step of the training procedure from the same W, P and V matrices obtained during the postural exercises performed by the patient 2 as already described, by means of per se known deep-learning and neural networks techniques.
In particular, during training the NARX-RNN receives as inputs the synergy matrix W, the position matrix P in the product form with W, and as output the velocity matrix V. Training will be performed with a reinforcement learning procedure until the error between the matrix output of the network and the velocity matrix V is lower than a predefined error threshold.
During the actual use of the exoskeleton 1 in real time operation (i.e. at a given time instant tRT ), the input scheme is applied to the trained neural network and the corresponding vector of processed EMG signals θ̇pRT, output of the NARX-RNN neural network block 94, is thus provided to the control system 75 of Fig. 3 (as the real time processed EMG signals θ̇p ).
Consequently, a complete training procedure of both matrix factorization and NARX is advantageously carried out to customize the exoskeleton 1 to the specific patient 2 and his disability so that, after training, the resulting MIMO admittance control, operating in real-time on all available EMG signals, will be able to interpret correctly, controlling all joints, not only each elemental postural task, but also their combination.
The exoskeleton 1 can have applications both for rehabilitation and/or for walking.
In the first application (rehabilitation), the training is advantageously repeated several times during the rehabilitation phases, to track the progresses of the patient 2. A co-training of both the artificial neural network applied to the exoskeleton 1 and of the physical, natural, neural network of the patient 2 will therefore be achieved. Advantageously, the characteristics of the resulting artificial neural network can be used to monitor the progresses.
In the second application (walking), the training may be performed only once (the first time that the exoskeleton 1 is worn), in order to assure the best wearability of the exoskeleton 1 by the subject.
During the rehabilitation process, the co-training encompasses, at the beginning, a limited number of tasks with a limited number of joints controlled by the patient 2; then, as the rehabilitation process proceeds, the number of involved tasks and joints can be increased, based on the progresses of the patient 2. Complete control of the equilibrium of the exoskeleton 1 by the patient 2 is left to the last steps of the rehabilitation process. If the progress of the patient so requires, the equilibrium control (i.e. the control of the elemental postural tasks represented by the two coordinate of the COG), through a proper choice of the matrices Ru , Rp may always be left to the automatic task loop 48.
A great flexibility in the possible configurations of the exoskeleton 1 can be achieved. The exoskeleton 1 could be either used in a fixed position, mounted on a platform to perform rehabilitation exercises, free from the platform (to perform walking on a treadmill, with electronics on a fixed position), or for free walking with an on-board electronics.
A progression of possible postural exercises activating different numbers of DOF is listed in the following:
- on a fixed position, with the exoskeleton 1 mounted on a platform:
- simple postural exercises, maintaining the erect posture or tilting the trunk of a patient sitting on a chair involving 2 DOF (each hip joint with two DOF, operating synchronously);
- standing up, flexing the knees, bending the trunk, and maintaining the equilibrium on both feet along the sagittal plane, involving 3 DOF (each ankle and hip joint on the sagittal plane and each knee, operating synchronously);
- similar exercises to what already described, on the frontal plan with 2 DOF (the two pairs of ankle and hip joints 7, 9 on the frontal plane operating synchronously);
- sit-to-stand with 3 DOF;
- step exercise on a fixed position shifting alternatively the weight from one foot to the other, maintaining the equilibrium on one foot and raising the other (10 DOF in total, including 2 DOF for each ankle and hip, and 1 DOF for each knee);
- on a treadmill, including rectilinear walk (10 DOF as already described);
- free rectilinear walk (as performed on the treadmill); and
- turning while walking with 10 or 12 DOF.
Advantageously, different joints 7, 8, 9 of the patient 2 can be trained selectively according to the disability of the patient 2, with a progression during the rehabilitation process. Moreover, cases of hemiparesis can also be treated, by training only some joints and by exploiting the only able joints for the control implemented in the control system 75.
Virtual reality management
As a possible embodiment, a virtual reality condition can be provided by the exoskeleton 1 to the patient 2.
In particular, the patient 2 wearing the exoskeleton 1 in coordination condition has a different feeling of the reality with respect to what he would experience in freestanding condition, due to being partially sustained and the lacking of gravity.
As an embodiment, a virtual reality management is offered by the exoskeleton 1 to the patient. Virtual reality management means that the patient 2 can perceive gravity effects by means of mechanical stimuli, artificially introducing torques on the joints.
Figure 5 shows the block diagram of the control scheme according to this further embodiment. The logic blocks shown in Figure 5 and already discussed with reference to Figure 3 are not further described; same reference numerals are used.
The gravity perception is artificially implemented for the patient by introducing torques (T block 90 in the control system 75) on each joint through an admittance scheme in the velocity loop of the actuators controlling the joints 7, 8, 9 of the exoskeleton 1.
Such torques are, as a result of classical kinematics, in the form of T = -ε · JCOG T · M · g, where ε is a parameter representing the desired intensity of the gravity perception by the patient 2, JCOG T is the transpose of JCOG (a column vector of block matrices of the Jacobians of the centre of masses of the different limbs composing the kinematical chain), M = [... 0 0 - mi ...] T is a column vector of vertical forces from the masses of the different limbs, and g is the gravity. The T block 90 calculates these torques and, by means of per se known filtering and amplification techniques, outputs a vector of torque velocities θ̇T , which is set as an additional input to the sum block 88. Therefore, this vector of torque velocities θ̇T acts similarly to an additional signal to the vector of reference joint angular velocities θ̇ref , and causes the artificial perception of gravity for the patient 2 through a virtual admittance.
According to an aspect of the present solution, the intensity of the gravity re-introduction ε is moved from a minimum value equal to 0 to a maximum value equal to 1 (i.e. 0 < ε < 1) during the progress of rehabilitation, to bring the patient 2 from an initial condition of complete support from the exoskeleton 1 (no perceived gravity, ε = 0) to the natural gravity condition of a free-standing man (full gravity perception, ε = 1).
From what has been described and illustrated previously, the advantages of the present solution are evident.
The control system 75 allows to realize an exoskeleton 1 able to perform postural tasks and to offer compliance to an impaired patient 2, by means of integration of two competing control loops. Moreover, it allows to realize a processing interface using biometric human signals (EMG signals SEMG) and to guarantee compliance and wearability to the exoskeleton 1.
The exoskeleton 1 is designed to implement admittance control and to process in real time the measured EMG signals SEMG though the use of a neural network.
Admittance control is performed by the patient 2 on the exoskeleton 1 by means of the internal joint loop 49, and the progression of the patient's control over the exoskeleton 1 is achieved by:
- a selection of postural tasks and joints, under automatic postural loop, and respectively under patient control, through the proper choice of the matrices Ru,Rp;
- a modulation, in the control, of the patient contribution with respect to the automatic posture loop by the coefficient β.
This allows to differentiate several control modes, such as exoskeleton tutoring mode (no contribution from the patient 2), coordination mode (full contribution of the patient 2) or cooperation mode (partial contribution of the patient 2).
The use of neural networks to process the EMG signals SEMG according to muscle synergy theory allows to learn the patterns of the most significant postural tasks, and allows the patient 2 to perform multiple and complex tasks simultaneously, resulting in complex and coordinated motion.
The exoskeleton 1 can have applications both for rehabilitation and for walking, thanks to the co-training procedure that can either be repeated several times during the rehabilitation (to follow the progresses of the patient 2) or only once (the first time that the exoskeleton 1 is worn, to set the matrix factorization and NARX model in order to assure the best wearability of the exoskeleton 1).
A virtual reality condition can be provided by the exoskeleton 1 to the patient 2, to avoid the feel of lack of gravity.
The present solution allows to flexibly manage the interaction between the two loops.
Moreover, in the admittance control the central role is transferred from the joints to the postural tasks. It is therefore possible to avoid controlling each joint separately by exploiting couples of antagonistic muscles, processing, vice versa, all biometric signals together through muscle synergies, recognizing the postural tasks from which, consequently, the control of all joints synergistically derives.
Finally, it is clear that modifications and variations may be made to what has been described and illustrated herein, without thereby departing from the scope of the present invention, as defined in the annexed claims.
In particular, it is clear that the control system could in principle be used (with suitable modifications) for controlling the movement also of the upper limbs or other parts of the body.
Moreover, the intention of movement of the patient may also be determined from other biological measures; for example, the intention of movement may be determined directly or indirectly based on measures of joint angles and forces exchanged between the patient and the exoskeleton frame structure.