WO2024141098A1 - 用于在头戴显示设备显示画面的方法、装置、设备及介质 - Google Patents
用于在头戴显示设备显示画面的方法、装置、设备及介质 Download PDFInfo
- Publication number
- WO2024141098A1 WO2024141098A1 PCT/CN2023/143687 CN2023143687W WO2024141098A1 WO 2024141098 A1 WO2024141098 A1 WO 2024141098A1 CN 2023143687 W CN2023143687 W CN 2023143687W WO 2024141098 A1 WO2024141098 A1 WO 2024141098A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- weight
- predicted
- posture
- correction
- current correction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012937 correction Methods 0.000 claims abstract description 593
- 238000005259 measurement Methods 0.000 claims description 271
- 230000000875 corresponding effect Effects 0.000 claims description 175
- 230000001133 acceleration Effects 0.000 claims description 117
- 230000008859 change Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 23
- 238000011156 evaluation Methods 0.000 claims description 22
- 230000005484 gravity Effects 0.000 claims description 13
- 230000002596 correlated effect Effects 0.000 claims description 12
- 230000005389 magnetism Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000036544 posture Effects 0.000 abstract description 263
- 238000009877 rendering Methods 0.000 abstract description 5
- 238000006243 chemical reaction Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000005404 magnetometry Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
Definitions
- the present disclosure relates to the technical field of head-mounted display devices, and in particular to a method, apparatus, device and medium for displaying images on a head-mounted display device.
- Head-mounted display devices can be used to display content, such as movie images, game images, web pages, etc.
- a computer program product including computer program instructions, which implement the above-mentioned method for displaying images on a head-mounted display device when the computer program instructions are executed by a processor.
- FIG. 2 is a flowchart of a method for displaying images on a head mounted display device provided by another exemplary embodiment of the present disclosure.
- FIG. 3 is a flowchart of a method for displaying images on a head mounted display device provided by yet another exemplary embodiment of the present disclosure.
- FIG. 4 is a flowchart of a method for displaying images on a head mounted display device provided by yet another exemplary embodiment of the present disclosure.
- FIG5 is a flowchart of a method for displaying images on a head mounted display device provided by yet another exemplary embodiment of the present disclosure.
- FIG8 is a schematic structural diagram of an apparatus for displaying images on a head mounted display device provided by another exemplary embodiment of the present disclosure.
- FIG. 9 is a structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure.
- the first predicted bias parameter at the current correction moment is equal to the corrected bias parameter of the first magnetometer at the last correction moment.
- the second predicted bias parameter at the current correction moment is equal to the corrected bias parameter of the second magnetometer at the last correction moment.
- the first predicted posture at the current correction moment is obtained by adding the corrected posture of the first device at the last correction moment and the first angle change of the first device at the current correction moment.
- the second predicted posture at the current correction moment is obtained by adding the corrected posture of the second device at the last correction moment and the second angle change of the second device at the current correction moment.
- the first angle change of the first device at the current correction moment includes: the integral value of the angular velocity data collected by the first gyroscope set on the first device from the last correction moment to the current correction moment.
- the second angle change of the second device at the current correction moment includes: the integral value of the angular velocity data collected by the second gyroscope set on the second device from the last correction moment to the current correction moment.
- Step 2 Determine the corrected state variables at the current correction time based on the predicted state variables and observed data at the current correction time.
- Step three determining the relative posture of the first device and the second device based on the first corrected posture and the second corrected posture.
- the prediction stage can be expressed as follows:
- the update phase can be expressed as follows:
- the lowercase letter k is used as the subscript of the parameter and represents a certain moment
- the uppercase letter K represents the Kalman gain.
- a k represents the state transfer matrix at time k
- the posterior state estimate at time k-1 i.e., the optimal estimate of the system state at time k-1
- uk represents the result of converting the input at time k using the matrix converted from input to state
- R represents the process excitation noise covariance
- C k represents the transfer matrix from state quantity to measurement (observation)
- Q represents the measurement noise covariance
- An embodiment of the present disclosure provides a method for displaying an image on a head-mounted display device.
- the relative posture between the head-mounted display device and the target device can be corrected.
- the target device can be the predetermined object mentioned above.
- the target magnetic field environment may be a magnetic field environment that does not change over time.
- the head mounted display device and the target device are both located outdoors, and the target magnetic field environment is the earth's magnetic field environment.
- the head mounted display device and the target device are both located in a stable indoor magnetic field environment.
- the target magnetic field environment may also be a magnetic field environment that changes over time.
- the head mounted display device and the target device are both located on a platform with its own magnetic field, and the platform moves freely in another larger magnetic field environment (such as the earth's magnetic field environment).
- the embodiments of the present disclosure may involve three coordinate systems, namely, a first device coordinate system of a head-mounted display device, a second device coordinate system of a target device, and a world coordinate system.
- the first device coordinate system may be: a three-dimensional coordinate system constructed with the center of mass or other position point of the head-mounted display device as the origin.
- the second device coordinate system may be: a three-dimensional coordinate system constructed with the center of mass or other position point of the target device as the origin.
- the world coordinate system has one coordinate axis aligned with the direction of gravity, and the other two coordinate axes extend in the horizontal direction and are perpendicular to each other.
- the head mounted display device may be provided with a first magnetometer and a first gyroscope
- the target device may be provided with a second magnetometer and a second gyroscope.
- the head mounted display device may also be provided with a first accelerometer.
- the target device may also be provided with a second accelerometer.
- the first magnetometer and the second magnetometer may both be three-axis magnetometers.
- the first gyroscope and the second gyroscope may both be three-axis gyroscopes.
- the first accelerometer and the second accelerometer may both be three-axis accelerometers.
- the relative posture can be corrected at a certain time interval, and the interval between any two adjacent correction moments can be 1 millisecond, 10 milliseconds, 1 second, 2 seconds, 3 seconds, etc.
- the time interval between two adjacent correction moments can be greater than or equal to the time interval for collecting observation data.
- the current correction moment can be expressed as the k moment
- the previous correction moment of the current correction moment can be expressed as the k-1 moment
- the next correction moment of the current correction moment can be expressed as the k+1 moment.
- the previous correction moment, the current correction moment, and the next correction moment can all have corresponding prior state estimation values, a posteriori state estimation values, prior estimation covariances, and a posteriori estimation covariances.
- the prior state estimate at any correction moment can be used as the predicted state variable at the correction moment.
- the a posteriori state estimate at any correction moment can be used as the corrected state variable at the correction moment.
- the prior estimate covariance at any correction moment can be used as the predicted covariance corresponding to the predicted state variable at the correction moment.
- the a posteriori estimate covariance at any correction moment can be used as the corrected covariance corresponding to the corrected state variable at the correction moment.
- Step 120 obtaining the predicted state variables and observed data at the current correction time.
- the predicted state variables include: The first predicted posture, the second predicted posture of the target device in the world coordinate system, the first predicted bias parameter of the first magnetometer set in the head mounted display device, and the second predicted bias parameter of the second magnetometer set in the target device.
- the target device is a device associated with the screen display of the head mounted display device.
- the observation data includes at least one of the following: data collected by the first magnetometer and the second magnetometer, and data collected by at least one of the first accelerometer set in the head mounted display device and the second accelerometer set in the target device.
- the bias of the magnetometer belongs to the internal parameter of the magnetometer, and the bias of the magnetometer may include soft magnetic bias, hard magnetic bias, etc.
- the influence of the hard magnetic bias is much greater than that of the soft magnetic bias, therefore, the bias parameters involved in the embodiments of the present disclosure may only consider the hard magnetic bias parameters.
- the observation data may include data collected by the first magnetometer and the second magnetometer.
- the observation data may include data collected by at least one of the first accelerometer and the second accelerometer.
- the observation data may include data collected by the first magnetometer and the second magnetometer, and data collected by at least one of the first accelerometer and the second accelerometer.
- either the head-mounted display device or the target device may be equipped with an accelerometer, so that when the device equipped with the accelerometer is in a preset state, the data collected by the configured accelerometer can be used to assist in correcting the state variables.
- the target device may include at least one of the following:
- the mobile platform on which the head mounted display device is located is located;
- a portable device that pairs with the headset.
- the target device is a mobile platform where the head mounted display device is located, including but not limited to vehicles, ships, airplanes, trains, elevators, etc.
- the display image displayed by the head mounted display device is adjusted, and the effects that can be achieved include but are not limited to: when the target device moves or turns, the display image in the virtual space of the head mounted display device is anchored relative to the target device.
- the target device is a control device paired with a head-mounted display device
- the target device includes but is not limited to a mobile phone, a handle, an adapter, a ring, etc. for controlling the head-mounted display device.
- the display screen displayed by the head-mounted display device is adjusted.
- the effects that can be achieved include but are not limited to: when the target device moves, the virtual objects (such as rays, virtual hands, etc.) in the virtual space display screen rendered by the head-mounted display device can be anchored to the orientation of the target device without offset.
- the adapter is a computing unit that can provide computing power to the head-mounted display device and can bear all or part of the computing power required by the head-mounted display device.
- the target device can be placed at any location according to actual needs. For example, it can be placed on a predetermined object such as a vehicle, a ship, an airplane, a train, a user's body, a wall, or the ground.
- the target device can have a structure such as a hook, a clip, a suction cup, or a magnet for fixing it to the predetermined object.
- the relative posture of the head mounted display device and the predetermined object can also be determined by referring to the data collected by the sensors respectively configured on the head mounted display device and the target device.
- the data collected by the first magnetometer in the observation data may refer to: the real data collected by the first magnetometer at the current correction moment.
- the data collected by the first magnetometer at the current correction moment is estimated by calculation using the real data collected by the first magnetometer at several moments adjacent to the current correction moment.
- the data collected by the second magnetometer, the data collected by the first accelerometer, and the data collected by the second accelerometer in the observation data refer to the same and so on, which will not be repeated here.
- Step 140 determining the corrected state variables at the current correction time based on the predicted state variables at the current correction time and the observed data.
- the correction state variable includes: a first correction posture of the head mounted display device in the world coordinate system, a second correction posture of the target device in the world coordinate system, a first correction bias parameter of the first magnetometer, and a second correction bias parameter of the second magnetometer.
- the first predicted bias parameter at the current correction moment is equal to the correction bias parameter of the first magnetometer at the last correction moment.
- the second predicted bias parameter at the current correction moment is equal to the correction bias parameter of the second magnetometer at the last correction moment.
- the first predicted posture at the current correction moment is obtained by adding the correction posture of the head mounted display device at the last correction moment and the first angle change of the head mounted display device at the current correction moment.
- the correction state variables at the last correction moment may include: the third correction posture of the head-mounted display device in the world coordinate system at the last correction moment, the fourth correction posture of the target device in the world coordinate system at the last correction moment, the third correction bias parameter of the first magnetometer at the last correction moment, and the fourth correction bias parameter of the second magnetometer at the last correction moment.
- the integral value can represent the angle change of the head-mounted display device relative to the world coordinate system during the period from the last correction moment to the current correction moment, and the angle change can be used as the first angle change.
- the predicted posture of the head-mounted display device in the world coordinate system at the current correction moment can be obtained, and the obtained predicted posture can be used as the first predicted posture.
- the second predicted posture can be determined in a similar manner, which will not be repeated here.
- the third correction bias parameter in the correction state variable at the last correction moment can be directly used as the first prediction bias parameter
- the fourth correction bias parameter in the correction state variable at the last correction moment can be used as the second prediction bias parameter.
- the prediction state variable including the first prediction posture, the second prediction posture, the first prediction bias parameter, and the second prediction bias parameter can be obtained, that is, the prediction state variable at the current correction moment can be obtained.
- the predicted state variables at the current correction time may be corrected using the observed data at the current correction time to obtain the corrected state variables at the current correction time.
- the correction result of the first predicted posture can be used as the first corrected posture
- the correction result of the second predicted posture can be used as the second corrected posture
- the correction result of the first predicted bias parameter can be used as the first corrected bias parameter
- the correction result of the second predicted bias parameter can be used as the second corrected bias parameter.
- Step 160 Determine the relative posture of the head mounted display device and the target device based on the first corrected posture and the second corrected posture.
- the first corrected posture is expressed as G R I1 '
- the second corrected posture is expressed as G R I2 '
- the relative posture of the head mounted display device and the target device is expressed as I2 R I1
- the relative posture between the head mounted display device and the target device may also refer to: the posture of the target device in the coordinate system of the head mounted display device, that is, the relative posture I1 R I2 of the target device relative to the head mounted display device.
- the determination method of the relative posture is not limited to this.
- at least two optimization algorithms can be used to optimize the predicted state variables at the current correction moment, respectively, thereby obtaining at least two first correction postures corresponding to the at least two optimization algorithms, and at least two second correction postures corresponding to the at least two optimization algorithms.
- the GR I1 ' in the above formula can adopt the fusion result of at least two first correction postures (which can be obtained by direct weighted summation or averaging), and the GR I2 ' in the above formula can adopt the fusion result of at least two second correction postures.
- Step 180 Render the image to be displayed of the head mounted display device based on the relative posture, so as to display the image to be displayed through the head mounted display device.
- a rendering engine of the head-mounted display device may render the image to be displayed with reference to the relative posture, and update the obtained rendering result to be displayed on the display screen of the head-mounted display device.
- the preset angular velocity data integration noise refers to the noise introduced by the preset process of integrating the angular velocity data of the gyroscope.
- the correction covariance and noise covariance corresponding to the correction state variable at the last correction moment can be directly added, and the summed result can be used as the predicted covariance corresponding to the predicted state variable at the current correction moment.
- weights can be assigned to the correction covariance and noise covariance corresponding to the correction state variable at the last correction moment, respectively, and the weighted summation of the correction covariance and noise covariance corresponding to the correction state variable at the last correction moment is performed using the assigned weights, and the weighted summation result can be used as the predicted covariance corresponding to the predicted state variable at the current correction moment.
- Step 1404 based on the predicted state variable at the current correction time, the predicted covariance corresponding to the predicted state variable, and the observed data, determine the corrected state variable at the current correction time and the corrected covariance corresponding to the corrected state variable.
- Step 1404 includes multiple implementation forms, which are introduced below respectively.
- step 1404 One implementation form of step 1404:
- step 1404 includes step 1404 - A1 and step 1404 - A2.
- Step 1404-A1 based on the predicted covariance corresponding to the predicted state variable at the current correction moment, determine the first weight corresponding to the first correction bias parameter, the second weight corresponding to the second correction bias parameter, the third weight corresponding to the first correction posture, and the fourth weight corresponding to the second correction posture.
- the first conversion relationship mentioned above can be used to convert the predicted covariance corresponding to the predicted state variable at the current correction moment, and the conversion result can include the first correction bias parameter, the second correction bias parameter, the first correction posture, and the noise corresponding to the second correction posture.
- a conversion relationship between noise and weight can be preset (for ease of description, it will be referred to as the second conversion relationship later), and the second conversion relationship is used to make the noise and weight negatively correlated, for example, the second conversion relationship can be in the form of a monotonically decreasing function.
- each noise included in the conversion result can be converted into a weight, thereby obtaining a first weight corresponding to the first correction bias parameter, a second weight corresponding to the second correction bias parameter, a third weight corresponding to the first correction posture, and a fourth weight corresponding to the second correction posture.
- the first predicted posture can be expressed as GR I1
- the first noise corresponding to the first magnetic measurement data can be expressed as N 1
- the transposed result of the first predicted posture can be expressed as GR I1 T
- the second predicted posture can be expressed as GR I2
- the second noise corresponding to the second magnetic measurement data can be expressed as N 2
- the transposed result of the second predicted posture can be expressed as GR I2 T .
- step 1404 Another implementation form of step 1404:
- a sixth weight is determined.
- the target variance may be directly used as the first measurement value fluctuation evaluation parameter of the first acceleration measurement data.
- the product of the target variance and a preset coefficient greater than 0 may be used as the first measurement value fluctuation evaluation parameter of the first acceleration measurement data.
- an optimization algorithm such as a Kalman filter algorithm
- the corrected state variables including b m1 ', b m2 ', GR I1 ', GR I2 ' can be obtained, that is, the corrected state variables at the current correction moment are obtained.
- the corrected covariance corresponding to the corrected state variable at the current correction moment can also be obtained.
- step 1404 when the target device is in the second preset state, step 1404 includes step 1404 - C1 and step 1404 - C2.
- Step 1404-C1 determining a seventh weight corresponding to an error of a second state constraint condition of the target device.
- the second preset state includes at least one of the following: a stationary state and a uniform linear motion state.
- the second state constraint condition is defined by a second predicted posture at the current correction moment, second acceleration measurement data, and gravity acceleration of the world coordinate system.
- Step 1404-C2 based on the first weight, the second weight, the third weight, the fourth weight, the second acceleration measurement data, the second predicted posture, the seventh weight, and the gravitational acceleration of the world coordinate system, correct the predicted state variable at the current correction moment and the predicted covariance corresponding to the predicted state variable to obtain the corrected state variable at the current correction moment and the corrected covariance corresponding to the corrected state variable.
- determining a seventh weight corresponding to an error of the second state constraint condition of the target device includes:
- a seventh weight is determined.
- the seventh weight may be negatively correlated with the second measurement value fluctuation evaluation parameter.
- e1 represents the first error
- w1 represents the first weight
- b m1 ' represents the first correction bias parameter
- b m1 represents the first predicted bias parameter
- w2 represents the second weight
- b m2 ' represents the second correction bias parameter
- b m2 represents the second predicted bias parameter
- w3 represents the third weight
- G R I1 ' represents the first correction posture
- G R I1 represents the first predicted posture
- w4 represents the fourth weight
- G R I2 ' represents the second correction posture
- G R I2 represents the second predicted posture
- e4 represents the fourth error
- w7 represents the seventh weight
- a m2 represents the second acceleration measurement data
- G g represents the gravitational acceleration of the world coordinate system.
- step 1404 includes step 1404 - D1 , step 1404 - D2 , step 1404 - D3 , and step 1404 - D4 .
- Step 1404-D3 based on the second measurement value fluctuation evaluation parameter of the second acceleration measurement data, determine the seventh weight corresponding to the error of the second state constraint condition of the target device.
- the second state constraint condition is defined by the second predicted posture at the current correction time, the second acceleration measurement data, and the gravity acceleration of the world coordinate system.
- step 1404 -D1 , step 1404 -D2 , and step 1404 -D3 may refer to the relevant introduction in the above two implementation forms of step 1404 .
- Step 1404-D4 based on the first weight, the second weight, the third weight, the fourth weight, the first magnetic measurement data, the second magnetic measurement data, the fifth weight, the first acceleration measurement data, the first predicted posture, the second acceleration measurement data, the second predicted posture, the sixth weight, the seventh weight, and the gravitational acceleration of the world coordinate system, correct the predicted state variables at the current correction time and the predicted covariance corresponding to the predicted state variables to obtain the corrected state variables at the current correction time and the corrected covariance corresponding to the corrected state variables.
- step 1404-D4 includes:
- the target error is the sum of the first error, the second error, the third error and the fourth error.
- step 1404-D4 is similar to the above two implementation forms of step 1404 in that the predicted state variables at the current correction time are corrected with minimizing the target error as the correction target, and the effects that can be achieved are also similar.
- step 1404-D4 magnetic constraints, first state constraints, and second state constraints are used at the same time. The combination of multiple constraints is conducive to improving the accuracy and reliability of the correction results.
- step 1404 by using at least one of the magnetic constraint conditions, the first state constraint conditions, and the second state constraint conditions, when correcting the predicted state variables and the predicted covariance, the accuracy and reliability of the correction results can be effectively improved, the relative attitude error can be reduced, and the estimation accuracy of the relative attitude can be improved.
- the first sequence includes: angular velocity measurement data of the first gyroscope at each first measurement moment in a plurality of first measurement moments.
- the third sequence includes: first magnetism measurement data of the first magnetometer at each third measurement time in a plurality of third measurement times.
- a fourth sequence is obtained, wherein the fourth sequence includes second magnetometry measurement data of the second magnetometer at each fourth measurement time in a plurality of fourth measurement time instants.
- the first gyroscope can perform angular velocity measurement at a fixed first frequency, so that angular velocity measurement data of the first gyroscope at each first measurement moment in a plurality of first measurement moments can be obtained.
- the first sequence can be obtained by arranging the obtained angular velocity measurement data in order of measurement time from earliest to latest.
- the second gyroscope can perform angular velocity measurement at a fixed second frequency, so that angular velocity measurement data of the second gyroscope at each second measurement moment in a plurality of second measurement moments can be obtained.
- the second sequence can be obtained by arranging the obtained angular velocity measurement data in order of measurement time from earliest to latest.
- the first magnetometer can measure the magnetic value at a fixed third frequency, so that the first magnetometer at each third measurement time in multiple third measurement times can be obtained.
- a third sequence can be obtained.
- any two frequencies among the first frequency, the second frequency, the third frequency, and the fourth frequency may be the same frequency or different frequencies, and the embodiments of the present disclosure do not impose any limitation on this.
- the first to fourth sequences are represented as L1, L2, L3, and L4 in sequence. If L1 is used as the basic sequence, the interpolation sequence corresponding to L2 is represented as L2', and the time difference between L2' and L1 can be determined by using a cross-correlation algorithm.
- L1 is as follows:
- the initial value of the covariance may be a preset value.
- w1 corresponding to b m1 and w2 corresponding to b m2 are initially small because the magnetic constraint conditions are more trusted in the initial stage of filtering, and as time goes by, b m1 and b m2 gradually converge to the true value, and w1 corresponding to b m1 and w2 corresponding to b m2 will increase.
- the above method embodiments are all about correcting the relative posture of the head mounted display device and the target device, and the scope of application of the embodiments of the present disclosure is not limited to this case.
- anyone who uses the concept in the embodiments of the present disclosure can correct the relative posture of any two devices according to actual needs, as long as the two devices are respectively provided with the sensors described above.
- the apparatus may include:
- the target error is the sum of the first error and the fourth error.
- the determination module 1040 is used to determine the fifth weight corresponding to the error of the magnetic constraint condition at the current correction moment based on the first predicted posture, the first noise corresponding to the first magnetic measurement data, the second predicted posture, and the second noise corresponding to the second magnetic measurement data.
- the magnetic constraint condition at the current correction moment is defined by the first correction posture, the second correction posture, the first magnetic measurement data, the second magnetic measurement data, the first correction bias parameter, and the second correction bias parameter at the current correction moment.
- the sixth weight corresponding to the error of the first state constraint condition of the head-mounted display device is determined.
- the predicted state variable at the current correction moment and the predicted covariance corresponding to the predicted state variable are corrected to obtain the corrected state variable at the current correction moment and the corrected covariance corresponding to the corrected state variable.
- the target error is the sum of the first error, the second error, the third error and the fourth error.
- e1 represents the first error
- w1 represents the first weight
- b m1 ' represents the first correction bias parameter
- b m1 represents the first prediction bias parameter
- w2 represents the second weight
- b m2 ' represents the second correction bias parameter
- b m2 represents the second prediction bias parameter
- w3 represents the third weight
- GR I1 ' represents the first correction posture
- GR I1 represents the first prediction posture
- w4 represents the fourth weight
- GR I2 ' represents the second correction posture
- GR I2 represents the second prediction posture
- e2 represents the second error
- w5 represents the fifth weight
- m 1 represents the first magnetic measurement data
- m 2 represents the second magnetic measurement data
- e3 represents the third error
- w6 represents the sixth weight
- a m1 represents the first acceleration measurement data
- G g represents the gravitational acceleration of the world coordinate system
- e4 represents the fourth error
- w7 represents the seventh weight
- the acquisition module 1020 is further used to acquire a first sequence, the first sequence including: angular velocity measurement data of the first gyroscope at each first measurement moment in a plurality of first measurement moments.
- a second sequence the second sequence including: angular velocity measurement data of the second gyroscope at each second measurement moment in a plurality of second measurement moments.
- a third sequence the third sequence including: first magnetism measurement data of the first magnetometer at each third measurement moment in a plurality of third measurement moments.
- Acquire a fourth sequence the fourth sequence including: second magnetism measurement data of the second magnetometer at each fourth measurement moment in a plurality of fourth measurement moments.
- the acquisition module 1020 is further configured to acquire a fifth sequence, the fifth sequence comprising: first acceleration measurement data of the first accelerometer at each fifth measurement moment in a plurality of fifth measurement moments.
- a sixth sequence the sixth sequence comprising: second acceleration measurement data of the second accelerometer at each sixth measurement moment in a plurality of sixth measurement moments.
- the electronic device 1200 includes one or more processors 1210 and a memory 1220 .
- the memory 1220 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory.
- the volatile memory may include, for example, random access memory (RAM) and/or cache memory (cache), etc.
- the non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc.
- One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 1210 may run the program instructions to implement the methods for displaying images on a head-mounted display device and/or other desired functions of the various embodiments of the present disclosure described above.
- Various contents such as input signals, signal components, noise components, etc. may also be stored in the computer-readable storage medium.
- the electronic device 1200 may further include: an input device 1230 and an output device 1240 , and these components are interconnected via a bus system and/or other forms of connection mechanisms (not shown).
- the input device 1230 may be a microphone or a microphone array.
- the input device 1230 may be a communication network connector for receiving collected input signals from the first device and the second device.
- the input device 1230 may also include, for example, a keyboard, a mouse, and the like.
- embodiments of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon.
- the processor executes the steps of the method for displaying images on a head-mounted display device according to various embodiments of the present disclosure described in the above “Exemplary Method” section of this specification.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种用于在头戴显示设备显示画面的方法、装置、设备及介质。具体实现方案为:获取当前修正时刻的预测状态变量和观测数据;基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量;其中,修正状态变量包括:头戴显示设备在世界坐标系下的第一修正姿态、目标设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数;基于第一修正姿态和第二修正姿态,确定头戴显示设备与目标设备的相对姿态;基于相对姿态,对头戴显示设备的待显示画面进行渲染,以通过头戴显示设备显示待显示画面。
Description
本公开要求在2022年12月30日、2023年2月14日提交中国专利局、申请号为CN202211732721.2、CN202310158847.1,发明名称为“用于在头戴显示设备显示画面的方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
本公开涉及头戴显示设备技术领域,尤其涉及一种用于在头戴显示设备显示画面的方法、装置、设备及介质。
采用增强现实(Augmented Reality,AR)、虚拟现实技术(Virtual Reality,VR)等技术的头戴显示设备的应用越来越广泛。头戴显示设备可以用于内容显示,例如用于显示电影画面、游戏画面、网页等。
发明内容
本公开的实施例提供了一种用于在头戴显示设备显示画面的方法、装置、设备及介质。
根据本公开实施例的一个方面,提供了一种用于在头戴显示设备显示画面的方法,包括:获取当前修正时刻的预测状态变量和观测数据。其中,预测状态变量包括:头戴显示设备在世界坐标系下的第一预测姿态、目标设备在世界坐标系下的第二预测姿态、设置于头戴显示设备的第一磁力计的第一预测偏置参数、设置于目标设备的第二磁力计的第二预测偏置参数;目标设备为与头戴显示设备的画面显示相关联的设备;观测数据包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于头戴显示设备的第一加速度计和设置于目标设备的第二加速度计中的至少一者采集的数据。基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量。其中,修正状态变量包括:头戴显示设备在世界坐标系下的第一修正姿态、目标设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数;当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数;当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数;当前修正时刻的第一预测姿态由上一修正时刻的头戴显示设备的修正姿态与当前修正时刻头戴显示设备的第一角度变化量加和后得到;当前修正时刻的第二预测姿态由上一修正时刻的目标设备的修正姿态与当前修正时刻目标设备的第二角度变化量加和后得到;当前修正时刻头戴显示设备的第一角度变化量包括:设置于头戴显示设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值;当前修正时刻目标设备的第二角度变化量包括:设置于目标设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。基于第一修正姿态和第二修正姿态,确定头戴显示设备与目标设备的相对姿态。基于相对姿态,对头戴显示设备的待显示画面进行渲染,以通过头戴显示设备显示待显示画面。
根据本公开实施例的另一个方面,提供了一种用于在头戴显示设备显示画面的装置,包括:获取模块,用于获取当前修正时刻的预测状态变量和观测数据。其中,预测状态变量包括:头戴显示设备在世界坐标系下的第一预测姿态、目标设备在世界坐标系下的第二预测姿态、设置于头戴显示设备的第一磁力计的第一预测偏置参数、设置于目标设备的第二磁力计的第二预测偏置参数;目标设备为与头戴显示设备的画面显示相关联的设备;观测数据包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于头戴显示设备的第一加速度计和设置于目标设备
的第二加速度计中的至少一者采集的数据。确定模块,用于基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量;其中,修正状态变量包括:头戴显示设备在世界坐标系下的第一修正姿态、目标设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数;当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数;当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数;当前修正时刻的第一预测姿态由上一修正时刻的头戴显示设备的修正姿态与当前修正时刻头戴显示设备的第一角度变化量加和后得到;当前修正时刻的第二预测姿态由上一修正时刻的目标设备的修正姿态与当前修正时刻目标设备的第二角度变化量加和后得到;当前修正时刻头戴显示设备的第一角度变化量包括:设置于头戴显示设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值;当前修正时刻目标设备的第二角度变化量包括:设置于目标设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值;以及,基于第一修正姿态和第二修正姿态,确定头戴显示设备与目标设备的相对姿态。渲染模块,用于基于相对姿态,对头戴显示设备的待显示画面进行渲染,以通过头戴显示设备显示待显示画面。
根据本公开的再一个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序用于执行上述用于在头戴显示设备显示画面的方法。
根据本公开的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,且计算机程序被执行时实现上述用于在头戴显示设备显示画面的方法。
根据本公开的又一个方面,提供了一种计算机程序产品,包括计算机程序指令,计算机程序指令被处理器执行时实现上述用于在头戴显示设备显示画面的方法。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图2是本公开另一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图3是本公开再一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图4是本公开又一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图5是本公开又一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图6是本公开又一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。
图7是本公开一示例性实施例提供的用于在头戴显示设备显示画面的装置的结构示意图。
图8是本公开另一示例性实施例提供的用于在头戴显示设备显示画面的装置的结构示意图。
图9是本公开一示例性实施例提供的电子设备的结构图。
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可包括例程、程序、目标程序、组件、逻辑、数据结构等,它们执行特定任务或实现特定抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性概述
头戴显示设备也可以称为头戴显示器(Head-Mounted Display,HMD)或者头显,头戴显示设备可以用于实现扩展现实(Extended Reality,XR)效果,例如用于实现增强现实(Augmented Reality,AR)效果、虚拟现实(Virtual Reality,VR)效果、混合现实(Mixed Reality,MR)效果等。由于头戴显示设备能够创造特有的沉浸感,在使用头戴显示设备时,用户主观上可以
感觉置身于与现实具有隔离感的一空间中,该空间可以作为头戴显示设备的虚拟空间。可选地,头戴显示设备可以为AR眼镜、VR眼镜、MR眼镜等。
在一些使用场景下,需要计算并运用头戴显示设备与预定对象的相对姿态,例如,可以参考头戴显示设备与预定对象的相对姿态,对头戴显示设备的虚拟空间中的显示画面进行控制。
在本公开的一个可选实施方式中,预定对象可以是相对世界坐标系(其也可以称为全局坐标系)可移动的对象,包括但不限于车辆、轮船、飞机、火车等。
在本公开的另一个可选实施方式中,预定对象可以是相对世界坐标系不可移动的对象,包括但不限于墙面、地面等。
为了保证各种使用场景下相对姿态的运用效果,有必要采取一定的措施,提升相对姿态的准确性和可靠性。
在本公开的一些可选实施例中,提供了一种用于确定相对姿态的方法,可以包括如下步骤:
步骤一,获取当前修正时刻的预测状态变量和观测数据。
在本公开的一个可选实施方式中,预测状态变量包括:第一设备在世界坐标系下的第一预测姿态、第二设备在世界坐标系下的第二预测姿态、设置于第一设备的第一磁力计的第一预测偏置参数、设置于第二设备的第二磁力计的第二预测偏置参数。
观测数据可以包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于第一设备的第一加速度计和设置于第二设备的第二加速度计中的至少一者采集的数据。
第一设备和第二设备可以均设置有磁力计、陀螺仪。第一设备和第二设备中的至少一者还可以设置有加速度计。
在本公开的一个可选实施方式中,第一设备和第二设备可以为任意的两个设备。
在本公开的一个可选实施方式中,第一设备可以为终端设备。终端设备可以包括头戴显示设备、手机、手柄、适配器、指环、移动平台上的娱乐终端(例如车机)等。其中,手机、手柄、适配器、指环可以统称为控制器。
在本公开的一个可选实施方式中,第二设备可以为配置有惯性测量单元(IMU)的设备。第二设备可以集成在各种移动平台中,移动平台可以包括车辆、轮船、飞机、火车、升降梯等。第二设备也可以为便携式设备,通过挂钩、夹子、吸盘、磁铁等结构与预定对象进行可移除的固定。
当然,第一设备与第二设备可以互换。
步骤二,基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量。
在本公开的一个可选实施方式中,修正状态变量包括:第一设备在世界坐标系下的第一修正姿态、第二设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数。
当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第一预测姿态由上一修正时刻的第一设备的修正姿态与当前修正时刻第一设备的第一角度变化量加和后得到。当前修正时刻的第二预测姿态由上一修正时刻的第二设备的修正姿态与当前修正时刻第二设备的第二角度变化量加和后得到。当前修正时刻第一设备的第一角度变化量包括:设置于第一设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。当前修正时刻第二设备的第二角度变化量包括:设置于第二设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。
步骤三,基于第一修正姿态和第二修正姿态,确定第一设备与第二设备的相对姿态。
由此,可以确定第一设备与第二设备的相对姿态。
在本公开的一些可选实施例中,提供了一种用于确定相对姿态的方法,可以包括如下步骤:
步骤一,获取当前修正时刻的预测状态变量和观测数据。
在本公开的一个可选实施方式中,预测状态变量包括:第一设备和第二设备在世界坐标系下相对预测姿态、设置于第一设备的第一磁力计的第一预测偏置参数、设置于第二设备的第二磁力计的第二预测偏置参数。
观测数据可以包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于第一设备的第一加速度计和设置于第二设备的第二加速度计中的至少一者采集的数据。
步骤二,基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量。
修正状态变量包括:第一设备和第二设备在世界坐标系下的相对修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数。
当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数。当前修正时刻的相对预测姿态由上一修正时刻的第一设备的修正姿态、当前修正时刻第一设备的第一角度变化量、上一修正时刻的第二设备的修正姿态、当前修正时刻第二设备的第二角度变化量确定。当前修正时刻第一设备的第一角度变化量包括:设置于第一设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。当前修正时刻第二设备的第二角度变化量包括:设置于第二设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。
步骤三,基于第一修正姿态和第二修正姿态,确定第一设备与第二设备的相对姿态。
由此,可以确定第一设备与第二设备的相对姿态。
为方便理解本实施例的方案,下面列举本实施例的一部分应用场景。
1、第一设备为头戴显示设备,第二设备可以为其它任何设备。通过第一设备与第二设备的相对姿态,对通过头戴显示设备显示的显示画面进行渲染、调整、控制。
2、第一设备为控制器,第二设备为头戴显示设备。通过第一设备与第二设备的相对姿态,对通过头戴显示设备显示的显示画面进行控制。控制可以包括点击、选中、拖动、滑动等。
3、第一设备包括头戴显示设备和控制器;第二设备固定于移动平台。第二设备与移动平台的固定方式可以是:第二设备集成于移动平台,或第二设备可移除的固定于移动平台。头戴显示设备相对于第二设备的相对姿态,用于对通过头戴显示设备显示的显示画面进行渲染、调整、控制。控制器相对于第二设备的相对姿态,用于对通过头戴显示设备显示的显示画面进行控制。控制可以包括点击、选中、拖动、滑动等。
当然,本公开用于确定相对姿态的方案不限于上述3种应用场景,需要计算两个设备相对姿态的场景均适用本公开的方案。
在一些使用场景下,需要计算并运用头戴显示设备与预定对象之间的相对姿态。例如,可以参考头戴显示设备与预定对象的相对姿态,对通过头戴显示设备显示的虚拟画面进行渲染、调整、控制等。这里,头戴显示设备可以为第一设备,预定对象上固定有第二设备。
通过参考头戴显示设备与预定对象的相对姿态,对通过头戴显示设备显示的虚拟画面进行渲染、调整、控制等。可以实现的效果包括但不限于:在以预定对象固连的坐标系为基准的前提下,如果头戴显示设备与预定对象两者的相对姿态保持一致,显示画面的姿态在头戴显示设备的坐标系下基本不发生变化。通过头戴显示设备显示的画面的显示效果,则类似于直接通过头戴显示设备投屏的效果。如果头戴显示设备与预定对象两者未保持姿态一致,显示画面的姿态在头戴显示设备的坐标系下发生相应变化。通过头戴显示设备显示的画面的显示效果,则类似于以预定对象为基准的3dof显示效果。
在一些使用场景下,用户佩戴头戴显示设备,观看通过头戴显示设备显示的虚拟画面,有时需要借助于控制器与虚拟画面进行交互。控制器与头戴显示设备之间可以通信地连接,两者的相对姿态可以用于对通过头戴显示设备显示的虚拟画面进行控制。本文中的控制可以包括点击、选中、拖动等等。这里,头戴显示设备可以为第一设备,控制器可以为第二设备。
而在一些使用场景下,如果需要使用控制器,则还需要计算并运用控制器与预定对象的相对姿态,以参考控制设备与预定对象的相对姿态,对通过头戴显示设备显示的虚拟画面进行控制等。这里,控制器可以为第一设备,预定对象上固定有第二设备。
在本公开的一些可选实施方式中,预定对象可以是相对世界坐标系(其也可以称为全局坐标系)可移动的对象。例如是车辆、轮船、飞机、火车、升降梯等移动平台,或者是用户身体。可以理解地,本公开的术语“世界坐标系”可以是作为参考的基准坐标系,并不对其具体的设置进行限定。
在本公开的另一些可选实施方式中,预定对象可以是相对世界坐标系不可移动的对象,例如墙面、地面等。
为了保证各种使用场景下相对姿态的运用效果,有必要采取一定的措施,提升相对姿态的准确性和可靠性。本公开实施例提供的用于确定相对姿态的方法,能够基于观测数据对两个设备的状态变量进行修正,并根据两个设备修正后的姿态得到两个设备的相对姿态,对于静态稳定的外界磁场和随时间变化的外界磁场均适用,保障了相对姿态的准确性和可靠性。
示例性系统
本公开的实施例中,可以利用非惯性系下的卡尔曼滤波算法、非惯性系下的最小二乘法或者其他优化算法,实现相对姿态的修正。下文中的方法实施例部分主要以利用卡尔曼滤波算法的情况为例进行介绍,这里先对卡尔曼滤波算法的原理进行简要说明。
总体来说,卡尔曼滤波算法的思想是:利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计。卡尔曼滤波算法通常可以分为两个阶段,分别是预测阶段和更新阶段。
预测阶段可以用如下公式表示:
更新阶段可以用如下公式表示:
其中,小写字母形式的k作为参量的下标且表示某一时刻,大写字母形式的K表示卡尔曼增益,表示k时刻的先验状态估计值,Ak表示k时刻的状态转移矩阵,表示k-1时刻的后验状态估计值(即k-1时刻系统状态的最优估计),uk表示利用由输入转换为状态的矩阵,对k时刻的输入进行转换得到的结果,表示k时刻的先验估计协方差,表示k-1时刻的后验估计协方差,R表示过程激励噪声协方差,Ck表示状态量到测量(观测)的转移矩阵,表示Ck的转置结果,Q表示测量噪声协方差,表示k时刻的后验状态估计值(即
k时刻系统状态的最优估计),zk表示k时刻的测量值(观测值),表示k时刻的实际观测与预测观测之间的残差,示在由k时刻的先验状态估计值得到k时刻的后验状态估计值时使用的修正量,表示k时刻的后验估计协方差。
示例性方法
本公开的实施例提供了一种用于在头戴显示设备显示画面的方法,采用本公开的实施例提供的方法,可以实现头戴显示设备与目标设备的相对姿态的修正,目标设备可以作为上文中的预定对象。
头戴显示设备与目标设备可以位于相同的磁场环境(为了便于说明,后续将该磁场环境称为目标磁场环境)。
在本公开的一个可选实施方式中,目标磁场环境可以是不随时间变化的磁场环境。例如,头戴显示设备与目标设备均位于室外,目标磁场环境为地球磁场环境。再例如,头戴显示设备与目标设备均位于稳定的室内磁场环境。
在本公开的另一个可选实施方式中,目标磁场环境也可以是随时间变化的磁场环境。例如,头戴显示设备与目标设备均位于自带磁场的平台上,并且,这个平台在另一个更大的磁场环境(例如地球磁场环境)自由运动。
本公开的实施例可以涉及三个坐标系,分别是头戴显示设备的第一设备坐标系、目标设备的第二设备坐标系、世界坐标系。第一设备坐标系可以为:以头戴显示设备的质心或者其他位置点为原点构建的三维坐标系。类似地,第二设备坐标系可以为:以目标设备的质心或者其他位置点为原点构建的三维坐标系。世界坐标系有一个坐标轴与重力方向对齐,另两个坐标轴沿水平方向延伸且彼此垂直。
为了实现头戴显示设备与目标设备的相对姿态的修正,头戴显示设备可以设置有第一磁力计、第一陀螺仪,目标设备可以设置有第二磁力计、第二陀螺仪。头戴显示设备还可以设置有第一加速度计。目标设备还可以设置有第二加速度计。第一磁力计和第二磁力计均可以为三轴磁力计。第一陀螺仪和第二陀螺仪均可以为三轴陀螺仪。第一加速度计和第二加速度计均可以为三轴加速度计。
在本公开的一个可选实施方式中,可以按照一定的时间间隔,进行相对姿态的修正,任意相邻两个修正时刻之间可以间隔1毫秒、10毫秒、1秒、2秒、3秒等。相邻两个修正时刻之间的时间间隔可以大于等于观测数据采集的时间间隔。
按照上文中卡尔曼滤波算法涉及的五个公式,可以将当前修正时刻表示为k时刻,将当前修正时刻的上一修正时刻表示为k-1时刻,将当前修正时刻的下一修正时刻表示为k+1时刻。这样,上一修正时刻、当前修正时刻、下一修正时刻均可以具有对应的先验状态估计值、后验状态估计值、先验估计协方差、后验估计协方差。
在本公开的一个可选实施方式中,任一修正时刻的先验状态估计值可以作为该修正时刻的预测状态变量。任一修正时刻的后验状态估计值可以作为该修正时刻的修正状态变量。任一修正时刻的先验估计协方差可以作为该修正时刻的预测状态变量对应的预测协方差。任一修正时刻的后验估计协方差可以作为该修正时刻的修正状态变量对应的修正协方差。
图1是本公开一示例性实施例提供的用于在头戴显示设备显示画面的方法的流程示意图。图1所示的方法可以包括步骤120、步骤140、步骤160和步骤180,下面对各步骤分别进行说明。
步骤120,获取当前修正时刻的预测状态变量和观测数据。
在本公开的一个可选实施方式中,预测状态变量包括:头戴显示设备在世界坐标系下的第
一预测姿态、目标设备在世界坐标系下的第二预测姿态、设置于头戴显示设备的第一磁力计的第一预测偏置参数、设置于目标设备的第二磁力计的第二预测偏置参数。目标设备为与头戴显示设备的画面显示相关联的设备。观测数据包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于头戴显示设备的第一加速度计和设置于目标设备的第二加速度计中的至少一者采集的数据。
第一预测姿态可以表示:通过预测得到的,当前修正时刻第一设备坐标系与世界坐标系之间的相对旋转。第二预测姿态可以表示:通过预测得到的,当前修正时刻第二设备坐标系与世界坐标系之间的相对旋转。第一预测偏置参数可以表示:通过预测得到的,当前修正时刻第一磁力计的偏置的大小。第二预测偏置参数可以表示:通过预测得到的,当前修正时刻第二磁力计的偏置的大小。
磁力计的偏置属于磁力计的内参,磁力计的偏置可以包括软磁偏置、硬磁偏置等。通常情况下,硬磁偏置的影响远大于软磁偏置,因此,本公开的实施例中涉及的偏置参数可以仅考虑硬磁偏置参数。
观测数据可以包括第一磁力计和第二磁力计采集的数据。或者,观测数据可以包括第一加速度计和第二加速度计中的至少一者采集的数据。或者,观测数据可以包括第一磁力计和第二磁力计采集的数据,以及第一加速度计和第二加速度计中的至少一者采集的数据。
需要说明的是,在使用加速度测量数据进行修正的情况下,可以是头戴显示设备与目标设备中的任意一者配置有加速度计,从而在配置了加速度计的设备处于预设状态的情况下,可以使用配置的加速度计采集的数据辅助修正状态变量。
在本公开的一个可选实施方式中,目标设备可以包括以下至少一项:
头戴显示设备所在的移动平台;
与头戴显示设备配对的控制设备;
与头戴显示设备配对的便携式设备。
如果目标设备为头戴显示设备所在的移动平台,包括但不限于车辆、轮船、飞机、火车、升降梯等。通过参考头戴显示设备与目标设备的相对姿态,对通过头戴显示设备显示的显示画面进行调整,可以实现的效果包括但不限于:目标设备移动、转弯时,头戴显示设备的虚拟空间中的显示画面相对于目标设备锚定。
如果目标设备为与头戴显示设备配对的控制设备,目标设备包括但不限于用于控制头戴显示设备的手机、手柄、适配器、指环等。通过参考头戴显示设备与目标设备的相对姿态,对通过头戴显示设备显示的显示画面进行调整,可以实现的效果包括但不限于:目标设备移动时,头戴显示设备渲染的虚拟空间显示画面中的虚拟对象(例如射线、虚拟手等)能够与目标设备的朝向锚定而不发生偏移。适配器为可以给头戴显示设备提供算力的计算单元,可以承担头戴显示设备需要的全部或部分算力。
如果目标设备为与头戴显示设备配对的便携式设备,目标设备可以根据实际需求放置在任意位置。例如放置在车辆、轮船、飞机、火车、用户身体、墙面、地面等预定对象。目标设备可以带有挂钩、夹子、吸盘、磁铁等用于与预定对象进行固定的结构。这样,参考分别配置在头戴显示设备和目标设备上的传感器各自采集的数据,也可以确定头戴显示设备与预定对象的相对姿态。
在本公开的一个可选实施方式中,观测数据中第一磁力计采集的数据可以是指:当前修正时刻第一磁力计采集的真实数据。或者,利用与当前修正时刻邻近的若干个时刻第一磁力计采集的真实数据,通过计算估计出的当前修正时刻第一磁力计采集的数据。观测数据中第二磁力计采集的数据、第一加速度计采集的数据、第二加速度计采集的数据所指的数据以此类推,在此不再赘述。
步骤140,基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量。
在本公开的一个可选实施方式中,修正状态变量包括:头戴显示设备在世界坐标系下的第一修正姿态、目标设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数。当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第一预测姿态由上一修正时刻的头戴显示设备的修正姿态与当前修正时刻头戴显示设备的第一角度变化量加和后得到。当前修正时刻的第二预测姿态由上一修正时刻的目标设备的修正姿态与当前修正时刻目标设备的第二角度变化量加和后得到。当前修正时刻头戴显示设备的第一角度变化量包括:设置于头戴显示设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。当前修正时刻目标设备的第二角度变化量包括:设置于目标设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。
上一修正时刻的修正状态变量可以包括:上一修正时刻头戴显示设备在世界坐标系下的第三修正姿态、上一修正时刻目标设备在世界坐标系下的第四修正姿态、上一修正时刻第一磁力计的第三修正偏置参数、上一修正时刻第二磁力计的第四修正偏置参数。
通过对第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据进行积分,可以得到相应的积分值。该积分值可以表示在上一修正时刻至当前修正时刻这段时间中,头戴显示设备相对世界坐标系的角度变化量,该角度变化量可以作为第一角度变化量。通过将第一角度变化量与第三修正姿态进行叠加,可以得到当前修正时刻头戴显示设备在世界坐标系下的预测姿态,得到的预测姿态可以作为第一预测姿态。第二预测姿态可以采用类似的方式确定,在此不再赘述。
另外,还可以直接将上一修正时刻的修正状态变量中的第三修正偏置参数作为第一预测偏置参数,并将上一修正时刻的修正状态变量中的第四修正偏置参数作为第二预测偏置参数。由此可以得到包括第一预测姿态、第二预测姿态、第一预测偏置参数、第二预测偏置参数的预测状态变量,即得到当前修正时刻的预测状态变量。
在步骤140中,可以利用当前修正时刻的观测数据,对当前修正时刻的预测状态变量进行修正,以得到当前修正时刻的修正状态变量。
在本公开的一个可选实施方式中,观测数据可以认为属于真实的观测量,利用预测状态变量,可以通过计算得到预测的观测量,真实的观测量与预测的观测量之间的残差可以对应卡尔曼滤波算法中的这样,利用真实的观测量与预测的观测量之间的残差,可以实现对当前修正时刻的预测状态变量中的各个参量的修正。这样可以得到第一预测姿态的修正结果、第二预测姿态的修正结果、第一预测偏置参数的修正结果、第二预测偏置参数的修正结果。具体修正过程还可以参见相关技术,本公开不做进一步展开。
第一预测姿态的修正结果可以作为第一修正姿态,第二预测姿态的修正结果可以作为第二修正姿态,第一预测偏置参数的修正结果可以作为第一修正偏置参数,第二预测偏置参数的修正结果可以作为第二修正偏置参数。由此可以得到包括第一修正姿态、第二修正姿态、第一修正偏置参数、第二修正偏置参数的修正状态变量,即得到当前修正时刻的修正状态变量。
需要说明的是,第一修正偏置参数和第二修正偏置参数可以作为下一修正时刻的预测状态变量中的两个预测偏置参数,第一修正姿态和第二修正姿态可以用于作为下一修正时刻的预测状态变量中的两个预测姿态的组成部分,具体确定方式参照上文中对第一预测姿态和第二预测姿态的确定方式的介绍即可,在此不再赘述。
步骤160,基于第一修正姿态和第二修正姿态,确定头戴显示设备与目标设备的相对姿态。
头戴显示设备与目标设备的相对姿态可以是指:头戴显示设备在目标设备坐标系下的姿态。即,头戴显示设备相对于目标设备的相对姿态。
假设第一修正姿态表示为GRI1',第二修正姿态表示为GRI2',头戴显示设备与目标设备的相对姿态表示为I2RI1,第一修正姿态、第二修正姿态、相对姿态可以满足如下公式:
GRI1'=GRI2'*I2RI1
GRI1'=GRI2'*I2RI1
这样,将GRI1'和GRI2'代入上述公式,即可高效可靠地计算出作为相对姿态的I2RI1。
在本公开的一个可选实施方式中,头戴显示设备与目标设备的相对姿态也可以是指:目标设备在头戴显示设备坐标系下的姿态。即,目标设备相对于头戴显示设备的相对姿态I1RI2。
本公开提供计算相对姿态的方法,而对于以哪个坐标系作为基本坐标系计算相对姿态不做限定,本领域技术人员可以根据实际需求进行选择。
当然,相对姿态的确定方式并不局限于此。例如,可以采用至少两种优化算法,分别对当前修正时刻的预测状态变量进行优化,由此可以得到与至少两种优化算法一一对应的至少两个第一修正姿态,以及与至少两种优化算法一一对应的至少两个第二修正姿态,上述公式中的GRI1'可以采用至少两个第一修正姿态的融合结果(可以通过直接加权求和或者求平均的方式得到),上述公式中的GRI2'可以采用至少两个第二修正姿态的融合结果。
步骤180,基于相对姿态,对头戴显示设备的待显示画面进行渲染,以通过头戴显示设备显示待显示画面。
在本公开的一个可选实施方式中,头戴显示设备的渲染引擎可以参考相对姿态对待显示画面进行渲染,并将得到的渲染结果更新至头戴显示设备的显示屏中显示。
在本公开的另一个可选实施方式中,可以参考相对姿态做待显示画面的画面渲染,调整待显示画面在头戴显示设备的显示屏中的显示位置。
本公开的实施例中,通过设置于头戴显示设备和目标设备的磁力计、加速度计等传感器进行数据采集,可以实现观测数据的获取,获取的观测数据可以用于对当前修正时刻的预测状态变量的修正,由此可以得到头戴显示设备和目标设备各自在世界坐标系下的修正姿态,依据头戴显示设备和目标设备各自在世界坐标系下的修正姿态,可以准确地确定头戴显示设备和目标设备之间的相对姿态,这样相当于实现了头戴显示设备与目标设备的相对姿态的修正,从而有利于提升相对姿态的估计精度,保证各种使用场景下相对姿态的运用效果。
在图1所示实施例的基础上,如图2所示,步骤140,包括步骤1402和步骤1404。
步骤1402,对上一修正时刻的修正状态变量对应的修正协方差,以及由预设角速度数据积分噪声转换的噪声协方差进行叠加,得到当前修正时刻的预测状态变量对应的预测协方差。
预设角速度数据积分噪声是指:预先设置的对陀螺仪的角速度数据进行积分的过程所引入的噪声。
在本公开的一种可选实施方式中,可以预先设置噪声与协方差之间的转换关系(为了便于描述,后续将其称为第一转换关系),第一转换关系用于使噪声与协方差之间呈正相关,例如,第一转换关系可以为单调递增函数的形式。依据第一转换关系,可以将预设角速度数据积分噪声转换为相应的协方差,转换得到的协方差可以作为噪声协方差。
在本公开的一种可选实施方式中,可以直接将上一修正时刻的修正状态变量对应的修正协方差与噪声协方差加和,得到的加和结果可以作为当前修正时刻的预测状态变量对应的预测协方差。或者,可以给上一修正时刻的修正状态变量对应的修正协方差和噪声协方差分别赋予权重,并利用所赋予的权重,对上一修正时刻的修正状态变量对应的修正协方差和噪声协方差进行加权求和,得到的加权求和结果可以作为当前修正时刻的预测状态变量对应的预测协方差。
步骤1404,基于当前修正时刻的预测状态变量、该预测状态变量对应的预测协方差、观测数据,确定当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
步骤1404包括多种实现形式,下面分别进行介绍。
步骤1404的一种实现形式:
如图3所示,步骤1404,包括步骤1404-A1和步骤1404-A2。
步骤1404-A1,基于当前修正时刻的预测状态变量对应的预测协方差,确定第一修正偏置参数对应的第一权重、第二修正偏置参数对应的第二权重、第一修正姿态对应的第三权重、第二修正姿态对应的第四权重。
在本公开的一个可选实施方式中,可以利用上文中的第一转换关系,对当前修正时刻的预测状态变量对应的预测协方差进行转换,转换结果可以包括第一修正偏置参数、第二修正偏置参数、第一修正姿态、第二修正姿态各自对应的噪声。
在本公开的一个可选实施方式中,可以预先设置噪声与权重之间的转换关系(为了便于描述,后续将其称为第二转换关系),第二转换关系用于使噪声与权重之间呈负相关,例如,第二转换关系可以为单调递减函数的形式。依据第二转换关系,可以将转换结果包括的各个噪声均转换为权重,由此可以得到第一修正偏置参数对应的第一权重、第二修正偏置参数对应的第二权重、第一修正姿态对应的第三权重、第二修正姿态对应的第四权重。
以上介绍的是先将当前修正时刻的预测状态变量对应的预测协方差转换为噪声,再将噪声转换为权重的情况。具体实现时,也可以直接设置预测状态变量与权重之间的转换关系(为了便于描述,后续将其称为第三转换关系),依据第三转换关系,可以直接由当前修正时刻的预测状态变量对应的预测协方差转换得到第一权重至第四权重。
步骤1404-A2,基于第一权重、第二权重、第三权重、第四权重、观测数据,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一磁力计在当前修正时刻的第一磁力测量数据、第二磁力计在当前修正时刻的第二磁力测量数据。
则步骤1404-A2,包括:
基于第一预测姿态、第一磁力测量数据对应的第一噪声、第二预测姿态、第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重。当前修正时刻的磁约束条件由当前修正时刻的第一修正姿态、第二修正姿态、第一磁力测量数据、第二磁力测量数据、第一修正偏置参数、第二修正偏置参数来限定。
基于第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
这里,第一磁力测量数据可以表示为m1,第二磁力测量数据可以表示为m2,当前修正时刻的第一修正姿态可以表示为GRI1',当前修正时刻的第二修正姿态可以表示为GRI2',第一修正偏置参数可以表示为bm1',第二修正偏置参数可以表示为bm2',目标环境磁场可以表示为Gm。
假设第一修正姿态、第二修正姿态、第一修正偏置参数、第二修正偏置参数均完全不存在误差,则可以有:
m1=GRI1'*Gm+bm1'
m2=GRI2'*Gm+bm2'
m1=GRI1'*Gm+bm1'
m2=GRI2'*Gm+bm2'
通过对上述两个公式进行变形,以消去Gm,可以得到如下用于表示当前修正时刻的磁约束条件的公式:
GRI1'*(m1-bm1')=GRI2'*(m2-bm2')
GRI1'*(m1-bm1')=GRI2'*(m2-bm2')
以上论述的仅是理论上的情况,具体实现时,第一修正姿态、第二修正姿态、第一修正偏
置参数、第二修正偏置参数不可避免地存在误差。这样,GRI1'*(m1-bm1')与GRI2'*(m2-bm2')是不相等的。那么,可以基于GRI1'*(m1-bm1')与GRI2'*(m2-bm2')的差异,确定当前修正时刻的磁约束条件对应的误差。例如,可以直接将GRI1'*(m1-bm1')与GRI2'*(m2-bm2')的差值作为当前修正时刻的磁约束条件对应的误差。再例如,可以将GRI1'*(m1-bm1')与GRI2'*(m2-bm2')的差值的平方作为当前修正时刻的磁约束条件对应的误差。之后可以为当前修正时刻的磁约束条件的误差确定对应的第五权重。
在本公开的一个可选实施方式中,基于第一预测姿态、第一磁力测量数据对应的第一噪声、第二预测姿态、第二磁力测量数据对应的第二噪声,确定磁约束条件的误差对应的第五权重,包括:
对第一相乘结果与第二相乘结果进行求和,得到求和结果。其中,第一相乘结果包括:第一预测姿态、第一噪声、第一预测姿态的转置结果三者的相乘结果。第二相乘结果包括:第二预测姿态、第二噪声、第二预测姿态的转置结果三者的相乘结果。
基于求和结果,确定磁约束条件的误差对应的第五权重。第五权重与求和结果之间呈负相关。
参考上一修正时刻的修正状态变量对应的修正协方差,可以针对第一磁力计确定最优的测量噪声(例如存在类似第一转换关系的协方差与测量噪声的一个转换关系)。另外,还可以针对第一磁力计预设一个测量噪声。通过将这两个测量噪声融合,可以得到第一磁力测量数据对应的第一噪声。例如,可以将这两个测量噪声分别平方,将得到的两个平方结果求和,并将得到的求和结果开方,开方结果即可作为第一磁力测量数据对应的第一噪声。也可以将这两个测量噪声直接相加的结果作为第一磁力测量数据对应的第一噪声。第二磁力测量数据对应的第二噪声可以采用类似的方式获得,在此不再赘述。
这里,第一预测姿态可以表示为GRI1,第一磁力测量数据对应的第一噪声可以表示为N1,第一预测姿态的转置结果可以表示为GRI1
T,第二预测姿态可以表示为GRI2,第二磁力测量数据对应的第二噪声可以表示为N2,第二预测姿态的转置结果可以表示为GRI2
T。第一相乘结果可以表示为GRI1*N1*GRI1
T,第二相乘结果可以表示为GRI2*N2*GRI2
T,第一相乘结果和第二相乘结果的求和结果可以表示为GRI1*N1*GRI1
T+GRI2*N2*GRI2
T。
在本公开的一个可选实施方式中,可以直接依据第二转换关系,将求和结果转换为权重,转换得到的权重可以直接作为第五权重。或者,可以先依据第二转换关系,将求和结果转换为权重,然后再对转换得到的权重进行预定处理,例如将转换得到的权重与一预设系数相乘,并将处理后的权重作为第五权重。
这样,通过转置运算、乘法运算、加法运算等简单的运算逻辑,可以高效可靠地确定出磁约束条件的误差对应的第五权重,以便将磁约束条件的误差对应的第五权重用于预测状态变量的修正。由于磁约束条件不受变化磁场的影响,且磁力计测量的数据能够一直构造磁约束条件,因此通过磁约束条件的引入,有利于提升修正结果的准确性和可靠性。
在本公开的一个可选实施方式中,基于第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重,对当前修正时刻的预测状态变量进行修正,包括:
以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差与第二误差的总和。
第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2
第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2
其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,
w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e2表示第二误差,w5表示第五权重,m1表示第一磁力测量数据,m2表示第二磁力测量数据。
这里,可以构建优化函数f(x),f(x)=e1+e2。通过将第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重均代入优化函数中,并通过优化算法(例如卡尔曼滤波算法)的运用,可以高效可靠地得到用于使f(x)的取值最小的bm1'、bm2'、GRI1'、GRI2',由此可以得到包括bm1'、bm2'、GRI1'、GRI2'的修正状态变量,即得到当前修正时刻的修正状态变量。
需要说明的是,参照上文中卡尔曼滤波算法相关的公式可知,由k时刻的先验状态估计值得到k时刻的后验状态估计值的过程需要运用K和Ck,那么,在对当前修正时刻的修正状态变量进行修正的过程中,是能够得到相应K和Ck的,并且,当前修正时刻的预测状态变量对应的预测协方差可以认为是已知的。那么,将得到的相应K和Ck,以及当前修正时刻的预测状态变量对应的预测协方差均代入卡尔曼滤波算法涉及的五个公式中的最后一个公式,即可得到相应的得到的可以作为当前修正时刻的修正状态变量对应的修正协方差。当前修正时刻的修正状态变量对应的修正协方差可以用于作为下一修正时刻的预测状态变量对应的预测协方差的组成部分,具体确定方式参照上文中对当前修正时刻的预测状态变量对应的预测协方差的确定方式的介绍即可,在此不再赘述。
这样,采用步骤1404的第一种实现形式,可以通过磁约束条件的运用,高效可靠地实现预测状态变量与预测协方差的修正,从而有利于保证各种使用场景下相对姿态的运用效果。
步骤1404的另一种实现形式:
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一加速度计在当前修正时刻的第一加速度测量数据和第二加速度计在当前修正时刻的第二加速度测量数据。
如图4所示,对于头戴显示设备处于第一预设状态的情况,步骤1404,包括步骤1404-B1和步骤1404-B2。
步骤1404-B1,确定头戴显示设备的第一状态约束条件的误差对应的第六权重。第一预设状态可以包括以下至少一项:静止状态、匀速直线运动状态。第一状态约束条件由当前修正时刻的第一预测姿态、第一加速度测量数据、世界坐标系的重力加速度来限定。
这里,第一预测姿态可以表示为GRI1,第一加速度测量数据可以表示为am1,世界坐标系的重力加速度可以表示为Gg。
这里,可以对第一加速度计在最近一段时间内(例如最近0.1秒内、最近0.2秒内、最近0.5秒内等)采集的加速度数据进行统计,以确定第一加速度计在最近一段时间内采集的加速度数据对应的方差(为了便于描述,后续将其称为目标方差)。如果目标方差小于设定阈值,可以判定头戴显示设备处于静止状态或者匀速直线运动状态。这种情况下,如果GRI1和am1均完全不存在误差,则可以有:
GRI1*am1=﹣Gg
GRI1*am1=﹣Gg
通过对上述公式进行变形,可以得到如下用于表示头戴显示设备的第一状态约束条件的公式:
GRI1*am1+Gg=0
GRI1*am1+Gg=0
以上论述的仅是理论上的情况,具体实现时,GRI1和am1不可避免地存在误差,这样,GRI1*am1+Gg与0是不相等的。那么,可以基于GRI1*am1+Gg与0的差异,确定头戴显示设备的第一状态约束条件对应的误差。例如,可以直接将GRI1*am1+Gg作为头戴显示设备的第一状态约束条件对应的误差。再例如,可以将GRI1*am1+Gg的平方作为头戴显示设备的第一状态约
束条件对应的误差。之后可以为头戴显示设备的第一状态约束条件对应的误差确定对应的第六权重。
在本公开的一个可选实施方式中,确定头戴显示设备的第一状态约束条件的误差对应的第六权重,包括:
确定第一加速度测量数据的第一测量值波动评估参数。
基于第一测量值波动评估参数,确定第六权重。
在本公开的一个可选实施方式中,第六权重可以与第一测量值波动评估参数之间呈负相关。
在本公开的一个可选实施方式中,可以直接将目标方差作为第一加速度测量数据的第一测量值波动评估参数。或者,可以将目标方差与一大于0的预设系数的乘积作为第一加速度测量数据的第一测量值波动评估参数。
在本公开的一个可选实施方式中,还可以预先设置测量值波动评估参数与权重之间的转换关系(为了便于描述,后续将其称为第四转换关系),第四转换关系可以用于使测量值波动评估参数与权重之间呈负相关。例如,第四转换关系可以为单调递减函数的形式。依据第四转换关系,可以将第一测量值波动评估参数转换为权重,转化得到的权重可以直接作为第六权重。或者,可以先依据第四转换关系,将第一测量值波动评估参数转换为权重,然后再对转换得到的权重进行预定处理。例如将转换得到的权重与一预设系数相乘,并将处理后的权重作为第六权重。
在本公开的一个可选实施方式中,还可以在目标方差小于设定阈值的情况下,将第六权重设置为预设权重;在目标方差大于等于设定阈值的情况下,将第六权重设置为0。
这样,参考第一加速度计的测量值波动规律,可以为头戴显示设备的第一状态约束条件的误差确定合适的第六权重,以便将第一状态约束条件的误差对应的第六权重用于预测状态变量的修正,通过第一状态约束条件的引入,有利于提升修正结果的准确性和可靠性。
步骤1404-B2,基于第一权重、第二权重、第三权重、第四权重、第一加速度测量数据、第一预测姿态、第六权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,基于第一权重、第二权重、第三权重、第四权重、第一加速度测量数据、第一预测姿态、第六权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,包括:
以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差和第三误差的总和。
第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2
第三误差满足:e3=w6*(GRI1*am1+Gg)2
其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e3表示第三误差,w6表示第六权重,am1表示第一加速度测量数据,Gg表示世界坐标系的重力加速度。
这里,可以构建优化函数f(x),f(x)=e1+e3。通过将第一权重、第二权重、第三权重、第四权重、第一加速度测量数据、第一预测姿态、第六权重、世界坐标系的重力加速度均代入优化函数中,并通过优化算法(例如卡尔曼滤波算法)的运用,可以高效可靠地得到用于使f(x)的取值最小的bm1'、bm2'、GRI1'、GRI2'。由此可以得到包括bm1'、bm2'、GRI1'、GRI2'的修正状态变量,即得到当前修正时刻的修正状态变量。按照与上述步骤1404的一种实现形
式中的相关介绍类似的方式,还可以得到当前修正时刻的修正状态变量对应的修正协方差。
这样,可以通过第一状态约束条件的运用,高效可靠地实现预测状态变量与预测协方差的修正,从而有利于保证各种使用场景下相对姿态的运用效果。
如图5所示,对于目标设备处于第二预设状态的情况,步骤1404,包括步骤1404-C1和步骤1404-C2。
步骤1404-C1,确定目标设备的第二状态约束条件的误差对应的第七权重。第二预设状态包括以下至少一项:静止状态、匀速直线运动状态。第二状态约束条件由当前修正时刻的第二预测姿态、第二加速度测量数据、世界坐标系的重力加速度来限定。
步骤1404-C2,基于第一权重、第二权重、第三权重、第四权重、第二加速度测量数据、第二预测姿态、第七权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,确定目标设备的第二状态约束条件的误差对应的第七权重,包括:
确定第二加速度测量数据的第二测量值波动评估参数。
基于第二测量值波动评估参数,确定第七权重。第七权重与第二测量值波动评估参数之间可以呈负相关。
在本公开的一个可选实施方式中,在目标设备处于第二预设状态的情况下,基于第一权重、第二权重、第三权重、第四权重、第二加速度测量数据、第二预测姿态、第七权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量进行修正,包括:
以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差和第四误差的总和。
第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2
第四误差满足:e4=w7*(GRI2*am2+Gg)2
其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e4表示第四误差,w7表示第七权重,am2表示第二加速度测量数据,Gg表示世界坐标系的重力加速度。
需要说明的是,图5所示实施例的实施方式与图4所示实施例的实施方式是类似的,具体可以参见对图4所示实施例的相关介绍,在此不再赘述。
这样,可以通过第二状态约束条件的运用,高效可靠地实现预测状态变量与预测协方差的修正,从而有利于保证各种使用场景下相对姿态的运用效果。
步骤1404的再一种实现形式:
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一磁力计在当前修正时刻的第一磁力测量数据、第二磁力计在当前修正时刻的第二磁力测量数据、第一加速度计在当前修正时刻的第一加速度测量数据、第二加速度计在当前修正时刻的第二加速度测量数据。
如图6所示,步骤1404,包括步骤1404-D1、步骤1404-D2、步骤1404-D3和步骤1404-D4。
步骤1404-D1,基于第一预测姿态、第一磁力测量数据对应的第一噪声、第二预测姿态、第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重。当前修正时刻的磁约束条件由当前修正时刻的第一修正姿态、第二修正姿态、第一磁力测量数据、第二磁力测量数据、第一修正偏置参数、第二修正偏置参数来限定。
步骤1404-D2,基于第一加速度测量数据的第一测量值波动评估参数,确定头戴显示设备
的第一状态约束条件的误差对应的第六权重。第一状态约束条件由当前修正时刻的第一预测姿态、第一加速度测量数据、世界坐标系的重力加速度来限定。
步骤1404-D3,基于第二加速度测量数据的第二测量值波动评估参数,确定目标设备的第二状态约束条件的误差对应的第七权重。第二状态约束条件由当前修正时刻的第二预测姿态、第二加速度测量数据、世界坐标系的重力加速度来限定。
需要说明的是,步骤1404-D1、步骤1404-D2、步骤1404-D3均参照步骤1404的上述两种实现形式中的相关介绍即可。
步骤1404-D4,基于第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重、第一加速度测量数据、第一预测姿态、第二加速度测量数据、第二预测姿态、第六权重、第七权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一种可选实施方式中,步骤1404-D4,包括:
以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差、第二误差、第三误差和第四误差的总和。
第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2
第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2
第三误差满足:e3=w6*(GRI1*am1+Gg)2
第四误差满足:e4=w7*(GRI2*am2+Gg)2
其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e2表示第二误差,w5表示第五权重,m1表示第一磁力测量数据,m2表示第二磁力测量数据,e3表示第三误差,w6表示第六权重,am1表示第一加速度测量数据,Gg表示世界坐标系的重力加速度,e4表示第四误差,w7表示第七权重,am2表示第二加速度测量数据。
需要说明的是,步骤1404-D4的具体实施方式与步骤1404的上述两种实现形式中的以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正的方式是类似的,所能实现的效果也是类似的。区别主要在于,步骤1404-D4中同时运用了磁约束条件、第一状态约束条件、第二状态约束条件,通过多个约束条件的组合,有利于提升修正结果的准确性和可靠性。
由上述步骤1404的多种实现形式可知,通过磁约束条件、第一状态约束条件、第二状态约束条件中的至少一者的运用,能够在对预测状态变量和预测协方差进行修正时,有效地提升修正结果的准确性和可靠性,减小相对姿态误差,提升相对姿态的估计精度。
在一个可选示例中,本公开的实施例提供的方法还可以包括如下步骤。
获取第一序列。第一序列包括:第一陀螺仪在多个第一测量时刻中的每个第一测量时刻的角速度测量数据。
获取第二序列。第二序列包括:第二陀螺仪在多个第二测量时刻中的每个第二测量时刻的角速度测量数据。
获取第三序列。第三序列包括:第一磁力计在多个第三测量时刻中的每个第三测量时刻的第一磁力测量数据。
获取第四序列。第四序列包括:第二磁力计在多个第四测量时刻中的每个第四测量时刻的第二磁力测量数据。
对第一序列、第二序列、第三序列、第四序列进行时间同步。
在本公开的一个可选实施方式中,第一陀螺仪可以按照固定的第一频率进行角速度测量,这样可以得到第一陀螺仪在多个第一测量时刻中的每个第一测量时刻的角速度测量数据。通过将得到的角速度测量数据按照测量时间由先至后的顺序进行排列,可以得到第一序列。
在本公开的一个可选实施方式中,第二陀螺仪可以按照固定的第二频率进行角速度测量,这样可以得到第二陀螺仪在多个第二测量时刻中的每个第二测量时刻的角速度测量数据。通过将得到的角速度测量数据按照测量时间由先至后的顺序进行排列,可以得到第二序列。
在本公开的一种实施方式中,第一磁力计可以按照固定的第三频率进行磁力值测量,这样可以得到第一磁力计在多个第三测量时刻中的每个第三测量时刻的第一磁力测量数据。通过对得到的第一磁力测量数据按照测量时间由先至后的顺序进行排列,可以得到第三序列。
在本公开的一个可选实施方式中,第二磁力计可以按照固定的第四频率进行磁力值测量,这样可以得到第二磁力计在多个第四测量时刻中的每个第四测量时刻的第二磁力测量数据。通过对得到的第二磁力测量数据按照测量时间由先至后的顺序进行排列,可以得到第四序列。
需要说明的是,第一频率、第二频率、第三频率、第四频率中的任意两个频率可以为相同的频率,也可以为不同的频率,本公开的实施例对此不做任何限定。
需要说明的是,第一序列对应的可以认为是第一陀螺仪侧量时使用的第一时间系统,第二序列对应的可以认为是第二陀螺仪测量时使用的第二时间系统,第三序列对应的可以认为是第一磁力计测量时使用的第三时间系统,第四序列对应的可以认为是第二磁力计测量时使用的第四时间系统,这四个时间系统可能并不同步。例如,这四个时间系统使用的初始时间可能并不相同,再例如,这四个时间系统对应的四个频率(即上文中的第一频率至第四频率)可能并不相同。这种情况下,如果直接从第一序列至第四序列中获取数据以作为用于预测状态变量修正的观测数据,很可能会影响到修正结果的准确性和可靠性。
有鉴于此,本公开的实施例中,可以对第一序列、第二序列、第三序列、第四序列进行时间同步。如果第一频率至第四频率中的任意两个频率均不相同,可以从第一序列至第四序列中,选择所对应频率最高的序列作为基准序列,并通过对剩余三个序列进行插值,得到与基准序列频率一致的三个插值序列,具体的插值方式可以为线性插值(Linear Interpolation)。
假设第一序列至第四序列依次表示为L1、L2、L3、L4。如果L1作为基础序列,L2对应的插值序列表示为L2',可以利用互相关算法,确定L2'与L1之间的时间差。
在一个可选的例子中,L1如下所示:
d11、d12、d13、d14、d15、d16
其中,对于第一时间系统。d11对应的时间为0:00(即零秒),d12对应的时间为1:00(即第1秒),d13对应的时间为2:00,d14对应的时间为3:00,d15对应的时间为4:00,d16对应的时间为5:00。
L2如下所示:
d21、d22、d23、d24、d25、d26
其中,对于第二时间系统。d21对应的时间为00:00,d22对应的时间为1:00,d23对应的时间为2:00,d24对应的时间为3:00,d25对应的时间为4:00,d26对应的时间为5:00。
假设L2与L1之间的时间差为1秒,则在进行时间同步时,可以确定第一时间系统中的0:00对应第二时间系统中的1:00,第一时间系统中的1:00对应第二时间系统中的2:00,第一时间系统中的2:00对应第二时间系统中的3:00,后续以此类推,在此不再赘述。由此可以确定,L1中的d11与L2中的d22在时间上对齐,L1中的d12与L2中的d23在时间上对齐,L1中的d13与L2中的d24在时间上对齐,L1中的d14与L2中的d25在时间上对齐,L1中的d15与L2中的d26在时间上对齐,由此L2'如下:d22、d23、d24、d25、d26、……。这些
对齐关系可以组合为第一序列和第二序列的对齐结果。按照类似的方式,可以实现第一序列、第二序列、第三序列、第四序列四者在时间上的对齐,从而得到相应的对齐结果。
假设步骤120中预测数据中第一陀螺仪采集的数据包括L1中的d11、d12、d13、d14、d15,预测数据中第二陀螺仪采集的数据经时间同步后包括L2'中的d22、d23、d24、d25、d26。这样,对预测状态变量进行更新时运用的各类数据在时间上是对齐的,从而有利于避免数据在时间上不对齐而影响到修正结果的准确性和可靠性,进而有利于进一步提升相对姿态的估计精度。
以上论述的是第一序列和第二序列各自使用的初始时间不同,且第一频率与第二频率相同的情况。如果第一频率与第二频率相同,且第一序列和第二序列各自使用的初始时间相同,则可以认为L1中的d11与L2中的d21在时间上对齐,L1中的d12与L2中的d22在时间上对齐,L1中的d13与L2中的d23在时间上对齐,L1中的d14与L2中的d24在时间上对齐,后续以此类推,在此不再赘述。
在本公开的一个可选实施方式中,该方法还可以包括如下步骤。
获取第五序列。第五序列包括:第一加速度计在多个第五测量时刻中的每个第五测量时刻的第一加速度测量数据。
获取第六序列。第六序列包括:第二加速度计在多个第六测量时刻中的每个第六测量时刻的第二加速度测量数据。
需要说明的是,第五序列和第六序列的获取方式参照上文中对第一序列至第第四序列的获取方式的介绍即可,在此不再赘述。
相应地,对第一序列、第二序列、第三序列、第四序列进行时间同步,包括:
对第一序列、第二序列、第三序列、第四序列、第五序列、第六序列进行时间同步。
需要说明的是,对第一序列至第六序列进行时间同步的方式参照上文中对第一序列至第四序列进行时间同步的方式的介绍即可,在此不再赘述。
这样,通过对第一序列至第六序列的时间同步,能够进一步保证对预测状态变量进行更新时运用的各类数据在时间上是对齐的,从而能够进一步保证修正结果的准确性和可靠性,并能够更进一步提升相对姿态的估计精度。
在本公开的一个可选实施方式中,修正头戴显示设备与目标设备的相对姿态的过程可以包括如下步骤。
步骤一,可以通过设置于头戴显示设备的第一磁力计、第一加速度计、第一陀螺仪分别采集数据,并通过设置于目标设备的第二磁力计、第二加速度计、第二陀螺仪分别采集数据。
在本公开的一个可选实施方式中,磁力计采集的数据也可以称为磁力计测量值,磁力计测量值可以表示为mag。加速度计采集的数据也可以称为加速度测量值,加速度测量值可以表示为acc。陀螺仪采集的数据也可以称为角速度测量值,角速度测量值可以表示为gyro。
步骤二,可以对第一磁力计、第一加速度计、第一陀螺仪、第二磁力计、第二加速度计、第二陀螺仪各自采集的数据进行时间同步。
在本公开的一个可选实施方式中,基于对第一陀螺仪采集的角速度测量值的积分,可以得到作为当前修正时刻的第一预测姿态的GRI1。基于对第二陀螺仪采集的角速度测量值的积分,可以得到作为当前修正时刻的第二预测姿态的GRI2。另外,还可以由上一修正时刻的修正状态变量中的两个修正偏置参数,确定作为当前修正时刻的第一预测偏置参数的bm1,以及当前修正时刻的第二预测偏置参数的bm2。这样可以得到当前修正时刻的预测状态变量,当前修正时刻的预测状态变量包括:bm1、bm2、GRI1、GRI2。
利用上文中的磁约束条件、第一状态约束条件、第二状态约束条件中的至少一者,通过卡尔曼滤波算法,可以对当前修正时刻的预测状态变量进行修正,由此可以得到作为当前修正时
刻的第一修正偏置参数的bm1'、当前修正时刻的第二修正偏置参数的bm2'、当前修正时刻的第一修正姿态的GRI1'以及当前修正时刻的第二修正姿态的GRI2'。依据GRI2'和GRI1'可以计算作为头戴显示设备与目标设备的相对姿态的I2RI1,I2RI1可以认为是经修正后的相对姿态。
需要说明的是,在执行陀螺仪采集的角速度测量值的积分操作之前,可以初始化bm1、bm2、GRI1、GRI2。
在本公开的一个可选实施方式中,可以预先对第一磁力计和第二磁力计进行校准。例如可以通过绕八字等磁力计校准算法,对第一磁力计和第二磁力计进行校准,这时,可以用校准得到的bm1、bm2作为初始化的bm1、bm2。如果第一磁力计和第二磁力计未预先进行校准,也可以将bm1、bm2初始化为0。
在本公开的一个可选实施方式中,GRI1、GRI2可以通过磁约束条件、第一状态约束条件、第二状态约束条件中的至少一者进行初始化。或者,可以将GRI1、GRI2均初始化为单位旋转矩阵。
在本公开的一个可选实施方式中,协方差的初始值可以为预设值。
需要指出的是,在卡尔曼滤波过程中,bm1对应的w1与bm2对应的w2初始较小。因为滤波的初始阶段更相信磁约束条件,而随着时间的推移,bm1和bm2逐渐向真实值收敛,bm1对应的w1与bm2对应的w2会增大。
以上方法实施例中介绍的均是修正头戴显示设备与目标设备的相对姿态的情况,本公开的实施例的适用范围并不局限于这种情况。凡是利用本公开的实施例中的构思,都可以根据实际需求,对任意两个设备的相对姿态进行修正,保证这两个设备上分别设置有上文中所述的传感器即可。
综上,本公开的实施例中,不论目标磁场环境是否随时间变化,通过约束方式的运用,能够在对预测状态变量和预测协方差进行修正时,有效地提升修正结果的准确性和可靠性,减小相对姿态误差,提升相对姿态的估计精度。
本公开的实施例提供的任一种用于在头戴显示设备显示画面的方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种用于在头戴显示设备显示画面的方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于在头戴显示设备显示画面的方法。下文不再赘述。
示例性装置
本公开的示例性实施例提供了一种用于在头戴显示设备显示画面的装置。
如图7所示,装置可以包括:
获取模块1020,用于获取当前修正时刻的预测状态变量和观测数据。预测状态变量包括:头戴显示设备在世界坐标系下的第一预测姿态、目标设备在世界坐标系下的第二预测姿态、设置于头戴显示设备的第一磁力计的第一预测偏置参数、设置于目标设备的第二磁力计的第二预测偏置参数。目标设备为与头戴显示设备的画面显示相关联的设备。观测数据包括以下至少一者:第一磁力计和第二磁力计采集的数据,设置于头戴显示设备的第一加速度计和设置于目标设备的第二加速度计中的至少一者采集的数据。
确定模块1040,用于基于当前修正时刻的预测状态变量和观测数据,确定当前修正时刻的修正状态变量。修正状态变量包括:头戴显示设备在世界坐标系下的第一修正姿态、目标设备在世界坐标系下的第二修正姿态、第一磁力计的第一修正偏置参数、第二磁力计的第二修正偏置参数。当前修正时刻的第一预测偏置参数等于第一磁力计在上一修正时刻的修正偏置参数。当前修正时刻的第二预测偏置参数等于第二磁力计在上一修正时刻的修正偏置参数。当前修正
时刻的第一预测姿态由上一修正时刻的头戴显示设备的修正姿态与当前修正时刻头戴显示设备的第一角度变化量加和后得到。当前修正时刻的第二预测姿态由上一修正时刻的目标设备的修正姿态与当前修正时刻目标设备的第二角度变化量加和后得到。当前修正时刻头戴显示设备的第一角度变化量包括:设置于头戴显示设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。当前修正时刻目标设备的第二角度变化量包括:设置于目标设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值。以及,基于第一修正姿态和第二修正姿态,确定头戴显示设备与目标设备的相对姿态。
渲染模块1060,用于基于相对姿态,对头戴显示设备的待显示画面进行渲染,以通过头戴显示设备显示待显示画面。
在本公开的一个可选实施方式中,确定模块1040,用于对上一修正时刻的修正状态变量对应的修正协方差,以及由预设角速度数据积分噪声转换的噪声协方差进行叠加,得到当前修正时刻的预测状态变量对应的预测协方差。基于当前修正时刻的预测状态变量、该预测状态变量对应的预测协方差、观测数据,确定当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,确定模块1040,用于基于当前修正时刻的预测状态变量对应的预测协方差,确定第一修正偏置参数对应的第一权重、第二修正偏置参数对应的第二权重、第一修正姿态对应的第三权重、第二修正姿态对应的第四权重。基于第一权重、第二权重、第三权重、第四权重、观测数据,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一磁力计在当前修正时刻的第一磁力测量数据、第二磁力计在当前修正时刻的第二磁力测量数据。
确定模块1040,用于基于第一预测姿态、第一磁力测量数据对应的第一噪声、第二预测姿态、第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重。当前修正时刻的磁约束条件由当前修正时刻的第一修正姿态、第二修正姿态、第一磁力测量数据、第二磁力测量数据、第一修正偏置参数、第二修正偏置参数来限定。基于第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,确定模块1040,用于以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差与第二误差的总和。第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2。其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e2表示第二误差,w5表示第五权重,m1表示第一磁力测量数据,m2表示第二磁力测量数据。
在本公开的一个可选实施方式中,确定模块1040,用于对第一相乘结果与第二相乘结果进行求和,得到求和结果。第一相乘结果包括:第一预测姿态、第一噪声、第一预测姿态的转置结果三者的相乘结果,第二相乘结果包括:第二预测姿态、第二噪声、第二预测姿态的转置结果三者的相乘结果。基于求和结果,确定磁约束条件的误差对应的第五权重。第五权重与求和结果之间可以呈负相关。
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一加速度计在当前修正时刻的第一加速度测量数据和第二加速度计在当前修正时刻的第二加速度测量数据。
对于头戴显示设备处于第一预设状态的情况:
确定模块1040,用于确定头戴显示设备的第一状态约束条件的误差对应的第六权重。第一预设状态包括以下至少一项:静止状态、匀速直线运动状态。第一状态约束条件由当前修正时刻的第一预测姿态、第一加速度测量数据、世界坐标系的重力加速度来限定。基于第一权重、第二权重、第三权重、第四权重、第一加速度测量数据、第一预测姿态、第六权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
对于目标设备处于第二预设状态的情况:
确定模块1040,用于确定目标设备的第二状态约束条件的误差对应的第七权重。第二预设状态包括以下至少一项:静止状态、匀速直线运动状态。第二状态约束条件由当前修正时刻的第二预测姿态、第二加速度测量数据、世界坐标系的重力加速度来限定。基于第一权重、第二权重、第三权重、第四权重、第二加速度测量数据、第二预测姿态、第七权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,在头戴显示设备处于第一预设状态的情况下,确定模块1040,用于以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差和第三误差的总和。第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,第三误差满足:e3=w6*(GRI1*am1+Gg)2。其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e3表示第三误差,w6表示第六权重,am1表示第一加速度测量数据,Gg表示世界坐标系的重力加速度。
在本公开的一个可选实施方式中,在目标设备处于第二预设状态的情况下,确定模块1040,用于以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差和第四误差的总和。第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,第四误差满足:e4=w7*(GRI2*am2+Gg)2。其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e4表示第四误差,w7表示第七权重,am2表示第二加速度测量数据,Gg表示世界坐标系的重力加速度。
在本公开的一个可选实施方式中,确定模块1040,用于确定第一加速度测量数据的第一测量值波动评估参数。基于第一测量值波动评估参数,确定第六权重。第六权重与第一测量值波动评估参数之间可以呈负相关。
在本公开的一个可选实施方式中,确定模块1040,用于确定第二加速度测量数据的第二测量值波动评估参数。基于第二测量值波动评估参数,确定第七权重。第七权重与第二测量值波动评估参数之间可以呈负相关。
在本公开的一个可选实施方式中,当前修正时刻的观测数据包括:第一磁力计在当前修正时刻的第一磁力测量数据、第二磁力计在当前修正时刻的第二磁力测量数据、第一加速度计在当前修正时刻的第一加速度测量数据、第二加速度计在当前修正时刻的第二加速度测量数据。
确定模块1040,用于基于第一预测姿态、第一磁力测量数据对应的第一噪声、第二预测姿态、第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重。当前修正时刻的磁约束条件由当前修正时刻的第一修正姿态、第二修正姿态、第一磁力测量数据、第二磁力测量数据、第一修正偏置参数、第二修正偏置参数来限定。基于第一加速度测量数据的第一测量值波动评估参数,确定头戴显示设备的第一状态约束条件的误差对应的第六权重。第一状态约束条件由当前修正时刻的第一预测姿态、第一加速度测量数据、世界坐标系的重力加速度来限定。基于第二加速度测量数据的第二测量值波动评估参数,确定目标设备的第二状态约束条件的误差对应的第七权重。第二状态约束条件由当前修正时刻的第二预测姿态、第二加速度测量数据、世界坐标系的重力加速度来限定。基于第一权重、第二权重、第三权重、第四权重、第一磁力测量数据、第二磁力测量数据、第五权重、第一加速度测量数据、第一预测姿态、第二加速度测量数据、第二预测姿态、第六权重、第七权重、世界坐标系的重力加速度,对当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的修正状态变量和该修正状态变量对应的修正协方差。
在本公开的一个可选实施方式中,确定模块1040,用于以最小化目标误差为修正目标,对当前修正时刻的预测状态变量进行修正。
在本公开的一个可选实施方式中,目标误差为第一误差、第二误差、第三误差和第四误差的总和。第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2,第三误差满足:e3=w6*(GRI1*am1+Gg)2,第四误差满足:e4=w7*(GRI2*am2+Gg)2。其中,e1表示第一误差,w1表示第一权重,bm1'表示第一修正偏置参数,bm1表示第一预测偏置参数,w2表示第二权重,bm2'表示第二修正偏置参数,bm2表示第二预测偏置参数,w3表示第三权重,GRI1'表示第一修正姿态,GRI1表示第一预测姿态,w4表示第四权重,GRI2'表示第二修正姿态,GRI2表示第二预测姿态,e2表示第二误差,w5表示第五权重,m1表示第一磁力测量数据,m2表示第二磁力测量数据,e3表示第三误差,w6表示第六权重,am1表示第一加速度测量数据,Gg表示世界坐标系的重力加速度,e4表示第四误差,w7表示第七权重,am2表示第二加速度测量数据。
在本公开的一个可选实施方式中,获取模块1020,还用于获取第一序列,第一序列包括:第一陀螺仪在多个第一测量时刻中的每个第一测量时刻的角速度测量数据。获取第二序列,第二序列包括:第二陀螺仪在多个第二测量时刻中的每个第二测量时刻的角速度测量数据。获取第三序列,第三序列包括:第一磁力计在多个第三测量时刻中的每个第三测量时刻的第一磁力测量数据。获取第四序列,第四序列包括:第二磁力计在多个第四测量时刻中的每个第四测量时刻的第二磁力测量数据。
如图8所示,装置还包括:
时间同步模块1080,用于对第一序列、第二序列、第三序列、第四序列进行时间同步。
在本公开的一个可选实施方式中,获取模块1020,还用于获取第五序列,第五序列包括:第一加速度计在多个第五测量时刻中的每个第五测量时刻的第一加速度测量数据。获取第六序列,第六序列包括:第二加速度计在多个第六测量时刻中的每个第六测量时刻的第二加速度测量数据。
时间同步模块1080,用于对第一序列、第二序列、第三序列、第四序列、第五序列、第六序列进行时间同步。
在本公开的一个可选实施方式中,目标设备包括以下至少一项:头戴显示设备所在的移动平台;与头戴显示设备配对的控制设备;与头戴显示设备配对的便携式设备。
在本公开的装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据
需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。
示例性电子设备
下面,参考图9来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图9图示了根据本公开实施例的电子设备1200的框图。
如图9所示,电子设备1200包括一个或多个处理器1210和存储器1220。
存储器1220,用于存储计算机程序。
处理器1210,用于执行存储器1220中存储的计算机程序,且计算机程序被执行时,实现本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于在头戴显示设备显示画面的方法中的步骤。
处理器1210可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1200中的其他组件以执行期望的功能。
存储器1220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1210可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于在头戴显示设备显示画面的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1200还可以包括:输入装置1230和输出装置1240,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备1200是第一设备或第二设备时,该输入装置1230可以是麦克风或麦克风阵列。在电子设备1200是单机设备时,该输入装置1230可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1230还可以包括例如键盘、鼠标等等。
该输出装置1240可以向外部输出各种信息。该输出装置1240可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图9中仅示出了该电子设备1200中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1200还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于在头戴显示设备显示画面的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述
计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于在头戴显示设备显示画面的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (15)
- 一种用于在头戴显示设备显示画面的方法,包括:获取当前修正时刻的预测状态变量和观测数据;其中,所述预测状态变量包括:头戴显示设备在世界坐标系下的第一预测姿态、目标设备在所述世界坐标系下的第二预测姿态、设置于所述头戴显示设备的第一磁力计的第一预测偏置参数、设置于所述目标设备的第二磁力计的第二预测偏置参数;所述目标设备为与所述头戴显示设备的画面显示相关联的设备;所述观测数据包括以下至少一者:所述第一磁力计和所述第二磁力计采集的数据,设置于所述头戴显示设备的第一加速度计和设置于所述目标设备的第二加速度计中的至少一者采集的数据;基于当前修正时刻的所述预测状态变量和所述观测数据,确定当前修正时刻的修正状态变量;其中,所述修正状态变量包括:所述头戴显示设备在所述世界坐标系下的第一修正姿态、所述目标设备在所述世界坐标系下的第二修正姿态、所述第一磁力计的第一修正偏置参数、所述第二磁力计的第二修正偏置参数;当前修正时刻的所述第一预测偏置参数等于所述第一磁力计在上一修正时刻的修正偏置参数;当前修正时刻的所述第二预测偏置参数等于所述第二磁力计在上一修正时刻的修正偏置参数;当前修正时刻的所述第一预测姿态由上一修正时刻的所述头戴显示设备的修正姿态与当前修正时刻所述头戴显示设备的第一角度变化量加和后得到;当前修正时刻的所述第二预测姿态由上一修正时刻的所述目标设备的修正姿态与当前修正时刻所述目标设备的第二角度变化量加和后得到;当前修正时刻所述头戴显示设备的第一角度变化量包括:设置于所述头戴显示设备的第一陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值;当前修正时刻所述目标设备的第二角度变化量包括:设置于所述目标设备的第二陀螺仪从上一修正时刻至当前修正时刻之间采集的角速度数据的积分值;基于所述第一修正姿态和所述第二修正姿态,确定所述头戴显示设备与所述目标设备的相对姿态;基于所述相对姿态,对所述头戴显示设备的待显示画面进行渲染,以通过所述头戴显示设备显示所述待显示画面。
- 根据权利要求1所述的方法,其中,所述基于所述当前修正时刻的预测状态变量和所述观测数据,确定当前修正时刻的修正状态变量,包括:对上一修正时刻的修正状态变量对应的修正协方差,以及由预设角速度数据积分噪声转换的噪声协方差进行叠加,得到当前修正时刻的所述预测状态变量对应的预测协方差;基于当前修正时刻的所述预测状态变量、该预测状态变量对应的预测协方差、所述观测数据,确定当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差。
- 根据权利要求2所述的方法,其中,所述基于当前修正时刻的所述预测状态变量、该预测状态变量对应的预测协方差、所述观测数据,确定当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差,包括:基于当前修正时刻的所述预测状态变量对应的预测协方差,确定所述第一修正偏置参数对应的第一权重、所述第二修正偏置参数对应的第二权重、所述第一修正姿态对应的第三权重、所述第二修正姿态对应的第四权重;基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述观测数据,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差。
- 根据权利要求3所述的方法,其中,当前修正时刻的所述观测数据包括:所述第一磁力计在当前修正时刻的第一磁力测量数据、所述第二磁力计在当前修正时刻的第二磁力测量数据;所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述观测数据, 对所述当前修正时刻的预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差,包括:基于所述第一预测姿态、所述第一磁力测量数据对应的第一噪声、所述第二预测姿态、所述第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重;其中,当前修正时刻的磁约束条件由当前修正时刻的所述第一修正姿态、所述第二修正姿态、所述第一磁力测量数据、所述第二磁力测量数据、所述第一修正偏置参数、所述第二修正偏置参数来限定;基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一磁力测量数据、所述第二磁力测量数据、所述第五权重,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差。
- 根据权利要求4所述的方法,其中,所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一磁力测量数据、所述第二磁力测量数据、所述第五权重,对当前修正时刻的所述预测状态变量进行修正,包括:以最小化目标误差为修正目标,对当前修正时刻的所述预测状态变量进行修正;其中,所述目标误差为第一误差与第二误差的总和,所述第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,所述第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2;其中,e1表示所述第一误差,w1表示所述第一权重,bm1'表示所述第一修正偏置参数,bm1表示所述第一预测偏置参数,w2表示所述第二权重,bm2'表示所述第二修正偏置参数,bm2表示所述第二预测偏置参数,w3表示所述第三权重,GRI1'表示所述第一修正姿态,GRI1表示所述第一预测姿态,w4表示所述第四权重,GRI2'表示所述第二修正姿态,GRI2表示所述第二预测姿态,e2表示所述第二误差,w5表示所述第五权重,m1表示所述第一磁力测量数据,m2表示所述第二磁力测量数据。
- 根据权利要求4或5所述的方法,其中,所述基于所述第一预测姿态、所述第一磁力测量数据对应的第一噪声、所述第二预测姿态、所述第二磁力测量数据对应的第二噪声,确定磁约束条件的误差对应的第五权重,包括:对第一相乘结果与第二相乘结果进行求和,得到求和结果;其中,所述第一相乘结果包括:所述第一预测姿态、所述第一噪声、所述第一预测姿态的转置结果三者的相乘结果,所述第二相乘结果包括:所述第二预测姿态、所述第二噪声、所述第二预测姿态的转置结果三者的相乘结果;基于所述求和结果,确定磁约束条件的误差对应的第五权重;其中,所述第五权重与所述求和结果之间呈负相关。
- 根据权利要求3至6中任一项所述的方法,其中,当前修正时刻的所述观测数据包括:所述第一加速度计在当前修正时刻的第一加速度测量数据和所述第二加速度计在当前修正时刻的第二加速度测量数据;所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述观测数据,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差,包括:对于所述头戴显示设备处于第一预设状态的情况:确定所述头戴显示设备的第一状态约束条件的误差对应的第六权重;其中,所述第一预设状态包括以下至少一项:静止状态、匀速直线运动状态;所述第一状态约束条件由当前修正时刻的所述第一预测姿态、所述第一加速度测量数据、所述世界坐标系的重力加速度来限定;基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一加速度测量 数据、所述第一预测姿态、所述第六权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差;对于所述目标设备处于第二预设状态的情况:确定所述目标设备的第二状态约束条件的误差对应的第七权重;其中,所述第二预设状态包括以下至少一项:静止状态、匀速直线运动状态;所述第二状态约束条件由当前修正时刻的所述第二预测姿态、所述第二加速度测量数据、所述世界坐标系的重力加速度来限定;基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第二加速度测量数据、所述第二预测姿态、所述第七权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差。
- 根据权利要求7所述的方法,其中,在所述头戴显示设备处于所述第一预设状态的情况下,所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一加速度测量数据、所述第一预测姿态、所述第六权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量进行修正,包括:以最小化目标误差为修正目标,对当前修正时刻的所述预测状态变量进行修正;其中,所述目标误差为第一误差和第三误差的总和,所述第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,所述第三误差满足:e3=w6*(GRI1*am1+Gg)2;其中,e1表示所述第一误差,w1表示所述第一权重,bm1'表示所述第一修正偏置参数,bm1表示所述第一预测偏置参数,w2表示所述第二权重,bm2'表示所述第二修正偏置参数,bm2表示所述第二预测偏置参数,w3表示所述第三权重,GRI1'表示所述第一修正姿态,GRI1表示所述第一预测姿态,w4表示所述第四权重,GRI2'表示所述第二修正姿态,GRI2表示所述第二预测姿态,e3表示所述第三误差,w6表示所述第六权重,am1表示所述第一加速度测量数据,Gg表示所述世界坐标系的重力加速度;在所述目标设备处于所述第二预设状态的情况下,所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第二加速度测量数据、所述第二预测姿态、所述第七权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量进行修正,包括:以最小化目标误差为修正目标,对当前修正时刻的所述预测状态变量进行修正;其中,所述目标误差为第一误差和第四误差的总和,所述第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,所述第四误差满足:e4=w7*(GRI2*am2+Gg)2;其中,e1表示所述第一误差,w1表示所述第一权重,bm1'表示所述第一修正偏置参数,bm1表示所述第一预测偏置参数,w2表示所述第二权重,bm2'表示所述第二修正偏置参数,bm2表示所述第二预测偏置参数,w3表示所述第三权重,GRI1'表示所述第一修正姿态,GRI1表示所述第一预测姿态,w4表示所述第四权重,GRI2'表示所述第二修正姿态,GRI2表示所述第二预测姿态,e4表示所述第四误差,w7表示所述第七权重,am2表示所述第二加速度测量数据,Gg表示所述世界坐标系的重力加速度。
- 根据权利要求7或8所述的方法,其中,所述确定头戴显示设备的第一状态约束条件的误差对应的第六权重,包括:确定所述第一加速度测量数据的第一测量值波动评估参数;基于所述第一测量值波动评估参数,确定所述第六权重;其中,所述第六权重与所述第一测量值波动评估参数之间呈负相关;所述确定目标设备的第二状态约束条件的误差对应的第七权重,包括:确定所述第二加速度测量数据的第二测量值波动评估参数;基于所述第二测量值波动评估参数,确定所述第七权重;其中,所述第七权重与所述第二测量值波动评估参数之间呈负相关。
- 根据权利要求3所述的方法,其中,当前修正时刻的所述观测数据包括:所述第一磁力计在当前修正时刻的第一磁力测量数据、所述第二磁力计在当前修正时刻的第二磁力测量数据、所述第一加速度计在当前修正时刻的第一加速度测量数据、所述第二加速度计在当前修正时刻的第二加速度测量数据;所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述观测数据,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差,包括:基于所述第一预测姿态、所述第一磁力测量数据对应的第一噪声、所述第二预测姿态、所述第二磁力测量数据对应的第二噪声,确定当前修正时刻的磁约束条件的误差对应的第五权重;其中,当前修正时刻的磁约束条件由当前修正时刻的所述第一修正姿态、所述第二修正姿态、所述第一磁力测量数据、所述第二磁力测量数据、所述第一修正偏置参数、所述第二修正偏置参数来限定;基于所述第一加速度测量数据的第一测量值波动评估参数,确定所述头戴显示设备的第一状态约束条件的误差对应的第六权重;其中,所述第一状态约束条件由当前修正时刻的所述第一预测姿态、所述第一加速度测量数据、所述世界坐标系的重力加速度来限定;基于所述第二加速度测量数据的第二测量值波动评估参数,确定所述目标设备的第二状态约束条件的误差对应的第七权重;其中,所述第二状态约束条件由当前修正时刻的所述第二预测姿态、所述第二加速度测量数据、所述世界坐标系的重力加速度来限定;基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一磁力测量数据、所述第二磁力测量数据、所述第五权重、所述第一加速度测量数据、所述第一预测姿态、所述第二加速度测量数据、所述第二预测姿态、所述第六权重、所述第七权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量以及该预测状态变量对应的预测协方差进行修正,得到当前修正时刻的所述修正状态变量和该修正状态变量对应的修正协方差。
- 根据权利要求10所述的方法,其中,所述基于所述第一权重、所述第二权重、所述第三权重、所述第四权重、所述第一磁力测量数据、所述第二磁力测量数据、所述第五权重、所述第一加速度测量数据、所述第一预测姿态、所述第二加速度测量数据、所述第二预测姿态、所述第六权重、所述第七权重、所述世界坐标系的重力加速度,对当前修正时刻的所述预测状态变量进行修正,包括:以最小化目标误差为修正目标,对当前修正时刻的所述预测状态变量进行修正;其中,所述目标误差为第一误差、第二误差、第三误差和第四误差的总和,所述第一误差满足:e1=w1*(bm1'-bm1)2+w2*(bm2'-bm2)2+w3*(GRI1'-GRI1)2+w4*(GRI2'-GRI2)2,所述第二误差满足:e2=w5*[GRI1'(m1-bm1')-GRI2'(m2-bm2')]2,所述第三误差满足:e3=w6*(GRI1*am1+Gg)2,所述第四误差满足:e4=w7*(GRI2*am2+Gg)2;其中,e1表示所述第一误差,w1表示所述第一权重,bm1'表示所述第一修正偏置参数,bm1表示所述第一预测偏置参数,w2表示所述第二权重,bm2'表示所述第二修正偏置参数,bm2表示所述第二预测偏置参数,w3表示所述第三权重,GRI1'表示所述第一修正姿态,GRI1表示所述第一预测姿态,w4表示所述第四权重,GRI2'表示所述第二修正姿态,GRI2表示所述第二预测姿态,e2表示所述第二误差,w5表示所述第五权重,m1表示所述第一磁力测量数据,m2表示所述第二磁力测量数据,e3表示所述第三误差,w6表示所述第六权重,am1表示所述第一加速度测量数据,Gg表示所述世界坐标系的重力加速度,e4表示所述第四误差,w7表示所述第七权重,am2表示所述第二加速度测量数据。
- 根据权利要求1至11中任一项所述的方法,其中,还包括:获取第一序列;其中,所述第一序列包括:所述第一陀螺仪在多个第一测量时刻中的每个第一测量时刻的角速度测量数据;获取第二序列;其中,所述第二序列包括:所述第二陀螺仪在多个第二测量时刻中的每个第二测量时刻的角速度测量数据;获取第三序列;其中,所述第三序列包括:所述第一磁力计在多个第三测量时刻中的每个第三测量时刻的第一磁力测量数据;获取第四序列;其中,所述第四序列包括:所述第二磁力计在多个第四测量时刻中的每个第四测量时刻的第二磁力测量数据;对所述第一序列、所述第二序列、所述第三序列、所述第四序列进行时间同步;获取第五序列;其中,所述第五序列包括:所述第一加速度计在多个第五测量时刻中的每个第五测量时刻的第一加速度测量数据;获取第六序列;其中,所述第六序列包括:所述第二加速度计在多个第六测量时刻中的每个第六测量时刻的第二加速度测量数据;所述对所述第一序列、所述第二序列、所述第三序列、所述第四序列进行时间同步,包括:对所述第一序列、所述第二序列、所述第三序列、所述第四序列、所述第五序列、所述第六序列进行时间同步。
- 根据权利要求1至12中任一项所述的方法,其中,所述目标设备包括以下至少一项:所述头戴显示设备所在的移动平台;与所述头戴显示设备配对的控制设备;与所述头戴显示设备配对的便携式设备。
- 一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1至13中任一项所述的用于在头戴显示设备显示画面的方法。
- 一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现上述权利要求1至13中任一项所述的用于在头戴显示设备显示画面的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211732721.2 | 2022-12-30 | ||
CN202211732721 | 2022-12-30 | ||
CN202310158847.1A CN118276672A (zh) | 2022-12-30 | 2023-02-14 | 用于在头戴显示设备显示画面的方法、装置、设备及介质 |
CN202310158847.1 | 2023-02-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024141098A1 true WO2024141098A1 (zh) | 2024-07-04 |
Family
ID=91635014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/143687 WO2024141098A1 (zh) | 2022-12-30 | 2023-12-30 | 用于在头戴显示设备显示画面的方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118276672A (zh) |
WO (1) | WO2024141098A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004072579A1 (ja) * | 2003-02-14 | 2004-08-26 | Akebono Brake Industry Co., Ltd. | 姿勢検出装置の誤差補正方法及び動作計測装置 |
CN107389088A (zh) * | 2017-05-27 | 2017-11-24 | 纵目科技(上海)股份有限公司 | 车载惯性导航的误差修正方法、装置、介质及设备 |
CN112066984A (zh) * | 2020-09-17 | 2020-12-11 | 深圳维特智能科技有限公司 | 姿态角度解算方法、装置、处理设备和存储介质 |
CN114979615A (zh) * | 2022-05-11 | 2022-08-30 | 闪耀现实(无锡)科技有限公司 | 用于在头戴显示设备显示画面的方法、装置及电子设备 |
-
2023
- 2023-02-14 CN CN202310158847.1A patent/CN118276672A/zh active Pending
- 2023-12-30 WO PCT/CN2023/143687 patent/WO2024141098A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004072579A1 (ja) * | 2003-02-14 | 2004-08-26 | Akebono Brake Industry Co., Ltd. | 姿勢検出装置の誤差補正方法及び動作計測装置 |
CN107389088A (zh) * | 2017-05-27 | 2017-11-24 | 纵目科技(上海)股份有限公司 | 车载惯性导航的误差修正方法、装置、介质及设备 |
CN112066984A (zh) * | 2020-09-17 | 2020-12-11 | 深圳维特智能科技有限公司 | 姿态角度解算方法、装置、处理设备和存储介质 |
CN114979615A (zh) * | 2022-05-11 | 2022-08-30 | 闪耀现实(无锡)科技有限公司 | 用于在头戴显示设备显示画面的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN118276672A (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5614527B2 (ja) | 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム | |
US9846040B2 (en) | System and method for determining the orientation of an inertial measurement unit (IMU) | |
CN104737205B (zh) | 自适应尺度及/或重力估计 | |
CN103907139B (zh) | 信息处理装置、信息处理方法和程序 | |
US20130174636A1 (en) | System and Method for Device Self-Calibration | |
CN110887480B (zh) | 基于mems传感器的飞行姿态估计方法及系统 | |
CN106813679B (zh) | 运动物体的姿态估计的方法及装置 | |
JP2015179002A (ja) | 姿勢推定方法、姿勢推定装置及びプログラム | |
JP2013029512A (ja) | 携帯型電子デバイスのための、磁場センサおよび加速度計を使用して姿勢および角速度を検知するシステムおよび方法 | |
WO2018054063A1 (zh) | 一种基于虚拟现实设备的角度数据补偿方法及装置 | |
JP2013096724A (ja) | 状態推定装置 | |
US9760186B2 (en) | Electronic device for use in motion detection and method for obtaining resultant deviation thereof | |
CN104121930B (zh) | 一种基于加表耦合的mems陀螺漂移误差的补偿方法 | |
JP2013122384A (ja) | カルマンフィルタ、及び、状態推定装置 | |
WO2024141098A1 (zh) | 用于在头戴显示设备显示画面的方法、装置、设备及介质 | |
JP2013061309A (ja) | カルマンフィルタ、状態推定装置、カルマンフィルタの制御方法、及びカルマンフィルタの制御プログラム | |
Munguia et al. | An attitude and heading reference system (AHRS) based in a dual filter | |
CN113218389A (zh) | 一种车辆定位方法、装置、存储介质及计算机程序产品 | |
CN114964214B (zh) | 一种航姿参考系统的扩展卡尔曼滤波姿态解算方法 | |
JP2015094631A (ja) | 位置算出装置及び位置算出方法 | |
Wu et al. | Real-time magnetic disturbance determination for micro air vehicles via gravity and global navigation satellite system measurements | |
CN113936044B (zh) | 激光设备运动状态的检测方法、装置、计算机设备及介质 | |
CN118057120A (zh) | 用于估计设备姿态的方法和装置 | |
CN115931001A (zh) | 惯性测量单元标定方法、装置、计算机设备及存储介质 | |
Kannan et al. | Adaptive sensor fusion technology for mobile and wearable applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23911010 Country of ref document: EP Kind code of ref document: A1 |