Movement reconstruction control system
11580877 · 2023-02-14
Assignee
Inventors
- Miroslav Caban (Eindhoven, NL)
- Niek Borgers (Eindhoven, NL)
- Urs Keller (Eindhoven, NL)
- Joachim von Zitzewitz (Eindhoven, NL)
- Jurriaan Bakker (Eindhoven, NL)
- Vincent DELATTRE (Eindhoven, NL)
- Emmanuel Pignat (Eindhoven, NL)
Cpc classification
G05B13/042
PHYSICS
International classification
Abstract
The present invention relates to a control system for a movement reconstruction and/or restoration system for a patient, comprising a movement model generation module to generate movement model data information, an analysis module receiving and processing data provided at least by the movement model generation module, wherein the control system is configured and arranged to prepare and provide on the basis of data received by the movement model generation module and the analysis module a movement model describing the movement of a patient and providing, on the basis of the movement model, stimulation data for movement reconstruction and/or restoration.
Claims
1. A control system for a movement reconstruction and/or restoration system for a patient, comprising: a movement model generation module to generate movement model data information; and an analysis module receiving and processing data provided at least by the movement model generation module; wherein the control system is configured and arranged to prepare and provide on the basis of data received by the movement model generation module and the analysis module a movement model describing a movement of a patient and providing, on the basis of the movement model, stimulation data for movement reconstruction and/or restoration; and wherein the movement model generation module comprises a filter to establish an estimate for a true value of the movement model from a set of observations on the movement model.
2. The control system according to claim 1, wherein the analysis module is a real-time analysis module.
3. The control system according to claim 2, wherein the control system further comprises an input module for receiving sensor input data, the sensor input data describing a phase of the movement.
4. The control system of claim 3, wherein the control system further comprises a preprocessing module for preprocessing sensor input data received by the input module.
5. The control system of claim 3, wherein the filter is at least one of a Kalman filter, a histogram filter, a particle filter, or a stochastic filter.
6. The control system of claim 3, wherein the movement model generation module is configured and arranged to prepare and provide the movement model, wherein the movement model generation module is a learning system.
7. The control system of claim 6, wherein the control system is configured and arranged to prepare and provide the movement model on the basis of a fusion of sensor input data and movement model.
8. The control system of claim 3, wherein the control system comprises at least one sensor data buffer.
9. The control system of claim 3, wherein the control system comprises at least one offline expert system.
10. The control system of claim 3, wherein the control system comprises at least one movement event library.
11. The control system of claim 3, wherein the control system comprises at least one model training module.
12. The control system of claim 3, wherein the control system is configured and arranged to extract at least one base frequency out of sensor input data, wherein the base frequency is indicative of a cadence of the movement.
13. The control system of claim 3, wherein the control system comprises a pre- warning module, which is configured and arranged to provide a pre-warning signal indicative of providing an upcoming stimulation event.
14. The control system of claim 3, wherein the filter is a non-linear digital filter that estimates a joint probability distribution over a set of unknown variables for each of a set of timeframes using a series of measurements observed over time.
15. The control system of claim 14, wherein the filter is a Kalman filter.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1) Further details and advantages of the present invention shall now be disclosed in connection with the drawings.
(2) It is shown in
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) Note that in the following we primarily refer to CNS/EES stimulation. The one skilled in the art may transfer the stimulation parameters to PNS/FES stimulation.
(12) The control system may provide stimulation data for movement reconstruction and/or restoration for stimulation of afferent nerve fibers using electrical current pulses. Given this starting point, the following stimulation parameters may be identified:
(13) Electrode configuration (which electrodes to use, polarity)
(14) Stimulation (Pulse) amplitude
(15) Stimulation (Pulse) width
(16) Stimulation (Pulse) frequency
(17)
(18) The effects of each of the stimulation parameters are described below.
(19) Electrode configuration: Stimulating a specific muscle group requires applying a specific electrical field at a specific location on the spinal cord. Therefore, the electrical stimulation may be delivered to the spinal cord by a lead with multiple electrodes. The location, shape, and direction of the electrical field that is produced may be changed by choosing a different electrode configuration (which electrodes are used, with which polarity and potential) that is used to deliver the current. Hence, the electrode configuration may determine to which spinal roots the stimulation is delivered, and therefore which subsequent muscles or muscle groups activity will be reinforced.
(20) Pulse amplitude and pulse width: In
(21) Although larger currents may be required at smaller pulse widths, the total required charge may decrease with decreasing pulse width, see
(22) For smaller diameter nerves, the current-pulse width curve of
(23) Pulse frequency: The pulse frequency may determine the frequency of the action potentials generated in the afferent nerves, assuming sufficient charge is delivered each pulse to trigger the action potentials. As no new action potential can occur in a nerve during the refractory period, the frequency of the triggered action potentials will saturate at high pulse frequencies. This saturation point is generally at around 200 Hz for afferent fibers (Miller J P. et al., Parameters of Spinal Cord Stimulation and Their Role in Electrical Charge Delivery: A Review. Neuromodulation: Technology at the Neural Interface 19, 373-384, (2016)). However, stimulation at frequencies above the saturation point may still be beneficial, as by increasing frequency the total charge delivered per unit time (i.e. charge per second) can be increased without changing current amplitude or pulse width (Miller J P. et al., Parameters of Spinal Cord Stimulation and Their Role in Electrical Charge Delivery: A Review. Neuromodulation: Technology at the Neural Interface 19, 373-384, (2016)).
(24) Pulse positioning: Many tasks, including walking, require simultaneous activation of multiple muscle groups. Hence, to support these tasks, multiple muscle groups may need to be stimulated simultaneously, each requiring a specific electrical field and pulse frequency. When applied simultaneously, these different electrical fields may interact with each other, potentially leading to unintended and uncontrolled effects. Therefore, to avoid this situation, care should be taken that according to the stimulation data, individual stimulation pulses and their neutralization periods targeting different muscle groups are not applied simultaneously. This may not be considered a stimulation parameter but does identify a required system feature: a pulse positioning algorithm (PPA).
(25) The previous section describes the effect of the stimulation parameters on triggering action potentials in afferent nerve fibers. Although triggering these action potentials is an essential step in the therapy, in the end the stimulation according to the stimulation data should enable or support the patient in performing specific lower body motions, which may require the activation of specific muscles or muscle groups. The effect of the triggered action potentials in afferent nerve fibers on muscle activation may be filtered inside the spinal cord through spinal reflex circuits and modulated through the voluntary control of the patient. Hence, the effect of the stimulation parameters on muscle activation may be not perfectly clear and may be affected by intra- and inter-patient variations. The following aspects may be of relevance here:
(26) Different patients may have different levels of voluntary control over their lower body, depending on the type and severity of their SCI lesion level and state of (spontaneous) recovery.
(27) Stimulation of afferent nerve fibers may assist or enable activation of the corresponding muscles but may not necessarily enforce motion. The patient may modulate the activation (e.g. make a large or small step without changing the stimulation), or even resist motion of the leg completely. This may vary per patient and may change with increasing recovery.
(28) Conjecture: Because the spinal cord floats in the cerebrospinal fluid, the distance between the spinal cord and the lead electrodes may vary (mostly as a function of the Patient's posture: prone—large distance, supine—small distance). Another hypothesis may be that due to posture changes, the layer thickness of low conductive epidural fat between the lead electrodes and the dura/cerebrospinal fluid a changing, leading to an impedance change as seen by the electrodes, and resulting in an altered current/voltage delivered stimulation by the electronics. As a result, the effect of the applied stimulation (including muscle onset and saturation) may also vary with the patient's posture. Although this conjecture is not proven, patients may successfully make use of the described effects to modulate the stimulation intensity by varying their posture: bending forward reduces the intensity, bending backward increases it.
(29) Pulse frequencies between 40 and 120 Hz may mostly being used, although it may theoretically be possible to stimulate up to 500 Hz as this may have benefits for selectivity in muscle activation and improved voluntary control of the patient.
(30) It may be possible that general increasing the pulse amplitude may not lead to increased recruitment of muscle fibers (with corresponding increased cross-talk), and that increasing the stimulation frequency may lead to increased muscle activation without affecting cross-talk. However, increasing the stimulation frequency may reduce the intensity of natural proprioception and result in a decreased feeling in the leg of the patient. This is probably due to the collision of natural sensory inputs with antidromic action potentials generated by the electrical stimulation. At high frequency (above 100 Hz), patients may even report a complete loss of sensation of the leg and “feel like walking with their legs being absent”. This is a non-comfortable situation requiring the patient to make a leap of faith at each single step, believing that the leg that he/she does not feel anymore will support him/her during the next stance phase. Adjusting the balance between stimulation amplitude and frequency may therefore be necessary to find the optimal compromise between cross-talk limitation and loss of sensation. Simulations suggest that a possible workaround may be to shift the stimulation domain to lower amplitudes and even higher frequency, such that with a minimal number of stimulated fibers the same amount of activity is triggered in the spinal cord. Such hypothesis requires validation via additional clinical data. Finally, it may also be identified that different patients require different stimulation, i.e. that the optimal frequency and amplitude settings may vary highly between patients. Hence, the relation between stimulation amplitude and frequency on muscle activation may be still for a large part unclear. Moreover, the optimal stimulation settings may vary during the day, the assistive device that is used (crutches, walker, etc.), over time with improved recovery, and with the goal of the training or activity.
(31) Timing: apart from applying the correct electrical field at the right location on the spinal cord, they also may need to be applied at the correct moments in time and correctly sequenced. The relevant timing aspects that are identified are listed below.
(32) There is a delay from stimulation on the spinal cord to muscle activation (typical values in the order of 0-30 ms depending on the muscle, see
(33) While EES enables patients to perform motions, the patient may need to be able to predict when the stimulation will occur in order to make the best use of the stimulation. Likewise, suppressing motion while stimulation is provided also requires that the patient knows when to expect the stimulation. Hence, predictability of the stimulation timing is essential.
(34) When the stimulation is not synchronized to the patient's (intended) motion, the patient may not be able to perform a proper movement. Here, this may mean that the stimulation needs to be predictable by the patient, as the patient needs to synchronize to the stimulation.
(35) The duration of the stimulation for leg swing during walking may need to be finely tuned. For some patients, increasing the duration of this stimulation by 100 ms made the patient jump instead of performing a proper step.
(36) 20 ms may be a sufficient resolution for tuning the stimulation timings (i.e. the on/off times of the stimulation for a specific muscle group may not need to be controlled at a precision below 20 ms). Given current data availability, controlling the timings at resolutions below 20 ms may not seem to improve the effectiveness of the stimulation.
(37) Based on the previous sections, the stimulation parameters may be selected. This may determine the control output space that is used, and therefore the complexity of the control problem and the potential effectiveness of the control system.
(38) First it is discussed which parameter spaces can be reduced or eliminated. The remaining control output space is summarized below.
(39) Electrode configuration: Walking, as well as other movements of the lower extremities, may be composed of well-coordinated flexion and extension of lower body joints by contraction of agonist muscles and relaxation of antagonist muscles. The specific set of agonist and antagonist muscles for joint specific flexion and extension may be grouped, and as the number of joints is limited, this means that only a small discrete set of muscle groups may be needed to be stimulated. For each joint flexion and extension, the optimal electrode configuration will be created for activation of the agonist muscles while avoiding activation of the antagonist muscles (as well as avoiding activation of muscles on the contralateral side). This may be done in a procedure called the functional mapping. We define the Functional Muscle Blocks (FMB), as the resulting stimulation configurations for each specific muscle group. At least 12 specific FMBs have been identified for using the control system, these are listed in
(40) As knee flexion and hip extension both involve the semitendinosus, it is physically not possible to target knee flexion and hip extension separately. Therefore,
(41) Next to the 12 FMB listed in
(42) Hence, by limiting the electrode configurations to the discrete set of FMB and CMB (versus an infinite number of possible electrode configurations), the control problem complexity may be reduced considerably without significantly affecting the potential effectiveness of the control system. Stimulation for a Task is then reduced to stimulation of (a subset of) the predefined FMB and CMB, see
(43) The functional mapping procedure may require measuring the response of each of the muscles listed in
(44) Pulse width: From the viewpoint of triggering action potentials in afferent nerve fibers, the parameters pulse width and pulse amplitude may be tightly linked and may together determine which afferent nerve fibers are recruited. Increasing the pulse width may allow to reduce the amplitudes and decreasing the pulse width may allow reducing energy consumption (as the total required charge for triggering an action potential decreases with decreasing pulse width, see
(45) Pulse widths below chronaxie time t.sub.c may quickly require high currents (and thus high voltages), which is difficult to produce and may lead to patient discomfort. Beyond t.sub.c, the strength-duration curve of
(46) This may leave the following stimulation parameters to be controlled over time by the control system:
(47) Which FMBs to stimulate
(48) Stimulation amplitude per FMB
(49) Stimulation frequency per FMB
(50) The pulse positioning may be considered a lower level problem and may therefore be not a direct output of the control system (system feature). The pulse positioning will be performed by the IPG.
(51) Although combining amplitude and frequency to a single ‘intensity’ parameter has been considered, doing so is not envisioned for the control system, as these parameters may have very different effects. On triggering action potentials in afferent nerve fibers, the amplitude and frequency may be independent parameters: the amplitude determines in which afferent nerve fibers action potentials are triggered, the frequency determines the rate at which they are triggered. Hence, in principle the amplitude determines which muscle fibers are activated, the frequency determines how hard, although it is unclear if the independence of the two parameters also holds for muscle activation due to the signal processing that occurs in the spinal cord. Moreover, it may be apparent that for some patients changing the amplitude gives the best results, while for other patients the frequency may be the more useful parameter.
(52) As the precise relation between frequency and amplitude is not known in the clinical context it may not be recommended to combine frequency and amplitude to single parameter. Hence, the stimulation frequency and amplitude may be controlled independently from each other.
(53) In the following the principle of the sensor and the stimulation system (e.g. IPG) of the present invention are described in greater detail.
(54) Sensors: Battery powered, body worn sensors (directly or indirectly), collecting motion data, and sending it to the controller. Its intended use is to capture body motion parameters.
(55) Stimulation system, here IPG: Implantable Pulse Generator. A battery powered device that generates the electrical stimulation, subcutaneously implanted. Its intended use is to deliver electrical stimulation to the lead based on command received from the motion controller.
(56) The control system may further comprise or may be linked to a programmer.
(57) Programmer: The programmer, or also called the clinician programmer, can be used to receive inter alia stimulation parameter, patient data, physiological data, training data etc.
(58) It may comprise a Space Time Programmer (STP) for e.g. programming space and time of the stimulation, a Physiotherapist Programmer (PTP) for e.g. allowing the physiotherapist adjustment to the stimulation, and a Patient Programmer (PP) for e.g. allowing the patient to select a specific stimulation program.
(59) The STP, Physiotherapist Programmer (PTP), and Patient Programmer (PP) can be embodied as applications installed on a mobile device that communicate with the control system. They are used by the treating physician (TP), a physiotherapist (PT), or the patient to provide inputs to the control system, e.g., selecting, starting, and stopping a task or configuring stimulation parameters.
(60) The programmer may allow adjusting the stimulation parameters of a task, while the task is running. This enables the user to tune the stimulation without having to start and stop the task, which would be very cumbersome at the start of the rehabilitation training, when all stimulation partitures are developed and tuned.
(61) Generally speaking, the programmer may have the following structure:
(62) In a first embodiment, the programmer can be embodied such that it is possible to receive inter alia but not limited to stimulation parameters, patient data and the like, check and/or reprogram the stimulation data and send it back to e.g. the control system.
(63) The programmer is in this first embodiment capable to receive data from the implanted (part of the) system (e.g. the motion controller), display data, receive input from the user and then send it back to the control system. In other words: The programmer can receive, process and re-send the data.
(64) In a second embodiment, the programmer may receive data from a remote database. The database may be e.g. linked with the stimulation system via a separate interface, which is configured for data transfer from the system to the database only.
(65) The programmer is in this second embodiment capable to receive data from the remote database, display data, receive input from the user and then send it to the motion controller. In other words: The programmer is only in connection with the control system for sending data, it does not receive data from the control system or any implanted system parts.
(66)
(67) and/or restoration system for a patient according to the present invention.
(68) The present embodiment comprises a control system 10 for a gait reconstruction system for a patient according to the present invention.
(69) The control system 10 comprises an input module 12.
(70) The control system 10 also comprises a preprocessing module 14.
(71) In this embodiment, the preprocessing module 14 is a Kalman filter.
(72) However, also other preprocessing modules 14 are generally possible.
(73) Furthermore, the control system 10 comprises in the shown embodiment a movement model generation module 16.
(74) Additionally, the control system 10 comprises an analysis module 18.
(75) In this embodiment, the analysis model 18 is a real-time analysis module 18.
(76) The control system 10 comprises also a filter 20.
(77) In an alternative embodiment, the control system 10 comprises more than one filter 20.
(78) The filter 20 in the present embodiment is a particle filter 20.
(79) However, the filter 20 could generally also be a Kalman filter, a histogram filter, a stochastic filter or the like.
(80) The control system 10 is connected to a sensor 24 and an implantable pulse generator (IPG) 22.
(81) The input module 12 is connected to the preprocessing module 14.
(82) The preprocessing module 14 is connected to the movement model generation module 16.
(83) Further, the preprocessing module 14 is connected to the real-time analysis module 18.
(84) The movement model generation module 16 is connected to the real-time analysis module 18.
(85) The real-time analysis module 18 is connected to the filter 20.
(86) The connection between the input module 12 and the preprocessing module 14, the preprocessing module 14 and the movement model generation module 16, the preprocessing module 14 and the real-time analysis module 18, the movement model generation module 16 and the real-time analysis module 18, and the real-time analysis module 18 and the filter 20 is in the shown embodiment is a direct connection.
(87) However, also an indirect connection (i.e. with another component of the control system 10 in between) would be generally possible.
(88) The connection between the input module 12 and the preprocessing module 14, the preprocessing module 14 and the movement model generation module 16, the preprocessing module 14 and the real-time analysis module 18, the movement model generation module 16 and the real-time analysis module 18, and the real-time analysis module 18 and the filter 20 is established in the shown embodiment via a wireless network WSN.
(89) However, also a cable-bound connection would be generally possible.
(90) The control system 10 is connected to the sensor 24 via a wireless network WSN.
(91) However, also a cable-bound connection would be generally possible.
(92) The control system 10 is connected to the IPG 22 via a wireless connection TEL.
(93) However, also a cable-bound connection would be generally possible.
(94) The input module 12 receives sensor input data from one or more sensors 24 or one or more sensor networks directly or indirectly attached to a patient.
(95) The input module 12 receives sensor input data, the sensor input data describing a phase of a movement.
(96) The sensor data are transferred from the input module 12 to the preprocessing module 14 and there preprocessed.
(97) In other words, the preprocessing module 14 preprocesses the sensor input data received from the input module 12.
(98) In this embodiment, the preprocessing module 14 is a Kalman filter.
(99) The Kalman filter is the estimation part of the optimal control solution to the linear-quadratic-Gaussian control problem.
(100) The Kalman filter is an algorithm that uses a series of measurements observed over time, containing statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement alone, by estimating a joint probability distribution over the variables for each timeframe.
(101) However, also other embodiments of a preprocessing module 14 could be generally possible.
(102) By means of the movement model generation module 16 a movement model m′ is generated based on the preprocessed sensor data from the preprocessing module 14.
(103) The real-time analysis module 18 receives and processes data provided by the preprocessing module 14 and the movement model generation module 16.
(104) The real-time analysis module 18 uses the movement model m′ created by the movement model generation module 16 in real-time in order to deduce the probability density function of the movement phase.
(105) Then, the data are transferred from the real-time analysis module 18 to the filter 20.
(106) The filter 20 filters the data provided by the real-time analysis module 18.
(107) The filter 20 represents the phase probability density function as a set of particles.
(108) Not shown in
(109) By means of the filter 20, estimation of previous time steps is taken into account to get a movement phase, e.g. a gait phase, that is consistent in time.
(110) Thus, the filter 20 allows to establish a best estimate for the true value of the movement model m from an incomplete, potentially noisy set of observations on that movement model m and the corresponding movement.
(111) The movement model m is translated into stimulation data d.
(112) In this embodiment, the control system 10 programs the IPG 22 to deliver stimulation according to the stimulation data d.
(113) In this embodiment, the control system 10 is body worn. However, also non-body worn alternatives are possible.
(114) Not shown in
(115) In particular, the base frequency is indicative of a cadence of the movement.
(116) The cadence of the left foot should be equal to the cadence of the right foot and the cadence of the provided stimulation, and the left foot and right foot should be (roughly) in anti-phase.
(117) Not shown in
(118) Not shown in
(119)
(120) The movement model generation module 16 of the control system 10 disclosed in
(121) In other words, the control system 10 may comprise at least one sensor data buffer 161.
(122) The movement model generation module 16 further comprises an offline expert system 162.
(123) The movement model generation module 16 may comprise further offline expert systems 162.
(124) In other words, the control system 10 comprises at least one offline expert system.
(125) The movement model generation module 16 further comprises a movement event library 163.
(126) In another embodiment, the movement model generation module 16 could also comprise more than one movement event library 163.
(127) In other words, the control system 10 could comprise at least one movement event library 163.
(128) In this embodiment, the movement model generation module 16 further comprises a model training module 164.
(129) In another embodiment, the movement model generation module 16 could comprise more than just one model training module 164.
(130) In other words, the control system 10 could comprise at least one model training module 164.
(131) The sensor data buffer 161 is connected to the offline expert system 162.
(132) The offline expert system 162 is connected to the movement event library 163.
(133) The movement event library 163 is connected to the model training module 164.
(134) As disclosed in
(135) The connections between the sensor data buffer 161 and the offline expert system 162, the offline expert system 162 and the movement event library 163, the movement event library 163 and the model training module 164 is a direct connection.
(136) However, also an indirect connection (i.e. with another component of the model training module 16 in between) would be generally possible.
(137) The connections between the sensor data buffer 161 and the offline expert system 162, the offline expert system 162 and the movement event library 163, the movement event library 163 and the model training module 164 is a wireless connection WSN.
(138) However, also a cable-bound connection would be generally possible.
(139) The connection between the movement model training module 16 and the preprocessing module 14, as disclosed in
(140) However, also a cable-bound connection would be generally possible.
(141) Preprocessed sensor data (compare
(142) The sensor data buffer 161 stores preprocessed sensor data.
(143) In this embodiment, data are recorded for a complete rehabilitation session.
(144) However, shorter periods of data recording could be generally possible.
(145) However, data should be recorded for a period of time of minimum one complete movement, e.g. gait cycle.
(146) Based on the accumulated sensor data in the sensor data buffer 161, the offline expert system 162 determines a movement event library 163 comprising a list of different gait events and phase offline.
(147) The offline expert system 162 may allow to use criteria that could not be used in real-time.
(148) It could be possible to use the created gait phase offline at any time.
(149) Possible gait events in the movement event library 163 could include but are not limited to initial ground contact, heel strike, foot flat, loading response, midstance, terminal stance, heel off, preswing, toe off, initial swing, midswing, terminal swing, and/or heel strike.
(150) However, it is possible that there are only two events (foot-strike and foot-off) for gait/walking.
(151) Note that the movement event library 163 determined by the offline system 162 is characterized by showing always the same value at the same event and being a linear interpolation between two consecutive events.
(152) Based on the movement event library 163, the model training module 164 trains the movement model m′, here the gait model m′, using recent preprocessed sensor data in the sensor data buffer 161 to adapt the movement model m′ to the particular movement of the patient.
(153) In other words, the model training module 164 prepares and provides the movement model m′ on the basis of a fusion of sensor input data and a previous movement model m′.
(154) In other words, the movement model generation module 16 is a learning system.
(155) In other words, various preprocessed sensor data from the preprocessing module 14 update the sensor data buffer 161 and as soon as a whole gait cycle is detected, the past gait event is determined online by the model training module 164.
(156) It is possible that the sensor data buffer 161 could comprise accumulated preprocessed sensor data from one patient, such as several or multiple recording sessions, and/or from two or more patients and/or from one or more trainers and/or from one or more healthy subjects.
(157) Beyond a movement model m′ for gait cycle (i.e. gait model), the movement model generation module 164 could prepare and provide the movement model m′ on the basis of a fusion of sensor input data and a previous movement model m′ for various movements, including but not limited to stepping, cycling, swimming, running, rowing.
(158) The example control and estimation routines included herein can be used with various system configurations. The control methods and routines disclosed herein may be stored as executable instructions in non-transitory memory and may be carried out by a control system 10 e.g. as a part of the movement model generation module 16 in combination with the input module 12, the preprocessing module 14, the real-time analysis module 18, the filter 20, and other system hardware. The specific routines described herein may represent one or more of any number of processing strategies such as event-driven, interrupt-driven, multi-tasking, multi-threading, and the like. As such, various actions, operations, and/or functions illustrated may be performed in the sequence illustrated, in parallel, or in some cases omitted. Likewise, the order of processing is not necessarily required to achieve the features and advantages of the example embodiments described herein but is provided for ease of illustration and description. One or more of the illustrated actions, operations and/or functions may be repeatedly performed depending on the particular strategy being used. Further, the described actions, operations and/or functions may graphically represent code to be programmed into non-transitory memory of a computer readable storage medium in the control system 10, where the described actions are carried out by executing the instructions in a control system 10 including the various hardware components.
REFERENCES
(159) 10 control system 12 input module 14 preprocessing module 16 movement model generation module 18 (real-time) analysis module 20 filter 22 implantable pulse generator (IPG) 24 sensor 161 sensor data buffer 162 offline expert system 163 (movement) event library 164 model training module d stimulation data m movement model m′ movement model CMB custom muscle blocks FMB functional muscle block IPG implantable pulse generator TEL connection, telemetry line WSN wireless network LVLat left vastus lateralis RVLat right vastus lateralis Lll left iliopsoas Rll right iliopsoas LRF left rectus femoris RRF right rectus femoris LST left semitendinosus RST right semidentinosus LTA left tibialis anterior RTA right tibialis anterior LMG left medial gastrocnemius RMG right medial gastrocnemius LSol left soleus RSol right soleus LFHL left flexor halluces longus RFHL right flexor halluces longus