Clinical Application: Fully Functional Stroke Rehabilitation



Fig. 9.1
Feedback and ILC control scheme for arbitrary electrode structures




Procedure 9

(Embedding arrays within general robustness framework) Suppose N groups of single-pad electrodes or electrode arrays are used. Let the ith group contain $$n_i$$ electrode elements, stimulating $$m_i$$ muscles and have a specified subspace of dimension $$q_i$$. Then the system can be represented by Fig. 9.1 where operator A is defined by


$$\begin{aligned}&A : \mathscr {L}^{n}_2[0,T] \rightarrow \mathscr {L}^{m}_2[0,T] : \varvec{z} \mapsto \varvec{u}, \; \varvec{u}_j = A_j \varvec{z}_j, \; j = 1 \ldots N \end{aligned}$$

(9.1)
where $$m = \sum _{i = 1}^N m_i$$, $$n = \sum _{i = 1}^N n_i$$, and operator $$A_j : \mathscr {L}^{n_j}_2[0,T] \rightarrow \mathscr {L}^{m_j}_2[0,T]$$ is given by (8.​2), where for a group of single-pad electrodes, $$n_j = m_j$$ with $$a_{i,l} = 1$$ for $$i = l$$ and $$a_{i,l} = 0$$ otherwise. Similarly, operator X is defined as


$$\begin{aligned}&X : \mathscr {L}^{q}_2[0,T] \rightarrow \mathscr {L}^{n}_2[0,T] : \varvec{r} \mapsto \varvec{z}, \; \varvec{z}_j = X_j \varvec{r}_j, \; j = 1 \ldots N \end{aligned}$$

(9.2)
where $$q = \sum _{i = 1}^N q_i$$ and operator $$X_j : \mathscr {L}^{q_i}_2[0,T] \rightarrow \mathscr {L}^{n_i}_2[0,T]$$ has form (6.​6) where for a group of single-pad electrodes, $$q_j = n_j$$, $$\bar{X}_j = I$$. The signals associated with the jth group are $$\varvec{u}_{ \mathscr {M}_j}$$, $$\varvec{r}_{ \mathscr {Q}_j}$$, $$\varvec{z}_{ \mathscr {N}_j}$$ where


$$\begin{aligned} \mathscr {M}_j = \left\{ 1 + \sum ^{j-1}_{i = 1} m_i, \ldots , \sum ^{j}_{i = 1} m_i \right\} {,} \mathscr {N}_j&= \left\{ 1 + \sum ^{j-1}_{i = 1} n_i, \ldots , \sum ^{j}_{i = 1} n_i \right\} {,} \nonumber \\ \mathscr {Q}_j&= \left\{ 1 + \sum ^{j-1}_{i = 1} q_i, \ldots , \sum ^{j}_{i = 1} q_i \right\} . \end{aligned}$$
If controllers $$K_X$$ and L are chosen such that $$b_{\bar{M}//\bar{C}}$$ given by Theorem 6.​4 (with $$K = X K_X$$) is finite, then from Theorem 4.​5 robust stability of the system shown in Fig. 9.1 is guaranteed provided the modeling mismatch satisfies


$$\begin{aligned} \sup _{k \in \mathbb {N}_+} \big \Vert N |_{\bar{\varvec{z}}_1(k)} - M |_{\bar{\varvec{z}}(k)} \big \Vert&< b_{\bar{M}//\bar{C}}^{-1} \end{aligned}$$

(9.3)
where $$M, N : \varvec{z} \mapsto \varvec{\varPhi }$$ are the nominal and true generalized plant maps.

Design Procedure 9 shows that arrays can be incorporated in the control scheme simply by specifying consistent A and X structures. However, for each array, the component of model M linking array inputs and corresponding actuated joints must be identified experimentally on each iteration as described in Chap. 8. This can be achieved using the subspace identification approach of Sect. 8.​3, but this approach should be extended to include all ES inputs, not just those of the array. Furthermore, because all joint angles may be affected by array stimulation, this procedure should in principle replace any use of an underlying model when using an electrode array.

In many cases each ES array assists joint angles that are not significantly affected by other stimulated muscles around an operating point (e.g. in the case of an array stimulating finger muscles). In this case a more pragmatic approach is to apply array identification Procedure 8 of Sect. 8.4 to the subset of joints known to be affected by array stimulation, and include only the array ES inputs. This hence preserves the simplicity and speed of the identification approach. It is then desirable to use a global model to capture the response of the remaining joints to single-pad stimulation, however this will be inaccurate if it omits the dynamics produced by the array (e.g. wrist and hand movement). A solution is to extend the global model to include the most significant source of interaction caused by the array in the form of a simplified lumped parameter representation with identifiable parameters (e.g. extend the arm model to include a lumped wrist representation).

The assumption of a subset of joints being locally dependent only on array ES inputs therefore leads to significant simplification. The next procedure specifies explicit robustness margins for this case to enable the designer to gauge .


Theorem 9.1

(Robustness using partially decoupled design) Assume a partially decoupled model in which the ith array block has dynamics $$\varvec{\varPhi }_{ \mathscr {P}_i} = M_i \varvec{z}_{ \mathscr {N}_i}$$ (where with no loss of generality we assume $$i = 1$$), but the remaining joints use full model structure A352940_1_En_9_IEq24_HTML.gif. Then applying the linearized design procedure of Chap. 4 or 6 with feedback and ILC structures


A352940_1_En_9_Equ4_HTML.gif

(9.4)
where A352940_1_En_9_IEq25_HTML.gif, robustly stabilizes the resulting closed-loop system if the true plant N satisfies


A352940_1_En_9_Equ5_HTML.gif

(9.5)
where A352940_1_En_9_IEq26_HTML.gif, A352940_1_En_9_IEq27_HTML.gif denote A352940_1_En_9_IEq28_HTML.gif linearised with respect to $$\varvec{z}_{ \mathscr {N}_i}$$, $$\varvec{z}_{ \bar{\mathscr {N}}_i}$$ respectively, A352940_1_En_9_IEq31_HTML.gif are gain bounds on $$[\bar{M}_i,\bar{C}_i]$$, A352940_1_En_9_IEq33_HTML.gif alone (computed using Theorem 4.​6 with A352940_1_En_9_IEq34_HTML.gif respectively), and


A352940_1_En_9_Equ6_HTML.gif

(9.6)
where A352940_1_En_9_IEq35_HTML.gif, $$I_i = (I + K_i M_i |_{\varvec{z}})^{-1}$$, $$\bar{I}_i= (I + M_i |_{\varvec{z}} K_i)^{-1}$$, A352940_1_En_9_IEq38_HTML.gif and A352940_1_En_9_IEq39_HTML.gif.

Moreover, design of $$K_i$$ and $$L_i$$ using Propositions 8.​1 and 8.​2 preserves the nominal properties of the electrode array dynamics $$\varvec{\varPhi }_{ \mathscr {P}_i} = M_i \varvec{z}_{ \mathscr {N}_i}$$, $$\varvec{z}_{ \mathscr {N}_i} = X_i \varvec{r}_{ \mathscr {Q}_i}, \varvec{r}_{ \mathscr {Q}_i} = K_i (\varvec{v}_{ \mathscr {P}_i} + \varvec{e}_{ \mathscr {P}_i})$$ established in these propositions.


Proof

Denote A352940_1_En_9_IEq44_HTML.gif, A352940_1_En_9_IEq45_HTML.gif, A352940_1_En_9_IEq46_HTML.gif, $$K_1 = K_i$$, A352940_1_En_9_IEq48_HTML.gif, A352940_1_En_9_IEq49_HTML.gif, $$L_1 = L_i$$, A352940_1_En_9_IEq51_HTML.gif, A352940_1_En_9_IEq52_HTML.gif, $$I_j = (I + K_j M_j)^{-1}, \; \bar{I}_j = (I + M_j K_j)^{-1}, \; j = 1,2,3$$. Then $$M_j I_j K_j = I - \bar{I}_j = M_j K_j \bar{I}_j$$, $$K_j \bar{I}_j M_j = I - I_j = K_j M_j I_j$$, and $$M|_{\varvec{z}} = M$$, where


$$\begin{aligned} M = \left[ \begin{array}{cc} M_1 &{}0 \\ M_2 &{} M_3 \end{array} \right] , \;\; \text {so that} \quad K M = \underbrace{ \left[ \begin{array}{cc} K_1 &{}0 \\ K_2 &{} K_3 \end{array} \right] }_{K} \left[ \begin{array}{cc} M_1 &{}0 \\ M_2 &{} M_3 \end{array} \right] = \left[ \begin{array}{cc} K_1 M_1 &{}0 \\ K_2 M_1 + K_3 M_2 &{} K_3 M_3 \end{array} \right] \nonumber \end{aligned}$$
and


$$\begin{aligned} (I + K M)^{-1} = \left[ \begin{array}{cc} (I + K_1 M_1)^{-1} &{}0 \\ - (I + K_3 M_3)^{-1} (K_2 M_1 + K_3 M_2) (I + K_1 M_1)^{-1} &{} (I + K_3 M_3)^{-1} \end{array} \right] \nonumber \end{aligned}$$
so from (4.​60) the projection operator for the feedback case ($$L = 0$$) is


A352940_1_En_9_Equ29_HTML.gif
By reordering inputs and outputs, this can be partitioned by


$$\begin{aligned} \left[ \begin{array}{cc} \varPi _{\bar{M}_1//\bar{K}_1} &{}0 \\ \varPi _{\bar{M}_2//\bar{K}_2} &{}\varPi _{\bar{M}_3//\bar{K}_3} \end{array} \right] \;\; \text {where} \;\; \varPi _{\bar{M}_1//\bar{K}_1}&= \bigg ( \begin{array}{c} I \\ M_1 \end{array} \bigg ) I_1 (I, K_1), \;\; \nonumber \\ \varPi _{\bar{M}_3//\bar{K}_3}&= \bigg ( \begin{array}{c} I \\ M_3 \end{array} \bigg ) I_3 (I, K_3) \end{aligned}$$

(9.7)
are the projection operators for $$[\bar{M}_1,\bar{K}_1]$$, $$[\bar{M}_3,\bar{K}_3]$$ alone, and


$$\begin{aligned} \varPi _{\bar{M}_2//\bar{K}_2}&=\left[ \begin{array}{cc} - I_3 (K_2 M_1 + K_3 M_2) I_1 &{}\;\; I_3 ( K_2 \bar{I}_1 - K_3 M_2 I_1 K_1 ) \\ ( \bar{I}_3 M_2 - M_3 I_3 K_2 M_1 ) I_1 &{}\;\; \bar{I}_3 M_2 I_1 K_1 + M_3 I_3 K_2 \bar{I}_1 \end{array} \right] \nonumber \\&= \left( \begin{array}{cc} - I_3 K_3 &{}I_3 \\ \bar{I}_3 &{}M_3 I_3 \end{array} \right) \left( \begin{array}{cc} M_2 &{}0 \\ 0 &{}K_2 \end{array} \right) \left( \begin{array}{cc} I_1 &{}I_1 K_1 \\ - M_1 I_1 &{}\bar{I}_1 \end{array} \right) . \end{aligned}$$

(9.8)
Next consider the inclusion of ILC, with associated component of (4.​50) given by:


$$\begin{aligned} \varPi _{\bar{M}//\bar{L}} \varvec{w}(k+1) = \bigg ( \begin{array}{c} I \\ M \end{array} \bigg ) K (I + MK)^{-1} L \sum ^{k}_{i = 0} (I - GL)^{i} (I + MK)^{-1} ( -M, I ) \varvec{w}(k-i).\nonumber \\ \end{aligned}$$

(9.9)
Using the identity $$G = (I + MK)^{-1} MK = \left( \begin{array}{cc} G_1 &{}0 \\ G_2 &{}G_3 \end{array} \right) $$ where $$G_1 = \bar{I}_1 M_1 K_1$$, $$G_3 = \bar{I}_3 M_3 K_3$$, $$G_2 = \bar{I}_3 (M_2 K_1 + M_3 K_2) \bar{I}_1$$, we can denote


$$\begin{aligned}\nonumber \underbrace{ \left( \begin{array}{cc} \bar{L}_1 &{}0 \\ \bar{L}_2 &{}\bar{L}_3 \end{array} \right) }_{\bar{L}} := L \sum ^{k}_{i = 0} (I - GL)^{i}&= \left( \begin{array}{cc} L_1 &{}0 \\ L_2 &{}L_3 \end{array} \right) \sum ^{k}_{i = 0} \left( I - \left( \begin{array}{cc} G_1 &{}0 \\ G_2 &{}G_3 \end{array} \right) \left( \begin{array}{cc} L_1 &{}0 \\ L_2 &{}L_3 \end{array} \right) \right) ^i \nonumber \\&= \left( \begin{array}{cc} L_1 &{}0 \\ L_2 &{}L_3 \end{array} \right) \sum ^{k}_{i = 0} \left( \begin{array}{cc} I - G_1 L_1 &{}0 \\ - (G_2 L_1 + G_3 L_2) &{}I - G_3 L_3 \end{array} \right) ^i \end{aligned}$$
which equals


$$\begin{aligned}\nonumber&\left( \begin{array}{cc} L_1 &{}0 \\ L_2 &{}L_3 \end{array} \right) \left( \begin{array}{cc} \displaystyle { \sum ^k_{i = 0} (I - G_1 L_1)^i } &{}0 \\ \displaystyle { - \sum ^k_{i = 0} \sum _{j = 0}^{i - 1} (I - G_3 L_3)^{i-1-j} (G_2 L_1 + G_3 L_2) (I - G_1 L_1)^j } &{} \displaystyle { \sum ^k_{i = 0} (I - G_3 L_3)^i } \end{array} \right) . \end{aligned}$$
Using this, (9.9) can then be written as


$$\begin{aligned}\nonumber&\left( \begin{array}{cc} K_1 \bar{I}_1 &{}0 \\ - K_3 \bar{I}_3 M_2 K_1 \bar{I}_1 + I_3 K_2 \bar{I}_1 &{}K_3 \bar{I}_3 \\ M_1 K_1 \bar{I}_1 &{}0 \\ \bar{I}_3 M_2 K_1 \bar{I}_1 + M_3 I_3 K_2 \bar{I}_1 &{}M_3 K_3 \bar{I}_3 \end{array} \right) \left( \begin{array}{cc} \bar{L}_1 &{}0 \\ \bar{L}_2 &{}\bar{L}_3 \end{array} \right) \left( \begin{array}{cccc} -(\bar{I}_1 M_1)^\top &{}(\bar{I}_3 M_3 K_2 \bar{I}_1 M_1 - \bar{I}_3 M_2 I_1)^\top \\ 0 &{}- (\bar{I}_3 M_3)^\top \\ \bar{I}_1^\top &{}- (\bar{I}_3 (M_2 K_1 + M_3 K_2) \bar{I}_1)^\top \\ 0 &{} \bar{I}_3^\top \end{array} \right) ^\top . \nonumber \end{aligned}$$
By sequentially setting paired $$\bar{L}$$ components to zero, this can be expressed as


$$\begin{aligned}&\left( \begin{array}{c} 0 \\ I \\ 0 \\ M_3 \end{array} \right) K_3 \bar{I}_3 \bar{L}_2 \bar{I}_1 \left( \begin{array}{cccc} -M_1&0&I&0 \end{array} \right) + \left( \begin{array}{c} K_1 \\ I_3 (K_2 - K_3 M_2 K_1) \\ M_1 K_1 \\ \bar{I}_3 (M_2 K_1 + M_3 K_2) \end{array} \right) \bar{I}_1 \bar{L}_1 \bar{I}_1 \left( \begin{array}{cccc} -M_1&0&I&0 \end{array} \right) \nonumber \\&\quad + \left( \begin{array}{c} 0 \\ I \\ 0 \\ M_3 \end{array} \right) K_3 \bar{I}_3 \bar{L}_3 \bar{I}_3 \left( \begin{array}{cccc} (M_3 K_2 M_1 - M_2) I_1&-M_3&(M_2 K_1 + M_3 K_2) \bar{I}_1&I \end{array} \right) \end{aligned}$$

(9.10)
Applying the same partitioning as in (9.12), (9.10) equals


$$\begin{aligned}\nonumber&\left( \begin{array}{cc} 0 &{}0 \\ \bigg ( \begin{array}{c} K_3 \bar{I}_3 \\ M_3 K_3 \bar{I}_3 \end{array} \bigg ) \bar{L}_2 (- \bar{I}_1 M_1, \bar{I}_1)&0 \end{array} \right) + \left( \begin{array}{cc} \bigg ( \begin{array}{c} K_1 \bar{I}_1 \\ M_1 K_1 \bar{I}_1 \end{array} \bigg ) \bar{L}_1 (-\bar{I}_1 M_1, \bar{I}_1) &{}0 \\ \left( \begin{array}{cc} -K_3 \bar{I}_3 &{}I_3 \\ \bar{I}_3 &{}M_3 I_3 \end{array} \right) \left( \begin{array}{cc} M_2 &{}0 \\ 0 &{}K_2 \end{array} \right) \left( \begin{array}{c} K_1 \bar{I}_1 \\ \bar{I}_1 \end{array} \right) \bar{L}_1 (- \bar{I}_1 M_1, \bar{I}_1)&0 \end{array} \right) \nonumber \\&\quad +\left( \begin{array}{cc} 0 &{}0 \\ \bigg ( \begin{array}{c} K_3 \bar{I}_3 \\ M_3 K_3 \bar{I}_3 \end{array} \bigg ) \bar{L}_3 \big ( \bar{I}_3, - \bar{I}_3 M_3 \big ) \bigg ( \begin{array}{cc} M_2 &{}0 \\ 0 &{}K_2 \end{array} \bigg ) \bigg ( \begin{array}{cc} - I_1 &{}- K_1 \bar{I}_1 \\ - \bar{I}_1 M_1 &{}\bar{I}_1 \end{array} \bigg ) &{}\bigg ( \begin{array}{c} I \\ M_3 \end{array} \bigg ) K_3 \bar{I}_3 \bar{L}_3 \bar{I}_3 (-M_3, I) \end{array} \right) . \nonumber \end{aligned}$$
Recall that $$\bar{L}_1 = \sum ^{k}_{i = 0} (I - G_1 L_1)^i$$, $$\bar{L}_3 = \sum ^{k}_{i = 0} (I - G_3 L_3)^i$$,


$$\begin{aligned} \bar{L}_2 = L_2 \sum ^{k}_{i = 0} (I - G_1 L_1)^i - L_3 \sum ^{k}_{i = 0} \sum _{j = 0}^{i - 1} (I - G_3 L_3)^{i-1-j} (G_2 L_1 + G_3 L_2) (I - G_1 L_1)^j. \end{aligned}$$

(9.11)
Comparison with (9.9), and using (9.7), means that we can write


$$\begin{aligned} \varPi _{\bar{M}//\bar{C}} \varvec{w}(k+1) = \underbrace{ \left[ \begin{array}{cc} \varPi _{\bar{M}_1//\bar{K}_1} &{}0 \\ \varPi _{\bar{M}_2//\bar{K}_2} &{}\varPi _{\bar{M}_3//\bar{K}_3} \end{array} \right] }_{\varPi _{\bar{M}//\bar{K}}} \varvec{w}(k+1) + \underbrace{ \left[ \begin{array}{cc} \varPi _{\bar{M}_1//\bar{L}_1} &{}0 \\ \varPi _{\bar{M}_2//\bar{L}_2} &{}\varPi _{\bar{M}_3//\bar{L}_3} \end{array} \right] }_{\varPi _{\bar{M}//\bar{L}}} \varvec{w}(k-i) \end{aligned}$$

(9.12)
where $$\varPi _{\bar{M}_1//\bar{L}_1}\varvec{w}(k+1) = \bigg ( \begin{array}{c} I \\ M_1 \end{array} \bigg ) K_1 \bar{I}_1 \bar{L}_1 \bar{I}_1 (- M_1, I) \varvec{w}(k-i) $$, $$\varPi _{\bar{M}_3//\bar{L}_3}\varvec{w}(k+1) = \bigg ( \begin{array}{c} I \\ M_3 \end{array} \bigg ) K_3 \bar{I}_3 \bar{L}_3 \bar{I}_3 (- M_3, I) \varvec{w}(k-i)$$ are the projection operators for $$[\bar{M}_1,\bar{C}_1]$$, $$[\bar{M}_3,\bar{C}_3]$$ alone, and


A352940_1_En_9_Equ13_HTML.gif

(9.13)
To bound $$\Vert \varPi _{\bar{M}_2//\bar{L}_2} \Vert $$ we follow the proof of Theorem 4.​6, with the relation


$$\begin{aligned}&\sum ^{\infty }_{i = 0} \big \Vert \sum _{j = 0}^{i - 1} (I - G_3 L_3)^{i-1-j} (G_2 L_1 + G_3 L_2) (I - G_1 L_1)^j \big \Vert \nonumber \\&\quad \le \Vert G_2 L_1 + G_3 L_2 \Vert \sum ^{\infty }_{i = 0} \Vert I - G_3 L_3 \Vert ^i \sum ^{\infty }_{i = 0} \Vert I - G_1 L_1 \Vert ^i \end{aligned}$$

(9.14)
and summing each component of (9.13) we arrive at


$$\begin{aligned}&\Vert \varPi _{\bar{M}_2//\bar{L}_2} \Vert \le \beta _{\bar{M}_2//\bar{L}_2} = \bigg \Vert \bigg ( \begin{array}{cc} - I_3 K_3 &{}I_3 \\ \bar{I}_3 &{}M_3 I_3 \end{array} \bigg ) \bigg \Vert \bigg \Vert \bigg ( \begin{array}{cc} -\bar{I}_1 M_1 &{}\bar{I}_1 \\ -I_1 &{}-K_1 \bar{I}_1 \end{array} \bigg ) \bigg \Vert \left\{ \frac{\Vert K_3 L_2 \Vert }{1 - \gamma _1} \right. \nonumber \\&\left. + \frac{\Vert K_3 L_3 \Vert \Vert G_2 L_1 + G_3 L_2 \Vert }{(1 - \gamma _1)(1 - \gamma _3)} + \bigg \Vert \bigg ( \begin{array}{cc} M_2 &{}0 \\ 0 &{}K_2 \end{array} \bigg ) \bigg \Vert \left( \frac{ \bigg \Vert \bigg ( \begin{array}{c} K_1 \bar{I}_1 \\ \bar{I}_1 \end{array} \bigg ) L_1 \bigg \Vert }{1 - \gamma _1} + \frac{\Vert K_3 L_3 \Vert \Vert (\bar{I}_3, -\bar{I}_3 M_3 ) \Vert }{1 - \gamma _3} \right) \right\} . \end{aligned}$$

(9.15)
Hence from (9.12)


$$\begin{aligned}\nonumber&\Vert \varPi _{\bar{M}//\bar{C}} \Vert \le \beta _{\bar{M}//\bar{C}} = \left\| \left[ \begin{array}{cc} \beta _{\bar{M}_1//\bar{C}_1} &{}0 \\ \beta _{\bar{M}_2//\bar{C}_2} &{} \beta _{\bar{M}_3//\bar{C}_3} \end{array} \right] \right\| \;\; \text {where} \;\; \beta _{\bar{M}_j//\bar{C}_j} = \beta _{\bar{M}_j//\bar{K}_j} + \beta _{\bar{M}_j//\bar{L}_j}, \nonumber \end{aligned}$$
with $$\Vert \varPi _{\bar{M}_j//\bar{C}_j} \Vert \le \beta _{\bar{M}_j//\bar{C}_j}$$, $$\Vert \varPi _{\bar{M}_j//\bar{L}_j} \Vert \le \beta _{\bar{M}_j//\bar{L}_j}$$. Adding bounds on (9.8) and (9.15) gives (9.6). Since $$[M_i |_{\varvec{z}(k)}, K_i]$$ is independent of plant dynamics A352940_1_En_9_IEq75_HTML.gif, A352940_1_En_9_IEq76_HTML.gif, then nominal closed-loop properties $$\varvec{\varPhi }_i = G_i \varvec{v}_i$$, $$\varvec{z}_i = M_i \varvec{z}_i$$ are preserved.   $$\square $$

Theorem 9 shows that a robust stability margin exists if $$K_i$$, $$L_i$$ are designed to minimise $$\beta _{\bar{M}_i//\bar{C}_i}$$, A352940_1_En_9_IEq83_HTML.gif, A352940_1_En_9_IEq84_HTML.gif are designed to minimise A352940_1_En_9_IEq85_HTML.gif, and A352940_1_En_9_IEq86_HTML.gif, A352940_1_En_9_IEq87_HTML.gif, A352940_1_En_9_IEq88_HTML.gif, A352940_1_En_9_IEq89_HTML.gif are stable operators. In particular, condition (9.5) reveals the dual aims of the designer:

Sep 25, 2016 | Posted by in PHYSICAL MEDICINE & REHABILITATION | Comments Off on Clinical Application: Fully Functional Stroke Rehabilitation

Full access? Get Clinical Tree

Get Clinical Tree app for offline access