Methods and Systems for Rendering Three-Dimensional Gait Acceleration Plots on Graphical User Interfaces
20230234293 · 2023-07-27
Inventors
Cpc classification
G05B19/4099
PHYSICS
B33Y10/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
B33Y30/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y80/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
International classification
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
G05B19/4099
PHYSICS
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
A61B5/11
HUMAN NECESSITIES
B33Y10/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y30/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y80/00
PERFORMING OPERATIONS; TRANSPORTING
A61B5/00
HUMAN NECESSITIES
Abstract
Embodiments represent acceleration along three orthogonal axes at two or more times as a three dimensional plot. Each point in the plot is positioned according to three coordinates, each of which is proportional to the amount of acceleration along one of the orthogonal axes at a moment in time. Some embodiments render the three dimensional plot as a three dimensional article of manufacture in which each point in the plot is represented by a volume of material. Some embodiments represent the three dimensional plot in two dimensions in a graphical interface. System embodiments may include an accelerometer, processor, output device, and a non-transitory computer readable medium storing instructions causing the processor to map points with coordinates proportional to acceleration along the respective axes to a virtual three-dimensional plot and then control the output device to render the plot in two or three dimensions.
Claims
1. A computer-implemented method, comprising: receiving, by one or more processors, outputs from an accelerometer that is configured to be coupled to an individual taking one or more steps while coupled to the accelerometer, wherein each of the outputs corresponds to a respective magnitude of acceleration along a respective one of three orthogonal axes at a plurality of time periods; mapping, by the one or more processors, the outputs to a virtual three-dimensional acceleration plot of the outputs, the virtual three-dimensional acceleration plot comprising a plurality of points, wherein each point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a first time period; generating, by the one or more processors, a virtual two-dimensional image of the virtual three-dimensional acceleration plot; and rendering, by the one or more processors, the virtual two-dimensional image via a graphic output device.
2. The method of claim 1, wherein: (i) except for a first sequential point, each point is visually coupled to a second point, wherein (a) the second point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a second time period, and (b) the second time period occurs before the first time period; and (ii) except for a final sequential point, each point is visually coupled to a third point, wherein (a) the third point is positioned according to coordinates proportional to magnitudes of acceleration along the three orthogonal axes at a third time period, and (b) the third time period occurs after the first time period.
3. The method of claim 2, wherein the first sequential point is visually coupled to the final sequential point.
4. The method of claim 2, wherein: (i) the first sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a first sequential time period; (ii) the first sequential time period occurs during a first instance of a reference foot of the individual contacting a ground; (iii) the final sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a final sequential time period; and (iv) the final sequential time period occurs during a second instance of the reference foot of the individual contacting the ground.
5. The method of claim 2, wherein the one or more steps comprise multiple strides and: (i) the first time period is a first relative time within a gait cycle; (ii) the magnitudes of acceleration along the three orthogonal axes at the first time period are aggregate measures of acceleration at two or more instances of the first relative time; (iii) the second time period is a second relative time within the gait cycle; (iv) the magnitudes of acceleration along the three orthogonal axes at the second time period are aggregate measures of acceleration at two or more instances of the second relative time; (v) the third time period is a third relative time within the gait cycle; and (vi) the magnitudes of acceleration along the three orthogonal axes at the third time period are aggregate measures of acceleration at two or more instances of the third relative time.
6. The method of claim 2, wherein generating, by the one or more processors, the virtual two-dimensional image comprises: generating, by the one or more processors, two virtual two-dimensional images of the virtual three-dimensional acceleration plot, wherein each of the two virtual two-dimensional images shows different perspectives of the virtual three-dimensional acceleration plot.
7. The method of claim 1, further comprising: reorientating, by the one or more processors, the virtual two-dimensional image to orient one of the three orthogonal axes in a direction of gravitational pull.
8. A system comprising at least one processor and at least one memory storing instructions that, with the at least one processor, cause the system to: receive outputs from an accelerometer that is configured to be coupled to an individual taking one or more steps while coupled to the accelerometer, wherein each of the outputs corresponds to a respective magnitude of acceleration along a respective one of three orthogonal axes at a plurality of time periods; map the outputs to a virtual three-dimensional acceleration plot, the virtual three-dimensional acceleration plot comprising a plurality of points, wherein each point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a first time period; generate a virtual two-dimensional image of the virtual three-dimensional acceleration plot; and render the virtual two-dimensional image via a graphic output device.
9. The system of claim 8, wherein: (i) except for a first sequential point, each point is visually coupled to a second point, wherein (a) the second point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a second time period, and (b) the second time period occurs before the first time period; and (ii) except for a final sequential point, each point is visually coupled to a third point, wherein (a) the third point is positioned according to coordinates proportional to magnitudes of acceleration along the three orthogonal axes at a third time period, and (b) the third time period occurs after the first time period.
10. The system of claim 9, wherein: (i) the first sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a first sequential time period; (ii) the first sequential time period occurs during a first instance of a reference foot of the individual contacting a ground; (iii) the final sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a final sequential time period; and (iv) the final sequential time period occurs during a second instance of the reference foot of the individual contacting the ground.
11. The system of claim 9, wherein the one or more steps comprise multiple strides and: (i) the first time period is a first relative time within a gait cycle; (ii) the magnitudes of acceleration along the three orthogonal axes at the first time period are aggregate measures of acceleration at two or more instances of the first relative time; (iii) the second time period is a second relative time within the gait cycle; (iv) the magnitudes of acceleration along the three orthogonal axes at the second time period are aggregate measures of acceleration at two or more instances of the second relative time; (v) the third time period is a third relative time within the gait cycle; and (vi) the magnitudes of acceleration along the three orthogonal axes at the third time period are aggregate measures of acceleration at two or more instances of the third relative time.
12. The system of claim 8, wherein the virtual two-dimensional image is a first virtual two-dimensional image of the virtual three-dimensional acceleration plot, and wherein the system is caused to generate a second virtual two-dimensional image of the virtual three-dimensional acceleration plot, wherein the first virtual two-dimensional image shows a different perspective of the virtual three-dimensional acceleration plot than the second virtual two-dimensional image.
13. The system of claim 8, wherein the time periods are measured using one or more of: the outputs generated by the accelerometer; a time cycle of the at least one processor in a computing device; a quartz clock; an electric clock; or a radio-controlled clock, the radio-controlled clock being wirelessly synchronized with an atomic clock.
14. The system of claim 8, wherein the system is powered by one or more of: a lithium ion battery; a nickel metal hydride battery; a photo-voltaic cell; a body heat ambient energy collector; or a body motion ambient energy collector.
15. A graphical user interface (GUI), wherein the GUI: is configured to display an image of a virtual three-dimensional acceleration plot in two dimensions via a graphic output device, wherein the virtual three-dimensional acceleration plot comprises a plurality of points, and wherein: (i) each point is positioned according to coordinates proportional to magnitudes of acceleration along three orthogonal axes at a first time period of a plurality of time periods, (ii) the magnitudes of acceleration are based at least in part on outputs received from an accelerometer that is configured to be coupled to an individual while the individual takes one or more steps, and (iii) each of the outputs corresponds to a respective magnitude of acceleration along a respective one of three orthogonal axes at the time periods.
16. The GUI of claim 15, wherein: (i) except for a first sequential point, each point is visually coupled to a second point, wherein (a) the second point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a second time period, and (b) the second time period occurs before the first time period; and (ii) except for a final sequential point, each point is visually coupled to a third point, wherein (a) the third point is positioned according to coordinates proportional to magnitudes of acceleration along the three orthogonal axes at a third time period, and (b) the third time period occurs after the first time period.
17. The GUI of claim 16, wherein the first sequential point is visually coupled to the final sequential point.
18. The GUI of claim 16, wherein: (i) the first sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a first sequential time period; (ii) the first sequential time period occurs during a first instance of a reference foot of the individual contacting a ground; (iii) the final sequential point is positioned according to coordinates proportional to the magnitudes of acceleration along the three orthogonal axes at a final sequential time period; and (iv) the final sequential time period occurs during a second instance of the reference foot of the individual contacting the ground.
19. The GUI of claim 16, wherein the one or more steps comprise multiple strides and: (i) the first time period is a first relative time within a gait cycle; (ii) the magnitudes of acceleration along the three orthogonal axes at the first time period are aggregate measures of acceleration at two or more instances of the first relative time; (iii) the second time period is a second relative time within the gait cycle; (iv) the magnitudes of acceleration along the three orthogonal axes at the second time period are aggregate measures of acceleration at two or more instances of the second relative time; (v) the third time period is a third relative time within the gait cycle; and (vi) the magnitudes of acceleration along the three orthogonal axes at the third time period are aggregate measures of acceleration at two or more instances of the third relative time.
20. The GUI of claim 15, wherein at least one of the three orthogonal axes is an adjusted axis.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION
[0022] Embodiments described herein represent acceleration along three orthogonal axes at two or more times as a three dimensional plot. Each point in the plot may be positioned according to three coordinates, each of which is proportional to the amount of acceleration along one of the orthogonal axes at a first moment in time. Each point in the plot may be coupled, either physically or visually, to at least an adjacent point. The adjacent point is positioned according to coordinates proportional to acceleration readings along the three orthogonal axes at a second time. Except for the first and last points in the plot, each point is coupled to two adjacent points, one of which may be positioned according to acceleration at the next previously sampled time and the other positioned according to the next subsequently sampled time.
[0023] Because none of the axes of the plot represents time, the plot may be viewed as being time-independent. To the extent that similar acceleration patterns occur from one stride to the next, the patterns may align irrespective of step duration. Using this time-independent representation, there is no need to choose arbitrary boundaries between the steps. Additionally, there is no need to scale the duration of one step so that its acceleration patterns align with those of another. If the accelerometer generates acceleration readings at a fixed frequency, slower movements shown in a time-independent plot will manifest as points that are more densely clustered and vice versa.
[0024] Embodiments may include a solid, three dimensional manufacture comprising a model of the three dimensional plot. The points in the plot may not be true geometric points with zero dimension but are representative of such points and may be composed of some volume of material. In some embodiments, the points are close enough to one another relative to the size of the material representing each point that the pieces of material representing the points touch or overlap one another. In some embodiments, the points are far enough from one another relative to the size of the material representing each point that the pieces of material representing the points do not touch or overlap one another and may be connected by some volume of material in a shape representing a line segment or curve.
[0025]
[0026]
[0027]
[0028]
[0029] The manufactures shown in
[0030] Models of three dimensional plots may be composed of a variety of materials and be fabricated using a variety of techniques. Some method embodiments use additive manufacturing devices and techniques to precisely position material representing each point of an acceleration plot in space and couple the material to material representing adjacent points.
[0031]
[0032] Overhangs—portions of the manufacture that do not rest on a lower layer or the platform (510)—present a technical challenge to creating manufactures fabricated using three dimensional printers. Some embodiments of the method support overhangs of the manufacture (300) with a support base made from a soluble material that does not become part of the final manufacture (300). In some embodiments, volumes of the soluble support base are deposited by one of the extruders (e.g. 521) while volumes of the non-soluble material forming the manufacture (300) are deposited by the other extruder (e.g. 522). At a specified height, the extruder depositing non-soluble material (e.g. 521) deposits the first layer of the overhang on top of the soluble base that has been built up, layer on layer, by the other extruder (e.g. 522). After the three dimensional printer (500) has completed the topmost layer of the manufacture (300), the resulting structure may be exposed to a solvent that dissolves the soluble support structure leaving an overhang that is now coupled to and supported by the non-soluble structure.
[0033] Some embodiments represent three-dimensional step plots on a two dimensional surface such as a display monitor, printed page, or surface such as a projection screen or wall upon which the image is projected. Such two-dimensional representations may use techniques of perspective to create the impression of three dimensions on a two-dimensional surface. Some embodiments show a series of perspective drawings animating the 3D plot and creating the impression that the 3D plot is changing orientation.
[0034]
[0035] Differences between the acceleration patterns of walking and running become readily apparent when plotted as in
[0036] Some embodiments analyze accelerometer data corresponding to steps taken by a user wearing the accelerometer and, based at least in part on the analysis, identify a characteristic of the user. Characteristics of the user may include, for example, the type of step activity (walking, running, climbing stairs, etc.), disease state, degree of health, diagnoses, location, or the identity of the user.
[0037] In order to assess the user's steps, a number of technical challenges emerge. One such challenge is to determine how the accelerometer is oriented relative to its surroundings and relative to the user to which it is attached. If the accelerometer is attached to the user in a particular orientation, the orientation of the accelerometer to its surroundings may be inferred. For example, if the accelerometer is clipped to the shirt-front of a user and the user is standing and walking in an upright position, one may infer that the z-axis is approximately vertical and approximately parallel to the user's anteroposterior axis. Correspondingly, the other two axes should be approximately parallel to the user's dorsoventral and lateral axes. However, such inferences are prone to error. Clothing can shift, the attachment to the clothing can slip, and the user may bend forward or backward or otherwise move in a position that is not perfectly upright. Such sources of error invite better methods of orienting accelerometers with multiple axes.
[0038] Gravity acts as a constant acceleration in one direction. The force of gravity may serve to orient acceleration readings relative to physical surroundings. Some embodiments having triaxial accelerometers use algorithms that process acceleration readings to determine the direction of gravity relative to three accelerometer axes. Of those embodiments, some may further calculate the amount of acceleration in the direction of gravity.
[0039] In some embodiments, a computer reorients acceleration vectors so that one component of each reoriented acceleration vector is in the direction of gravitational pull. The computer's processor receives readings from a triaxial accelerometer. Each of the readings corresponds to an acceleration vector having three components. Each of the three components represents a quantity of acceleration along one of three orthogonal axes (x, y, and z). The computer determines a non-zero acceleration vector (u) using readings generated when the accelerometer is at rest and determines {circumflex over (x)} which is the unit vector in the positive x axis direction. The computer then virtually rotates the components of one or more readings about the z axis into the yz plane by calculating the cross product of u and g (Earth's gravity reference) to yield n, calculating the sine of angle n{circumflex over (x)} using the cross product of n and {circumflex over (x)}, calculating the cosine of angle n{circumflex over (x)} using the dot product of n and {circumflex over (x)}, and constructing a rotation matrix R.sub.z using the sine of angle n{circumflex over (x)} and the cosine of angle n{circumflex over (x)}. Then, the computer virtually rotates the components of the one or more readings about the x axis by calculating the sine of angle ug using the cross product of u and g, calculating the cosine of angle ug using the dot product of u and g, and constructing a rotation matrix R.sub.x using the sine of angle ug and the cosine of angle ug. Finally, the computer multiplies components of the one or more readings by the inverse of R.sub.z to reverse the original rotation operation. Using method embodiments such as those described above, several acceleration vectors may be rotated in one calculation, assuming they share the same nonzero acceleration vector (i.e. the same gravity vector with respect to the device), thus greatly reducing needed calculation time.
[0040] In some circumstances, it may be useful to know the orientation of the accelerometer axes relative to the user wearing the accelerometer. Some embodiments use algorithms to determine the orientation of the three axes relative to the user's anteroposterior, dorsoventral, and lateral axes. The user's dorsoventral axis, lateral axis, anteroposterior axis, and the axis parallel to the force of gravity are referred to herein, collectively, as adjusted axes. Some embodiments use algorithms to calculate the amount of acceleration in the direction of one or more of the adjusted axes based at least in part on acceleration readings from three orthogonal accelerometer axes.
[0041] While the force of gravity may be useful to determine the accelerometer's orientation, it may also obscure acceleration caused by physical activity. Thus, some embodiments use algorithms to remove the portion of acceleration caused by gravity from one or more accelerometer axes or adjusted axes.
[0042] Some embodiments compare sets of accelerometer data collected during individual steps to one another as at least part of determining a characteristic of the user. Steps, however, may vary in their duration. Thus, some embodiments scale the duration of one or more steps to match the duration of a second step or other fixed period of time. Because each foot may generate acceleration patterns that are distinct from the other, some embodiments compare strides. A stride is a series of two contiguous steps, one made by the right foot and one made by the left.
[0043] Some embodiments analyze accelerometer data in the frequency domain. For example, some embodiments may use one or more Fourier transforms to break an acceleration signal into a number of component frequencies. The amplitude of each of the component frequencies, in comparison to the amplitudes of the other component frequencies, may indicate the relative importance of a particular frequency. A graph showing the amplitudes of the frequency components of a signal may be referred to as a frequency spectrum. Some embodiments use frequency spectra as indicators of the characteristic of the user. Embodiments may use various filters to reduce noise in the data. For example, some embodiments may use one or more low pass filters to remove aberrant high frequency noise.
[0044] Accelerometer data may also be used to estimate the movement and location of the user. Velocity may be represented as the integral of acceleration and position may be represented as the integral of velocity. Given that accelerometers generate discrete data readings, the Riemann sum of the accelerometer readings yields an approximation of the user's velocity in the direction in which acceleration is measured. For accelerometers with multiple axes, the user's velocity in each of the axis directions may be approximated. In one embodiment, a two-axis accelerometer is attached to a user with one of the axes approximately parallel to the user's dorsoventral axis and a second axis approximately parallel to the user's lateral axis. The user's position walking on a flat surface may then be estimated using a double Riemann sum of the acceleration readings in each directions. The previous embodiment is limited in that it may work best if the user stays in the same orientation without pivoting. A second embodiment accounts for user pivots by adding a gyrometer that measures angular acceleration around either the user's anteroposterior axis or an axis parallel to the force of gravity. (If the user is standing upright, the user's anteroposterior axis would be expected to be approximately parallel to the force of gravity.) A third embodiment adds a third linear axis orthogonal to the other two axes to estimate the user's velocity in the vertical direction. Yet another embodiment uses a triaxial accelerometer measuring linear acceleration along three orthogonal axes and angular acceleration around each of the axes to account for tilt.
[0045] When combined with information about the user's starting position, information about the user's velocity can be used to estimate the user's location. Multiplying the user's velocity by the time the user was at a particular velocity yields a distance in a particular direction. As discussed above, distance traveled may be calculated on one or more axes and input of angular acceleration may be used to account for tilt. Estimated distance traveled along two or more orthogonal axes may be used to calculate the user's position relative to a starting point.
[0046] Methods such as those described above may be performed by a system. Systems may include an accelerometer measuring acceleration along one or more axes. The acceleration measured may be linear or angular. Accelerometers measuring angular acceleration may also be referred to as gyroscopes, gyrometers, or gyros. Some accelerometers may additionally contain a magnetometer that orients acceleration readings relative to a magnetic field such as Earth's magnetic field. A so-called “9-axis accelerometer” contains a tri-axial accelerometer measuring linear acceleration along three orthogonal axes, angular acceleration around each of the orthogonal axes, and orientation relative to a magnetic field. A 9-axis accelerometer may also be referred to as an inertial measurement unit (IMU). The accelerometer may be attached to a user to measure the user's gait acceleration and may be housed in a portable device.
[0047] The accelerometer may be communicatively coupled to a processor. The processor may include one or more processing units (i.e. processors communicatively coupled to one another). The processor may be communicatively coupled to and execute instructions stored on a computer readable data storage (CRDS) (also referred to herein as a non-transitory computer-readable medium). The instructions may cause the processor to, for example, render a three dimensional plot of gait acceleration or identify a characteristic of the user. The CRDS may also store information from the accelerometer and processor outputs as it executes the instructions stored on the CRDS and/or processes stored readings from the accelerometer. Embodiments of the CRDS may include random access memory (RAM) and various types of non-volatile memory including, but not limited to, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), and/or electrically erasable programmable read-only memory (EEPROM). Embodiments of the CRDS may include magnetic storage (such as hard drives, floppy disks, and magnetic tape) and/or optical storage (such as CDs and DVDs).
[0048] Systems may also include an output device for presenting three dimensional acceleration plots or communicating the characteristic of the user. Output devices for presenting a three dimensional plot may include a three dimensional printer for fabricating a manufacture comprising a representation of a three dimensional plot. Three dimensional plots may also be presented in two dimensions on output devices including a display monitor, an image projector, or a printer for printing images on a page. Output devices for communicating a characteristic of a user may include, for example, a display monitor, image projector, printer, audio speaker, or tactile output. Output devices may include means for communicating with other devices or networks. For example, output devices may include various types of electromagnetic transmitters or receivers. Some embodiments may comprise input devices such as key pads or touch screens on which the user may enter information related to gait acceleration data or instructions influencing outputs.
[0049] For embodiments requiring time measurement, there are a number of potential time-measuring means. If the accelerometer generates readings at regular time intervals, the number of accelerometer readings may be used to measure the passage of time. Processors typically perform calculations on a regular time cycle and thus present another means for measuring time. Alternatively, a separate time-measuring device may be used. Examples of alternative time measuring devices include electric clocks such as quartz clocks, synchronous clocks, and radio-controlled clocks that are wirelessly synchronized with a time standard such as an atomic clock.
[0050] System components such as those described above may require a source of electrical power. Possible sources include various types of batteries as well as devices that collect ambient energy such as sunlight (e.g. photo-voltaic cells), body heat, and body motion. Components of a system that do not need to be mobile may use power from a commercial grid.
[0051] Components of the system may be communicatively coupled to other components. The processor, for instance, may receive information from the accelerometer, send information and/or instructions to the output device, and both send and receive information from the CRDS. These communications may be made with or without physical connections such as wires. Any of the communications may be accomplished wirelessly using signal types including radio and infrared. Common wireless communication protocols include Bluetooth (IEEE 802.15), Wi-Fi (IEEE 802.11), cellular communication protocols, and infrared data association protocols. Embodiments using wireless communications may include components such as transmitters and receivers. Systems may also communicate with other devices or networks, for example a personal computer or the Internet. In some embodiments, the user receives and/or sends information from the device through an Internet web site instead of or in addition to a user interface.
[0052]
[0053]
[0054]
[0055]
[0056]
[0057] The above description is neither exclusive nor exhaustive and is intended neither to describe all possible embodiments (also called “examples”) nor to limit the scope of the claims. Embodiments may include elements in addition to those in the described embodiments and, in some cases, may contain only a subset of the elements described in a particular embodiment. Embodiments may contain any combination of elements in the described embodiments in addition to elements not expressly described. As used herein, the articles “a” and “an” may include one or more than one of the noun modified by either without respect to other uses of phrases such as “one or more” or “at least one.” The word “or” is used inclusively unless specified otherwise. Terms such as “first,” “second,” “third” and so forth are used as labels to distinguish elements and do not indicate sequential order unless otherwise indicated. In addition to the embodiments described above, embodiments of the invention include any that would fall within the scope of the Claims, below.