Claims
- 1. A method of developing electrical control signals from physiological electrical activity of a human or animal subject comprising:
(a) providing a computational processor, (b) repeatedly detecting physiological electrical impulses from at least one electrical impulse producing units in or on the subject, (c) repeatedly supplying to the computational processor electrical representations of one or more characteristics of the electrical impulses, (d) repeatedly, using the computational processor, calculating, from the electrical representations, movements of at least one physical or computer generated movable object in at least one dimension based on an algorithm programmed in the computational processor, (e) repeatedly moving the at least one movable object by the calculated amount in a manner discernable to the subject, and (f) repeatedly modifying one or more terms of the algorithm to enhance movements of the at least one movable object approaching a predetermined movement in response to further detected electrical impulses.
- 2. The method according to claim 1, wherein step (d) comprises applying the algorithm to representations of one or more characteristics of the detected electrical activity of each of the units, and step (f) comprises modifying one or more terms of the algorithm as applied to the electrical representations corresponding to each unit the electrical impulses of which contribute to the predetermined movement.
- 3. The method according to claim 1, wherein step (d) comprises calculating an amount of movement as a function of a firing rate of one or more of the units.
- 4. Thee method according to claim 3, wherein the one or more characteristics of the detected electrical impulses comprise the firing rate, and wherein step (d) comprises:
(i) for each unit calculating a normalized firing rate, NRi(t), in a time window, (ii) weighting a firing rate-related value for the firing rates of one or more units by their own first positive weighting factor if NRi(t) is greater than zero, (iii) weighting a firing rate-related value for the firing rates of one or more units negative weighting factor if NRi(t) is less than zero,
and step (e) comprises moving the at least one moveable object a distance dependent upon at least a portion of the weighted firing rate-related values.
- 5. The method according to claim 2, wherein the at least one moveable object is chosen from a group consisting of real objects and virtual objects.
- 6. The method according to claim 1, wherein the electrical impulse-producing units are in the subject's cerebral cortex, step (b) comprises implanting at least one array of electrodes in the cerebral cortex of the subject, and step (c) comprises communicating cortex-generated electrical signals via a communication link to the computational processor.
- 7. The method according to claim 6, wherein implanting at least one array comprises implanting the at least one array in the cerebral cortex of the pre-motor or motor regions of the brain of the subject.
- 8. The method according to claim 1, wherein step (e) comprises moving the at least one object in the visual field of the subject.
- 9. The method according to claim 8, wherein the at least one object includes a movable computer display object, and step (e) comprises moving the computer display object in a computer display environment in the visual field of the subject.
- 10. The method according to claim 10, further comprising providing the subject with a reward upon achievement of a predetermined goal movement.
- 11. The method according to claim 4, wherein step (f) comprises an iterative updating procedure for adjusting the positive or negative weighting factors from initial values.
- 12. The method according to claim 11, wherein the initial value is an arbitrarily chosen value.
- 13. The method according to claim 1, wherein the number of units is less than 100.
- 14. The method according to claim 1, further comprising:
(g) using the algorithm as modified repeatedly in step (f), without further modification, to translate the electrical signals into control signals for application to a controlled device.
- 15. The method according to claim 1, wherein the electrical impulse producing units are located in regions selected from the group consisting of the nervous system and the musculature.
- 16. An electrical controller comprising a computational processor programmed to operate as defined in any one of claims 1-15.
- 17. Programming for a computational processor having routines for effecting the method of any one of claims 1-15.
- 18. A control system including an input for receiving physiologically generated electrical impulses, an output representative of direction and distance, a computational processor electrically connected between the input and the output for deriving the output from input physiologically generated electrical impulses, the computational process being programmed with co-adaptively revisable control algorithm adapted to be revised with revisions in input electrical impulses from a test subject.
- 19. A method of controlling at least one physical or computer generated movable object comprising:
(a) detecting in an animal or human subject electrical impulses caused by electrical activity of units of one or more neurons, (b) using a coadaption control algorithm that revises with changes in the electrical impulses, deriving from the detected electrical impulses an output representative of direction and distance, and (c) moving the at least one object in the direction and over the distance represented by the output substantially concurrent with the detection of the impulses.
- 20. The method according to claim 19, wherein step (b) includes displaying to the subject the movements of step (c).
- 21. A method of controlling at least one physical or computer generated movable object comprising:
(a) detecting in an animal or human subject electrical impulses caused by electrical activity of units of one or more neurons, (b) deriving from the detected electrical impulses an output representative of direction and distance, (c) moving the at least one object in the direction and over the distance represented by the output substantially concurrent with the detection of the impulses; and (d) the step of deriving further comprising:
(i) displaying to the subject the movements of step (c); (ii) applying to a computational processor inputs representative of the detected electrical impulses, and (iii) with the computational processor applying a coadaptive algorithm calculating the direction and distance to be represented in the derived output signal, said coadaptive algorithm having terms varying with the success or failure of the derived output signal moving the at least one object in a predetermined direction.
- 22. The method according to claim 21, wherein step (b) further comprises deriving the output signal from a detected firing rate of the one or more neurons.
- 23. The method according to claim 21, wherein step (b) further comprises providing a computer program having the algorithm for converting the inputs representative of the detected electrical impulses to the output signal representative of direction and distance.
- 24. The method according to claim 21, wherein step (b) further comprises providing a computer program having the algorithm for converting the inputs representative of the detected electrical impulses to the output signal representative of direction and distance.
- 25. The method according to claim 24, wherein the algorithm includes at least one weighting factor applied to translate physiologically-generated electrical signals into movement direction and distance.
- 26. The method according to claim 19, wherein step (b) further includes displaying a target to which the object is to move.
- 27. The method according to claim 25, wherein step (b) further includes displaying a target to which the object is to move, wherein the at least one weighting factor includes a positive weighting factor and step (b) further comprising using the positive weighting factor when the normalized input signal is above zero.
- 28. The method according to claim 25, wherein step (b) further includes displaying a target to which the object is to move, wherein the at least one weighting factor includes a negative weighting factor, and step (b) further comprising using the negative weighting factor when the normalized input signal is below zero.
- 29. The method according to claim 25, wherein step (b) includes displaying a target to which the object is to move, wherein the at least one weighting factor includes a positive weighting factor and a negative weighting factor, and step (b) further comprising using the positive weighting factor when the normalized input signal is above zero and using the negative weighting factor when the normalized input signal is below zero.
- 30. The method according to claim 26, further comprising rewarding the subject upon the object reaching the target.
- 31. The method according to claim 21, step (a) further comprising implanting a plurality of electrodes in the region of the subject's cerebral cortex and transmitting electrical impulses detected from any electrode detecting the impulses to the computational processor.
- 32. The method according to claim 20, wherein step (b) comprises applying the algorithm in the coadaptive process during which the subject learns to control movement of the object and the derivation of an output signal representative of direction and distance is dependent on the subject's cerebral cortex region's neuron electrical activity.
- 33. The method according to claim 22, wherein step (b) further comprises calculating the object's movement on one (x) axis at time t as:
- 34. The method according to claim 33, wherein step (b) further comprises normalizing each input signal by subtracting its mean and dividing by a constant times its standard deviation to arrive at NRi(t).
- 35. The method according to claim 33, wherein step (b) further comprises correction of x(t) for drift including calculating the predicted movement in x at time t:
- 36. The method according to claim 33, wherein step (b) further comprises correction of calculated movement on one (x) axis at time t, Xot), for drift including calculating the predicted movement in x at time t:
- 37. The method according to claim 36, wherein:
- 38. The method according to claim 35, wherein step (b) further comprises calculating Ek[|NRi(k)|] from the normalized input signals observed in a most recent complete block of object movements based on one or more detected electrical input signals indicated by the index, i.
- 39. The method according to claim 35, wherein step (b) further comprises calculating Ek[|NRi(k)|], in a noncoadaptive process, by averaging |NRi(k)| over a recent interval and updating this value regularly.
- 40. The method according to claim 35, further comprising normalizing the magnitude of movement in dimension x at each time t to an expected value of one then scaling by a desired velocity scale (Vscale) to achieve movements of the desired scale Mx(t):
- 41. The method according to claim 40, further comprising calculating Ek[|mx(k)|] from the calculate mx(t) from a most recent complete block of object movements.
- 42. The method according to claim 40, further comprising calculating Ek[|mx(k)|] from the calculate mx(t) from a noncoadaptive process, by averaging |mx(k)| over a recent interval and updating this value regularly.
- 43. The method according to claim 35, wherein step (b) further comprises calculating the at least one object's movement in at least two further dimensions (n1 . . . nx) at a time t as a function of the form:
- 44. The method according to claim 35, wherein one or more additional dimensions of control are simultaneously calculated by the same method, using a new set of positive and negative weights for each additional dimension.
- 45. The method according to claim 37, wherein one or more additional dimensions of control are simultaneously calculated by the same method, using a new set of positive and negative weights for each additional dimension and additional drift terms are used for each additional dimension of control the additional drift terms being calculated using individual positive and negative weights for each dimension.
- 46. The method according to claim 45, wherein calculating Ek[|NRi(k)|] in a coadaptive process from normalized input signals observed in a most recent complete block of object movements based on one or more detected electrical input signals indicated by the index, i.
- 47. The method according to claim 45, further comprising calculating Ek[|NRi(k)|], in a noncoadaptive process, by averaging |NRi(k)| over a recent interval and updating this value regularly.
- 48. The method according to claim 45, further comprising normalizing magnitudes of movement in time t of movement dimension, m(t), in each dimension by applying M(t)=Vscale*m(t)/Ek[|m(k)|] to each additional movement dimension m (t), where Ek[|m(k)|] is the expected value of the absolute value of m(k) taken over all calculation times, i, for that particular dimension.
- 49. The method according to claim 48, further comprising calculating Ek[|m(k)|] in a coadaptive process from the movements m(k) calculated in a most recent complete block of object movements.
- 50. The method according to claim 48, further comprising calculating Ek[|m(k)|], in a noncoadaptive process, by averaging m(k) calculated over a recent interval and updating this value regularly.
- 51. The method according to claim 19, wherein, in step (b) at least two dimensions of the object's movements are calculated on one (x) and another (y) axis at time t as:
- 52. The method according to claim 51, comprising correction of X(t) and Y(t) for drift including calculating the predicted movement in x at time t:
- 53. The method according to claim 52, wherein step (b) further comprises calculating Ek[|NRi(k)|] from the normalized input signals observed in a most recent complete block of object movements based on one or more detected electrical input signals indicated by the index, i.
- 54. The method according to claim 52, wherein step (b) further comprises calculating Ek[|NRi(k)|], in a noncoadaptive process, by averaging |NRi(k)| over a recent interval and updating this value regularly.
- 55. The method according to claim 52, further comprising normalizing magnitudes of movement in time t of movement dimension m(t), in each of at least two dimensions (x and y) by applying:
- 56. The method according to claim 55, further comprising calculating Ek[|mx(k)|] and Ek[|my(k)|] in a coadaptive process from the movements mx(k) and my(k) respectively calculated in a most recent complete block of object movements.
- 57. The method according to claim 55, further comprising calculating Ek[|mx(k)|] and Ek[|my(k)|], a noncoadaptive process, by separately averaging mxk) and my(k) values calculated over a recent interval and updating this value regularly.
- 58. The method according to claim 19, wherein, in step (b), at least three dimensions of the object's movements are calculated on one (x), another (y) and a further (z) axis at time t as:
- 59. The method according to claim 58, further comprising correction of X(t), Y(t) and Z(t) for drift including calculating the predicted movement in x, y and z at time t:
- 60. The method according to claim 59, wherein step (b) further comprises calculating Ek[|NRi(k)|] from the normalized input signals observed in a most recent complete block of object movements based one or more detected electrical input signals indicated by the index, i.
- 61. The method according to claim 59, wherein step (b) further comprises calculating Ek[|NRi(k)|], in a noncoadaptive process, by averaging |NRi(k)| over a recent interval and updating this value regularly.
- 62. The method according to claim 59, further comprising normalizing movement magnitudes of movement in time t of movement dimension m(t), in each of three dimensions (x, y and z) by applying:
- 63. The method according to 62, further comprising calculating Ek[|mx(k)|], Ek[|my(k)|] and Ek[|mz(k)|] in a coadaptive process from the movements mx(k), my(k), and mz(k) respectively calculated in a most recent complete block of object movements.
- 64. The method according to 62, further comprising calculating Ek[|mx(k)|], Ek[|my(k)|], and Ek[|mz(k)|], in a noncoadaptive process, by separately averaging mx(k), my(k) and mz(k) values calculated over a recent interval and updating this value regularly.
- 65. The method according to claim 33, further including the step of adaptation comprising presenting to the subject targets to which the object is to be moved, in blocks of target-pursuing tasks, calculating movements in at least one dimension, Mσj(t) for a completed block, and adjusting at least one of the weights Wσjpi, Wσjni, in a manner that would have improved target pursuit in at least one of the target-pursuing tasks.
- 66. The method according to claim 65, wherein adjusting at least one of the weights includes determining at least one of the weights pursuant to the following equation for at least one value of j indicating the dimensions 1 through N:
- 67. A specific embodiment of claim 66, were Ps is:
- 68. The method according to claim 66, were Ps is any monotonic function where Ps goes toward 0 as Phit(Sbest)>>Phit (S) and goes to ˜0.5 as Phit(S) goes toward Phit(Sbest).
- 69. The method according to claim 66, where the best block, Sbest is determined by first, the highest number of correct movements made in the block, and, if there's a tie between blocks, secondly, the block in which the movements were made the fastest.
- 70. The method according to 66, where at least one of the adjustments to the weights in one or more of the dimensions 1 through N, ΔWσjpi(S), ΔWσjni(S), are a function of the errors seen during the most recently completed block S.
- 71. The method according to 66, where at least at least one of the adjustments to the weights in one or more of the dimensions 1 through N, ΔWσjpi(S), ΔWσjni(S),is such that one or more of the adjusted weights, calculated as:
- 72. The method according to 66 where at least one positive weight adjustment in at least one dimension, ΔWσjpi (S) is calculated as:
- 73. A method according to claim 66, where Aσjpi is a positive value chosen to control how much the weight, Wσjpi, is changed between each block of movements, and Aσjni is also a positive value chosen to control how much the weight, Wσjni, is changed between each block of movements.
- 74. A method according to claim 73, where at least one Aσjpi for at least one dimension is calculated as:
- 75. A method according to claim 73, where at least one Aσjni for at least one dimension is calculated as:
- 76. The method according to 74 wherein EQ[Phit(Q)] is the average proportion of the movements which went to the correct targets during blocks Q.
- 77. The method according to claim 75 wherein EQ[Phit(Q)] is the average proportion of the movements which went to the correct targets during blocks Q.
- 78. The method according to claim 74 wherein EMσjpi(S) and ECσjni(S) are calculated as:
- 79. The method according to claim 75 wherein EMσjni(S) and ECσjni(S) are calculated as:
- 80. The method according to claim 74, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1.
- 81. The method according to claim 75, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1.
- 82. The method according to claim 74, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1 by:
(i) subtracting the mean on the enclosed terms taken across all i, (ii) dividing by two standard deviations of the enclosed terms taken across all i, (iii) truncating to −1 or 1 any values which are outside of the range −1 to 1.
- 83. The method according to claim 75, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1 by:
(i) subtracting the mean on the enclosed terms taken across all i, (ii) dividing by two standard deviations of the enclosed terms taken across all i, (iii) truncating to −1 or 1 any values which are outside of the range −1 to 1.
- 84. The method according to claim 66, wherein at least at least one of the adjustments to the positive or negative weights in one or more of the dimensions 1 through N, (Bσjpi, Bσjpi) is such that the input signal, i's, comparable weight in the next block (S+1) will be scaled up or down as a function of how useful that signal has been in controlling movement in one or more of those dimensions of movement.
- 85. The method according to claim 66, wherein at least one of the adjustments to the positive or negative weights in one or more of the dimensions 1 through N, (Bσjpi, Bσjpi) is determined by the functions:
- 86. The method according to claim 74 or 75 wherein EQ[Phit(Q)] is the average proportion of the movements that reached their intended targets during the most recent Q movement blocks.
- 87. A method according to claim 74, where at least one Aσjni for at least one dimension is calculated as:
- 88. The method according to claim 66, wherein EMσjpi(S) and ECσjpi(S) are calculated as:
- 89. The method according to claim 66, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1.
- 90. The method according to claim 66, wherein N[ . . . ] normalizes the enclosed terms across all input signals, i, to between −1 and 1 by:
(i) subtracting the mean of the enclosed terms taken across all i, (ii) dividing by two standard deviations of the enclosed terms taken across all i, (iii) truncating to −1 or 1 any values which are outside of the range −1 to 1.
- 91. An electrical controller comprising a computational processor programmed to operate as defined in any one of claims 19-90.
- 92. Programming for a computational processor having routines for effecting the method of any one of claims 19-90.
- 93. A brain neuron activated control system, including:
(a) an array of thin, closely spaced conductive electrodes adapted to enter an animal's brain, each operative to receive electrical impulses from a brain location comprising one or more neurons, (b) a programmable computer, (c) a plurality of electrical conductors, each conductor connected to one or more of the electrodes for conducting the electrical impulses received by an electrode to an input interface to the computer, (d) a visible computer output display device coupled to the computer, (e) programming for operating the computer, including:
i) programming operative to create at least one moveable object in the display; ii) object control programming responsive to the electrical signals received at the interface to cause the movement of the moveable object in the display, said object control programming comprising: a program to calculate movement of the moveable object in at least one dimension, first by calculating a normalized firing rate, NRi(t), in a time window, by each of the locations producing impulses in the electrodes and, second, weighting a firing rate-related value for at least a portion of the firing rates by a positive weighting factor if NRi(t) was greater than a mean firing rate and by a negative weighting factor if the Nri(t) was less than the mean firing rate, and moving the moveable object in the display a distance dependent upon at least a portion of the weighted firing rate-related values.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Priority is claimed from U.S. provisional patent application Ser. No. 60/350,241 of Dawn M. Taylor and Andrew B. Schwartz, filed Nov. 10, 2001, entitled “Direct Cortical Control of 3D Neuroprosthetic Devices,” and Ser. No. 60/355,558 of Dawn M. Taylor and Andrew B. Schwartz, filed Feb. 6, 2002, entitled “Direct Cortical Control of 3D Neuroprosthetic Devices.” Both applications are incorporated herein by reference.
STATEMENT OF GOVERNMENT FINANCIAL SUPPORT
[0002] Financial assistance for this project was provided by the U.S. Government, National Institute of Health Grant Numbers PHS N01-NS-6-2347 and PHS N01-NS-02321, and the United States Government may own certain rights to this invention.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/US02/36652 |
11/12/2002 |
WO |
|
Provisional Applications (2)
|
Number |
Date |
Country |
|
60350241 |
Nov 2001 |
US |
|
60355558 |
Feb 2002 |
US |