Section: New Software and Platforms

Software and platforms


Participants : Baptiste Colombani, David Andreu, Thierry Gil [LIRMM] , Robin Passama [LIRMM] .

High Level hardware Component Programming

Functional Description: Our SENIS (Stimulation Electrique Neurale dIStribuee) based FES architecture relies on distributed stimulation units (DSU) which are interconnected by means of a 2-wire based network. A DSU is a complex digital system since its embeds among others a dedicated processor (micro-machine with a specific reduced instruction set), a monitoring module and a 3-layer protocol stack. To face the complexity of the units digital part and to ease its prototyping on programmable digital devices (e.g. FPGA), we developed an approach for high level hardware component programming (HILECOP). To support the modularity and the reusability of sub-parts of complex hardware systems, the HILECOP methodology is based on components. An HILECOP component has: a Petri Net (PN) based behavior (fig.5), a set of functions whose execution is controlled by the PN, and a set of variables and signals. Its interface contains places and transitions from which its PN model can be inter-connected as well as signals it exports or imports. The interconnection of those components, from a behavioral point out view, consists in the interconnection of places and/or transitions according to well-defined mechanisms: interconnection by means of oriented arcs or by means of the "merging" operator (existing for both places and transitions).

The Eclipse-based version of HILECOP (registered at the french Agence de Protection des Programmes (APP)) has been refactored: for instance, the application ECore model, a new Eclipse E4 architecture and a set of new features (new link types and new views to connect components) have been developed.

Undergoing work concerns the integration, in the HILECOP tool, of the formalism evolutions that allow behavior agregation as well as exception handling, both for analysis and implementation sides.

Specification of GALS systems (Globally Asynchronous Locally Synchronous) is also an ongoing work, the aim being to take into account deployment properties like connecting different clocks to HILECOP components within a same FPGA, or on a set of interconnected FPGAs (and thus interconnecting them by means of asynchronous signals).

Figure 5. HILECOP screenshot

PersoBalance: A Personalized Balance Assessment in Home Rehabilitation

Participants : Maxime Tournier, Alejandro Gonzalez, Philippe Fraisse, Mitsuhiro Hayashibe.

In 2014-2015, the team demonstrated the feasibility of a personalized balance assessment system using low-end sensors for home rehabilitation. The corresponding software (PersoBalance) performs an identification of inertial parameters for a subject using a depth camera and a connected balance board (in this case, a Nintendo Wii BalanceBoard) through a dedicated Kalman filter as the subject assumes various body postures. When the inertial parameters are estimated, the software is then able to compute a stability index for the subject based on criteria found in robotics and biomechanics literature. This year, in order to exploit the newer, more accurate and more robust sensors such as the Microsoft Kinect v2, a new version of the PersoBalance software was engineered. While the core method remainsthe same, several improvement have been made regarding efficiency, user interface and extensibility. The new system is faster, more accurate and robust. It automatically registers the balance board during identification, and features improved graphical feedback during both identification and stability estimation phases. New stability measures were added, and support for online inverse dynamics is on the way. Most of the new version uses a scripting language (Python) except for time-critical algorithm, making the software easily extensible without recompilation. It is supported by Inria ADT PersoBalance2. Currently the software is being adapted to embedded computers in order to provide monitoring data in the City4Age project.

PersoBalance is registered with the Agency for the Protection of Programs (APP) and deposited at the BNF (Bibliotheque Nationale de France). Its registration number is Antepedia Deposit 20150710154654.

Figure 6. PersoBalance: Online stability estimation, from left to right: as a subject undergoes an unexpected external push, the system automatically estimates the ground reaction forces (pink arrow) and computes a stability index from the position of the ZRAM point relative to the support polygon (white/orange). The skeleton colour changes from green to red as the stability index decreases.


Participants : Christine Azevedo Coste, Roger Pissard-Gibollet, Benoît Sijobert.

Sensbiotk is a toolbox in Python for the calibration, the acquisition, the analysis and visualization of motion capture Inertial Measurement Units (IMU). Motion and Gait parameter reconstruction algorithms are also available.


Figure 7. Sensbiotk toolbox for the calibration, the acquisition, the analysis and visualization of motion capture Inertial Measurement Units (IMU)


Participants : Mélissa Dali, Olivier Rossel, David Guiraud.

From Model Optimization and Simulation To Selective Electrical Neural Stimulation: it allows to manipulate 3D modeling of nerve and cuff electrodes taking into account anisotropy and the most advanced HH models of the myelinated axons. Based on optimized computing scheme, it allows to predict the acivation areas induced by a complex 3D spreading of the current over a multicontact electrodes. Moreover, the tool allows for performing optimization of the needed current to target a specific cross section of the nerve. Version 1.0 (IDDN.FR.001.490036.000.S.P.2014.000.31230) has been relaesed on december 2014 and v2.0 will be realeased January 2017. The last version includes full interface with OpenMEEG and COMSOL, and many other enhancements concerning both the model itself and the computation scheme.

Figure 8. Graphical interface of software MOS2SENS, left: modeling multicontact CUFF electrode, right: optimization for spatial selectivity
IMG/MOS2SENS_simulation.png IMG/MOS2SENS_optimisation.png

STIMEP: An advanced real-time stimulation system based on a distributed architecture

Participants : Arthur Hiairrassary, David Andreu, David Guiraud, Olivier Rossel, Thomas Guiho.

The STIMEP has been developed within the EPIONE project (see section 9.3.1) which aims at assessing the use of invasive stimulation to relieve phantom pain. This innovative wearable stimulator allows to safely manipulate sensory afferent signals of an amputee through 4 TIME-4H intra fascicular electrodes, for a total of 56 channels.

The STIMEP is also designed to be controlled in real-time by a hand-prosthesis to generate feedback sensations; it permits as well a complex impedance follow-up.

The STIMEP is based on a distributed architecture and embeds:

  • 1 x controller implemented on μC/OS-II RTOS exchanging data with a PC (USB) or an external device (SPI),

  • 4 x neural stimulators with efficient modulation mechanisms to drive up to 4 multicontact electrodes simultaneously and independently,

  • 6 x fully configurable procedures (formally modeled by Petri nets):

    • Contacts check, thresholds search, sensations characterization, therapy,

    • Real-time modulation of frequency, intensity and pulse-width,

    • Complex impedance measurement.

  • 2 x smart and independent synchronization outputs,

  • User and technical logs of relevant information.

Figure 9. The STIMEP (STIMulator EPione)
IMG/stimep.png IMG/stimep_board.png

The STIMEP is currently used in human trials and drives simultaneously 4 multicontact intrafascicular electrodes with real time control of the intensity, pulse-width and frequency of the stimulation to remove phantom pain and elicit very accurate sensation feedback.