Positioning precision measuring method and device and positioning precision measuring system
By obtaining the motion trajectory of the equipment to be tested and the reference equipment, obtaining the target external parameters and time synchronization values, aligning the specific markers to the IMU, synchronizing the trajectory between the equipment to be tested and the reference equipment, solving the problem of poor positioning accuracy in the prior art, and achieving high-precision and high-accuracy positioning accuracy measurement.
Patent Information
- Application Number
- CN202311620081.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-05-30
AI Technical Summary
The lack of effective synchronization methods in the prior art leads to poor positioning accuracy, especially in the evaluation of the track accuracy of the SLAM algorithm of XR equipment.
By obtaining the motion trajectory output by the device to be tested and the reference device, obtaining the target external parameters and time synchronization values, and aligning the specific markers to the IMU, thereby realizing the trajectory synchronization between the device to be tested and the reference device to perform positioning accuracy evaluation.
It realizes high-precision and high-accuracy positioning accuracy measurement, which is simple and easy to implement, and improves the accuracy of SLAM algorithm trajectory accuracy evaluation.
Smart Images

Figure CN120063318A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of precision measurement, and particularly relates to a positioning accuracy measurement method, device, and positioning accuracy measurement system. Background Art
[0002] Positioning accuracy measurement is very important in a measurement system. For example, in the XR field, the SLAM technology is one of the core technologies of XR devices. During the development of the SLAM algorithm, it is necessary to evaluate the accuracy of its positioning trajectory. In related technologies, the high-precision trajectory obtained by the motion capture system cannot be directly used to evaluate the trajectory output by the SLAM algorithm of the XR device. Before evaluating the trajectory accuracy of the SLAM algorithm, it is necessary to perform spatio-temporal hand-eye calibration on the XR device and the motion capture markers for trajectory synchronization. However, the existing technology lacks an effective synchronization method, resulting in poor positioning accuracy. Summary of the Invention
[0003] This application aims to at least solve one of the technical problems existing in the prior art. For this purpose, this application provides a positioning accuracy measurement method, device, and positioning accuracy measurement system, which have high measurement accuracy and accuracy, and are simple and easy to implement.
[0004] In a first aspect, this application provides a method applied to a measurement system, the measurement system includes a device under test and a reference device, and a specific marker is set on the device under test; the method includes:
[0005] Obtain, within the duration of the moving target, a first motion trajectory output by the device under test and a second motion trajectory output by the reference device; the first motion trajectory represents a set of motion poses of the device under test, and the second motion trajectory represents a set of motion poses of the specific marker relative to the reference device;
[0006] Obtain the target extrinsic parameters of the specific marker relative to the device under test and the target time synchronization value;
[0007] Based on the target extrinsic parameters and the target time synchronization value, convert the second motion trajectory into a fourth motion trajectory;
[0008] Compare the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
[0009] According to the positioning accuracy measurement method of this application, the target extrinsic parameters are obtained through the first motion trajectory output by the device under test and the second motion trajectory output by the reference device to align the specific marker to the IMU, so as to measure the accuracy of the positioning trajectory output by the device under test under the condition of trajectory synchronization between the device under test and the reference device, which has high measurement accuracy and accuracy, and is simple and easy to implement.
[0010] According to an embodiment of the present application, obtaining the target extrinsic parameter and the target time synchronization value of the specific marker relative to the device to be measured includes:
[0011] Based on the first motion trajectory and the second motion trajectory, obtain the first time synchronization value and the first extrinsic parameter between the first motion trajectory and the second motion trajectory;
[0012] Perform non-linear optimization on the first time synchronization value and the first extrinsic parameter to obtain the target extrinsic parameter and the target time synchronization value.
[0013] According to an embodiment of the present application, based on the first motion trajectory and the second motion trajectory, obtaining the first time synchronization value and the first extrinsic parameter between the first motion trajectory and the second motion trajectory includes:
[0014] Obtain the first angular velocity at multiple moments based on the second motion trajectory after unifying the time interval, and obtain the second angular velocity at the multiple moments based on the first motion trajectory after unifying the time interval;
[0015] Based on the first angular velocity and the second angular velocity, construct a discrete-time correlation function;
[0016] Based on the data within the peak target range of the discrete-time correlation function, fit the discrete-time correlation function to obtain the maximum value index;
[0017] Convert the maximum value index into the first time synchronization value.
[0018] According to an embodiment of the present application, based on the first motion trajectory and the second motion trajectory, obtaining the first time synchronization value and the first extrinsic parameter between the first motion trajectory and the second motion trajectory includes:
[0019] Perform time synchronization processing on the first motion trajectory and the second motion trajectory based on the first time synchronization value to obtain the third motion pose corresponding to the second motion trajectory and the fourth motion pose corresponding to the first motion trajectory; the third motion pose includes multiple first poses corresponding to multiple moments, and the fourth motion trajectory includes multiple second poses corresponding to multiple moments;
[0020] Construct multiple first relative poses from the multiple first poses;
[0021] Based on the multiple first relative poses, construct multiple second relative poses from the multiple second poses, and the multiple first relative poses and the multiple second relative poses correspond one by one;
[0022] Construct a total system coefficient matrix based on the multiple first relative poses and the multiple second relative poses;
[0023] Perform singular value decomposition on the total system coefficient matrix to obtain the first external parameters.
[0024] According to an embodiment of the present application, constructing multiple first relative poses from the multiple first poses includes:
[0025] Determine a first starting pose from the multiple first poses;
[0026] When the rotation excitation between the first target pose and the first starting pose in the multiple first poses satisfies a first target condition, determine the first relative pose based on the first starting pose and the first target pose.
[0027] According to an embodiment of the present application, constructing a total system coefficient matrix based on the multiple first relative poses and the multiple second relative poses includes:
[0028] Construct multiple hand-eye relative poses based on each of the first relative poses and the corresponding second relative poses;
[0029] Input the multiple hand-eye relative poses into a robust kernel function model to obtain the weight information corresponding to each of the hand-eye relative poses output by the robust kernel function model;
[0030] Construct the total system coefficient matrix based on the weight information and an initial coefficient matrix; wherein, the initial coefficient matrix is directly obtained based on the multiple hand-eye relative poses without adding the weight information.
[0031] According to an embodiment of the present application, constructing a total system coefficient matrix based on the multiple first relative poses and the multiple second relative poses; performing singular value decomposition on the total system coefficient matrix to obtain the first external parameters includes:
[0032] Iteratively execute the steps of constructing a total system coefficient matrix based on the multiple first relative poses and the multiple second relative poses; performing singular value decomposition on the total system coefficient matrix to obtain the first external parameters based on a maximum iteration threshold.
[0033] In a second aspect, the present application provides a positioning accuracy measurement device, which is applied to a measurement system. The measurement system includes a device under test and a reference device, and a specific marker is provided on the device under test; the device includes:
[0034] A first processing module, configured to obtain, within the duration of a moving target, a first motion trajectory output by the device under test and a second motion trajectory output by the reference device; the first motion trajectory represents a set of motion poses of the device under test, and the second motion trajectory represents a set of motion poses of the specific marker relative to the reference device;
[0035] A second processing module, configured to obtain the target extrinsic parameters of the specific marker relative to the device under test and the target time synchronization value;
[0036] A third processing module, configured to convert the second motion trajectory into a fourth motion trajectory based on the target extrinsic parameters and the target time synchronization value;
[0037] A fourth processing module, configured to compare the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
[0038] According to the positioning accuracy measurement device of the present application, the target extrinsic parameters are obtained through the first motion trajectory output by the device under test and the second motion trajectory output by the reference device to align the specific marker to the IMU, so as to measure the accuracy of the positioning trajectory output by the device under test when the trajectories of the device under test and the reference device are synchronized, which has high measurement accuracy and accuracy, and is simple and easy to implement.
[0039] In a third aspect, the present application provides a positioning accuracy measurement system, including:
[0040] A device under test, in which an IMU is provided, and a specific marker is provided on the device under test;
[0041] A reference device; the measurement system measures the calibration accuracy of the device under test based on the positioning accuracy measurement method as described in the first aspect.
[0042] In a fourth aspect, the present application provides a non-transitory computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the positioning accuracy measurement method as described in the first aspect above.
[0043] In a fifth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the positioning accuracy measurement method as described in the first aspect above.
[0044] One or more of the above technical solutions in the embodiments of the present application have at least one of the following technical effects:
[0045] The first motion trajectory output by the device under test and the second motion trajectory output by the reference device are used to obtain the target extrinsic parameters to align the specific marker to the IMU, so as to measure the accuracy of the positioning trajectory output by the device under test when the trajectories of the device under test and the reference device are synchronized. It has high measurement accuracy and precision, and is simple to operate and easy to implement.
[0046] Furthermore, in the process of calculating the first time synchronization value based on the angular velocity information of the second motion trajectory and the first motion trajectory, a quadratic polynomial is used to fit the peak of the discrete-time correlation function to equivalently calculate its true maximum index, which can reduce the interval uncertainty and effectively improve the accuracy, precision and authenticity of the calculated first time synchronization value, thereby improving the time synchronization effect between the second motion trajectory and the first motion trajectory.
[0047] Even further, in the process of solving the extrinsic parameters, by constructing the local relative pose based on the angle constraint, the influence of the trajectory cumulative error can be avoided, and the rotational excitation between the finally determined first target pose and the first starting pose is sufficient, reducing the useless information contained, reducing the solution error, and improving the accuracy and precision of the calculated first extrinsic parameter.
[0048] Still further, by iteratively calculating the hand-eye extrinsic parameters and determining the hand-eye extrinsic parameter with the smallest error as the finally obtained first extrinsic parameter, the influence of noise in the spatial hand-eye calibration can be further eliminated, the optimal solution with high precision can be restored, and the precision of the obtained first extrinsic parameter can be further improved.
[0049] Some of the additional aspects and advantages of this application will be given in the following description, some will become obvious from the following description, or will be understood through the practice of this application. Description of the Drawings
[0050] The above and / or additional aspects and advantages of this application will become obvious and easy to understand from the description of the embodiments in conjunction with the following drawings, where:
[0051] Figure 1 is one of the schematic flowcharts of the positioning accuracy measurement method provided by the embodiment of this application;
[0052] Figure 2 is one of the schematic diagrams of the principle of the positioning accuracy measurement method provided by the embodiment of this application;
[0053] Figure 3 is the second schematic diagram of the principle of the positioning accuracy measurement method provided by the embodiment of this application;
[0054] Figure 4 is the third schematic diagram of the principle of the positioning accuracy measurement method provided by the embodiment of this application;
[0055] Figure 5 It is a schematic structural diagram of a positioning accuracy measurement device provided by an embodiment of the present application;
[0056] Figure 6 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Specific embodiments
[0057] Next, the technical solutions in the embodiments of the present application will be clearly described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.
[0058] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same category, and the number of objects is not limited. For example, the first object can be one or multiple. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally indicates an "or" relationship between the associated objects before and after.
[0059] Next, in conjunction with the accompanying drawings, the positioning accuracy measurement method, positioning accuracy measurement device, electronic device, and readable storage medium provided by the embodiments of the present application will be described in detail through specific embodiments and their application scenarios.
[0060] Among them, the positioning accuracy measurement method can be applied to a terminal, and specifically can be executed by hardware or software in the terminal.
[0061] The terminal includes, but is not limited to, portable communication devices such as mobile phones or tablets. It should also be understood that in some embodiments, the terminal may not be a portable communication device, but a desktop computer.
[0062] In the following various embodiments, a terminal including a display and a touch-sensitive surface is described. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, a mouse, and a joystick.
[0063] The positioning accuracy measurement method provided by the embodiments of the present application. The execution subject of this positioning accuracy measurement method can be an electronic device or a functional module or functional entity in the electronic device that can implement this positioning accuracy measurement method. The electronic devices mentioned in the embodiments of the present application include, but are not limited to, mobile phones, tablet computers, computers, cameras, and wearable devices, etc. Hereinafter, taking the electronic device as the execution subject as an example, the positioning accuracy measurement method provided by the embodiments of the present application will be described.
[0064] As Figure 1 shown, this positioning accuracy measurement method includes: step 110, step 120, step 130, and step 140.
[0065] This positioning accuracy measurement method is applied to a measurement system.
[0066] As Figure 2 shown, this measurement system includes a device under test and a reference device.
[0067] Among them, an IMU is set in the device under test, and a specific marker is set on the device under test.
[0068] The specific marker can be any identifier set on the device under test.
[0069] The device under test is a device for performing accuracy calibration, such as an XR device to be tested.
[0070] The reference device is used to capture the motion of the device under test, such as a motion capture system or a camera, etc.
[0071] Step 110: Obtain the first motion trajectory output by the device under test and the second motion trajectory output by the reference device within the duration of the moving target; the first motion trajectory represents the set of motion poses of the device under test, and the second motion trajectory represents the set of motion poses of the specific marker relative to the reference device;
[0072] In this step, the target duration can be user-defined, and the present application does not make a limitation.
[0073] The first motion trajectory is used to represent the set of motion poses of the device under test, that is, to represent the motion poses of the IMU in the first reference world coordinate system.
[0074] The second motion trajectory is used to represent the set of motion poses of the specific marker relative to the reference device, that is, to represent the motion poses of the specific marker in the second reference world coordinate system.
[0075] Taking the device under test as an XR device as an example, continue to refer to Figure 2When evaluating the SLAM accuracy of an XR device using a reference device, a marker coordinate system M can be established based on a specific marker M set on the device under test, which is regarded as the "hand" in hand-eye calibration. The output of the reference device is the second motion trajectory of M in the second reference world coordinate system B.
[0076] The second motion trajectory includes the pose set of the specific marker M in the second reference world coordinate system B within the target duration.
[0077] Based on the IMU of the XR device under test, an IMU coordinate system D can be obtained, which is regarded as the "eye" in hand-eye calibration. The output of the SLAM algorithm is the first motion trajectory of D in the first reference world coordinate system W.
[0078] The first motion trajectory includes the pose set of D in the first reference world coordinate system W within the target duration.
[0079] Step 120: Obtain the target extrinsic parameters and the target time synchronization value of the specific marker relative to the device under test;
[0080] In this step, the target extrinsic parameters are the parameters used to spatially align the specific marker with the IMU in hand-eye calibration.
[0081] The target time synchronization value is the parameter for time synchronization of the motion trajectory.
[0082] In actual implementation, the hand-eye calibration method can be used to perform spatio-temporal alignment between the specific marker and the IMU.
[0083] The hand-eye calibration method is a method for observing and measuring the relative motion between the end effector (hand) and the camera vision system (eye) to determine the conversion relationship between the end effector coordinate system and the camera vision system coordinate system.
[0084] In some embodiments, the hand-eye calibration method can include tight-coupling or loose-coupling methods, which are not elaborated in this application.
[0085] In some embodiments, step 120 may further include:
[0086] Based on the first motion trajectory and the second motion trajectory, obtain the first time synchronization value and the first extrinsic parameters between the first motion trajectory and the second motion trajectory;
[0087] Non-linearly optimize the first time synchronization value and the first extrinsic parameters to obtain the target extrinsic parameters and the target time synchronization value.
[0088] In this embodiment, continuing with the second reference world coordinate system B and the first reference world coordinate system W in step 110 as an example, the goal of the hand-eye calibration algorithm is to solve for the second motion trajectory and the first motion trajectory the first time synchronization value and the first extrinsic parameter therebetween.
[0089] In the actual execution process, the first time synchronization value can be calculated based on the angular velocity information of the second motion trajectory and the first motion trajectory, and then a hand-eye calibration model in space such as AX = XB can be established to solve the first extrinsic parameter. The specific implementation method can be a conventional method, which will not be elaborated herein.
[0090] In some embodiments, obtaining the first time synchronization value and the first extrinsic parameter between the first motion trajectory and the second motion trajectory based on the first motion trajectory and the second motion trajectory may further include:
[0091] Obtaining the first angular velocity at multiple moments based on the second motion trajectory after unifying the time intervals, and obtaining the second angular velocity at multiple moments based on the first motion trajectory after unifying the time intervals;
[0092] Constructing a discrete-time correlation function based on the first angular velocity and the second angular velocity;
[0093] Fitting the discrete-time correlation function based on the data within the peak target range of the discrete-time correlation function to obtain the maximum value index;
[0094] Converting the maximum value index into the first time synchronization value.
[0095] In this embodiment, the first angular velocity and the second angular velocity are the angular velocity magnitudes.
[0096] It can be understood that the angular velocity magnitudes of rigidly connected objects have the characteristic of consistency.
[0097] In some embodiments, interpolation processing can be performed on the first motion trajectory and the second motion trajectory to unify the time intervals.
[0098] For example, the ScLERP interpolation algorithm can be used to unify the time intervals of the second motion trajectory and the first motion trajectory, and then the angular velocity magnitudes at each moment are calculated through the rotation parts of adjacent poses in the unified second motion trajectory and the first motion trajectory, obtaining the first angular velocity v i , i ∈ {1, 2,..., n}, and the second angular velocity u j , j ∈ {1, 2,..., m} corresponding to the first motion trajectory at multiple moments; where n is the moment value under the second motion trajectory, and m is the moment value under the first motion trajectory, as Figure 3 (a) shown.
[0099] The discrete-time correlation function is as Figure 3(b) shows a function at discrete time.
[0100] In some embodiments, the first angular velocity and the second angular velocity can be input into a discrete-time correlation function construction model to obtain the discrete-time correlation function output by the discrete-time correlation function construction model.
[0101] The target range is used to define the range involved in fitting, which can be the area near the peak, and the value of the target range can be user-defined.
[0102] After obtaining the discrete-time correlation function, a quadratic polynomial can be used to fit the peak of the discrete-time correlation function to obtain the result shown in Figure 3 (c), where the shaded area is the range involved in fitting. Based on the fitting result, the maximum value index can be obtained, as shown by the curve at the bottom in Figure 3 (c).
[0103] The maximum value index obtained by polynomial fitting can be converted into the first time synchronization value Δt, thereby realizing angular velocity time synchronization, as shown in Figure 3 (d).
[0104] The inventors found during the R & D process that the resolution is the same as the period of the lower-frequency one in the input trajectory, resulting in interval uncertainty in the calculated time synchronization value. The true synchronization value may be distributed within the interval of plus or minus 1 / 2 times the resolution. In the related art, the method of directly obtaining the maximum value index based on the discrete-time correlation function will cause a large error in the finally determined time synchronization value, and the accuracy is poor.
[0105] According to the positioning accuracy measurement method provided by the embodiments of the present application, by using a quadratic polynomial to fit the peak of the discrete-time correlation function during the process of calculating the first time synchronization value based on the angular velocity information of the second motion trajectory and the first motion trajectory to equivalently calculate its true maximum value index, the interval uncertainty can be reduced, and the accuracy, accuracy, and authenticity of the calculated first time synchronization value can be effectively improved, thereby improving the time synchronization effect between the second motion trajectory and the first motion trajectory.
[0106] After obtaining the first time synchronization value, based on the trajectory after time synchronization is completed, the traditional AX = XB modeling method can be used to solve the external parameters for hand-eye calibration in space, which is not elaborated in this application.
[0107] In some embodiments, based on the first motion trajectory and the second motion trajectory, obtaining the first time synchronization value and the first external parameter between the first motion trajectory and the second motion trajectory may further include:
[0108] Perform time synchronization processing on the second motion trajectory and the first motion trajectory based on the first time synchronization value to obtain the third motion pose corresponding to the second motion trajectory and the fourth motion pose corresponding to the first motion trajectory; the third motion pose includes multiple first poses corresponding to multiple moments, and the first motion trajectory includes multiple second poses corresponding to multiple moments;
[0109] Construct multiple first relative poses from the multiple first poses;
[0110] Based on the multiple first relative poses, construct multiple second relative poses from the multiple second poses, and the multiple first relative poses and the multiple second relative poses correspond one by one;
[0111] Construct a total system coefficient matrix based on the multiple first relative poses and the multiple second relative poses;
[0112] Perform singular value decomposition on the total system coefficient matrix to obtain the first extrinsic parameters.
[0113] In this embodiment, singular value decomposition (SVD) is a matrix decomposition in linear algebra, and its essence is principal component decomposition.
[0114] Based on the second motion trajectory and the first motion trajectory synchronized based on the first time synchronization value, it may include: interpolating the poses to achieve time synchronization of the second motion trajectory and the first motion trajectory, and obtaining the third motion pose and the fourth motion pose.
[0115] For example, interpolation processing can be performed through the ScLERP algorithm model.
[0116] For subsequent calculation needs, all pose transformation relationships are represented using unit dual quaternions where ε is an infinitesimal unit, q is the standard part, and q′ is the dual part.
[0117] For the third motion pose after completing time synchronization and the fourth motion pose multiple pairs of hand-eye relative poses can be obtained, such as Figure 2 shown in and etc.
[0118] In the actual execution process, the relative poses can be constructed based on the construction method of global or inter-frame relative poses, such as fixing one pose and calculating the relative poses of all other poses with it; or directly calculating the relative poses between adjacent frames, etc.
[0119] For any two pairs of hand-eye trajectories, it can be through Figure 2The pose transformation relationship in is transformed to obtain multiple pairs of hand-eye relative poses; among them, and are a pair of hand-eye relative poses.
[0120] In some embodiments, constructing multiple first relative poses from multiple first poses may further include: constructing multiple first relative poses from multiple first poses based on angle constraints.
[0121] The implementation process of this method will be specifically described below.
[0122] In some embodiments, constructing multiple first relative poses from multiple first poses may include:
[0123] Determine a first starting pose from multiple first poses;
[0124] When the rotation excitation between the first target pose and the first starting pose among multiple first poses meets the first target condition, determine the first relative pose based on the first starting pose and the first target pose.
[0125] In this embodiment, the first starting pose serves as the search starting point for searching for the next first pose each time.
[0126] The first starting pose may not be a fixed pose, and the first starting pose corresponding to each search can be re-determined each time.
[0127] The first target pose is any pose among multiple first poses except the first starting pose and whose rotation excitation with the first starting pose meets the first target condition.
[0128] Among them, the first target condition can be user-defined, used to avoid the influence of trajectory cumulative error, and make the rotation excitation between the finally determined first target pose and the first starting pose sufficient, reduce the included useless information, so as to reduce the solution error.
[0129] In some embodiments, the first target condition may be expressed as the following relational expression:
[0130]
[0131] Among them, is the dual quaternion of the first relative pose between the currently searched first pose and the first starting pose The imaginary part of the standard part quaternion, η is the angle threshold.
[0132] In some embodiments, the angle threshold can be set to 3°, 4° or other values, etc., which can be set based on actual needs, and this application does not make limitations.
[0133] For example, during the first search process, a pose can be randomly selected from multiple first poses as the first starting pose, and then search forward from this first starting pose. When the rotational excitation of the current first pose in the search satisfies the condition of Equation (5), a local relative pose is constructed and the next search is entered.
[0134] During the next search process, re-determine the first starting pose corresponding to this search. For example, determine the first target pose determined in the previous search as the first starting pose of this search, and then construct the local relative pose corresponding to this search based on a similar method as above, and so on until the search is completed.
[0135] Based on the above method, multiple first relative poses can finally be constructed: between between between and between etc., as Figure 4 shown by the dashed line in
[0136] After obtaining multiple first relative poses, obtain the second relative pose at the same position points corresponding to the first relative poses, and determine the first relative pose and the second relative pose corresponding to the same position point as a pair of hand-eye relative poses at that position point.
[0137] The inventors also found during the R & D process that in the related art, the global relative pose construction method is easily affected by the cumulative error of the trajectory itself, resulting in inconsistent hand-eye relative poses and affecting the external parameter solution; the frame-to-frame relative pose construction method is prone to introducing unnecessary errors due to insufficient motion excitation and containing more useless information, both of which will affect the accuracy of the finally obtained first external parameter.
[0138] According to the positioning accuracy measurement method provided by the embodiments of the present application, by constructing local relative poses based on angle constraints during the external parameter solution process, the influence of trajectory cumulative errors can be avoided, and the rotational excitation between the finally determined first target pose and the first starting pose is sufficient, reducing the useless information contained, reducing the solution error, and improving the accuracy and accuracy of the first external parameter obtained by calculation.
[0139] After obtaining multiple pairs of hand-eye relative poses, a total system coefficient matrix can be constructed based on the multiple pairs of hand-eye relative poses.
[0140] For example, during the actual execution process, the following linear equations can be constructed:
[0141]
[0142] Where r and r′ represent the imaginary parts of the standard part q and the dual part q′ of the dual quaternion, respectively. ∧ Represents the antisymmetric matrix corresponding to the vector.
[0143] For the 6*8 dimensional coefficient matrix in the equation system, S i To express.
[0144] For n≥2 pairs of relative postures in the third motion posture and the fourth motion posture, jointly calculate their corresponding S i The matrix can be used to obtain the overall coefficient matrix M of the 6n*8-dimensional spatial hand-eye calibration as follows:
[0145]
[0146] Among them, the rank of the overall coefficient matrix M should be 6 without any noise interference, and i is the first pair of relative poses.
[0147] After obtaining the overall coefficient matrix, perform singular value decomposition on it and you can get M = UΣV T The first external parameter is the linear combination of the last two column vectors of the V matrix, combined with the constraint q of the unit dual quaternion itself T q=1 and q T q′=0, the first external parameter can be obtained
[0148] In some embodiments, constructing an overall coefficient matrix based on the plurality of first relative postures and the plurality of second relative postures may include:
[0149] Constructing a plurality of hand-eye relative postures based on each first relative posture and a second relative posture corresponding to the first relative posture;
[0150] Inputting multiple pairs of hand-eye relative postures into the robust kernel function model, and obtaining weight information corresponding to each hand-eye relative posture output by the robust kernel function model;
[0151] Based on the weight information and the initial coefficient matrix, an overall coefficient matrix is constructed; wherein the initial coefficient matrix is obtained directly based on the relative positions of multiple pairs of hands and eyes without adding weight information.
[0152] In this embodiment, the hand-eye relative posture includes: a first relative posture and a second relative posture corresponding to the same position point.
[0153] The robust kernel function model is used to reduce the impact of noise data during the process of solving the extrinsic linear problem.
[0154] The robust kernel function model can be constructed based on the geometric consistency error evaluation function.
[0155] Among them, the geometric consistency error evaluation function is used to perform geometric consistency constraints, that is, to constrain the rotation angle and translation modulus of the rigid body motion.
[0156] It can be understood that the geometric consistency constraint of the hand-eye relative posture should be strictly valid in the absence of errors, and can also be used as a criterion for measuring the quality of the relative posture pair in the actual case of errors, and used as weight information when constructing linear equations.
[0157] The initial coefficient matrix is obtained directly based on the standard part and the imaginary part of the dual quaternion corresponding to each relative posture in each hand-eye relative posture without adding weight information, such as the overall coefficient matrix M constructed based on the formula above.
[0158] For any relative posture relationship, it can be further transformed into the following formula:
[0159]
[0160] in, and The relative position of a pair of hands and eyes.
[0161] The scale factor of the unit dual quaternion is defined as:
[0162]
[0163] It can be further deduced that the scale factors of any pair of hand-eye relative positions have the following constraint relationship in the absence of error, that is, the scale factors are equal:
[0164]
[0165] The scale factor of the unit dual quaternion representing rigid body motion can be written as follows:
[0166]
[0167] Where θ is the rotation angle corresponding to the rigid body motion rotation vector, and d is the modulus of the rigid body motion translation.
[0168] The equality of the scale factors indicates that the non-zero parts in the above formula should be equal.
[0169] For any pair of hand-eye relative positions and Based on the above formula, the geometric consistency error evaluation function can be defined as follows:
[0170]
[0171] in, for The scale factor of the corresponding unit dual quaternion; is The scale factor of the corresponding unit dual quaternion.
[0172] When strictly conforming to the geometric consistency constraint, the value of the geometric consistency error evaluation function should be 1; while when there is an error in the relative pose, the geometric consistency error evaluation function will yield a value greater than 1.
[0173] Based on the above geometric consistency error evaluation function, a robust kernel function can be defined as shown in the following formula:
[0174]
[0175] where μ is the amplification coefficient in the robust kernel function.
[0176] The specific value of the amplification coefficient can be user-defined, such as set to 10, which is not limited in this application.
[0177] Adding the weight information of the robust kernel function to the initial coefficient matrix M determined above, the overall coefficient matrix M in the following formula can be obtained rb :
[0178]
[0179] where W n is the weight information corresponding to the nth pair of hand-eye relative poses.
[0180] According to the positioning accuracy measurement method provided by the embodiments of this application, by introducing a robust kernel function to obtain an overall coefficient matrix for solution, it can effectively suppress outliers in the relative pose, making the finally obtained result more adaptable to scenarios with high noise and large cumulative errors, and further improving the accuracy and robustness.
[0181] In some embodiments, based on multiple first relative poses and multiple second relative poses, an overall coefficient matrix is constructed; the overall coefficient matrix is subjected to singular value decomposition to obtain the first external parameters, which may include:
[0182] Based on the maximum iteration threshold, iteratively execute the steps of constructing an overall coefficient matrix based on multiple first relative poses and multiple second relative poses; and performing singular value decomposition on the overall coefficient matrix to obtain the first external parameters.
[0183] In this embodiment, the maximum iteration threshold can be user-defined, which is not limited in this application.
[0184] In the actual execution process, any achievable iterative algorithm can be used for iterative processing.
[0185] Taking the iterative algorithm as the random sample consensus algorithm as an example, the following is an illustration.
[0186] The Random Sample Consensus (RANSAC) algorithm estimates the parameters of a mathematical model iteratively from a set of observed data containing outliers.
[0187] RANSAC is a non-deterministic algorithm that produces a reasonable result with a certain probability, and more iterations will increase this probability.
[0188] In the actual execution process, two steps can be iteratively executed within the RANSAC framework: constructing a linear equation for solving the external parameters of the hand-eye system through the relative pose of the hand-eye, and adding a robust kernel function to the linear equation to achieve high-precision solution of the external parameters, so as to further eliminate the influence of noise in the spatial hand-eye calibration.
[0189] The specific iterative steps are as follows:
[0190] Step 1: For each pair of relative poses of the hand-eye and randomly sample three pairs as a set Q i , check the geometric consistency of the three pairs of relative poses of the hand-eye in set Q i . If the difference is too large, directly discard this sampling.
[0191] Step 2: For the relative poses of the hand-eye in the remaining set Q i , construct a linear equation system and use SVD decomposition to find the corresponding external parameters of the hand-eye
[0192] Step 3: Based on the external parameters of the hand-eye obtained in Step 2 , substitute them into the rotation error and translation error calculation models to calculate the rotation error and translation error of all other relative poses of the hand-eye outside set Q i .
[0193] Record the relative poses of the hand-eye with both the rotation error and the translation error less than the set threshold as the inliers of this sampling.
[0194] The set threshold can be user-defined, and this application does not make any restrictions.
[0195] Step 4: Based on the inliers recorded in Step 3, reconstruct the linear equation system and add the robust kernel function described above to obtain the final overall coefficient matrix, and use SVD decomposition to find the corresponding external parameters of the hand-eye
[0196] Substitute the external parameters of the hand-eye into the rotation error and translation error calculation models to calculate the rotation error and translation error of all inliers and calculate the root mean square error (RMSE).
[0197] Step 5: Iteratively execute the above Steps 1-4, and use the external hand-eye parameters of the sampling group with the smallest root mean square error (RMSE) of both the rotational error and the translational error as the finally obtained first external parameters.
[0198] According to the positioning accuracy measurement method provided by the embodiments of the present application, by iteratively calculating the external hand-eye parameters to determine the external hand-eye parameters with the smallest error as the finally obtained first external parameters, the influence of noise in spatial hand-eye calibration can be further eliminated, the optimal solution with high precision can be restored, and the accuracy of the obtained first external parameters can be further improved.
[0199] It should be noted that in the actual execution process, the first time synchronization value and the first external parameters can be determined based on any combination of the above embodiments, and the present application does not make any limitations.
[0200] For example, the first time synchronization value can be determined based on a conventional method; or it can be determined by fitting the peak of the discrete time correlation function using a quadratic polynomial as described above to equivalently calculate its true maximum index; or it can also be determined by any other achievable method, and the present application does not make any limitations here.
[0201] The first external parameters can be determined based on a conventional method; or they can be determined by constructing a local relative pose based on angle constraints; or they can be determined by introducing a robust kernel function to obtain a total system coefficient matrix for solution; or they can be determined by introducing a random sample consensus algorithm to iteratively calculate the external hand-eye parameters; or they can be determined by combining two or more of the above methods; or they can also be determined by any other achievable method, and the present application does not make any limitations here.
[0202] After multiple tests and verifications by the inventor, a comparison schematic table of the errors of the time synchronization value and the external parameters obtained by the method of the present application and the related technical solutions is obtained, as shown in Tables 1 and 2. Among them, Table 1 shows the comparison results of the spatial hand-eye rough calibration errors for the EuRoC dataset; Table 2 shows the comparison results of the differences in spatial hand-eye rough calibration for the self-made dataset.
[0203] Table 1
[0204]
[0205] Table 2
[0206]
[0207] Table 1 and Table 2 show the performance of this application in the rough calibration stage, mainly counting the time synchronization error and the errors of the external parameter rotation angle and translation modulus. The " / " symbol in the table indicates that the calculated error is greater than 50 cm, which is considered invalid. It can be seen from Table 1 that generally, this technical solution has higher time synchronization accuracy, external parameter rotation accuracy, and external parameter translation accuracy. In addition, in the experiments of all data, this technical solution method did not show any calculation failure, and it has strong robustness. Even in the case of poor SLAM trajectory accuracy caused by extreme motion, it can still obtain a relatively effective calculation result, providing a good initial value for the subsequent joint optimization module.
[0208] In some embodiments, after obtaining the first time synchronization value and the first external parameter, the first external parameter can be directly used as the target external parameter for calibration.
[0209] In some other embodiments, the first time synchronization value and the first external parameter can also be jointly optimized to obtain a further optimized target external parameter.
[0210] In some embodiments, jointly optimizing the first time synchronization value and the first external parameter to obtain the target external parameter may include:
[0211] Performing non-linear optimization on the first time synchronization value and the first external parameter to obtain the target external parameter.
[0212] In this embodiment, non-linear optimization can be performed based on the target optimization function model.
[0213] Among them, the target optimization function model is constructed based on the Maximum Likelihood Estimate (MLE) algorithm in continuous time, and is used to construct a non-linear system to perform joint optimization to obtain a higher-precision result.
[0214] In the actual execution process, the first time synchronization value and the first external parameter can be used as the initial values and input to the target optimization function model for optimization to obtain the optimized target time synchronization value and target external parameter.
[0215] In the actual execution process, the trajectory can be modeled in continuous time to more conveniently process the trajectory information that has not achieved time alignment in the non-linear system and more quickly process high-frequency input data.
[0216] In some embodiments, the target optimization function model is constructed based on the maximum likelihood estimation algorithm in continuous time, and may include:
[0217] Establishing a least squares cost function based on the maximum likelihood estimation algorithm;
[0218] Optimize the least - squares cost function based on the gradient - descent algorithm to obtain the target optimization function model.
[0219] In this embodiment, the gradient - descent algorithm is an algorithm for solving unconstrained optimization problems, including but not limited to: the LM algorithm, the steepest - descent method, Newton's method, and the Gauss - Newton method, etc.
[0220] Among them, the LM (Levenberg - Marquardt) algorithm is an optimization algorithm used to minimize nonlinear least - squares problems, which is a damped Gauss - Newton method to enhance the robustness of gradient descent.
[0221] Represent the input motion - capture marker trajectory (i.e., the second motion trajectory) as T BM (t) through a B - spline function in continuous time. For the convenience of differentiation, the original pose representation based on dual quaternions is decoupled into the mode of unit - quaternion rotation + three - dimensional vector translation here.
[0222] For the translation in T BM (t), use a B - spline function in three - dimensional vector space for modeling, and for the rotation in the trajectory, use a B - spline function in SO(3) space to achieve modeling.
[0223] Take the motion - capture marker trajectory T BM (t) modeled in continuous time, the first extrinsic parameter T MD between a specific marker and the device to be measured, and the first time - synchronization value Δt between the second motion trajectory and the first motion trajectory as variables to be optimized. Based on the MLE theory, establish a least - squares cost function. After obtaining the least - squares cost function, optimize the least - squares cost function using the LM or other gradient - descent algorithms to obtain the optimal spatio - temporal calibration parameters: the target time - synchronization value Δt final and the target extrinsic parameter Thus, eliminate the influence of the unknown quantity T WD in T WB .
[0224] According to the positioning - accuracy measurement method provided by the embodiments of the present application, by performing non - linear optimization on the initially obtained first time - synchronization value and the first extrinsic parameter, the accuracy of the obtained target extrinsic parameter can be further improved.
[0225] After multiple experiments and verifications by the inventor, the schematic diagrams of the calibration results of the method of the present application and the related technical solutions are obtained, as shown in Tables 3 and 4. Among them, Table 3 is the spatio - temporal hand - eye calibration performance statistics of the EuRoC dataset; Table 4 is the spatio - temporal hand - eye calibration performance statistics of the self - made dataset.
[0226] Table 3
[0227]
[0228] Table 4
[0229]
[0230] As can be seen from Table 3 and Table 4, in the EuRoC dataset, the calibration result of this application has a time synchronization difference of less than 6.5 ms, a translation difference of less than 1 cm, and a rotation difference of less than 0.24° compared with the conventional scheme in the experimental group with normal movement in the self-made dataset. It has lower uncertainty, higher accuracy, a wider range of use, and higher robustness, and can achieve high-precision spatio-temporal hand-eye calibration in the SLAM positioning accuracy evaluation of XR devices.
[0231] In this application, the spatio-temporal hand-eye calibration is solved based on the pose information output by the SLAM algorithm of the XR device and the reference device during a period of movement, and the first time synchronization value and the first external parameter under coarse coupling are obtained. On this basis, the first time synchronization value and the first external parameter are jointly optimized based on the maximum likelihood estimation algorithm in continuous time.
[0232] In addition, the solution of this application does not need to obtain the original data of the XR device, effectively broadening the range of use, reducing the amount of data participating in the joint optimization, and improving the calculation rate; avoiding the influence of the IMU data quality on the final result, and further improving the solution accuracy and accuracy.
[0233] Step 130: Based on the target external parameter and the target time synchronization value, convert the second motion trajectory into the fourth motion trajectory.
[0234] After obtaining the target external parameter, the specific marker can be aligned with the IMU based on the target external parameter to convert the second motion trajectory into the fourth motion trajectory, so as to achieve the spatio-temporal synchronization of the specific marker and the IMU, that is, to achieve the trajectory synchronization between the device under test and the reference device.
[0235] Step 140: Compare the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
[0236] In this step, after aligning the specific marker with the IMU, the spatio-temporal synchronization of the first motion trajectory and the fourth motion trajectory can be achieved, and then the accuracy measurement of the trajectory output by the device under test can be carried out based on the first motion trajectory and the fourth motion trajectory. The specific measurement method can be selected according to the actual situation, and this application will not elaborate here.
[0237] According to the positioning accuracy measurement method provided by the embodiments of the present application, a target extrinsic parameter is obtained from the first motion trajectory output by the device under test and the second motion trajectory output by the reference device to align a specific marker to the IMU, so as to measure the accuracy of the positioning trajectory output by the device under test when the trajectories of the device under test and the reference device are synchronized, which has high measurement accuracy and accuracy, and is simple and easy to implement.
[0238] For the positioning accuracy measurement method provided by the embodiments of the present application, the execution subject may be a positioning accuracy measurement device. In the embodiments of the present application, taking the positioning accuracy measurement device as an example to execute the positioning accuracy measurement method, the positioning accuracy measurement device provided by the embodiments of the present application is described.
[0239] The embodiments of the present application also provide a positioning accuracy measurement device.
[0240] As Figure 5 shown, the positioning accuracy measurement device includes: a first processing module 510, a second processing module 520, a third processing module 530, and a fourth processing module 540.
[0241] The first processing module 510 is configured to obtain the first motion trajectory output by the device under test and the second motion trajectory output by the reference device within the duration of the moving target; the first motion trajectory represents a set of motion poses of the device under test, and the second motion trajectory represents a set of motion poses of the specific marker relative to the reference device;
[0242] The second processing module 520 is configured to obtain the target extrinsic parameter and the target time synchronization value of the specific marker relative to the device under test;
[0243] The third processing module 530 is configured to convert the second motion trajectory into a fourth motion trajectory based on the target extrinsic parameter and the target time synchronization value;
[0244] The fourth processing module 540 is configured to compare the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
[0245] According to the positioning accuracy measurement device provided by the embodiments of the present application, a target extrinsic parameter is obtained from the first motion trajectory output by the device under test and the second motion trajectory output by the reference device to align a specific marker to the IMU, so as to measure the accuracy of the positioning trajectory output by the device under test when the trajectories of the device under test and the reference device are synchronized, which has high measurement accuracy and accuracy, and is simple and easy to implement.
[0246] In some embodiments, the second processing module 520 may further be configured to:
[0247] Based on the first motion trajectory and the second motion trajectory, obtain the first time synchronization value and the first extrinsic parameter between the first motion trajectory and the second motion trajectory;
[0248] Nonlinearly optimize the first time synchronization value and the first external parameter to obtain the target external parameter and the target time synchronization value.
[0249] In some embodiments, the second processing module 520 may also be used to:
[0250] Obtain the first angular velocity at multiple moments based on the second motion trajectory after unifying the time interval, and obtain the second angular velocity at multiple moments based on the first motion trajectory after unifying the time interval;
[0251] Construct a discrete-time correlation function based on the first angular velocity and the second angular velocity;
[0252] Fit the discrete-time correlation function based on the data within the peak target range of the discrete-time correlation function to obtain the maximum value index;
[0253] Convert the maximum value index into the first time synchronization value.
[0254] In some embodiments, the second processing module 520 may also be used to:
[0255] Perform time synchronization processing on the first motion trajectory and the second motion trajectory based on the first time synchronization value to obtain the third motion pose corresponding to the second motion trajectory and the fourth motion pose corresponding to the first motion trajectory; the third motion pose includes multiple first poses corresponding to multiple moments, and the fourth motion trajectory includes multiple second poses corresponding to multiple moments;
[0256] Construct multiple first relative poses from multiple first poses;
[0257] Based on multiple first relative poses, construct multiple second relative poses from multiple second poses, and the multiple first relative poses and the multiple second relative poses correspond one by one;
[0258] Construct a total system coefficient matrix based on multiple first relative poses and multiple second relative poses;
[0259] Perform singular value decomposition on the total system coefficient matrix to obtain the first external parameter.
[0260] In some embodiments, the second processing module 520 may also be used to:
[0261] Determine the first starting pose from multiple first poses;
[0262] When the rotation excitation between the first target pose and the first starting pose in multiple first poses meets the first target condition, determine the first relative pose based on the first starting pose and the first target pose.
[0263] In some embodiments, the second processing module 520 may further be configured to:
[0264] Construct multiple pairs of hand-eye relative poses based on each first relative pose and the corresponding second relative pose;
[0265] Input the multiple pairs of hand-eye relative poses into a robust kernel function model to obtain the weight information corresponding to each hand-eye relative pose output by the robust kernel function model;
[0266] Construct a total system coefficient matrix based on the weight information and the initial coefficient matrix; wherein, the initial coefficient matrix is directly obtained based on the multiple pairs of hand-eye relative poses without adding weight information.
[0267] In some embodiments, the second processing module 520 may further be configured to:
[0268] Iteratively execute the steps of constructing a total system coefficient matrix based on multiple first relative poses and multiple second relative poses and performing singular value decomposition on the total system coefficient matrix to obtain the first extrinsic parameters based on a maximum iteration threshold.
[0269] The positioning accuracy measurement device in the embodiments of the present application may be an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal or other devices other than a terminal. Exemplarily, the electronic device may be a mobile phone, a tablet computer, a laptop computer, a handheld computer, a vehicle-mounted electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc., and may also be a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc. The embodiments of the present application do not make specific limitations.
[0270] The positioning accuracy measurement device in the embodiments of the present application may be a device with an operating system. The operating system may be an Android operating system, an IOS operating system, or other possible operating systems. The embodiments of the present application do not make specific limitations.
[0271] The positioning accuracy measurement device provided by the embodiments of the present application can achieveFigures 1 to 4 For the sake of avoiding repetition, the various processes implemented by the method embodiments will not be elaborated here.
[0272] An embodiment of the present application also provides a positioning accuracy measurement system, including: a device to be measured and a reference device.
[0273] Wherein, an IMU is arranged in the device to be measured, and a specific marker is arranged on the device to be measured;
[0274] The reference device is used to collect the attitude information of the specific marker on the device to be measured.
[0275] The measurement system measures the calibration accuracy of the device to be measured based on the positioning accuracy measurement method described in any of the above embodiments.
[0276] According to the positioning accuracy measurement system provided by the embodiment of the present application, the target extrinsic parameters are obtained through the first motion trajectory output by the device to be measured and the second motion trajectory output by the reference device to align the specific marker to the IMU. Thus, when the specific marker is aligned to the IMU, the accuracy of the device to be measured is measured, which has high measurement accuracy and accuracy, and is simple to operate and easy to implement.
[0277] In some embodiments, as Figure 6 shown, an embodiment of the present application also provides an electronic device 600, including a processor 601, a memory 602, and a computer program stored on the memory 602 and executable on the processor 601. When the program is executed by the processor 601, it implements the various processes of the above-mentioned positioning accuracy measurement method embodiments and can achieve the same technical effects. For the sake of avoiding repetition, it will not be elaborated here.
[0278] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.
[0279] An embodiment of the present application also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the various processes of the above-mentioned positioning accuracy measurement method embodiments and can achieve the same technical effects. For the sake of avoiding repetition, it will not be elaborated here.
[0280] Wherein, the processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory ROM, random access memory RAM, magnetic disk or optical disk, etc.
[0281] An embodiment of the present application also provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the above-mentioned positioning accuracy measurement method.
[0282] Among them, the processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media such as computer read-only memory ROM, random access memory RAM, magnetic disks, or optical discs, etc.
[0283] Another embodiment of the present application provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement each process of the above embodiment of the positioning accuracy measurement method and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.
[0284] It should be understood that the chip mentioned in the embodiments of the present application may also be referred to as a system-on-chip, system chip, chip system, or system-on-chip, etc.
[0285] It should be noted that in this article, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the methods and devices in the embodiments of the present application are not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the reverse order according to the functions involved. For example, the methods described can be performed in an order different from that described, and various steps can also be added, omitted, or combined. In addition, the features described with reference to certain examples can be combined in other examples.
[0286] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods in the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art can be embodied in the form of a computer software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disc) and includes several instructions to enable a terminal (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of the present application.
[0287] The embodiments of the present application have been described above in conjunction with the accompanying drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present application, those of ordinary skill in the art can also make many forms without departing from the purpose of the present application and the scope protected by the claims, and all of them fall within the protection scope of the present application.
[0288] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.
[0289] Although the embodiments of the present application have been shown and described, those of ordinary skill in the art can understand that various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and purposes of the present application. The scope of the present application is defined by the claims and their equivalents.
Claims
1. A method for measuring positioning accuracy, characterized in that, it is applied to a measurement system, the measurement system includes a device under test and a reference device, and a specific marker is arranged on the device under test; the method includes: obtaining, within the duration of a moving target, a first motion trajectory output by the device under test and a second motion trajectory output by the reference device; the first motion trajectory represents a set of motion poses of the device under test, and the second motion trajectory represents a set of motion poses of the specific marker relative to the reference device; obtaining the target external reference of the specific marker relative to the device under test and the target time synchronization value; converting the second motion trajectory into a fourth motion trajectory based on the target external reference and the target time synchronization value; comparing the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
2. The method for measuring positioning accuracy according to claim 1, characterized in that, the obtaining the target external reference of the specific marker relative to the device under test and the target time synchronization value includes: based on the first motion trajectory and the second motion trajectory, obtaining a first time synchronization value and a first external reference between the first motion trajectory and the second motion trajectory; performing non-linear optimization on the first time synchronization value and the first external reference to obtain the target external reference and the target time synchronization value.
3. The method for measuring positioning accuracy according to claim 2, characterized in that, the based on the first motion trajectory and the second motion trajectory, obtaining the first time synchronization value and the first external reference between the first motion trajectory and the second motion trajectory includes: obtaining a first angular velocity at multiple moments based on the second motion trajectory after unifying the time interval, and obtaining a second angular velocity at the multiple moments based on the first motion trajectory after unifying the time interval; constructing a discrete-time correlation function based on the first angular velocity and the second angular velocity; fitting the discrete-time correlation function based on the data within the peak target range of the discrete-time correlation function to obtain a maximum value index; converting the maximum value index into the first time synchronization value.
4. The method for measuring positioning accuracy according to claim 2, characterized in that, the based on the first motion trajectory and the second motion trajectory, obtaining the first time synchronization value and the first external reference between the first motion trajectory and the second motion trajectory includes: performing time synchronization processing on the first motion trajectory and the second motion trajectory based on the first time synchronization value, and obtaining a third motion pose corresponding to the second motion trajectory and a fourth motion pose corresponding to the first motion trajectory; the third motion pose includes multiple first poses corresponding to multiple moments, and the fourth motion trajectory includes multiple second poses corresponding to multiple moments; constructing multiple first relative poses from the multiple first poses; constructing multiple second relative poses from the multiple second poses based on the multiple first relative poses, and the multiple first relative poses and the multiple second relative poses correspond one by one; Construct a global coefficient matrix based on the multiple first relative poses and the multiple second relative poses; Perform singular value decomposition on the global coefficient matrix to obtain the first extrinsic parameters.
5. The positioning accuracy measurement method according to claim 4, wherein, constructing multiple first relative poses from the multiple first poses includes: determining a first starting pose from the multiple first poses; when the rotation excitation between a first target pose and the first starting pose in the multiple first poses satisfies a first target condition, determining the first relative pose based on the first starting pose and the first target pose.
6. The positioning accuracy measurement method according to claim 4, wherein, constructing a global coefficient matrix based on the multiple first relative poses and the multiple second relative poses includes: constructing multiple pairs of hand-eye relative poses based on each of the first relative poses and the corresponding second relative poses; inputting the multiple pairs of hand-eye relative poses into a robust kernel function model to obtain the weight information corresponding to each of the hand-eye relative poses output by the robust kernel function model; constructing the global coefficient matrix based on the weight information and an initial coefficient matrix; wherein, the initial coefficient matrix is directly obtained based on the multiple pairs of hand-eye relative poses without adding the weight information.
7. The positioning accuracy measurement method according to claim 4, wherein, constructing a global coefficient matrix based on the multiple first relative poses and the multiple second relative poses; performing singular value decomposition on the global coefficient matrix to obtain the first extrinsic parameters includes: iteratively executing the steps of constructing a global coefficient matrix based on the multiple first relative poses and the multiple second relative poses; performing singular value decomposition on the global coefficient matrix to obtain the first extrinsic parameters based on a maximum iteration threshold.
8. A positioning accuracy measurement device, wherein, applied to a measurement system, the measurement system includes a device under test and a reference device, and a specific marker is provided on the device under test; the device includes: a first processing module, configured to obtain a first motion trajectory output by the device under test and a second motion trajectory output by the reference device during a motion target duration; the first motion trajectory represents a set of motion poses of the device under test, and the second motion trajectory represents a set of motion poses of the specific marker relative to the reference device; a second processing module, configured to obtain the target extrinsic parameters of the specific marker relative to the device under test and a target time synchronization value; a third processing module, configured to convert the second motion trajectory into a fourth motion trajectory based on the target extrinsic parameters and the target time synchronization value; a fourth processing module, configured to compare the first motion trajectory and the fourth motion trajectory to evaluate the positioning accuracy of the device under test.
9. A positioning accuracy measurement system, wherein, includes: a device under test, an IMU is provided inside the device under test, and a specific marker is provided on the device under test; a reference device; The measurement system performs calibration accuracy measurement on the device under test based on the positioning accuracy measurement method according to any one of claims 1-7.
10. A non-transitory computer-readable storage medium, on which a computer program is stored, characterized in that, when the computer program is executed by a processor, it implements the positioning accuracy measurement method according to any one of claims 1-7.
11. A computer program product, comprising a computer program, characterized in that, when the computer program is executed by a processor, it implements the positioning accuracy measurement method according to any one of claims 1-7.