Method and system for body weight support
09987188 ยท 2018-06-05
Assignee
Inventors
Cpc classification
A63B2024/009
HUMAN NECESSITIES
A61H3/008
HUMAN NECESSITIES
A63B24/0087
HUMAN NECESSITIES
A63B2220/833
HUMAN NECESSITIES
A63B21/00181
HUMAN NECESSITIES
A63B23/0405
HUMAN NECESSITIES
A63B2220/80
HUMAN NECESSITIES
A63B2225/50
HUMAN NECESSITIES
A63B2225/20
HUMAN NECESSITIES
A63B2024/0093
HUMAN NECESSITIES
International classification
A63B21/005
HUMAN NECESSITIES
A63B71/06
HUMAN NECESSITIES
A63B21/00
HUMAN NECESSITIES
A63B24/00
HUMAN NECESSITIES
Abstract
A body weight support (BWS) system is disclosed. The BWS system includes a harness coupled to a plurality of cables, wherein the harness is worn by a subject, an actuator for each of the plurality of cables, each actuator configured to place a tension on a corresponding cable in response to an electrical signal, at least one force sensor configured to provide an electrical signal corresponding to forces applied to the harness, at least one motion sensor configured to provide an electrical signal corresponding to changes in acceleration of the subject, and a controller configured to control the plurality of actuators.
Claims
1. A body weight support (BWS) system, comprising: a harness coupled to a plurality of cables, wherein the harness is configured to be worn by a subject; an actuator for each of the plurality of cables, each actuator configured to place a tension on a corresponding cable in response to an electrical signal; at least one force sensor configured to provide an electrical signal corresponding to forces applied to the harness; at least one motion sensor configured to provide an electrical signal corresponding to changes in acceleration of the subject; and a controller configured to control the plurality of actuators according to one of two modes: i) a steady state body weight to be algebraically added to or removed from the subject by calculating instantaneous tensions to be placed on each of the plurality of the cables in accordance with the subject's input data, and ii) a transient body weight to be algebraically added to or removed from the subject by calculating instantaneous tensions to be placed on each of the plurality of the cables in accordance with a predetermined dataset, wherein the controller is configured to receive the electrical signal from the at least one force sensor, the electrical signal from the at least one motion sensor, and data associated with one of the two modes (i) and (ii).
2. The BWS system of claim 1, further comprising: a screen configured to display scenes corresponding to the predetermined dataset.
3. The BWS system of claim 1, wherein the controller controls forces applied to the harness based on N degrees of freedom, and at least N+1 cables.
4. The BWS system of claim 3, wherein the controller is configured to solve for tension on each of the plurality of cables based on J.sup.T =w, wherein J is a N+1N Jacobian matrix; is a N+11 vector of calculated cable tensions; and w is a N1 force vector.
5. The BWS system of claim 4, wherein N is 6.
6. The BWS system of claim 4, wherein N is 3.
7. The BWS system of claim 4, wherein N is 1.
8. The BWS system of claim 1, further comprising: a treadmill configured to move in each of X-Y-Z directions, in accordance with a prescribed rate of motion or in accordance with mode (ii).
9. The BWS system of claim 8, further comprising: one or more force sensors disposed between base of the treadmill and a base of an enclosure housing the BWS system, to provide forces in at least the vertical direction.
10. The BWS system of claim 1, further comprising: a foot apparatus configured to be worn by the subject, wherein the apparatus configured to move in each of X-Y-Z directions, in accordance with a prescribed rate of motion or in accordance with mode (ii).
11. A method of providing a body weight support (BWS), comprising: providing a harness coupled to a plurality of cables, wherein the harness is worn by a subject; activating an actuator for each of the plurality of cables, each actuator configured to place a tension on a corresponding cable in response to an electrical signal; sensing forces applied to the harness by at least one force sensor configured to provide an electrical signal corresponding to the sensed forces; measuring acceleration of the subject by at least one motion sensor configured to provide an electrical signal corresponding to changes in the subject's acceleration; and controlling each of the actuators according to one of two modes: i) a steady state body weight to be algebraically added to or removed from the subject by calculating instantaneous tensions to be placed on each of the plurality of the cables in accordance with the subject's input data, and ii) a transient body weight to be algebraically added to or removed from the subject by calculating instantaneous tensions to be placed on each of the plurality of the cables in accordance with a predetermined dataset, wherein the controller receives the electrical signal from the at least one force sensor, the electrical signal from the at least one motion sensor, and data associated with one of the two modes (i) and (ii).
12. The method of claim 11, further comprising: providing a screen configured to display scenes corresponding to the predetermined dataset.
13. The method of claim 11, wherein the controller controls forces applied to the harness based on N degrees of freedom, and at least N+1 cables.
14. The method of claim 13, wherein the controller solves for tension on each of the plurality of cables based on J.sup.T =w, wherein J is a N+1N Jacobian matrix; is a N+11 vector of calculated cable tensions; and w is a N1 force vector.
15. The method of claim 14, wherein N is 6.
16. The method of claim 14, wherein N is 3.
17. The method of claim 14, wherein N is 1.
18. The method of claim 11, further comprising: providing a treadmill configured to move in each of X-Y-Z directions, in accordance with a prescribed rate of motion or in accordance with mode (ii).
19. The method of claim 18, further comprising: providing one or more force sensors disposed between base of the treadmill and a base of an enclosure housing the BWS system to provide forces in at least the vertical direction.
20. The method of claim 11, further comprising: providing a foot apparatus configured to be worn by the subject, wherein the apparatus configured to move in each of X-Y-Z directions, in accordance with a prescribed rate of motion or in accordance with mode (ii).
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) For the purposes of promoting an understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings, and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of this disclosure is thereby intended.
(8) In the present disclosure, the term about can allow for a degree of variability in a value or range, for example, within 10%, within 5%, or within 1% of a stated value or of a stated limit of a range.
(9) In the present disclosure, the term substantially can allow for a degree of variability in a value or range, for example, within 90%, within 95%, or within 99% of a stated value or of a stated limit of a range.
(10) A novel method and system that can provide selective positive and negative counterweight forces to a subject during gait rehabilitation and other situations is provided. Referring to
(11) The harness 106 is supported by seven cables 110-1, 110-2, 110-3, 110-4, 110-5, 110-6, and 110-7 to provide active control in six degrees of freedom. Each of the cables 110-1, 110-2, and 110-3 are coupled to the support disk 104b at one end and to a respective actuator 112-1, 112-2, 112-3 at a second end. In between the support disk 104b and the respective actuators 112-1-112-3, the cables 110-1-110-3 are further supported by pulleys (not called out to avoid over-cluttering
(12) While seven cables 110-1-110-7 and seven actuators 112-1-112-7 are shown in
(13) The BWS system 100, further includes a force sensor 114 disposed in the support beam 101. Additionally, force sensors 116 and 118 are disposed between treadmill 120 and base 126 of enclosure 124. While two force sensors (116 and 118) are depicted in
(14) The BWS system 100 also includes a visual input via a screen 122. The screen 122, provides scenes that the subject 102 can use to determine upcoming situations. The scenes on the screen 122 are controlled by an exemplary data processing system 1000, described in
(15) The data processing system 1000 can be configured to control in one or both of two modes: 1) to provide an active control of the actuators 112-1-112-7 such that these actuators maintain a minimum selectable tension on the cables 110-1-110-7, respectively; or 2) to provide an active control of the actuators 112-1-112-7 such that these actuators provide tensions on the cables according to a predetermined dataset, where in both modes (i.e., minimum selectable tension, or a predetermined dataset), the data processing system 1000 takes into account and compensates any disturbance introduced by the subject 102. These disturbances are identified by the accelerometer 108 and the force sensors 114, 116, and 118.
(16) In the case of control based on a predetermined dataset, the data processing system 1000 can be configured to provide visual inputs to the subject 102 based on scenes displayed on the screen 122. In either approach, the BWS system 100 can then be used in a variety of different applications. For example, the BWS system 100 can be used to train astronauts. In such an application, the BWS system 100, can simulate a lower gravity than Earth (e.g., moon's gravity) by controlling the actuators 112-1-112-7 to provide the appropriate amount of tension in the cables 110-1-110-7 such that the astronaut in training experiences a smaller than Earth gravity force, while compensating for any disturbances introduced by the astronaut in X and Y directions (where the Z direction represents gravity). Furthermore, the BWS system 100 can be configured to control the actuators 112-1-112-7 to provide the appropriate amount of tension in the cables 110-1-110-7 in accordance with scenes on the screen 112. There again, the BWS system 100 compensates for any disturbances introduced by the astronaut in X and Y directions (where the Z direction represents gravity).
(17) In another exemplary situation, an athlete can be trained indoors for various sports. For example, a skier can be trained using the BWS system 100. In this type of situation, not only the BWS system 100 controls the actuators 112-1-112-7 to provide tension in cables 110-1-110-7 in accordance with a predetermined dataset for selectively controlling acceleration in X, Y, and Z directions (i.e., providing continuously changing forces to the skier in training in all three directions) in accordance to the scenes provided on the screen 122, but also compensate the control of the actuators 110-1-110-7 as the skier makes movements in any or all three directions thereby generating counter forces in all three directions. This level of dynamic force generation and compensation creates a real-life simulation of skiing down a hill while providing forces to the subject 102.
(18) In addition to controlling actuators 110-1-110-7, the data processing system 1000 is also capable of controlling the treadmill 120 to provide horizontal motion, vertical motion, as well as lateral motion, in accordance with the same modes described above (i.e., minimum selectable tension, or a predetermined dataset) in cooperation with control of the actuators 112-1-112-7. The treadmill 120 can also be replaced with other attachments, e.g., a skier's boots and skis, with corresponding actuators (not shown) also configured to generate forces in the X-Y-Z directions at the feet of the subject 102.
(19) The data processing system 1000 (shown in
(20) Referring to
(21) where J is a 76 Jacobian matrix of the cable-driven manipulator;
(22) is a 71 vector of calculated cable tensions; and
(23) w is a 61 force vector (six degrees of freedom) generated by the set of cable tensions represented by .
(24) Replacing the first three force components of w with m(a+g), the set of cable tensions required to generate the needed support m(a+g) can be determined. For each cable 110-1-110-7 (
(25) Referring to
(26) The position of the reference point P can be described as
p=a.sub.1q.sub.1b.sub.1(1)
p=a.sub.2q.sub.2b.sub.2(2)
Solving q.sub.1 from (1) and q.sub.2 from (2), one has
q.sub.1=a.sub.1b.sub.1p(3)
q.sub.2=a.sub.2b.sub.2p(4)
Differentiating (3) and (4) with respect to time, one obtains
{dot over (q)}.sub.1={dot over (p)}(5)
{dot over (q)}.sub.2={dot over (p)}(6)
which can be rewritten into the following matrix form
{dot over (q)}=J{dot over (p)}(8)
where J denotes the 21 Jacobian matrix
(27)
The Jacobian matrix is a constant matrix for this 1-degree of freedom (DOF) 2-cable manipulator. The dynamics model of the cable manipulator can be written as
Af=w(10)
where
(28)
.sub.1 and .sub.2 are cable tensions in cables #1 and #2, respectively. w is the external force (along y axis) exerted on the harness.
(29) The general solution of (10) includes two parts, namely, a homogeneous solution and a particular solution. The homogeneous solution is the solution for
Af=0(12)
This homogeneous solution can be used to maintain the minimum cable tension. As long as .sub.1 and .sub.2 have the same magnitude but opposite directions, they satisfy (12). The particular solution is the solution of (10) for a particular w. The general solution of (10) can be expressed as
(30)
where
(31)
and
(32)
are the homogeneous solution and the particular solution of (10) can be calculated using numerical processing systems, known to a person having ordinary skill in the art (e.g., MATLAB). is a scalar to scale the homogeneous solution as needed.
(33) Assuming a subject has a body mass of 100 Kg and the acceleration of gravity is 9.8 m/s.sup.2, and a user wants to take off 50% of his or her body mass, then the 1-DOF cable-driven BWS system needs to provide a support of 100*9.8*0.5=490 N in the vertical direction. The particular solution of (10) for w=490 N is
(34)
Assume the minimum cable tension is 10 N, then
(35)
The homogeneous solution is
(36)
Therefore, the general solution of (10) is .sub.1=10490=500 N and .sub.2=10+0=10 N. The forces applied on the end-effector by cables #1 and #2 have opposite directions.
(37) The kinematics notation of a 6-degrees of freedom (DOF)7-cable manipulator is next described. A.sub.i and B.sub.i are two attaching points of the i.sup.th cable on the base (or the corresponding pulley or actuator, respectively, as shown in
p=a.sub.iq.sub.ib.sub.i for i=1,2, . . . ,7
from which one has
q.sub.i.sup.2=[a.sub.ipb.sub.i].sup.T[a.sub.ipb.sub.i] for i=1,2, . . . ,7
Differentiating the latter with respect to time, and then assembling the seven resulting equations into matrix form, the following matrix-based equation is achieved:
{dot over (q)}=Jt
where vector {dot over (p)} represents the linear velocity of the harness; vector is the angular velocity of the harness; and t represents the twist vector in R.sup.6 which includes both the linear and angular velocities of the harness. J is the 76 Jacobian matrix of the cable manipulator
(38) The dynamics model of such a 6-DOF 7-cable manipulator can be written as:
Af=w
where
AJ.sup.T
f[.sub.1.sub.2 . . . .sub.7].sup.T
where .sub.i (i=1, 2, . . . , 7) is the cable tension in the i.sup.th cable. w is the resultant external forces and torques exerted on the harness.
(39) The general solution of Af=w includes two part, namely, a homogeneous solution and a particular solution. The homogeneous solution is the solution for
Af=0
This homogeneous solution can be used to maintain the minimum cable tension. The particular solution is the solution of Af=w for a particular w. The general solution of Af=w can be expressed as
f=f.sub.0+f.sub.w
where f.sub.0 is the homogeneous solution and f.sub.w is a particular solution of Af=w. is a scalar to scale the homogeneous solution as needed (e.g., to keep all cables in tension or to achieve a minimum tension requirement for all cables).
(40) Referring to
(41) Processor 1086 can implement processes of various aspects described herein. Processor 1086 can be or include one or more device(s) for automatically operating on data, e.g., a central processing unit (CPU), microcontroller (MCU), desktop computer, laptop computer, mainframe computer, personal digital assistant, digital camera, cellular phone, smartphone, or any other device for processing data, managing data, or handling data, whether implemented with electrical, magnetic, optical, biological components, or otherwise. Processor 1086 can include Harvard-architecture components, modified-Harvard-architecture components, or Von-Neumann-architecture components.
(42) The phrase communicatively connected includes any type of connection, wired or wireless, for communicating data between devices or processors. These devices or processors can be located in physical proximity or not. For example, subsystems such as peripheral system 1020, user interface system 1030, and data storage system 1040 are shown separately from the data processing system 1086 but can be stored completely or partially within the data processing system 1086.
(43) The peripheral system 1020 can include one or more devices configured to provide digital content records to the processor 1086. For example, the peripheral system 1020 can include digital still cameras, digital video cameras, cellular phones, or other data processors. The processor 1086, upon receipt of digital content records from a device in the peripheral system 1020, can store such digital content records in the data storage system 1040.
(44) The user interface system 1030 can include a mouse, a keyboard, another computer (connected, e.g., via a network or a null-modem cable), or any device or combination of devices from which data is input to the processor 1086. The user interface system 1030 also can include a display device, a processor-accessible memory, or any device or combination of devices to which data is output by the processor 1086. The user interface system 1030 and the data storage system 1040 can share a processor-accessible memory.
(45) In various aspects, processor 1086 includes or is connected to communication interface 1015 that is coupled via network link 1016 (shown in phantom) to network 1050. For example, communication interface 1015 can include an integrated services digital network (ISDN) terminal adapter or a modem to communicate data via a telephone line; a network interface to communicate data via a local-area network (LAN), e.g., an Ethernet LAN, or wide-area network (WAN); or a radio to communicate data via a wireless link, e.g., WiFi or GSM. Communication interface 1015 sends and receives electrical, electromagnetic or optical signals that carry digital or analog data streams representing various types of information across network link 1016 to network 1050. Network link 1016 can be connected to network 1050 via a switch, gateway, hub, router, or other networking device.
(46) Processor 1086 can send messages and receive data, including program code, through network 1050, network link 1016 and communication interface 1015. For example, a server can store requested code for an application program (e.g., a JAVA applet) on a tangible non-volatile computer-readable storage medium to which it is connected. The server can retrieve the code from the medium and transmit it through network 1050 to communication interface 1015. The received code can be executed by processor 1086 as it is received, or stored in data storage system 1040 for later execution.
(47) Data storage system 1040 can include or be communicatively connected with one or more processor-accessible memories configured to store information. The memories can be, e.g., within a chassis or as parts of a distributed system. The phrase processor-accessible memory is intended to include any data storage device to or from which processor 1086 can transfer data (using appropriate components of peripheral system 1020), whether volatile or nonvolatile; removable or fixed; electronic, magnetic, optical, chemical, mechanical, or otherwise. Exemplary processor-accessible memories include but are not limited to: registers, floppy disks, hard disks, tapes, bar codes, Compact Discs, DVDs, read-only memories (ROM), erasable programmable read-only memories (EPROM, EEPROM, or Flash), and random-access memories (RAMS). One of the processor-accessible memories in the data storage system 1040 can be a tangible non-transitory computer-readable storage medium, i.e., a non-transitory device or article of manufacture that participates in storing instructions that can be provided to processor 1086 for execution.
(48) In an example, data storage system 1040 includes code memory 1041, e.g., a RAM, and disk 1043, e.g., a tangible computer-readable rotational storage device such as a hard drive. Computer program instructions are read into code memory 1041 from disk 1043. Processor 1086 then executes one or more sequences of the computer program instructions loaded into code memory 1041, as a result performing process steps described herein. In this way, processor 1086 carries out a computer implemented process. For example, steps of methods described herein, blocks of the flowchart illustrations or block diagrams herein, and combinations of those, can be implemented by computer program instructions. Code memory 1041 can also store data, or can store only code.
(49) Various aspects described herein may be embodied as systems or methods. Accordingly, various aspects herein may take the form of an entirely hardware aspect, an entirely software aspect (including firmware, resident software, micro-code, etc.), or an aspect combining software and hardware aspects. These aspects can all generally be referred to herein as a service, circuit, circuitry, module, or system.
(50) Furthermore, various aspects herein may be embodied as computer program products including computer readable program code stored on a tangible non-transitory computer readable medium. Such a medium can be manufactured as is conventional for such articles, e.g., by pressing a CD-ROM. The program code includes computer program instructions that can be loaded into processor 1086 (and possibly also other processors), to cause functions, acts, or operational steps of various aspects herein to be performed by the processor 1086 (or other processor). Computer program code for carrying out operations for various aspects described herein may be written in any combination of one or more programming language(s), and can be loaded from disk 1043 into code memory 1041 for execution. The program code may execute, e.g., entirely on processor 1086, partly on processor 1086 and partly on a remote computer connected to network 1050, or entirely on the remote computer.
(51) While the BWS system 100 (
(52) Those having ordinary skill in the art will recognize that numerous modifications can be made to the specific implementations described above. The implementations should not be limited to the particular limitations described. Other implementations may be possible.