HTML conversions sometimes display errors due to content that did not convert correctly from the source. This paper uses the following packages that are not yet supported by the HTML conversion tool. Feedback on these issues are not necessary; they are known and are being worked on.

  • failed: smartdiagram
  • failed: acro

Authors: achieve the best HTML results from your LaTeX submissions by following these best practices.

License: CC BY-SA 4.0
arXiv:2401.13441v1 [cs.RO] 24 Jan 2024
\DeclareAcronym

ADLshort=ADL,long=Activities of Daily Living \DeclareAcronymBCIshort=BCI,long=Brain Computer Interface \DeclareAcronymBMIshort=BMI,long=Brain Machine Interface \DeclareAcronymCoMshort=CoM,long=Center of Mass \DeclareAcronymCSshort=CS,long=Constant Strain \DeclareAcronymCOMshort=COM,long=Center of Mass \DeclareAcronymDOFshort=DOF,long=Degrees of Freedom \DeclareAcronymEEGshort=EEG,long=Electroencephalography \DeclareAcronymEOMshort=EOM,long=Equations of Motion \DeclareAcronymERDshort=ERD,long=Event-Related Desynchronization \DeclareAcronymERSshort=ERS,long=Event-Related Synchronization \DeclareAcronymGBNshort=GBN,long=Generalized Binary Noise \DeclareAcronymHMIshort=HMI,long=Human Machine Interface \DeclareAcronymHSAshort=HSA,long=Handed Shearing Auxetic \DeclareAcronymLDAshort=LDA,long=Linear Discriminant Analysis \DeclareAcronymPCSshort=PCS,long=Piecewise Constant Strain \DeclareAcronymRMSEshort=RMSE,long=Root Mean-Squared Error

Guiding Soft Robots with Motor-Imagery Brain Signals and Impedance Control

Maximilian Stölzle*,11{}^{*,1}start_FLOATSUPERSCRIPT * , 1 end_FLOATSUPERSCRIPT, Sonal Santosh Baberwal*,22{}^{*,2}start_FLOATSUPERSCRIPT * , 2 end_FLOATSUPERSCRIPT, Daniela Rus33{}^{3}start_FLOATSUPERSCRIPT 3 end_FLOATSUPERSCRIPT, Shirley Coyle,22{}^{\dagger,2}start_FLOATSUPERSCRIPT † , 2 end_FLOATSUPERSCRIPT, and Cosimo Della Santina,11{}^{\dagger,1}start_FLOATSUPERSCRIPT † , 1 end_FLOATSUPERSCRIPT *{}^{*}start_FLOATSUPERSCRIPT * end_FLOATSUPERSCRIPTAuthors contributed equally, {}^{\dagger}start_FLOATSUPERSCRIPT † end_FLOATSUPERSCRIPTAuthors supervised equally.The work by Maximilian Stölzle was supported under the European Union’s Horizon Europe Program from Project EMERGE - Grant Agreement No. 101070918. The work by SS. Baberwal was supported by a grant from Science Foundation Ireland under Grant numbers 18/CRT/6183, SFI/12/RC/2289 P211{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPTM. Stölzle, and C. Della Santina are with the Cognitive Robotics department, Delft University of Technology, Mekelweg 2, 2628 CD Delft, Netherlands {M.W.Stolzle, C.DellaSantina}@tudelft.nl.22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPTSS. Baberwal and S. Coyle are with the School of Electronics Engineering, Dublin City University, Dublin, Ireland, [email protected], [email protected].33{}^{3}start_FLOATSUPERSCRIPT 3 end_FLOATSUPERSCRIPTD. Rus is with the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology, Cambridge, MA 02139 USA, [email protected].
Abstract

Integrating Brain-Machine Interfaces into non-clinical applications like robot motion control remains difficult - despite remarkable advancements in clinical settings. Specifically, EEG-based motor imagery systems are still error-prone, posing safety risks when rigid robots operate near humans. This work presents an alternative pathway towards safe and effective operation by combining wearable EEG with physically embodied safety in soft robots. We introduce and test a pipeline that allows a user to move a soft robot’s end effector in real time via brain waves that are measured by as few as three EEG channels. A robust motor imagery algorithm interprets the user’s intentions to move the position of a virtual attractor to which the end effector is attracted, thanks to a new Cartesian impedance controller. We specifically focus here on planar soft robot-based architected metamaterials, which require the development of a novel control architecture to deal with the peculiar nonlinearities - e.g., non-affinity in control. We preliminarily but quantitatively evaluate the approach on the task of setpoint regulation. We observe that the user reaches the proximity of the setpoint in 66% of steps and that for successful steps, the average response time is 21.5s. We also demonstrate the execution of simple real-world tasks involving interaction with the environment, which would be extremely hard to perform if it were not for the robot’s softness.

Index Terms:
Soft Robots, Brain Machine Interface, Model-based Control, HSA robots

I Introduction

\acp

BMI [1] facilitate the translation of neural activity into actionable commands, enabling individuals to control external devices and systems through their thoughts and attention [2, 3]. Compared to traditional bulky EEG setups [4], one of the emerging avenues towards practical and wearable \acpEEG devices are systems based on motor imagery signals due to their intuitiveness and no external dependency on (e.g., visual) stimuli. These have been use in stroke rehabilitation [5]. Several works in literature have considered using this technology to control robot manipulators [6, 7, 8].

However, the state-of-the-art classifiers on few-channel, online \acEEG signals are still limited in achieving an accuracy of 65-75 %percent\mathrm{\char 37}% [9, 8] and are prone to producing outliers, which make it very challenging to operate robots safely and robustly using these techniques [1]. In (rigid) robotics literature, this has been addressed by relying on force-based (i.e., impedance) control [6] and by making the robot’s behavior more predictable [7]. In this work, we follow a different path and investigate embodying safety by pairing soft robots [10, 11] with \acBMI. This way, risks can be mitigated, and more natural interactions with an unstructured environment can be achieved by relying on structural compliance.

Refer to caption
Figure 1: Scheme of the proposed approach to control HSA robots with motor imagery. Brain signals steer an attractor in operational space: first, we switch the active coordinate axis when we detect jaw clenching. If no jaw clenching is detected, we classify the EEG signals based on left/right motor imaginations into positive and negative movements along the active axis. Next, we regulate the robot towards the chosen attractor position xatsuperscript𝑥atx^{\mathrm{at}}italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT with a Cartesian impedance controller. This controller first cancels all static forces and the residual coupling of the null space on the operational space dynamics. This allows us to now shape our own potential with a PD term in operational space. As the robot is underactuated, we optimize least-squares to identify the actuation ϕdsuperscriptitalic-ϕd\phi^{\mathrm{d}}italic_ϕ start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT so that the residual between the desired and actual torques in the configuration space is minimized. Icons created by Flaticon©.

While \acBMI-based assistance has been investigated with a focus on soft exosuits assisting hand-rehabilitation  [12] or with strenuous arm acitivites [13], it is still an open challenge how \acBMI can be used for controlling soft manipulators. In this work, we make a first step towards solving this challenge by proposing a pipeline (see Fig. 1) that lets the user steer the soft robot’s end-effector in Cartesian space. The two key ingredients are a novel map** strategy transforming the brain signals into meaningful references and Cartesian impedance control. The latter is essential because it allows for preserving the robot’s compliance in closed-loop [14]. We build the proposed \acBMI pipeline around a \acHSA soft robot [15, 16], which relies on architected metamaterials and electrical actuation to elongate, bend, and twist. This makes the control problem especially challenging because of the peculiarity of these systems’ dynamics, namely underactuation and non-affinity in control. We provide more details on innovation from the model-based control standpoint in Section II-D.

We quantitatively verify the entire approach on mind-controlled setpoint regulation involving tracking a reference consisting of nine-step functions and demonstrate the qualitative behavior when assisting with a simple daily living activity. Furthermore, we compare the performance of our motor imagery-based control to approaches giving the computational controller access to the privileged information of setpoints, which can considered to be an upper bound on performance.

Our contributions are: (i) Establishing a \acBMI strategy for continuum soft robots. This strategy is supported by experiments in which we perform setpoint regulation with a planar \acHSA robot and motor imagery, (ii) A Cartesian impedance controller for \acHSA robots, which we experimentally validated on a simple \acADL task involving environment interaction: the user needs to steer the end-effector towards the tip of a hairspray container, apply force for releasing the fluid, and finally let the robot retreat from the contact.

A video attachment to this paper including recordings of experimental results can be found on YouTube111https://youtu.be/wZTOxBPZmPc. Furthermore, we have open-sourced our code including the OpenVibe pipeline on GitHub222https://github.com/tud-phi/sr-brain-control.

II Task-space Impedance Control

In this work, we let the user steer with motor imaginary brain signals the Cartesian position x2𝑥superscript2x\in\mathbb{R}^{2}italic_x ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT of the end-effector (i.e., the platform) of a planar \acHSA robot. We realize this strategy by first classifying the motor imaginary signals into Cartesian-space movement directions (e.g., the active axis and sign of the movement). We use this information to adjust the position of a task-space attractor iteratively (see Section II-B). Section II-D describes how a model-based computational controller establishes this attractor. Importantly, we preserve the soft robot’s compliance by sha** the closed-loop system’s impedance in Cartesian space.

II-A Background: Motor Imagery-based BMI systems

Imagining the movement of body parts or limbs (e.g., hands, legs, tongue) without moving it or the mental rehearsal of a motor act without overt movement execution is termed Motor Imagery [17]. The neuronal activities observable inside a frequency range of 8 Hztimes8Hz8\text{\,}\mathrm{H}\mathrm{z}start_ARG 8 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG to 12 Hztimes12Hz12\text{\,}\mathrm{H}\mathrm{z}start_ARG 12 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG (Mu) and 12 Hztimes12Hz12\text{\,}\mathrm{H}\mathrm{z}start_ARG 12 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG to 30 Hztimes30Hz30\text{\,}\mathrm{H}\mathrm{z}start_ARG 30 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG (Beta) are associated with cortical areas directly connected to the brain’s motor output (activating primary sensorimotor areas that can be modulated with imaginary mental movement in healthy as well people with neuromuscular disabilities).

The motor imagery \acBMI framework typically consists of four integral components:

  1. 1.

    Signal acquisition: The initial stage involves the recording of neural signals while the person imagines the movements of the limbs, generally acquired using noninvasive methodologies (e.g., \acEEG).

  2. 2.

    Feature extraction: Following signal acquisition, signal processing techniques are applied to extract salient features from the neural patterns associated with specific cognitive processes or intentions.

  3. 3.

    Feature translation: This translation phase interprets the user’s cognitive intent, converting it into actionable instructions for external devices.

  4. 4.

    Device output: The culmination of the \acBMI process is the application of the interpreted commands to external devices.

As detailed further in Sec. III-B, we leverage the difference in signals when imagining motor actions vs. rest state to control the sign of movement. The active axis of movement can be switched by clenching the yaw.

II-B Planning attractors with brain signals

Our brain signal processing pipeline provides us with two pieces of information at each time step k𝑘kitalic_k: i) the unit vector ea(k){[1,0]T,[0,1]T}subscript𝑒a𝑘superscript10Tsuperscript01Te_{\mathrm{a}}(k)\in\{[1,0]^{\mathrm{T}},[0,1]^{\mathrm{T}}\}italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT ( italic_k ) ∈ { [ 1 , 0 ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT , [ 0 , 1 ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT } corresponding to the current active axis of movement and ii) the sign of movement s(k){1,1}𝑠𝑘11s(k)\in\{-1,1\}italic_s ( italic_k ) ∈ { - 1 , 1 }. We use ea(k)subscript𝑒a𝑘e_{\mathrm{a}}(k)italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT ( italic_k ) and s(k)𝑠𝑘s(k)italic_s ( italic_k ) to incrementally steer a virtual attractor defined in operational space xat2superscript𝑥atsuperscript2x^{\mathrm{at}}\in\mathbb{R}^{2}italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT as follows

u(k)=s(k)ea(k)2,xat(k)=xat(k1)+Δxu(k),formulae-sequence𝑢𝑘𝑠𝑘subscript𝑒a𝑘superscript2superscript𝑥at𝑘superscript𝑥at𝑘1subscriptΔx𝑢𝑘\small u(k)=s(k)\,e_{\mathrm{a}}(k)\in\mathbb{R}^{2},\quad x^{\mathrm{at}}(k)=% x^{\mathrm{at}}(k-1)+\Delta_{\mathrm{x}}\,u(k),italic_u ( italic_k ) = italic_s ( italic_k ) italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT ( italic_k ) ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT ( italic_k ) = italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT ( italic_k - 1 ) + roman_Δ start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT italic_u ( italic_k ) , (1)

where Δx+subscriptΔxsuperscript\Delta_{\mathrm{x}}\in\mathbb{R}^{+}roman_Δ start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT is a tunable constant influencing the velocity of the attractor movement. Later, we will shape the potential field with a computational controller such that the attractor becomes a globally asymptotically stable equilibrium (see Section II-D).

Refer to caption
Figure 2: EEG data processing pipeline: The EEG data is acquired in real-time, pre-processed, and divided into episodes and subbands. Next, we extract power features and pass them to two LDA classifiers: the first outputs the axis of movement (for example, moving along the x- or y-axis), and the second provides the sign of movement (for example, positive or negative movement along the active axis). These commands are then used to move the attractor in Cartesian space.

II-C Background: modeling planar HSA robots

Robots based on \acpHSA rely on rods made of architected metamaterials to generate motion. More specifically, twisting the rods along their handedness leads to an elongation of the rod [18]. Combining multiple \acpHSA in the setting of a parallel robot and actuating them with servo motors allows us to generate complex motion primitives and offer beneficial mechanical characteristics such as a high stiffness-to-weight ratio [15, 18].

Prior work [16] has shown that the shape of planar \acHSA robots can be approximated by one \acCS segment. Therefore, we define the configuration of the system as q=[κbeσshσax]T3𝑞superscriptmatrixsubscript𝜅besubscript𝜎shsubscript𝜎axTsuperscript3q=\begin{bmatrix}\kappa_{\mathrm{be}}&\sigma_{\mathrm{sh}}&\sigma_{\mathrm{ax}% }\end{bmatrix}^{\mathrm{T}}\in\mathbb{R}^{3}italic_q = [ start_ARG start_ROW start_CELL italic_κ start_POSTSUBSCRIPT roman_be end_POSTSUBSCRIPT end_CELL start_CELL italic_σ start_POSTSUBSCRIPT roman_sh end_POSTSUBSCRIPT end_CELL start_CELL italic_σ start_POSTSUBSCRIPT roman_ax end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. We also have access to closed-form formulations of the forward kinematics π:qχ:𝜋𝑞𝜒\pi:q\rightarrow\chiitalic_π : italic_q → italic_χ and inverse kinematics ϱ:χq:italic-ϱ𝜒𝑞\varrho:\chi\rightarrow qitalic_ϱ : italic_χ → italic_q where χ=[xTθ]TSE(2)𝜒superscriptmatrixsuperscript𝑥T𝜃T𝑆𝐸2\chi=\begin{bmatrix}x^{\mathrm{T}}&\theta\end{bmatrix}^{\mathrm{T}}\in SE(2)italic_χ = [ start_ARG start_ROW start_CELL italic_x start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT end_CELL start_CELL italic_θ end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ∈ italic_S italic_E ( 2 ) is the pose in task space and θ𝜃\thetaitalic_θ represents the end-effector orientation [16]. We use the notation J(q)=xq2×3𝐽𝑞𝑥𝑞superscript23J(q)=\frac{\partial x}{\partial q}\in\mathbb{R}^{2\times 3}italic_J ( italic_q ) = divide start_ARG ∂ italic_x end_ARG start_ARG ∂ italic_q end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT 2 × 3 end_POSTSUPERSCRIPT to refer to the kinematic Jacobian.

We can then derive the dynamics of the planar \acHSA robot in Euler-Lagrangian form

M(q)q¨+C(q,q˙)q˙+G(q)+K(qq0)+Dq˙=α(q,ϕ),𝑀𝑞¨𝑞𝐶𝑞˙𝑞˙𝑞𝐺𝑞𝐾𝑞superscript𝑞0𝐷˙𝑞𝛼𝑞italic-ϕ\small M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q)+K\,(q-q^{0})+D\,\dot{q}=\alpha(q,% \phi),italic_M ( italic_q ) over¨ start_ARG italic_q end_ARG + italic_C ( italic_q , over˙ start_ARG italic_q end_ARG ) over˙ start_ARG italic_q end_ARG + italic_G ( italic_q ) + italic_K ( italic_q - italic_q start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) + italic_D over˙ start_ARG italic_q end_ARG = italic_α ( italic_q , italic_ϕ ) , (2)

where M(q),C(q,q˙)3×3𝑀𝑞𝐶𝑞˙𝑞superscript33M(q),C(q,\dot{q})\in\mathbb{R}^{3\times 3}italic_M ( italic_q ) , italic_C ( italic_q , over˙ start_ARG italic_q end_ARG ) ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT captures the inertial and Coriolis effects, G(q)3𝐺𝑞superscript3G(q)\in\mathbb{R}^{3}italic_G ( italic_q ) ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT contributes the gravitational forces and K3×3𝐾superscript33K\in\mathbb{R}^{3\times 3}italic_K ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT is the stiffness of the robot in its un-actuated state q0superscript𝑞0q^{0}italic_q start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT. Furthermore, D3×3𝐷superscript33D\in\mathbb{R}^{3\times 3}italic_D ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT is a positive-definite dam** matrix. Finally, for the planar case, two \acHSA rods are assumed to be actuated by the motor/twist angle ϕ2italic-ϕsuperscript2\phi\in\mathbb{R}^{2}italic_ϕ ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. As the handedness of the rods will be accounted for later, we state the actuation bounds as 0ϕiϕmaxi{1,2}0subscriptitalic-ϕ𝑖subscriptitalic-ϕmaxfor-all𝑖120\leq\phi_{i}\leq\phi_{\mathrm{max}}\>\forall i\in\{1,2\}0 ≤ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_ϕ start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT ∀ italic_i ∈ { 1 , 2 }. The auxetic trajectory [18] causes the motors to act through the elasticity of the rods on the system and modify the axial rest length of the rod as a function of the twist strain [15]. Furthermore, the stiffness of the rod can be modeled to be an affine function with respect to the twist strain [18, 15]. Both effects are captured in the actuation function α(q,ϕ)𝛼𝑞italic-ϕ\alpha(q,\phi)italic_α ( italic_q , italic_ϕ ), which is nonlinear with respect to the actuation coordinate ϕitalic-ϕ\phiitalic_ϕ and affine in the configuration q𝑞qitalic_q. Although this has never been done in the context of HSA robots, it is immediate to see that their dynamics (2) can be projected into operational space yielding the form [19, 20]

Λ(q)x¨+μ(q,q˙)q˙+JB+T(G(q)+K(qq0)+Dq˙)=JB+Tα(q,ϕ),Λ𝑞¨𝑥𝜇𝑞˙𝑞˙𝑞superscriptsubscript𝐽BT𝐺𝑞𝐾𝑞superscript𝑞0𝐷˙𝑞superscriptsubscript𝐽BT𝛼𝑞italic-ϕ\small\Lambda(q)\,\ddot{x}+\mu(q,\dot{q})\dot{q}+J_{\mathrm{B}}^{+\mathrm{T}}(% G(q)+K(q-q^{0})+D\,\dot{q})=J_{\mathrm{B}}^{+\mathrm{T}}\alpha(q,\phi),roman_Λ ( italic_q ) over¨ start_ARG italic_x end_ARG + italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) over˙ start_ARG italic_q end_ARG + italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + roman_T end_POSTSUPERSCRIPT ( italic_G ( italic_q ) + italic_K ( italic_q - italic_q start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) + italic_D over˙ start_ARG italic_q end_ARG ) = italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + roman_T end_POSTSUPERSCRIPT italic_α ( italic_q , italic_ϕ ) , (3)

where JB+(q)=B1JT(JB1JT)13×2superscriptsubscript𝐽B𝑞superscript𝐵1superscript𝐽Tsuperscript𝐽superscript𝐵1superscript𝐽T1superscript32J_{\mathrm{B}}^{+}(q)=B^{-1}J^{\mathrm{T}}(JB^{-1}J^{\mathrm{T}})^{-1}\in% \mathbb{R}^{3\times 2}italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( italic_q ) = italic_B start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( italic_J italic_B start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 2 end_POSTSUPERSCRIPT is the dynamically consistent pseudo-inverse, Λ(q)=(JB1JT)12×2Λ𝑞superscript𝐽superscript𝐵1superscript𝐽T1superscript22\Lambda(q)=(J\,B^{-1}J^{\mathrm{T}})^{-1}\in\mathbb{R}^{2\times 2}roman_Λ ( italic_q ) = ( italic_J italic_B start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 2 × 2 end_POSTSUPERSCRIPT is the inertia matrix in task space, and μ(q,q˙)=Λ(q)(JB1CJ˙)2×3𝜇𝑞˙𝑞Λ𝑞𝐽superscript𝐵1𝐶˙𝐽superscript23\mu(q,\dot{q})=\Lambda(q)\,(JB^{-1}C-\dot{J})\in\mathbb{R}^{2\times 3}italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) = roman_Λ ( italic_q ) ( italic_J italic_B start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_C - over˙ start_ARG italic_J end_ARG ) ∈ blackboard_R start_POSTSUPERSCRIPT 2 × 3 end_POSTSUPERSCRIPT collects the Cartesian Coriolis and centrifugal terms.

II-D Cartesian impedance controller

In previous work [16], we have devised a model-based control strategy for regulating a planar \acHSA robot towards a desired position in task space. We introduce below a novel control strategy that addresses some limitations of our previous work that are critical for the \acBMI application. Namely, we (i) avoid computationally demanding planning procedures, (ii) remove integral terms that are unsafe for environment interaction, and (iii) enable impedance sha** in operational space. This Cartesian-space impedance controller is inspired by  [21, 20], but specifically designed for and tailored to \acHSA robots. Crucially, we need to overcome the challenges of underactuation and the nonlinearity in the actuation - which were not present in that original work.

II-D1 Proposed controller

We propose the following dynamic feedback law that renders xatsuperscript𝑥atx^{\mathrm{at}}italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT an attractor of the closed-loop system

τ=JT(q)(Kx(xatx)Dxx˙)+G(q)+K(qq0)+JT(q)JB+T(q)Dq˙+JT(q)μ(q,q˙)(I3JB+(q)J(q))q˙𝜏superscript𝐽T𝑞subscript𝐾𝑥superscript𝑥at𝑥subscript𝐷𝑥˙𝑥𝐺𝑞𝐾𝑞superscript𝑞0superscript𝐽T𝑞superscriptsubscript𝐽BT𝑞𝐷˙𝑞superscript𝐽T𝑞𝜇𝑞˙𝑞subscript𝐼3superscriptsubscript𝐽B𝑞𝐽𝑞˙𝑞\small\begin{split}\tau=&J^{\mathrm{T}}(q)\,\left(K_{x}\,(x^{\mathrm{at}}-x)-D% _{x}\,\dot{x}\right)+G(q)+K\,(q-q^{0})\\ &+J^{\mathrm{T}}(q)\,J_{\mathrm{B}}^{+\mathrm{T}}(q)\,D\,\dot{q}+J^{\mathrm{T}% }(q)\,\mu(q,\dot{q})\left(I_{3}-J_{\mathrm{B}}^{+}(q)J(q)\right)\dot{q}\end{split}start_ROW start_CELL italic_τ = end_CELL start_CELL italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( italic_q ) ( italic_K start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT - italic_x ) - italic_D start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT over˙ start_ARG italic_x end_ARG ) + italic_G ( italic_q ) + italic_K ( italic_q - italic_q start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( italic_q ) italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + roman_T end_POSTSUPERSCRIPT ( italic_q ) italic_D over˙ start_ARG italic_q end_ARG + italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( italic_q ) italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) ( italic_I start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT - italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( italic_q ) italic_J ( italic_q ) ) over˙ start_ARG italic_q end_ARG end_CELL end_ROW (4)

where τ3𝜏superscript3\tau\in\mathbb{R}^{3}italic_τ ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT is the desired torque in configuration space, G(q)+K(qq0)𝐺𝑞𝐾𝑞superscript𝑞0G(q)+K\,(q-q^{0})italic_G ( italic_q ) + italic_K ( italic_q - italic_q start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) cancels the acting gravitational and elastic forces, and JTJB+TDq˙superscript𝐽Tsuperscriptsubscript𝐽BT𝐷˙𝑞J^{\mathrm{T}}J_{\mathrm{B}}^{+\mathrm{T}}D\,\dot{q}italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + roman_T end_POSTSUPERSCRIPT italic_D over˙ start_ARG italic_q end_ARG removes the natural dissipation in operational space. We emphasize that because the system is underactuated, we need to cancel the stiffness directly in the configuration instead of operational space as done in previous work [20]. We can shape our desired impedance characteristics in Cartesian space with the PD term fPD=Kx(xatx)Dxx˙subscript𝑓PDsubscript𝐾𝑥superscript𝑥at𝑥subscript𝐷𝑥˙𝑥f_{\mathrm{PD}}=K_{x}\,(x^{\mathrm{at}}-x)-D_{x}\,\dot{x}italic_f start_POSTSUBSCRIPT roman_PD end_POSTSUBSCRIPT = italic_K start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT - italic_x ) - italic_D start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT over˙ start_ARG italic_x end_ARG which is then projected into configuration space by premultiplying with JT(q)superscript𝐽T𝑞J^{\mathrm{T}}(q)italic_J start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ( italic_q ).

The term μ(q,q˙)(I3JB+(q)J(q))q˙𝜇𝑞˙𝑞subscript𝐼3superscriptsubscript𝐽B𝑞𝐽𝑞˙𝑞\mu(q,\dot{q})\left(I_{3}-J_{\mathrm{B}}^{+}(q)J(q)\right)\dot{q}italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) ( italic_I start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT - italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( italic_q ) italic_J ( italic_q ) ) over˙ start_ARG italic_q end_ARG decouples the operational space dynamics from the residual of the null-space dynamics [20][21, Ch. 4]. The identity q˙=JB+x˙+ZTνN˙𝑞superscriptsubscript𝐽B˙𝑥superscript𝑍Tsubscript𝜈N\dot{q}=J_{\mathrm{B}}^{+}\,\dot{x}+Z^{\mathrm{T}}\,\nu_{\mathrm{N}}over˙ start_ARG italic_q end_ARG = italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT over˙ start_ARG italic_x end_ARG + italic_Z start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT italic_ν start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT, where ZT3×1superscript𝑍Tsuperscript31Z^{\mathrm{T}}\in\mathbb{R}^{3\times 1}italic_Z start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 1 end_POSTSUPERSCRIPT is the dynamically-consistent pseudo-inverse of the null space, allows us to formulate q˙˙𝑞\dot{q}over˙ start_ARG italic_q end_ARG as a sum of the task-space velocity x˙˙𝑥\dot{x}over˙ start_ARG italic_x end_ARG and the null-space velocity νNsubscript𝜈N\nu_{\mathrm{N}}italic_ν start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT. Leveraging this identity, the Coriolis and centrifugal matrix μ(q,q˙)𝜇𝑞˙𝑞\mu(q,\dot{q})italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) can be split into a term μx(q,q˙)=μJB+2×2subscript𝜇𝑥𝑞˙𝑞𝜇superscriptsubscript𝐽Bsuperscript22\mu_{x}(q,\dot{q})=\mu\,J_{\mathrm{B}}^{+}\in\mathbb{R}^{2\times 2}italic_μ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_q , over˙ start_ARG italic_q end_ARG ) = italic_μ italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 2 × 2 end_POSTSUPERSCRIPT excited by x𝑥xitalic_x and the expression μN(q,q˙)=μZT2×1subscript𝜇N𝑞˙𝑞𝜇superscript𝑍Tsuperscript21\mu_{\mathrm{N}}(q,\dot{q})=\mu\,Z^{\mathrm{T}}\in\mathbb{R}^{2\times 1}italic_μ start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT ( italic_q , over˙ start_ARG italic_q end_ARG ) = italic_μ italic_Z start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 2 × 1 end_POSTSUPERSCRIPT that is excited by the null-space coordinates resulting in μ(q,q˙)q˙=μx(q,q˙)x˙+μN(q,q˙)νN𝜇𝑞˙𝑞˙𝑞subscript𝜇𝑥𝑞˙𝑞˙𝑥subscript𝜇N𝑞˙𝑞subscript𝜈N\mu(q,\dot{q})\,\dot{q}=\mu_{x}(q,\dot{q})\,\dot{x}+\mu_{\mathrm{N}}(q,\dot{q}% )\,\nu_{\mathrm{N}}italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) over˙ start_ARG italic_q end_ARG = italic_μ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_q , over˙ start_ARG italic_q end_ARG ) over˙ start_ARG italic_x end_ARG + italic_μ start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT ( italic_q , over˙ start_ARG italic_q end_ARG ) italic_ν start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT. This allows us to cancel the term μN(q,q˙)νNsubscript𝜇N𝑞˙𝑞subscript𝜈N\mu_{\mathrm{N}}(q,\dot{q})\,\nu_{\mathrm{N}}italic_μ start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT ( italic_q , over˙ start_ARG italic_q end_ARG ) italic_ν start_POSTSUBSCRIPT roman_N end_POSTSUBSCRIPT through μ(q,q˙)(I3JB+(q)J(q))q˙𝜇𝑞˙𝑞subscript𝐼3superscriptsubscript𝐽B𝑞𝐽𝑞˙𝑞\mu(q,\dot{q})\left(I_{3}-J_{\mathrm{B}}^{+}(q)J(q)\right)\dot{q}italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) ( italic_I start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT - italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( italic_q ) italic_J ( italic_q ) ) over˙ start_ARG italic_q end_ARG without having to compute the null space explicitly.

In summary, the closed-loop dynamics in operational space can be stated as

Λ(q)x¨+μ(q,q˙)JB+x˙+Kx(xatx)Dxx˙=0,Λ𝑞¨𝑥𝜇𝑞˙𝑞superscriptsubscript𝐽B˙𝑥subscript𝐾𝑥superscript𝑥at𝑥subscript𝐷𝑥˙𝑥0\small\Lambda(q)\,\ddot{x}+\mu(q,\dot{q})\,J_{\mathrm{B}}^{+}\,\dot{x}+K_{x}\,% (x^{\mathrm{at}}-x)-D_{x}\,\dot{x}=0,roman_Λ ( italic_q ) over¨ start_ARG italic_x end_ARG + italic_μ ( italic_q , over˙ start_ARG italic_q end_ARG ) italic_J start_POSTSUBSCRIPT roman_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT over˙ start_ARG italic_x end_ARG + italic_K start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT - italic_x ) - italic_D start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT over˙ start_ARG italic_x end_ARG = 0 , (5)

which results in xatsuperscript𝑥atx^{\mathrm{at}}italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT being the globally asymptotically stable equilibrium of the operational space dynamics.

Refer to caption
(a) Operational workspace
Refer to caption
(b) Experimental setup
Figure 3: Panel (a: Operational workspace of a HSA robot with attached end-effector: the color displays the mean steady-state actuation ϕ1ss+ϕ2ss2superscriptsubscriptitalic-ϕ1sssuperscriptsubscriptitalic-ϕ2ss2\frac{\phi_{1}^{\mathrm{ss}}+\phi_{2}^{\mathrm{ss}}}{2}divide start_ARG italic_ϕ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT + italic_ϕ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT end_ARG start_ARG 2 end_ARG necessary for the end-effector to remain at the position. Additionally, we visualize three example shapes: the straight configuration with ϕss=(0,0)superscriptitalic-ϕss00\phi^{\mathrm{ss}}=(0,0)italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT = ( 0 , 0 ) (blue), maximum clockwise bending with ϕss=(3.49,0)radsuperscriptitalic-ϕss3.490rad\phi^{\mathrm{ss}}=(3.49,0)\,$\mathrm{r}\mathrm{a}\mathrm{d}$italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT = ( 3.49 , 0 ) roman_rad (red), and maximum counter-clockwise bending with ϕss=(0,3.49)radsuperscriptitalic-ϕss03.49rad\phi^{\mathrm{ss}}=(0,3.49)\,$\mathrm{r}\mathrm{a}\mathrm{d}$italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT = ( 0 , 3.49 ) roman_rad (green). Panel (b): The HSA robot is mounted platform-down to a motion capture cage with 8x Optitrack PrimeX 13 cameras, which track the 3D pose of the platform (i.e., the end-effector). A Dynamixel MX-28 servo actuates each of the four HSAs. We project a rendering of the current (white dot) and desired (red dot) end-effector position, the attractor (green square), and the operational workspace (grey area) onto the black screen in the background. The study subject wears a cap with the Neuroconcise FlexEEG sensor, and we acquire the data of three electrodes connected to the motor cortex.
Refer to caption
Figure 4: ERD/S (overall average) over a time period of 2.5 stimes2.5s2.5\text{\,}\mathrm{s}start_ARG 2.5 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG of training data for right-hand Imagination v/s rest state including the Alpha and Beta bands of the EEG signals where the cue is presented at 0 stimes0s0\text{\,}\mathrm{s}start_ARG 0 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. We plot the data of three sensors (i.e., channels): FC3-CP3 (left), FCZ-CPZ (middle) and FC4-CP4 (right).
Refer to caption
(a) End-effector x-coordinate
Refer to caption
(b) End-effector y-coordinate
Refer to caption
(c) Configuration q𝑞qitalic_q
Refer to caption
(d) Control input ϕitalic-ϕ\phiitalic_ϕ
Figure 5: Experimental results for tracking a reference trajectory of nine step functions with motor imagery. Panel (a) & (b): The x/y-coordinate of the end-effector position with the solid line denoting the actual position, the dotted line the attractor position, and the dashed line the reference (i.e., the setpoint). Panel (c): The evolution of the configuration. Panel(d): The saturated planar control inputs.

II-D2 Map** to Lagrangian forces

Now that we have formulated our control law τ𝜏\tauitalic_τ in configuration space, we need to identify a strategy to specify the motor angles ϕ2italic-ϕsuperscript2\phi\in\mathbb{R}^{2}italic_ϕ ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT such that α(q,ϕ)τ𝛼𝑞italic-ϕ𝜏\alpha(q,\phi)\approx\tauitalic_α ( italic_q , italic_ϕ ) ≈ italic_τ. Note that, in contrast to other continuum soft robots studied in literature [22], the actuation term α(q,ϕ)𝛼𝑞italic-ϕ\alpha(q,\phi)italic_α ( italic_q , italic_ϕ ) is not affine in control. In previous work [16], we side-stepped this challenge by linearizing with respect to the steady-state actuation ϕsssuperscriptitalic-ϕss\phi^{\mathrm{ss}}italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT: A(q)=αϕϕ=ϕss𝐴𝑞subscriptdelimited-∥∥𝛼italic-ϕitalic-ϕsuperscriptitalic-ϕssA(q)=\lVert\frac{\partial\alpha}{\partial\phi}\rVert_{\phi=\phi^{\mathrm{ss}}}italic_A ( italic_q ) = ∥ divide start_ARG ∂ italic_α end_ARG start_ARG ∂ italic_ϕ end_ARG ∥ start_POSTSUBSCRIPT italic_ϕ = italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT end_POSTSUBSCRIPT therefore recovering the usual scenario of an affine actuation function. Unfortunately, this is not possible in the setting of this work as i) we do not have access to such ϕsssuperscriptitalic-ϕss\phi^{\mathrm{ss}}italic_ϕ start_POSTSUPERSCRIPT roman_ss end_POSTSUPERSCRIPT, and ii) linearizing around ϕitalic-ϕ\phiitalic_ϕ causes the closed-loop system to become unstable. We, therefore, propose to formulate instead a nonlinear least-squares problem ϕd=argminϕ12τα(q,ϕ)2superscriptitalic-ϕdsubscriptargitalic-ϕ12superscriptdelimited-∥∥𝜏𝛼𝑞italic-ϕ2\phi^{\mathrm{d}}=\operatorname*{arg\!\min}_{\phi}\frac{1}{2}\lVert\tau-\alpha% (q,\phi)\rVert^{2}italic_ϕ start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT = start_OPERATOR roman_arg roman_min end_OPERATOR start_POSTSUBSCRIPT italic_ϕ end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG 2 end_ARG ∥ italic_τ - italic_α ( italic_q , italic_ϕ ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and solve it in real-time with a Levenberg Marquardt solver implemented in JAX [23].

We note that this approach is not guaranteed to be valid for the general case of an underactuated soft robot but for this particular structure of α(q,ϕ)3𝛼𝑞italic-ϕsuperscript3\alpha(q,\phi)\in\mathbb{R}^{3}italic_α ( italic_q , italic_ϕ ) ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT with ϕ2italic-ϕsuperscript2\phi\in\mathbb{R}^{2}italic_ϕ ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT it is possible to identify solutions ϕitalic-ϕ\phiitalic_ϕ with the Euclidean norm of the residual being smaller than 0.0010.0010.0010.001. The source code of the controller is available on GitHub333https://github.com/tud-phi/hsa-planar-control.

III Experiments

III-A Experimental setup

In the following, we detail the \acEEG data processing procedure (see also Fig. 2) and present our experimental setup, which is annotated in Fig. 3(b).

III-A1 EEG data processing

We integrate the 3-channel flexEEG Neuroconcise device with the OpenVibe software to acquire the EEG data and process it in real-time. This configuration facilitates data recording and cue presentation. We process the \acEEG signals at a sampling frequency of 125 Hztimes125Hz125\text{\,}\mathrm{H}\mathrm{z}start_ARG 125 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG with a pipeline that involves three bi-polar channels around the motor cortex: FC3-CP3, FCZ-CPZ, and FC4-CP4. After a notch filter of 50 Hztimes50Hz50\text{\,}\mathrm{H}\mathrm{z}start_ARG 50 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG, we apply Independent Component Analysis (ICA) to extract three independent components from the recorded \acEEG data, which is represented by the equation S(t)=WX(t)𝑆𝑡𝑊𝑋𝑡S(t)=W\,X(t)italic_S ( italic_t ) = italic_W italic_X ( italic_t ), where S(t)𝑆𝑡S(t)italic_S ( italic_t ) are the extracted independent components and W𝑊Witalic_W represents the unmixing matrix, allowing us to separate eye blink artifacts in \acEEG signals, which is critical for enhancing the accuracy. Subsequently, we apply a Butterworth filter bank to isolate specific frequency bands of interest, including 8-15 HzHz\mathrm{H}\mathrm{z}roman_Hz and 15-42 HzHz\mathrm{H}\mathrm{z}roman_Hz. This enhances the ability to analyze \acEEG data by isolating and examining different frequency band components within the \acEEG signals. Once the signals are filtered in sub-bands and epoched with a duration of 2 stimes2s2\text{\,}\mathrm{s}start_ARG 2 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG and time interval of 0.065 stimes0.065s0.065\text{\,}\mathrm{s}start_ARG 0.065 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG, the features are extracted by the log of the power: Li(t)=log(Pi(t))subscript𝐿𝑖𝑡subscript𝑃𝑖𝑡L_{i}(t)=\log\left(P_{i}(t)\right)italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) = roman_log ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) ), where the power Pi(t)=|Ei(t)|2subscript𝑃𝑖𝑡superscriptsubscript𝐸𝑖𝑡2P_{i}(t)=|E_{i}(t)|^{2}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) = | italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is represented by square of magnitude of the \acEEG signal Ei(t)subscript𝐸𝑖𝑡E_{i}(t)italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) at time instance t𝑡titalic_t. These features are then provided to a classifier, which we select as \acLDA due to its simplicity [24].

We implement a second classifier with the same pipeline, where jaw clenching is provided as a muscle artifact that is classified v/s raw EEG data.

III-A2 Robotic system

We consider a robot consisting of four \acHSA rods, which were 3D printed via digital projection lithography from the photopolymer resin Carbon FPU 50. Each \acHSA rod is electrically actuated by a Dynamixel M-28 servo up to a maximum twist angle of ϕmax=3.49 radsubscriptitalic-ϕmaxtimes3.49rad\phi_{\mathrm{max}}=$3.49\text{\,}\mathrm{r}\mathrm{a}\mathrm{d}$italic_ϕ start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT = start_ARG 3.49 end_ARG start_ARG times end_ARG start_ARG roman_rad end_ARG. The robot is attached platform-down to a motion capture cage with eight Optitrack Prime X13 cameras tracking at 200 Hztimes200Hz200\text{\,}\mathrm{H}\mathrm{z}start_ARG 200 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG the pose of reflective markers attached to the end-effector of the \acHSA robot. We estimate the current Cartesian-space velocity of the end-effector with a Savitzky-Golay filter. Subsequently, we leverage a closed-form expression of the inverse kinematics of a \acCS model [16] to compute the current configuration q𝑞qitalic_q of the robot. We render an image of the current shape of the robot together with the present end-effector position (white dot), the attractor planned by the user (green square), the operational workspace (grey, see also Fig. 3(a)) and if applicable, the goal position (red dot). We specify the currently active axis of movement easubscript𝑒ae_{\mathrm{a}}italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT with a double arrow and project the resulting image onto a black screen in the background of the motion capture cage. The robot is operated with a ROS2 software framework444https://github.com/tud-phi/ros2-hsa. We receive the predicted and classified brain signals via TCP at a frequency of 18 Hztimes18Hz18\text{\,}\mathrm{H}\mathrm{z}start_ARG 18 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG and move the attractor subsequently with Δx=0.2 mmsubscriptΔxtimes0.2mm\Delta_{\mathrm{x}}=$0.2\text{\,}\mathrm{m}\mathrm{m}$roman_Δ start_POSTSUBSCRIPT roman_x end_POSTSUBSCRIPT = start_ARG 0.2 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG. We evaluate the Cartesian impedance controller using the gains Kp=300 N/msubscript𝐾ptimes300NmK_{\mathrm{p}}=$300\text{\,}\mathrm{N}\mathrm{/}\mathrm{m}$italic_K start_POSTSUBSCRIPT roman_p end_POSTSUBSCRIPT = start_ARG 300 end_ARG start_ARG times end_ARG start_ARG roman_N / roman_m end_ARG, Kd=1.5 Ns/msubscript𝐾dtimes1.5NsmK_{\mathrm{d}}=$1.5\text{\,}\mathrm{N}\mathrm{s}\mathrm{/}\mathrm{m}$italic_K start_POSTSUBSCRIPT roman_d end_POSTSUBSCRIPT = start_ARG 1.5 end_ARG start_ARG times end_ARG start_ARG roman_Ns / roman_m end_ARG at a frequency of 50 Hztimes50Hz50\text{\,}\mathrm{H}\mathrm{z}start_ARG 50 end_ARG start_ARG times end_ARG start_ARG roman_Hz end_ARG and finally send the desired motor positions to the servos.

The entire control pipeline from measuring \acEEG signals to sending the actuation commands to the motors exhibits a maximum latency of (i.e., is upper-bounded by) 52 mstimes52ms52\text{\,}\mathrm{m}\mathrm{s}start_ARG 52 end_ARG start_ARG times end_ARG start_ARG roman_ms end_ARG.

III-B BMI protocol:

In the following, we will describe the protocol for collecting the motor imagery dataset, training the \acEEG classifiers, and map** classifier outputs into actionable robot commands.

III-B1 Training protocol

The participant is given brief instructions about motor imagery signals. We follow the Graz-BCI [25] paradigm, which assists with training, where the display of the cue instructs the participant to perform imagination of movements: when a left arrow appears, the participant is asked to rest and not focus on motor movement. When the right arrow appears on the screen, the participant is asked to imagine the motor activity from the dominant hand (here, the right hand), such as gras** or squeezing an object. The training protocol for right-hand motor imagery v/s rest demands fifty cues per class. We similarly collect data for the second classifier by asking participants to clench their jaw, which can be detected as muscular artifacts (vs. no muscular movement) in the \acEEG signals. At the end of the trial, we train both classifiers (see Sections II-A and III-A1 for more information) and repeat the procedure until an accuracy of 75 %times75percent75\text{\,}\mathrm{\char 37}start_ARG 75 end_ARG start_ARG times end_ARG start_ARG % end_ARG is obtained for right-hand motor imagery v/s rest and accuracy of 85 %times85percent85\text{\,}\mathrm{\char 37}start_ARG 85 end_ARG start_ARG times end_ARG start_ARG % end_ARG for jaw clench artifact v/s raw EEG.

Refer to caption
(a) End-effector x-coordinate
Refer to caption
(b) End-effector y-coordinate
Refer to caption
(c) Configuration q𝑞qitalic_q
Refer to caption
(d) Control input ϕitalic-ϕ\phiitalic_ϕ
Figure 6: Experimental results for tracking a reference trajectory of nine step functions directly with the Cartesian impedance controller with access to the privileged information xdsuperscript𝑥dx^{\mathrm{d}}italic_x start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT. Panel (a) & (b): The x/y-coordinate of the end-effector position with the solid line denoting the actual position, the dotted line the attractor position, and the dashed line the reference (i.e., the setpoint). Panel (c): The evolution of the configuration. Panel(d): The saturated planar control inputs.

III-B2 Online robot control

Now, the participant operates the HSA robot in real time, with both classifiers being executed online. Moreover, we map the outputs of the classifier into actionable commands: we initialize the x-axis as the active axis of movement (i.e., ea=[1,0]subscript𝑒a10e_{\mathrm{a}}=[1,0]italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT = [ 1 , 0 ]). When the first classifier detects jaw clenching for at least 80 %times80percent80\text{\,}\mathrm{\char 37}start_ARG 80 end_ARG start_ARG times end_ARG start_ARG % end_ARG of samples over a duration of 2.8 stimes2.8s2.8\text{\,}\mathrm{s}start_ARG 2.8 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG, we switch to the y-axis: ea=[0,1]subscript𝑒a01e_{\mathrm{a}}=[0,1]italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT = [ 0 , 1 ] and vice-versa. If we do not detect any yaw clenching artifacts, we evaluate the output of the second classifier in parallel: if there is motor imagery activity identified in the \acEEG classifier, the attractor will be moved in the positive direction (i.e., s=1𝑠1s=1italic_s = 1) along easubscript𝑒ae_{\mathrm{a}}italic_e start_POSTSUBSCRIPT roman_a end_POSTSUBSCRIPT. In contrast, if the \acEEG signals are classified as the participant being at rest, s=1𝑠1s=-1italic_s = - 1 (i.e., movement in the negative direction).

III-C Setpoint regulation

We randomly generate nine setpoints xd(t)2superscript𝑥d𝑡superscript2x^{\mathrm{d}}(t)\in\mathbb{R}^{2}italic_x start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT ( italic_t ) ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT within the operational workspace of the robot (see Fig. 3(a) and display them as a red circle to the user over a duration of 540 stimes540s540\text{\,}\mathrm{s}start_ARG 540 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. The user can freely move the attractor to reach and keep the end-effector at the setpoint. Furthermore, we execute an experiment in which the computational controller has access to normally privileged information: as we substitute xatsuperscript𝑥atx^{\mathrm{at}}italic_x start_POSTSUPERSCRIPT roman_at end_POSTSUPERSCRIPT with xdsuperscript𝑥dx^{\mathrm{d}}italic_x start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT in (4), the Cartesian impedance controller now immediately regulates the robot towards the setpoint. By excluding the \acBMI from the pipeline, this provides us with a reference of the performance we can expect from the computational controller and, with that, also represents a performance upper bound.

Refer to caption
(a) t=0 s𝑡times0st=$0\text{\,}\mathrm{s}$italic_t = start_ARG 0 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(b) t=12 s𝑡times12st=$12\text{\,}\mathrm{s}$italic_t = start_ARG 12 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(c) t=24 s𝑡times24st=$24\text{\,}\mathrm{s}$italic_t = start_ARG 24 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(d) t=36 s𝑡times36st=$36\text{\,}\mathrm{s}$italic_t = start_ARG 36 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(e) t=48 s𝑡times48st=$48\text{\,}\mathrm{s}$italic_t = start_ARG 48 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(f) t=60 s𝑡times60st=$60\text{\,}\mathrm{s}$italic_t = start_ARG 60 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(g) t=72 s𝑡times72st=$72\text{\,}\mathrm{s}$italic_t = start_ARG 72 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(h) t=84 s𝑡times84st=$84\text{\,}\mathrm{s}$italic_t = start_ARG 84 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(i) t=96 s𝑡times96st=$96\text{\,}\mathrm{s}$italic_t = start_ARG 96 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Refer to caption
(j) t=108 s𝑡times108st=$108\text{\,}\mathrm{s}$italic_t = start_ARG 108 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG
Figure 7: Sequence of stills for completing a basic Activity of Daily Living (ADL) by controlling the robot with EEG-based motor imagery. Note: Fig. 7(i) is edited for improved contrast.

III-D Interacting with the environment on a real-world task

We consider the \acADL task of releasing hairspray by actuating the button of its container with the \acHSA robot’s end-effector. For successful execution, the end-effector must be very stiff in the normal direction of the contact. On the other hand, we might want to benefit from the physical intelligence of the system by being relatively flexible in the tangential direction. Therefore, we first define the perpendicular stiffness k=500 N/msubscript𝑘perpendicular-totimes500Nmk_{\perp}=$500\text{\,}\mathrm{N}\mathrm{/}\mathrm{m}$italic_k start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT = start_ARG 500 end_ARG start_ARG times end_ARG start_ARG roman_N / roman_m end_ARG and the tangential stiffness as k=50 N/msubscript𝑘parallel-totimes50Nmk_{\parallel}=$50\text{\,}\mathrm{N}\mathrm{/}\mathrm{m}$italic_k start_POSTSUBSCRIPT ∥ end_POSTSUBSCRIPT = start_ARG 50 end_ARG start_ARG times end_ARG start_ARG roman_N / roman_m end_ARG. We assume that the normal direction of the contact can be described by the polar angle θsubscript𝜃perpendicular-to\theta_{\perp}italic_θ start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT (with respect to the x-axis). We envision that in the future, the user can adjust such stiffness characteristics online via a \acBMI system similar to [6]. In this work, however, we estimate by visual inspection that θ=1.31 radsubscript𝜃perpendicular-totimes1.31rad\theta_{\perp}=$1.31\text{\,}\mathrm{r}\mathrm{a}\mathrm{d}$italic_θ start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT = start_ARG 1.31 end_ARG start_ARG times end_ARG start_ARG roman_rad end_ARG. The Cartesian stiffness matrix in global coordinates is then given by Kx=R(θ)diag(k,k)R(θ)Tsubscript𝐾𝑥𝑅subscript𝜃perpendicular-todiagsubscript𝑘perpendicular-tosubscript𝑘parallel-to𝑅superscriptsubscript𝜃perpendicular-toTK_{x}=R(\theta_{\perp})\,\mathrm{diag}(k_{\perp},k_{\parallel})\,R(\theta_{% \perp})^{\mathrm{T}}italic_K start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = italic_R ( italic_θ start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ) roman_diag ( italic_k start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT , italic_k start_POSTSUBSCRIPT ∥ end_POSTSUBSCRIPT ) italic_R ( italic_θ start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT where R(θ)SO(2)𝑅subscript𝜃perpendicular-to𝑆𝑂2R(\theta_{\perp})\in SO(2)italic_R ( italic_θ start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ) ∈ italic_S italic_O ( 2 ) is the rotation matrix between global and contact frames.

Refer to caption
(a) End-effector x𝑥xitalic_x-coordinate
Refer to caption
(b) End-effector y𝑦yitalic_y-coordinate
Refer to caption
(c) Configuration q𝑞qitalic_q
Refer to caption
(d) Control input ϕitalic-ϕ\phiitalic_ϕ
Figure 8: Experimental results for completing a basic Activity of Daily Living (ADL) by controlling the robot with EEG-based motor imagery. Panel (a) & (b): The x/y-coordinate of the end-effector with the solid line and dotted lines denoting the actual and attractor position, respectively. Panel (c): The evolution of the configuration. Panel(d): The saturated planar control inputs.

III-E Evaluation metrics

In the following, we will introduce and define a few metrics that help us assess the performance of the approach.

III-E1 Event-Related Synchronization/De-Synchronization:

We apply \acERD / \acERS [26] to demonstrate the difference between \acEEG signals when the participant imagines right-hand movement vs. rest, i.e., no activity. \acERD/\acERS corresponds to a shift in power during imagination with respect to a baseline. It is defined by

ERD/ERS(t,f)=P(t,f)Pbase(f)Pbase(f),ERDERS𝑡𝑓𝑃𝑡𝑓subscript𝑃base𝑓subscript𝑃base𝑓\mathrm{ERD/ERS}(t,f)=\frac{P(t,f)-P_{\mathrm{base}}(f)}{P_{\mathrm{base}}(f)},roman_ERD / roman_ERS ( italic_t , italic_f ) = divide start_ARG italic_P ( italic_t , italic_f ) - italic_P start_POSTSUBSCRIPT roman_base end_POSTSUBSCRIPT ( italic_f ) end_ARG start_ARG italic_P start_POSTSUBSCRIPT roman_base end_POSTSUBSCRIPT ( italic_f ) end_ARG , (6)

where ERD/ERS(t,f)ERDERS𝑡𝑓\mathrm{ERD/ERS}(t,f)roman_ERD / roman_ERS ( italic_t , italic_f ) represents the \acERD or \acERS at a specific time t𝑡titalic_t and frequency f𝑓fitalic_f, P(t,f)𝑃𝑡𝑓P(t,f)italic_P ( italic_t , italic_f ) stands for the power of brain activity during imagination, and Pbase(f)subscript𝑃base𝑓P_{\mathrm{base}}(f)italic_P start_POSTSUBSCRIPT roman_base end_POSTSUBSCRIPT ( italic_f ) denotes the baseline power.

III-F Step response metrics

For the task of setpoint regulation, we analyze primarily two aspects: (a) is the participant able to reach the proximity of setpoint within the (generously) allotted time of 60 stimes60s60\text{\,}\mathrm{s}start_ARG 60 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG? We define the proximity of the setpoints as xdx(t)22 mmsubscriptdelimited-∥∥superscript𝑥d𝑥𝑡2times2mm\lVert x^{\mathrm{d}}-x(t)\rVert_{2}\leq$2\text{\,}\mathrm{m}\mathrm{m}$∥ italic_x start_POSTSUPERSCRIPT roman_d end_POSTSUPERSCRIPT - italic_x ( italic_t ) ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ start_ARG 2 end_ARG start_ARG times end_ARG start_ARG roman_mm end_ARG. And (b) what is the response time for reaching for the first time the proximity of the setpoint?

IV Results and Discussion

First, we analyze the \acERD/\acERS behavior with respect to rest vs. motor imaginations in Fig. 4. It is evident that the baseline of rest remained the same in both scenarios when the participant did not perform motor imagery, but as soon as the cue is presented at 0.0 stimes0.0s0.0\text{\,}\mathrm{s}start_ARG 0.0 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG, a shift in power for the right-hand motor imagery with comparison to rest state is noticeable.

We present the results for setpoint regulation employing motor imagery in Fig. 5. We observe that the participant can reach the proximity of the setpoint within the allotted time of 60 stimes60s60\text{\,}\mathrm{s}start_ARG 60 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG six out of nine times (i.e., 66.6 %times66.6percent66.6\text{\,}\mathrm{\char 37}start_ARG 66.6 end_ARG start_ARG times end_ARG start_ARG % end_ARG). For the successful steps, the average response time is 21.5 stimes21.5s21.5\text{\,}\mathrm{s}start_ARG 21.5 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. However, as our protocol does not contain a command to let the attractor rest, it is challenging to keep the end-effector at the setpoint and we observe oscillations, particularly with respect to the x-coordinate. In our third experiment, we ask the Cartesian impedance controller to track the setpoints directly. The fast response time, a well-known characteristic of model-based control approaches, is evident. However, the errors in the model (for example, caused by hysteresis or unmodelled nonlinearities) [16], together with the lack of integral action, lead to steady-state errors.

Finally, we consider the \acADL task of releasing hair spray using the end-effector of the \acHSA robot. We present a sequence of stills in Fig. 7 and plots of the entire sequence in Fig. 8. Already during the first attempt, the participant can steer the end-effector toward the button, apply force, and release the fluid within 86 stimes86s86\text{\,}\mathrm{s}start_ARG 86 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. The impedance of the controller is clearly visible in Fig. 8(b) when the manipulator is in contact with the object at time 74 stimes74s74\text{\,}\mathrm{s}start_ARG 74 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG to 104 stimes104s104\text{\,}\mathrm{s}start_ARG 104 end_ARG start_ARG times end_ARG start_ARG roman_s end_ARG. Also, we noticed that the end-effector does not need to be perfectly aligned with the center of the button and can still complete the task successfully due to the compliance of the closed-loop system in the tangential direction.

We noticed that the variability of setting up the \acEEG device on each study participant and the \acEEG sensor noise caused by external factors (e.g., floor vibrations) still pose a considerable challenge for deploying motor imagery-based tools in practice. Furthermore, subject-specific factors such as the ability to focus on imagining motor actions, mental tiredness, etc., significantly affected the performance (e.g., classification accuracy, setpoint tracking error).

V Conclusion

In this paper, we proposed to combine motor imagery-based \acBMI systems with continuum soft robots. This symbiosis promises the safe and compliant operation of robots that can assist people with limb impairments in their daily lives. As demonstrated in the \acADL experiment, the physical intelligence of the soft robot can compensate for errors and deviations in the output of the \acBMI classifier. Furthermore, we introduced a Cartesian impedance controller for planar \acHSA robots that can deal with the peculiar characteristics of these robots (e.g., underactuation, non-affinity in control, etc.), and allows for model-based control without interfering with the structural compliance of the system.

Acknowledgment

The authors would like to thank Dr. Fabien Lotte for his suggestions concerning the protocol, Dr. Tomas Ward and the Neuroconcise team for their support with the FlexEEG device, and J.K Balasubramanian for his assistance with the EEG setup.

References

  • [1] S. Liu, L. Wang, and R. X. Gao, “Cognitive neuroscience and robotics: Advancements and future research directions,” Robotics and Computer-Integrated Manufacturing, vol. 85, p. 102610, 2024.
  • [2] S. M. Coyle, T. E. Ward, and C. M. Markham, “Brain–computer interface using a simplified functional near-infrared spectroscopy system,” Journal of neural engineering, vol. 4, no. 3, p. 219, 2007.
  • [3] K. Lee, D. Liu, et al., “A brain-controlled exoskeleton with cascaded event-related desynchronization classifiers,” Robotics and Autonomous Systems, vol. 90, pp. 15–23, 2017.
  • [4] J. Van Erp, F. Lotte, and M. Tangermann, “Brain-computer interfaces: beyond medical applications,” Computer, vol. 45, no. 4, pp. 26–34, 2012.
  • [5] M. A. Khan, R. Das, et al., “Review on motor imagery based bci systems for upper limb post-stroke neurorehabilitation: From designing to application,” Computers in biology and medicine, vol. 123, p. 103843, 2020.
  • [6] L. Schiatti, J. Tessadori, et al., “Soft brain-machine interfaces for assistive robotics: A novel control approach,” in 2017 International Conference on Rehabilitation Robotics (ICORR).   IEEE, 2017, pp. 863–869.
  • [7] S. Aldini, A. Akella, et al., “Effect of mechanical resistance on cognitive conflict in physical human-robot collaboration,” in 2019 international conference on robotics and automation (ICRA).   IEEE, 2019, pp. 6137–6143.
  • [8] R. Zhang, S. Lee, et al., “Noir: Neural signal operated intelligent robots for everyday activities,” arXiv preprint arXiv:2311.01454, 2023.
  • [9] P. Arpaia, D. Coyle, et al., “Non-immersive versus immersive extended reality for motor imagery neurofeedback within a brain-computer interfaces,” in International Conference on Extended Reality.   Springer, 2022, pp. 407–419.
  • [10] D. Rus and M. T. Tolley, “Design, fabrication and control of soft robots,” Nature, vol. 521, no. 7553, pp. 467–475, 2015.
  • [11] C. Della Santina, M. G. Catalano, et al., “Soft robots,” Encyclopedia of Robotics, vol. 489, 2020.
  • [12] J. Zhang, B. Wang, et al., “An eeg/emg/eog-based multimodal human-machine interface to real-time control of a soft robot hand,” Frontiers in neurorobotics, vol. 13, p. 7, 2019.
  • [13] N. Tacca, J. Nassour, et al., “Neuro-cognitive assessment of intentional control methods for a soft elbow exosuit using error-related potentials,” Journal of NeuroEngineering and Rehabilitation, vol. 19, no. 1, p. 124, 2022.
  • [14] C. Della Santina, M. Bianchi, et al., “Controlling soft robots: balancing feedback and feedforward elements,” IEEE Robotics & Automation Magazine, vol. 24, no. 3, pp. 75–83, 2017.
  • [15] M. Stölzle, L. Chin, et al., “Modelling handed shearing auxetics: Selective piecewise constant strain kinematics and dynamic simulation,” in 2023 IEEE International Conference on Soft Robotics (RoboSoft).   IEEE, 2023, pp. 1–8.
  • [16] M. Stölzle, D. Rus, and C. D. Santina, “An experimental study of model-based control for planar handed shearing auxetics robots,” in Experimental Robotics: The 18th International Symposium.   Springer, 2023.
  • [17] M. Lotze and U. Halsband, “Motor imagery,” Journal of Physiology-paris, vol. 99, no. 4-6, pp. 386–395, 2006.
  • [18] I. Good, T. Brown-Moore, et al., “Expanding the design space for electrically-driven soft robots through handed shearing auxetics,” in 2022 International Conference on Robotics and Automation (ICRA).   IEEE, 2022, pp. 10 951–10 957.
  • [19] C. Della Santina, L. Pallottino, et al., “Exact task execution in highly under-actuated soft limbs: an operational space based approach,” IEEE Robotics and Automation Letters, vol. 4, no. 3, pp. 2508–2515, 2019.
  • [20] C. Della Santina, R. K. Katzschmann, et al., “Model-based dynamic feedback control of a planar soft robot: trajectory tracking and interaction with the environment,” The International Journal of Robotics Research, vol. 39, no. 4, pp. 490–513, 2020.
  • [21] C. Ott, Cartesian impedance control of redundant and flexible-joint robots.   Springer, 2008.
  • [22] C. Della Santina, C. Duriez, and D. Rus, “Model-based control of soft robots: A survey of the state of the art and open challenges,” IEEE Control Systems Magazine, vol. 43, no. 3, pp. 30–65, 2023.
  • [23] M. Blondel, Q. Berthet, et al., “Efficient and modular implicit differentiation,” arXiv preprint arXiv:2105.15183, 2021.
  • [24] F. Lotte, “A tutorial on eeg signal-processing techniques for mental-state recognition in brain–computer interfaces,” Guide to brain-computer music interfacing, pp. 133–161, 2014.
  • [25] A. Roc, L. Pillette, et al., “A review of user training methods in brain computer interfaces based on mental tasks,” Journal of Neural Engineering, vol. 18, no. 1, p. 011002, 2021.
  • [26] G. Pfurtscheller and F. L. Da Silva, “Event-related eeg/meg synchronization and desynchronization: basic principles,” Clinical neurophysiology, vol. 110, no. 11, pp. 1842–1857, 1999.