WO2024141097A1 - 用于修正用户设备与目标设备的相对姿态的方法及装置 - Google Patents

用于修正用户设备与目标设备的相对姿态的方法及装置 Download PDF

Info

Publication number
WO2024141097A1
WO2024141097A1 PCT/CN2023/143686 CN2023143686W WO2024141097A1 WO 2024141097 A1 WO2024141097 A1 WO 2024141097A1 CN 2023143686 W CN2023143686 W CN 2023143686W WO 2024141097 A1 WO2024141097 A1 WO 2024141097A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
predicted
target device
coordinate system
measurement unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/143686
Other languages
English (en)
French (fr)
Inventor
赖文芊
郭若南
张超
黄灿
吴克艰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Unicorn Technology Co Ltd
Original Assignee
Beijing Unicorn Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Unicorn Technology Co Ltd filed Critical Beijing Unicorn Technology Co Ltd
Priority to EP23911009.1A priority Critical patent/EP4624869A4/en
Publication of WO2024141097A1 publication Critical patent/WO2024141097A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking

Definitions

  • a computer-readable storage medium stores a computer program for executing the above method for correcting the relative posture between the user device and the target device.
  • FIG. 1 is a schematic flow chart of a method for correcting a relative posture between a user device and a target device provided by an exemplary embodiment of the present disclosure.
  • FIG3 is a schematic flow chart of a method for correcting a relative posture between a user device and a target device provided by yet another exemplary embodiment of the present disclosure.
  • FIG5 is a schematic flow chart of a method for correcting a relative posture between a user device and a target device provided by yet another exemplary embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of an apparatus for correcting a relative posture between a user device and a target device provided by another exemplary embodiment of the present disclosure.
  • plurality may refer to two or more than two, and “at least one” may refer to one, two, or more than two.
  • Electronic devices such as terminal devices, computer systems, servers, etc. can be described in the general context of computer system executable instructions (such as program modules) executed by computer systems.
  • program modules may include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types.
  • Computer systems/servers can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communication network.
  • program modules can be located on local or remote computing system storage media including storage devices.
  • the relative posture between the head-mounted display device and a specific object can be used to render, adjust, control, etc. the virtual image displayed by the head-mounted display device.
  • a head-mounted display device may also be referred to as a head-mounted display (HMD) or a head display.
  • a head-mounted display device may be used to achieve an extended reality (XR) effect, such as an augmented reality (AR) effect, a virtual reality (VR) effect, a mixed reality (MR) effect, etc.
  • XR extended reality
  • AR augmented reality
  • VR virtual reality
  • MR mixed reality
  • a head-mounted display device can create a unique sense of immersion, when using a head-mounted display device, a user may subjectively feel as if they are in a space that is isolated from reality, and the space may serve as a virtual space of the head-mounted display device.
  • the head-mounted display device may be an AR glasses, a VR glasses, a MR glasses, etc.
  • the virtual picture displayed by the head-mounted display device is rendered, adjusted, controlled, etc.
  • the effects that can be achieved include but are not limited to: under the premise of taking the coordinate system fixed to the specific object as the reference, if the posture of the head-mounted display device and the specific object are consistent, the posture of the displayed picture does not change basically in the coordinate system used by the head-mounted display device.
  • the display effect of the picture displayed by the head-mounted display device is similar to the effect of directly projecting the screen through the head-mounted display device. If the head-mounted display device and the specific object do not maintain the same posture, the posture of the displayed picture changes accordingly in the coordinate system used by the head-mounted display device.
  • the display effect of the picture displayed by the head-mounted display device is similar to the 3dof (degree of freedom) display effect based on the specific object.
  • the user wears a head-mounted display device and watches a virtual image displayed by the head-mounted display device, and sometimes needs to interact with the virtual image with the help of a controller.
  • the controller and the head-mounted display device can be communicatively connected, and the relative posture of the two can be used to control the virtual image displayed by the head-mounted display device.
  • the control in this article may include clicking, selecting, dragging, etc.
  • a controller If a controller is needed, it is also necessary to calculate and apply the relative posture of the controller and the specific object, so as to control the virtual image displayed by the head-mounted display device with reference to the relative posture of the controller and the specific object.
  • the specific object may be an object that is movable relative to the world coordinate system (which may also be referred to as the global coordinate system), such as a movable platform such as a vehicle, a ship, an airplane, a train, or a user's body.
  • the term "world coordinate system" in the present disclosure may be a reference coordinate system and does not refer to the world coordinate system.
  • the specific settings are limited. Different devices may have their own defined world coordinate systems. Different world coordinate systems defined by different devices may be aligned or may have deviations. In the case of deviations, coordinate system conversion can be used to align the misaligned world coordinate systems.
  • the specific object may be an object that is immovable relative to the world coordinate system, such as a wall, the ground, etc.
  • the relative posture correction can be achieved by using the Kalman filter algorithm in a non-inertial system, the least squares method in a non-inertial system, or other optimization algorithms.
  • the method embodiment section below mainly introduces the case of using the Kalman filter algorithm as an example.
  • the principle of the Kalman filter algorithm is briefly explained.
  • the idea of the Kalman filter algorithm is to use the linear system state equation and the system input and output observation data to optimally estimate the system state.
  • the Kalman filter algorithm can usually be divided into two stages: the prediction stage and the update stage.
  • the prediction stage can be expressed as follows:
  • the embodiments of the present disclosure provide a method for correcting the relative posture between a user device and a target device, so as to improve the accuracy and reliability of the relative posture through correction of the relative posture, thereby ensuring the application effect of the relative posture.
  • the user device is a head mounted display device
  • the target device is an electronic device other than the head mounted display device, or the user device is a controller
  • the target device is a head mounted display device
  • the user device includes a head-mounted display device and a controller
  • the target device is an electronic device other than the head-mounted display device and the controller.
  • the user device and the target device may be respectively provided with an inertial measurement unit (IMU).
  • IMU inertial measurement unit
  • the inertial measurement unit provided in the user device may be referred to as a first inertial measurement unit
  • the inertial measurement unit provided in the target device may be referred to as a second inertial measurement unit.
  • the inertial measurement unit is a device that uses an accelerometer and a gyroscope to measure the angular velocity and acceleration of an object.
  • the first inertial measurement unit can be used to measure the angular velocity and acceleration of the user device in the world coordinate system
  • the second inertial measurement unit can be used to measure the angular velocity and acceleration of the target device in the world coordinate system.
  • the target device may be an integrated device, and the target device may be integrated into a specific object such as a vehicle, a ship, an airplane, a train, etc.
  • the relative position and relative posture between the target device and the specific object are fixed.
  • the relative posture between the user device and the target device may be determined by referring to the data collected by the first inertial measurement unit and the second inertial measurement unit.
  • the relative posture between the user device and the target device can be directly used as the relative posture between the user device and the specific object.
  • the conversion relationship between the coordinate systems used by the target device and the specific object can be determined in advance (which can be in the form of a conversion matrix). Subsequently, the predetermined conversion relationship can be referred to to convert the relative posture between the user device and the target device to obtain the relative posture between the user device and the specific object.
  • Fig. 1 is a flowchart of a method for correcting the relative posture of a user device and a target device provided by an exemplary embodiment of the present disclosure.
  • the method shown in Fig. 1 includes steps 120, 140, 160 and 180, and each step is described below.
  • the first angle change of the user device in the world coordinate system between the last correction time and the current correction time can be obtained.
  • the acceleration collected by the first inertial measurement unit between the last correction time and the current correction time the first velocity change and the first position change of the user device in the world coordinate system between the last correction time and the current correction time can be obtained.
  • the correction state quantity at the last correction moment may include: the first correction position, the first correction posture, and the first correction speed of the user device in the world coordinate system at the last correction moment, and the second correction position, the second correction posture, and the second correction speed of the target device in the world coordinate system at the last correction moment.
  • the first position change amount with the first correction position the first predicted position of the user device in the world coordinate system at the current correction moment can be obtained.
  • the first angle change amount with the first correction posture the first predicted posture of the user device in the world coordinate system at the current correction moment can be obtained.
  • the first speed change amount with the first correction speed the first predicted speed of the user device in the world coordinate system at the current correction moment can be obtained.
  • Step 140 obtaining an observed relative position between the user device and the target device; wherein the observed relative position is determined based on non-visual data.
  • Step 160 determining a first error between the observed relative position and the predicted relative position; wherein the predicted relative position satisfies one of the following two items: the predicted relative position is the predicted relative position in the predicted state quantity, and the predicted relative position is determined based on the first predicted position and the second predicted position in the predicted state quantity.
  • the difference in the embodiments of the present disclosure may not be limited to simple subtraction, but may be a generalized function that can be used to calculate the difference between different input quantities.
  • the formulas in this article are described using subtraction as an example.
  • the correction result of the predicted relative position can be obtained.
  • the correction result of the measured relative position can be used as the corrected relative position between the user device and the target device at the current correction moment.
  • a correction result of the predicted relative speed can be obtained, and the correction result of the predicted relative speed can be used as the corrected relative speed between the user device and the target device at the current correction moment.
  • the fourth correction amount, the sixth correction amount, the seventh correction amount, and the ninth correction amount can also be used to obtain the correction results of the first predicted position, the first predicted speed, the second predicted position, and the second predicted speed.
  • the correction state quantity at the current correction time can be formed, and the correction state quantity at the current correction time can be used to determine the predicted state quantity at the next correction time.
  • the predicted state quantity can be determined based on the data collected by the first inertial measurement unit arranged on the user device and the second inertial measurement unit arranged on the target device.
  • the predicted relative position between the user device and the target device can be determined.
  • the observed relative position between the user device and the target device can be determined.
  • the predicted state quantity can be corrected by using the first error between the observed relative position and the predicted relative position, so that the corrected relative posture between the user device and the target device can be obtained. By correcting the relative posture, it is beneficial to ensure the application effect of the relative posture.
  • the target device satisfies one of the following two conditions: the target device is integrated into the movable platform; the target device is removably fixed to the movable platform.
  • the target device can be considered as another device different from the movable platform, and the target inertial measurement unit can be a third inertial measurement unit, and the third inertial measurement unit and the second inertial measurement unit can be different inertial measurement units.
  • the first motion condition information can be efficiently and reliably determined by utilizing data collected by motion sensors such as wheel odometers, positioning sensors, gear sensors, brake signal sensors, and target inertial measurement units.
  • Step 166 obtaining target observation data corresponding to the target constraint method; wherein the target observation data is determined based on non-visual data, and the target observation data includes: observation data of at least one of the user device and the target device in the world coordinate system.
  • the target prediction data may refer to the prediction data of the target device in the world coordinate system at the current correction moment. If the target observation data refers to the observation data of the user device in the world coordinate system at the current correction moment, the target prediction data may refer to the prediction data of the user device in the world coordinate system at the current correction moment. If the target observation data refers to the observation data of the target device and the user device respectively in the world coordinate system at the current correction moment, the target prediction data may refer to the prediction data of the target device and the user device respectively in the world coordinate system at the current correction moment.
  • the type of prediction data required for each constraint method may also be pre-set.
  • Step 170 determining a second error between the target observed data and the target predicted data.
  • step 170 the target observation data and the target prediction data can be subtracted, and the result obtained can be used as the second error. Similar to the first error, the second error can also be considered as the residual between the actual observation and the predicted observation at the current correction time, corresponding to the Kalman filter algorithm
  • Step 180 including step 1802.
  • the second error can be expressed as g error .
  • the second error can be calculated using the following formula:
  • the target constraint mode can be determined as the fifth constraint mode, which can also be called the relative gravity constraint mode of the user device and the target device.
  • the data collected by the wheel odometer installed on the movable platform can be used to calculate the speed and angular velocity of the movable platform in the world coordinate system, thereby obtaining the observed speed of the movable platform in the world coordinate system at the current correction time.
  • the observed posture and observed position of the movable platform in the world coordinate system at the current correction time can also be obtained.
  • the target device when the target device is in motion in the world coordinate system, a movable platform constraint method is adopted, and the second error can be efficiently and reliably determined by subtracting at least one of the position, posture, and speed for correction of the predicted state quantity.
  • the motion sensors such as wheel odometers and positioning sensors installed on the movable platform can not only be used to determine the motion status information of the movable platform in the world coordinate system so as to obtain the first motion status information, but also can be used to determine the second error required for updating the predicted state quantity.
  • Step 174 determining a third error between the observed relative pose and the predicted relative pose.
  • the target device satisfies one of the following two conditions: the target device is integrated into a mobile platform; The target device is removably fixed to the movable platform.
  • the method further includes step 110 and step 112 .
  • the platform types of movable platforms include but are not limited to vehicle types, ship types, aircraft types, and train types. Vehicle types can be further subdivided into large vehicle types, medium vehicle types, small vehicle types, etc. Ship types, aircraft types, train types, etc. can also be subdivided according to this rule.
  • a communication connection may be established between the user equipment and the mobile platform.
  • relevant information of the mobile platform may be obtained, including but not limited to identification information, type information, etc. By identifying the type information, the platform type of the mobile platform may be determined.
  • the user device may be provided with a camera, and the user device may capture images of its own environment through the camera, and perform target detection on the images to determine which type of movable platform the image matches, thereby determining the platform type of the movable platform.
  • Step 112 determine an initial covariance matrix that matches the platform type.
  • the corresponding relationship between the platform type and the initial covariance matrix can be preset.
  • the platform type can be used to represent the platform size, and the platform size and the initial covariance matrix can be positively correlated. That is, the larger the size of the movable platform, the larger the corresponding initial covariance matrix, and the smaller the movable platform, the smaller the corresponding initial covariance matrix.
  • the initial covariance matrix corresponding to the platform type determined in step 110 can be determined according to the preset corresponding relationship, and the determined initial covariance matrix can be used as the initial covariance matrix in step 112.
  • Step 180 including step 1806.
  • Step 1806 using the prediction covariance matrix corresponding to the prediction state quantity and the first error, the prediction state quantity is corrected; wherein the prediction state quantity and the prediction covariance matrix are both associated with the initial covariance matrix.
  • the user device is a head-mounted display device
  • the method further includes: based on the corrected relative posture, performing at least one of the following processing on the virtual image displayed by the head-mounted display device: rendering, adjusting, and controlling.
  • the rendering involved in the embodiments of the present disclosure may also be referred to as Render; the adjustment involved in the embodiments of the present disclosure may include at least one of shifting and warping.
  • a rendering engine of the head-mounted display device may render the virtual image with reference to the corrected relative posture, and update the rendering result to be displayed on the display screen of the head-mounted display device.
  • the image rendering of the virtual image can be performed with reference to the correction of the relative posture, and the optical machine in the head-mounted display device can be configured.
  • the virtual picture displayed by the head mounted display device is rendered.
  • Rendering, adjustment, control and other processing can make the head-mounted display device present a predetermined display effect, such as the effect of directly projecting the screen through the head-mounted display device mentioned in the above "Exemplary Overview" section, and the 3dof display effect based on a specific object.
  • the user device is a controller
  • the target device is a head-mounted display device
  • the method further includes: controlling a virtual image displayed by the head-mounted display device based on the corrected relative posture.
  • the controller in the embodiments of the present disclosure includes but is not limited to a mobile phone, a handle, a ring, etc. for controlling a head-mounted display device.
  • the virtual screen displayed by the head-mounted display device is controlled by referring to the corrected relative posture, and the interaction with the virtual screen can be achieved with the help of a controller, such as dragging a web page window in the virtual screen from one position to another, or adjusting the emission direction of a virtual ray in the virtual screen.
  • the user device includes: a head-mounted display device and a controller, and the target device satisfies one of the following two items: the target device is integrated into a movable platform, and the target device is removably fixed to the movable platform; the method also includes: based on the corrected relative posture between the head-mounted display device and the target device, performing at least one of the following processing on the virtual image displayed by the head-mounted display device: rendering, adjusting, and controlling; based on the corrected relative posture between the controller and the target device, controlling the virtual image displayed by the head-mounted display device.
  • the virtual image displayed by the head-mounted display device is controlled, which can not only make the head-mounted display device present a predetermined display effect, but also enable interaction with the virtual image with the help of the controller.
  • the state quantity of the Kalman filter algorithm can be set to at least include: the predicted relative position P vg , the predicted relative posture R vg , the predicted relative speed V vg between the user device and the target device, the angular velocity bias of the second inertial measurement unit set in the target device and acceleration bias and an angular velocity bias of a first inertial measurement unit provided in the user equipment and acceleration bias
  • the state quantity of the Kalman filter algorithm may also include: predicted position P v , predicted posture R v , predicted speed V v of the target device in the world coordinate system.
  • the superscript "predict” may be added to each parameter in the state quantity, or “predict” may be added after an existing superscript to indicate the predicted state quantity.
  • the target device can be integrated into a movable platform, or removably fixed to the movable platform; the user can use the user device on the movable platform.
  • the state quantity can be updated through the following steps.
  • the predicted state quantity determined in S2 above may at least include: It can also include
  • At least one of the following methods may be used to determine the motion information of the movable platform in the world coordinate system:
  • the movement information of the user equipment in the world coordinate system may be determined according to whether the variances of the angular velocity and the acceleration of the first inertial measurement unit in a recent period are respectively smaller than a set threshold.
  • the observed relative position can be obtained by using the cooperative work of paired wireless positioning devices, or by presetting the position, by the user actively inputting the position information, or by referring to the connection interface position. It should be noted that using the observed relative position for the correction of the predicted state quantity can be called a relative position constraint method.
  • a suitable constraint method i.e., the target constraint method mentioned above
  • the selectable constraint methods may include: zero speed constraint method, zero angular velocity constraint method, gravity constraint method of the target device, gravity constraint method of the user device, relative gravity constraint method of the user device and the target device, and movable platform constraint method.
  • the corresponding actual observations and predicted observations can be obtained according to the constraint method selected in the above S7, and the residuals between the actual observations and the predicted observations (such as the first error, the second error, and the third error mentioned above) can be calculated. Based on the residuals, the predicted state quantity can be corrected to obtain the corrected state quantity.
  • the correction amount corresponding to the relative attitude dimension can be determined, and the correction amount corresponding to the relative attitude dimension can be compared with Overlay can achieve In a similar manner, the correction of other parameters in the predicted state quantity can also be achieved, thereby obtaining the corrected state quantity.
  • g error is related to association, and By using these correlations, we can infer the g error
  • the predicted state quantity may then be corrected in a manner similar to the above description of the relative position constraint.
  • the predicted state quantity is corrected using the first error to obtain a corrected relative posture between the first device and the second device.
  • the inertial measurement unit corresponding to the reference coordinate system is a first inertial measurement unit
  • the state estimation equation may include a second equation:
  • the state estimation equation may also include the following equation:
  • the state estimation equation may also include the following equation:
  • Figure 8 is a structural diagram of an apparatus for correcting the relative posture of a user device and a target device provided by an exemplary embodiment of the present disclosure.
  • the user device is provided with a first inertial measurement unit
  • the target device is provided with a second inertial measurement unit.
  • the apparatus shown in Figure 8 includes a first acquisition module 820, a second acquisition module 840, a first determination module 860 and a correction module 880.
  • the first acquisition module 820 is used to acquire a predicted state quantity; wherein the predicted state quantity is determined based on the data collected by the first inertial measurement unit and the data collected by the second inertial measurement unit, and the predicted state quantity includes at least one of the following two types: a predicted relative position, a predicted relative posture, and a predicted relative speed between the user device and the target device; a first predicted position, a first predicted posture, and a first predicted speed of the user device in a world coordinate system, and a second predicted position, a second predicted posture, and a second predicted speed of the target device in a world coordinate system; and a second acquisition module 840 is used to acquire the user device The observed relative position between the user device and the target device; wherein the observed relative position is determined based on non-visual data; a first determination module 860 is used to determine a first error between the observed relative position and the predicted relative position; wherein the predicted relative position satisfies one of the following two items: the predicted relative position is the predicted relative position in the predicted state quantity
  • the device also includes: a third acquisition module 862, used to obtain first motion status information of the target device in the world coordinate system; a second determination module 864, used to determine the target constraint method based on the first motion status information; a fourth acquisition module 866, used to obtain target observation data corresponding to the target constraint method; wherein the target observation data is determined based on non-visual data, and the target observation data includes: observation data of at least one of the user device and the target device in the world coordinate system; a fifth acquisition module 868, used to obtain target prediction data corresponding to the target constraint method based on the predicted state quantity; wherein the target prediction data includes: prediction data of the device to which the target observation data belongs in the world coordinate system; a third determination module 870, used to determine the second error between the target observation data and the target prediction data; a correction module 880, specifically used to: use the first error and the second error to correct the predicted state quantity.
  • a third acquisition module 862 used to obtain first motion status information of the target device in the world coordinate system
  • the predicted state quantity also includes at least one of the following: a first predicted angular velocity bias of the first inertial measurement unit; a first predicted acceleration bias of the first inertial measurement unit; a second predicted angular velocity bias of the second inertial measurement unit; and a second predicted acceleration bias of the second inertial measurement unit.
  • the second determination module 864 is specifically used to: in response to the first motion condition information characterizing that the target device is in a stationary state, determine that the target constraint mode is the second constraint mode; wherein, in response to the target constraint mode being the second constraint mode, the target observation data includes: a preset observation angular velocity of the target device in the world coordinate system, the preset observation angular velocity is zero, and the target prediction data includes: the difference between the angular velocity of the target device in the world coordinate system and the second predicted angular velocity offset, and the angular velocity of the target device in the world coordinate system is collected by a second inertial measurement unit.
  • the device also includes: a sixth acquisition module 863, used to obtain second motion status information of the user device in the world coordinate system; a second determination module 864, specifically used to: determine the target constraint method based on the first motion status information and the second motion status information.
  • the second determination module 864 is specifically used to: in response to the first motion condition information characterizing that the target device is in a stationary state, and the second motion condition information characterizing that the user device is in a stationary state, determine that the target constraint mode is the fourth constraint mode; wherein, in response to the target constraint mode being the fourth constraint mode, the target observation data includes: the acceleration of the user device in the world coordinate system collected by the first inertial measurement unit, and the target prediction data includes: the acceleration of the user device in the world coordinate system calculated using the predicted relative posture, the second predicted posture and the gravity acceleration in the world coordinate system.
  • the second determination module 864 is specifically used to: in response to the first motion condition information characterizing that the target device is in a stationary state, and the second motion condition information characterizing that the user device is in a stationary state, determine that the target constraint mode is the fifth constraint mode; wherein, in response to the target constraint mode being the fifth constraint mode, the target observation data includes: the acceleration of the user device in the world coordinate system collected by the first inertial measurement unit, and the target prediction data includes: the acceleration of the user device in the world coordinate system calculated using the predicted relative posture and the acceleration of the target device in the world coordinate system collected by the second inertial measurement unit.
  • the second determination module 864 is specifically used to: in response to the first motion situation information characterizing that the target device is in a motion state, determine that the target constraint mode is the sixth constraint mode; wherein, in response to the target constraint mode being the sixth constraint mode, the target observation data includes at least one of the following: the observed position, the observed posture, and the observed speed of the target device in the world coordinate system, and the target prediction data includes at least one of the following: a second predicted position, a second predicted posture, and a second predicted speed, and the target observation data and the target prediction data include the same parameter type, and the target observation data is determined based on data collected by at least one of the following motion sensors arranged on the movable platform: a wheel odometer, a positioning sensor, and the target device satisfies one of the following two items: the target device is integrated into the movable platform, and the target device is removably fixed to the movable platform.
  • the target device satisfies one of the following two items: the target device is integrated into a movable platform, and the target device is removably fixed to the movable platform; the first motion condition information is determined based on data collected by at least one of the following motion sensors: a wheel odometer, a positioning sensor, a gear sensor, a brake signal sensor, and a target inertial measurement unit; the wheel odometer, the positioning sensor, the gear sensor, and the brake signal sensor are all arranged on the movable platform, and in response to the target device being integrated into the movable platform, the target inertial measurement unit is a second inertial measurement unit; in response to the target device being removably fixed to the movable platform, the target inertial measurement unit is one of the following two items: a second inertial measurement unit, and an inertial measurement unit different from the second inertial measurement unit.
  • the target device is provided with a first wireless positioning device; the user device is provided with a second wireless positioning device paired with the first wireless positioning device; and the observed relative position is determined by the collaborative work of the first wireless positioning device and the second wireless positioning device.
  • the device also includes: a seventh acquisition module 872, used to obtain the observed relative posture between the user device and the target device; wherein the observed relative posture is determined by the collaborative work of the first wireless positioning device and the second wireless positioning device; a fourth determination module 874, used to determine the third error between the observed relative posture and the predicted relative posture; a correction module 880, specifically used to: use the first error and the third error to correct the predicted state quantity.
  • a seventh acquisition module 872 used to obtain the observed relative posture between the user device and the target device; wherein the observed relative posture is determined by the collaborative work of the first wireless positioning device and the second wireless positioning device
  • a fourth determination module 874 used to determine the third error between the observed relative posture and the predicted relative posture
  • a correction module 880 specifically used to: use the first error and the third error to correct the predicted state quantity.
  • the target device satisfies one of the following two items: the target device is integrated into a movable platform, and the target device is removably fixed to the movable platform; the second acquisition module 840 is specifically used for any of the following items: determining the observation relative position based on a preset position in the platform coordinate system of the movable platform; determining the observation relative position based on the position information in the platform coordinate system of the movable platform input by the user; determining the observation relative position based on the position of the target connection interface; wherein the target connection interface is an interface set on the movable platform for connecting a user device.
  • the target device satisfies one of the following two items: the target device is integrated into a movable platform, and the target device is removably fixed to the movable platform; as shown in Figure 11, the apparatus also includes: a fifth determination module 812, for determining the platform type of the movable platform; a sixth determination module 814, for determining an initial covariance matrix matching the platform type; a correction module 880, specifically used to: correct the predicted state quantity using the predicted covariance matrix corresponding to the predicted state quantity and the first error; wherein the predicted state quantity and the predicted covariance matrix are both associated with the initial covariance matrix.
  • the user device is a head-mounted display device
  • the apparatus further includes: a first processing module, configured to perform at least one of the following processing on a virtual image displayed by the head-mounted display device based on the corrected relative posture: rendering, adjusting, and controlling.
  • the user device is a controller
  • the target device is a head-mounted display device
  • the apparatus further includes: a first control module, configured to control a virtual image displayed by the head-mounted display device based on the corrected relative posture.
  • the various optional embodiments, optional implementation methods and optional examples disclosed above can be flexibly selected and combined as needed to achieve corresponding functions and effects, and the present disclosure does not list them one by one.
  • the electronic device may be any one or both of the first device and the second device, or a stand-alone device different from them, and the stand-alone device may communicate with the first device and the second device to receive the collected input signals from them.
  • FIG. 12 illustrates a block diagram of an electronic device 1200 according to an embodiment of the present disclosure.
  • the electronic device 1200 includes one or more processors 1210 and a memory 1220 .
  • the processor 1210 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device 1200 to perform desired functions.
  • CPU central processing unit
  • Other components in the electronic device 1200 may control other components in the electronic device 1200 to perform desired functions.
  • the memory 1220 may include one or more computer program products, and the computer program product 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 method for correcting the relative posture of the user device and the target 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 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.
  • the output device 1240 can output various information to the outside, and can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto.
  • FIG12 only shows some of the components related to the present disclosure in the electronic device 1200, omitting components such as a bus, an input/output interface, etc.
  • the electronic device 1200 may further include any other appropriate components according to specific application scenarios.
  • an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps in the method for correcting the relative posture between a user device and a target device according to various embodiments of the present disclosure described in the above-mentioned "Exemplary Method" section of this specification.
  • the computer program product may be written in any combination of one or more programming languages to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages.
  • the program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
  • an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enable the processor to execute the steps of the method for correcting the relative posture between a user device and a target device according to various embodiments of the present disclosure described in the above “Exemplary Method” section of this specification.
  • the computer readable storage medium may be any combination of one or more readable media.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may include, but is not limited to, electrical, magnetic, optical, electromagnetic, Infrared, or semiconductor systems, devices or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more conductors, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
  • the method and apparatus of the present disclosure may be implemented in many ways.
  • the method and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware.
  • the above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated.
  • the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
  • each component or each step can be decomposed and/or recombined. Such decomposition and/or recombination should be regarded as equivalent solutions of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供了一种用于修正用户设备与目标设备的相对姿态的方法及装置,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元。具体实现方案为:获取预测状态量;预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定;获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。

Description

用于修正用户设备与目标设备的相对姿态的方法及装置
本公开要求在2022年12月30日、2023年2月14日提交中国专利局、申请号为CN202211732722.7、CN202310158835.9,发明名称为“用于修正用户设备与目标设备的相对姿态的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及姿态校正技术领域,尤其涉及一种用于修正用户设备与目标设备的相对姿态的方法及装置。
背景技术
在一些场景下,需要计算并运用两个设备之间的相对姿态,如果计算得到的相对姿态的精度低下,这会极大地影响到相对姿态的运用效果。
发明内容
本公开的实施例提供了一种用于修正用户设备与目标设备的相对姿态的方法及装置。
根据本公开实施例的一个方面,提供了一种用于修正用户设备与目标设备的相对姿态的方法,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,该方法包括:获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
根据本公开实施例的另一个方面,提供了一种用于修正用户设备与目标设备的相对姿态的装置,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,该装置包括:第一获取模块,用于获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;第二获取模块,用于获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;第一确定模块,用于确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;修正模块,用于利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
根据本公开的再一个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序用于执行上述用于修正用户设备与目标设备的相对姿态的方法。
根据本公开的又一个方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述用于修正用户设备与目标设备的相对姿态的方法。
根据本公开的又一个方面,提供了一种计算机程序产品,包括计算机程序指令,计算机程序指令被处理器执行时实现上述用于修正用户设备与目标设备的相对姿态的方法。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图2是本公开另一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图3是本公开再一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图4是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图5是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图6是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图7是本公开一示例性实施例中移动距离、相对位置维度对应的误差、相对姿态维度对应的误差之间的关系的示意图。
图8是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图9是本公开另一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图10是本公开再一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图11是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图12是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,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眼镜等。
通过参考头戴显示设备与特定对象之间的相对姿态,对通过头戴显示设备显示的虚拟画面进行渲染、调整、控制等。可以实现的效果包括但不限于:在以特定对象固连的坐标系为基准的前提下,如果头戴显示设备与特定对象两者的姿态保持一致,显示画面的姿态在头戴显示设备使用的坐标系下基本不发生变化。通过头戴显示设备显示的画面的显示效果,则类似于直接通过头戴显示设备投屏的效果。如果头戴显示设备与特定对象两者未保持姿态一致,显示画面的姿态在头戴显示设备使用的坐标系下发生相应变化。通过头戴显示设备显示的画面的显示效果,则类似于以特定对象为基准的3dof(degree of freedom,自由度)显示效果。
用户佩戴头戴显示设备,观看通过头戴显示设备显示的虚拟画面,有时需要借助于控制器与虚拟画面进行交互。控制器与头戴显示设备之间可以通信地连接,两者的相对姿态可以用于对通过头戴显示设备显示的虚拟画面进行控制。本文中的控制可以包括点击、选中、拖动等。
如果需要使用控制器,则还需要计算并运用控制器与特定对象的相对姿态,以参考控制器与特定对象的相对姿态,对通过头戴显示设备显示的虚拟画面进行控制等。
在本公开的一些可选实施方式中,特定对象可以是相对世界坐标系(其也可以称为全局坐标系)可移动的对象,例如是车辆、轮船、飞机、火车等可移动平台,或者是用户身体。可以理解地,本公开的术语“世界坐标系”可以是作为参考的基准坐标系,并不对其 具体的设置进行限定。不同的设备可能存在各自定义世界坐标系的情况,不同设备各自定义的不同世界坐标系之间可能对齐,也可能存在偏差。在存在偏差的情况下,可以利用坐标系转换,将未对齐的世界坐标系对齐。
在本公开的另一些可选实施方式中,特定对象可以是相对世界坐标系不可移动的对象,例如墙面、地面等。
为了保证相对姿态的运用效果,有必要采取一定的措施,提升相对姿态的准确性和可靠性。
示例性系统
本公开的实施例中,可以利用非惯性系下的卡尔曼滤波算法、非惯性系下的最小二乘法或者其他优化算法,实现相对姿态的修正,下文中的方法实施例部分主要以利用卡尔曼滤波算法的情况为例进行介绍,这里先对卡尔曼滤波算法的原理进行简要说明。
总体来说,卡尔曼滤波算法的思想是:利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计。卡尔曼滤波算法通常可以分为两个阶段,分别是预测阶段和更新阶段。
预测阶段可以用如下公式表示:

更新阶段可以用如下公式表示:


其中,小写字母形式的k作为参量的下标且表示某一时刻,大写字母形式的K表示卡尔曼增益,表示k时刻的先验状态估计值,Ak表示k时刻的状态转移矩阵,表示k-1时刻的后验状态估计值(即k-1时刻系统状态的最优估计),uk表示利用由输入转换为状态的矩阵,对k时刻的输入进行转换得到的结果,表示k时刻的先验估计协方差矩阵,表示k-1时刻的后验估计协方差矩阵,R表示过程激励噪声协方差,Ck表示状态量到测量(观测)的转移矩阵,Q表示测量噪声协方差矩阵,表示k时刻的后验状态估计值(即k时刻系统状态的最优估计),zk表示k时刻的测量值(观测值),表示k时刻的实际观测与预测观测之间的残差,表示在由k时刻的先验状态估计值得到k时刻的后验状态估计值时使用的修正量,表示k时刻的后验估计协方差。
示例性方法
本公开的实施例提供了一种用于修正用户设备与目标设备的相对姿态的方法,以通过相对姿态的修正,提升相对姿态的准确性和可靠性,从而保证相对姿态的运用效果。
在本公开的一些可选实施方式中,用户设备为头戴显示设备,目标设备为除了头戴显示设备之外的电子设备,或者,用户设备为控制器,目标设备为头戴显示设备,再或者, 用户设备包括头戴显示设备和控制器,目标设备为除了头戴显示设备和控制器之外的电子设备。
用户设备和目标设备可以分别设置有惯性测量单元(Inertial Measurement Unit,IMU),为了便于区分,设置于用户设备的惯性测量单元可以称为第一惯性测量单元,设置于目标设备的惯性测量单元可以称为第二惯性测量单元。
可以理解的是,惯性测量单元是使用加速度计和陀螺仪来测量物体角速度和加速度的装置,这样,第一惯性测量单元可以用于测量用户设备在世界坐标系下的角速度和加速度,第二惯性测量单元可以用于测量目标设备在世界坐标系下的角速度和加速度。
在本公开的一些可选实施方式中,目标设备可以为集成式设备,目标设备可以集成于车辆、轮船、飞机、火车等特定对象。目标设备与特定对象之间的相对位置和相对姿态是固定不变的。参考第一惯性测量单元和第二惯性测量单元各自采集的数据,可以确定用户设备与目标设备之间的相对姿态。
如果目标设备和特定对象使用同一坐标系,可以直接将用户设备与目标设备之间的相对姿态作为用户设备与特定对象之间的相对姿态。
如果目标设备和特定对象使用不同坐标系,则可以预先确定目标设备和特定对象各自使用的坐标系之间的转换关系(其可以呈一转换矩阵的形式),后续可以参考预先确定的转换关系,由用户设备与目标设备之间的相对姿态转换得到用户设备与特定对象之间的相对姿态。
在本公开的另一些可选实施方式中,目标设备可以为便携式设备,目标设备可以根据实际需求放置在任意位置,例如放置在车辆、轮船、飞机、火车、用户身体、墙面、地面等特定对象。这样,参考第一惯性测量单元和第二惯性测量单元各自采集的数据,也可以确定用户设备与特定对象之间的相对姿态。
需要说明的是,可以按照一定的时间间隔,进行用户设备与目标设备的相对姿态的修正,任意相邻两个修正时刻之间的间隔可以为预设的时间间隔,也可以依据惯性测量单元采集数据的频率而定。下文中出现的预测状态量、参量、数据,如果没有特别说明,分别是指当前修正时刻的预测状态量、当前修正时刻的参量、当前修正时刻的数据。
按照上文中卡尔曼滤波算法涉及的五个公式,可以将当前修正时刻表示为k时刻,将当前修正时刻的上一修正时刻表示为k-1时刻,将当前修正时刻的下一修正时刻表示为k+1时刻,这样,上一修正时刻、当前修正时刻、下一修正时刻均可以具有对应的先验状态估计值和后验状态估计值。可选地,任一修正时刻的先验状态估计值可以作为该修正时刻的预测状态量,任一修正时刻的后验状态估计值可以作为该修正时刻的修正状态量。
图1是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。图1所示的方法包括步骤120、步骤140、步骤160和步骤180,下面对各步骤分别进行说明。
步骤120,获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备和目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度。
可以理解地,在本公开的实施例中,用户设备与目标设备之间的相对姿态可以理解为用户设备在目标设备的设备坐标系下的姿态,也可理解为目标设备在用户设备的设备坐标系下的姿态。相应地,对于用户设备与目标设备之间的相对位置和相对速度,可以理解为用户设备在目标设备的设备坐标系下的位置和速度,也可以理解为目标设备在用户设备的设备坐标系下的位置和速度。用户设备在目标设备的设备坐标系下的姿态、位置、速度,与目标设备在用户设备的设备坐标系下的姿态、位置、速度可以通过求逆矩阵的方式实现相互转化。
为了便于理解,本公开的实施例中均以用户设备与目标设备之间的相对姿态、相对位置、相对速度表示用户设备在目标设备的设备坐标系下的姿态、位置、速度的情况为例进行说明。
目标设备的设备坐标系可以为:以目标设备的质心或者其他位置点为原点构建的三维坐标系,目标设备的设备坐标系即为目标设备使用的坐标系。
通过对第一惯性测量单元在上一修正时刻至当前修正时刻之间采集的角速度进行积分,可以得到用户设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第一角度变化量。通过对第一惯性测量单元在上一修正时刻至当前修正时刻之间采集的加速度进行积分,可以得到用户设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第一速度变化量和第一位置变化量。
按照与上段中类似的方式,可以由第二惯性测量单元在上一修正时刻至当前修正时刻之间采集的角速度和加速度,得到目标设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第二角度变化量、第二速度变化量和第二位置变化量。
下面分两种情况讨论当前修正时刻的预测状态量的确定方式。
第一种情况:
依据上文中的第一角度变化量、第一速度变化量、第一位置变化量、第二角度变化量、第二速度变化量和第二位置变化量,可以得到在上一修正时刻至当前修正时刻之间,用户设备与目标设备的相对角度变化量、相对速度变化量和相对位置变化量。
上一修正时刻的修正状态量可以包括:上一修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度。通过将相对位置变化量与上一修正时刻用户设备与目标设备之间的修正相对位置进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对位置。通过将相对角度变化量与上一修正时刻用户设备与目标设备之间的修正相对姿态进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对姿态。通过将相对速度变化量与上一修正时刻用户设备与目标设备之间的修正相对速度进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对速度。由此可以得到步骤120中的包括预测相对位置、预测相对姿态、预测相对速度的预测状态量,得到的预测状态量即为当前修正时刻的预测状态量。
以上介绍的是当前修正时刻为非首个修正时刻,当前修正时刻的预测状态量的确定方式。如果当前修正时刻为首个修正时刻,可以将用户设备与目标设备之间的预设相对位置、预设相对姿态、预设相对速度依次作为上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度。或者,将当前修正时刻用户设备与目标设备之间的真实相对位置、真实相对姿态、真实相对速度依次作为上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度。之后可以参考上一修正时刻的修正状态量,以及第一惯性测量单元和第二惯性测量单元各自采集的数据,确定当前修正时刻的预测状态量。
第二种情况:
上一修正时刻的修正状态量可以包括:上一修正时刻用户设备在世界坐标系下的第一修正位置、第一修正姿态、第一修正速度,以及上一修正时刻目标设备在世界坐标系下的第二修正位置、第二修正姿态、第二修正速度。通过将第一位置变化量与第一修正位置进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测位置。通过将第一角度变化量与第一修正姿态进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测姿态。通过将第一速度变化量与第一修正速度进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测速度。通过将第二位置变化量与第二修正位置进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测位置。通过将第二角度变化量与第二修正姿态进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测姿态。通过将第二速度变化量与第二修正速度进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测速度。
以上介绍的是当前修正时刻为非首个修正时刻,当前修正时刻的预测状态量的确定方式。如果当前修正时刻为首个修正时刻,可以将用户设备在世界坐标系下的预设位置、预设姿态、预设速度依次作为第一预测位置、第一预测姿态、第一预测速度,或者将当前修正时刻用户设备在世界坐标系下的真实位置、真实姿态、真实速度依次作为第一预测位置、第一预测姿态、第一预测速度。第二预测位置、第二预测姿态、第二预测速度的确定方式与此类似,在此不再赘述。
步骤140,获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定。
在本公开的一些可选实施方式中,用于确定观测相对位置的非视觉数据可以采用非视觉数据捕获设备获得,非视觉数据捕获设备不同于视觉数据捕获设备(例如具有图像传感器的设备,相机等),非视觉数据捕获设备包括但不限于信号检测器、传感器等。
在本公开的另一些可选实施方式中,用于确定观测相对位置的非视觉数据可以为预先设定的数据。
步骤160,确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定。
如果当前修正时刻的预测状态量包括:预测相对位置、预测相对姿态、预测相对速度,则可以直接从当前修正时刻的预测状态量中提取预测相对位置,并对提取出的预测相对位置与步骤140中获取的观测相对位置做差,得到的结果即可作为第一误差。
如果当前修正时刻的预测状态量包括:第一预测位置、第一预测姿态、第一预测速度、第二预测位置、第二预测姿态、第二预测速度,则可以从当前修正时刻的预测状态量中提取第一预测位置和第二预测位置,并对第一预测位置和第二预测位置做差,以计算出用户设备与目标设备之间的预测相对位置。之后,可以对计算出的预测相对位置与步骤140中获取的观测相对位置做差,得到的结果即可作为第一误差。
假设观测相对位置表示为预测相对位置表示为第一误差表示为则有:
观测相对位置可以认为属于实际观测,是与实际相对位置相比误差更小的数据,对应卡尔曼滤波算法中的zk,预测相对位置可以认为属于预测观测,对应卡尔曼滤波算法中的第一误差可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
需要说明的是,本公开的实施例中的做差可以不局限于简单的减法,而可以是广义的函数,这个函数可以用于计算不同输入量之间的差异。为了便于说明本方案,本文中的公式以减法为例进行说明。
步骤180,利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
需要说明的是,第一误差对应卡尔曼滤波算法中的第一误差体现的是相对位置维度的误差,第一误差可以用于确定相对位置维度对应的修正量,由于作为卡尔曼增益的K能够承载预测状态量包括的各种参量相互之间的关系,不仅能够包括相对位置维度对应的修正量,还能够包括其他维度对应的修正量。
下面分两种情况讨论预测状态量的修正方式。
第一种情况:
当前修正时刻的预测状态量包括:预测相对位置、预测相对姿态、预测相对速度。那么,由可以得到预测相对位置对应的第一修正量、预测相对姿态对应的第二修正量、预测相对速度对应的第三修正量。
通过将预测相对位置与第一修正量进行叠加,可以得到预测相对位置的修正结果,预 测相对位置的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对位置。
通过将预测相对姿态与第二修正量进行叠加,可以得到预测相对姿态的修正结果,预测相对姿态的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对姿态(即步骤180中的修正相对姿态)。
通过将预测相对速度与第三修正量进行叠加,可以得到预测相对速度的修正结果,预测相对速度的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对速度。
这样,通过对当前修正时刻的预测状态量的修正,得到了当前修正时刻的修正状态量,当前修正时刻的修正状态量包括:当前修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度。当前修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度可以用于下一修正时刻的预测状态量中的预测相对位置、预测相对姿态、预测相对速度的确定,具体参照上文中对由上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度得到当前修正时刻的预测状态量中的预测相对位置、预测相对姿态、预测相对速度的方式的介绍即可,在此不再赘述。
第二种情况:
当前修正时刻的预测状态量包括:第一预测位置、第一预测姿态、第一预测速度、第二预测位置、第二预测姿态、第二预测速度。那么,由可以得到第一预测位置对应的第四修正量、第一预测姿态对应的第五修正量、第一预测速度对应的第六修正量、第二预测位置对应的第七修正量、第二预测姿态对应的第八修正量、第二预测速度对应的第九修正量。
通过将第一预测姿态与第五修正量进行叠加,可以得到第一预测姿态的修正结果。通过将第二预测姿态与第八修正量进行叠加,可以得到第二预测姿态的修正结果。通过将第一预测姿态的修正结果与第二预测姿态的修正结果做差,可以得到用户设备与目标设备之间的修正相对姿态。
另外,利用第四修正量、第六修正量、第七修正量、第九修正量,还可以得到第一预测位置、第一预测速度、第二预测位置、第二预测速度各自的修正结果。通过这些修正结果,以及上段中的得到的第一预测姿态的修正结果和第二预测姿态的修正结果的组合,可以形成当前修正时刻的修正状态量,当前修正时刻的修正状态量可以用于确定下一修正时刻的预测状态量。
本公开的实施例中,可以基于设置于用户设备的第一惯性测量单元和设置于目标设备的第二惯性测量单元各自采集的数据,确定预测状态量,参考预测状态量,可以确定用户设备与目标设备之间的预测相对位置,参考非视觉数据,可以确定用户设备与目标设备之间的观测相对位置,利用观测相对位置与预测相对位置之间的第一误差,可以对预测状态量进行修正,这样能够得到用户设备与目标设备之间的修正相对姿态,通过相对姿态的修正,有利于保证相对姿态的运用效果。此外,观测相对位置基于非视觉数据得到,而不是基于具有图像传感器的设备采集的视觉数据得到。一般而言,依赖视觉数据的视觉感知方式需要设备具有图像传感器采集图像,图像传感器一般造价较高。而且需要对图像进行特征点检测、特征点匹配等一系列处理,且在高速运动场景下容易出现运动模糊、相邻帧之间重叠区域过少而无法进行特征点匹配的情况,因此需要耗费大量的计算资源和算力,且不适用于高速运动场景。而本公开的实施例中通过对非视觉数据的运用,可以在不依赖视觉数据的前提下,实现用户设备与目标设备之间的相对姿态的修正,从而能够有效地节约计算姿态和算力,且能够适用于高速运动场景。
在图1所示实施例的基础上,如图2所示,该方法还包括步骤162、步骤164、步骤166、步骤168、步骤170。
步骤162,获取目标设备在世界坐标系下的第一运动情况信息。
需要说明的是,第一运动情况信息可以用于表征目标设备在世界坐标系下的状态,包括但不限于静止状态和运动状态,运动状态还可以进一步细分为匀速运动状态、变速运动 状态等。
在本公开的一些可选实施方式中,目标设备满足以下两项中的一项:目标设备集成于可移动平台;目标设备可移除地固定于可移动平台。
第一运动情况信息可以基于以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元。
轮式里程计、定位传感器、档位传感器、刹停信号传感器可以均设置于可移动平台,响应于目标设备集成于可移动平台,目标惯性测量单元为第二惯性测量单元,响应于目标设备可移除地固定于可移动平台,目标惯性测量单元为以下两项中的一项:第二惯性测量单元、不同于第二惯性测量单元的惯性测量单元。
可移动平台使用的坐标系可以称为平台坐标系,平台坐标系可以为以可移动平台的质心或者其他位置点为原点构建的三维坐标系。
定位传感器可以包括全球定位系统(Global Positioning System,GPS)。
一般而言,为了保证可移动平台的正常可靠工作,可移动平台需要配备惯性测量单元,例如配备有目标惯性测量单元。如果目标设备为集成式设备,目标设备可以集成于可移动平台,这时,目标设备可以认为是可移动平台的一组成部分,那么,第二惯性测量单元可以作为目标惯性测量单元。如果目标设备为便携式设备,目标设备可以通过螺接、卡接、插接或魔术贴等方式固定于可移动平台,目标设备可以被从可移动平台移除。这时,目标设备可以认为是不同于可移动平台的另一设备,那么,目标惯性测量单元可以为第三惯性测量单元,第三惯性测量单元与第二惯性测量单元可以是不同的惯性测量单元。
无论目标设备是集成于可移动平台,还是可移除地固定于可移动平台,均可以认为目标设备与可移动平台之间是相对静止的,目标设备与可移动平台在世界坐标系下的状态保持一致。因此,只需确定可移动平台在世界坐标系下的状态,即可确定目标设备在世界坐标系下的状态,由此可以得到第一运动情况信息。
设置于可移动平台的轮式里程计和定位传感器各自采集的数据均可以用于计算可移动平台在世界坐标系下的速度。如果可移动平台在世界坐标系下的速度保持为零,可以判定目标设备在世界坐标系下处于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
设置于可移动平台的档位传感器采集的数据可以用于表示可移动平台所处的档位。如果可移动平台所处的档位保持为P档(即停车档位),可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
设置于可移动平台的刹停信号传感器采集的数据可以用于表示可移动平台是否刹停。如果可移动平台保持刹停,可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
目标惯性测量单元采集的数据可以包括可移动平台(或目标设备)在世界坐标系下的角速度和加速度,在此基础上,可以计算目标惯性测量单元在最近一段时间内(例如最近30秒、最近1分钟等)采集的角速度和加速度各自对应的方差。如果角速度对应的方差小于设定的第一阈值,加速度对应的方差小于设定的第二阈值,可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
可以理解地,除了上述列举的运动传感器之外,还可以采用其他的设备或是器件,只要是能达到本公开实施例的目的即可。
这种实施方式中,不论目标设备集成于可移动平台,还是可移除地固定于可移动平台,均可以通过对轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元等运动传感器采集的数据的运用,高效可靠地确定出第一运动情况信息。
步骤164,基于第一运动情况信息,确定目标约束方式。
在本公开的一些可选实施方式中,可以预先设定多种约束方式。例如预先设定下文中的第一约束方式至第六约束方式中的至少部分约束方式。
这样,在步骤164中,可以从预先设定的多种约束方式中,筛选与第一运动情况信息相适配的约束方式,筛选出的约束方式可以作为目标约束方式。
步骤166,获取目标约束方式对应的目标观测数据;其中,目标观测数据基于非视觉数据确定,目标观测数据包括:用户设备和目标设备中的至少一者在世界坐标系下的观测数据。
在本公开的一些可选实施方式中,在预先设定多种约束方式时,还可以设定每种约束方式所需的观测数据类型。
这样,在步骤166中,可以按照预先针对目标约束方式设定的观测数据类型,获得用于确定相应观测数据的非视觉数据,并据此得到相应观测数据,得到的观测数据即可作为目标观测数据。可选地,步骤166中涉及的非视觉数据可以采用非视觉数据捕获设备获得,或者为预先设定的数据。
步骤168,基于预测状态量,获取目标约束方式对应的目标预测数据;其中,目标预测数据包括:目标观测数据所归属的设备在世界坐标系下的预测数据。
如果目标观测数据是指当前修正时刻目标设备在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻目标设备在世界坐标系下的预测数据。如果目标观测数据是指当前修正时刻用户设备在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻用户设备在世界坐标系下的预测数据。如果目标观测数据是指当前修正时刻目标设备和用户设备各自在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻目标设备和用户设备各自在世界坐标系下的预测数据。
在本公开的一些可选实施方式中,在预先设定多种约束方式时,还可以预先设定每种约束方式所需的预测数据类型。
这样,在步骤168中,可以按照预先针对目标约束方式设定的预测数据类型,基于预测状态量,得到相应预测数据,得到的预测数据即可作为目标预测数据。可选地,目标预测数据可以为从预测状态量中直接提取的数据,或者为利用从预测状态量中提取的数据计算得到的数据。
步骤170,确定目标观测数据与目标预测数据之间的第二误差。
在步骤170中,可以对目标观测数据与目标预测数据做差,得到的结果即可作为第二误差。与第一误差类似,第二误差也可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
步骤180,包括步骤1802。
步骤1802,利用第一误差和第二误差,对预测状态量进行修正。
需要说明的是,利用第一误差和第二误差,对预测状态量进行修正的方式与图1所示实施例中利用第一误差,对预测状态量进行修正的方式是类似的,区别之处主要在于,修正时参考的误差更加丰富。
本公开的实施例中,可以参考目标设备在世界坐标系下的第一运动情况信息,确定合适的约束方式,并依据确定的约束方式,进行目标观测数据和目标预测数据的获取,利用目标观测数据和目标预测数据可以得到第二误差,第二误差可以与第一误差一并用于预测状态量的修正,这样,预测状态量的修正所参考的数据更加丰富,从而有利于提升修正效果。
在一些可选示例中,预测状态量还包括以下至少一项:第一惯性测量单元的第一预测角速度偏置;第一惯性测量单元的第一预测加速度偏置;第二惯性测量单元的第二预测角速度偏置;第二惯性测量单元的第二预测加速度偏置。
在本公开的一些可选实施方式中,上一修正时刻的修正状态量还可以包括:上一修正时刻第一惯性测量单元的修正角速度偏置和修正加速度偏置,以及上一修正时刻第二惯性 测量单元的修正角速度偏置和修正加速度偏置。上一修正时刻第一惯性测量单元的修正角速度偏置可以作为第一预测角速度偏置,上一修正时刻第一惯性测量单元的修正加速度偏置可以作为第一预测加速度偏置,上一修正时刻第二惯性测量单元的修正角速度偏置可以作为第二预测角速度偏置,上一修正时刻第二惯性测量单元的修正加速度偏置可以作为第二预测加速度偏置。
以上介绍了当前修正时刻的预测状态量中第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置的由来,下一修正时刻的预测状态量中第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置可以采用类似的方式得到,在此不再赘述。
本公开的实施例中,可以令预测状态量包括第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置,这样,在预测状态量的修正过程中,能够有机地运用这些偏置与预测状态量中的其他参量之间的关系,从而高效可靠地实现预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第一约束方式;其中,响应于目标约束方式为第一约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测速度,预设观测速度为零,目标预测数据包括:第二预测速度。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,目标设备在世界坐标系下的速度理论上是零,这时,可以将目标约束方式确定为第一约束方式,第一约束方式也可以称为零速度约束方式。
假设第二预测速度表示为第二误差表示为可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用零速度约束方式,可以通过对速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第二约束方式;其中,响应于目标约束方式为第二约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测角速度,预设观测角速度为零,目标预测数据包括:目标设备在世界坐标系下的角速度与第二预测角速度偏置的差值,目标设备在世界坐标系下的角速度通过第二惯性测量单元采集。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,目标设备在世界坐标系下的角速度理论上是零,这时,可以将目标约束方式确定为第二约束方式,第二约束方式也可以称为零角速度约束方式。
假设通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的角速度表示为第二预测角速度偏置表示为第二误差表示为可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用零角速度约束方式,可以通过对角速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第三约束方式;其中,响应于目标约束方式为第三约束方式,目标观测数据包括:通过第二惯性测量单元采集的,目标设备在世界坐标系下的加速度,目标预测数据包括:利用第二预测姿态和世界坐标系下的重力加速度计算得到的,目标设 备在世界坐标系下的加速度。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,第二惯性测量单元测量的加速度理论上是重力加速度。也即,第二惯性测量单元采集的目标设备在世界坐标系下的加速度方向理论上是重力方向。这时,可以将目标约束方式确定为第三约束方式,第三约束方式也可以称为目标设备的重力约束方式。
假设通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的加速度表示为av,第二预测姿态表示为世界坐标系下的重力加速度表示为g,则与g的乘积的相反数可以认为是预测得到的当前修正时刻目标设备在世界坐标系下的加速度,第二误差可以表示为gerror,第二误差可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用目标设备的重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在图2所示实施例的基础上,如图3所示,在步骤164之前,该方法还包括步骤163。
步骤163,获取用户设备在世界坐标系下的第二运动情况信息。
需要说明的是,第二运动情况信息可以用于表征用户设备在世界坐标系下的状态,包括但不限于静止状态和运动状态,运动状态还可以进一步细分为匀速运动状态、变速运动状态等。
在本公开的一些可选实施方式中,可以参考第一惯性测量单元采集的数据,确定第二运动情况信息,具体参照上文中对基于目标惯性测量单元采集的数据,确定第一运动情况信息的方式的说明即可,在此不再赘述。
步骤164,包括步骤1642。
步骤1642,基于第一运动情况信息和第二运动情况信息,确定目标约束方式。
在步骤1642中,可以从预先设定的多种约束方式中,筛选出同时与第一运动情况信息和第二运动情况信息相适配的约束方式,筛选出的约束方式可以作为目标约束方式。
在本公开的一些可选实施方式中,步骤1642,包括:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第四约束方式;其中,响应于目标约束方式为第四约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态、第二预测姿态和世界坐标系下的重力加速度计算得到的,用户设备在世界坐标系下的加速度。
可以理解的是,如果目标设备和用户设备在世界坐标系下均处于静止状态,可以认为用户设备相对世界坐标系绝对静止。那么,第一惯性测量单元测量的加速度理论上是重力加速度,也即,第一惯性测量单元采集的用户设备在世界坐标系下的加速度方向理论上是重力方向。这时,可以将目标约束方式确定为第四约束方式,第四约束方式也可以称为用户设备的重力约束方式。
假设通过第一惯性测量单元采集的当前修正时刻用户设备在世界坐标系下的加速度表示为ag,第二预测姿态表示为预测相对姿态表示为的相乘结果可以作为用户设备在世界坐标系下的预测姿态,该预测姿态可以表示为假设世界坐标系下的重力加速度表示为g,则与g的乘积的相反数可以认为是预测得到的当前修正时刻用户设备在世界坐标系下的加速度,第二误差可以表示为gerror,第二误差可以采用如下公式进行计算:
这种实施方式中,对于目标设备和用户设备在世界坐标系下均处于静止状态的情况,采用用户设备的重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用 于预测状态量的修正。
在本公开的另一些可选实施方式中,步骤1642,包括:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第五约束方式;其中,响应于目标约束方式为第五约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态以及通过第二惯性测量单元采集的目标设备在世界坐标系下的加速度计算得到的,用户设备在世界坐标系下的加速度。
可以理解的是,如果目标设备和用户设备在世界坐标系下均处于静止状态,目标设备的重力方向和用户设备的重力方向理论上是真实世界中的同一个方向。这时,可以将目标约束方式确定为第五约束方式,第五约束方式也可以称为用户设备和目标设备两者的相对重力约束方式。
假设通过第一惯性测量单元采集的当前修正时刻用户设备在世界坐标系下的加速度表示为ag,通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的加速度表示为av,预测相对姿态表示为与av的乘积可以认为是预测得到的当前修正时刻用户设备在世界坐标系下的加速度,第二误差可以表示为dgerror,第二误差可以采用如下公式进行计算:
这种实施方式中,对于目标设备和用户设备在世界坐标系下均处于静止状态的情况,采用用户设备和目标设备两者的相对重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
需要说明的是,步骤1642的实施方式并不局限于以上两种情况,例如,还可以响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于运动状态,确定目标约束方式为上文中的第一约束方式或者第二约束方式。
本公开的实施例中,可以参考目标设备和用户设备各自在世界坐标系下的运动情况信息,进行约束方式的确定,这样有利于保证确定出的约束方式的合理性和可靠性。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于运动状态,确定目标约束方式为第六约束方式;其中,响应于目标约束方式为第六约束方式,目标观测数据包括以下至少一项:目标设备在世界坐标系下的观测位置、观测姿态、观测速度,目标预测数据包括以下至少一项:第二预测位置、第二预测姿态、第二预测速度,并且,目标观测数据和目标预测数据包括的参量类型一致,目标观测数据基于设置于可移动平台的以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
如果目标预测数据包括第二预测位置,目标观测数据需要包括观测位置;如果目标预测数据包括第二预测姿态,目标观测数据需要包括观测姿态;如果目标预测数据包括第二预测速度,目标观测数据需要包括观测速度。
设置于可移动平台的轮式里程计采集的数据可以用于计算可移动平台在世界坐标系下的速度和角速度,由此可以得到当前修正时刻可移动平台在世界坐标系下的观测速度。另外,结合速度和角速度的积分运算,还可以得到当前修正时刻可移动平台在世界坐标系下的观测姿态和观测位置。
由于目标设备与可移动平台之间是相对静止的,如果目标设备的设备坐标系与可移动平台的平台坐标系为同一坐标系,可以直接将当前修正时刻可移动平台在世界坐标系下的观测速度、观测姿态、观测位置依次作为当前修正时刻目标设备在世界坐标系下的观测速度、观测姿态、观测位置,由此可以得到目标观测数据。如果目标设备的设备坐标系与可移动平台的平台坐标系为不同坐标系,参考预先确定的目标设备和可移动平台各自使用的坐标系之间的转换关系,通过对当前修正时刻可移动平台在世界坐标系下的观测速度、观 测姿态和观测位置进行转换,也可以得到当前修正时刻目标设备在世界坐标系下的观测速度、观测姿态和观测位置,由此也可以得到目标观测数据。
设置于可移动平台的定位传感器采集的数据可以表示可移动平台的实时位置,由此可以得到当前修正时刻可移动平台在世界坐标系下的观测位置,得到的观测位置可以作为目标观测数据中的观测位置。
在本公开的一些可选实施方式中,如果利用轮式里程计采集的数据和定位传感器采集的数据,分别得到了当前修正时刻可移动平台在世界坐标系下的观测位置,可以对这两个观测位置进行融合(例如直接求平均,或者进行加权平均),得到融合观测位置,并将融合观测位置作为目标观测数据中的观测位置。
可以理解的是,如果目标设备在世界坐标系下处于运动状态,与目标设备相对静止的可移动平台在世界坐标系下也处于运动状态。这时,利用设置于可移动平台的轮式里程计、定位传感器等,是可以实时观测目标设备在世界坐标系下的速度、姿态、位置的。这时,可以将目标约束方式确定为第六约束方式,第六约束方式也可以称为可移动平台约束方式。
假设目标预测数据包括第二预测位置,目标观测数据包括观测位置,第二预测位置表示为观测位置表示为第二误差表示为可以采用如下公式进行计算:
假设目标预测数据包括第二预测姿态,目标观测数据包括观测姿态,第二预测姿态表示为观测姿态表示为第二误差表示为可以采用如下公式进行计算:
假设目标预测数据包括第二预测速度,目标观测数据包括观测速度,第二预测速度表示为观测速度表示为第二误差表示为可以采用如下公式进行计算:
需要说明的是,如果目标预测数据和目标观测数据中包括的参量数量均为一个以上,第二误差可以由中的至少两者组合得到。
本公开的实施例中,对于目标设备在世界坐标系下处于运动状态的情况,采用可移动平台约束方式,可以通过对位置、姿态、速度中的至少一者做差,高效可靠地确定出第二误差以用于预测状态量的修正。
由以上介绍可知,设置于可移动平台的轮式里程计、定位传感器等运动传感器不仅能够用于确定可移动平台在世界坐标系下的运动情况信息,以便据此得到第一运动情况信息,还能够用于确定预测状态量的更新所需的第二误差。
可以理解地,在不冲突的前提下,上述适用于相同运动情况(不管是第一运动情况还是第二运动情况)下的约束方式是可以叠加的。为了便于理解,上文中单独进行了说明。
在一些可选示例中,目标设备设置有第一无线定位设备;用户设备设置有与第一无线定位设备配对的第二无线定位设备;观测相对位置通过第一无线定位设备和第二无线定位设备的协同工作确定。
在本公开的一些可选实施方式中,第一无线定位设备可以是集成于目标设备的设备,也可以是不同于目标设备的单独设备,通过螺接、卡接、插接、魔术贴等方式固定于目标设备。第二无线定位设备可以是集成于用户设备的设备,也可以不同于用户设备的单独设备,可以通过螺接、卡接、插接、魔术贴等方式固定于用户设备。
本公开的实施例中,目标设备和用户设备上可以分别设置无线定位设备,包括但不限于超宽带(Ultra Wideband,UWB)定位设备、蓝牙定位设备、无线保真(Wireless-Fidelity,WiFi)定位设备等。这样,利用成对的无线定位设备之间传输的无线射频信号,通过计算可以高效可靠地得到当前修正时刻用户设备与目标设备之间的观测相对位置,并且,即便使用用户设备的用户在可移动平台上随意变换位置、转头等,也不影响观测相对位置的获得。
在图1所示实施例的基础上,如图4所示,该方法还包括步骤172和步骤174。
步骤172,获取用户设备与目标设备之间的观测相对姿态;其中,观测相对姿态通过第一无线定位设备和第二无线定位设备的协同工作确定。
在步骤172中,利用目标设备和用户设备上设置的成对的无线定位设备之间传输的无线射频信号,通过计算还可以得到当前修正时刻用户设备与目标设备之间的观测相对姿态。
步骤174,确定观测相对姿态与预测相对姿态之间的第三误差。
在步骤174中,可以将观测相对姿态与预测相对姿态做差,得到的结果即可作为第三误差。与第一误差类似,第三误差也可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
步骤180,包括步骤1804。
步骤1804,利用第一误差和第三误差,对预测状态量进行修正。
需要说明的是,步骤1804的实施方式参照上文中对步骤1802的实施方式的介绍即可,在此不再赘述。
本公开的实施例中,可以利用成对的无线定位设备之间传输的无线射频信号,获得用户设备与目标设备之间的观测相对姿态,通过对姿态做差可以得到第三误差,第三误差可以与第一误差一并用于预测状态量的修正,这样,预测状态量的修正所参考的数据更加丰富,从而有利于提升修正效果。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
步骤140,包括以下任一项:基于可移动平台的平台坐标系下的预设位置,确定观测相对位置;基于用户输入的可移动平台的平台坐标系下的位置信息,确定观测相对位置;基于目标连接接口所在的位置,确定观测相对位置;其中,目标连接接口为可移动平台上设置的用于连接用户设备的接口。
在本公开的一些可选实施方式中,可以通过可移动平台的二维图纸(例如CAD图纸),获得可移动平台的尺寸。如果可移动平台的尺寸不大,例如可移动平台为车辆的情况,用户仅能在几平米的范围内活动,可以直接预设一个用户在可移动平台的平台坐标系下的位置,该位置可以作为预设位置。如果目标设备的设备坐标系与可移动平台的平台坐标系为同一坐标系,可以直接将预设位置作为观测相对位置,或者,可以对预设位置求逆矩阵,并将求得的结果作为观测相对位置。如果目标设备的设备坐标系与可移动平台的平台坐标系为不同坐标系,可以参考预先确定的目标设备和可移动平台各自使用的坐标系之间的转换关系,通过对预设位置进行转换,将预设位置的转换结果直接作为观测相对位置,或者,可以对预设位置的转换结果求逆矩阵,并将求得的结果作为观测相对位置。
在本公开的另一种实施方式中,用户可以通过触控输入、语音输入等方式,输入自身在可移动平台的平台坐标系下的位置信息。该位置信息表示可移动平台的平台坐标系下的一个位置,由该位置可以确定观测相对位置,具体确定方式参照上文中对基于预设位置确定观测相对位置的方式的介绍即可,在此不再赘述。
在本公开的再一种实施方式中,可移动平台上可以设置有目标连接接口,通过目标连接接口,可以实现可移动平台与用户设备之间的有线连接。由于目标连接接口在可移动平台上的设置位置是固定不动的,可以通过目标连接接口所在的位置,估计用户设备在可移动平台的平台坐标系下的实际位置。由该实际位置可以确定观测相对位置,具体确定方式参照上文中对基于预设位置确定观测相对位置的方式的介绍即可,在此不再赘述。
本公开的实施例中,通过预先设定位置的方式,或者通过用户主动进行位置信息输入的方式,再或者通过参考连接接口位置的方式,可以利用非视觉感知方式,实现第一观测位置的获取。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、 目标设备可移除地固定于可移动平台。
在图1所示实施例的基础上,如图5所示,该方法还包括步骤110和步骤112。
步骤110,确定可移动平台的平台类型。
可移动平台的平台类型包括但不限于车辆类型、轮船类型、飞机类型、火车类型,车辆类型还可以进一步细分为大型车辆类型、中型车辆类型、小型车辆类型等,轮船类型、飞机类型、火车类型等也可以按此规则进行细分。
本公开的一些可选实施方式中,用户设备与可移动平台之间可以建立通信连接,在建立通信连接的过程中,可以获取可移动平台的相关信息,包括但不限于标识信息,类型信息等。通过对类型信息的识别,可以确定可移动平台的平台类型。
在本公开的另一些可选实施方式中,用户设备可以设置有摄像头,用户设备可以通过摄像头采集自身所处环境的图像,对图像进行目标检测,以确定图像匹配哪一类可移动平台,由此可以确定可移动平台的平台类型。
步骤112,确定与平台类型匹配的初始协方差矩阵。
需要说明的是,可以预先设置平台类型与初始协方差矩阵之间的对应关系。在本公开的一些可选实施方式中,平台类型可以用于表示平台大小,平台大小与初始协方差矩阵之间可以呈正相关。也即,可移动平台尺寸越大,对应的初始协方差矩阵越大,可移动平台越小,对应的初始协方差矩阵越小。
这样,可以依据预先设置的对应关系,确定与步骤110中确定的平台类型对应的初始协方差矩阵,确定的初始协方差矩阵可以作为步骤112中的初始协方差矩阵。
步骤180,包括步骤1806。
步骤1806,利用预测状态量对应的预测协方差矩阵和第一误差,对预测状态量进行修正;其中,预测状态量和预测协方差矩阵均与初始协方差矩阵关联。
需要说明的是,卡尔曼滤波过程可以迭代执行多次,例如,可以由上一修正时刻的修正状态量和对应的修正协方差矩阵,通过一次卡尔曼滤波,得到当前修正时刻的修正状态量和对应的修正协方差矩阵,再由当前修正时刻的修正状态量和对应的修正协方差矩阵,通过另一次卡尔曼滤波,得到下一修正时刻的修正状态量和对应的修正协方差矩阵。在首次执行卡尔曼滤波时,由于并不存在上一修正时刻的修正协方差矩阵,可以将步骤112中确定的初始协方差矩阵作为上一修正时刻的修正协方差矩阵参与计算。这样,通过参考可移动平台的平台类型,选择合适的初始协方差矩阵参与计算,有利于保证计算中使用的初始协方差矩阵的合理性,从而有利于保证卡尔曼滤波的滤波效果。
需要说明的是,上文中在基于可移动平台的平台坐标系下的预设位置,确定观测相对位置的过程中,也可以运用可移动平台的平台类型。例如,可以根据预先设置的平台类型与预设位置之间的对应关系,确定与可移动平台的平台类型匹配的预设位置,并基于所确定的预设位置,实现观测相对位置的确定。这样能够参考可移动平台的平台大小,确定合适的观测相对位置以用于预测状态量的修正,从而保证修正效果。
在一些可选示例中,用户设备为头戴显示设备,该方法还包括:基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制。
可选地,本公开的实施例中涉及的渲染也可以称为Render;本公开的实施例中涉及的调整可以包括移位和扭曲(warping)中的至少一种。
在本公开的一些可选实施方式中,头戴显示设备的渲染引擎可以参考修正相对姿态,对虚拟画面进行渲染,并将渲染结果更新至头戴显示设备的显示屏中显示。
在本公开的另一些可选实施方式中,可以参考修正相对姿态做虚拟画面的画面渲染,调整虚拟画面在头戴显示设备的显示屏中的显示位置和姿态。
在本公开的再一些可选实施方式中,可以参考修正相对姿态做虚拟画面的画面渲染,并配置头戴显示设备中的光机。
本公开的实施例中,基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行渲 染、调整、控制等处理,能够使得头戴显示设备呈现预定的显示效果,例如上述“示例性概述”部分提及的直接通过头戴显示设备投屏的效果、以特定对象为基准的3dof显示效果等。
在一些可选示例中,用户设备为控制器,目标设备为头戴显示设备,该方法还包括:基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
可选地,本公开的实施例中的控制器包括但不限于用于控制头戴显示设备的手机、手柄、指环等。
本公开的实施例中,通过参考修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制,可以借助控制器,实现与虚拟画面的交互,例如将虚拟画面中的某一网页窗口由一个位置拖动至另一个位置,再例如调整虚拟画面中的虚拟射线的发射方向等。
在一些可选示例中,用户设备包括:头戴显示设备和控制器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;该方法还包括:基于头戴显示设备与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制;基于控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
本公开的实施例中,通过参考头戴显示设备与目标设备之间的修正相对姿态,以及控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制,既能够使得头戴显示设备呈现预定的显示效果,还能够借助控制器,实现与虚拟画面的交互。
为了实现用户设备与目标设备的相对姿态的修正,可以将卡尔曼滤波算法的状态量设置为至少包括:用户设备与目标设备之间的预测相对位置Pvg、预测相对姿态Rvg、预测相对速度Vvg,设置于目标设备的第二惯性测量单元的角速度偏置和加速度偏置以及设置于用户设备的第一惯性测量单元的角速度偏置和加速度偏置可选地,卡尔曼滤波算法的状态量还可以包括:目标设备在世界坐标系下的预测位置Pv、预测姿态Rv、预测速度Vv。可选地,可以给状态量中的各个参量添加“predict”这一上标,或者在已有上标之后增加“predict”,以表示预测状态量。
具体实施时,目标设备可以集成于可移动平台,或者可移除地固定于可移动平台;用户可以在可移动平台上使用用户设备。如图6所示,可以通过如下步骤实现状态量的更新。
S0,获取第一惯性测量单元采集的数据。
S1,获取第二惯性测量单元采集的数据。
S2,确定预测状态量。
S3,获取设置于可移动平台的轮式里程计、GPS等采集的数据。
S4,获取可移动平台在世界坐标系下的运动情况信息(相当于上文中的第一运动情况信息)。
S5,获取用户设备在世界坐标系下的运动情况信息(相当于上文中的第二运动情况信息)。
S6,获取用户设备在可移动平台内的位置(相当于上文中的观测相对位置)。
S7,根据运动情况信息选择约束方式。
S8,对预测状态量进行修正,得到修正状态量。
上述S2中确定的预测状态量可以至少包括:还可以包括
上述S4中,可以采用以下方式中的至少一种方式,确定可移动平台在世界坐标系下的运动情况信息:
(1)参考轮式里程计采集的数据,计算可移动平台的速度,并依据计算得到的速度,确定可移动平台是否静止;
(2)从GPS信号中获取可移动平台的速度,并依据计算得到的速度,确定可移动平台是否静止;
(3)参考刹停、档位信号,确定可移动平台是否静止;
(4)依据可移动平台的惯性测量单元(其可能是第二惯性测量单元,或者是第三惯性测量单元)的角速度和加速度在最近一段时间内的方差是否分别小于设定的阈值,确定可移动平台是否静止。
上述S5中,可以依据第一惯性测量单元的角速度和加速度在最近一段时间内的方差是否分别小于设定的阈值,确定用户设备在世界坐标系下的运动情况信息。
上述S6中,观测相对位置既可以利用成对的无线定位设备的协同工作得到,也可以通过预先设定位置的方式,通过用户主动进行位置信息输入的方式,或者通过参考连接接口位置的方式得到。需要说明的是,将观测相对位置用于预测状态量的修正可以称为相对位置约束方式。
上述S7中,依据可移动平台和用户设备各自的运动情况信息,可以选择合适的约束方式(即上文中的目标约束方式),可供选择的约束方式可以包括:零速度约束方式、零角速度约束方式、目标设备的重力约束方式、用户设备的重力约束方式、用户设备和目标设备两者的相对重力约束方式、可移动平台约束方式。
上述S8中,可以依据上述S7中选择的约束方式,得到相应实际观测与预测观测,并计算实际观测与预测观测之间的残差(例如上文中的第一误差、第二误差、第三误差),依据残差,可以对预测状态量进行修正,得到修正状态量。
下面对各种约束方式进行说明。
(1)相对位置约束
通过上述的S2,可以得到作为预测相对位置的通过上述的S6,可以得到作为观测相对位置的上述的S8中,通过对做差,可以得到作为第一误差的
用户在可移动平台上使用用户设备时,用户相对于可移动平台的位置变化量往往并不大。可移动平台在世界坐标系下的移动距离S、作为相对姿态维度对应的误差(也可以称为相对姿态误差)的之间为正相关。并且,可移动平台在世界坐标系下的移动距离S越大,之间的相关性越大,具体可参见图7。
由于正相关,由可以反推依据可以确定相对姿态维度对应的修正量,将相对姿态维度对应的修正量与叠加,可以实现对的修正。按照类似的方式,还可以实现预测状态量中的其他参量的修正,由此可以得到修正状态量。
(2)零速度约束方式
通过上述的S2,可以得到作为第二预测速度的如果上述的S4中得到的运动情况信息表征可移动平台处于静止状态,可以认为可移动平台在世界坐标系下的速度为零。作为目标设备在世界坐标系下的观测速度的为零,上述的S7中选择的约束方式可以为零速度约束方式。上述的S8中,通过对做差,可以得到作为第二误差的
可以理解的是,与作为第二预测加速度偏置的关联, 关联,关联,利用这些关联性,可以由反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(3)零角速度约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的角速度的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,可以认为可移动平台在世界坐标系下的角速度为零。作为目标设备在世界坐标系下的观测角速度的为零。上述的S7中选择的约束方式可以为零角速度约束方式。上述的S8中,通过将的差值做差,可以得到作为第二误差的
可以理解的是,关联,关联,利用这些关联性,可以由反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(4)目标设备的重力约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的加速度的av。通过上述的S2,可以得到作为第二预测姿态的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,可以认为第二惯性测量单元测出的加速度方向为重力方向。上述的S7中选择的约束方式可以为目标设备的重力约束方式。上述的S8中,通过将av做差,可以得到作为第二误差的gerror
可以理解的是,gerror关联,关联,利用这些关联性,可以由gerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(5)用户设备的重力约束方式
通过上述的S1,可以得到作为用户设备在世界坐标系下的加速度的ag。通过上述的S2,可以得到作为第二预测姿态的通过将相乘,可以得到作为用户设备在世界坐标系下的预测姿态的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,上述的S5得到的运动情况信息表征用户设备处于静止状态,可以认为第一惯性测量单元测出的加速度方向为重力方向。上述的S7中选择的约束方式可以为用户设备的重力约束方式。上述的S8中,通过将ag做差,可以得到作为第二误差的gerror
可以理解的是,gerror直接与关联,利用该关联性,可以由gerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(6)用户设备和目标设备两者的相对重力约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的加速度的av。通过上述的S1,可以得到作为用户设备在世界坐标系下的加速度的ag。如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,上述的S5得到的运动情况信息表征用户设备处于静止状态,可以认为av与ag理论上沿同一个方向(即重力方向)。上述的S7中选择的约束方式可以为用户设备和目标设备两者的相对重力约束方式。上述的S8中,通过将ag做差,可以得到作为第二误差的dgerror
可以理解的是,dgerror直接与关联,利用该关联性,可以由dgerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(7)可移动平台约束方式
通过上述的S2,可以得到依次作为目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度的通过利用S4中得到的数据进行计算,可以确定作为观测位置的作为观测姿态的作为观测速度的如果上述的S4得到的运动情况信息表征可移动平台处于运动状态,可以判定可移动平台处于可以获知其位置、姿态、速度等信息的状态。上述的S7中选择的约束方式可以为可移动平台约束方式。上述的S8中,通过将做差,或者将做差,或者将做差,可以得到第三误差。基于第三误差,可以反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
在一些实施例中,相对位置约束可以是默认使用的约束方式,不管目标设备和用户设备处于何种状态,相对位置约束方式都会运行,以实现第一误差的确定,以便将第一误差用于预测状态量的修正。而其他约束方式是可选的约束方式,可以根据目标设备和用户设备所处的状态,决定是否运用其他约束方式,以及具体运用其他约束方式中的哪些约束方式。
在一些实施方式中,也可以不将相对位置约束设置为默认使用的约束方式,这时,可以参考目标设备和用户设备所处的状态,或者其他因素,从本公开的实施例介绍的所有可能的约束方式中,选择合适的约束方式,并运用所选择的约束方式。
在一些实施方式中,可以根据实际需求,对本公开的实施例介绍的所有可能的约束方式进行组合使用,例如同时使用零速度约束方式和零角速度约束方式,再例如同时使用相 对位置约束方式和可移动平台约束方式。
需要说明的是,以上方法实施例中介绍的均是修正用户设备与目标设备的相对姿态的情况,本公开的实施例的适用范围并不局限于这种情况,利用本公开的实施例中的构思,可以根据实际需求,对任意两个均设置有惯性测量单元的设备的相对姿态进行修正。
另外,本公开的实施例中涉及的各个观测位置也可以称为观测平移,各个预测位置也可以称为预测平移。
本公开的实施例提供的任一种用于修正用户设备与目标设备的相对姿态的方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种用于修正用户设备与目标设备的相对姿态的方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于修正用户设备与目标设备的相对姿态的方法。下文不再赘述。
本公开的实施例还提供一种用于确定第一设备与第二设备的相对姿态的方法,第一设备设置有第一惯性测量单元,第二设备设置有第二惯性测量单元,该方法包括:
获取状态量,第一惯性测量单元采集的数据,和第二惯性测量单元采集的数据,其中,状态量包括第一设备与第二设备之间的相对位置、相对姿态、相对速度、第一惯性测量单元的第一角速度偏置、第一惯性测量单元的第一加速度偏置、第二惯性测量单元的第二角速度偏置、第二惯性测量单元的第二加速度偏置;
确定预测状态量,预测状态量包括以下两种中的至少一种:第一设备与第二目标设备之间的预测相对位置、预测相对姿态、预测相对速度;第一设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及第二设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;
获取第一设备与第二设备之间的观测相对位置;其中,观测相对位置为预先设定的数据;
确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;
利用第一误差,对预测状态量进行修正,以得到第一设备与第二设备之间的修正相对姿态。
本公开的实施例还提供一种用于修正第一设备与第二设备的相对姿态的方法,第一设备设置有第一惯性测量单元,第二设备设置有第二惯性测量单元。该方法包括:
获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:第一设备与第二设备之间的预测相对位置、预测相对姿态、预测相对速度,其中预测相对速度基于符合杆臂约束条件的状态估计方程得到;第一设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及第二设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;
获取第一设备与第二设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;
确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;
利用第一误差,对预测状态量进行修正,以得到第一设备与第二设备之间的修正相对姿态。
可选地,参考坐标系对应的惯性测量单元为第一惯性测量单元,状态估计方程可以包括第一方程:
可选地,参考坐标系对应的惯性测量单元为第一惯性测量单元,状态估计方程可以包括第二方程:

其中,表示第二设备与第一设备之间在惯性坐标系下的相对速度投影至参考坐标系下得到的投影结果。
参考坐标系对应的惯性测量单元可以理解为第一设备,也就是目标设备的惯性测量单元。
可选地,状态估计方程的状态量可以表示为如下形式:
可选地,如果状态估计方程包括上述的第一方程,则除了包括第一方程之外,状态估计方程还可以包括如下方程:



可选地,如果状态估计方程包括上述的第二方程,则除了包括第二方程之外,状态估计方程还可以包括如下方程:


示例性装置
图8是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,图8所示的装置包括第一获取模块820、第二获取模块840、第一确定模块860和修正模块880。
第一获取模块820,用于获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;第二获取模块840,用于获取用户设 备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;第一确定模块860,用于确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;修正模块880,用于利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
在一些可选示例中,如图9所示,该装置还包括:第三获取模块862,用于获取目标设备在世界坐标系下的第一运动情况信息;第二确定模块864,用于基于第一运动情况信息,确定目标约束方式;第四获取模块866,用于获取目标约束方式对应的目标观测数据;其中,目标观测数据基于非视觉数据确定,目标观测数据包括:用户设备和目标设备中的至少一者在世界坐标系下的观测数据;第五获取模块868,用于基于预测状态量,获取目标约束方式对应的目标预测数据;其中,目标预测数据包括:目标观测数据所归属的设备在世界坐标系下的预测数据;第三确定模块870,用于确定目标观测数据与目标预测数据之间的第二误差;修正模块880,具体用于:利用第一误差和第二误差,对预测状态量进行修正。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第一约束方式;其中,响应于目标约束方式为第一约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测速度,预设观测速度为零,目标预测数据包括:第二预测速度。
在一些可选示例中,预测状态量还包括以下至少一项:第一惯性测量单元的第一预测角速度偏置;第一惯性测量单元的第一预测加速度偏置;第二惯性测量单元的第二预测角速度偏置;第二惯性测量单元的第二预测加速度偏置。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第二约束方式;其中,响应于目标约束方式为第二约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测角速度,预设观测角速度为零,目标预测数据包括:目标设备在世界坐标系下的角速度与第二预测角速度偏置的差值,目标设备在世界坐标系下的角速度通过第二惯性测量单元采集。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第三约束方式;其中,响应于目标约束方式为第三约束方式,目标观测数据包括:通过第二惯性测量单元采集的,目标设备在世界坐标系下的加速度,目标预测数据包括:利用第二预测姿态和世界坐标系下的重力加速度计算得到的,目标设备在世界坐标系下的加速度。
在一些可选示例中,如图9所示,该装置还包括:第六获取模块863,用于获取用户设备在世界坐标系下的第二运动情况信息;第二确定模块864,具体用于:基于第一运动情况信息和第二运动情况信息,确定目标约束方式。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第四约束方式;其中,响应于目标约束方式为第四约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态、第二预测姿态和世界坐标系下的重力加速度计算得到的,用户设备在世界坐标系下的加速度。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第五约束方式;其中,响应于目标约束方式为第五约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态以及通过第二惯性测量单元采集的目标设备在世界坐标系下的加速度计算得到的,用户设备在世界坐标系下的加速度。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于运动状态,确定目标约束方式为第六约束方式;其中,响应于目标约束方式为第六约束方式,目标观测数据包括以下至少一项:目标设备在世界坐标系下的观测位置、观测姿态、观测速度,目标预测数据包括以下至少一项:第二预测位置、第二预测姿态、第二预测速度,并且,目标观测数据和目标预测数据包括的参量类型一致,目标观测数据基于设置于可移动平台的以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;第一运动情况信息基于以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元;轮式里程计、定位传感器、档位传感器、刹停信号传感器均设置于可移动平台,响应于目标设备集成于可移动平台,目标惯性测量单元为第二惯性测量单元,响应于目标设备可移除地固定于可移动平台,目标惯性测量单元为以下两项中的一项:第二惯性测量单元、不同于第二惯性测量单元的惯性测量单元。
在一些可选示例中,目标设备设置有第一无线定位设备;用户设备设置有与第一无线定位设备配对的第二无线定位设备;观测相对位置通过第一无线定位设备和第二无线定位设备的协同工作确定。
在一些可选示例中,如图10所示,该装置还包括:第七获取模块872,用于获取用户设备与目标设备之间的观测相对姿态;其中,观测相对姿态通过第一无线定位设备和第二无线定位设备的协同工作确定;第四确定模块874,用于确定观测相对姿态与预测相对姿态之间的第三误差;修正模块880,具体用于:利用第一误差和第三误差,对预测状态量进行修正。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;第二获取模块840,具体用于以下任一项:基于可移动平台的平台坐标系下的预设位置,确定观测相对位置;基于用户输入的可移动平台的平台坐标系下的位置信息,确定观测相对位置;基于目标连接接口所在的位置,确定观测相对位置;其中,目标连接接口为可移动平台上设置的用于连接用户设备的接口。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;如图11所示,该装置还包括:第五确定模块812,用于确定可移动平台的平台类型;第六确定模块814,用于确定与平台类型匹配的初始协方差矩阵;修正模块880,具体用于:利用预测状态量对应的预测协方差矩阵和第一误差,对预测状态量进行修正;其中,预测状态量和预测协方差矩阵均与初始协方差矩阵关联。
在一些可选示例中,用户设备为头戴显示设备,该装置还包括:第一处理模块,用于基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制。
在一些可选示例中,用户设备为控制器,目标设备为头戴显示设备,该装置还包括:第一控制模块,用于基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
在一些可选示例中,用户设备包括:头戴显示设备和控制器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;该装置还包括:第二处理模块,用于基于头戴显示设备与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制;第二控制模块,用于基于控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
在本公开的装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。
示例性电子设备
下面,参考图12来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们不同的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图12图示了根据本公开实施例的电子设备1200的框图。
如图12所示,电子设备1200包括一个或多个处理器1210和存储器1220。
处理器1210可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1200中的其他组件以执行期望的功能。
存储器1220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1210可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于修正用户设备与目标设备的相对姿态的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1200还可以包括:输入装置1230和输出装置1240,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备1200是第一设备或第二设备时,该输入装置1230可以是麦克风或麦克风阵列。在电子设备1200是单机设备时,该输入装置1230可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1230还可以包括例如键盘、鼠标等等。
该输出装置1240可以向外部输出各种信息。该输出装置1240可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图12中仅示出了该电子设备1200中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1200还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于修正用户设备与目标设备的相对姿态的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于修正用户设备与目标设备的相对姿态的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、 红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (15)

  1. 一种用于修正用户设备与目标设备的相对姿态的方法,所述用户设备设置有第一惯性测量单元,所述目标设备设置有第二惯性测量单元,所述方法包括:
    获取预测状态量;其中,所述预测状态量基于所述第一惯性测量单元采集的数据和所述第二惯性测量单元采集的数据确定,所述预测状态量包括以下两种中的至少一种:所述用户设备与所述目标设备之间的预测相对位置、预测相对姿态、预测相对速度;所述用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及所述目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;
    获取所述用户设备与所述目标设备之间的观测相对位置;其中,所述观测相对位置基于非视觉数据确定;
    确定所述观测相对位置与所述预测相对位置之间的第一误差;其中,所述预测相对位置满足以下两项中的一项:所述预测相对位置为所述预测状态量中的预测相对位置、所述预测相对位置基于所述预测状态量中的所述第一预测位置和所述第二预测位置确定;
    利用所述第一误差,对所述预测状态量进行修正,以得到所述用户设备与所述目标设备之间的修正相对姿态。
  2. 根据权利要求1所述的方法,其中,所述方法还包括:
    获取所述目标设备在世界坐标系下的第一运动情况信息;
    基于所述第一运动情况信息,确定目标约束方式;
    获取所述目标约束方式对应的目标观测数据;其中,所述目标观测数据基于非视觉数据确定,所述目标观测数据包括:所述用户设备和所述目标设备中的至少一者在世界坐标系下的观测数据;
    基于所述预测状态量,获取所述目标约束方式对应的目标预测数据;其中,所述目标预测数据包括:所述目标观测数据所归属的设备在世界坐标系下的预测数据;
    确定所述目标观测数据与所述目标预测数据之间的第二误差;
    所述利用所述第一误差,对所述预测状态量进行修正,包括:
    利用所述第一误差和所述第二误差,对所述预测状态量进行修正。
  3. 根据权利要求2所述的方法,其中,所述基于所述第一运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于静止状态,确定目标约束方式包括第一约束方式;
    其中,响应于所述目标约束方式包括第一约束方式,所述目标观测数据包括:所述目标设备在世界坐标系下的预设观测速度,所述预设观测速度为零,所述目标预测数据包括:所述第二预测速度。
  4. 根据权利要求2或3所述的方法,其中,所述预测状态量还包括以下至少一项:
    所述第一惯性测量单元的第一预测角速度偏置,
    所述第一惯性测量单元的第一预测加速度偏置,
    所述第二惯性测量单元的第二预测角速度偏置,
    所述第二惯性测量单元的第二预测加速度偏置;
    其中,所述基于所述第一运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于静止状态,确定目标约束方式包括第二约束方式;
    其中,响应于所述目标约束方式包括第二约束方式,所述目标观测数据包括:所述目标设备在世界坐标系下的预设观测角速度,所述预设观测角速度为零,所述目标预测数据包括:所述目标设备在世界坐标系下的角速度与所述第二预测角速度偏置的差值,所述目标设备在世界坐标系下的角速度通过所述第二惯性测量单元采集。
  5. 根据权利要求2至4中任一项所述的方法,其中,所述基于所述第一运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于静止状态,确定目标约束方式包括第三约束方式;
    其中,响应于所述目标约束方式包括第三约束方式,所述目标观测数据包括:通过所述第二惯性测量单元采集的,所述目标设备在世界坐标系下的加速度,所述目标预测数据包括:利用所述第二预测姿态和世界坐标系下的重力加速度计算得到的,所述目标设备在世界坐标系下的加速度。
  6. 根据权利要求2至4中任一项所述的方法,其中,所述基于所述第一运动情况信息,确定目标约束方式之前,所述方法还包括:
    获取所述用户设备在世界坐标系下的第二运动情况信息;
    所述基于所述第一运动情况信息,确定目标约束方式,包括:
    基于所述第一运动情况信息和所述第二运动情况信息,确定目标约束方式。
  7. 根据权利要求6所述的方法,其中,所述基于所述第一运动情况信息和所述第二运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于静止状态,所述第二运动情况信息表征所述用户设备处于静止状态,确定目标约束方式包括第四约束方式;
    其中,响应于所述目标约束方式包括第四约束方式,所述目标观测数据包括:通过所述第一惯性测量单元采集的,所述用户设备在世界坐标系下的加速度,所述目标预测数据包括:利用所述预测相对姿态、所述第二预测姿态和世界坐标系下的重力加速度计算得到的,所述用户设备在世界坐标系下的加速度。
  8. 根据权利要求6所述的方法,其中,所述基于所述第一运动情况信息和所述第二运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于静止状态,所述第二运动情况信息表征所述用户设备处于静止状态,确定目标约束方式包括第五约束方式;
    其中,响应于所述目标约束方式包括第五约束方式,所述目标观测数据包括:通过所述第一惯性测量单元采集的,所述用户设备在世界坐标系下的加速度,所述目标预测数据包括:利用所述预测相对姿态以及通过所述第二惯性测量单元采集的所述目标设备在世界坐标系下的加速度计算得到的,所述用户设备在世界坐标系下的加速度。
  9. 根据权利要求2所述的方法,其中,所述基于所述第一运动情况信息,确定目标约束方式,包括:
    响应于所述第一运动情况信息表征所述目标设备处于运动状态,确定目标约束方式包括第六约束方式;
    其中,响应于所述目标约束方式包括第六约束方式,所述目标观测数据包括以下至少一项:所述目标设备在世界坐标系下的观测位置、观测姿态、观测速度,所述目标预测数据包括以下至少一项:所述第二预测位置、所述第二预测姿态、所述第二预测速度,并且,所述目标观测数据和所述目标预测数据包括的参量类型一致,所述目标观测数据基于设置于可移动平台的以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器,所述目标设备满足以下两项中的一项:所述目标设备集成于所述可移动平台、所述目标设备可移除地固定于所述可移动平台。
  10. 根据权利要求2至9所述的方法,其中,
    所述目标设备满足以下两项中的一项:所述目标设备集成于可移动平台、所述目标设备可移除地固定于可移动平台;
    所述第一运动情况信息基于以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元;
    所述轮式里程计、所述定位传感器、所述档位传感器、所述刹停信号传感器均设置于所述可移动平台,响应于所述目标设备集成于所述可移动平台,所述目标惯性测量单元为 所述第二惯性测量单元,响应于所述目标设备可移除地固定于所述可移动平台,所述目标惯性测量单元为以下两项中的一项:所述第二惯性测量单元、不同于所述第二惯性测量单元的惯性测量单元。
  11. 根据权利要求1至10中任一项所述的方法,其中,
    所述目标设备设置有第一无线定位设备;
    所述用户设备设置有与所述第一无线定位设备配对的第二无线定位设备;
    所述观测相对位置通过所述第一无线定位设备和所述第二无线定位设备的协同工作确定。
    其中,所述方法还包括:
    获取所述用户设备与所述目标设备之间的观测相对姿态;其中,所述观测相对姿态通过所述第一无线定位设备和所述第二无线定位设备的协同工作确定;
    确定所述观测相对姿态与所述预测相对姿态之间的第三误差;
    所述利用所述第一误差,对所述预测状态量进行修正,包括:
    利用所述第一误差和所述第三误差,对所述预测状态量进行修正。
  12. 根据权利要求1至11中任一项所述的方法,其中,所述目标设备满足以下两项中的一项:所述目标设备集成于可移动平台、所述目标设备可移除地固定于可移动平台;
    所述获取所述用户设备与所述目标设备之间的观测相对位置,包括以下任一项:
    获取预先设定的数据,其中用于确定观测相对位置的非视觉数据为所述预先设定的数据;
    基于所述可移动平台的平台坐标系下的预设位置,确定所述观测相对位置;
    基于用户输入的所述可移动平台的平台坐标系下的位置信息,确定所述观测相对位置;
    基于目标连接接口所在的位置,确定所述观测相对位置;其中,所述目标连接接口为所述可移动平台上设置的用于连接所述用户设备的接口。
  13. 根据权利要求1至11中任一项所述的方法,其中,所述目标设备满足以下两项中的一项:所述目标设备集成于可移动平台、所述目标设备可移除地固定于可移动平台;
    所述方法还包括:
    确定所述可移动平台的平台类型;
    确定与所述平台类型匹配的初始协方差矩阵;
    所述利用所述第一误差,对所述预测状态量进行修正,包括:
    利用所述预测状态量对应的预测协方差矩阵和所述第一误差,对所述预测状态量进行修正;其中,所述预测状态量和所述预测协方差矩阵均与所述初始协方差矩阵关联。
  14. 一种电子设备,其特征在于,包括:
    存储器,用于存储计算机程序产品;
    处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1至13中任一项所述的用于修正用户设备与目标设备的相对姿态的方法。
  15. 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时,实现上述权利要求1至13中任一项所述的用于修正用户设备与目标设备的相对姿态的方法。
PCT/CN2023/143686 2022-12-30 2023-12-30 用于修正用户设备与目标设备的相对姿态的方法及装置 Ceased WO2024141097A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP23911009.1A EP4624869A4 (en) 2022-12-30 2023-12-30 METHOD AND APPARATUS FOR CORRECTING THE RELATIVE ATTITUDE OF A USER EQUIPMENT AND A TARGET DEVICE

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202211732722.7 2022-12-30
CN202211732722 2022-12-30
CN202310158835.9 2023-02-14
CN202310158835.9A CN118274822A (zh) 2022-12-30 2023-02-14 用于修正用户设备与目标设备的相对姿态的方法及装置

Publications (1)

Publication Number Publication Date
WO2024141097A1 true WO2024141097A1 (zh) 2024-07-04

Family

ID=91632764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/143686 Ceased WO2024141097A1 (zh) 2022-12-30 2023-12-30 用于修正用户设备与目标设备的相对姿态的方法及装置

Country Status (3)

Country Link
EP (1) EP4624869A4 (zh)
CN (1) CN118274822A (zh)
WO (1) WO2024141097A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119509527A (zh) * 2024-10-12 2025-02-25 广州汽车集团股份有限公司 智能移动终端自动跟随方法、装置及系统
CN119756451A (zh) * 2024-12-30 2025-04-04 华中光电技术研究所(中国船舶集团有限公司第七一七研究所) 一种冷原子干涉测量设备在运动条件下的输出值修正方法
CN120544087A (zh) * 2025-07-29 2025-08-26 杭州秋果计划科技有限公司 一种目标载体状态估计方法、装置和电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119883094B (zh) * 2025-03-27 2025-07-11 南京邮电大学 融合imu与uwb的智能手机背面手写字母输入方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105698765A (zh) * 2016-02-22 2016-06-22 天津大学 双imu单目视觉组合测量非惯性系下目标物位姿方法
CN111982106A (zh) * 2020-08-28 2020-11-24 北京信息科技大学 导航方法、装置、存储介质及电子装置
CN112985391A (zh) * 2021-04-19 2021-06-18 中国人民解放军国防科技大学 一种基于惯性和双目视觉的多无人机协同导航方法和装置
JP2021173577A (ja) * 2020-04-22 2021-11-01 株式会社FADrone 位置姿勢計測方法及び位置姿勢計測プログラム
CN114199239A (zh) * 2022-01-05 2022-03-18 中国兵器工业计算机应用技术研究所 结合北斗导航的双视觉辅助惯性差分座舱内头部测姿系统
CN114323011A (zh) * 2022-01-05 2022-04-12 中国兵器工业计算机应用技术研究所 一种适用于相对位姿测量的卡尔曼滤波方法
CN114383612A (zh) * 2022-01-05 2022-04-22 中国兵器工业计算机应用技术研究所 一种视觉辅助惯性差分位姿测量系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477465B1 (en) * 1999-11-29 2002-11-05 American Gnc Corporation Vehicle self-carried positioning method and system thereof
US10216265B1 (en) * 2017-08-07 2019-02-26 Rockwell Collins, Inc. System and method for hybrid optical/inertial headtracking via numerically stable Kalman filter
US11647352B2 (en) * 2020-06-20 2023-05-09 Apple Inc. Head to headset rotation transform estimation for head pose tracking in spatial audio applications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105698765A (zh) * 2016-02-22 2016-06-22 天津大学 双imu单目视觉组合测量非惯性系下目标物位姿方法
JP2021173577A (ja) * 2020-04-22 2021-11-01 株式会社FADrone 位置姿勢計測方法及び位置姿勢計測プログラム
CN111982106A (zh) * 2020-08-28 2020-11-24 北京信息科技大学 导航方法、装置、存储介质及电子装置
CN112985391A (zh) * 2021-04-19 2021-06-18 中国人民解放军国防科技大学 一种基于惯性和双目视觉的多无人机协同导航方法和装置
CN114199239A (zh) * 2022-01-05 2022-03-18 中国兵器工业计算机应用技术研究所 结合北斗导航的双视觉辅助惯性差分座舱内头部测姿系统
CN114323011A (zh) * 2022-01-05 2022-04-12 中国兵器工业计算机应用技术研究所 一种适用于相对位姿测量的卡尔曼滤波方法
CN114383612A (zh) * 2022-01-05 2022-04-22 中国兵器工业计算机应用技术研究所 一种视觉辅助惯性差分位姿测量系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4624869A1

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119509527A (zh) * 2024-10-12 2025-02-25 广州汽车集团股份有限公司 智能移动终端自动跟随方法、装置及系统
CN119756451A (zh) * 2024-12-30 2025-04-04 华中光电技术研究所(中国船舶集团有限公司第七一七研究所) 一种冷原子干涉测量设备在运动条件下的输出值修正方法
CN119756451B (zh) * 2024-12-30 2025-09-30 华中光电技术研究所(中国船舶集团有限公司第七一七研究所) 一种冷原子干涉测量设备在运动条件下的输出值修正方法
CN120544087A (zh) * 2025-07-29 2025-08-26 杭州秋果计划科技有限公司 一种目标载体状态估计方法、装置和电子设备

Also Published As

Publication number Publication date
CN118274822A (zh) 2024-07-02
EP4624869A4 (en) 2026-03-18
EP4624869A1 (en) 2025-10-01

Similar Documents

Publication Publication Date Title
WO2024141097A1 (zh) 用于修正用户设备与目标设备的相对姿态的方法及装置
JP7369847B2 (ja) 自動運転車両に対するデータ処理方法及び装置、電子機器、記憶媒体、コンピュータプログラム、ならびに自動運転車両
CN110133582B (zh) 补偿电磁跟踪系统中的畸变
CN112907620B (zh) 相机位姿的估计方法、装置、可读存储介质及电子设备
US9071829B2 (en) Method and system for fusing data arising from image sensors and from motion or position sensors
US9316513B2 (en) System and method for calibrating sensors for different operating environments
CN112484719B (zh) 用于利用惯性约束来增强非惯性跟踪系统的系统和方法
CN110088711B (zh) 磁干扰检测与校正
CN109211277B (zh) 视觉惯性里程计的状态确定方法、装置和电子设备
JP6215337B2 (ja) 適応型スケールおよび/または重力推定
CN109764870B (zh) 基于变换估计量建模方案的载体初始航向估算方法
US10558261B1 (en) Sensor data compression
CN108827341A (zh) 用于确定图像采集装置的惯性测量单元中的偏差的方法
CN111127584A (zh) 建立视觉地图的方法和装置、电子设备和存储介质
WO2024140962A1 (zh) 用于确定相对位姿的方法、装置、系统、设备和介质
CN108106614A (zh) 一种惯性传感器与视觉传感器数据融算法
US11500413B2 (en) Headset clock synchronization
CN115900697A (zh) 对象运动轨迹信息处理方法、电子设备以及自动驾驶车辆
CN118941633B (zh) 设备的定位方法、计算机设备及介质
CN113936044B (zh) 激光设备运动状态的检测方法、装置、计算机设备及介质
CN116989775A (zh) 基于视觉惯性里程计的位姿确定方法、装置、电子设备
WO2013132885A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN115727871A (zh) 一种轨迹质量检测方法、装置、电子设备和存储介质
CN116777967B (zh) 一种数据处理方法、装置、设备及存储介质
CN119218233B (zh) 位姿估计方法、装置以及控制设备

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: 23911009

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023911009

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023911009

Country of ref document: EP

Effective date: 20250626

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2023911009

Country of ref document: EP