METHOD AND APPARATUS FOR AN INCREASED GYROSCOPIC RATE SENSOR
20190000344 ยท 2019-01-03
Inventors
Cpc classification
G16H20/30
PHYSICS
A61B5/1107
HUMAN NECESSITIES
A61B5/08
HUMAN NECESSITIES
A61B2562/16
HUMAN NECESSITIES
A61B5/318
HUMAN NECESSITIES
G01C19/5776
PHYSICS
A61B2562/166
HUMAN NECESSITIES
A61B5/222
HUMAN NECESSITIES
A61B5/00
HUMAN NECESSITIES
A61B5/22
HUMAN NECESSITIES
A61B2562/0219
HUMAN NECESSITIES
International classification
A61B5/08
HUMAN NECESSITIES
A61B5/00
HUMAN NECESSITIES
A61N1/08
HUMAN NECESSITIES
Abstract
A sensor module includes multiple accelerometers mounted in a non-collinear arrangement onto a printed circuit board. A processor obtains linear acceleration vectors from each of the accelerometers and through the constraint imposed by the the non-collinear arrangement of the accelerometers onto the printed circuit board, the angular velocity vector of the sensor may be derived by the processor from the linear acceleration vectors.
Claims
1. A method of configuring a sensor, comprising: disposing a plurality of accelerometers into a geometric arrangement within the sensor; measuring a linear acceleration of the sensor using each of the plurality of accelerometers; and using the linear acceleration measurements from each of the plurality of accelerometers to estimate an angular velocity of the sensor.
2. The method of claim 1, wherein the plurality of accelerometers includes first, second and third accelerometers.
3. The method of claim 2, wherein a first displacement vector extending between the first and second accelerometers is non-collinear with respect to a second displacement vector extending between the first and third accelerometers.
4. The method of claim 3, wherein the first displacement vector forms a right angle with respect to the second displacement vector.
5. The method of claim 1, wherein the plurality of accelerometers are disposed in relation to a printed circuit board within the sensor.
6. The method of claim 1, wherein the plurality of accelerometers are coplanar with the printed circuit board.
7. The method of claim 1, wherein the angular velocity estimate is formed by constraining the linear acceleration measurements from each of the plurality of accelerometers to the geometric arrangement.
8. The method of claim 1, wherein angular velocities of the sensor may be estimated up to 8000 degrees per second.
9. A sensor, comprising: a printed circuit board; a plurality of accelerometers disposed into a geometric arrangement onto the printed circuit board; and a processor coupled to the plurality of accelerometers, the processor being configured to estimate an angular velocity of the sensor using acceleration measurements from each of the plurality of accelerometers.
10. The sensor of claim 9, wherein the acceleration measurements include linear acceleration measurements.
11. The sensor of claim 9, wherein the plurality of accelerometers includes first, second and third accelerometers.
12. The sensor of claim 11, wherein a first displacement vector extending between the first and second accelerometers is non-collinear with respect to a second displacement vector extending between the first and third accelerometers.
13. The sensor of claim 12, wherein the first displacement vector forms a right angle with respect to the second displacement vector.
14. The sensor of claim 9, wherein the plurality of accelerometers are coplanar with the printed circuit board.
15. The sensor of claim 10, wherein the angular velocity estimate is formed by constraining the linear acceleration measurements from each of the plurality of accelerometers to the geometric arrangement.
16. The sensor of claim 9, wherein angular velocities of the sensor may be estimated up to 8000 degrees per second.
17. A sensor, comprising: a printed circuit board; first, second and third accelerometers disposed onto to the printed circuit board, wherein a first displacement vector extending between the first and second accelerometers is non-collinear with respect to a second displacement vector extending between the first and third accelerometers; and a processor coupled to the first, second and third accelerometers, the processor being configured to estimate an angular velocity of the sensor using acceleration measurements from each of the three accelerometers.
18. The sensor of claim 17, wherein the acceleration measurements include linear acceleration measurements.
19. The sensor of claim 17, wherein the first displacement vector forms a right angle with respect to the second displacement vector.
20. The sensor of claim 17, wherein angular velocities of the sensor may be estimated up to 8000 degrees per second.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Various aspects and advantages of the invention will become apparent upon review of the following detailed description and upon reference to the drawings in which:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DETAILED DESCRIPTION
[0027] Generally, the various embodiments of the present invention are applied to a portable biomechanical assessment laboratory (PBAL) integrating kinetic, kinematic and electromyographic (EMG) technologies into a single, portable system to maintain integrity of research and data collection fidelity irrespective of the environment within which the PBAL operates. Furthermore, the PBAL is ruggedized to substantially absorb shock and vibration during transit, while at the same time protecting the individual components from environmental contamination that may be caused by precipitation or other environmental contaminants.
[0028] The PBAL may include universal sensor pods that may incorporate battery, processor and wireless communication components, which combine to implement baseline functionality along with native EMG measurement and Inertial Measurement Unit (IMU) capability. Specific sensor modules may interface with the universal sensor pods to augment the baseline functionality of the universal sensor pod to include various other sensing capabilities, such as acceleration, pressure, and force measurement capability. Dynamometers, biosensors (e.g., respiration and electrocardiogram (ECG)), goniometers, generic analog sensors (e.g., +/10V analog sensors) and generic digital sensors may further be accommodated by the universal sensor pod.
[0029] Integrated video/lighting components may further be incorporated into the PBAL, which not only provide the necessary illumination to highlight the subject of the biomechanical assessment (e.g., highlight reflective markers that are attached to the subject of the biomechanical assessment), but also the video capture capability that may be needed to be combined with the kinetic, kinematic, EMG and other sensing technologies integrated within the PBAL. A patch panel may also be provided within the PBAL such that each of the multiple biomechanical assessment technologies may be appropriately interconnected and synchronized with a biomechanical assessment software application that may be executing on a computing station in proximity to the PBAL.
[0030] Turning to
[0031] As exemplified in
[0032] Turning to
[0033] The biomechanical assessment technologies contained within PBAL 200 may be segmented, compartmented and interconnected to allow, among other things, shock and vibration isolation (e.g., via foam inserts 202), charging of the battery operated components contained within PBAL 200 (e.g., EMG sensors 204 and IMUs 206) via charging stations 252 and data input/output facilities required during operation (e.g., patch panels 210,216 or 250).
[0034] IMUs 206 may, for example, contain any one or more inertial measurement components, such as: 1) gyroscopes, which may be used to measure angular velocity; 2) accelerometers, which may be used to measure acceleration including gravity as well as to estimate angular velocity as discussed in more detail below in relation to
[0035] IMUs 206 may further include multiple sets (e.g., two sets) of accelerometers and gyroscopes for optimized performance across multiple axes (e.g., three axes) of movement. For example, two sets of accelerometers may be utilized within IMUs 206, whereby a first set of accelerometers may be optimized to measure an acceleration range between, for example, 0 and 2 times the earth's gravitational force (0-2 Gs) along each of the X, Y and Z axes, while a second set of accelerometers may be optimized to measure an acceleration range between, for example, 0-16 Gs along each of the X, Y and Z axes. A software algorithm executing on the processor within each IMU 206 may then choose one set of data from the available two sets of acceleration data depending upon the set of data that is the most accurate based on the G-load being experienced by IMU 206 at the time of measurement. For example, a first set of acceleration data (e.g., acceleration data taken during a 0G to 1.5G acceleration event) may be selected for use from the accelerometer that is optimized for use in that acceleration range and a second set of acceleration data (e.g., acceleration data taken during a 1.5G to 16G acceleration event) may be selected for use from the accelerometer that is optimized for use in that acceleration range.
[0036] Similarly, for example, two sets of gyroscopes may be utilized within IMUs 206 during operationa first set of gyroscopes optimized for use at a first angular velocity (e.g., 0 to 600 degrees per second) and a second set of gyroscopes optimized for use at a second angular velocity (e.g., 0 to 2000 degrees per second). In an alternate embodiment, as discussed in more detail below in relation to
[0037] Each analog output of each accelerometer, gyroscope and magnetometer of each IMU 206 may be sampled internally (e.g., via an analog to digital (A/D) converter) to provide multiple sets of digital information. Two or more sets of digital information may then be fused (e.g., by a Kalman filter algorithm) within each IMU 206 to generate the orientation information associated with each IMU 206. In one embodiment, a four-dimensional orientation result (e.g., a quaternion) may be generated by each IMU 206, where quaternions may be transmitted (e.g., wirelessly transmitted) at a rate between about 100 and 1000 Hz (e.g., approximately between about 100 and 400 Hz) to an associated receiver within PBAL 200 (e.g., receiver 212) via any one of a number of communication protocols (e.g., any protocol that may utilize a direct sequence spread spectrum (DSSS) modulation format). In alternate embodiments, raw samples from each accelerometer, gyroscope and magnetometer may also be transmitted by each IMU 206 to receiver 212.
[0038] It should be noted that each IMU 206 must first be removed from PBAL 200 and placed onto a particular body segment of a particular subject under test before any meaningful orientation information may be obtained for that body segment as discussed in more detail below with respect to
[0039] Each IMU 206 may facilitate wireless communications using a particular modulation format (e.g., direct sequence spread spectrum format) that may be used to communicate orientation information to motion data receivers (e.g., wireless communications to IMU receiver 212). Alternatively, each IMU 206 may instead wirelessly communicate to data logger 238, which may also be attached to the subject under test, such that the wireless communication distance between each IMU 206 and data logger 238 may remain substantially fixed between about less than one foot and several feet.
[0040] In one embodiment, a single motion data receiver 212 may communicate with multiple IMUs (e.g., up to 9 IMUs 206). Accordingly, multiple motion data receivers 212 may be utilized depending upon the number of IMUs that are required (e.g., two motion data receivers 212 are required to receive motion data from the 16 IMUs required for a full-body model). In this way, for example, PBAL 200 may be said to be a modular system where, for example, added capability may be achieved by simply cascading multiple motion data receivers 212 to achieve an extended bandwidth of operation.
[0041] EMG sensors 204 may further be included within PBAL 200. Each EMG sensor 204 may, for example, also include a wireless interface to facilitate wireless communications (e.g., wireless communications to EMG receiver 214 and/or wireless communications to data logger 238). Both IMUs 206 and EMGs 204 may, for example, be interconnected by a power charging bus (e.g., charging station 252) as discussed in more detail below in relation to
[0042] Patch panel 210,216 or 250 may be interconnected via network devices (e.g., USB hub 242) so that sensor data received by receivers 212 and 214 may be submitted for upload by PBAL 200 via a master data upload port (e.g., USB port 220 or USB port 256). All data received by receivers 212 and 214 may be synchronized via a master synchronization signal provided to patch panel 216 or 250 (e.g., via connector 224 or connector 258) which may then be routed to receivers 212 and 214. A synchronization output signal (e.g., as may be provided by synchronization signal generator 244) may also be provided at patch panel 216 (e.g., via connector 226) or patch panel 250 (e.g., via connector 266), which may then be patched over to video capture synchronization connectors (e.g., 228 and 230 of patch panel 210 or connectors 260 and 262 of patch panel 250) so that video capture devices (e.g., cameras 208) may be synchronized to the data being collected by receivers 212 and 214.
[0043] In alternate embodiments, a visible signal (e.g., a flash of light as may be generated by synchronization light generator 246) may instead be detected by cameras 208 (e.g., received by a lens of cameras 208), which upon receipt, may also serve to synchronize cameras 208 to the data being collected by receivers 212 and 214. Video information collected by cameras 208 may be transferred to USB ports 232,234 or USB ports 268,270 which may then be collected by a network device (e.g., USB hub 242) and submitted for upload by PBAL 200 via a master video data upload port (e.g., USB port 236 or 264).
[0044] In one embodiment, single-function IMUs 206 and EMGs 204 within PBAL 200 may be implemented using a universal sensor (e.g., universal sensor pod 300 and sensor assembly 360) as exemplified in
[0045] As exemplified in
[0046] Universal sensor pod 300 ay, for example, provide the common functionality that may be associated with other sensors (e.g., IMUs 206 and EMGs 204), which as discussed above, may include a processor, a battery, a wireless interface and memory (e.g., on-board flash memory of the processor) that may be programmed (e.g., wirelessly programmed) with the software that is to be executed by the processor. Universal sensor pod 300 may further include a manual interface (e.g., button 308), which may be used, for example, to activate and deactivate universal sensor pod 300 and to provide data input to universal sensor pod 300. For example, each depression of button 308 may cycle through two or more operational modes of universal sensor pod 300. Universal serial pod 300 may, for example, further include a visible indication (e.g., illumination of light pipe 310) as to its operational state. For example, an LED (not shown) in proximity to light pipe 310 within sensor pod 300 may provide pulses of green light to indicate normal operation of universal serial pod 300 and may provide a constant red light indicative of abnormal operation.
[0047] The particular sensor function that may be performed by universal sensor pod 300 may be defined, for example, by sensor 368 of
[0048] Sensor assembly 360 may further include a printed circuit board (e.g., PCB 370) that may include a memory (e.g., EEPROM 372) which may, among other things, include a code that may identify the type of sensor function implemented by sensor 368. Sensor 368 may implement various sensor functions, such as acceleration measurements, pressure sensing, force sensing and may include various sensor types, such as a hand dynamometer, a finger pinch force sensor, a biosensor (e.g., respiration and ECG) and a goniometer to name only a few. In addition, virtually any analog sensor that may generate a known voltage output range (e.g., +/10V) may also be utilized as sensor 368. Accordingly, a unique code that may be indicative of each available sensor 368 type may be programmed into EEPROM 372, which may then be detected by a processor (not shown) within universal sensor pod 300 to determine which sensor function may be performed by sensor assembly 360 once engaged with universal sensor pod 300.
[0049] Turning to
[0050] As discussed above, connector 366 and 304 may interconnect to ensure a proper mechanical engagement between connectors 306 and 364. In addition, connectors 366 and 304 may further provide electrical interconnectivity between sensor assembly 360 and universal sensor pod 300. For example, sensor 368 may implement an EMG function whose associated data may be propagated to A/D 420 via connector pair 366/304 instead of, or in addition to, connector pair 364/306.
[0051] Sensor processor 422 may execute operational code (i.e., firmware) that may exist within memory (e.g., sensor processor 422 on-board memory 424), which may be dependent upon which type of sensor 368 is plugged into universal sensor pod 300. As an example, sensor 368 may be an accelerometer whose function is sensed by sensor processor 422 via a code retrieved from EEPROM 372. As a result, firmware resident within memory 424 may be executed by sensor processor 422 that is relative to the acceleration data generated by sensor 368. Accordingly, for example, after the acceleration data is sampled by A/D 420, it may be integrated once by sensor processor 422 in order to obtain velocity information and integrated a second time to obtain position information.
[0052] It should be noted, therefore, that firmware resident within memory 424 may be executed to collect, store and manipulate the physical properties that the sensor data represents. In one embodiment, for example, sensor 368 may produce multiple sets of linear acceleration data along three orthogonal axes and sensor processor 422 may execute firmware relevant only to sensor 368 to manipulate the conditioned and sampled linear acceleration data, thereby producing angular velocity estimates, as discussed below, for example, in relation to
[0053] Alternately, or in addition, A/D 420 may sample EMG information being generated by EMG electrodes 352 and 356 as referenced to EMG reference electrode 354 before being processed by sensor processor 422 as may be defined by an EMG software processing module resident within on-board memory 424 of sensor processor 422. In other embodiments, universal sensor pod 300 may include internal IMU 416, which may include any one or more of an accelerometer, a gyroscope and/or a magnetometer whose data may be processed by sensor processor 422 in accordance with an IMU software processing module resident within on-board memory (e.g., flash memory 424 resident within sensor processor 422).
[0054] Sensor processor 422 may provide results of all executed sensor software processing modules to radio processor 414, which may then process the information for transmission to its associated receiver (e.g., receiver 212 and/or receive 214 of
[0055] Connector 302 may, for example, include various charging pins (e.g., a +5 VDC charging pin and a ground reference pin) whereby a power signal supplied to universal sensor pod 300 may be processed (e.g., regulated from +5 VDC to +3.7 VDC) by charger 412 in order to be compatible with an internal power source (e.g., lithium battery 410). In alternate embodiments, connector 302 may include data pins to provide, for example, a wired data interface to any device that may be connected to universal sensor pod 300 via connector 302. As an example, the data logs contained within flash 418 may be transmitted (e.g., via hard-wired transmission via connector 302 and docking station 252) to an associated receiver (e.g., receiver 212 and/or receive 214 of
[0056] Turning to
[0057] Turning to
[0058] In an alternate embodiment, data functionality may be provided, whereby a data path may exist between sensor slot 502, slot multiplexing logic 506 and connector 504, which as discussed above in relation to
[0059] Turning to
[0060] Video capture device 600 may, for example, include both an internal camera (e.g., an internal camera behind lens 602) and an internal lighting device (e.g., an internal LED behind lens 604) both of which may derive operational power from the power input as provided by USB interface 656. Manual control of the intensity of light generated by the internal LED may be accomplished via keypad 654, or remotely via USB interface 656. For example, keypad 654 may provide a limited number of intensity variations (e.g., high, medium, low and off), where each may be selected individually by depression of the respective icons of keypad 654.
[0061] Heat sink fins 652 may, for example, provide a heat conduction path, whereby heat generated by the LED may be conducted to heat sink fins 652. Convection may then be used to transfer the heat away from heat sink fins 652 and into the surrounding environment, thereby bringing the overall temperature of video capture device 600 within operational limits while video capture device 600 is in operation.
[0062] Video capture device 600 may be used during operation of a portable biomechanical assessment laboratory (e.g., PBAL 200 of
[0063] Video capture may be synchronized to the other data collection operations of a portable biomechanical assessment laboratory (e.g., IMUs 206 and EMGs 204 of PBAL 200 of
[0064] Turning to
[0065] In one embodiment, docking stations 710 and 712 may be interconnected to patch panel 716 such that once power (e.g., 5 VDC) is connected to patch panel 716, the respective IMU and EMG sensors connected to docking stations 710 and 712 may also receive power. In this way, the internal batteries of the IMU and EMG sensors may be charged while simultaneously being stored within portable lab 702. In alternate embodiments, docking stations 710 and 712 may additionally provide data interconnectivity so that measurement data stored within the IMU and EMG sensors may be uploaded to laptop 706 (e.g., uploaded from their respective IMU and EMG receiver data log memory as discussed above in relation to
[0066] As illustrated, it can be seen that several sensors 708 have been removed from their respective docking stations 710 and 712 and placed on body segments of athlete 704. Sensors 708 may be enabled with wireless communication capability, such that at least initially, a communication link (e.g., frequency-hopped, DSSS communication link 718) may be established between each sensor 708 and its corresponding receiver (e.g., IMU receiver 212 and EMG receiver 214 as discussed above in relation to
[0067] In operation, biomechanical analysis software may be executing on a computing device (e.g., laptop 71 ), which may be in communication with PBAL 702 (e.g., via the one or more USB connections established between PBAL 702 and laptop 714 via one or more cables 706). The biomechanical analysis software may allow an operator of laptop 714 to synchronize the data collection implemented by each sensor 708 by establishing a start signal from laptop 714, which in turn instructs portable lab 702 to generate a synchronization pulse from a pulse generator (e.g., synchronization signal generator 244 of
[0068] An indication of the synchronization pulse may then be transmitted via a communication link (e.g., communication link 718) as may be established between each sensor 708 and its associated receiver (e.g., IMU receiver 212 and EMG receiver 214 as discussed above in relation to
[0069] Upon receipt of the synchronization pulse, each sensor 708 may begin collecting data and performing various operations on the data collected. For example, the collected data may be processed (e.g., a quaternion may be generated by IMU 206) and then stored within a memory location resident within sensor 708 and/or transmitted to its associated receiver or data logger via communication link 718. Data collection may continue until an operator of laptop 714 terminates the data collection activity.
[0070] In one embodiment, athlete 704 may venture beyond the range that may be accommodated by communication link 718 (e.g., 30-50 meters) to the respective receiver contained within PBAL 702 (e.g., receivers 212 and 214 and discussed above in relation to
[0071] Upon completion of the data collection activity, each sensor 708 may be returned to its respective position within its respective docking station (e.g., docking station 710 and 712). In response, the data stored within the data log memory of each sensor 708 may then be uploaded into its respective receiver's memory (e.g., memory 552 as discussed above in relation to
[0072] As discussed above, certain applications may require processing of gyroscopic rates that exceed the maximum angular velocity estimates (e.g., 2000 degrees per second) that may be attainable using gyroscopes. In one embodiment, therefore, multiple (e.g., 3) accelerometers arranged in a particular geometric arrangement (e.g., an L shape) may be used to implement angular velocity estimates using linear acceleration measurements as may be generated by an IMU (e.g., as discussed above in relation to IMUs 206 of
[0073]
[0074] At any given instant in time: 1) accelerometer 806 may detect linear acceleration (e.g., a linear acceleration that may be described by vector 812, a.sub.0); 2) accelerometer 808 may detect linear acceleration (e.g., a linear acceleration that may be described by vector 814, a.sub.1); and 3) accelerometer 810 may detect linear acceleration (e.g., a linear acceleration that may be described by vector 816, a.sub.2).
[0075] The relationship between the linear acceleration vectors at the locations of accelerometers 806 and 808 may be described in equation (1) as:
a.sub.1=a.sub.0+xr.sub.1+xr.sub.1 (1)
where x is the cross-product operator, a.sub.0 and a.sub.1 are the linear acceleration vectors at the locations of accelerometers 806 and 808, respectively; and are the angular velocity and angular acceleration vectors, respectively, of sensor module 802; and r.sub.1 is the displacement vector 820 having magnitude, l.sub.x, along sensor frame axis x.
[0076] Similarly, the linear acceleration vectors at the locations of accelerometers 806 and 810 may be related by equation (2) as:
a.sub.2=a.sub.0+xr.sub.2+xxr.sub.2 (2)
where a.sub.2 is the linear acceleration vector at the location of accelerometer 810 and r.sub.2 is the displacement vector 818 having magnitude, l.sub.y, along sensor frame axis y.
By utilizing the linear acceleration vector relationships as described by equations (1) and (2) and by constraining the geometric configuration of accelerometers 806, 808 and 810 (e.g., constrained to the L shaped configuration as exemplified in
[0077] First, expressions for the difference between linear acceleration vectors a.sub.0 and a.sub.1 and the difference between linear acceleration vectors a.sub.0 and a.sub.2 may be described as in equations (3) and (4), respectively, as:
a.sub.1=a.sub.1a.sub.0 (3)
a.sub.2=a.sub.2a.sub.0 (4)
In addition, the L shaped configuration constrains displacement vectors r.sub.1 and r.sub.2 as in equations (5) and (6), respectively, as:
r.sub.1=(l.sub.x0 0) (5)
r.sub.2=(0l.sub.y0) (6)
[0078] Re-writing equation (1) in terms of equations (3) and (5) in vector format yields:
while expanding the cross-product terms and simplifying yields equations (8) through (10):
.sub.1,x=l.sub.x(.sub.y.sup.2+.sub.z.sup.2) (8)
.sub.1,7=l.sub.x(.sub.x.sub.y+.sub.z) (9)
.sub.1,z=l.sub.x(.sub.x.sub.z.sub.y) (10)
[0079] Performing the same operations to re-write equation (2) in terms of equations (4) and (6) in vector format, expanding the cross-product terms and simplifying yields equations (11) through (13):
.sub.2,x=l.sub.y(.sub.x.sub.y.sub.z) (11)
.sub.2,y=l.sub.y(.sub.x.sup.2+.sub.z.sup.2) (12)
.sub.2,x=l.sub.y(.sub.y.sub.z.sub.x) (13)
Making the following substitutions:
X.sub.1=.sub.1,x/l.sub.x (14)
Y.sub.1=.sub.1,y/l.sub.x (15)
Z.sub.1=.sub.1,z/l.sub.x (16)
X.sub.2=.sub.2,x/l.sub.y (17)
Y.sub.2=.sub.2,y/l.sub.y (18)
Z.sub.2=.sub.2,z/l.sub.y (19)
.sub.x=.sub.x.sup.2 (20)
.sub.y=.sub.y.sup.2 (21)
.sub.z=n.sub.z.sup.2 (22)
yields the following simplified relationships:
X.sub.1=.sub.y.sub.z (23)
X.sub.2=.sub.x.sub.y+a.sub.z (24)
Y.sub.1=.sub.x.sub.y+.sub.z (25)
Y.sub.2=.sub.x.sub.z (26)
Adding equation (24) to (25) to cancel .sub.z yields:
Y.sub.1+X.sub.2=2.sub.x.sub.y (27)
and squaring the result yields equation (28) in terms of .sub.x and .sub.y:
(Y.sub.1+X.sub.2).sup.2=4.sub.x.sup.2.sub.y.sup.2=4.sub.x.sub.y (28)
Subtracting equation (26) from (23) to cancel Q.sub.z yields:
X.sub.1Y.sub.2=.sub.y+.sub.x (29)
and solving for Q.sub.y yields equation (30):
.sub.y=Y.sub.2X.sub.1+.sub.x (30)
Substituting equation (30) into equation (28) yields:
(Y.sub.1+X.sub.2).sup.2=4.sub.x(Y.sub.zX.sub.1+.sub.x) (31)
which may be rearranged into a quadratic equation in terms of .sub.x:
4.sub.x.sup.2+4.sub.x(Y.sub.2X.sub.1)(Y.sub.1+X.sub.2).sup.2=0 (32)
having a real-valued solution expressed as follows:
.sub.x.sup.2=.sub.x[X.sub.1+{square root over ((Y.sub.2X.sub.1).sup.2+(Y.sub.1+X.sub.2).sup.2)}Y.sub.2](33)
Solutions for the y and z components may similarly be expressed as in equations (34) and (35), respectively:
.sub.y.sup.2=.sub.y=[X.sub.1+{square root over ((Y.sub.2X.sub.1).sup.2+(Y.sub.1+X.sub.2).sup.2)}+Y.sub.2](34)
.sub.z.sup.2=.sub.z=[X.sub.1+{square root over ((Y.sub.2X.sub.1).sup.2+(Y+X.sub.2).sup.2)}+Y.sub.2](35)
By taking the square root of equations (33), (34) and (35), the magnitude of each scalar component of the sensor's (e.g., sensor module 802) angular velocity vector may be determined.
[0080] In alternate embodiments, accelerometers 806, 808 and 810 may be arranged to form any geometric configuration, where accelerometers 806, 808 and 810 may be placed along orthogonal axes in the sensor frame. As shown in
[0081] As an example, sensor module 802 may be implemented as a sensor that may be externally connected to a universal sensor pod (e.g., sensor module 368 of
[0082] In one embodiment, sensor processor 422 may include on-board memory (e.g., flash memory) that may include executable software (e.g., firmware) that may be executed to implement the calculations as described, for example, by equations (1) through (35). In so doing, angular velocity estimates may be generated by sensor processor 422 by manipulating three-dimensional linear acceleration data that may be generated by IMU 416 and/or sensor 368.
[0083] Turning to
[0084] Operation flow 908 may represent, for example, mobilizing PBAL 200 to a test environment (e.g., a pitching mound, a track and field arena, or a park) through use of mobilization devices (e.g., casters 110 and/or handle 108 of
[0085] Operation flow 910 may represent, for example, the preparations required to execute a biomechanical analysis software application that may be hosted on a computing device (e.g., laptop 714 of
[0086] Once the sensors and/or cameras have received their respective synchronization signals 916 and 918, asynchronous data streams 922 and 924 may be initiated, where each data stream may contain an embedded synchronization marker to designate that point in time in which the synchronization signal was received relative to the data stream being generated. Data stream 922 may, for example, be transmitted via wired means (e.g., via a USB cable connected from USB connector 656 of
[0087] Optional data stream 926 may, for example, represent a wired data stream (e.g., wired data stream between sensor slots 502/slot multiplexing logic 506 of
[0088] Data signal 928 may represent a concatenation of all received sensor data and camera data and may be provided to a patch panel (e.g., connectors 220/236 of patch panels 216/210 or connectors 256/264 of patch panel 250 by one or more sensor receivers (e.g., sensor receiver 550 of
[0089] Once sensor/camera data stream 930 has been received by the computing device (e.g., laptop 714), biomechanical analysis software executing on laptop 714 may parse data stream 930 into separate data streams and may further align each parsed data stream according to the synchronization markers contained within each data stream (e.g., as in operational step 932 ). In such an instance, each data stream may then become temporally aligned (e.g., aligned in time with respect to the synchronization markers contained within each data stream) to facilitate meaningful and robust biomechanical analyses within laptop 714.
[0090] Turning to
[0091] In step 1004, a determination may be made as to whether a sensor function mode change may be necessary (e.g., by establishing a mechanical and/or electrical connection between a universal sensor (e.g., universal sensor pod 300 of
[0092] If the code indicates that a different sensor function is to be initiated (e.g., as in step 1012), then a preconfigured executable application (e.g., a firmware application contained within on-board flash memory 424 of sensor processor 422) may be executed that may be tailored to the particular sensor function being implemented. As a result, sensor data (e.g., sensor data as generated by sensor 368) may be provided either in analog form (e.g., to ADC 420 of
[0093] In one embodiment, sensor 368 may, for example, estimate angular velocity by manipulating linear acceleration measurements as discussed above in relation to
[0094] In steps 1014, 1016, 1018, 1020 and 1022, different functionalities of the universal sensor may be attained simply by exchanging one sensor assembly having one functionality with another sensor assembly having another functionality and detecting that the sensor assembly has been exchanged. For example, if the current universal sensor function is to be changed from a first function (e.g., EMG sensing) to a second function (e.g., pressure sensing), then the sensor change may be detected (e.g., as in steps 1014 or 1020) when a first sensor assembly (e.g., sensor assembly 360 having EMG sensor 368) is disengaged from universal sensor 300 and a second sensor assembly (e.g., sensor assembly 360 having pressure sensor 368). Next, the code associated with the second sensor assembly may be determined (e.g., a code indicative of a pressure sensor may be read by sensor processor 422 from EEPROM 372 of
[0095] Turning to
[0096] Data signal and power signal interconnection between PCB 1102, PCB 1108, connectors 1104, 1106 and 1112 may be accomplished, for example, by flexible circuit board 1110, which may accommodate the displacement of PCBs 1102,1108 around battery compartment 1114. In particular, by establishing separation distance 1116 between PCBs 1102,1108, a volume of space may be allocated for battery compartment 1114, whereby PCB 1102 marks an upper boundary of the battery compartment volume and PCB 1108 marks a lower boundary of the battery compartment volume.
[0097] Other aspects and embodiments of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended, therefore, that the specification and illustrated embodiments be considered as examples only, with a true scope and spirit of the invention being indicated by the following claims.