A jitter-proof tracking data acquisition method, control device and medium

CN117742637BActive Publication Date: 2026-10-09NIO TECH ANHUI CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311769507.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-20
Publication Date
2026-10-09
Estimated Expiration
2043-12-20

AI Technical Summary

Technical Problem

[0004]为了克服上述缺陷,本申请提出一种防止抖动的追踪数据获取方法、控制设备及介质,旨在解决因车辆抖动对基于3Dof数据的交互场景产生影响的问题

Benefits of technology

[0030]In implementing the technical solution of this application, the tracking data at the current moment, the currently saved device orientation data, and the tracking data output to the display terminal at the previous moment are acquired; based on the tracking data at the current moment and the currently saved device orientation data, first rotation data is determined, and a jitter region is determined based on the currently saved device orientation data; based on the first rotation data, it is determined whether jitter exceeds the jitter region, and different anti-shake algorithms are used to suppress the jitter. That is, this application can determine a jitter region based on the currently saved device orientation data, and different first and second correction methods are used to process jitter appearing within and outside the jitter region to achieve the purpose of anti-shake, thereby improving the stability of the ray control or screen control of the control device used to implement the tracking data acquisition method of this application, and especially improving the user's XR interactive experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117742637B_ABST
    Figure CN117742637B_ABST
Patent Text Reader

Abstract

The application discloses a method for acquiring tracking data to prevent jitter, a control device and a medium, and relates to the technical field of intelligent control of automobiles. The method comprises the following steps: acquiring tracking data at a current time, device orientation data currently saved, and tracking data output to a display end at a previous time; determining first rotation data based on the tracking data at the current time and the device orientation data currently saved, and determining a jitter region based on the device orientation data currently saved; determining whether jitter that exceeds the jitter region occurs according to the first rotation data; and processing the jitter that occurs in the jitter region and the jitter that occurs outside the jitter region by using different first correction methods and second correction methods respectively to achieve the purpose of preventing jitter, thereby improving the stability of ray control or picture control of the control device and improving the interactive experience of a user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of automotive intelligent control technology, and in particular to a tracking data acquisition method, control device and medium for preventing vibration. Background Technology

[0002] With the development of new energy vehicles, intelligent cockpits are gradually replacing traditional cockpits. 3DOF (Three Degrees of Freedom) data-based interaction is an interaction method based on the rotational degrees of freedom of the X, Y, and Z coordinate axes. Inertial sensors are generally used to detect free rotation in different directions. Since only inertial sensors are needed to detect free rotation along the three coordinate axes, and the equipment used is small and has few usage restrictions, 3DOF data-based interaction has become a basic interaction method and has been applied in intelligent cockpits.

[0003] However, the application of 3DoF data-based interaction in smart cockpits has created new problems. Due to the complex driving environment, vehicle vibration is inevitable during movement, and this vibration affects the smart interaction scenarios implemented based on 3DoF data within the cockpit. For example, the video displayed on the in-vehicle screen or XR glasses will shake due to the vehicle's movement, affecting the user's viewing experience. Shaking of the controller's ray will make XR interaction difficult, and without image stabilization, the user experience will be negatively impacted. Summary of the Invention

[0004] To overcome the above-mentioned defects, this application proposes a tracking data acquisition method, control device and medium to prevent shaking, aiming to solve the problem of vehicle shaking affecting interactive scenarios based on 3DOF data.

[0005] In a first aspect, this application provides a method for acquiring tracking data to prevent jitter, the method comprising:

[0006] Acquire the current tracking data, the currently saved device location data, and the tracking data output to the display terminal in the previous moment;

[0007] The first rotation data is determined based on the tracking data at the current moment and the currently saved device orientation data, and the jitter area is determined based on the currently saved device orientation data;

[0008] Based on the first rotation data, determine whether jitter exceeds the jitter area. If so, determine the tracking data to be output to the display at the current moment according to the second correction method based on the tracking data at the current moment and the tracking data output to the display at the previous moment, and update the currently saved device orientation data; otherwise, determine the tracking data to be output to the display at the current moment according to the first correction method based on the first rotation data and the tracking data output to the display at the previous moment.

[0009] Preferably, the tracking data to be output to the display terminal at the current moment is determined according to the second correction method based on the tracking data at the current moment and the tracking data output to the display terminal at the previous moment.

[0010] The second rotation data is determined based on the tracking data at the current moment and the tracking data output to the display at the previous moment;

[0011] The second corrected tracking data is obtained based on the second rotation data;

[0012] The tracking data to be output to the display terminal at the current moment is determined based on the second corrected tracking data and the tracking data output to the display terminal at the previous moment.

[0013] Preferably, updating the currently saved device location data specifically involves updating the currently saved device location data using the tracking data at the current moment.

[0014] Preferably, the above-mentioned determination of the tracking data to be output to the display at the current moment based on the first rotation data and the tracking data output to the display at the previous moment according to the first correction method specifically involves:

[0015] First corrected tracking data is obtained based on the first rotation data;

[0016] The tracking data to be output to the display terminal at the current moment is determined based on the first corrected tracking data and the tracking data output to the display terminal at the previous moment.

[0017] Preferably, the above-mentioned determination of the jitter area based on the currently saved device location data specifically means: the area determined by drawing a circle with the currently saved device location data as the center and a preset threshold as the radius is the jitter area.

[0018] Preferably, the current tracking data, the currently saved device orientation data, the tracking data output to the display terminal at the previous moment, the first rotation data, and the second rotation data are all three-degree-of-freedom quaternions.

[0019] Furthermore, the step of determining whether jitter exceeding the jitter region occurs based on the first rotation data specifically involves:

[0020] The first rotation data is decomposed into axis-angle form to obtain axis vector and rotation angle. It is determined whether the rotation angle is greater than a preset threshold. If it is, it indicates that jitter has occurred outside the jitter area; otherwise, it indicates that jitter has not occurred outside the jitter area.

[0021] Furthermore, the tracking data at the current moment is obtained based on the vehicle's sensor data, and the preset threshold includes at least the preset threshold corresponding to when the vehicle is in motion and the preset threshold corresponding to when the vehicle is stationary.

[0022] Furthermore, both the first and second correction methods employ quaternion interpolation for correction.

[0023] The interpolation coefficients of the quaternion interpolation method used in the first correction method are set to a first preset value;

[0024] The interpolation coefficients of the quaternion interpolation method used in the second correction method are set to the second preset value.

[0025] Furthermore, the tracking data at the current moment is obtained based on the vehicle's sensor data, and the first preset value and the second preset value include at least the first preset value and the second preset value corresponding to when the vehicle is in motion, and the first preset value and the second preset value corresponding to when the vehicle is stationary.

[0026] In a second aspect, this application provides a control device, the computer device including a processor and a storage device, the storage device being adapted to store a plurality of program codes, the program codes being adapted to be loaded and run by the processor to perform the method described in any of the above-described technical solutions of the anti-jitter tracking data acquisition method.

[0027] In a third aspect, this application provides a vehicle that includes the aforementioned control equipment.

[0028] In a fourth aspect, this application provides a computer-readable storage medium storing a plurality of program codes adapted to be loaded and run by a processor to perform the method described in any of the above-described methods for a jitter-preventing tracking data acquisition method.

[0029] The above-described technical solutions of this application have at least one or more of the following beneficial effects:

[0030] In implementing the technical solution of this application, the tracking data at the current moment, the currently saved device orientation data, and the tracking data output to the display terminal at the previous moment are acquired; based on the tracking data at the current moment and the currently saved device orientation data, first rotation data is determined, and a jitter region is determined based on the currently saved device orientation data; based on the first rotation data, it is determined whether jitter exceeds the jitter region, and different anti-shake algorithms are used to suppress the jitter. That is, this application can determine a jitter region based on the currently saved device orientation data, and different first and second correction methods are used to process jitter appearing within and outside the jitter region to achieve the purpose of anti-shake, thereby improving the stability of the ray control or screen control of the control device used to implement the tracking data acquisition method of this application, and especially improving the user's XR interactive experience. Attached Figure Description

[0031] The disclosure of this application will become more readily understood with reference to the accompanying drawings. It will be readily understood by those skilled in the art that these drawings are for illustrative purposes only and are not intended to limit the scope of protection of this application. Furthermore, similar numbers in the drawings are used to denote similar components, wherein:

[0032] Figure 1 This is a schematic diagram illustrating an application scenario of a tracking data acquisition method for preventing jitter according to an embodiment of this application;

[0033] Figure 2 This is a schematic flowchart of the main steps of a tracking data acquisition method for preventing jitter according to an embodiment of this application;

[0034] Figure 3 This is a schematic diagram illustrating the change of device location data over time according to an embodiment of this application;

[0035] Figure 4 yes Figure 2 The flowchart illustrates the specific implementation of step S104 shown.

[0036] Figure 5 yes Figure 2 The flowchart shows the specific implementation of step S105.

[0037] Figure 6 This is a schematic diagram illustrating the effect of the tracking data output to the display terminal obtained by the method of this application changing as the device orientation data changes;

[0038] Figure 7 This is a schematic diagram illustrating the anti-shake effect of a vehicle in motion according to an embodiment of this application;

[0039] Figure 8 This is a schematic diagram illustrating the anti-shake effect when the vehicle is stationary, according to an embodiment of this application.

[0040] Figure 9 This is a schematic block diagram of a control device provided in an embodiment of this application;

[0041] Figure 10 This is a schematic block diagram of a control device provided in an embodiment of this application;

[0042] Figure 11 This is a schematic block diagram of the components of an intelligent cockpit provided in an embodiment of this application. Detailed Implementation

[0043] Some embodiments of this application are described below with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are merely illustrative of the technical principles of this application and are not intended to limit the scope of protection of this application.

[0044] In the description of this application, "module" and "processor" can include hardware, software, or a combination of both. A module can include hardware circuitry, various suitable sensors, communication ports, memory, and can also include software components, such as program code, or a combination of software and hardware. A processor can be a central processing unit, microprocessor, image processor, digital signal processor, or any other suitable processor. The processor has data and / or signal processing capabilities. The processor can be implemented in software, in hardware, or a combination of both. Non-transitory computer-readable storage media includes any suitable medium capable of storing program code, such as magnetic disks, hard disks, optical disks, flash memory, read-only memory, random access memory, etc. The term "A and / or B" means all possible combinations of A and B, such as only A, only B, or A and B. The terms "at least one A or B" or "at least one of A and B" have a similar meaning to "A and / or B" and can include only A, only B, or A and B. The singular terms "a" or "this" can also include plural forms.

[0045] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.

[0046] like Figure 1The diagram illustrates an application scenario of this application. The intelligent interactive system in this scenario includes sensors, a control device, and a display terminal. The sensors can be inertial measurement units (IMUs), and the control device and display terminal can be handheld controllers and head-mounted displays such as XR glasses, respectively. Alternatively, the control device and display terminal can be integrated into a vehicle-mounted display device or XR glasses for video playback. The anti-shake tracking data acquisition method provided in this application is primarily implemented through the control device. In a specific application scenario, such as integrating this intelligent interactive system into a car's smart cockpit, the sensors can be vehicle IMUs and / or mobile phone IMUs, and the control device can be a user terminal device that integrates the anti-shake tracking data acquisition method provided in this application into user terminal devices such as mobile phones, watches, and rings.

[0047] like Figure 2 The image shown is an embodiment of a tracking data acquisition method for preventing jitter provided by this application. The method mainly includes the following steps:

[0048] Step S101: Obtain the tracking data at the current moment, the currently saved device location data, and the tracking data output to the display terminal at the previous moment;

[0049] In this embodiment, the method of acquiring the tracking data at the current moment varies depending on the form of the control device. For example, when the control device is a vehicle-mounted display device, the tracking data at the current moment can be obtained directly based on the sensor data of the vehicle IMU (such as accelerometer and gyroscope). When the control device is an XR controller, the tracking data at the current moment can be obtained by fusing the sensor data of the XR controller's IMU and the vehicle's IMU. When the control device is XR glasses, the tracking data at the current moment can be obtained by fusing the sensor data of the XR glasses' IMU and the vehicle's IMU.

[0050] In this embodiment, the sensor data acquired from the IMU is generally 3DOF (three degrees of freedom) quaternion data; and the control device stores in real time the device orientation data, the tracking data output to the display terminal at the previous moment, and the tracking data acquired at the previous moment.

[0051] For example, the data obtained in this step are represented as follows: the tracking data Q at the current moment, the currently saved device orientation data Q_last, the tracking data V_ output to the display at the previous moment, and the tracking data Q_ obtained from the IMU at the previous moment.

[0052] It is understood that the initial value of the currently saved device orientation data in this embodiment is preset and saved. According to the method flow provided in this application embodiment, the device orientation data Q_last will only be updated when jitter occurs outside the jitter area; otherwise, the device orientation data will not change.

[0053] Step S102: Determine the first rotation data based on the tracking data at the current moment and the currently saved device orientation data, and determine the jitter area based on the currently saved device orientation data;

[0054] Specifically, in this embodiment, the first rotation data is obtained by quaternion division based on the tracking data at the current moment and the currently saved device orientation data.

[0055] For example, the first rotation data ΔQ is represented as follows:

[0056] ΔQ=Q / Q_ last In this context, " / " represents quaternion division, Q is the tracking data at the current moment, and Q_last is the currently saved device location data.

[0057] The determination of the jitter region based on the currently saved device location data specifically involves drawing a circle with the currently saved device location data as the center and a preset threshold as the radius. The area defined by this circle is the jitter region. For example, the preset threshold is r0.

[0058] In a specific application scenario, if jitter exceeding the jitter region occurs continuously over a period of time, based on the jitter prevention tracking dataset acquisition method provided in this application, the device orientation data Q_last and the jitter region determined based on Q_last and r0 change with time i are illustrated in the diagram below. Figure 3 As shown, Q_last(i) represents the device location data corresponding to time i.

[0059] Step S103: Determine whether jitter exceeding the jitter area occurs based on the first rotation data. If yes, proceed to step S104; otherwise, proceed to step S105.

[0060] In this embodiment, the first rotation data is specifically decomposed into axis-angle form to obtain axis vector and rotation angle. It is determined whether the rotation angle is greater than a preset threshold. If it is, it indicates that jitter has occurred outside the jitter area; otherwise, it indicates that jitter has not occurred outside the jitter area.

[0061] For example, the quaternion representation of the first rotation data ΔQ is (x,y,z,w), and its axis-angle representation is (ax,ay,az,θ), where (ax,ay,az) represents the axis vector and θ represents the rotation angle.

[0062] It is understandable that the conversion relationship between quaternion representation and axial-angle representation is as follows:

[0063] x = ax * sin(θ / 2);

[0064] y = ay * sin(θ / 2);

[0065] z = az * sin(θ / 2);

[0066] w = cos(θ / 2).

[0067] Step S104: Based on the tracking data at the current moment and the tracking data output to the display terminal at the previous moment, determine the tracking data output to the display terminal at the current moment according to the second correction method, and update the currently saved device orientation data;

[0068] In this embodiment, the second correction method is specifically a correction method that uses quaternion interpolation, and the interpolation coefficients of the quaternion interpolation method used in the second correction method are specifically set to a second preset value.

[0069] In one implementation, the specific implementation of this step may include, for example: Figure 4 The steps shown are as follows:

[0070] Step S1041: Determine the second rotation data based on the tracking data at the current moment and the tracking data output to the display terminal at the previous moment;

[0071] Specifically, the second rotation data is obtained by quaternion division based on the tracking data at the current moment and the tracking data output to the display at the previous moment.

[0072] For example: Second rotation data ΔQ v It is expressed as follows:

[0073] ΔQ v =Q / V_; where " / " represents quaternion division, Q is the tracking data at the current moment, and V_ is the tracking data output to the display at the previous moment.

[0074] Step S1042: Obtain second corrected tracking data based on the second rotation data;

[0075] Specifically, the second corrected tracking data ΔV2 is obtained by spherical linear interpolation based on the second rotation data, as follows: ΔV2=slerp(Q0,ΔQ v ,α), where Q0 is a unit quaternion, that is, Q0 can be represented as [x, y, z, w] = [0, 0, 0, 1], ΔQ vThe second rotation data is α, which is the interpolation coefficient and takes the second preset value. The value of α is in the range of 0-1.

[0076] Step S1043: Determine the tracking data to be output to the display terminal at the current moment based on the second corrected tracking data and the tracking data output to the display terminal at the previous moment.

[0077] Specifically, based on the second corrected tracking data and the tracking data output to the display terminal at the previous moment, the tracking data output to the display terminal at the current moment is obtained by quaternion multiplication.

[0078] For example, the tracking data V output to the display at the current moment is represented as follows:

[0079] V = ΔV2 * V_, where "*" represents quaternion multiplication, ΔV2 is the second correction tracking data, and V_ is the tracking data output to the display terminal at the previous moment.

[0080] Step S1044: Update the currently saved device location data with the tracking data at the current moment.

[0081] For example, update Q_last = Q.

[0082] Furthermore, the above steps S1041 and S1042 can also be replaced by the following steps S1041' and S1042'.

[0083] Step S1041': Determine the second rotation data based on the tracking data at the current moment and the tracking data output to the display terminal at the previous moment; determine the prediction data based on the tracking data at the previous moment and the second rotation data; determine the prediction data increment based on the prediction data.

[0084] Specifically, the second rotation data is obtained by quaternion division based on the tracking data at the current moment and the tracking data output to the display at the previous moment.

[0085] For example, the second rotation data Δv(k) is represented as follows:

[0086] Δv(k)=v(k) / V_; where “ / ” represents quaternion division, v(k) is the tracking data at the current time (time k), and V_ is the tracking data output to the display terminal at the previous time.

[0087] The predicted data is denoted as v(k+a), specifically referring to the tracking data at the predicted time k+a. v(k+a) is expressed as follows: v(k+a) = v(k-1) * v Δ (k) a+1Where "*" represents quaternion multiplication, v(k) is the tracking data at the current time (time k), and v(k-1) is the tracking data at the previous time.

[0088] The predicted data increment is denoted as Δv(k+a), and is expressed as follows: Δv(k+a)=v(k+a) / v(k+a-1), where “ / ” represents quaternion division, v(k+a) is the tracking data at time k+a, and V_ is the tracking data at the time before time k+a.

[0089] Step S1042': Obtain second corrected tracking data based on the second rotation data and the predicted data increment.

[0090] Specifically, the second corrected tracking data ΔV2 is obtained by spherical linear interpolation based on the second rotation data and the predicted data increment, as shown below:

[0091] ΔV2=slerp(Δv(k+a),Δv(k),α), where α is the interpolation coefficient and takes the second preset value, and the value of α is in the range of 0-1.

[0092] It is understandable that when α = 1, it is equivalent to no correction being made; when α = 0, it is equivalent to the second correction tracking data directly using Δv(k+a).

[0093] The correction of tracking data achieved by the above steps S1041' and S1042' can reduce the jerking sensation of the controller's ray manipulation, and make the video output by the control device smoother and less abrupt, effectively improving the user experience.

[0094] Step S105: Based on the first rotation data and the tracking data output to the display terminal at the previous moment, determine the tracking data output to the display terminal at the current moment according to the first correction method.

[0095] In this embodiment, the first correction method is specifically a correction method that uses quaternion interpolation, and the interpolation coefficients of the quaternion interpolation method used in the first correction method are specifically set to a first preset value.

[0096] In one implementation, the specific implementation of this step may include, for example: Figure 5 The steps shown are as follows:

[0097] Step S1051: Obtain first corrected tracking data based on the first rotation data;

[0098] Specifically, the first corrected tracking data ΔV1 is obtained by spherical linear interpolation based on the first rotation data, as follows: ΔV1=slerp(Q0,ΔQ,ratio), where Q0 is a unit quaternion, that is, Q0 can be represented as [x,y,z,w]=[0,0,0,1], ΔQ is the first rotation data, and ratio is the interpolation coefficient and takes the first preset value, with the value of ratio ranging from 0 to 1.

[0099] Step S1052: Determine the tracking data to be output to the display terminal at the current moment based on the first corrected tracking data and the tracking data output to the display terminal at the previous moment.

[0100] Specifically, based on the first corrected tracking data and the tracking data output to the display terminal at the previous moment, the tracking data output to the display terminal at the current moment is obtained by quaternion multiplication.

[0101] For example, the tracking data V output to the display at the current moment is represented as follows:

[0102] V = ΔV1 * V_, where "*" represents quaternion multiplication, ΔV1 is the first correction tracking data, and V_ is the tracking data output to the display terminal at the previous moment.

[0103] The method provided in this application has the following advantages: it can eliminate ray jitter based solely on 3DoF (three degrees of freedom) data acquired from the IMU, without requiring additional sensor data, and can obtain the stabilized 3DoF data for display. The tracking data acquisition method for jitter prevention provided in this application has low algorithm complexity, requires no image processing, and the filter designed based on this method can guarantee zero filter delay (zero sampling periods), effectively improving the user experience.

[0104] Based on the method flow of steps S101 to S105 above, when jitter occurs, i.e., the device orientation data Q_last changes with time i, the effect of outputting the current tracking data V to the display terminal based on the acquired current tracking data Q after running the method of this application embodiment is illustrated in the diagram below. Figure 6 As shown, Q_last(i-1) represents the device location data corresponding to time i-1, and Q... k and V k Q represents the tracking data acquired at time i-1 and the tracking data output to the display terminal, Q_last(i) represents the device orientation data corresponding to time i, and Q n and V n This represents the tracking data acquired at time i and the tracking data output to the display.

[0105] In one specific embodiment, when the control device is a vehicle-mounted XR control device, such as a handheld XR controller, since the hand shakes more when the vehicle is moving and less when the vehicle is stationary, in order to achieve a more accurate anti-shake effect, when using the anti-shake tracking data acquisition method provided in this application embodiment, when determining the tracking data output to the display terminal at the current moment according to the first correction method and the second correction method, the values ​​of relevant parameters can be set based on the vehicle's moving state and stationary state respectively, so as to achieve the ability to use different parameter values ​​according to different vehicle states to obtain the corresponding anti-shake tracking data output to the display terminal.

[0106] Specifically, the aforementioned preset threshold can be set to include at least a preset threshold corresponding to when the vehicle is in motion and a preset threshold corresponding to when the vehicle is stationary. The aforementioned first preset value and second preset value include at least a first preset value and a second preset value corresponding to when the vehicle is in motion, and a first preset value and a second preset value corresponding to when the vehicle is stationary.

[0107] For example, when the vehicle is in motion, the preset threshold r0, the first preset value ratio, and the second preset value α are set to r0 = 1.0, ratio = 0.5, and α = 0.9, respectively. A schematic diagram illustrating the vehicle anti-shake effect achievable by the method provided in this application embodiment under these value settings is shown below. Figure 7 As shown, the angle of 3DOF refers to the rotation angle of the 3DOF quaternion.

[0108] For example, when the vehicle is stationary, the preset threshold r0, the first preset value ratio, and the second preset value α are set to r0 = 1.0, ratio = 0.4, and α = 0.4, respectively. A schematic diagram illustrating the vehicle stabilization effect achievable by the method provided in this application embodiment under these value settings is shown below. Figure 8 As shown, the angle of 3DOF refers to the rotation angle of the 3DOF quaternion.

[0109] Understandably, for the settings of parameters r0, ratio, and α, the larger the value of r0, the more obvious the stabilization, but the stronger the jerkiness during operation. The smaller the values ​​of ratio and α, the less jerkiness. Therefore, you can set the appropriate values ​​for each parameter according to your experience or personal usage habits.

[0110] from Figure 7 and Figure 8 The change in 3DOF angle b after image stabilization compared to 3DOF angle a before image stabilization shows that, by adopting the anti-shake tracking data acquisition method provided in this application embodiment, the shaking amplitude of the controller ray or the control device screen can be effectively suppressed, thereby improving the user experience.

[0111] Furthermore, this application also provides a control device, such as... Figure 9 As shown.

[0112] See appendix Figure 9 , Figure 9 This is a main structural block diagram of a control device according to an embodiment of the present application. The control device 200 mainly includes:

[0113] Acquisition module 201: used to acquire the tracking data at the current moment, the currently saved device location data, and the tracking data output to the display terminal at the previous moment;

[0114] Calculation module 202: used to determine first rotation data based on the tracking data at the current moment and the currently saved device orientation data, and used to determine the jitter area based on the currently saved device orientation data;

[0115] Judgment module 203: is used to determine whether jitter exceeding the jitter area occurs based on the first rotation data and jitter area determined by the calculation module 202. If yes, the second correction module 205 is triggered; otherwise, the first correction module 204 is triggered.

[0116] First correction module 204: used to determine the tracking data to be output to the display terminal at the current moment according to the first correction method based on the first rotation data and the tracking data output to the display terminal at the previous moment;

[0117] The second correction module 205 is used to determine the tracking data to be output to the display terminal at the current time based on the tracking data at the current time and the tracking data output to the display terminal at the previous time according to the second correction method, and to update the currently saved device orientation data.

[0118] For ease of explanation, the above description of the control device only shows the parts related to the embodiments of this application. For specific technical details not disclosed, please refer to the method section of the embodiments of this application.

[0119] It should be understood that since the various modules are only provided to illustrate the functional units of this application, the physical devices corresponding to these modules may be the processor itself, or a part of the processor's software, hardware, or a combination of both. Therefore, the number of modules shown in the figures is merely illustrative.

[0120] Those skilled in the art will understand that the various modules can be adaptively split or merged. Such splitting or merging of specific modules will not cause the technical solution to deviate from the principles of this application; therefore, the technical solutions after splitting or merging will fall within the protection scope of this application.

[0121] Those skilled in the art will understand that all or part of the processes in the method of the above-described embodiment can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable storage medium can include any entity or device capable of carrying the computer program code, a medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory, a random access memory, an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0122] Furthermore, this application also provides a control device, such as... Figure 10 As shown.

[0123] See appendix Figure 10 In one embodiment of a control device according to this application, the control device 10 mainly includes a processor 11 and a storage device 12. The storage device 12 can be configured to store a program for executing the anti-jitter tracking data acquisition method of the above-described method embodiments. The processor 11 can be configured to execute the program in the storage device, which includes, but is not limited to, a program for executing the anti-jitter tracking data acquisition method of the above-described method embodiments. For ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application.

[0124] In the embodiments of this application, the control device may be a control apparatus device comprising various electronic devices. In some possible implementations, the control device may include multiple storage devices and multiple processors. The program executing the anti-jitter tracking data acquisition method of the above method embodiments can be divided into multiple subroutines, each subroutine can be loaded and run by a processor to execute different steps of the anti-jitter tracking data acquisition method of the above method embodiments. Specifically, each subroutine can be stored in different storage devices, and each processor can be configured to execute programs in one or more storage devices to jointly implement the anti-jitter tracking data acquisition method of the above method embodiments, that is, each processor executes different steps of the anti-jitter tracking data acquisition method of the above method embodiments to jointly implement the tracking method of the above method embodiments.

[0125] The aforementioned multiple processors can be processors deployed on the same device. For example, the aforementioned computer device can be a high-performance device composed of multiple processors, and the aforementioned multiple processors can be processors configured on that high-performance device. Alternatively, the aforementioned multiple processors can also be processors deployed on different devices. For example, the aforementioned computer device can be a server cluster, and the aforementioned multiple processors can be processors on different servers within the server cluster.

[0126] Furthermore, this application also provides a smart cockpit, such as Figure 11 As shown.

[0127] See appendix Figure 11 The intelligent cockpit 30 provided in this application embodiment includes at least the control device 10 and the display terminal 20.

[0128] Furthermore, this application also provides a computer-readable storage medium.

[0129] In one embodiment of a computer-readable storage medium according to this application, the computer-readable storage medium may be configured to store a program for performing the anti-jitter tracking data acquisition method of the above-described method embodiments. This program may be loaded and run by a processor to implement the anti-jitter tracking data acquisition method. For ease of explanation, only the parts related to the embodiments of this application are shown; for specific technical details not disclosed, please refer to the method section of the embodiments of this application. The computer-readable storage medium may be a storage device comprising various electronic devices. Optionally, in the embodiments of this application, the computer-readable storage medium is a non-transitory computer-readable storage medium.

[0130] The technical solutions of this application have been described above with reference to the preferred embodiments shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of this application is obviously not limited to these specific embodiments. Without departing from the principles of this application, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will all fall within the scope of protection of this application.

Claims

1. A method for acquiring tracking data to prevent jitter, characterized in that, The method includes: Acquire the current tracking data, the currently saved device location data, and the tracking data output to the display terminal in the previous moment; The first rotation data is determined based on the tracking data at the current moment and the currently saved device orientation data, and the jitter area is determined based on the currently saved device orientation data; Based on the first rotation data, determine whether jitter exceeds the jitter area. If so, determine the tracking data to be output to the display at the current moment according to the second correction method based on the tracking data at the current moment and the tracking data output to the display at the previous moment, and update the currently saved device orientation data; otherwise, determine the tracking data to be output to the display at the current moment according to the first correction method based on the first rotation data and the tracking data output to the display at the previous moment. The process of determining the tracking data to be output to the display terminal at the current moment based on the tracking data at the current moment and the tracking data output to the display terminal at the previous moment according to the second correction method is as follows: The second rotation data is determined based on the tracking data at the current moment and the tracking data output to the display at the previous moment; the second corrected tracking data is obtained based on the second rotation data; the tracking data output to the display at the current moment is determined based on the second corrected tracking data and the tracking data output to the display at the previous moment. Or more specifically: determine the second rotation data based on the tracking data at the current moment and the tracking data output to the display at the previous moment; determine the prediction data based on the tracking data at the previous moment and the second rotation data; determine the prediction data increment based on the prediction data; obtain the second corrected tracking data based on the second rotation data and the prediction data increment; determine the tracking data output to the display at the current moment based on the second corrected tracking data and the tracking data output to the display at the previous moment. The specific steps for determining the tracking data to be output to the display at the current moment based on the first rotation data and the tracking data output to the display at the previous moment according to the first correction method are as follows: First corrected tracking data is obtained based on the first rotation data; The tracking data to be output to the display terminal at the current moment is determined based on the first corrected tracking data and the tracking data output to the display terminal at the previous moment.

2. The method according to claim 1, characterized in that, The specific steps of updating the currently saved device location data are: updating the currently saved device location data with the tracking data at the current moment.

3. The method according to claim 1, characterized in that, The process of determining the jitter region based on the currently saved device location data specifically involves drawing a circle with the currently saved device location data as the center and a preset threshold as the radius to define the jitter region.

4. The method according to claim 1, characterized in that, The current tracking data, the currently saved device orientation data, the tracking data output to the display terminal at the previous moment, the first rotation data, and the second rotation data are all three-degree-of-freedom quaternions.

5. The method according to claim 4, characterized in that, The specific steps of determining whether jitter exceeds the jitter region based on the first rotation data are as follows: The first rotation data is decomposed into axis-angle form to obtain axis vector and rotation angle. It is determined whether the rotation angle is greater than a preset threshold. If it is, it indicates that jitter has occurred outside the jitter area; otherwise, it indicates that jitter has not occurred outside the jitter area.

6. The method according to claim 5, characterized in that: The tracking data at the current moment is obtained based on the vehicle's sensor data; The preset threshold includes at least the preset threshold corresponding to when the vehicle is in motion and the preset threshold corresponding to when the vehicle is stationary.

7. The method according to claim 4, characterized in that, Both the first and second correction methods employ quaternion interpolation for correction. The interpolation coefficients of the quaternion interpolation method used in the first correction method are set to a first preset value; The interpolation coefficients of the quaternion interpolation method used in the second correction method are set to the second preset value.

8. The method according to claim 7, characterized in that: The tracking data at the current moment is obtained based on the vehicle's sensor data; The first preset value and the second preset value include at least the first preset value and the second preset value corresponding to the vehicle being in motion, and the first preset value and the second preset value corresponding to the vehicle being stationary.

9. A control device, comprising a processor and a storage device, said storage device being adapted to store a plurality of program codes, characterized in that, The program code is adapted to be loaded and run by the processor to perform the anti-jitter tracking data acquisition method according to any one of claims 1 to 8.

10. A vehicle, characterized in that: The vehicle includes the control device as described in claim 9.

11. A computer-readable storage medium storing a plurality of program codes, characterized in that, The program code is adapted to be loaded and run by a processor to perform the anti-jitter tracking data acquisition method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Tracking and positioning method, system, medium and computing device

    CN107993247A

  • Confidence coefficient acquisition method of multi-sensor fusion target tracking system, storage medium and electronic equipment

    CN114139651A