Abstract:
A solid state inclinometer sensor system includes a digital network of devices. Each device of the network includes a solid state inclinometer attached to a mounting structure. The inclinometer includes gravity sensors and a processor. The gravity sensors are mounted to provide components of earth&#39;s gravity. The processor uses data derived from the gravity sensors to calculate inclination of the mounting structure and provide a digital output for transmission on the digital network.

Description:
This application is a divisional of U.S. application Ser. No. 10,447,384, filed May 29, 2003 now U.S. Pat. No. 7,143,004, which was a divisional of U.S. application Ser. No. 09/457,493, filed Dec. 8, 1999, now abandoned, which claims the benefit of U.S. Provisional Application No. 60/111,523, filed on Dec. 9, 1998. 

   BACKGROUND 
   This invention relates to measurement devices and, in particular, to a solid state orientation sensor having a three hundred and sixty degree measurement capability for use in structural and biomedical applications. 
   Miniature orientation devices are used for a variety of structural and biomedical applications, including: measurement of structural angular displacement and orientation, computer input and pointing, virtual reality head and body tracking, camera stabilization, vehicle navigation, down hole drilling, feedback for functional electrical stimulation, and body position and inclination tracking. Sourced trackers use fixed magnetic field coils as a reference for magnetic sensors to detect position. (Raab et al., 1979) The source magnetic field coil is required to be relatively close (&lt;10 feet) to the measurement coils. This greatly limit&#39;s these devices suitability in smart structure applications as it is often not practical to locate a source coil within this limited range. Sourceless trackers utilize earth&#39;s gravitational and magnetic field vectors, and do not limit a user&#39;s range of operation in any way. 
   This invention describes miniature, sourceless orientations sensor based on accelerometers and magnetometers that include analog and digital signal conditioning, embedded microprocessor, digital and analog output, and has the capability to measure pitch over a range of 360 degrees, yaw over a range of 360 degrees, and roll over a range of up to +/−90 degrees. Pitch, roll and yaw angles are computed in real time by a microprocessor located on the same board as the sensors, eliminating the need for bulky external processing units and facilitating networking. 
   The following prior art is known to the applicant: 
   U.S. Pat. No. 5,953,683 to Hansen et. al describes a number of devices that utilize linear accelerometers, magnetometers, and rate sensors to measure pitch roll and yaw. Their device, based only on accelerometers and magnetometers, does not teach how to use the accelerometers to have a range of greater than +/−90 degrees on elevation or roll angles. Furthermore, the Hansen device does not utilize rate responsive adaptive filters. The Hansen device also requires an initial calibration to determine the earth&#39;s magnetic field intensity. The device of the present patent application does not require this initial calibration because it uses magnetometers along three axes, and earth&#39;s total magnetic field intensity can be calculated from the three magnetometers. 
   U.S. Pat. No. 5,373,857 to Travers et. al describes a sourceless tracker that utilizes an optical fluid based tilt sensor. This system has the disadvantage of being fluid based which leads to an undesirable settling time and cannot measure inclination angles that are greater than +/−70 degrees. 
   SUMMARY 
   One aspect of the present patent application is a solid state orientation sensor with 360 degree measurement capability, for use in a number of different structural and medical applications. Included in this aspect are a plurality of magnetic field measurement sensors, a plurality of response accelerometers, and a microprocessor for scaling data from the sensors with calibration coefficients and for quadrant checking for calculating the absolute angle from the accelerometers. 
   Another aspect of this application is a solid state inclinometer sensor system, comprising a digital network of devices. Each device of the network includes a solid state inclinometer attached to a mounting structure. The inclinometer includes gravity sensors and a processor. The gravity sensors are mounted to provide components of earth&#39;s gravity. The processor uses data derived from the gravity sensors to calculate inclination of the mounting structure and provide a digital output for transmission on the digital network. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The foregoing will become more apparent with reference to the following description taken in conjunction with the figures, in which: 
       FIG. 1  is a perspective view of the solid state orientation sensor; 
       FIG. 2  is a block diagram of the operation of the orientation sensor; 
       FIG. 3  is a perspective view showing the operational ranges of the solid state orientation sensor; 
       FIG. 4  is a perspective view showing the operational ranges of the solid state orientation sensor; and 
       FIG. 5  is a perspective view of a plurality of solid state orientation sensors positioned on the human torso. 
   

   DETAILED DESCRIPTION 
   The present patent application provides a solid state orientation sensor with 360 degree measurement capability. This solid state orientation sensor uses three orthogonal accelerometers and three orthogonal magnetometers to measure Earth&#39;s gravitational and magnetic field vectors, from which pitch, roll, and yaw (heading) are calculated in real-time. Accelerometers provide a faster response than other sensors that are used in sourceless trackers, including electrolytic fluid (Durlack et al.,1995), thermal tilt sensors, and pendulum based inclinometers. By implementing filter algorithms that are programmable by the end user, the 3DM device response can be tuned to fit a particular application. 
   Analog low pass filters are implemented to help minimize effects due to inertial inputs to the accelerometers. These analog filters dampen the effect of other inputs that have a dynamic response. 
   To supplement analog filtering an infinite impulse response (IIR) low pass recursive digital filter is utilized. The digital low pass filter function is described by the following equation:
 
 x ( n )= K*u ( n )+(1 −K )* x ( n− 1)
 
   The transfer function of this filter in the digital domain using the z-transform relation can be reduced to: 
   
     
       
         
           
             H 
             ⁡ 
             
               ( 
               z 
               ) 
             
           
           = 
           
             K 
             
               ( 
               
                 1 
                 - 
                 
                   
                     ( 
                     
                       1 
                       - 
                       K 
                     
                     ) 
                   
                   ⁢ 
                   
                     z 
                     
                       - 
                       1 
                     
                   
                 
               
               ) 
             
           
         
       
     
   
   Where K is the filter gain, which for computational reasons in this application is always a factor of a power of two. The filter gain parameters are proportional to the filter cutoff frequency and are programmable from the PC by the user. Typically, use of a filter with a lower cutoff frequency will produce a measurement with fewer artifacts due to noise. The tradeoff is that there is a sacrifice in the system&#39;s dynamic response to achieve this lower noise measurement. To try to reach a balance between static vs. dynamic response an adaptive low pass filter is implemented that can be programmed on or off by the user. The adaptive filter works by continually calculating low pass filter readings with separate filter cutoffs on all the sensors in parallel, as shown in  FIG. 2 . The software monitors the first derivative of output data from the magnetometers to determine which filter coefficients to apply to the output data. The ramifications are that when the device is in a relatively static condition (or moving slowly) a more aggressive filter (a low pass filter with a lower cutoff frequency) is applied to the data because the first derivative of the magnetometer data is small. This results in a lower noise measurement. When the first derivative of the magnetometer is above a preset (programmable by the user) level the system reverts to a filter that has a faster response (a low pass filter with a higher cutoff frequency). This adaptive filtering is useful for applications such as posture control, when a stable static measurement is important, while retaining the ability to make dynamic measurements if required. 
   After the sensors have been filtered, pitch and roll are calculated from the accelerometers using the following relationships. 
   
     
       
         
           
             a 
             x 
           
           = 
           
             
               ( 
               
                 
                   a 
                   xraw 
                 
                 - 
                 
                   a 
                   xoffset 
                 
               
               ) 
             
             * 
             
               a 
               xgain 
             
           
         
       
     
     
       
         
           
             a 
             y 
           
           = 
           
             
               ( 
               
                 
                   a 
                   yraw 
                 
                 - 
                 
                   a 
                   yoffset 
                 
               
               ) 
             
             * 
             
               a 
               ygain 
             
           
         
       
     
     
       
         
           
             a 
             z 
           
           = 
           
             
               ( 
               
                 
                   a 
                   zraw 
                 
                 - 
                 
                   a 
                   zoffset 
                 
               
               ) 
             
             * 
             
               a 
               zgain 
             
           
         
       
     
     
       
         
           Pitch 
           = 
           
             arctan 
             ⁢ 
             
               
                 a 
                 x 
               
               
                 a 
                 z 
               
             
           
         
       
     
     
       
         
           Roll 
           = 
           
             arctan 
             ⁢ 
             
               
                 a 
                 y 
               
               
                 
                   
                     a 
                     x 
                     2 
                   
                   + 
                   
                     a 
                     z 
                     2 
                   
                 
               
             
           
         
       
     
   
   The pitch angle can be resolved over 360 degrees by checking the signs of a x  and a z  relative to each other and making an adjustment to the output based on the quadrant that the data is located in. After pitch and roll have been calculated the component of earth&#39;s magnetic field in the earth referenced horizontal plain must be calculated. First, the magnetic sensors are offset adjusted and scaled by coefficients that are determined from a calibration procedure.
 
 m   x =( m   xraw   −m   xoffset )* m   xgain    m   y =( m   yraw   −m   yoffset )* m   ygain    m   z =( m   zraw   −m   zoffset )* m   zgain  
 
   To project the sensor readings onto the horizontal (earth referenced) plane, the following relationships are utilized: 
   
     
       
             
             
           
         
             
                 
             
           
           
             
               m y ′ = m y ″ cos(roll) + m z ″ sin (roll) 
               Roll transformation of Y axis MR 
             
             
               m y  = m y ′ 
               Since m y  is coupled to roll only 
             
             
               m z ′ m z ″ cos(roll) + m y ″ sin (roll) 
               Roll transformation of Z axis MR 
             
             
               m x ′ = m x ″ 
               Since m x  is coupled to pitch only 
             
             
               m x  = m x ′ cos(pitch) − m z ′ sin (pitch) 
               Pitch transformation of X axis MR 
             
             
                 
             
           
        
       
     
   
   Once this has been completed Yaw (compass heading) can be calculated from the following relationship: 
   
     
       
         
           Yaw 
           = 
           
             arctan 
             ⁢ 
             
               
                 m 
                 x 
               
               
                 m 
                 y 
               
             
           
         
       
     
   
   A quadrant check based upon the sign of m x  and m y  will provide a measurement over 360 degrees of measurement range. 
   It is also desirable to increase the range of the device to measure orientations over 360 degrees on all axes. This can be accomplished by using the accelerometers to measure angular position relative to gravity and than determining which sensors to use to calculate angle over the maximum possible range. For example, in normal mode ( FIG. 1 ) the device will measure 360 degrees around the Z axis (Yaw), 360 degrees around the Y axis (Pitch) and +/−70 degrees around the X axis (Roll). However, if the device is positioned as in  FIG. 3 , it is out of range (because roll has exceeded +/−70 degrees) unless we redefine the axes convention that is used in the above equations. If we redefine our axes convention, than the device can be used in the orientation shown in  FIG. 4 . Note that in  FIG. 4  we have redefined our axes. 
   With reference to  FIGS. 1 and 2 , the first embodiment of solid state orientation sensor  10  includes three linear accelerometers (x  20 , y  11 , z  12 ) oriented with their sensitive measuring axes located at ninety degrees relative to each other. Solid state orientation sensor  10  has protective housing  21  for protecting the circuitry. Three magnetic sensors (x  13 , y  14 , z  15 ) are also included and arranged such that their sensitive measuring axes are oriented at ninety degrees relative to each other. Optional temperature sensor  16  can be used for temperature compensation of the magnetic and acceleration sensors, if required. The outputs of each sensor are amplified and filtered by anti-aliasing filters prior to being routed to analog to digital (A/D) converter  17 . The digital data from the A/D converter is then scaled by offsets and scale factors for each sensor by the microprocessor or digital signal processor  18 . The microprocessor than calculates the three orientation angles from the sensor data, as described herein. Once the angles are calculated the output of the system is provided in analog (via a d/a converter), and/or digital unit  19  (such as RS232, RS485, Controller Area Network or Transistor Transistor Logic). Digital networking allows for multiple devices to be wired together on a single bus, which is useful for applications such as posture monitoring. 
   While the disclosed methods and systems have been shown and described in connection with specific embodiments thereof, it is clearly to be understood that this is done only by way of example and not as a limitation to the scope of the invention as set forth in the appended claims.