SYSTEM FOR USE IN FOOTWEAR FOR
MEASURING, ANALYZING, AND REPORTING
THE PERFORMANCE OF AN ATHLETE
FIELD OF THE INVENTION
The present invention relates in general to a system for sensing and counting footfalls, measuring acceleration and time, and calculating the distance traveled and energy expended by a user when walking, jogging, running, exercising, or performing similar activities. More particularly, the present invention relates to a footwear that incorporates the system of the present invention. The system can also be used in several commercial applications, including but not limited to the medical field, military/aerospace applications, and law enforcement.
BACKGROUND OF THE INVENTION Efforts to facilitate the measurement of stride length and total distance traveled have generally centered around four measurement factors: number of steps, force, pressure, and weight. Examples of these efforts are illustrated in the following patents:
U.S. patent number 5,640,786 to Buyayez, U.S. patent number 4,402,147 to Wu, U.S. patent number 4,466,204 to Wu, U.S. patent number 4,510,704 to Johnson, and U.S. patent number 4,651 ,446 to Yukawa et al. describe a step counter or pedometer based on an electronic counter with associated electronics and a display device.
U.S. patent number 5,269,081 to Gray, U.S. patent number 5,323,650 to Fullen et al., U.S. patent number 5,357,696 to Gray et al., U.S. patent number 5,619,186 to Schmidt et al., and U.S. patent number 4,814,661 to Ratzlaff et al., describe a force measuring device contained in a footwear that includes resistive elements or load sensors, such as a piezoelectric, to detect the amount of force exerted on the sole of a footwear. U.S. patent number 4,956,628 to Furlong, U.S. patent number 5,373,651 to
Wood, U.S. patent number 5,588,227 to Goldstone et al., U.S. patent number 5,655,316 to Huang, and U.S. patent number 5,813,142 to Demon describe a device
contained in a footwear that includes a pressure sensor for detecting the amount of pressure exerted on the sole of the footwear.
U.S. patent number 4,745,930 to Confer, and U.S. patent number 5,408,873 to Schmidt et al. describe a device contained in a footwear for measuring the weight of the user, which includes electrically resistive material that changes its electrical characteristic based on weight and weight distribution.
U.S. patent number 4,703,445 to Dassler, U.S. patent number 4,736,312 to Dassler et al., and U.S. patent number 4,771 ,394 to Cavanaugh describe an athletic shoe for running, that incorporates an apparatus to detect, measure and transmit performance information about the user. The devices include a transmitter emitting a signal received by a remote receiver which is linked to a computer, to determine a variety of performance characteristics associated with, for example, running, jogging and walking.
The above efforts suffer from a number of disadvantages and limitations, among which are the following:
1. The described techniques do not provide a true "measurement" as is commonly defined and understood, that is, to compute or ascertain the extent, quantity, dimension, or capacity of a parameter or an object, by a certain rule or standard. 2. Most of the foregoing efforts do not measure stride length (d). Rather, they use a method of pedometry to approximate stride length and distance by counting footfalls.
3. The foregoing efforts do not exhibit a means for performing measurement, analysis, reporting, and archiving, on a real time basis, of the performance of an athlete.
There is therefore a great and still unsatisfied need for a system that senses and counts footfalls, measures acceleration and time, and calculates the distance traveled and energy expended by the user when walking, jogging, running, exercising, or performing similar activities.
SUMMARY OF THE INVENTION
Accordingly, it is an aspect of the present invention to provide a system that measures, analyzes, records, and reports information concerning the performance of a user who engages in physical exercise such as walking, jogging, or running. Performance details such as distance traveled, acceleration, velocity, total time, energy expenditure, and impact data are measured, calculated and reported on a real-time basis. This information is also stored for review and/or processing subsequent to the exercise session. The system permits the archiving and plotting of this data to facilitate long-term evaluation of the user's performance. The system includes a module and associated components such as an accelerometer, piezoelectric pressure or strain generator, light emitting diodes, audio memory, and speaker, which are preferably embedded within an apparel, such as a shoe. The system further includes a portable interface/controller unit (also referred to as interface unit) that provides the user with feedback information such as audio information including FM radio, visual, graphical, and programming interface.
The module includes a microcontroller that executes a code stored in its internal program memory and a code stored in an erasable programmable memory such as an EEPROM. The microcontroller stores the analyzed data concerning the athlete's performance. The audio memory stores pre-recorded words and messages used for interactive real-time feedback. A sensor, such as a piezoelectric force measuring element or generator, senses the impact of the heel against the exercise surface, and wakes the microcontroller. A force measuring strain gauge arrangement senses the force with which the user's foot pushes off the exercise surface.
The module measures acceleration and derives velocity, stride length, and distance information pertaining to the user's performance during the use period. During calibration, the module is capable of learning the user's weight, and allows the user to set the initial conditions, which activate a pacemaker/ metronome. The pacemaker/metronome is a program code which, as explained below, is executed by a microcontroller. This feature is utilized by the user to define a set of personal parameters related to the achievement of personal goals associated with, for example, running at a velocity v, given a time t, and for a distance s. This is achieved by means of a microcontroller that calculates the necessary parameters for
achieving the goal, and that sounds audio prompts as an aid or feedback to the user.
The calibration information is stored for future reference, display, analysis, and/or processing. Further, the module measures the force with which the user's foot contacts and pushes away from the exercise (or contact) surface, and calculates both an impact factor and the rate of energy expenditure based on the stored calibration data. The module also provides real-time performance-based feedback to the user during the exercise session by playing the appropriate combination of prerecorded words and messages through a self-contained speaker. The data acquired by the module are analyzed and stored when the user exercises, and the information is graphically reported upon completing the session.
In addition, the system includes an accelerometer that senses the instantaneous acceleration force exerted by the shoe, and thus the runner. The accelerometer sends its signal to the microprocessor, which analyzes the signal to provide speed, stride length, and distance traveled. The system further includes a portable interface/controller. The module transmits performance data to, and receives instructions from, the portable interface/controller.
The system is also comprised of an FM receiver/transmitter that can form part of the portable interface/controller or that can be a separate unit. The FM receiver/transmitter allows the transmission and reception of messages to the user through an ear-piece. As an example, the user may be listening to an FM transmission while running; the processor interrupts this transmission and sends prompt messages to the user. The processor will then proceed to send the information to the user, and when the transmission of information is completed, the processor will resume the normal transmission, which it interrupted briefly. The information is in the form of prompt and data messages to the user relative to the user's performance and locomotion behavior. When the transfer of prompt messages and data is complete, the processor will automatically reset the-system back to its original conditions of transmitting the commercial FM band (or tape playback in the event of an audio recorder) again to the user. This process will repeat itself periodically as scheduled by the microcontroller.
The module also employs a method for conserving the power of a power source,
such as a battery, during an exercise period. If the microcontroller detects an output from the sensor element, it energizes a pressure transducer in anticipation of a push-off force measurement. As used herein, push-off force refers to the force applied by the user onto the ground upon propelling forward. Once awakened, the microcontroller periodically energizes a transmitter, which forms part of the module, in order to send data to the portable interface/controller.
The module also includes a data receiver that obtains data from the portable interface/controller. The data is used for programming the module by the user, and includes parameters such as weight, gender, height, pacemaker /metronome, etc. Upon completion of the exercise, the user can connect the portable interface/controller to an external computer (such as a personal computer) in order to keep a performance diary of the data in its entirety, or otherwise have it plotted or saved for future reference.
The communication links between the module and the portable interface/controller, and between the portable interface/controller and the external computer or a headset, can be achieved by a number of means, such as an optical link, radio frequency (RF), etc. The RF link can be through conventional or available communications techniques or can employ a spread spectrum communications methods, in which the carrier of the transmitter is changed from one frequency to another (i.e., frequency hopping). This scheme allows for utmost security of the transmitted signal with excellent audio fidelity, and also allows the signal to maintain its integrity and to be impervious to external jamming from other electromagnetic radiation that may be present in the vicinity of the transmitter.
The system can be incorporated in footwear, and can be used in several other commercial applications, including but not limited to prosthetic limbs, and training and behavior modification of the user's performance through calibration, reporting, archiving and analysis of data gathered by the system.
It can therefore be appreciated that when the system of the present invention is used with footwear for measuring, analyzing and reporting the performance of an athlete, it provides an arrangement which is easy and effective to use; which requires minimal training; which measures acceleration, calculates velocity, stride length, distance, work and energy expended; which reports the performance of the
athlete on a real time basis; which archives the data economically using a compression algorithm; which analyzes performance data gathered by the module and provides performance history; and which enhances the performance of the athlete with the pacemaker/metronome.
BRIEF DESCRIPTION OF THE DRAWINGS
The features of the present invention and the manner of attaining them will become apparent, and the invention itself will be understood by reference to the following description and the accompanying drawings, wherein: Fig. 1 is a high-level block diagram of a system for measuring, analyzing, and reporting the performance of a user according to the present invention;
Fig. 1A is a perspective view of the system of Fig. 1 , which comprises a module that includes an inertial platform and associated circuitry embedded within an apparel represented by a shoe, a receiver unit that includes a headset, a portable interface unit, and a computer;
Fig. 2 is an enlarged fragmentary perspective view of the shoe shown in Fig. 1A, which includes the module with the inertial platform, sensors and associated circuitry;
Fig. 2A is a fragmentary perspective view of the shoe shown in Fig. 2, depicting the approximate locations of the module, the inertial platform and its associated circuitry, and the battery compartment.
Fig. 2B is a high-level architecture of the module shown in Figs. 2 and 2A;
Fig. 2C is a schematic diagram of the module of Fig. 2B;
Fig 2D is a detailed schematic diagram of an exemplary design of the module of Fig. 2C;
Fig. 3 is a fragmentary perspective view of the portable interface unit shown in Figs. 1 and 1A;
Fig. 3A is a high-level architecture of the portable interface unit shown in Fig. 3;
Fig. 3B is a schematic diagram of the portable interface unit shown in Fig. 3A; Fig 3C is a detailed schematic diagram of an exemplary design of the portable interface unit shown in Fig. 3B;
Fig. 4 is a perspective view of the headset unit shown in Figs. 1 and 1A;
Fig 4A is a more detailed schematic diagram of an exemplary design of the headset shown in Fig. 4;
Fig. 5 is an exemplary distance-time (S-T) curve which is stored graphically in a memory of the portable interface unit shown in Fig. 3; Fig. 6 is an exemplary velocity-time (V-T) curve stored graphically in the memory of the portable interface unit shown in Fig. 3;
Fig. 7 is an exemplary Impact Factor-Energy Expenditure (W-E) curve (expressed in calories) stored graphically in the memory of the portable interface unit shown in Fig. 3; Fig. 8 is a graphical representation of an analog output signal generated by an accelerometer shown in Fig. 2D;
Fig. 8A is a representation of a conventional Cartesian frame of reference showing the 3 axes of operation of the accelerometer shown in Fig. 2D.
Fig. 9 is a graphical representation curve of the instantaneous acceleration along the X-axis;
Fig. 9A is a graphical representation of the mathematical relation between acceleration (curve a), speed (curve v), and distance (curve s);
Fig. 9B is a graphical representation curve of the instantaneous impact force along the Z-axis; and Fig. 10 is a partly sectional view of an artificial limb using the footwear and embodying the system of Fig. 1 A for use in medical applications.
DETAILED DESCRIPTION OF THE INVENTION
Figs. 1 and 1A illustrate a system 100 according to the present invention, for measuring, analyzing, recording, and reporting the performance of a user, such as an athlete. The system 100 includes a module 11 1 disposed within an apparel such as a footwear or shoe 120. The system 100 further includes an interface/controller unit 140 which is also referred to as an interface unit, and an audio assembly such as a headset 162. The module 111 detects changes in the acceleration and pressure of the user's feet, and sends these data to the interface unit 140 for processing. After processing, the interface unit 140 sends the data to the user by means of a display and the headset 162, and makes it available for further display,
archiving and analysis by a computer 150.
In operation, the module 111 senses the user's acceleration and foot pressure collects the appropriate and desired raw data, optionally processes the collected data, and transmits the collected data to the interface unit 140 via a communication link 121. In turn, the interface unit 140 receives the data from the module 111 , processes the raw data provided by the module 111 , and provides an audio feedback (for example over an FM band) to the user via a communication link 131 and the headset 162. The interface unit 140 also provides a visual and graphical feedback to the user by means of a liquid crystal display (LCD) 305. The interface unit 140 further allows the user to interface with the system 100, via a communication link 141 , for programming or otherwise controlling the operation of the system 100 by means of a keypad (or keyboard) 238 or other known or available input techniques such as voice commands, infrared (IR) link, and so forth.
With reference to Figs. 1A, 2, 2A, 2B, 2C and 2D, the module 111 generally includes a sensor platform unit 119, a single or a dual axis accelerometer 165, a piezoelectric pressure or strain generator 167, a plurality of light emitting diodes (LEDs) 169, a speaker 170, an amplifier 235, and an audio memory 171 (Fig. 2C). The sensor platform unit 119 senses the user's acceleration and foot pressure. The accelerometer 165 senses the acceleration forces applied on the user as a result of locomotion. These forces are sensed in both the X-axis (forward/backward direction) and in the Z-axis (up/down direction). The piezoelectric pressure or strain generator 167 senses the foot pressure exerted by the user and gives a measure of the user's weight. The LEDs 169 provide illumination which is an added safety measure for the user at night time, and in conjunction with the current limiting resistors 248 form an illumination circuit 250. The speaker 170 gives the user prompts and pacer/metronome signal. The audio memory 171 stores pre-recorded messages for use in conjunction with performance parameters shown in Table 1 below.
The module 111 generally includes an inertial platform 119, a microcontroller 205 th-at ;- "ϊludes an internal analog to digital converter (ACD), a receiver 210, a receiver antenna 212, a transmitter 215, and a transmitter antenna 217. The transmitter 215 and the transmitter antenna 217 are connected to, and are used by the microcontroller 205 to communicate with the interface unit 140 by transmitting
performance data thereto. The receiver 210 and the receiver antenna 212 are connected to, and are used by the microcontroller 205 to communicate with the interface unit 140, by receiving instructions from the interface unit 140.
The module 111 is powered by a power source, such as a battery 218 (B1). The battery 218 can be replaceable or rechargeable, as desired. In order to conserve power during an exercise period, the microcontroller 205 disconnects the ground (-) side of the battery 218 from certain associated components of the module 111 that are not in use. For example, the microcontroller 205 disconnects power from the transmitter 215. In an exemplary embodiment, if the microcontroller 205 detects an output from the piezoelectric pressure or strain element or generator 167, such as in a wake up or normal operation, it connects the ground (-) side of the bridge 224 in anticipation of a push off force measurement. This connection is maintained until the measurement is made or a predetermined time has elapsed (i.e., time-out period has lapsed). Similarly, the ground (-) connection to transmitter 215 is only established when the microcontroller 205 is sending performance data to the interface unit 140.
The piezoelectric pressure or strain generator 167 senses the impact of the shoe heel 255 against an exercise surface, and wakes the microcontroller 205 which is in a power conserving sleep mode whenever possible. A voltage limiting element such as a diode 260 clamps the positive output of the generator 167 to VDD +0.6V. Another voltage limiting element such as a diode 262 clamps the negative output of the generator 167 to VSS -0.6V. The bridge 224 is a force measuring strain gauge arrangement that senses the force with which the user's foot pushes off the exercise surface. The capacitor 124 is placed across the accelerometer 165 for noise reduction and decoupling.
Fig. 2D illustrates an exemplary module 400, which is designated as module 400. The module 400 includes a microcontroller 405, such as Microchip PIC 16C74A that contains an internal analog to digital converter (ADC). The microcontroller 405 executes a code stored in its internal program memory as well as a code stored in an electrically erasable programmable read only memory 407 (EEPROM) such as Intel's 27C16. The EEPROM 407 is also used to store the analyzed data concerning
the athlete's performance. An oscillator 406, comprised of quartz crystal and two capacitors which form a standard microcontroller oscillator, provides the clock signal and time base function required by the microcontroller 405. The microcontroller 405 flashes a plurality of light emitting diodes (LEDs) 409, such as Stanley red LEDs 1 1 12H through current limiting resistors 408. Each of the resistors 408 has an approximate resistance of 330 ohms, to provide a night-time safety feature or other functions, or to provide an esthetic appearance to the shoe 120.
A sensor 401 , such as the sensor available from APC International Limited as part number 2001071 AS, senses the impact of the shoe or user's heel 255 (Fig. 2) against an exercise surface, and wakes the microcontroller 405 which remains in a power conserving sleep mode whenever possible. A diode 403, such as 1 N914, clamps the positive output of the sensor 401 to VDD +0.6V. A diode 402, such as 1 N914, clamps the negative output of the sensor 401 to VSS -0.6V.
A bridge 404, comprised of two orthogonal strain gauge such as the bridge available from Omega as part number SG-3/350-XY13, is a force measuring strain gauge arrangement that senses the force with which the user's feet push off the exercise surface. An accelerometer 419, such as the accelerometer available from Analog Devices as part number ADXL202JQC, senses the acceleration of the user while moving in the X-axis (forward/backward direction). The accelerometer 419 is used in conjunction with capacitor 424 having a capacitance of 0.1 μF, such as Panasonic ECK-F1 E104ZV, which is a decoupling and noise reduction capacitor. The accelerometer 419 gives a measure of the user's acceleration and sends these data to an analog to digital converter (ADC) which resides inside the microprocessor 405, and therefrom to an internal Arithmetical Logical Unit (ALU). Both the ADC and the ALU form part of the microcontroller 405. The accelerometer 419 gives an output signal, which is proportional to the amount of the acceleration it senses. This is shown in Fig. 8 which illustrates that under normal conditions of no acceleration the accelerometer 419 has an output of half its maximum output at full scale. When acceleration is exerted on the accelerometer 419, it changes its output signal in a linear fashion corresponding proportionately to the amount of the acceleration.
The accelerometer 419 also senses the acceleration of the user's foot in the Z- axis pertaining to foot-lift, footfall, and impact, and sends these data to the
microcontroller 405. The microcontroller 405 sends the data through a transmitter 412, such as a transmitter available from RF Micro-Devices as part number RF2510, and through a transmitter antenna 413. The transmitter antenna 413 can be a short length of wire or a trace etched onto a printed circuit board (Figs. 3, 3A, 3B and 3C). A battery 418 is used to power the module 400 and its associated electronics. The battery 418 can be, for example, a 6 volt coin battery which may comprise two coin batteries, such as Panasonic BR1216 coin batteries, that are stacked in series to supply power to the module 400. The battery 418 can be replaceable or rechargeable, as desired. In order to conserve power during an exercise period, the microcontroller 405 disconnects the ground (-) side of the power source from the bridge 404 and the transmitter 412 when these units are not being used. For example, if the microcontroller 405 detects an output from the piezoelectric force measuring element 401 , such as in a wake up or normal operation, the microcontroller 405 connects the ground (-) side of the bridge 404 in anticipation of a push off force measurement. This connection is maintained until the measurement is made or a predetermined time has elapsed (i.e., time-out period has lapsed).
The microcontroller 405 executes a code stored in a memory 407 and periodically sends audio prompt messages to the user employing an audio memory 414 such as ISD part number ISD33120P, and audio amplifier 415 such as National Semiconductor LM386, to provide audio signals via a speaker 416, which is an 8 ohm magnetic element or a piezoelectric element such as Murata PKB-3A0.
The interface unit 140, which is contained in a housing 31 1 (Fig. 3), periodically, transmits programming data to the apparel such as the shoe 120 (shown in Fig. 1A). These data are received by the shoe 400 via a data receiver antenna 411 , which sends its signal to the input of the data receiver 410, which is a receiver such as RF Micro Devices RF2917.
The portable interface unit 140 will now be described in greater detail in connection with Figs. 3, 3A, 3B, and 3C. The interface unit 140 generally includes a processor and a communications unit 300 which is also referred to herein as an interface module 300, a data input device such as the keypad 238, a graphic display such as a liquid crystal display (LCD) 305, an RS 232 interface 308, and a RS 232
interface connector or port 310.
The interface module 140 processes the performance data received from the module 111 (Fig. 2B and 2C), and graphically displays the processed data on the graphic display 305. The interface port 310 allows the user to connect the interface unit 140 to a personal computer or a processor 150 (Figs. 1 and 1A) that processes the data from the interface unit 140. The computer 150 permits archiving data and plotting performance data over extended periods of time. An exemplary RS-232 interface 308 is available from Maxim as part number MAX-232, and the interface connector 310 can be a DB-9 or a RJ-45 type connector that allows the user to connect the interface unit 140 to the computer 150, or to a processor capable of processing data from the module 11 1 and the interface unit 140.
The input device, for example a keypad 238 is a cluster of normally open switches that allows the user to interface with, and control the operation of the system 100. With more particular reference to Fig. 3B, the interface module 140 generally includes a microcontroller 333, a data receiver 341 , a data transmitter antenna 381 , a data memory 360, an audio memory 365, an FM transmitter 370, an FM receiver 390, and antenna 391 , an audio combiner 375, and a data transmitter 380. An exemplary microcontroller 333 can be Microchip PIC16C74A which executes a code stored in its internal program memory. The Microcontroller 333 remains in a power conserving sleep mode whenever possible, and awakes when a keystroke from the keypad 238 is detected. This occurs, for example, when the user wishes to calibrate the module 111 or transmit (i.e., upload) data from it.
The data receiver 341 receives data such as that shown in Table 1 from the module 11 1 , which pertains to the user's performance. The microcontroller 333 analyzes the data and displays it on a liquid crystal display 305. An exemplary LCD is available from Stanley, as part number GMF12064ASLY, and is used to graphically display the performance information.
The dεta memory 360 (Fig. 3A) stores the data received from the module 111 , and fi erier stores the temporary results of the computations made by the microprocessor 333. The audio memory 365 contains audio messages that are used by the microcontroller 333, in order to generate the audio prompt messages that are
sent to the headset 162 (shown in Fig. 1A, 4, 4A).
The FM transmitter 370 is used to send the audio prompt messages and the FM broadcast band to the headset 162. The FM receiver 390 receives FM commercial broadcast band. The FM transmitter 370 sends the received FM broadcast band to the user together with occasional or periodic audio prompts.
The combiner 375 is used to combine the two sources of audio, the output of the
FM receiver and the output of the audio memory, into a single source, which is then routed to the input of the FM transmitter 370 to be re-transmitted to the headset 162.
The data transmitter 380 and its antenna 381 are used to send programming and control commands to the module 11 1 (shown in Fig. 1 A, 2B, and 2C).
The various components of the interface unit 140 are powered by a power source, such as a battery (B2) 351 (Fig. 3D). The microcontroller 333 conserves the power of the battery 351 by connecting the ground (-) side of the battery 351 to the transmitter 380 only when data communication in the form of commands and programming to the module 111 is required.
With further reference to Fig. 3B, the interface module 140 further includes an oscillator 346 is comprised of quartz crystal and two capacitors which form a standard microcontroller oscillator. The oscillator 346 provides the clock signal and the timebase function required by microcontroller 333. The data transmitter 380 and its antenna 381 , the data receiver 341 , and a receiver antenna 342 are used for data communication between the interface module 140 and the module 11 1. An exemplary transmitter 380 is available from RF Micro Devices as part number RF2510, and the transmitter antenna 381 can be a short length of wire or a trace etched on the PCB. An exemplary receiver 341 is available from RF Micro Devices as part number RF2917, and the receiver antenna 342 can be a short length of wire or a trace etched on the PCB.
Figs. 5, 6, and 7 represent performance data from the module 111 , which will be explained later in further details. The data is graphically shown on the LCD 305 (Fig. 3B), and can be transmitted, via the RS-232 interface connector 310 to the computer 150, to a storage medium, or to a processor.
Data gathered by the module 11 1 (Figs. 2, 2A, 2B, and 2C) are processed by the microcontroller 205 which further includes an internal Arithmetical Logical Unit
(ALU). The ALU executes a code stored in the internal program memory of the microcontroller 205, and further executes a code stored in the EEPROM 227. An exemplary EEPROM 227 is available from Intel as part number 27C16.
The EEPROM 227 stores data received from the accelerometer 165, the piezoelectric sensor 167, and the bridge 224, using the following instructions:
The velocity v is the first derivative of the distance s traveled by the user with respect to the time t, as expressed by the following equation (1):
ds V = — = s (1) dt
The velocity v can also be defined as the integral of the acceleration a with respect to time, as expressed by the following equation (2):
Where the velocity v (in m/s: km/h) is constant, the following equation (3) applies:
v = - O) t
The acceleration a (in m/s2 or km/h2) is the first derivative of the velocity v and the second derivative of distance s, with respect to the time t, as expressed by the following equation (4):
= d v = = d s - ΛΛ
The converse is also true, in that when given acceleration as a primary measured parameter, one can derive the speed and the distance by integration. The speed is deduced by integrating the acceleration once, and the distance s is obtained by integrating the speed twice, as expressed by the following equation (5):
The mathematical formalism shown in expression (1 ) through (5) above are modified by an inventive set of algorithms listed in Table 1 , Instruction set 27.1 , 28.1 , 29.1 , 30.1 , 31.1 , 32.1 , 45.1 , and 46.1 , which modified the data generated by module 11 1 and its associated circuitry such as accelerometer 165, bridge 224, and microcontroller 205. The principle of module 11 1 (and inertial platform) embedded in the shoe 120, is based on the notion that human locomotion is not a form of ground transportation, but rather an aircraft. Essentially the entire shoe 120's motion occurs while airborne. The function of module 1 11 is to measure the x-axis (figure 8A) and z-axis acceleration, as well as rotation about the y-axis. From these are calculated various primary derived values such as stride length (d), and changes in elevation (h), as the wearer walks or runs. A detailed set of derived values are shown in Table 1. Human locomotion is complex and cannot by captured by a simple accelerometer such as module 11 1 due to the fact that the data generated by the module 11 1 is associated with a set intrinsically generated errors derived from sources such as transducer accuracy (165), transducer saturation (h parameter in the z-axis), transducer resonance, reference voltage accuracy, A/D converter (embedded in microcontroller 205), temporal resolution (clocks in 205 and external crystal), computational approximation errors and false motion.
A brief description of the approach taken by this invention will highlight the methods used by the algorithms (instruction set 30.1 , 28.1 and 32.1 ) in avoiding or minimizing the extent of the error generating signal, such as overranging, temporal resolution, rotation on the y-axis, false motion, and caloric estimates. Parameters derived from the primary measurement of module 111 and its accelerometer 165, overranging of the z-axis transducer 165, due to elevation changes are solved by transducer "g" load range (10g maximum value). Overranging of the x-axis accelerometer, which results in erroneous residual velocity at the end of the stride is resolved by a piezoelectric transducer 224, which transmits a signal when the foot is planted on the ground. This signal forces the x-velocity (v) using instruction set 28.1 to record a zero (0) value, hence containing each stride as a unit of measurement between two values of pressure transducer 224. This technique eliminates the erroneous residual velocity. Error generating signal due to temporal resolution is essential in avoiding the phenomenon of aliasing. (Observed accelerometer 165
varies rapidly.) An important feature of this invention is the processing of data generated by module 111. Its inertial platform 165 is the processing of data generated by module 1 11 in the shoe 120 using microcontroller 205. Hence, raw data (d) (d1 t d2, ...dn), is not sent to the handheld device 140 in real time, but is processed and stored without the need to synchronize data generation and data transmission.
Rotation of the shoe 120, about the y-axis (shown in figure 8A), requires that the angular position be taken into account in calculating (d) (d,, d
2, ...d
n), with reference to data generated by accelerometer 165 on the x-axis and z-axis direction. E.g.
where θ is the angle from the x-axis locomotion of the wearer. Instruction set 30.1 uses microcontroller 205 floating point routine for trigonometric functions to achieve this task. In addition, the instruction set 30.1 uses an approximation technique such as the MacLaurin series for the sine of the angle, expressed as follows:
3! 5!
This convergent series provides reasonable accuracy when truncated to the first three terms (even the expression sin θ « θ is accurate to three decimals for angles up to 8.2°); however, additional terms can be used to further improve the approximated angle of attack of the user's shoe 120.
Another source of error generating signal in module 1 11 is the phenomenon of false motion; e.g. runners may orient their foot so that gravity causes an apparent acceleration. A case might be conceived that a runner kneels to tie his left shoe and places the right shoe (embedded with accelerometer 165) pointing downward. The system (module 111) would compute a large negative acceleration. After five seconds the runner would log 121.92 meters backwards. A runner taking a 30- minute nap with his shoe in an upward attitude would log nearly 16,000 kilometers! These errors are a manifestation of Einstein's principle of Equivalence. An observer, the accelerometer 165, cannot distinguish between being accelerated in space and sitting at rest in a gravitational field. Instruction set 30.1 is directing the microcontroller 205 firmware to suspend calculations if a footfall doesn't occur after
some period of time (e.g. four seconds), since in human locomotion it is very rare that a foot is airborne for more than one or two seconds.
The above discussion on error signal generation sources is defined in order to highlight, the complexity of human locomotion and the necessity of supplementing the raw data (generated by module 111 shown in Table 1) with the instruction sets 27.1 - 46.1.
The data gathered by module 111 , which comprises the acceleration over time from the accelerometer 165, and impact information obtained from the same accelerometer 165 or the bridge 224, are analyzed by the microcontroller 205 using an instruction set stored in the EEPROM 227. In the exemplary EEPROM 227 described herein, instruction sets 46.1 , 45.1, 30.1, 29.1, 28.1 , and 27.1 are identified and further shown in Table 1.
With reference to Fig. 8A, the accelerometer 165 can have an additional Z-axis (orthogonal to the X-axis) i.e., the axis along the forward/backward direction. The Z- axis provides information relative to the user's impact data, efficiency measure, foot- lift shown in Fig. 9B, and other pertinent information associated with data relative to locomotion of the foot in the Z-axis - up/down direction.
The stride length (d) is calculated as defined by the instruction set 32.1. The velocity (v) is calculated as defined by the instruction set 28.1. The signal received from the accelerometer 165 is integrated once with respect to time by the microcontroller 333, as shown in Equation 2, to give the velocity. The integration process is a mathematical process and it is achieved by means of numerical methods. The integration process inherently relies on recursive iterations to find an algebraic solution to the mathematical equation. When the speed (v) is integrated again, or the acceleration (a) is integrated twice, with respect to time, the result is distance. Since the input signal from the accelerometer 165 is a measure of the instantaneous acceleration (a) of the user, and since this acceleration is in "packets", corresponding to the individual steps which the user takes, integrating the acceleration (a) twice gives the size of the step, or the stride length (d). If the length of all the strides were the same, then multiplying this length by the number of steps gives the distance traveled. Since one cannot assume that the length of all the strides is the same, a preferred approach is to compute the length of each stride
individually by integrating the instantaneous acceleration twice as explained above, and adding all the successive individual stride lengths to get the total distance (s). Hence, the total distance (s) traveled by the user is obtained by the summation ∑(d)n of all the successive stride lengths that the user takes. Work or efficiency measure (w) is calculated as defined by instruction set 29.1 , by integrating the acceleration once with respect to time, squaring the result and multiplying it by the weight of the user, as shown in Equation 9. The result is then modified appropriately by the use of a look-up table residing in EEPROM 227 and which contains the specific personal information such as gender, height, weight, and age. This information is initially input into the interface unit 140 as part of the initialization and calibration procedure which takes place before the exercise session begins.
The stride length (d) is then used to calculate the distance (s) in the following way. When the user initiates locomotion, the accelerometer 165 located in the shoe 120, senses the inertial conditions in the forward-backward motion as shown in Fig. 9. The signal is then analyzed by the microcontroller 205 by means of instruction set 30.1. Instruction set 30.1 and the various instruction sets referenced herein can be stored in the EEPROM 227 and/or memories such as data memory 360 of the portable interface/controller unit 140. The data is then sent via the transmitter 215 to the data receiver 341 in the portable interface/controller unit 140. In the portable interface/controller unit 140 the data are integrated twice with respect to time as shown in Equation 5 as explained above, and are then emulated by an instruction set 32.1 to provide the stride length (d). Once the stride length (d) is known, the total distance (s) traveled by the user is determined by a summation ∑(d)n of all the successive stride lengths that the user takes, as shown in Table 1. Therefore, it is clear that both the stride length (d) and the distance (s) can be derived directly from the acceleration data as discussed above and as shown in Table 1.
The information obtained from the bridge 224 is used in conjunction with the pacemaker/metronome instruction set 31.1. At the beginning of an exercise session the user may decide that he or she wishes to run a given distance within a given time. The user inputs the distance and time required into the portable
interface/controller unit 140 by means of the keyboard 238. The microcontroller 333 will then proceed to calculate the necessary parameters associated with the desired locomotive behavior for that particular case.
When the user starts to run, the input which the microcontroller 333 receives from the module 11 1 and bridge 224, together with the calculations of the distance and stride length that are obtained from the signal received from the accelerometer 65, are compared to the desired results entered by the user at the beginning of the exercise session. The microcontroller 333 then calculates the difference between the achieved progress of the user and the desired conditions, where that difference is used as an error signal, and sends the user audio prompts in the form of audible ticks. These audible ticks, when heard by the user, are thus used to modify the locomotive behavior of the user by synchronizing the footfalls of the user to the ticks of the pacemaker/metronome. The error signal is therefore generated and used to correct the conditions of the overall system, and is of a biofeedback nature, in that corrective measures are taken based on audible signals provided to the user. This entire process is accomplished using the pacemaker/metronome instruction set 31.1 , which is the program code for that routine residing in the data memory 360 of the portable interface/controller unit 140.
The data stored in EEPROM 227 are tabulated in the following manner as shown in Table 1 :
TABLE 1
s-,' t
The data strings in Table 1 above can be graphically represented by the portable interface/controller unit 140, shown on the LCD 305, and emulated by the instruction sets 27.1 , 28.1 , 29.1 , 27.1 28.1 29.1 , 30.1 , 31.1 , 32.1 , and 45.1 and 46.1. These data are stored in the EEPROM 227 and are further compressed during the exercise in a graphical format, such as those illustrated in Figs. 5, 6, and 7. The initial collected data is emulated into a graphical form and its numerical equivalent values are erased. This procedure enables the system 100 to economically preserve real time performance characteristics while using minimum amount of memory. The initial data can be reconstructed later from the stored graphs, as desired, with most of the data points preserved in their original form.
To store acceleration data in its raw form would require a large amount of memory, hence the need for a compression algorithm provided by the system 100 and noted by the instruction sets identified in Table 1. The same or similar result can be achieved by using other compression schemes such as direct compression of the data in real time, storing the data in memory, and then decompressing the data with a personal computer. However this scheme might not be as efficient as emulating the data points directly in a graphical format.
Figs. 5, 6 and 7 show the results of the data measured by the module 11 1 , and are further explained as follows:
Fig. 5 shows graphically a distance-time curve (S-T curve) which is reconstructed from the stride length data obtained using equation 5 above. The S-T curve is achieved by integrating the velocity information over time. The S-T curve is a result of the instruction set 27.1. Fig. 6 shows graphically the velocity-time (V-T) curve. The acceleration data measured by the accelerometer 165 are used to calculate the velocity, by integrating the acceleration data over time. The result is a velocity-time curve (V-T curve), which records the velocity-time history. The V-T curve is a result of the instruction set 28.1 and is obtained by integrating the acceleration once with respect to time using Equation 2. When the acceleration a is integrated twice over time, it yields the distance-time (S-T) curve shown in Fig. 5. The relationship of the acceleration a with respect to distance s and velocity v is expressed by equation 4 above.
Fig. 7 shows graphically the work and energy expended by the user as the result of the measurement taken by the accelerometer 165, and as described earlier in conjunction with instruction set 29.1 and Equation 9. The look-up table defined user specific factors such as weight, height, gender, and age, thereafter modifies the mathematical relationship and the final result of the energy expenditure. The resulting value is measured in calories and available to the user at the end of the exercise session on the portable interface/controller 140 and is uploadable to the computer 150.
With reference to Fig. 9B and Table 1 , the accelerometer 165 is a dual axis device. It is used to obtain the parameters of foot-lift (h), and impact (g) as shown in Table 1. One of the axes is used in the forward direction, or X-axis, of the athlete, to measure the stride-length and distance, and the other axis is employed in the Z-axis, to measure the up and down foot-lift and impact, and thereby efficiency. Fig. 9B further illustrates an exemplary signal in the Z-axis obtained from the accelerometer 165, as it relates to the foot-lift measured in meters and impact acceleration/deceleration measured in meters/sec2.
The two additional parameters, namely foot-lift (h) and impact (g), are calculated in the following manner. Impact data is obtained by multiplying the output signal from accelerometer 165 by the weight of the user employing instruction set 45.1 , and the result is measured in Newtons. Foot-lift is obtained by double integration of the output signal from the accelerometer 165 with respect to time, as shown by Equation 5 and instruction set 46.1 , where the result is a measure of height indicating the foot- lift (h), and is measured in meters. The measurement signal is illustrated in Fig. 9B that depicts variations in acceleration in the Z-axis with respect to time or distance. The graph in Fig. 9B further illustrates changes in acceleration as the user lifts his or her foot off the ground in the process of propelling in the forward direction. This phenomenon is different from the one measured in the X-axis where the forward- backward axis of locomotion is the dominant one, as illustrated in Fig. 8A. Fig. 9B also illustrates a correlation in the X-axis with time t, and in the Z-axis with height (foot-lift) h.
The data gathered by the module 1 11 are further analyzed for the impact factor using data received from the piezoelectric sensor 167 and the accelerometer 165.
Once the data are reduced to a graph format by instruction set 29.1 , the graph is stored in the EEPROM 227 as illustrated in Fig. 7, as a W-E curve. In Fig. 7, W designates the impact factor/work performed, and E designates energy expenditure. The resulting W-E curve is measured in calories. The elementary data points generated by the accelerometer 165 and as modified by the piezoelectric pressure or strain generator 167 and a look-up table residing in the EEPROM 227 can be expressed by the following equations 6 and 7:
W=F- s (6)
F=rτv a (7)
In equations 6 and 7, W is the energy expended by the user in Joules or calories, F is the force of locomotion on the part of the user required to travel a distance s measured in Newtons, s is the distance traveled by the user in meters, and m is the mass of the user in kilograms. By mathematically manipulating the above expressions 6 and 7, one obtains
Equation 8:
V
W = m - a - S = — - S - m t
W = v - m = v ■ m
W = v2m (8)
Hence, Equation 8 represents a parametric measure of caloric expenditure W which is expressed only in terms of the speed and the weight of the user, v and m, respectively.
Since the speed of the user is the integral of the acceleration, as expressed by Equation 2 above, the energy W expended by the user can be expressed by the following equation 9:
The above set of equations, modified by a look-up table residing in memory 360 and incorporating additional factors such as age, gender, weight, and height, as well as the numerical and graphical representations shown in Fig. 7, are derived and emulated by instruction set 29.1. Instruction set 29.1 is a computer program by which the microcontroller 333 calculates the work and caloric output expended by the user.
With reference to Figs. 3, 3A, 3B, and 3C, the interface unit 140 includes a microcontroller 502, such as Microchip PIC 16C74A, which executes a code stored in its internal program memory. The microcontroller 502 remains in a power conserving sleep mode whenever possible, and awakes when a keystroke from the keypad 501 , or some other command, such as a signal from module 1 1 1 is detected. This occurs when the wearer wishes to change the parameters entered from the keypad 501 , such as age, gender, height, weight and pacing information as defined by the metronome instruction set 31.1 of the interface unit 140, or to download data from the module 11 1. The oscillator 512 is comprised of quartz crystal and two capacitors which form a standard microcontroller oscillator providing the clock signal and timebase function required by the microcontroller 502. The LCD 503 is available from Stanley as part number GMF12064ASLY, and graphically displays the performance information.
The RS-232 interface 505 is available from Maxim as part number MAX-232. The RS-232 interface connector 506 is a DB-9 or RJ-45 type that allows the user to connect the interface unit 140 to the computer or processor 150 (Fig. 1) which is capable of processing the data from the interface unit 140. This permits archiving data and plotting performance data over extended periods of time. The microcontroller 502 conserves the power of the battery 511 , which is a standard 6- volt battery, by connecting the ground (-) pole to the data receiver 508 and transmitter 509, only when communication is required. The data receiver 508 is available from RF Micro Devices as part number RF2917, and its antenna 507 can be a short piece of wire or a trace etched onto the PCB.
Performance data to the user is provided by audio prompts while listening to an
FM broadcast station. The data stored in the EEPROM 518, which is a device such as Microchip part number 93C66B, and generated by the module 111, is routed to the input of the audio combiner 575. An FM Broadcast Band receiver 509 which is available from ABACOM as part number LX-FM audio and a receiver antenna 510 which is a small wire or a trace etched onto the PCB, receives the FM commercial band and it too routes its signal to the input of the audio combiner 575. The output of the audio combiner 575 is then routed to the input of a FM transmitter 514. The FM transmitter 514, which is available from RF Micro Devices as part number RF2510, sends its signal to the transmitter antenna 515 which can be a small wire or a trace etched onto a printed circuit board (PCB), to be broadcast to the user via the headset 162.
In addition to the above communications link in the FM broadcast band, the portable interface/controller unit 140 also transmits commands and programming instructions to the module 111, which are entered by the user via the keypad 501. The portable interface/controller unit 140 sends these data and programming instructions via the data transmitter 513 which is a device such as RF Micro Devices RF2510, and its antenna, which is a piece of short wire or a small trace etched onto the PCB.
In the latter embodiment, the receiver 509 can be tuned by the user to a desired station. The output of the receiver 509 is routed to the input of audio combiner 575, the other input of which is connected to the output of the audio memory 519. The audio combiner 575 can be a simple analog switch, which selects the signals from the FM receiver 509 and the audio memory 519. The resulting signal being either the audio prompts or the FM receiver is connected to the input of an FM transmitter 514, which is available from ABACOM as part number TX-FM audio. The FM transmitter 514 rebroadcasts the information to the user on another frequency. The audio prompt messages from the audio memory 519, are routed periodically to the input of the transmitter 514, and are broadcast to the user as required. The audio memory 519 is available from ISD as part number ISD33120P Fig. 4A further describes an exemplary embodiment of the headset 162, which will be referenced as headset 700. The headset 700 generally includes a receiver 701 , an antenna 702, an amplifier 703, and an ear-piece 704. The signal from the
interface unit 140 is received by the antenna 702, which is a small piece of wire or a trace etched on a PCB. The signal from the antenna 702 is coupled to the receiver 701 which is available from ABACOM part number RX-FM audio. The receiver 701 detects the signal, and sends it to audio amplifier 703, which is available from National Semiconductor as part number LM386. The amplifier 703 amplifies the signal from the receiver 701 , and sends it to the ear-piece 704, which is a 40-ohm electromagnetic or a piezoelectric audio device. The head-set 700 is powered by a battery 706 such as an assembly of Panasonic BR1216, and the user can turn the head set ON and OFF via the SPST normally open switch 706. Fig. 10 is a representation of an artificial limb/prostheses 836 fitted with an apparel 820 that includes the module 11 1. Accordingly, the apparel 820 provides an electronic signal that allows the user to modify his or her behavior when learning stride-length, foot lift and other parameters illustrated in Table 1 above, which relate to medical and physiotherapeutic procedures. By employing the techniques of the present invention, the patient will be equipped with an apparatus 820 which provides assistance for behavior modification with the aid of servo loops and real time audio prompts for improving the patient's recovery while using the artificial limb.
When a disabled person uses a prosthetic device, sensory feedback from the artificial limb is generally limited. Consequently, the disabled person does not have the proper feedback from the limb as a non-disabled person would. With the use of the invention an important feature, such as feedback, is added between the prosthetic limb and the disabled user, allowing the user to get biofeedback from the system. The feedback can be in the form of prompt messages received from the headset, in response to the acceleration and the pressure data that the user exerts on the prosthetic limb. Thus even though a disabled person has no sensory signals from the limb, he or she is able to receive the necessary feedback signals from the system, and thereby modify his or her behavior as to locomotion techniques such as foot-lift, stride length and ground impact force, thus promoting faster healing and recovery after a severe injury. While the present invention has been described in terms of an apparel such as a shoe, it should be clear that the system and method of the present invention can be used with other devices, systems, and/or methods to perform a variety of desired
functions within the spirit of the present invention. Also, while communication between the module 111 and the interface unit 140 has been described as being wireless, it should be clear that communication using wires, cables, electro-optics or other similar methods can alternatively be implemented without departing from the scope of the present invention.
It should be understood that the compositions, values, and dimensions of the elements described herein can be modified within the scope of the invention and are not intended to be exclusive. Other modifications can be made when implementing the invention for a particular application. For example, while the present invention is described in connection with an exercise scenario, it should be clear that the present invention can be used in other commercial applications, including but not limited to the medical field/military/aerospace application and law enforcement.