SYSTEMS AND METHODS FOR APPROXIMATING MUSCULOSKELETAL DYNAMICS
20240130870 ยท 2024-04-25
Inventors
- Anton Sobinov (Morgantown, WV, US)
- Sergiy Yakovenko (Morgantown, WV, US)
- Valeriya Gritsenko (Morgantown, WV, US)
- Matthew Boots (Morgantown, WV, US)
Cpc classification
A61F2002/6872
HUMAN NECESSITIES
A63B2230/605
HUMAN NECESSITIES
A61B5/1107
HUMAN NECESSITIES
G06F3/011
PHYSICS
A61F2002/6827
HUMAN NECESSITIES
G06F3/015
PHYSICS
A61H2230/605
HUMAN NECESSITIES
International classification
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
A61B5/11
HUMAN NECESSITIES
Abstract
A system and method for controlling a device, such as a prosthetic limb are provided. A biomimetic controller of the system comprises a signal processor and a musculoskeletal model. The signal processor processes M biological signals received from a residual limb to transform the M biological signals into N activation signals, where M and N are integers and M is less than N. The musculoskeletal model transforms the N activation signals into intended motion signals. A prosthesis controller transforms the intended motion signals into three or more control signals that are outputted from an output port of the prosthesis controller. A controlled device receives the control signals and performs one or more tasks in accordance with the control signals.
Claims
1. A system comprising: a controller comprising a processor and a memory; and machine-readable instructions stored in the memory that, when executed by the processor, cause the controller to at least: receive at least one biological signal from a residual limb; expand the at least one biological signal into one or more activation signals based at least in part on a polynomial associated with musculoskeletal dynamics of the residual limb; transform the one or more activation signals into one or more intended motion signals based at least in part on a plurality of approximated muscle dynamics; and transform the one or more intended motion signals into one or more control signals.
2. The system of claim 1, further comprising: a controlled device in communication with the controller; and wherein execution of the machine-readable instructions further cause the controller to at least send the one or more control signals to the controlled device.
3. The system of claim 2, wherein the controlled device comprises an active assistive device selected from a group consisting of an exoskeleton system and a muscle stimulation system.
4. The system of claim 2, wherein the controlled device comprises a computer interface device selected from a group consisting of a gaming controller system, a gesture-based interactive system, a drone, and a robot.
5. The system of claim 1, wherein execution of the machine-readable instructions cause the controller to expand the at least one biological signal into one or more activation signals, and further cause the controller to at least: receive an input dataset associated with muscle length and moment arms corresponding to the residual limb; generate at least one approximation polynomial based at least in part on the input dataset; and expand the at least one biological signal into one or more activation signals based at least in part on the approximation polynomial.
6. The system of claim 5, wherein execution of the machine-readable instructions further cause the controller to at least: generate a candidate list of terms for expanding the approximation polynomial; expand the approximation polynomial by a best candidate term from the candidate list of terms to yield an expanded approximation polynomial; and approximate the musculoskeletal dynamics of the residual limb based at least in part on the expanded approximation polynomial.
7. A method for controlling a device comprising: receiving, by a controller, at least one biological signal from a residual limb; expanding, by the controller, the at least one biological signal into one or more activation signals based at least in part on a polynomial associated with musculoskeletal dynamics of the residual limb; transforming, by the controller, the one or more activation signals into one or more intended motion signals based at least in part on a plurality of approximated muscle dynamics; and transforming, by the controller, the one or more intended motion signals into one or more control signals.
8. The method of claim 7, further comprising at least: receiving, by the controller, an input dataset associated with muscle length and moment arms corresponding to the residual limb; generating, by the controller, at least one approximation polynomial based at least in part on the input dataset; and expanding, by the controller, the at least one biological signal into one or more activation signals based at least in part on the approximation polynomial.
9. The method of claim 7, further comprising at least: generating, by the controller, a candidate list of terms for expanding the approximation polynomial; expanding, by the controller, the approximation polynomial by a best candidate term from the candidate list of terms to yield an expanded approximation polynomial; and approximating, by the controller, the musculoskeletal dynamics of the residual limb based at least in part on the expanded approximation polynomial.
10. The method of claim 7, further comprising sending, by the controller, the one or more control signals to a controlled device.
11. The method of claim 10, wherein the controlled device comprises an active assistive device selected from a group consisting of an exoskeleton system and a muscle stimulation system.
12. The method of claim 10, wherein the controlled device comprises a computer interface device selected from a group consisting of a gaming controller system, a gesture-based interactive system, a drone, and a robot.
13. A system comprising: a controller comprising a processor, the controller configured to at least: receive at least one biological signal from a residual limb; execute a signal processing algorithm to expand the at least one biological signal into one or more activation signals based at least in part on a polynomial associated with musculoskeletal dynamics of the residual limb; execute a modeling algorithm to transform the one or more activation signals into one or more intended motion signals based at least in part on a plurality of approximated muscle dynamics; and execute a control algorithm to transform the one or more intended motion signals into one or more control signals.
14. The system of claim 13, further comprising: a controlled device in communication with the controller; and wherein the controller is further configured to at least send the one or more control signals to the controlled device.
15. The system of claim 14, wherein the controlled device comprises an active assistive device selected from a group consisting of an exoskeleton system, a muscle stimulation system, and a prosthetic limb.
16. The system of claim 14, wherein the controlled device comprises a computer interface device selected from a group consisting of a gaming controller system, a gesture-based interactive system, a drone, and a robot.
17. The system of claim 13, wherein executing the signal processing algorithm further causes the controller to at least: receive an input dataset associated with muscle length and moment arms corresponding to the residual limb; generate at least one approximation polynomial based at least in part on the input dataset; and expand the at least one biological signal into one or more activation signals based at least in part on the approximation polynomial.
18. The system of claim 17, wherein executing the signal processing algorithm further causes the controller to at least: generate a candidate list of terms for expanding the approximation polynomial; expand the approximation polynomial by a best candidate term from the candidate list of terms to yield an expanded approximation polynomial; and approximate the musculoskeletal dynamics of the residual limb based at least in part on the expanded approximation polynomial.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Many aspects of the invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTION
[0035] Representative embodiments of the present disclosure are directed to various embodiments of a system and method for controlling a device, such as a virtual reality (VR) and/or a prosthetic limb. In accordance with an embodiment, a biomimetic controller of the system comprises a signal processor and a musculoskeletal model. The signal processor processes M biological signals received from a residual limb to transform the M biological signals into N activation signals, where M and N are integers and M is less than N. The musculoskeletal model transforms the N activation signals into intended motion signals. A prosthesis controller transforms the intended motion signals into control signals that are outputted from an output port of the prosthesis controller. A controlled device receives the control signals and performs one or more tasks in accordance with the control signals.
[0036] The above-referenced PCT international application number PCT/US2008/051575 (hereinafter referred to as the parent application), which is the parent application of the present application, discloses, inter alia, an approximation method that includes the steps of acquiring or receiving an input dataset associated with muscle lengths and moment arms for a plurality of physiological postures of a body limb, preselecting respective polynomials that approximate the muscle moment arms and lengths, generating respective lists of one or more candidates for expanding each respective polynomial, selecting a respective candidate for expanding each polynomial based on respective estimates of which of the candidates is the most suitable candidate, expanding the respective polynomials by the respective selected candidates, determining whether further expansion of the polynomials is possible and would be sufficiently beneficial to warrant expansion. If so, the process returns to the step of generating respective lists of candidates for expansion followed by the step of selecting the respective suitable candidates. If not, the musculoskeletal dynamics of the limb are estimated based on the latest structure of the polynomials.
[0037] In accordance with a preferred embodiment, the approximation method disclosed in the parent application is performed to obtain the structures of the polynomials a priori. Then, in accordance with embodiments disclosed herein, the polynomial structures obtained are used in a biomimetic controller to estimate musculoskeletal dynamics in real-time or near-real time in order to simultaneously control multiple DOFs of some device, such as a real prosthesis device, for example.
[0038] For completeness, prior to describing representative embodiments in accordance with the inventive principles and concepts of the present disclosure, portions of the parent application are repeated herein with reference to
[0039] In the following detailed description, for purposes of explanation and not limitation, example embodiments disclosing specific details are set forth in order to provide a thorough understanding of an embodiment according to the present teachings. However, it will be apparent to one having ordinary skill in the art having the benefit of the present disclosure that other embodiments according to the present teachings that depart from the specific details disclosed herein remain within the scope of the appended claims. Moreover, descriptions of well-known apparatuses and methods may be omitted so as to not obscure the description of the example embodiments. Such methods and apparatuses are clearly within the scope of the present teachings.
[0040] The terminology used herein is for purposes of describing particular embodiments only, and is not intended to be limiting. The defined terms are in addition to the technical and scientific meanings of the defined terms as commonly understood and accepted in the technical field of the present teachings.
[0041] As used in the specification and appended claims, the terms a, an, and the include both singular and plural referents, unless the context clearly dictates otherwise. Thus, for example, a device includes one device and plural devices.
[0042] Relative terms may be used to describe the various elements' relationships to one another, as illustrated in the accompanying drawings. These relative terms are intended to encompass different orientations of the device and/or elements in addition to the orientation depicted in the drawings.
[0043] It will be understood that when an element is referred to as being connected to or coupled to or electrically coupled to another element, it can be directly connected or coupled, or intervening elements may be present.
[0044] The term memory or memory device, as those terms are used herein, are intended to denote a non-transitory computer-readable storage medium that is capable of storing computer instructions, or computer code, for execution by one or more processors or controllers. References herein to memory or memory device should be interpreted as one or more memories or memory devices. The memory may, for example, be multiple memories within the same computer system. The memory may also be multiple memories distributed amongst multiple computer systems or computing devices.
[0045] A controller, as that term is used herein, encompasses an electronic component that is able to execute a computer program or executable computer instructions. A controller may also refer to a collection of controllers. A controller may comprise one or more processors, such as, for example, a microprocessor or microcontroller.
[0046] Exemplary, or representative, embodiments will now be described with reference to the figures, in which like reference numerals represent like components, elements or features. It should be noted that features, elements or components in the figures are not intended to be drawn to scale, emphasis being placed instead on demonstrating inventive principles and concepts.
[0047] For purposes of demonstrating the inventive principles and concepts, the systems and methods will be described with reference to approximating complex musculoskeletal dynamics of the right arm and hand of a human being. However, persons of skill in the art will understand, in view of the description provided herein, that the systems and methods described herein can be used to approximate the musculoskeletal dynamics of any anatomical feature.
[0048]
TABLE-US-00001 TABLE 1 id Name Range, rad Description 1 ra_wr_s_p ?1.5708 1.5708 wrist pronation/ supination motion 2 ra_wr_e_f ?1.2217 1.2217 wrist flexion/ extension motion 3 ra_cmc1_f_e 0 0.8727 thumb proximal flexion/ extension motion 4 ra_cmc1_ad_ab 0 0.8727 thumb proximal abduction/ adduction motion 5 ra_mcp1_f_e ?0.7854 0 thumb central flexion/ extension motion 6 ra_ip1_f_e ?1.5708 0 thumb distal flexion/ extension motion 7 ra_mcp2_e_f 0 1.5708 index proximal flexion/ extension motion 8 ra_pip2_e_f 0 2.0944 index central flexion/ extension motion 9 ra_dip2_e_f 0 1.5708 index distal flexion/ extension motion 10 ra_mcp3_e_f 0 1.5708 middle proximal flexion/ extension motion 11 ra_pip3_e_f 0 2.0944 middle central flexion/ extension motion 12 ra_dip3_e_f 0 1.5708 middle distal flexion/ extension motion 13 ra_mcp4_e_f 0 1.5708 ring proximal flexion/ extension motion 14 ra_pip4_e_f 0 2.0944 ring central flexion/ extension motion 15 ra_dip4_e_f 0 1.5708 ring distal flexion/ extension motion 16 ra_mcp5_e_f 0 1.5708 pinky proximal flexion/ extension motion 17 ra_pip5_e_f 0 2.0944 pinky central flexion/ extension motion 18 ra_dip5_e_f 0 1.5708 pinky distal flexion/ extension motion 19 ra_el_e_f 0 2.2689 elbow flexion/ extension motion The list of simulated DOFs. The last two suffixes separated by underscores indicate the direction of the motion, e.g., s_p indicates the motion from supinated to pronated posture.
TABLE-US-00002 TABLE 2 id Name Full name DOFs 1 BIC_LO Biceps brachii long 19 1 head 2 BIC_SH Biceps brachii short 19 1 head 3 BRR Brachioradialis 19 1 4 SUP Supinator 1 5 PT Pronator teres 1 6 PQ Pronator quadratus 1 7 ECR_LO Extensor carpi radialis 1 2 longus 8 ECR_BR Extensor carpi radialis 1 2 brevis 9 ECU Extensor carpi ulnaris 1 2 10 FCR Flexor carpi radialis 1 2 11 FCU Flexor carpi ulnaris 1 2 12 PL Palmaris longus 1 2 13 FDS5 Flexor digitorum 2 16 17 superficialis (pinky finger) 14 FDS4 Flexor digitorum 2 13 14 superficialis (ring finger) 15 FDS3 Flexor digitorum 2 10 11 superficialis (middle finger) 16 FDS2 Flexor digitorum 2 7 8 superficialis (index finger) 17 FDP5 Flexor digitorum 2 16 17 18 profundus (pinky finger) 18 FDP4 Flexor digitorum 2 13 14 15 profundus (ring finger) 19 FDP3 Flexor digitorum 2 10 11 12 profundus (middle finger) 20 FDP2 Flexor digitorum 2 7 8 9 profundus (index finger) 21 EDM Extensor digiti minimi 2 16 17 18 22 ED5 Extensor digitorum 2 16 17 18 (pinky finger) 23 ED4 Extensor digitorum 2 13 14 15 (ring finger) 24 ED3 Extensor digitorum 2 10 11 12 (middle finger) 25 ED2 Extensor digitorum 2 7 8 9 (index finger) 26 EIND Extensor indicis 2 7 8 9 27 EPL Extensor pollicis 1 2 4 3 5 6 longus 28 EPB Extensor pollicis 2 4 3 5 brevis 29 FPB Flexor pollicis brevis 4 3 5 30 FPL Flexor pollicis longus 2 4 3 5 6 31 APL Abductor pollicis 1 2 4 3 longus 32 OP Opponens pollicis 4 3 33 APB Abductor pollicis 4 3 5 brevis 34 ADPT Adductor pollicis 4 3 5 transversus The list of simulated muscles. The list of DOFs that each muscle spans is shown with the list of id values from the previous table.
[0049] To compare quality for the approximations with different known methods that are described below, a dataset (total 1,023,474 points) was used that combined the points used for the creation of the models (675,162, grid of 9 points per DOF per muscle), and an additional test dataset between the fitting data (348,312, grid of 8 points per DOF per muscle).
[0050] The aforementioned preselected polynomials that approximate the muscle moment arms and lengths have the polynomial structure given by Equation 1:
where a is an intercept, ? is the user-selected maximum of polynomial power, d is the number of DOFs, x=(x.sub.1, . . . , x.sub.d).sup.T is the state vector for each DOF, M is the multidimensional matrix of polynomial terms, and indices in sums and product start at 1. The non-zero values of M and the intercept define the polynomial structure. For example, extensor carpi ulnaris moment arms are described by (a, M.sub.0, M.sub.1, M.sub.00, M.sub.01, M.sub.11, M.sub.000, M.sub.001, M.sub.011, M.sub.111) around elbow flexion-extension, and (a, M.sub.0, M.sub.00, M.sub.01, M.sub.11, M.sub.000, M.sub.001, M.sub.011, M.sub.111) around wrist pronation-supination, where index 0 is pronation-supination and 1 is flexion-extension. Values for these non-zero elements were obtained using a known linear pseudoinverse, such as, for example, the Moore-Penrose inverse. As will be described below in more detail, in accordance with a preferred embodiment, terms are added to the polynomial structure given by Equation 1 as needed to improve the approximation, but in a way that greatly reduces the amount of time and resources required to perform the approximation computations.
[0051]
[0052]
[0053] With reference to
[0054] In accordance with a preferred embodiment, the approximation method is constrained by a known relationship that exists between muscle length and the associated moment arms, which is given below by Equation 2. Moment arms can be estimated as a partial differential of the associated muscle length in local coordinates as:
where i is the index of a DOF actuated by the muscle, x.sub.i is the coordinate of DOF i, M.sub.i(x) is the posture-dependent function of the muscle's moment arm around DOF i, L(x) is the function of muscle length. In accordance with a preferred embodiment, the relationship expressed by Equation 2 is used to constrain the polynomial terms used in the approximation functions for the kinematic variables (P.sub.L(x), {P.sub.Mi(x)}), as will now be described with reference to
[0055]
[0056] With reference to
[0057] For example, let x=(x.sub.1, x.sub.2), P.sub.L=2x.sub.1x.sub.2.sup.2, P.sub.M1=3x.sub.1.sup.3+2, P.sub.M2=5x.sub.1x.sub.2. Then P.sub.L1=x.sub.1.sup.4+2x.sub.1+const, P.sub.L2=2.5x.sub.1x.sub.2.sup.2+const. And the resulting polynomial functions adhering to Eq. 2 are: L=C.sub.0+C.sub.1x.sub.1x.sub.2.sup.2+C.sub.2x.sub.1.sup.4+C.sub.3x.sub.1, M.sub.1=C.sub.4x.sub.2.sup.2+C.sub.5x.sub.1.sup.3+C.sub.6, M.sub.2=C.sub.7x.sub.1x.sub.2, where coefficients C.sub.0-7 are calculated using the original dataset and a linear pseudoinverse. Similarly, it can be easily described using structures: P.sub.L:(M.sub.122), P.sub.M1:(a, M.sub.111), P.sub.M2:(M.sub.12); therefore P.sub.L1:(a, M.sub.1, M.sub.1111), P.sub.M2:(a, M.sub.122); and so L:(a, M, M.sub.122, M.sub.1111), M.sub.1:(a, M.sub.22, M.sub.111), M.sub.2(M.sub.12).
[0058] The process then continues to the step represented by block 16 described above with reference to
where f is the approximation function, AIC is the Akaike Information Criterion, k is the number of parameters in the model, N is the number of data points, and L is the maximum likelihood of the polynomial representing this dataset.
[0059] For demonstrative purposes, the AIC calculation assumes a normal distribution of residuals and is based on normalized root means squared
The kinematic variables are normalized to preserve consistency in term N.Math.ln(RMS) across DOFs. Muscle lengths are normalized to the range of motion, and moment arms are normalized to the maximum magnitude across postures. If all functions cannot expand anymore (length of ?(F) is zero) or if the AICc did not improve in the current iteration, the approximation performs the step represented by block 17 and finishes.
[0060]
[0061] The inventors identified how similar the muscles' structures obtained were with adherence to Eq. 2 (flow diagram of
where N.sub.C, N.sub.ANC, N.sub.BNC are the number of terms in P.sub.C, P.sub.ANC, P.sub.BNC, respectively. SI increases from 0% to 100% when the composition of identical terms increases in two polynomials. The use of Eq. 2 in the search for polynomial terms (flow diagram 4) creates similar polynomials (mean SI>90) and increases the search speed.
[0062] The inventors analyzed the similarity of polynomials from different muscles without the bias from the DOFs that each muscle crosses. To do that, the inventors introduced a DOF-independent polynomial vector for each muscle's musculotendon length polynomial. The Agnostic polynomial vector v=(v.sub.1, . . . , v.sub.n).sup.T of a polynomial is a nonnegative (v.sub.i?0) unit-vector (?.sub.i.sup.nv.sub.i.sup.2=1) with length equal to the number of possible term power compositions in a full polynomial of power ?=5 and maximum muscle dimensionality d=6: n=18. Each element of the vector corresponds to a specific power combination in an ordered list. If a power combination on place i is present in a muscle length polynomial, then v.sub.i is equal to the modulus of the M coefficient (Eq. 1), otherwise v.sub.i=0. The order of power combinations is: [(1, 1, 1, 1, 1), (1, 1, 1, 1), (1, 1, 1, 2), (1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1), (1, 2, 2), (1, 2), (1, 3), (1, 4), (1), (2, 2), (2, 3), (2), (3), (4), (5)]. For example, letting P.sub.L=C.sub.1x.sub.1x.sub.2.sup.2+C.sub.2x.sub.1.sup.2x.sub.2+C.sub.3x.sub.1.sup.3+C.sub.4x.sub.1+C.sub.5x.sub.2+C.sub.6, then its vector would have [v.sub.9=|C.sub.1|+|C.sub.2|;v.sub.12=|C.sub.4|+|C.sub.5|;v.sub.16=|C.sub.3|] and all other elements zero. The structural difference of two polynomials was obtained as the Euclidian distance between their vectors. The structural difference is minimal when power composition of all terms and their absolute coefficients are similar in both polynomials even if they cross different DOFs, and large when their power compositions do not have same terms.
[0063] The inventors calculated the amount of memory required for spline approximation as a size of MATLAB's .mat files that contained single-precision spline parameters saved using -v7.3 flag, which enables compression. The inventors calculated the amount of memory required for polynomials as the size of executable .mexw64 files compiled with Visual Studio 2017 C++ with /O2 optimization. The amount of time required to perform the evaluation was obtained using MATLAB's Profiler. Individual samples for mean and standard deviation of evaluation time were obtained per muscle's dataset during estimation of quality of fit. All computations were performed on a regular personal computer (DELL Precision Workstation T5810 XL with Intel Xeon processor E5-2620 v3 2.4 GHz, 64 GB DDR4 RAM, SK Hynix SH920 512 GB SSD operating under Windows 10).
[0064] The composition of approximating polynomials was analyzed with standard statistical tools to test their validity. The root mean square values were used to evaluate errors in the approximated values relative to the dataset used for fitting and the independent testing dataset. The linear regression was used to test the relationship between the complexity of a muscle's physiological function in the form of the number of DOFs it spans and the complexity of the approximating polynomials.
[0065] The similarity of composition across multiple muscle groups was tested with the dimensionality reduction analyses, i.e., principle component analysis (PCA) and hierarchical clustering. The Euclidian distance between the muscle vectors in the DOF-independent basis (described above) was first analyzed with the average linkage hierarchical clustering implemented in SciPy. It is a common approach where the distance from a cluster to another cluster is an average distance between elements of these two clusters. Then, the dominant relationship in this distribution of muscle vectors was analyzed with PCA (Scikit-learn module).
[0066] The representation of structural and functional information within the polynomial structure was further tested by comparing the distributions of the distances between muscles with similar and different structure or function. The normality of these distributions was tested with D'Agostino's K-squared test that measures deviation from normal skewness and kurtosis. For normal distributions, a one-tailed t-test was used to test if distances between similar (functionally or structurally) muscles was smaller than distances between dissimilar muscles. The non-normal distributions were compared with Mann-Whitney U test (from SciPy module), which calculates the likelihood that a sample from one distribution will be less than a sample from another distribution. This test is nearly as efficient as t-test on normal distributions. Additionally, a simpler one-sample test was performed to compare the differences between elements in the two distributions to zero. A sign test was used to test if the median of that distribution was below zero. The sign test was used instead of the Wilcoxon signed-rank test, because the latter assumes symmetrical distribution of differences around the median.
Results
Approximation of Muscle Lengths and Moment Arms
[0067]
[0068]
[0069] A combination of fitting and testing of the dataset was used to evaluate the precision of the known spline model and the polynomial model in accordance with the inventive principles and concepts. Splines and both types of polynomials (adhering and not adhering to the constraint described by Eq. 2) approximate moment arms with <3% error and muscle length with <0.2% error, as can be seen from
TABLE-US-00003 TABLE 3 The comparison of spline and two polynomial approximations with (constrained) and without (unconstrained) the constraint linking muscle lengths and moment arms, as described by algorithm in Model Physical Constraints in Methods. Values are given ? standard deviation and maximum absolute percent. Approximation used methods used: CS-cubic splines, UP-unconstrained polynomials, CP-constrained polynomials. Normalized Normalized error Total number error, % w/o outliers, % of parameters AIC, au Method L MA L MA L MA L MA CS ?1*10.sup.?4 ? ?0.018 ? ?1*10.sup.?4 ? ?0.018 ? 1.1*10.sup.9 16.4*10.sup.9 2.2*10.sup.9 3.2*10.sup.10 1.2*10.sup.?2, 0.27, 19.46 5.8*10.sup.?3, 0.06 0.22, 1.85 1.23 UP ?2*10.sup.?4 ? ?0.024 ? ?1*10.sup.?4 ? ?0.025 ? 644 749 ?1.6*10.sup.7 ?1.0*10.sup.7 5.2*10.sup.?2, 0.65, 18.68 3.0*10.sup.?2, 0.14 0.54, 2.52 2.5 CP ?2*10.sup.?4 ? ?0.024 ? ?1*10.sup.?4 ? ?0.025 ? 700 841 ?1.6*10.sup.7 ?1.0*10.sup.7 5.2*10.sup.?2, 0.65, 17.77 3.0*10.sup.?2, 0.14 0.54, 2.52 2.4
TABLE-US-00004 TABLE 4 Time and memory requirements of approximations methods for kinematic variables. Time of Time of evaluation, generation, Method ms min Memory, KB CS 128.6633 ? 6.0872 33 17,800,000 UP 0.0147 ? 0.0017 297 139 CP 0.0161 ? 0.0030 114 166
[0070] The distribution of evaluation time for splines and polynomial models was obtained by separating the dataset into 30 muscle-based groups and measuring time spent evaluating the approximation function in each of the groups. Both polynomial models generated with and without Eq. 2 (constrained and unconstrained) are evaluated faster than the spline approximation models (over 10.sup.4 times faster, Table 4) and require less memory (10.sup.5 times smaller). When the relationship between muscle length and moment arm associated with Eq. 2 contributed to the selection of polynomial terms, as described above with reference to
Structure of Approximating Polynomials
[0071] Both polynomial models are similar in composition. We examined the difference in polynomial structure, i.e., the presence or absence of terms in functions for muscle lengths, calculated with and without adherence to the length-moment arm constraint (Eq. 1) for the same muscle. With reference again to
[0072] The number of polynomial terms in the muscle length grows with the number of degrees of freedom that a muscle crosses (
Structure and Function
[0073] To investigate the information embedded within the polynomials of all muscles, the inventors developed DOF-independent vectors that represented the relative contribution of terms with specific power composition to the overall profile of muscle length polynomial. These nonnegative unit-vectors belong to a space where each axis corresponds to a power composition of a polynomial term with maximum total power of 5 (e.g. x.sub.i.sup.2x.sub.j has power composition (2, 1)). Differences between muscles were then measured as Euclidean distances between their vectors. To visualize the resulting 18-dimensional space, the inventors generated a heatmap with a dendrogram (
[0074] It can be noted in
[0075]
[0076] To determine whether the muscle vectors contain information about their anatomical structure, the inventors performed attest to determine whether muscles crossing the same DOFs will be closer to each other in the vector space than to muscles that do not cross the DOF. To do that, the inventors generated three distributions: distances between muscles that share a DOF (
[0077] All three distributions 71-73 were not normal (D'Agostino, p<10.sup.?8). The first two distributions 71 and 72 were significantly different with muscles that have similar anatomical paths being closer to each other (Mann-Whitney U=8.Math.10.sup.5, p<10.sup.?8). The median of the third distribution 73 was less than zero (sign test, p<10.sup.?8). These results support that DOF-independent muscle vectors contain information on muscle anatomy.
[0078] To determine whether the muscle vectors contain information about their physiological function, not explained by the anatomical similarities, the inventors performed tests to determine whether muscles that share a DOF, but have different functions, will be farther apart than muscles that share a DOF and have similar function. Again, three distributions 74-76 were generated: distances between muscles that share a DOF and are within the same functional group (
[0079] All three distributions 74-76 were again not normal (D'Agostino, p<10.sup.?8). The distributions 74 and 75 were significantly different with muscles that have similar function being closer to each other (Mann-Whitney U=5.Math.10.sup.6, p<10.sup.?8). The median of the third distribution 76 was less than zero (sign test, p<10.sup.?8). These results support the conclusion that DOF-independent muscle vectors contain information on muscle function not explained by the muscle anatomy.
[0080] Although both tests showed significance, the median in
[0081]
[0082] The prosthesis controller 105 converts the intended motion signals into control signals, which are outputted from the prosthesis controller 105 and inputted to a prosthesis device 106 that is worn by a subject, or patient (not shown). The prosthesis device 106 performs one or more tasks in accordance with the control signals received from the prosthesis controller 105.
[0083] In accordance with an embodiment, the prosthesis device 106 comprises one or more sensors that detect motion of the prosthesis device 106 as it performs one or more tasks in accordance with the control signals received from the prosthesis controller 105. The output of the sensor(s) is fed back to the Poly block 104. The Poly block 104 uses this feedback in approximating the muscle dynamics in accordance with the approximation method of the parent application described above with reference to
[0084] In accordance with another embodiment, the system 100 includes one or more instrumented objects 107 that the prosthesis device 106 interacts with while performing tasks. The instrumented object(s) 107 output feedback signals that reflect the motion of the instrumented object(s) and/or interaction (e.g., gripping, picking up) between the prosthesis device 105 and the instrumented object(s) 107. These feedback signals may be used by the signal processor 101 to expand the M biological signals into the N activation signals.
[0085] Biological signals can be grouped into agonists and antagonists based on their anatomy. This relationship can be represented mathematically to expand sparse biological signals into higher-dimensional activation signals. The activation signals produce movements through mechanical coupling, which defines the space of independent DOFs that are possible given the particular set of sparse biological signals.
[0086] Thus, in the system 100, the number of available biological signals is smaller than the number of activation signals and is smaller than the number of DOFs that are controlled by the prosthesis controller 105. In accordance with a representative embodiment, the system 100 is capable of simultaneously controlling at least three DOFs, and typically at least four DOFs, with a loop time that can be less than 2 milliseconds (ms), which is not believed to have been possible until the present invention. The loop time is defined as the time between the moment of sending a packet of biological signals to the system 100 and the moment of a set of output control signals from the controller 105, at which point the system is ready to process the next packet of biological signals.
[0087] Although it will be understood that the inventive principles and concepts presented herein are not limited to any particular anatomical feature, examples of DOFs, as that term is used herein, include: [0088] 1 DOF is flexion/extension of 2nd-5th metacarpophalangeal joints driven by a single control signal (all fingers 2-5 move together); [0089] 1 DOF is flexion/extension of 1st carpometacarpal joint of the thumb driven by a single control signal (independent control of the thumb); [0090] 1 DOF is abduction/adduction of 1st carpometacarpal joint of the thumb driven by a single control signal (independent control of the thumb); and [0091] 1 DOF is flexion/extension of wrist joint driven by a single control signal (independent control of the wrist).
[0092]
[0093] The prosthesis controller 105 converts the intended motion signals into control signals, which are outputted from the prosthesis controller 105 and inputted to the VR prosthesis system 108 that is worn by a subject or patient (not shown). The VR prosthesis system 108 moves the avatar of the prosthesis or the user's hand in accordance with the control signals received from the prosthesis controller 105. Direct control of four or more DOFs of the avatar can mean, but is not limited to, virtual gripper opening and closing with simultaneous flexion or extension and rotation of the wrist and flexion or extension or the elbow.
[0094] In accordance with this embodiment, the VR prosthesis system 108 measures virtual motions it performs or virtual interactions it performs with one or more objects in accordance with the control signals received from the prosthesis controller 105 and outputs feedback signals that reflect the virtual motions and/or virtual interactions. These feedback signals may be used by the signal processor 101 when it performs the algorithm described above that expands the M biological signals into the N activation signals.
[0095] In addition, the intended motion signals are fed back to the Poly block 104 and processed by the Poly block 104 to approximate the muscle dynamics that are delivered to the musculoskeletal model 103. The musculoskeletal model 103 processes the activation signals and the approximated muscle dynamics to generate the intended motion signals, which are then processed by the prosthesis controller 105 to generate the control signals that are delivered to the VR system 108.
[0096] The feedback signals and the manner in which they are processed in the system 120 allow the control signals that are delivered to the VR system 108 to be varied to achieve more precise control of the VR system 108. This, in turn, allows the VR system 108 to be used for training.
[0097] Despite technological advances in prosthetic design, myoelectric prostheses can be difficult to control. The forethought required to operate this type of device in a complex way can be quite burdensome. This can lead to passive-use of the device, which can have detrimental effects on the contralateral limb due to overuse. Moreover, several studies suggest an increased rate of rejection of myoelectric prostheses with lengthened follow-up. Providing extensive training as well as intuitive and robust control for myoelectric prostheses may reduce injuries and increase usability.
[0098] In an experimental setup of the system 120 shown in
[0099] The system 120 can function as a tool to improve fitting, adjustment, and usability of high DOF prostheses. The system 120 can encompass all phases of interactions between health professionals and patients, including preliminary prosthesis selection using virtual reality at home, clinic-based fitting and assessment of patient performance with the prosthesis, and clinic- and home-based rehabilitation. The clinicians can tune the prosthesis controller 105 to the patient's needs and to the level of amputation, which determines the number of available biological signals and, consequently, the number of available functions. Patients would be more involved in the prosthesis selection process through testing and familiarization with multiple devices and controller settings. Through better understanding of the needs and limitations of the user at the beginning of the process, clinicians can more efficiently fit complex prosthetics and provide customized training.
[0100]
[0101]
[0102] It should be noted that although the inventive principles and concepts disclosed herein have been described with reference the prosthesis controller 105 controlling a prosthesis device 106 (e.g., a prosthetic limb) or a VR prosthesis system 108, the controlled device may be other types of devices such as, for example, active assistive devices (e.g. exoskeletons, muscle stimulation systems, etc.), computer interface devices (e.g., game controllers, gesture-based interactive systems, etc.), and other peripherals (e.g., drones, robotic devices, etc.).
[0103] As indicated above, the four or more control signals cause the controlled device to move that many or fewer DOFs of the prosthesis or other device under the direct and simultaneous control of the biological signals. For example, the control signals can cause the controlled device to perform one or more tasks with at least four DOFs with a loop time that is less than 2 ms.
[0104]
[0105]
[0106]
[0107] The methods described above are typically implemented in software, firmware, or a combination thereof, executed on one or more processors, controllers or computers. Alternatively, the methods may be implemented solely in hardware, such as a state machine or an application specific integrated circuit (ASIC), for example. The software, firmware, or combination thereof, is stored in one or more memory devices that may be part of the biomimetic controller 101 or the prosthesis controller 105, depending on which part of the method is being performed.
[0108]
[0109] It should be emphasized that the above-described embodiments of the present invention, particularly, any preferred embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the spirit and principles of the invention. All such modifications and variations are intended to be included herein within the scope of this disclosure.
[0110] For example, while the inventive principles and concepts have been described herein with reference to controlling a prosthetic 50, the described software and/or firmware can be used in other applications that require fast and memory-efficient approximation of complex multidimensional data, such as, for example, with robots or autonomous drones controlled by small chips that need to approximate information about interactions with objects or terrain, that are originally calculated using systems of differential equations.