Continuous filtering VR combined head position measurement method in limited space
By synchronously collecting optical and inertial measurement data in a limited space, calculating the azimuth rate of change and filtering, the problems of large errors and limited range in the head attitude measurement in the VR flight driving simulation system are solved, and all-round, real-time, and controllable head attitude measurement is realized, which is suitable for simulated driving applications of VR technology.
Patent Information
- Application Number
- CN202510592365.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-09
- Publication Date
- 2025-08-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In a limited space, in the prior art, there are problems such as large errors, limited measurement range and mismatch in the head attitude when optical measurement and inertial measurement of head attitude, especially in VR flight and driving simulation systems, it is difficult to achieve all-round, real-time and accurate head attitude measurement.
By synchronously collecting the azimuth data of the optical measurement equipment and the angular velocity and attitude angle data of the inertial measurement unit, calculating the azimuth rate of change, establishing a filter queue, calculating the mean and correcting based on historical angular velocity data, calculating the current azimuth angle through finite step integration, combining the advantages of optical and inertial measurement, the continuous filtering measurement of the head attitude is realized.
The head attitude is fully oriented, real-time, and controllable error measurement is achieved in a limited space, meeting the requirements of VR flight driving simulation, with small size, light weight and low energy consumption, and is suitable for the application of VR technology in the field of simulated driving.
Smart Images

Figure CN120491819A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of head posture measurement, and in particular to a continuous filtering VR combined head position measurement method in a limited space. Background Art
[0002] In VR products, head position measurement is crucial for maintaining consistency between the virtual scene and head movement. Flight simulation systems, in particular, often require a head measurement range of nearly 180 degrees vertically and 360 degrees horizontally. However, the cockpit's tightly constrained space severely limits the options for placing measurement equipment without interfering with the user's view, making real-time head positioning even more challenging.
[0003] Common measurements include optical measurement and inertial measurement:
[0004] Optical measurement uses an optical (infrared) camera to capture a head image, then uses software (such as OpenTark) to calculate the head's spatial posture angle. The advantage of this method is that errors do not accumulate over time, and accuracy can be controlled. However, a disadvantage is that when the head deviates significantly from the camera, part of the object being measured (a face or infrared marker) may fall outside the camera's field of view, making it impossible to measure, thus limiting the measurable range of the head. A common remedy is to place multiple cameras in different locations to expand the measurement range. However, this can easily lead to confusion between multiple cameras (infrared), and uneven lighting can cause high measurement noise (visible light). Furthermore, the limited space in the cockpit may not necessarily allow for the deployment of multiple cameras. Furthermore, the output frequency of optical measurement is generally below 60 Hz, which is somewhat lower than the 90 Hz or higher frequency commonly required in VR applications. Inertial measurement uses an IMU component to measure tilt and acceleration, outputting angular velocity and attitude. The measurement component is very small, making it easy to attach to a helmet or glasses. The output frequency can reach over 100 Hz, and the output range is close to 180 degrees vertically and 360 degrees horizontally. Pitch and tilt angle errors do not accumulate over time, but the problem lies in the heading angle. Currently, there are two main methods for measuring heading angle: 1. Angular velocity integration. This method has time-accumulated errors. Typically, significant deviations will occur within 1 minute during motion, resulting in inaccurate head measurements; 2. Magnetic field. This method does not have cumulative errors, but significant random effects will occur when the measurement is close to circuits and ferromagnetic materials, making it difficult to widely use the measurement results in VR environments. Summary of the Invention
[0005] In order to overcome the shortcomings of the existing technology, the purpose of the present invention is to provide a continuous filtering VR combined head position measurement method in a limited space. The present invention solves the problem of large errors in head posture measurement using optical measurement and inertial measurement in the existing technology.
[0006] To achieve the above object, the present invention provides the following solutions:
[0007] A continuous filtering VR combined head position measurement method in a limited space, comprising:
[0008] Synchronously collecting azimuth angle data of the optical measurement device and angular velocity and attitude angle data of the inertial measurement unit; the attitude angle includes pitch angle and tilt angle;
[0009] Calculating the azimuth angle change rate based on the angular velocity and attitude angle data;
[0010] establishing a queue for storing the azimuth angle change rates until the queue is filled;
[0011] Filter the azimuth data in the queue and calculate the mean;
[0012] Correcting the mean value based on historical angular velocity data to obtain a static azimuth angle estimate basis;
[0013] Calculating the current azimuth angle by a finite number of step integration based on the static azimuth angle estimate;
[0014] The head posture is determined according to the current azimuth angle and the posture angle data of the inertial measurement unit.
[0015] Preferably, the expression of the azimuth angle change rate is:
[0016]
[0017] in, is the azimuth angle change rate, wy is the pitch axis, wz is the vertical axis, is the tilt angle, and θ is the pitch angle.
[0018] Preferably, the calculation expression of the mean is:
[0019]
[0020] Where n is the length of the storage queue, 1 frame per acquisition cycle;
[0021] Preferably, the calculation expression based on the static azimuth angle estimation value is:
[0022]
[0023] in, is the basis for the static azimuth angle estimate, Indicates the calculated value of the rate of change of the azimuth angle at the nth moment.
[0024] Preferably, the calculation expression of the current azimuth angle is:
[0025]
[0026] Where Δt is the calculation iteration time step.
[0027] Preferably, it also includes:
[0028] Preferably, the inertial measurement unit is any one of a 6-axis or 9-axis sensor.
[0029] Preferably, the optical measuring device is a camera.
[0030] The present invention discloses the following technical effects:
[0031] The present invention provides a method for head position measurement in a confined space using a continuous filtering VR combination. The method comprises: synchronously collecting azimuth angle data from an optical measurement device and angular velocity and attitude angle data from an inertial measurement unit (IMU); the attitude angles include pitch and tilt angles; calculating the azimuth angle change rate based on the angular velocity and attitude angle data; establishing a queue to store the azimuth angle change rates until the queue is full; filtering the azimuth angle data in the queue to calculate a mean; correcting the mean based on historical angular velocity data to obtain a static azimuth angle estimate; calculating the current azimuth angle based on the static azimuth angle estimate through finite-step integration; and determining the head posture based on the current azimuth angle and the attitude angle data from the inertial measurement unit. The method simultaneously collects raw angle and angular velocity information from an IMU and an optical device, and calculates the actual azimuth angle change rate based on the relationship between angular velocity and tilt angle, thereby establishing a finite-length queue of azimuth angles and azimuth angle change rates. The azimuth angle data in the queue is filtered to obtain a static azimuth angle estimate, which is then calculated using a finite-step integration algorithm to obtain the current, latest head position azimuth angle. This method combines the advantages of optical and inertial measurements. It estimates static values through a dynamically updated queue, uses angular velocity and known time step for integration to compensate for time delay, and achieves a smooth transition before and outside the light capture range. The output range, output frequency, error, and delay of the head posture all meet the requirements of professional driving simulation applications. In addition, the method is small in size, light in weight, and has low energy consumption, providing an effective engineering solution for the promotion and application of VR technology in the field of simulated driving. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0033] Figure 1 This is a flow chart of a method for measuring head position in a limited space using continuous filtering and VR combination, provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0034] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0035] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0036] like Figure 1 As shown, the present invention provides a continuous filtering VR combination head position measurement method in a limited space, comprising:
[0037] Step 100: synchronously collecting azimuth angle data of the optical measurement device and angular velocity and attitude angle data of the inertial measurement unit; the attitude angle includes pitch angle and tilt angle;
[0038] Step 200: Calculating the azimuth angle change rate based on the angular velocity and attitude angle data;
[0039] Step 300: Establish a queue for storing the azimuth angle change rate until the queue is filled;
[0040] Step 400: Filter the azimuth data in the queue and calculate the mean;
[0041] Step 500: Correcting the mean value based on historical angular velocity data to obtain a static azimuth angle estimation basis;
[0042] Step 600: Calculate the current azimuth angle based on the static azimuth angle estimate through a finite number of step integration;
[0043] Step 700: Determine the head posture according to the current azimuth angle and the posture angle data of the inertial measurement unit.
[0044] Specifically, the optical measurement device is generally a camera, and the accompanying software periodically processes the captured head posture image into corresponding results (pitch angle, tilt angle, heading angle). This type of software can use open source software, typically opentrack, or AItracker, foxtracker, etc. The posture information is sent to a third party via UDP, and is subsequently processed by the computing software in the processing computer (i.e., the main content of the present invention). The frequency of optical measurement is 20 to 30 frames per second; the inertial measurement unit has two types: 6-axis and 9-axis. The typical device is the JY series IMU module. The measurement results include pitch angle, tilt angle, heading angle, and three-axis angular velocity, which are sent to the computing software in the processing computer through the serial port for further processing. The frequency of IMU measurement is 100 frames per second.
[0045] The computing software of the present invention integrates the two types of measurement signals, optical and IMU, and converts different source data with limited measurement range, error accumulation, susceptibility to environmental interference, and large differences in sampling periods into all-round, error-free, controllable, and stable real-time head posture signals. The signals are output to users via UDP, such as DCSworld\Prepar3D or user-customized flight driving simulation programs, to present real-time scenes consistent with head movements in VR glasses.
[0046] The IMU (Inertial Measurement Unit) should move with the wearer's head (e.g., embedded within the glasses). The camera should be placed directly in front of the wearer (e.g., above the cockpit dashboard or display), ensuring the best viewing angle when the viewer's head is looking forward. Depending on the cabin space, the distance between the camera and the wearer's head should be between 20cm and 150cm. Furthermore, cameras are generally small (no larger than 5cm square) and will not significantly interfere with the viewer's field of view, making them suitable for most cockpit spaces.
[0047] Furthermore, the light capture data is read in to determine the queue length n (ψ i : Is the head azimuth angle obtained by the i-th light capture measurement in the queue full? If not, wait until the light capture data is full (equivalent to initialization), and read the angular velocity (around the vertical axis wz and pitch axis wy) and attitude (pitch angle θ and attitude angle θ) of the inertial sensor at the same time. ), calculate the azimuth angle change rate, the expression of the azimuth angle change rate is:
[0048]
[0049] in, is the azimuth angle change rate, wy is the pitch axis, wz is the vertical axis, is the tilt angle, and θ is the pitch angle.
[0050] Furthermore, the calculation expression of the mean is:
[0051]
[0052] Where n is the length of the storage queue, and each acquisition cycle is 1 frame.
[0053] Furthermore, the calculation expression of the static azimuth angle estimation value is:
[0054]
[0055] in, is the basis for the static azimuth angle estimate, Indicates the calculated value of the rate of change of the azimuth angle at the nth moment.
[0056] Furthermore, the calculation expression of the current azimuth angle is:
[0057]
[0058] Where Δt is the calculation iteration time step, which is consistent with the actual sampling period of light capture.
[0059] Furthermore, it also includes:
[0060] The optical range of the current azimuth angle is judged to obtain a judgment result. If the judgment result is within the light capture range, the queue is updated with the light capture data, otherwise, the queue is updated with the light capture data. Update queue;
[0061] Specifically, the current azimuth range is judged, and if the judgment result is within the light capture range, the queue is updated with light capture data, otherwise Update the queue. Complex calculations are not required here. Once the relationship between the head position and the light capture camera is determined, the light capture's measurable range can be determined through testing. Therefore, the azimuth angle value entered into the queue may be the result of light capture or the result of a previous estimation. Based on the above calculation process, if the head position is not within the light capture range, the new head position data in the queue is actually the result of integration, maintaining measurement continuity. However, integration error will occur. The magnitude of this error is related to the accumulated integration time. Once the head position returns to the light capture range, the error caused by integration is quickly eliminated by light capture data entering the queue. Integration error will not re-accumulate until the head moves out of the light capture range. As mentioned earlier, in driving scenarios, the head position is within the light capture measurement range for the majority of the time. This means that the duration of each integration state is finite and does not accumulate indefinitely.
[0062] On the other hand, each time the head position value is obtained, the head position historical record value of the entire queue must be involved in the calculation. When using and not using light capture data conversion, although the measured value may have sudden changes, the calculation method limits the impact of a single record on the final result. From the user's perspective, the head position change is smooth.
[0063] Compared to conventional queue averaging algorithms, which achieve smoothing but also introduce significant latency, this approach uses multi-step integration based on the light capture time step, integrating from the start of the queue to the current moment. This theoretically eliminates additional latency, ensuring both smoothing and a fast measurement response.
[0064] In the calculation process described above, obtaining the integral reference value, including arithmetic averaging, also serves the purpose of filtering out noise. Because the statistical mean of white noise is 0, the noise component is effectively suppressed after averaging, further improving the system's anti-interference capability.
[0065] Specifically, when the head is within the light capture range, the light capture measurement data is valid, and the data in the column are all light capture results. The calculated direction angle is a function of these data and the angular velocity, pitch angle and tilt angle at each moment. Although there is an integration process, the result of this integration does not affect the data used for the next integration, so the error will not accumulate over time, and when the angular velocity is close to 0, the integration error is also close to 0; when the head moves out of the light capture range, the queue data will gradually be replaced by the calculated value. Since the replacement process is based on the original data frame by frame, there is no jump, which ensures the smoothness of the process; since the integration result will affect the input of the next calculation, the error will accumulate over time. Taking into account the characteristics of flight driving and the actual situation that the light capture camera is located directly in front, this situation only occurs when the pilot tilts his head significantly, and this posture is rarely maintained for a long time. That is to say, the head will turn back after a period of time and be back in the light capture range. The original accumulated error will be quickly eliminated due to the addition of light capture data; the extrapolation calculation makes the calculation of the azimuth angle continuous within the possible range, and the extrapolation state mainly meets the need to grasp the situation to the side and rear. The more the line of sight deviates from the front, the lower the practical significance of the quantitative accuracy of the data. This feature enables the extrapolation method to meet the pilot's needs to perceive the all-round situation in the air; the accuracy of different integration methods will vary, but as long as a certain level of accuracy is met and the human eye cannot obviously perceive it, it will not affect the engineering effectiveness of this method.
[0066] More specifically, the pitch and roll angles are measured using IMU measurements throughout the entire process to achieve full vertical measurement coverage and provide basic information for heading filtering.
[0067] The random noise generated by light capture is squeezed out by averaging the sliding queue window, and the time delay caused by establishing the queue is compensated by integrating the velocity signal of the IMU. Outside the light capture range, the integral is used to replace the light capture measurement result, thus achieving heading measurement without blind spots.
[0068] The use of filter queues ensures that the measurement output does not jump in any measurement state.
[0069] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0070] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The above examples are only intended to help understand the method and core concept of the present invention. At the same time, those skilled in the art will find that the specific implementation methods and application scopes may vary based on the concept of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.
Claims
1. A continuous filtering VR combined head position measurement method in a limited space, characterized by: include: Synchronously collecting azimuth angle data of the optical measurement device and angular velocity and attitude angle data of the inertial measurement unit; the attitude angle includes pitch angle and tilt angle; Calculating the azimuth angle change rate based on the angular velocity and attitude angle data; establishing a queue for storing the azimuth angle change rates until the queue is filled; Filter the azimuth data in the queue and calculate the mean; Correcting the mean value based on historical angular velocity data to obtain a static azimuth angle estimate basis; Calculating the current azimuth angle by a finite number of step integration based on the static azimuth angle estimate; The head posture is determined according to the current azimuth angle and the posture angle data of the inertial measurement unit.
2. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 1, characterized in that: The expression of the azimuth angle change rate is: in, is the azimuth angle change rate, wy is the pitch axis, wz is the vertical axis, is the tilt angle, and θ is the pitch angle.
3. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 2, characterized in that: The calculation expression of the mean is: Where n is the length of the storage queue.
4. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 3, characterized in that: The calculation expression of the static azimuth angle estimation value is: in, is the basis for the static azimuth angle estimate, is the rate of change of the bearing stored in the nth queue position.
5. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 4, characterized in that: The calculation expression of the current azimuth angle is: Where Δt is the calculation iteration time step.
6. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 1, characterized in that: The inertial measurement unit is either a 6-axis or 9-axis sensor.
7. The method for measuring head position in a limited space by continuous filtering VR combination according to claim 1, characterized in that: The optical measuring device is a camera.