The present invention relates to a tracking method and a tracking system using the same, and more particularly, to a tracking method and a tracking system capable of obtaining a 6 Dof ankle information according to a 6 Dof head information and a 3 Dof ankle information.
With the population of the virtual reality (VR) and augmented reality (AR) devices and the interactive system, users may easily experience the virtual environment provided by the interactive system with the aids of VR/AR devices, such that the users may completely emerge themselves into the virtual environment. In order to improve the user experience, a tracking system is usually employed for capturing motions of the user to generate corresponding response in the virtual environment. Therefore, the user may operate the interactive system with a variety of hand gestures or body movements, for enhancing the user experience.
In the prior art, sensor fusion is widely adopted for tracking the ankle position of the user. In detail, the tracking system uses at least two sensors to track the ankle position of the user, where one senor is worn on one knee of the user and another one is worn on the ankle. Each sensor is capable of providing information of 3 degrees of freedom (Dof) of the knee and the ankle, such that the tracking system may obtain sufficient information of the leg to determine the leg movements. However, motion tracking with sensor fusion may increase hardware requirement of the tracking system and increase cost of the tracking system. In another aspect, motion tracking without sensor fusion is not capable of obtaining enough information of the ankle to correctly determine leg movements.
Therefore, there is necessity to improve over the prior art.
It is therefore a primary objective of the present invention to provide a tracking method and a tracking system capable of tracking positions of the ankle according to a 3 Dof ankle information and a 6 Dof head information.
The present invention discloses a method of tracking an ankle of a user in an interactive system, comprising obtaining a first ankle information and a head information of the user; determining a second ankle information according to the first ankle information; and calibrating the second ankle information according to the first ankle information and the head information; wherein the first ankle information is a 3 Dof (degrees of freedom) information; the second ankle information is a 6 Dof information; the head information is the 6 DoF information.
The present invention further discloses a tracking system, for tracking an ankle of a user in an interactive system, the tracking system comprising a first senor, for obtaining a head information of the user; a second sensor, for obtaining a first ankle information of the user; a processing unit; and a storage unit, for storing a program code to instruct the processing unit to perform the following steps determining a second ankle information according to the first ankle information; and calibrating the second ankle information according to the first ankle information and the head information; wherein the first ankle information is a 3 Dof (degrees of freedom) information; the second ankle information is a 6 Dof information; the head information is the 6 Dof information.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
As shown in
Moreover, the head sensor 100 is utilized to be worn by the user U1, mounted on the surface of the head, for obtaining the head information U1_h of 6 Dof. The head sensor 100 may be an inertial measurement unit (IOU), an accelerometer, a gyroscope, a magnetic senor or a combination of the above. The ankle sensor 102 is worn by the user U1 and mounted on the surface of the ankle for obtaining the ankle information U1_a. The ankle sensor 102 may be the IOU, the accelerometer or the gyroscope. As long as the head senor 100 and the ankle sensor 102 may respectively obtain the 6 Dof kinetic information of the head and the 3 Dof kinetic information of the ankle, the head senor 100 and the ankle sensor 102 may be implemented by other kinds of sensors. In addition, the processing unit 104 may be a microprocessor or an application-specific integrated circuit (BASIC). The storage unit 106 may be read-only memory (ROM), random-access memory (RAM), non-volatile memory (e.g., an electrically erasable programmable read only memory (EEPROM) or a flash memory), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc., and not limited thereto.
The operations of the tracking system 10 may be summarized as a process 20, as shown in
Step 200: Start.
Step 202: The ankle sensor 102 obtains an ankle information U1_a of the ankle and the head sensor 100 obtains a head information U1_h of the head of the user U1.
Step 204: The processing unit 104 determines an ankle information U1_a2 of the ankle according to the head information U1_h and the ankle information U1_a.
Step 206: The processing unit 104 calibrates the ankle information U1_a2 according to the head information U1_h and the ankle information U1_a.
Step 208: End.
According to the process 20, in Step 202, the head sensor 100 and the ankle sensor 102 may respectively obtain the head information U1_h of 6 Dof and the ankle information U1_a of 3 Dof of the user U1. In Step 204, the processing unit 104 may track the ankle position according to the head information U1_h and the ankle information U1_a. More specifically, the ankle information U1_a of 3 Dof comprises a tri axial acceleration information of the ankle, such that the processing unit 104 is capable of determining a tri axial displacement information of the ankle through double integration to the ankle information U1_a. Therefore, the second ankle information U1_a 2 of 6 DoF may be obtained through merging the tri axial displacement information with the ankle information U1_a by the processing unit 104. However, the tri axial acceleration information of the ankle obtained possesses errors, which is repeatedly accumulated every time while the user U1 is taking a step. Thus, the ankle information U1_a2 becomes more inaccurate and deviated through more steps the user U1 takes. As a result, the ankle information U1_a2, comprising the tri axial displacement information obtained through double integration to the ankle information U1_a, is incorrect and may not be directly utilized for indicating the correct ankle position of the user U1. Therefore, in Step 206, the processing unit 104 calibrates the ankle information U1_a2 according to the head information U1_h and the ankle information U1_a to remove errors out of the ankle information U1_a2, so as to ensure that the generated ankle information U1_a2 may indicate the correct ankle position of the user U1, further improving user experience of the tracking system 10.
Particularly, the processing unit 104 may determine an ankle coordinate for indicating the ankle position corresponding to the body of the user U1_according to the head information U1_h and the ankle information U1_a, such that the ankle coordinate may not only indicate the displacement information of the ankle but an absolute position corresponding to the user U1. For example, when the ankle information U1_a2 indicates that the ankle is rising, the tracking system 10 may not properly tell whether the user U1 is taking stairs or just raising his feet. Therefore, the tracking system 10 further utilizes the head information U1_h to determine the ankle coordinate to correctly indicate where the ankle position is corresponding to the body of the user U1. Therefore, the processing unit 104 may utilize the ankle coordinate for calibration, so as to remove errors out of the ankle information U1_a2.
The detailed operations of the tracking system 10 mentioned above may be summarized as another process 22, as shown in
Step 220: Start.
Step 222: The ankle sensor 102 obtains an ankle information U1_a of the ankle and the head sensor 100 obtains a head information U1_h of the head of the user U1.
Step 224: The processing unit 104 determines an ankle information U1_a2 of the ankle according to the head information U1_h and the ankle information U1_a.
Step 226: The processing unit 104 determines an ankle coordinate according to the head information U1_h and the ankle information U1_a2.
Step 228: The processing unit 104 calibrates the ankle information U1_a2 according to the ankle coordinate.
Step 230: End.
Steps 220-224 are similar to Steps 200-204, which are not narrated herein.
In detail, the displacement information of the ankle information U1_a2 may only indicate movement of the ankle but not indicate the correct ankle position corresponding to the body of the user U1. Therefore, in Step 226, the processing unit 104 may take the head information U1_h as an origin or a reference point of the user U1 to determine the ankle coordinate corresponding to the body of the user U1. Under such a circumstance, the same amount of displacement information measured by the head senor 100 and the ankle sensor 102 may be accordingly canceled to preserve the displacement information of the ankle corresponding to the body of the user U1, and thus, to correctly indicate the ankle position of the user U1
Before the processing unit 104 performs calibration to the ankle information U1_a2, the tracking system has to determine a reset position of the user U1 for calibrating the ankle coordinate, wherein the reset position may be the ankle coordinate when user is under some certain postures. For example, the reset position range may be the lowest coordinate of the ankle where the user U1 is standing firmly on the ground, or the reset position may be the highest coordinate of the ankle where the user U1 is raising his/her knee to step forward. Moreover, the reset position may be obtained by the processing unit 104 through the head sensor 100 and the ankle sensor 102 in Step 222, or the reset position may be obtained by the processing unit 104 in the background while the tracking system is performing the process 22, which is also within the scope of the present invention.
After the ankle coordinate and the reset position are determined by the processing unit 104, the tracking system 10 may calibrate the ankle information U1_a2 in Step 228. More specifically, the processing unit 104 calculates an absolute difference between the reset position and the ankle coordinate for calibrating the ankle information U1a2, wherein the absolute difference may indicate whether the ankle is returned to the reset position or not. When the absolute difference is smaller than a preset distance, the processing unit 104 sets the ankle coordinate equal to the reset position, for removing errors of the ankle sensor 102. In the same way, the ankle information U1_a2 may be accordingly reset to remove same amount of errors according to the ankle coordinate and the head information U1_h. In another aspect, when the absolute difference is greater than or equal to the preset distance, the processing unit 104 determines that the ankle is not returned to the reset position, and determines not to perform calibration of the ankle coordinate. In brief, according to the process 22, the tracking system 10 determines the reset position and the ankle coordinate, for resetting the ankle coordinate every time when the ankle is returned to the reset position, so as to remove errors generated by the ankle sensor 102 out of the ankle information U1-a2.
According to the processes 20 and 22, the tracking system 10 may determine and calibrate the ankle information U1_a2 of 6 Dof according to the head information U1_h of 6 Dof and the ankle information of 3 Dof. The processing unit 104 removes errors every time when the ankle is returned to the reset position. As such, errors generated by the ankle sensor 102 are not accumulated, and the tracking system 10 is capable of generating the correct ankle information U1_a2 of 6 DoF. In other words, the tracking system 10 is capable of performing real-time motion tracking of the ankle through the head senor 100 and the ankle senor 102, further decreasing hardware requirements of the tracking system 10 and improving user experience.
In another aspect, the processing unit 104 may further determine a knee coordinate according to the track of the ankle information U1_a2, for determining a leg movement of the user U1 by the processing unit 104. In detail, after the ankle coordinate is determined by the processing unit 104, the processing unit 104 may analyze the track of the ankle coordinate for determining a knee coordinate of the user U1. In other words, although the tracking system 10 may not directly sense an ankle coordinate of the user U1, the processing unit 104 is capable of recovering the knee coordinate through the complete and correct track of the ankle coordinate, such that the processing unit 104 may determine the leg movement of the user U1 according to the knee coordinate and the ankle coordinate. Therefore, the tracking system. 10 is capable of calibrating the ankle information U1_a2 according to the ankle information U1_a2 and the knee coordinate. In detail, after the processing unit 104 obtains the knee coordinate, the leg movement of the user U1 is accordingly determined. When the absolute difference between the ankle coordinate and the reset position is within the preset distance, the processing unit 104 further analyzes whether the leg movement of the user U1 complies with a preset movement for calibrating the ankle information U1_a2. For example, the storage unit 106 may store the preset movement of walking, running or taking stars, such that the processing unit 104 may compare the leg movement with the preset movement to determine whether the user is performing the preset movement. If the leg movement does not comply with the preset movement, the processing unit 104 determines not to perform calibration to the ankle coordinate and the ankle information U1_a2. Only when the leg movement complies with the preset movement and the absolute difference between the ankle coordinate and the reset position is within the preset distance, the processing unit 104 performs calibration to the ankle coordinate and the ankle information U1_a2. Therefore, with additional information of the knee position and the leg movement, the processing unit 104 may exclude abnormal scenarios of the user U1, to perform calibration to the ankle coordinate and the ankle information U1_a2 more accurately.
In addition, the tracking system 10 may further utilize the head sensor 100 for obtaining a height information of the user U1. Under such a circumstance, the processing unit 104 may determine a distance between the head and the ankle of the user U1, such that a coordinate system comprising a head coordinate and the ankle coordinate may be accordingly determined. With the head coordinate, the processing unit 104 may better determine the knee coordinate of the user U1 and the preset distance according to proportions corresponding to the height information. Therefore, with the height information of the user U1, the processing unit 104 may determine the preset movement, the preset distance and the knee coordinate according to the height information of the user U1 more accurately, for better fitting proportions of the user U1, further improving performance of the tracking system 10.
The conventional tracking system requires multiple sensors worn by the user on the knee and the ankle, for determining the leg movement of the user, which increases hardware requirements of the tracking system. In another aspect, the tracking system with only one sensor worn by the user on the ankle may not obtain enough information to determine the ankle position and the leg movement, which results in inaccurate motion tracking of the tracking system and further degrades user experience. In comparison, the tracking system of the present invention is able to determine an ankle coordinate according to the head information of 6 Dof and the ankle information of 3 Dof. In other words, the user only has to wear one senor on the ankle, while the tracking system can still accurately generate the ankle information of 6 Dof. In addition, the tracking system further calibrates the ankle information every time when the ankle is returned to the reset position, for removing errors out of the ankle information. Therefore, the tracking system of the present invention may determine correct ankle information of 6 Dof through calibration, decreasing hardware requirements of the tracking system and improving user experience.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.