Virtual Reality-Based Controller-Based Orb Tracking Method and Virtual Reality Device
By utilizing the attitude information of the light sphere and data from the inertial measurement unit to predict the position of the light sphere, the problems of inaccurate and delayed light sphere positioning in virtual reality are solved, achieving higher precision and speed light sphere tracking and improving the user experience.
Patent Information
- Application Number
- CN202010230449.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-27
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2040-03-27
AI Technical Summary
In existing virtual reality technologies, the positioning of the controller's light sphere is easily affected by environmental factors and image acquisition unit factors, resulting in inaccurate positioning or delays.
By utilizing the attitude information of the previous position of the light sphere, combined with inertial measurement unit data and bone joint model, the attitude and position information of the light sphere at the next position are predicted, avoiding the image processing process and directly generating the display position of the virtual target.
It improves the accuracy and precision of sphere tracking and positioning, reduces latency and stuttering caused by image acquisition and processing, and enhances the speed of user interaction with the virtual reality environment.
Smart Images

Figure CN113516681B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of simulation technology, and in particular to a controller sphere tracking method and virtual reality device based on virtual reality. Background Technology
[0002] With the development of virtual reality (VR) technology, it has been applied to production and daily life. Users can wear VR devices to perform VR operations. These devices contain controllers, also known as gamepads; the controllers emit light orbs; users then track the position of these orbs to locate the target and complete the VR operation.
[0003] In the prior art, the controller can emit visible light; based on the visible light emitted by the controller, a captured image can be obtained, and then the captured image can be processed to obtain the position point of the light sphere, thereby locating the target.
[0004] However, in existing technologies, the position of the light sphere is determined entirely by image processing. Image processing is easily affected by environmental factors and the image acquisition unit itself, which can lead to inaccurate position points of the light sphere, resulting in target positioning errors or positioning delays. Summary of the Invention
[0005] This application provides a virtual reality controller sphere tracking method and virtual reality device to solve the problems of positioning errors or delays in existing sphere tracking technologies.
[0006] In a first aspect, this application provides a controller sphere tracking method based on virtual reality, the method comprising:
[0007] Based on the first attitude information of the previous position point of the photosphere, determine the second attitude information of the next position point adjacent to the previous position point;
[0008] The second position information of the next position point is determined based on the first position information, the first attitude information, and the second attitude information of the previous position point.
[0009] Based on the second location information, the current display position of the virtual target corresponding to the controller is generated and output.
[0010] Further, determining the second position information of the next position point based on the first position information, the first attitude information, and the second attitude information of the previous position point includes:
[0011] Based on the first attitude information, a first predicted position is determined when the light sphere is located at the previous position point, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is located at the previous position point;
[0012] Based on the second attitude information, a second predicted position is determined when the light sphere is located at the next position point, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is located at the next position point;
[0013] The movement displacement of the light sphere is determined based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point;
[0014] The second position information is determined based on the displacement and the first position information.
[0015] Further, based on the first attitude information, determining the first predicted position of the photosphere when it is located at the previous position point includes:
[0016] Based on the first posture information and the preset bone joint model, the first predicted position is determined, wherein the bone joint model is used to indicate the movement relationship of human joints.
[0017] Based on the second attitude information, determining the second predicted position of the photosphere when it is located at the next position point includes:
[0018] The second predicted position is determined based on the second posture information and the bone joint model.
[0019] Furthermore, the bone joint model includes a preset movement radius; determining the first predicted position based on the first posture information and the preset bone joint model includes:
[0020] The first predicted position is determined based on the first posture information, the movement radius, and the preset first movement time, wherein the first movement time is the time required for the light sphere to move from the initial position point to the previous position point;
[0021] Determining the second predicted position based on the second posture information and the bone joint model includes:
[0022] The second predicted position is determined based on the second posture information, the movement radius, and the preset second movement time, wherein the second movement time is the time required for the light sphere to move from the initial position point to the next position point.
[0023] Further, based on the first attitude information of the previous position point of the photosphere, the second attitude information of the next position point adjacent to the previous position point is determined, including:
[0024] Acquire attitude data detected by the inertial measurement unit;
[0025] The second attitude information is determined based on the first attitude information, the attitude data, and the preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point.
[0026] Further, based on the first attitude information, the attitude data, and the preset movement time, the second attitude information is determined, including:
[0027] The movement angle is determined based on the posture data and the movement time;
[0028] The second attitude information is determined based on the movement angle and the first attitude information.
[0029] Furthermore, the attitude data can be any of the following: rotational angular velocity, gravitational acceleration, yaw angle, or pitch angle.
[0030] Furthermore, before determining the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the photosphere, the method further includes:
[0031] Obtain the first position information and first attitude information of the previous position point of the light sphere;
[0032] Among them, obtaining the first position information of the previous position point of the light sphere includes:
[0033] Acquire an image, wherein the image is the image acquired by the acquisition unit when the photosphere is located at the previous position point;
[0034] Based on the image, the position of the light sphere in the image is determined to obtain the first position information.
[0035] Furthermore, before generating and outputting the current display position of the virtual target corresponding to the controller based on the second location information, the method further includes:
[0036] Based on the pre-stored historical position information of the light sphere, the second position information is smoothed to obtain the smoothed second position information.
[0037] Furthermore, the method also includes:
[0038] Based on the second position information and the second attitude information, the current pose information of the light sphere is generated and output.
[0039] Secondly, this application provides a virtual reality-based controller sphere tracking device, the device comprising:
[0040] The first processing unit is used to determine the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the photosphere.
[0041] The second processing unit is used to determine the second position information of the next position point based on the first position information, the first attitude information, and the second attitude information of the previous position point.
[0042] The third processing unit is used to generate and output the current display position of the virtual target corresponding to the controller based on the second position information.
[0043] Further, the second processing unit includes:
[0044] The first processing subunit is configured to determine, based on the first attitude information, a first predicted position when the photosphere is located at the previous position point, wherein the first predicted position characterizes the position of the photosphere relative to the initial position point when it is located at the previous position point;
[0045] The second processing subunit is configured to determine a second predicted position of the photosphere when it is located at the next position point based on the second attitude information, wherein the second predicted position represents the position of the photosphere relative to the initial position point when it is located at the next position point;
[0046] The third processing subunit is used to determine the movement displacement of the light sphere based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point;
[0047] The fourth processing subunit is used to determine the second position information based on the displacement and the first position information.
[0048] Further, the first processing subunit includes:
[0049] The first processing module is used to determine the first predicted position based on the first posture information and the preset bone joint model, wherein the bone joint model is used to indicate the movement relationship of human joints.
[0050] The second processing subunit includes:
[0051] The second processing module is used to determine the second predicted position based on the second posture information and the bone joint model.
[0052] Furthermore, the bone joint model includes a preset movement radius; the first processing module includes:
[0053] The first processing submodule is used to determine the first predicted position based on the first posture information, the movement radius, and the preset first movement time, wherein the first movement time is the time required for the light sphere to move from the initial position point to the previous position point;
[0054] The second processing module includes:
[0055] The second processing submodule is used to determine the second predicted position based on the second attitude information, the movement radius, and the preset second movement time, wherein the second movement time is the time required for the light sphere to move from the initial position point to the next position point.
[0056] Further, the first processing unit includes:
[0057] The fifth processing subunit is used to acquire the attitude data detected by the inertial measurement unit;
[0058] The sixth processing subunit is used to determine the second attitude information based on the first attitude information, the attitude data, and a preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point.
[0059] Furthermore, the sixth processing subunit includes:
[0060] The third processing module is used to determine the movement angle based on the posture data and the movement time;
[0061] The fourth processing module is used to determine the second posture information based on the movement angle and the first posture information.
[0062] Furthermore, the attitude data can be any of the following: rotational angular velocity, gravitational acceleration, yaw angle, or pitch angle.
[0063] Furthermore, the device also includes an acquisition unit, configured to acquire the first position information and the first attitude information of the previous position point of the light sphere before the first processing unit determines the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the light sphere.
[0064] The acquisition unit includes:
[0065] An acquisition subunit is used to acquire an image, wherein the image is the image acquired by the acquisition unit when the photosphere is located at the previous position point;
[0066] The seventh processing subunit is used to determine the position of the photosphere in the image based on the image, so as to obtain the first position information.
[0067] Furthermore, the device also includes:
[0068] The fourth processing unit is used to smooth the second position information based on the pre-stored historical position information of the light sphere before the third processing unit generates and outputs the current display position of the virtual target corresponding to the controller based on the second position information, so as to obtain smoothed second position information.
[0069] Furthermore, the device also includes:
[0070] The fifth processing unit is used to generate and output the current pose information of the light sphere based on the second position information and the second pose information.
[0071] Thirdly, this application provides an electronic device, comprising:
[0072] At least one processor; and
[0073] A memory communicatively connected to the at least one processor; wherein,
[0074] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described in any one of the first aspects.
[0075] Fourthly, this application provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method described in any one of the first aspects.
[0076] Fifthly, this application provides a virtual reality device, the virtual reality device comprising:
[0077] The display screen is used to display images;
[0078] Processor, the processor being configured to:
[0079] Based on the first attitude information of the previous position point of the light sphere on the controller, the second attitude information of the next position point adjacent to the previous position point is determined;
[0080] Based on the first position information, the first attitude information, and the second attitude information of the previous position point, determine the second position information of the next position point;
[0081] Based on the second location information, the position of the controller is determined, thereby enabling the display of the screen.
[0082] Furthermore, the processor is configured to:
[0083] The system receives attitude data sent by the controller and determines the second attitude information based on the first attitude information and the attitude data.
[0084] The virtual reality controller sphere tracking method provided in this application determines the second pose information of the next position point adjacent to the previous position point based on the first pose information of the sphere's previous position point; determines the second position information of the next position point based on the first position information, first pose information, and second pose information of the previous position point; and generates and outputs the current display position of the virtual target corresponding to the controller based on the second position information. By using the sphere's position and pose information at the previous position point to predict its position at the next position point, this method effectively overcomes the problem of image processing methods being easily affected by the background color of the sphere's environment, improving the accuracy and precision of sphere tracking and positioning. Furthermore, since image acquisition and processing of the sphere at the next position point are unnecessary, it avoids delays and stuttering caused by image acquisition and processing, enabling rapid sphere tracking and positioning, improving the user's interaction speed with the virtual reality environment, and enhancing the user experience. Attached Figure Description
[0085] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0086] Figure 1 A flowchart illustrating a virtual reality-based controller sphere tracking method provided in this application embodiment;
[0087] Figure 1a A schematic diagram of a controller equipped with a photosphere provided in an embodiment of this application;
[0088] Figure 1b This application provides a schematic diagram of the trajectory of a photosphere.
[0089] Figure 2 A schematic flowchart illustrating another virtual reality-based controller sphere tracking method provided in this application embodiment;
[0090] Figure 2aA schematic diagram illustrating the vertical rotation of the human head around the neck, as provided in this application embodiment;
[0091] Figure 2b This is a schematic diagram illustrating the left-right rotation of the human eye with the occipital bone of the head as the center, provided as an embodiment of this application.
[0092] Figure 2c A schematic diagram illustrating a human arm rotating around the elbow, provided as an embodiment of this application;
[0093] Figure 2d A schematic diagram showing the movement of the photosphere from point J to point K in an embodiment of this application;
[0094] Figure 3 A schematic diagram of a virtual reality-based controller sphere tracking device provided in an embodiment of this application;
[0095] Figure 4 A schematic diagram of another virtual reality-based controller sphere tracking device provided in this application embodiment;
[0096] Figure 5 This is a schematic diagram of the structure of a virtual reality-based controller light ball tracking device provided in an embodiment of this application.
[0097] The accompanying drawings have illustrated specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to specific embodiments. Detailed Implementation
[0098] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0099] First, let me explain the terms used in this application:
[0100] Light sphere: A light-emitting sphere used in virtual reality technology for tracking and locating targets. The emitted color can be a highly saturated visible light color or infrared light, and it is usually equipped on a controller.
[0101] Attitude: The attitude and rotation of an object in three-dimensional space, represented by rotation matrices, Euler angles, and quaternions.
[0102] Inertial sensors: These are sensors primarily used to detect and measure acceleration, tilt, impact, vibration, rotation, and multi-degree-of-freedom (DoF) motion. They are crucial components for navigation, orientation, and control of moving vehicles. They typically include a gyroscope, accelerometer, and magnetometer, as detailed below:
[0103] (1) Gyroscope can measure angular velocity. The attitude can be obtained by integrating the angular velocity. However, errors will be generated during the integration process. As time increases, the errors will accumulate and eventually lead to obvious attitude deviations.
[0104] (2) Accelerometer, which can measure the acceleration of the device, including gravity information. Therefore, the accelerometer data can be used to correct attitude deviations related to the direction of gravity, that is, the accelerometer can be used to correct the angle deviations of roll and pitch.
[0105] (3) Magnetometer: The yaw angle can be calculated from the magnetometer, and the attitude can be corrected accordingly.
[0106] Specific application scenarios of this application: With the development of virtual reality technology, it has been applied to production and daily life. Users can wear virtual reality devices to perform virtual reality operations. These devices contain controllers, also known as gamepads; these controllers are equipped with light spheres; the position of these light spheres needs to be tracked to locate the target and complete the virtual reality operation. For example, a user can control a character in the virtual reality world to perform a waving gesture by waving a handheld controller equipped with a light sphere.
[0107] In the prior art, the controller can emit visible light; based on the visible light emitted by the controller, a captured image can be obtained, and then the captured image can be processed to obtain the position point of the light sphere, thereby locating the target.
[0108] However, current technologies rely entirely on image processing to determine the position of the light sphere. Image processing is susceptible to interference from environmental factors and the image acquisition unit itself, leading to inaccurate positional data and resulting in target location errors or delays. For example, if the visible light emitted by the light sphere is red, and the environment has a red background, the image acquisition unit may fail to accurately capture the sphere's position, causing inaccurate positioning. Furthermore, the image acquisition device needs to distinguish between the red light emitted by the sphere and the red background, resulting in slower positioning and causing lag or delays.
[0109] The virtual reality-based controller sphere tracking method provided in this application aims to solve the above-mentioned technical problems of the prior art.
[0110] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0111] Figure 1 A flowchart illustrating a virtual reality-based controller sphere tracking method is provided in this application embodiment, as shown below. Figure 1 As shown, the method includes:
[0112] Step 101: Based on the first attitude information of the previous position point of the light sphere, determine the second attitude information of the next position point adjacent to the previous position point.
[0113] In this embodiment, specifically, the executing entity is a terminal device, a server or controller installed on the terminal device, or other device or equipment capable of executing this embodiment. This embodiment takes the application software installed on the terminal device as the executing entity as an example for explanation. The terminal device here can be a VR device.
[0114] In virtual reality technology, luminous orbs are typically used to locate and track moving targets within a spatial range. For example, a controller with a luminous orb held or worn by the user can be used to track and locate the user's movement or actions. The position of the orb is the position of the user or the position of the body part on which the orb is worn, and the trajectory of the orb is the trajectory of the user's movement or the trajectory of the body part on which the orb is worn. Figure 1a This embodiment provides a schematic diagram of a controller equipped with a photosphere, as shown below. Figure 1a As shown, the controller can be equipped with light spheres of different colors, which can represent different users or different parts of a user's body.
[0115] This embodiment illustrates the scenario where the user remains stationary while a portion of their body (e.g., head, eyes, arms, etc.) wears a controller with a light sphere and performs various actions. When the light sphere is detected to have moved from one position to another, it indicates that the body part of the user wearing the light sphere has also moved from the previous position to the next. For example, a user can wear a controller with a light sphere on their head. When the user's head rotates up and down around the neck, the light sphere also rotates accordingly in space. Detecting the positional change of the light sphere indirectly detects the positional change of the user's head during rotation. Alternatively, a user can wear a controller with a light sphere on their eyes. When the user's eyes rotate left and right around the occipital bone of their head, the light sphere also rotates accordingly in space. Detecting the positional change of the light sphere indirectly detects the positional change of the user's eyes during rotation. Or, a user can wear a controller with a light sphere on their arm. When the user's arm rotates around the elbow, the light sphere also rotates accordingly in space. Detecting the positional change of the light sphere indirectly detects the positional change of the user's arm during rotation.
[0116] In this embodiment, specifically, after the light sphere moves from the previous position point to the next position point, both the position information and the attitude information of the light sphere will change. In order to avoid operation delays, lag failures, etc. caused by using image recognition technology to locate the position of the light sphere, this embodiment uses the first attitude information of the light sphere at the previous position point to predict the second attitude information of the light sphere at the next position point, without having to use image recognition technology again to identify and process the position information of the light sphere at the next position point.
[0117] In this embodiment, the "previous position point" and "next position point" refer to two adjacent position points. These can be any two adjacent position points taken from the trajectory of the light sphere, and are not limited to the starting and ending position points of the trajectory. For example, they can be any two position points on the trajectory of the light sphere at preset time intervals dt. The preset time dt can be set according to the requirements of the light sphere position tracking accuracy, such as 10ms, 20ms, etc.
[0118] The method for determining the second pose information of a next position point adjacent to the previous position point based on the first pose information of the previous position point of the photosphere can be a conventional method in the art, such as a pose calculation algorithm. For example, Figure 1b This is a schematic diagram of the motion trajectory of a light sphere provided in this embodiment, such as... Figure 1bAs shown, points A and B are two adjacent positions on the trajectory of the photosphere, with A being the previous position and B being the next. The attitude information of the photosphere at point A is Q0. The attitude information Qt of the photosphere at point B can be calculated using Equations I and II:
[0119] Qt=Qo*Δq Equation Ⅰ;
[0120] Δq=ω*dt (Equation II);
[0121] Where ω is the rotational angular velocity and dt is the preset time interval.
[0122] Step 102: Determine the second position information of the next position point based on the first position information, first attitude information and second attitude information of the previous position point.
[0123] In this embodiment, specifically, based on the first attitude information and the second attitude information, the displacement Δl of the light sphere moving from the previous position point to the next position point between two adjacent position points is calculated and determined. Then, based on the first position information of the previous position point and the displacement Δl, the second position information of the light sphere at the next position point is calculated and determined.
[0124] The purpose of this embodiment is to use the first position information and first attitude information of the light sphere at the previous position point of two adjacent position points to predict the second position information of the light sphere at the next position point. This eliminates the need for image recognition scanning of the second position information of the light sphere at the next position point, effectively overcoming the problems of operation delay, lag and failure caused by using image recognition technology to identify and locate the second position information of the light sphere at the next position point.
[0125] Step 103: Based on the second position information, generate and output the current display position of the virtual target corresponding to the controller.
[0126] In this embodiment, specifically, based on the second position information of the light sphere in real space, the current display position of the virtual target corresponding to the controller is generated and output. The current display position of the virtual target corresponding to the controller can be output on the VR display or in the virtual reality space.
[0127] The method of generating and outputting the current display position of the virtual target corresponding to the controller in the VR display and / or virtual reality space based on the second position information can be a conventional method in the art, and will not be described in detail here.
[0128] In this embodiment, the second attitude information of the next position point adjacent to the previous position point is determined based on the first attitude information of the previous position point of the light sphere; the second position information of the next position point is determined based on the first position information, first attitude information, and second attitude information of the previous position point; and the current display position of the virtual target corresponding to the controller is generated and output based on the second position information. By using the position and attitude information of the light sphere at the previous position point to predict the position information of the light sphere at the next position point, the problem that image processing methods are easily affected by the background color of the environment in which the light sphere is located is effectively overcome. This improves the accuracy and precision of light sphere tracking and positioning. Furthermore, since there is no need to perform image acquisition and image processing on the light sphere at the next position point, the delays and stuttering problems caused by image acquisition and image processing are avoided. This allows for rapid tracking and positioning of the light sphere, improving the user's interaction speed with the virtual reality environment and enhancing the user experience.
[0129] Figure 2 A flowchart illustrating another virtual reality-based controller sphere tracking method provided in this application is shown below. Figure 2 As shown, the method includes:
[0130] Step 201: Obtain the first position information and first attitude information of the previous position point of the light sphere.
[0131] The first position information of the previous position of the light sphere can be obtained using a camera and image recognition technology. Specifically, the camera acquires image data of the light sphere at the previous position, and image recognition technology is used to process the acquired image data to obtain the position of the center of the light sphere. The position of the center of the light sphere is then converted into three-dimensional coordinates to obtain the first position information of the light sphere. Image recognition technology is a conventional technology in this field, and will not be described in detail here.
[0132] An inertial measurement unit (IMU) can be used to acquire IMU data at the previous position of the optical sphere, and the acquired IMU data can be processed to obtain the first attitude information of the optical sphere. Specifically, an attitude calculation algorithm can be used to process the acquired IMU data to obtain the first attitude information of the optical sphere. The first attitude information of the optical sphere includes at least rotational angular velocity, acceleration, or yaw angle. For example, the inertial measurement unit (IMU) can be used to acquire the gravitational acceleration of the optical sphere at the previous position, and the rotational angular velocity can be obtained based on the gravitational acceleration.
[0133] Optionally, obtaining the first position information of the previous position point of the light sphere includes: acquiring an image, wherein the image is an image acquired by the acquisition unit when the light sphere is located at the previous position point; and determining the position of the light sphere in the image based on the image to obtain the first position information. The acquisition unit can be a camera. To obtain the position information of the light sphere in three-dimensional space, multiple cameras can be set up to simultaneously acquire images of the light sphere, and then the first position information of the light sphere at the previous position point can be determined using a spatial triangulation algorithm. Before acquiring images of the light sphere using cameras to obtain the position information of the light sphere, the position and orientation of the cameras need to be pre-calibrated using markers with known positions and orientations.
[0134] Optionally, obtaining the first attitude information of the photosphere at its previous position includes: obtaining the angular velocity of the photosphere at the previous position using a gyroscope; obtaining the acceleration of the photosphere at the previous position using an accelerometer; and obtaining the yaw angle of the photosphere at the previous position using a magnetometer. The methods described above for obtaining the first attitude information using inertial sensors are all conventional methods in the field, and will not be elaborated further in this embodiment.
[0135] Optionally, this embodiment also includes the operation of storing the acquired first location information. The first location information is stored for use in subsequent steps.
[0136] Step 202: Acquire the attitude data detected by the inertial measurement unit; determine the second attitude information based on the first attitude information, the attitude data, and the preset movement time, wherein the movement time is the time required for the photosphere to move from the previous position point to the next position point.
[0137] In this embodiment, specifically, the inertial measurement unit includes an inertial sensor, and the attitude data includes any one of the following: rotational angular velocity, gravitational acceleration, yaw angle, and pitch angle. This embodiment uses rotational angular velocity as the attitude data for explanation.
[0138] Based on the first attitude information, attitude data, and a preset movement time, the second attitude information is determined, including: determining the movement angle based on the attitude data and movement time; and determining the second attitude information based on the movement angle and the first attitude information. The movement time refers to the time required for the optical sphere to move from one position to the next. The length of the movement time can be set according to actual needs. For example, the movement time can be set according to the actual requirements for the accuracy of optical sphere tracking and positioning. When the accuracy requirement for optical sphere tracking and positioning is high, a shorter movement time can be set; conversely, when the accuracy requirement for optical sphere tracking and positioning is low, a longer movement time can be set. Generally, the movement time can be set to 10ms-20ms. The movement angle refers to the angle moved by the optical sphere during its rotational movement within the movement time.
[0139] For example, this embodiment uses the rotational angular velocity ω as the attitude data for explanation. The preset movement time is dt, and the movement angle is Δq = ω * dt. Assuming that the first attitude information of the light sphere at the previous position point is Q0, the second attitude information of the light sphere at the next position point is Qt = Qo * Δq.
[0140] Step 203: Based on the first attitude information, determine the first predicted position of the light sphere when it is located at the previous position point, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is located at the previous position point.
[0141] In this embodiment, specifically, determining the first predicted position of the light sphere when it is located at the previous position point based on the first posture information includes: determining the first predicted position based on the first posture information and a preset bone joint model, wherein the bone joint model is used to indicate the movement relationship of human joints.
[0142] Specifically, the bone and joint model is used to indicate the changes in the position or movement trajectory of human joints over time. When a light sphere is worn at a human joint, the bone and joint model can also be used to indicate the changes in the position or movement trajectory of the light sphere over time. The bone and joint model includes a preset movement radius. Based on the first posture information and the preset bone and joint model, the first predicted position is determined, including: determining the first predicted position based on the first posture information, the movement radius, and a preset first movement time, wherein the first movement time is the time required for the light sphere to move from the initial position point to the previous position point.
[0143] The bone and joint models in this embodiment are adapted to the positions of human joints, with different bone and joint models corresponding to different human joints. For example, the bone and joint models in this embodiment include a head model, an eye model, and an arm model. This embodiment uses the human head, eyes, and arm in a two-dimensional xoy coordinate system as examples to illustrate the bone and joint models.
[0144] Figure 2a This embodiment provides a schematic diagram of a human head rotating up and down around the neck. Figure 2a As shown, point O1 represents the position of the human neck, and points L, M, and N represent the positions of the human head. The human head rotates from point L through point M to point N with a rotational angular velocity ω1. Point L is the starting position of the rotational motion, and points M and N are the preceding and following positions of two adjacent positions, respectively. The distance r1 between the human head and the human neck is the radius of the rotational trajectory. The method of this embodiment is used to determine the first predicted position M(x) of the photosphere at point M. M y M ):
[0145] θM =ω1*dt1 Equation (1)
[0146] x M =r1*sinθ M =r1*sin(ω1*dt1) Equation (2)
[0147] y M =r1*cosθ M =r1*cos(ω1*dt1) Equation (3)
[0148] Equations (1) to (3) above are the head model of this embodiment, where ω1 is the first posture information of the human head at point M, r1 is the movement radius, and dt1 is the preset first movement time.
[0149] Figure 2b This embodiment provides a schematic diagram of the human eye rotating left and right around the occipital bone of the head. Figure 2b As shown, point O2 represents the position of the occipital bone of the head, and points F, G, and H represent the positions of the human eye. The human eye rotates from point F, through point G, to point H with a rotational angular velocity ω2. Point F is the starting position of the rotational motion, and points G and H are the preceding and following positions of two adjacent positions, respectively. The distance r2 between the human eye and the occipital bone is the radius of the rotational trajectory. The method of this embodiment is used to determine the first predicted position G(x) of the photosphere at point G. G y G ):
[0150] θ G =ω2*dt2 Equation (4)
[0151]
[0152]
[0153] Equations (4) to (5) above are the eye model of this embodiment, where ω2 is the first posture information of the human eye at point G, r2 is the moving radius, and dt2 is the preset first moving time.
[0154] Figure 2c This embodiment provides a schematic diagram of a human arm rotating around the elbow. Figure 2cAs shown, point O3 represents the position of the elbow, and points C, D, and E represent the positions of the human arm. The human arm rotates from point C, through point D, to point E with a rotational angular velocity ω3. Point C is the starting point of the rotational motion, and points D and E are the preceding and following positions of two adjacent points, respectively. The distance r3 between the human arm and the elbow is the radius of the rotational trajectory. The method of this embodiment is used to determine the first predicted position D(x) of the photosphere at point D. D y D ):
[0155] θ D =ω3*dt3 Equation (7)
[0156] x D =r3*sin(θ) D +β)=r3*sin(ω3*dt3+β) Formula (8)
[0157] y D =r3*cos(θ) D +β)=r3*cos(ω3*dt3+β) Formula (9)
[0158] Equations (7) to (9) above are the arm model of this embodiment, where ω3 is the first posture information of the human arm at point D, r3 is the movement radius, dt3 is the preset first movement time, and β is the angle between the line connecting the starting position point C and the elbow position O3 and the vertical direction.
[0159] Equations (1)-(3), (4)-(5) and (7)-(9) above are merely examples of the bone and joint models of the human head, eyes and arms in the two-dimensional xoy coordinate system. The above methods in this embodiment can also be used to determine the bone and joint models of other parts of the human body, such as the wrist model of the human wrist, etc. This embodiment will not elaborate further.
[0160] For the bone joint model of human joints in the three-dimensional xoyz coordinate system, the position of human joints in the three-dimensional xoyz coordinate system can be decomposed into the positions in the two-dimensional xoy coordinate system, xoz coordinate system and yoz coordinate system. The bone joint model of human joints in the above three two-dimensional planes can be determined by the above method. Then, the three bone joint models can be merged to obtain the bone joint model of human joints in the three-dimensional xoyz coordinate system. In this embodiment, the bone joint model of human joints is comprehensively represented by Equation (10):
[0161] p = f(q) = q * (0, ln, 0) * q -1 Equation (10)
[0162] Where p represents the position information of the human joint, and q represents the posture information of the human joint at a certain position point. -1 q is the inverse of the quaternion form, and ln is the radius of motion of the human joint.
[0163] Step 204: Based on the second attitude information, determine the second predicted position when the light sphere is at the next position point, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is at the next position point.
[0164] In this embodiment, specifically, determining the second predicted position of the photosphere when it is located at the next position point based on the second posture information includes: determining the second predicted position based on the second posture information and the bone joint model.
[0165] The second predicted position is determined based on the second posture information and the bone joint model, including: determining the second predicted position based on the second posture information, the movement radius, and the preset second movement time, wherein the second movement time is the time required for the light sphere to move from the initial position point to the next position point.
[0166] For the same human joint, the bone joint model does not change as the human joint moves. In other words, the bone joint model used to determine the first and second prediction models of the light sphere at two adjacent position points is the same.
[0167] The method and principle of step 204 are similar to or the same as those of step 203. Please refer to the relevant records of step 203, which will not be repeated here.
[0168] Step 205: Determine the displacement of the light sphere based on the second predicted position and the first predicted position, wherein the displacement represents the displacement of the light sphere from the previous position point to the next position point.
[0169] In this embodiment, specifically, based on the second predicted position and the first predicted position, the distance between the second predicted position and the first predicted position is calculated in the spatial coordinate system, which is the displacement of the light sphere from the previous position point to the next position point.
[0170] For example, Figure 2d This is a schematic diagram of the photosphere moving from point J to point K according to this embodiment, as shown below. Figure 2d As shown, points J and K are the preceding and following positions of two adjacent points, respectively. The displacement of the photosphere from point J to point K is calculated using the method of this embodiment:
[0171] The first predicted position p of the photosphere at points J and K is determined by equation (10). J Second predicted position p K for:
[0172] p J =f(q) J )=q J *(0,ln,0)*q J -1
[0173] p K =f(q) K )=q K *(0,ln,0)*q K -1
[0174] Then, the displacement Δl of the light sphere from point J to point K is:
[0175] Δl=p K -p J =q K *(0,ln,0)*q K -1 -q J *(0,ln,0)*q J -1
[0176] The above method is only used to explain this embodiment and is not intended to limit this application. This application may also use other methods to determine the movement and displacement of the light sphere, which will not be described in detail in this embodiment.
[0177] Step 206: Determine the second position information based on the movement displacement and the first position information; generate and output the current display position of the virtual target corresponding to the controller based on the second position information.
[0178] In this embodiment, specifically, the first position information is the actual position information of the light sphere at the previous position point. By superimposing the first position information of the light sphere at the previous position point with the displacement, the second position information of the light sphere at the next position point can be obtained.
[0179] For example, in Figure 2d In this embodiment, assuming the first position information of the photosphere at point J is p, the second position information p of the photosphere at point K is determined using the method described in this embodiment. t for:
[0180] p t =p+Δl=p+q K *(0,ln,0)*q K -1 -q J *(0,ln,0)*q J -1
[0181] The above method is only used to explain this embodiment and is not intended to limit this application. This application may also use other methods to determine the second position information of the photosphere, which will not be described in detail in this embodiment.
[0182] Optionally, before generating and outputting the current display position of the virtual target corresponding to the controller based on the second position information, the method further includes: smoothing the second position information based on the position information of the pre-stored historical position points of the light sphere to obtain smoothed second position information.
[0183] Smoothing the second position information can reduce image noise or distortion. The method for smoothing the second position information in this embodiment can be a conventional method in the art, such as mean filtering, median filtering, Gaussian filtering, or bilateral filtering.
[0184] Optionally, the method of this application further includes: generating and outputting the current pose information of the light sphere based on the second position information and the second pose information. The pose information includes position information and attitude information; generating and outputting the current pose information of the light sphere allows for reference when subsequently tracking and locating the light sphere.
[0185] In this embodiment, the following steps are taken: First position information and first attitude information of the previous position point of the light sphere are acquired; attitude data detected by the inertial measurement unit is acquired; second attitude information is determined based on the first attitude information, attitude data, and a preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point; a first predicted position of the light sphere when it is at the previous position point is determined based on the first attitude information, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is at the previous position point; a second predicted position of the light sphere when it is at the next position point is determined based on the second attitude information, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is at the next position point; the movement displacement of the light sphere is determined based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point; the second position information is determined based on the movement displacement and the first position information; and the current display position of the virtual target corresponding to the controller is generated and output based on the second position information. By utilizing the position and attitude information of the sphere at the previous location point to predict its position at the next location point, the problem of image processing methods being easily affected by the background color of the sphere's environment is effectively overcome. This improves the accuracy and precision of sphere tracking and positioning. Furthermore, since there is no need to acquire and process images of the sphere at the next location point, it avoids delays and stuttering caused by image acquisition and processing, enabling rapid sphere tracking and positioning, improving the user's interaction speed with the virtual reality environment, and enhancing the user experience. Moreover, by using the first predicted position of the sphere at the previous location point and the second predicted position at the next location point, the displacement of the sphere from the previous location point to the next location point is determined. Then, based on the actual measured first position information and this displacement of the sphere at the previous location point, the second position information of the sphere at the next location point is determined, further improving the accuracy and precision of sphere tracking and positioning.
[0186] Figure 3 A schematic diagram of a virtual reality-based controller sphere tracking device is provided as an embodiment of this application, as shown below. Figure 3 As shown, the device includes:
[0187] The first processing unit 1 is used to determine the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the photosphere.
[0188] The second processing unit 2 is used to determine the second position information of the next position point based on the first position information, the first attitude information and the second attitude information of the previous position point.
[0189] The third processing unit 3 is used to generate and output the current display position of the virtual target corresponding to the controller based on the second position information.
[0190] In this embodiment, the second attitude information of the next position point adjacent to the previous position point is determined based on the first attitude information of the previous position point of the light sphere; the second position information of the next position point is determined based on the first position information, first attitude information, and second attitude information of the previous position point; and the current display position of the virtual target corresponding to the controller is generated and output based on the second position information. By using the position and attitude information of the light sphere at the previous position point to predict the position information of the light sphere at the next position point, the problem that image processing methods are easily affected by the background color of the environment in which the light sphere is located is effectively overcome. This improves the accuracy and precision of light sphere tracking and positioning. Furthermore, since there is no need to perform image acquisition and image processing on the light sphere at the next position point, the delays and stuttering problems caused by image acquisition and image processing are avoided. This allows for rapid tracking and positioning of the light sphere, improving the user's interaction speed with the virtual reality environment and enhancing the user experience.
[0191] Figure 4 This is a schematic diagram of another virtual reality-based controller sphere tracking device provided in an embodiment of this application. Figure 3 On the basis of, such as Figure 4 As shown:
[0192] The second processing unit 2 includes:
[0193] The first processing subunit 21 is used to determine the first predicted position of the photosphere when it is located at the previous position point based on the first attitude information, wherein the first predicted position represents the position of the photosphere relative to the initial position point when it is located at the previous position point;
[0194] The second processing subunit 22 is used to determine the second predicted position of the photosphere when it is located at the next position point based on the second attitude information, wherein the second predicted position represents the position of the photosphere relative to the initial position point when it is located at the next position point;
[0195] The third processing subunit 23 is used to determine the movement displacement of the photosphere based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the photosphere from the previous position point to the next position point.
[0196] The fourth processing subunit 24 is used to determine the second position information based on the displacement and the first position information.
[0197] The first processing subunit 21 includes:
[0198] The first processing module 211 is used to determine the first predicted position based on the first posture information and the preset bone joint model, wherein the bone joint model is used to indicate the movement relationship of human joints.
[0199] The second processing subunit 22 includes:
[0200] The second processing module 221 is used to determine the second predicted position based on the second posture information and the bone joint model.
[0201] The bone joint model includes a preset movement radius; the first processing module 211 includes:
[0202] The first processing submodule 2111 is used to determine the first predicted position based on the first attitude information, the moving radius, and the preset first moving time, wherein the first moving time is the time required for the light sphere to move from the initial position point to the previous position point;
[0203] The second processing module 221 includes:
[0204] The second processing submodule 2211 is used to determine the second predicted position based on the second attitude information, the movement radius, and the preset second movement time, wherein the second movement time is the time required for the light sphere to move from the initial position point to the next position point.
[0205] The first processing unit 1 includes:
[0206] The fifth processing subunit 11 is used to acquire the attitude data detected by the inertial measurement unit;
[0207] The sixth processing subunit 12 is used to determine the second attitude information based on the first attitude information, attitude data and preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point.
[0208] The sixth processing subunit 12 includes:
[0209] The third processing module 121 is used to determine the movement angle based on the attitude data and movement time;
[0210] The fourth processing module 122 is used to determine the second attitude information based on the movement angle and the first attitude information.
[0211] The attitude data can be any of the following: rotational angular velocity, gravitational acceleration, yaw angle, or pitch angle.
[0212] The device also includes an acquisition unit 4, which is used to acquire the first position information and the first attitude information of the previous position point of the light sphere before the first processing unit 1 determines the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the light sphere.
[0213] The acquisition unit 4 includes:
[0214] Acquisition subunit 41 is used to acquire an image, wherein the image is the image acquired by the acquisition unit when the photosphere is located at the previous position point;
[0215] The seventh processing subunit 42 is used to determine the position of the photosphere in the image based on the image, so as to obtain the first position information.
[0216] The device also includes:
[0217] The fourth processing unit 5 is used to smooth the second position information based on the pre-stored historical position information of the light sphere before the third processing unit 3 generates and outputs the current display position of the virtual target corresponding to the controller based on the second position information, so as to obtain the smoothed second position information.
[0218] The device also includes:
[0219] The fifth processing unit 6 is used to generate and output the current pose information of the light sphere based on the second position information and the second pose information.
[0220] In this embodiment, the following steps are taken: First position information and first attitude information of the previous position point of the light sphere are acquired; attitude data detected by the inertial measurement unit is acquired; second attitude information is determined based on the first attitude information, attitude data, and a preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point; a first predicted position of the light sphere when it is at the previous position point is determined based on the first attitude information, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is at the previous position point; a second predicted position of the light sphere when it is at the next position point is determined based on the second attitude information, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is at the next position point; the movement displacement of the light sphere is determined based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point; the second position information is determined based on the movement displacement and the first position information; and the current display position of the virtual target corresponding to the controller is generated and output based on the second position information. By utilizing the position and attitude information of the sphere at the previous location point to predict its position at the next location point, the problem of image processing methods being easily affected by the background color of the sphere's environment is effectively overcome. This improves the accuracy and precision of sphere tracking and positioning. Furthermore, since there is no need to acquire and process images of the sphere at the next location point, it avoids delays and stuttering caused by image acquisition and processing, enabling rapid sphere tracking and positioning, improving the user's interaction speed with the virtual reality environment, and enhancing the user experience. Moreover, by using the first predicted position of the sphere at the previous location point and the second predicted position at the next location point, the displacement of the sphere from the previous location point to the next location point is determined. Then, based on the actual measured first position information and this displacement of the sphere at the previous location point, the second position information of the sphere at the next location point is determined, further improving the accuracy and precision of sphere tracking and positioning.
[0221] According to embodiments of this application, this application also provides an electronic device and a readable storage medium.
[0222] like Figure 5 The diagram shown is a block diagram of an electronic device based on a virtual reality-based controller sphere tracking method according to an embodiment of this application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present application described and / or claimed herein.
[0223] like Figure 5 As shown, the electronic device includes one or more processors 501, a memory 502, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise as required. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 5 Take a processor 501 as an example.
[0224] The memory 502 is the non-transitory computer-readable storage medium provided in this application. The memory stores instructions executable by at least one processor to cause the at least one processor to execute the virtual reality-based controller sphere tracking method provided in this application. The non-transitory computer-readable storage medium of this application stores computer instructions for causing a computer to execute the virtual reality-based controller sphere tracking method provided in this application.
[0225] Memory 502, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the virtual reality-based controller sphere tracking method in the embodiments of this application (e.g., attached...). Figure 3 The first processing unit 1, the second processing unit 2, and the third processing unit 3 are shown. The processor 501 executes various functional applications and data processing of the server by running non-transient software programs, instructions, and modules stored in the memory 502, thereby realizing the virtual reality-based controller sphere tracking method in the above method embodiments.
[0226] Memory 502 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the virtual reality-based sphere-tracking electronic device. Furthermore, memory 502 may include high-speed random access memory and may also include non-transient memory, such as at least one disk storage device, flash memory device, or other non-transient solid-state storage device. In some embodiments, memory 502 may optionally include memory remotely located relative to processor 501, which can be connected to the virtual reality-based sphere-tracking electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0227] The electronic device based on the virtual reality-based sphere tracking method may further include an input device 503 and an output device 504. The processor 501, memory 502, input device 503, and output device 504 can be connected via a bus or other means. Figure 5 Taking the example of a connection between China and Israel via a bus.
[0228] Input device 503 can receive input digital or character information, as well as generate key signal inputs related to user settings and function control of the virtual reality-based sphere-tracking electronic device, such as a touchscreen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 504 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display (LCD), a light-emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touchscreen.
[0229] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, application-specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include: implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0230] These computational programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0231] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0232] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0233] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0234] In the embodiments of this application, the above embodiments can be referenced and learned from each other, and the same or similar steps and terms will not be repeated one by one.
[0235] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.
[0236] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A controller-based optical sphere tracking method for virtual reality, characterized in that, The method includes: Based on the first attitude information of the previous position point of the photosphere, determine the second attitude information of the next position point adjacent to the previous position point; The second position information of the next position point is determined based on the first position information, the first attitude information, and the second attitude information of the previous position point. Based on the second location information, generate and output the current display position of the virtual target corresponding to the controller; Based on the first position information, the first attitude information, and the second attitude information of the previous position point, the second position information of the next position point is determined, including: Based on the first attitude information, a first predicted position is determined when the light sphere is located at the previous position point, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is located at the previous position point; Based on the second attitude information, a second predicted position is determined when the light sphere is located at the next position point, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is located at the next position point; The movement displacement of the light sphere is determined based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point; The second position information is determined based on the displacement and the first position information; Based on the first attitude information, determining the first predicted position of the photosphere when it is located at the previous position point includes: Based on the first posture information and the preset bone joint model, the first predicted position is determined, wherein the bone joint model is used to indicate the movement relationship of human joints. Based on the second attitude information, determining the second predicted position of the photosphere when it is located at the next position point includes: The second predicted position is determined based on the second posture information and the bone joint model.
2. The method according to claim 1, characterized in that, The bone joint model includes a preset movement radius; based on the first posture information and the preset bone joint model, the first predicted position is determined, including: The first predicted position is determined based on the first posture information, the movement radius, and the preset first movement time, wherein the first movement time is the time required for the light sphere to move from the initial position point to the previous position point; Determining the second predicted position based on the second posture information and the bone joint model includes: The second predicted position is determined based on the second posture information, the movement radius, and the preset second movement time, wherein the second movement time is the time required for the light sphere to move from the initial position point to the next position point.
3. The method according to claim 1, characterized in that, Based on the first attitude information of the previous position point of the photosphere, the second attitude information of the next position point adjacent to the previous position point is determined, including: Acquire attitude data detected by the inertial measurement unit; The second attitude information is determined based on the first attitude information, the attitude data, and the preset movement time, wherein the movement time is the time required for the light sphere to move from the previous position point to the next position point.
4. The method according to claim 3, characterized in that, The second attitude information is determined based on the first attitude information, the attitude data, and a preset movement time, including: The movement angle is determined based on the posture data and the movement time; The second attitude information is determined based on the movement angle and the first attitude information.
5. The method according to claim 3, characterized in that, The attitude data can be any of the following: rotational angular velocity, gravitational acceleration, yaw angle, or pitch angle.
6. The method according to any one of claims 1-5, characterized in that, Before determining the second attitude information of the next position point adjacent to the previous position point based on the first attitude information of the previous position point of the photosphere, the method further includes: Obtain the first position information and first attitude information of the previous position point of the light sphere; Among them, obtaining the first position information of the previous position point of the light sphere includes: Acquire an image, wherein the image is the image acquired by the acquisition unit when the photosphere is located at the previous position point; Based on the image, the position of the light sphere in the image is determined to obtain the first position information.
7. A virtual reality device, the virtual reality device comprising: The display screen is used to display images; Processor, the processor being configured to: Based on the first attitude information of the previous position point of the light sphere on the controller, the second attitude information of the next position point adjacent to the previous position point is determined; Based on the first position information, the first attitude information, and the second attitude information of the previous position point, determine the second position information of the next position point; Based on the second location information, the position of the controller is determined, thereby enabling the display of the screen; The processor is also configured to: Based on the first attitude information, a first predicted position is determined when the light sphere is located at the previous position point, wherein the first predicted position represents the position of the light sphere relative to the initial position point when it is located at the previous position point; Based on the second attitude information, a second predicted position is determined when the light sphere is located at the next position point, wherein the second predicted position represents the position of the light sphere relative to the initial position point when it is located at the next position point; The movement displacement of the light sphere is determined based on the second predicted position and the first predicted position, wherein the movement displacement represents the displacement of the light sphere from the previous position point to the next position point; The second position information is determined based on the displacement and the first position information; The processor is further configured to: determine the first predicted position based on the first posture information and a preset bone joint model, wherein the bone joint model is used to indicate the movement relationship of human joints; The processor is further configured to determine the second predicted position based on the second posture information and the bone joint model.
8. The virtual reality device according to claim 7, characterized in that, The processor is configured to: The system receives attitude data sent by the controller and determines the second attitude information based on the first attitude information and the attitude data.
Citation Information
Patent Citations
Positioning method and device of external equipment, and virtual reality (VR) equipment and system
CN108267715A