Patent Publication Number: US-7707906-B2

Title: Ergonomic inertial positioning systems and methods

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to computer techniques, and more particularly to ergonomic inertial positioning systems and methods. 
   2. Description of the Related Art 
   Most current positioning techniques utilize signals from global positioning system (GPS) satellites or wireless local area networks (LAN) to calculate positions. GPS signals may be interrupted when the signal source is obstructed by buildings or forest. The accuracy of wireless-LAN-based positioning is easily affected by space factors, such as crowds. 
   Traditional inertial positioning measures the acceleration of an object to calculate the displacement thereof, and is thus not affected by the environment. Accelerators are more expensive as they offer improved accuracy in acceleration detection. Table 1 shows the exemplary accuracy and prices of accelerators. 
   
     
       
         
             
             
           
             
                 
               TABLE 1 
             
           
          
             
                 
                 
             
             
                 
               Price 
             
          
         
         
             
             
             
             
          
             
               Time interval 
               High(~$750,000) 
               Mid(~$100,000) 
               Low(~$10,000) 
             
             
                 
             
          
         
         
             
             
             
             
             
          
             
               Distance 
               1 hour 
               0.3 km~0.5 km 
                 1 km~3 km 
               200 km~300 km 
             
             
               error 
               1 minute 
               0.3 m~0.5 m 
               0.5 m~3 m  
               30 m~50 m 
             
             
                 
               1 second 
               0.01 m~0.02 m 
               0.03 m~0.1 m 
               0.3 m~0.5 m 
             
             
                 
             
          
         
       
     
   
   Traditional inertial positioning suffers from the accumulated errors caused by sensor noise or numerical calculation. As measured acceleration is integrated twice for displacement calculation, displacement errors increase progressively with time. 
   Traditional inertial positioning immune to environmental factors is typically implemented in aircrafts, vehicles, and similar machines due to regular and smooth variation in their velocities, but may not work with objects moving in complex ways, such as animals and humans. 
   BRIEF SUMMARY OF THE INVENTION 
   An exemplary embodiment of an ergonomic inertial positioning system comprises a motion sensor, an angle sensor, and a processor. The motion sensor detects movement of an object. The angle sensor detects angle variation of the heading of the object. The processor determines motion status of the object based on detected data provided by the motion sensor and the angle sensor, and calculates displacement of the object utilizing the detected angle variation thereof based on the motion status. 
   An exemplary embodiment of an ergonomic inertial positioning method is provided. Movement of an object is detected utilizing a motion sensor. Angle variation of the heading of the object is detected utilizing an angle sensor. Motion status of the object is determined based on detected data provided by the motion sensor and the angle sensor. Displacement of the object is calculated utilizing the detected angle variation thereof based on the motion status. 
   A detailed description is given in the following embodiments with reference to the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
       FIG. 1  is a block diagram of an exemplary embodiment of an ergonomic inertial positioning system; 
       FIG. 2  is a flowchart of displacement calculation; 
       FIG. 3  is a schematic diagram showing data of acceleration and angle variation; and 
       FIG. 4  is a schematic diagram showing data of angle variation. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. 
   Ergonomic inertial positioning system  100  in  FIG. 1  comprises processor  1 , memory  2 , sensor unit  3 , Kalman filter  4 , output terminal  5 , and object  6 . Memory  2  may be a memory disposed outside of processor  1 . Sensor unit  3  comprises sensors respectively detecting motion and angle variation of object  6 . For example, sensor unit  3  comprises a single device implemented by motion sensor  7  and angle sensor  8  and is preferably disposed at the waist. 
   With reference to  FIG. 2 , sensor unit  3  detects motion of object  6  and transmits the detected data to processor  1  (step S 2 ). Motion sensor  7  may comprise an accelerator detecting acceleration variation of object  6  in a substantially vertical direction (referred to as the z-axis in the following). Angle sensor  8  may comprise a magnetic sensor detecting angle variation of object  6  in a substantially horizontal plane. Processor  1  determines motion status of object  6  based on detected data provided by motion sensor  7  and angle sensor  8  (step S 4 ), and calculates displacement of object  6  utilizing the detected angle variation thereof based on the determined motion status of object  6 . 
   Motion status of object  6  may be classified as a stationary status, a turning status, and a moving status, each corresponding to a criterion. When acceleration variation detected by motion sensor  7  is less than a first threshold a, and angle variation detected by angle sensor  8  is less than a second threshold b, processor  1  determines that object  6  is in the stationary status. 
   When acceleration variation detected by motion sensor  7  is greater than the first threshold a, and angle variation detected by angle sensor  8  is in a range between a third threshold c and the second threshold b, processor  1  determines that object  6  is in the moving status. 
   When angle variation detected by angle sensor  8  is greater than the second threshold b, processor  1  determines that object  6  is in the turning status. The first threshold a is preferably between 2.0 m/s 2  and 5.5 m/s 2 . The second threshold b is preferably between 10 degrees and 30 degrees. The third threshold c is preferably between 2 degrees and 5 degrees. Note that although processor  1  determines motion status of object  6  based on detected variation of acceleration on the Z-axis and the angle variation, motion status determination may utilize only one type of detected data. 
   For example, detected data provided by motion sensor  7  and angle sensor  8  is shown in  FIG. 3 , wherein curves  200  and  300  are respectively acceleration variation and angle variation simultaneously detected by motion sensor  7  and angle sensor  8 . Processor  1  determines motion status of object  6  based on criteria shown in table 2, wherein ΔΦ is the difference between a reference angle and a peak value or a valley value on curve  300 . 
   
     
       
         
             
             
             
           
             
                 
               TABLE 2 
             
             
                 
                 
             
             
                 
               variation of acceleration on the 
               Angle variation ΔΦ 
             
             
                 
               Z-axis (m/s2) 
               (degree) 
             
             
                 
                 
             
           
          
             
                 
             
          
         
         
             
             
             
          
             
               Stationary status 
               &lt;4 
               ΔΦ &lt; 20 
             
             
               Moving status 
               &gt;4 
               3 &lt; ΔΦ &lt; 20 
             
             
               Turning status 
               — 
               ΔΦ &gt; 20 
             
             
                 
             
          
         
       
     
   
   Processor  1  determines that periods R 1 , R 3 , and R 5  represents stationary statuses of object  6 , period R 2  the moving status, and period R 4  the turning status. When object  6  is in the stationary status, processor  1  computes object  6 &#39;s displacement AS and heading angle variation ΔH by ΔS=(0,0) and ΔH=0 (step S 6 ). When object  6  is in the turning status, processor  1  computes displacement ΔS of object  6  and heading angle variation ΔH by ΔS=(0,0) and ΔH=ΔΦ (step S 8 ). 
   When object  6  is in the moving status, processor  1  computes displacement ΔS object  6  at i-th step utilizing the following formula (step S 10 ):
 
 ΔS   i =( d (ΔΦ i )×cos  Φz   i   , d (ΔΦ i )×sin  Φz   i ),  (1)
 
   where i comprises a positive integer, d(ΔΦ i ) is the pace of object  6  at the i-th step, ΔΦ i  is the angle variation of object  6  at the i-th step, Φz i  is an angle representing the heading of object  6  at the i-th step. When object  6  is in the moving status, angle sensor  8  detects a maximum angle and a minimum angle of headings of object  6  relative to a reference angle at the i-th step, and ΔΦ i  is the difference between the maximum angle and the reference angle or the difference between the minimum angle and the reference angle. The reference angle may be adjusted during movement of object. Total displacement S of object  6  can be calculated utilizing the following formula: 
   
     
       
         
           
             
               
                 S 
                 = 
                 
                   
                     
                       ∑ 
                       i 
                     
                     ⁢ 
                     
                       Δ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         S 
                         i 
                       
                     
                   
                   = 
                   
                     
                       ∑ 
                       i 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             d 
                             ⁡ 
                             
                               ( 
                               
                                 ΔΦ 
                                 i 
                               
                               ) 
                             
                           
                           × 
                           cos 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           Φ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             z 
                             i 
                           
                         
                         , 
                         
                           
                             d 
                             ⁡ 
                             
                               ( 
                               
                                 ΔΦ 
                                 i 
                               
                               ) 
                             
                           
                           × 
                           sin 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           Φ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             z 
                             i 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 2 
                 ) 
               
             
           
         
       
     
   
   When object  6  is in the moving status, processor  1  calculates paces thereof utilizing angle variation detected by angle sensor  8 . According to experimental results, the pace of object  6  at the i-th step is preferably simulated by a three degree polynomial of a variable ΔΦ i . In a preferred embodiment, processor  1  calculates pace d(ΔΦ i ) of object  6  at the i-th step utilizing the following formula:
 
 d (ΔΦ i )= a   0 +( a   1 ×ΔΦ i )+( a   2 ×ΔΦ i   2 )+( a   3 ×ΔΦ i   3 )+ . . . ( a   n ×ΔΦ i   n ),  (3)
 
   where n is a positive integer. The sensor unit, such a single device implemented by motion sensor  7  and angle sensor  8 , is preferably disposed at the waist for better angle variation detection. 
   When n is two, the coefficients of the formula comprise a 0 =0.015489, a 1 =0.086503, and a 2 =−0.0018056. 
   When n is three, the coefficients of the formula comprise a 0 =0.32396, a 1 =−0.015814, a 2 =0.0088312, and a 3 =−0.00034889. 
   When n is four, the coefficients of the formula comprise a 0 =0.57971, a 1 =−0.12933, a 2 =0.026913, a 3 =−0.001578, and a 4 =0.00003017. 
   Memory  2  stores data detected and provided by motion sensor  7  and angle sensor  8 . Processor  1  may adjust the reference angle upon each retrieval of a detected peak or valley angle value. The reference angle may be derived with two schemes. First, the reference angle may be derived from a portion of curve  300  during a period when the angle variation of object  6  is less than a predetermined value. For example, the reference angle may comprise an average of detected angle data during period R 1 , −93 degree. In  FIG. 4 , P 0  and P 1  denote the first step of object  6 , so ΔΦ 1  is R 6 . P 1  and P 2  denote the second step of object  6 , so ΔΦ 2  is R 7 . Processor  1  may compute for positioning in real time at each step of object  6 . 
   Additionally, processor  1  may calculate an average of the maximum angle and the minimum angle of the heading of object  6  at the i-th step to be a new reference angle and calculates angle variation ΔΦ i+1  of the heading of object  6  based on the new reference angle. 
   For example, the average of corresponding angles of P 1  and P 2  is −96 degree. In  FIG. 4 , P 2  and P 3  denote the third step of object  6 , so ΔΦ 3  comprises the difference between the new reference angle −96 degree and an angle corresponding to P 3 . 
   When object  6  in its first step, Φz i =0. When i&gt;1, Φz i  comprises an average of a peak angle value Φ max  and a valley angle value Φ min , i.e. Φz i =(Φ max +Φ min )/2. 
   The system reduces time-dependent errors by avoiding acceleration integration. Motion sensor  7  is utilized to determine the motion status of object  6 . 
   When the paces are simulated by a three degree polynomial, positioning utilizing the system with the cheapest accelerator described achieves a root mean square value 0.0633 m/step of position errors according to experiment results. If object  6  moves for one minute at a speed of two steps per second, a position error 7.6 m is obtained, only as much as ¼ to 2/13 of an error the conventional positioning techniques would suffer in the same condition. 
   While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.