Six-degree-of-freedom evaluation method, device, system and electronic device of device

By fixing the device to be evaluated on a robotic arm, combining it with the tracking device of a reference device, using the movement of the robotic arm to simulate the actual movement of the XR device, and calculating the six-degree-of-freedom data error, the problems of inaccurate and unreliable evaluation in existing technologies are solved, and a comprehensive and accurate evaluation is achieved.

CN114998775BActive Publication Date: 2025-10-21GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210680524.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-15
Publication Date
2025-10-21
Estimated Expiration
2042-06-15

AI Technical Summary

Technical Problem

Existing six-degree-of-freedom evaluation schemes for XR devices cannot simulate real-world motion conditions, resulting in an inability to fully evaluate their performance, and test results are inaccurate and have poor repeatability.

Method used

By fixing the device to be evaluated on a robotic arm and the tracking device of the reference device on the device to be evaluated, the movement of the robotic arm is used to drive the device to achieve straight or arc point-to-point movement in the front, back, left, right, up and down directions, and the error of the six-degree-of-freedom data is collected and calculated to conduct a comprehensive and accurate evaluation.

Benefits of technology

It achieves a comprehensive, accurate and objective evaluation of the six degrees of freedom of XR devices, improves the reliability and consistency of the evaluation, and can flexibly simulate actual motion conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114998775B_ABST
    Figure CN114998775B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a six-degree-of-freedom evaluation method, device and system of an apparatus and an electronic device, and relate to the technical field of data processing. In the movement process of a mechanical arm, target data output by an apparatus to be evaluated and target data output by a reference apparatus are obtained, wherein a tracking apparatus of the reference apparatus is fixed to the apparatus to be evaluated, and the apparatus to be evaluated is fixed to the mechanical arm. The target data output by the apparatus to be evaluated and the target data output by the reference apparatus are spatio-temporally aligned to obtain data after spatio-temporal alignment. Errors of a target type are calculated according to the data after spatio-temporal alignment, so as to evaluate the six-degree-of-freedom of the apparatus to be evaluated, thereby comprehensively, accurately and objectively evaluating the six-degree-of-freedom of the apparatus to be evaluated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of data processing technology, and in particular, to a six-degree-of-freedom evaluation method, apparatus, system, and electronic device for a device. Background Art

[0002] Extended Reality (XR) refers to all combined real and virtual environments and human-computer interactions generated by computers and wearable devices. Representative forms of XR include augmented reality (AR), virtual reality (VR), mixed reality (MR), and cross-cutting scenarios among AR, VR, and MR.

[0003] Six degrees of freedom refer to the freedom of movement along the three rectangular coordinate axes of x, y, and z and the freedom of rotation around these three coordinate axes, including forward / backward, left / right, up / down, pitch, yaw, and roll, a total of six degrees of freedom.

[0004] The six degrees of freedom (DoF) of an XR device directly impacts the stability of XR image rendering and the smoothness of related applications. Therefore, the six-DoF performance of an XR device is a key indicator of concern for XR device manufacturers, developers, and users. However, there are currently few evaluation methods for the six DoF of XR devices, and existing evaluation methods cannot simulate the actual movement of XR devices, making it difficult to fully evaluate the six DoF of XR devices. Summary of the Invention

[0005] The embodiments of the present application provide a six-degree-of-freedom evaluation method, apparatus, system, and electronic device for a device to improve the above-mentioned problems.

[0006] In a first aspect, embodiments of the present application provide a method for evaluating a device in six degrees of freedom. The method comprises: obtaining target data output by a device to be evaluated and target data output by a reference device during the motion of a robotic arm, wherein a tracking device of the reference device is fixed to the device to be evaluated, and the device to be evaluated is fixed to the robotic arm; performing spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporal aligned data; and calculating target category errors based on the spatiotemporal aligned data to evaluate the six degrees of freedom of the device to be evaluated.

[0007] In a second aspect, embodiments of the present application provide a six-degree-of-freedom evaluation device for a device. The device comprises: a data acquisition module for acquiring target data output by the device to be evaluated and target data output by a reference device during the motion of a robotic arm, wherein the tracking device of the reference device is fixed to the device to be evaluated, and the device to be evaluated is fixed to the robotic arm; a data alignment module for performing spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporally aligned data; and a six-degree-of-freedom evaluation module for calculating target category errors based on the spatiotemporally aligned data to evaluate the six degrees of freedom of the device to be evaluated.

[0008] In a third aspect, embodiments of the present application provide a six-degree-of-freedom evaluation system for a device. The system comprises: a robotic arm that moves according to preset motion parameters; a device to be evaluated, which is fixed to the robotic arm and outputs target data during the movement of the robotic arm; a reference device, whose tracking device is fixed to the device to be evaluated and outputs target data during the movement of the robotic arm; and a data processing device for executing the method described in any one of claims 1 to 7.

[0009] In a fourth aspect, embodiments of the present application provide an electronic device. The electronic device includes: a memory; one or more processors; and one or more application programs, wherein the one or more application programs are stored in the memory and configured to, when called by the one or more processors, cause the one or more processors to execute the six-degree-of-freedom evaluation method for the device provided in embodiments of the present application.

[0010] In a fifth aspect, embodiments of the present application provide a computer-readable storage medium having program code stored therein, wherein the program code is configured to, when called by a processor, cause the processor to execute the six-degree-of-freedom evaluation method for a device provided in embodiments of the present application.

[0011] The embodiments of the present application provide a six-degree-of-freedom evaluation method, apparatus, system, and electronic device for a device. By fixing the device to be evaluated on a robotic arm and fixing the tracking device of a reference device on the device to be evaluated, the movement of the robotic arm can drive the tracking devices of the device to be evaluated and the reference device to achieve point-to-point movement in a straight line or arc in front and back, left and right, and up and down, thereby flexibly simulating the actual movement of the device to be evaluated. In addition, by calculating the error of the target type based on the six-degree-of-freedom data collected and output by the device to be evaluated during the movement of the robotic arm and the six-degree-of-freedom data collected and output by the reference device during the movement of the robotic arm, a comprehensive, accurate, and objective evaluation of the six degrees of freedom of the device to be evaluated can be performed. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0013] Figure 1 is a schematic diagram of a six-degree-of-freedom evaluation system of a device provided in an embodiment of the present application;

[0014] Figure 2 1 is a flow chart of a six-degree-of-freedom evaluation method for a device provided in one embodiment of the present application;

[0015] Figure 3 is a schematic diagram of a six-degree-of-freedom coordinate system output by a reference device provided by an exemplary embodiment of the present application;

[0016] Figure 4 is a schematic diagram of a six-degree-of-freedom coordinate system output by a device to be evaluated provided by an exemplary embodiment of the present application;

[0017] Figure 5 1 is a flow chart of a six-degree-of-freedom evaluation method for a device provided in another embodiment of the present application;

[0018] Figure 6 is a schematic diagram of target data output by a device to be evaluated during movement of a robotic arm, provided by an exemplary embodiment of the present application;

[0019] Figure 7 This is a structural block diagram of a six-degree-of-freedom evaluation device provided by an embodiment of the present application;

[0020] Figure 8 This is a structural block diagram of an electronic device provided in an embodiment of the present application;

[0021] Figure 9 This is a structural block diagram of the computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0023] Regarding the six-degree-of-freedom evaluation of XR devices, some people have proposed that the virtual reality (VR) device to be tested can be made to move in a straight line on the horizontal plane. Through a fusion algorithm, the motion state data of the VR device to be measured and its motion state evaluation value can be obtained. Then, through normalization processing, the quaternion value of the virtual reality (VR) device to be tested moving in a straight line on the horizontal plane is obtained. Finally, the quaternion value is compared with the predefined range of variation of the heading angle, roll angle, and pitch angle to evaluate the virtual reality (VR) device.

[0024] The VR device designed with the above method has a relatively simple motion mode, which only performs linear motion in the horizontal plane. It cannot fully simulate the actual motion of the VR device, resulting in an inability to fully reflect the DOF characteristics of the XR device. The motion mode of the VR device is inconsistent with the test environment and the actual VR usage status. In addition, subjective factors or operational errors caused by the tester will lead to inaccurate test results, and testing by manually operating the VR device cannot ensure that each test is completely consistent, that is, the repeatability is poor. In particular, the six degrees of freedom information of the XR device includes three-dimensional position information and three-dimensional spatial information. Simply setting the VR device to perform linear motion on the horizontal plane cannot simultaneously reflect the posture accuracy of the XR device.

[0025] It can be seen that the existing evaluation scheme cannot simulate the actual movement of XR devices, resulting in the inability to fully evaluate the six degrees of freedom of XR devices.

[0026] Based on this, embodiments of the present application provide a six-degree-of-freedom (6DOF) evaluation method, apparatus, system, and electronic device for evaluating a device. By attaching the device to be evaluated to a robotic arm and attaching a tracking device for a reference device to the device to be evaluated, the actual motion of the device to be evaluated can be flexibly simulated. Furthermore, by calculating the target type of error based on the 6DOF data collected and output by the device to be evaluated and the reference device during the motion of the robotic arm, a comprehensive, accurate, and objective evaluation of the device's 6DOF can be performed.

[0027] See also Figure 1 , Figure 1: is a schematic diagram of the six-degree-of-freedom evaluation system of the device provided in the embodiment of the present application. The six-degree-of-freedom evaluation system 10 of the device includes a robotic arm 11, a device to be evaluated 12, a reference device 13, and a data processing device 14. The device to be evaluated 12 is fixed on the robotic arm 11, and the tracking device 131 of the reference device 13 is fixed on the device to be evaluated 12. The movement of the robotic arm 11 can drive the tracking device 131 of the device to be evaluated 12 and the reference device 13 to realize straight line or arc point-to-point movement in the front and back, left and right, up and down directions, so as to flexibly simulate the actual movement of the device to be evaluated. In addition, the data processing device 14 calculates the error of the target type based on the six-degree-of-freedom data collected and output by the device to be evaluated 12 and the reference device 13 during the movement of the robotic arm 11, so as to perform a comprehensive, accurate and objective evaluation of the six degrees of freedom of the device to be evaluated 12.

[0028] In some embodiments, the accuracy of the robotic arm 11 can be selected based on actual accuracy requirements. For example, a robotic arm with sub-millimeter repeatability can be selected. This embodiment of the present application does not impose any specific restrictions here.

[0029] In some embodiments, the motion trajectory program of the robotic arm 11 can be set in advance, and the motion trajectory program includes preset parameters, so that the robotic arm 11 can move according to the preset parameters. The motion trajectory program can be designed by the developer in the development system corresponding to the robotic arm 11, or can be obtained by the developer by modifying the motion trajectory script in the development system corresponding to the robotic arm 11. The development system can be a robot operating system (ROS). The preset parameters may include movement time, movement distance, movement trajectory, movement cycle, etc. As long as the preset parameters meet the parameter allowable range of the robotic arm 11, the user can set the preset parameters according to actual needs, and the embodiment of the present application does not make specific restrictions here.

[0030] The device to be evaluated 12 outputs six-degree-of-freedom information (also referred to as target data of the device to be evaluated in the following method embodiments) during the motion of the robotic arm 11. The device to be evaluated 12 can be an XR device, a VR device, an AR device, or an MR device, and is not specifically limited in this embodiment.

[0031] In some embodiments, a dedicated fixture (such as Figure 1 As shown, the fixture is not numbered), by fixing the device to be evaluated 12 on the fixture, the device to be evaluated 12 can be fixed on the robot arm 11.

[0032] The reference device 13 outputs six-degree-of-freedom information (i.e., target data of the device to be evaluated as mentioned in the following method embodiment) during the motion of the robotic arm 11. The reference device 13 can be one or include at least two motion capture devices, such as a Vicon optical motion capture system, such as Figure 1 The optical camera shown ( Figure 1 The dashed arrow in the figure points to a magnified schematic diagram of the optical camera. The tracking device 131 of the reference device 13 may be a tracking ball. The tracking device 131 may be one or include at least two tracking devices. The embodiment of the present application does not limit the number of tracking devices.

[0033] In some embodiments, the tracking device 131 of the reference device 13 may be adhered to the device to be evaluated, thereby fixing the tracking device of the reference device 13 to the device to be evaluated.

[0034] The data processing device 14 can obtain and store the six-degree-of-freedom information output by the device to be evaluated 12 and the reference device 13, and calculate the error of the target category of the six degrees of freedom of the device to be evaluated 12 based on the obtained six-degree-of-freedom information, so as to comprehensively and accurately evaluate the six degrees of freedom of the device to be evaluated.

[0035] The data processing device 14 can be an electronic device with data processing capabilities, such as an electronic terminal or a server. The server can be a traditional server or a cloud server. The data processing device 14 can also be a processor or include at least two processors, and this embodiment of the present application does not impose any specific restrictions. The data processing device 14 can be provided separately in the six-degree-of-freedom assessment system 10 of the device, or in the robotic arm 11, or in other devices in the six-degree-of-freedom assessment system 10 of the device, and this embodiment of the present application does not impose any specific restrictions.

[0036] The six-degree-of-freedom evaluation system for a device provided in an embodiment of the present application secures the device to be evaluated 12 to a robotic arm 11, and secures the tracking device 131 of a reference device 13 to the device to be evaluated 12. The movement of the robotic arm 11 can drive the tracking device 131 of the device to be evaluated 12 and the reference device 13 to move forward, backward, left, right, up, and down in straight lines or arcs, thereby flexibly simulating the actual motion of the device to be evaluated. Furthermore, a data processing device 14 calculates target category errors based on the six-degree-of-freedom data collected and output by the device to be evaluated 12 and the reference device 13 during the motion of the robotic arm 11, thereby enabling a comprehensive, accurate, and objective evaluation of the six degrees of freedom of the device to be evaluated 12.

[0037] See also Figure 2 , Figure 2This is a flow chart of a six-degree-of-freedom evaluation method for a device provided in one embodiment of the present application. The six-degree-of-freedom evaluation method for the device can be applied to the above Figure 1 The data processing device 14 shown, or the data processing device 14 mentioned below Figure 7 The six-degree-of-freedom evaluation apparatus 300 of the device shown, or the processor 420 of the electronic device 400 mentioned below, may include the following steps S110 to S130.

[0038] Step S110 , during the movement of the robotic arm, obtaining target data output by the device to be evaluated and target data output by the reference device, wherein the tracking device of the reference device is fixed on the device to be evaluated, and the device to be evaluated is fixed on the robotic arm.

[0039] The robotic arm moves according to motion parameters in a pre-set program. In some embodiments, the robotic arm's motion process includes a test preparation phase and a test phase. During the test preparation phase, the robotic arm performs aperiodic motion, during which aperiodic six-degree-of-freedom data can be collected from the device to be evaluated and the reference device. During the test phase, the robotic arm performs cyclic motion, during which periodic six-degree-of-freedom data can be collected from the device to be evaluated and the reference device.

[0040] The target data output by the device to be evaluated may refer to six-degree-of-freedom data collected and output by the device to be evaluated during the movement of the robotic arm.

[0041] The target data output by the reference device may refer to six-degree-of-freedom data collected and output by the reference device during the movement of the robotic arm.

[0042] In some embodiments, when it is determined that the robotic arm has begun motion, a receiving channel is opened to receive data output by the device under evaluation and a reference device. Six-degree-of-freedom data within the data output by the device under evaluation is determined as target data for the device under evaluation. Six-degree-of-freedom data within the data output by the reference device is determined as target data for the reference device. When it is determined that the robotic arm has stopped motion, the receiving channel is closed, and data output by the device under evaluation and the reference device is no longer received.

[0043] In some embodiments, the device under evaluation and the reference device can directly output six-degree-of-freedom data. When the robotic arm is determined to have begun motion, the receiving channel is opened, and the received six-degree-of-freedom data output by the device under evaluation can be directly determined as the target data for the device under evaluation, and the received six-degree-of-freedom data output by the reference device can be directly determined as the target data for the reference device. When the robotic arm is determined to have stopped motion, the receiving channel is closed, and data output by the device under evaluation and the reference device is no longer received.

[0044] In some embodiments, when a start movement button for the robotic arm is detected to be pressed, it can be determined that the robotic arm has started moving. In some embodiments, when a remote control command or wireless command instructing the robotic arm to move is received, it can be controlled and determined that the robotic arm has started moving. It should be noted that the method for detecting that the robotic arm has stopped moving is similar to the method for detecting that the robotic arm has started moving. Please refer to the relevant description of detecting that the robotic arm has started moving in this embodiment, and this embodiment of the application will not be repeated here.

[0045] Step S120 , performing spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporal aligned data.

[0046] See also Figure 3 and Figure 4 , Figure 3 is a schematic diagram of a six-degree-of-freedom coordinate system output by a reference device provided by an exemplary embodiment of the present application, Figure 4 This is a schematic diagram of the six-degree-of-freedom coordinate system output by the device under evaluation, provided in an exemplary embodiment of the present application. As can be seen, the six-degree-of-freedom coordinate system output by the device under evaluation and the six-degree-of-freedom coordinate system output by the reference device have different axes and origins. Therefore, the six-degree-of-freedom data output by the device under evaluation and the reference device need to be spatiotemporally aligned.

[0047] In some embodiments, the implementation method of spatiotemporally aligning target data output by the device to be evaluated and target data output by a reference device may include the following steps: using a cross-correlation algorithm to estimate the time delay difference between the target data output by the device to be evaluated and the target data output by the reference device; performing time synchronization on the target data output by the device to be evaluated and the target data output by the reference device based on the time delay difference to obtain time-synchronized data; using an interpolation algorithm to time-align the time-synchronized data to obtain time-aligned data; smoothing the time-aligned data to obtain smoothed data; performing spatial conversion on the smoothed data to obtain spatiotemporal alignment parameters; and based on the spatiotemporal alignment parameters, converting the target data output by the device to be evaluated and the target data output by the reference device to the same coordinate system to obtain spatiotemporally aligned data.

[0048] In step S130 , the error of the target category is calculated based on the data after the time-space alignment, so as to evaluate the six degrees of freedom of the device to be evaluated.

[0049] The target type of error can be used to evaluate the six-degree-of-freedom performance of the device to be evaluated. The target type of error includes at least one of the absolute trajectory error, relative pose error, standard error of rotation error, and root mean square error.

[0050] As an example, the following formula can be used to calculate the standard error of absolute trajectory error, relative pose error, and rotation error:

[0051]

[0052] Among them, STD represents the standard error, X i Characterization measurement data (i.e. target data for the device to be evaluated and the reference device mentioned above), represents the measurement average value, i represents the point at the i-th moment in the target data output by the device to be evaluated and the reference device, and n represents the number of samples of the point set of the target data output by the device to be evaluated and the reference device, where i and n are both positive integers greater than 1.

[0053] As an example, the root mean square error can be calculated using the following formula:

[0054]

[0055] Among them, RMSE represents the root mean square error, represents the difference between the target data output by the device to be evaluated and the target data output by the reference device, i represents the point at the i-th moment in the target data output by the device to be evaluated and the reference device, and n represents the number of samples in the point set of the target data output by the device to be evaluated and the reference device, where i and n are both positive integers greater than 1.

[0056] The six-degree-of-freedom evaluation method for a device provided in an embodiment of the present application secures the device to be evaluated to a robotic arm and secures the tracking device of a reference device to the device to be evaluated. The robotic arm's movement can drive the tracking devices of the device to be evaluated and the reference device to achieve point-to-point motion in straight lines or arcs, front to back, left to right, and up and down, thereby flexibly simulating the actual motion of the device to be evaluated. Furthermore, by calculating the target category error based on the six-degree-of-freedom data collected and output by the device to be evaluated and the reference device during the movement of the robotic arm, a comprehensive, accurate, and objective six-degree-of-freedom evaluation of the device to be evaluated can be performed.

[0057] See also Figure 5 , Figure 5 This is a flow chart of a six-degree-of-freedom evaluation method for a device provided by another embodiment of the present application. The six-degree-of-freedom evaluation method for the device can be applied to the above Figure 1 The data processing device 14 shown, or the data processing device 14 mentioned below Figure 7 The six-degree-of-freedom evaluation apparatus 300 of the device shown, or the processor 420 of the electronic device 400 mentioned below, may include the following steps S210 to S280.

[0058] Step S210 , setting motion parameters of the robotic arm so that the robotic arm moves according to the motion parameters.

[0059] The motion parameters of the robotic arm can be set using the aforementioned robotic arm motion trajectory program. The robotic arm's motion parameters may include motion information related to the robotic arm's motion, such as motion time, motion distance, motion trajectory, and motion cycle. As long as the parameters do not exceed the allowable setting range of the robotic arm's parameters, the user can set the robotic arm's motion parameters according to actual needs, and this embodiment of the present application does not impose any specific limitations thereon.

[0060] In some embodiments, a motion trajectory program for the robotic arm can be set in a motion script for the robotic arm in the ROS development system of the robotic arm, wherein the motion trajectory program includes the motion parameters of the robotic arm. The motion trajectory program can be pre-set by the user in the ROS system and stored as an editable or limited modifiable mode, wherein the limited modifiable mode includes a mode in which users with modification permission can modify it, and users without modification permission cannot modify it, or a mode in which it can be modified after entering a correct password. When the motion trajectory program is stored in an editable or limited modifiable mode, the (authorized) user can modify or design the motion parameters of the robotic arm in the motion trajectory program at any time to flexibly meet the different needs of different users.

[0061] Step S220 , calibrating the parameters of the reference device so that the reference device can collect six-degree-of-freedom information of the robotic arm during movement according to the calibrated parameters.

[0062] The parameters of the reference device may refer to the parameters used by the reference device to record the six degrees of freedom during the movement of the robotic arm, such as the camera center of mass parameters (fitting threshold and minimum roundness ratio, etc.), the origin of the motion capture coordinate system, and the ambient light reflection point. The calibration of the parameters of the parameter device referred to in this application may refer to the initialization of the system startup.

[0063] In some embodiments, the software system of the reference device (eg, an optical motion capture system) has an environment point removal function, and the user can directly select the environment points to be removed in the software system of the reference device to remove the environment reflective points.

[0064] In some embodiments, a user can select different reflective marking points and determine the origin of a rigid coordinate system composed of the multiple reflective marking points based on the positions of the multiple reflective marking points to determine the origin of the motion capture coordinate system of the reference device. Determining the origin of the rigid coordinate system composed of the multiple reflective marking points based on the positions of the multiple reflective marking points can be calculated using an algorithm built into the reference device or a user-defined algorithm, and this embodiment of the present application does not impose any specific limitations thereon.

[0065] Step S230 : obtaining a time difference between target data output by the device to be evaluated and target data output by the reference device.

[0066] In some embodiments, the time difference between the target data output by the device to be evaluated and the target data output by the reference device can be calculated based on the timestamps of the target data output by the device to be evaluated and the reference device for the same location. For example, the timestamps of the target data output by the device to be evaluated and the reference device for the same location can be obtained, and the difference between the timestamps of the target data output by the device to be evaluated and the reference device for the same location can be calculated, and this difference can be used as the time difference between the target data output by the device to be evaluated and the target data output by the reference device.

[0067] In step S240 , if the time difference is less than a preset time difference threshold, target data output by the device to be evaluated and target data output by the reference device are obtained during the movement of the robotic arm, wherein the tracking device of the reference device is fixed on the device to be evaluated, and the device to be evaluated is fixed on the robotic arm.

[0068] Among them, the preset time difference threshold can be set by the user according to the actual accuracy requirements, and the embodiment of the present application does not make any specific restrictions here.

[0069] If the time difference is less than the preset time difference threshold, the time difference between the device to be evaluated and the reference device is small at this time. It can be determined that the time difference between the target data output by the device to be evaluated and the reference device for the same position is small at this time, that is, the error is small. At this time, the target data output by the device to be evaluated and the target data output by the reference device during the movement of the robotic arm can be obtained and stored.

[0070] If the time difference is not less than the preset time difference threshold, the time difference between the device to be evaluated and the reference device is large at this time. It can be determined that the time difference of the target data output by the device to be evaluated and the reference device for the same position is large, that is, the error is large. At this time, a prompt message can be output to the user to prompt the user to reduce the time difference between the target data output by the device to be evaluated and the reference device by changing the parameters of the reference device or adjusting the position between the device to be evaluated and the reference device. At this time, the target data output by the device to be evaluated and the target data output by the reference device during the movement of the robotic arm can be not stored to save storage resources.

[0071] Step S250 , deleting the data belonging to the test preparation period from the target data output by the device to be evaluated and the target data output by the reference device, and obtaining preliminary target data of the device to be evaluated and the preliminary target data of the reference device.

[0072] The data belonging to the test preparation period may refer to non-periodic data, or may also refer to target data output by the device to be evaluated and the reference device during the test preparation period of the robotic arm. In some embodiments, the movement process of the robotic arm includes a test preparation period and a test period, and the robotic arm performs non-periodic movement during the test preparation period and periodic movement during the test period. Accordingly, the non-periodic data output by the device to be evaluated and the reference device belong to the test preparation period, and the periodic data output by the device to be evaluated and the reference device belong to the test period.

[0073] By deleting the data belonging to the test preparation period in the target data output by the device to be evaluated and the reference device, the data of the test preparation period can be removed and the data during the robot arm test can be used for subsequent error calculation, thereby improving data accuracy.

[0074] The initial target parameters may refer to data from the test period, periodic data, or target data output by the device under evaluation and the reference device during the robotic arm test. For example, the initial target parameters may be periodic data output by the device under evaluation and the reference device.

[0075] For example, see the device to be evaluated. Figure 6 , Figure 6 This figure is a schematic diagram of target data output by a device under evaluation during the motion of a robotic arm, according to an exemplary embodiment of the present application. The data in dashed box A represents the target data output by the device under evaluation during the test preparation phase, while the data in dashed box B represents the preliminary target data for the device under evaluation.

[0076] In some embodiments, when the target data output by the device to be evaluated and the reference device are obtained, the target data output by the device to be evaluated and the reference device can be output to the user in a visual manner for viewing, so that the user can eliminate the data belonging to the test preparation period from the target data output by the device to be evaluated and the reference device based on the target data output by the device to be evaluated and the reference device.

[0077] In some embodiments, when the target data output by the device to be evaluated and the reference device are obtained, it is also possible to detect whether the target data output by the device to be evaluated and the reference device are periodic according to a preset time period, and delete the non-periodic data in the target data output by the device to be evaluated and the reference device. Taking the detection of whether the target data output by the device to be evaluated within a preset time period as an example, the target data output by the device to be evaluated can be divided into multiple data segments according to the preset time period, and by comparing whether the data segments before and after are consistent, it can be determined whether each data segment in the target data output by the device to be evaluated is periodic. If the data segments before and after are consistent, it is determined that the data segment in the target data output by the device to be evaluated is periodic. Otherwise, it is determined that the data segment in the target data output by the device to be evaluated is not periodic. The above-mentioned preset time period can be set according to the actual requirements for accuracy. For example, the preset time period can be 5 milliseconds. The embodiments of the present application do not make specific restrictions here.

[0078] In some embodiments, after deleting the data belonging to the test preparation period from the target data output by the device under evaluation and the target data output by the reference device, further preset processing may be performed on the target data output by the device under evaluation and the reference device, respectively, and the data after the preset processing may be determined as the preliminary target data for the device under evaluation and the reference device. The preset processing may be configured based on actual accuracy requirements. For example, the preset processing may include deleting slots and points with large errors from the target data output by the device under evaluation and the reference device, respectively, to ensure data fluency and stability.

[0079] Step S260 , time-aligning the preliminary target data of the device to be evaluated and the preliminary target data output by the reference device to obtain time-aligned data.

[0080] In some embodiments, the implementation of time alignment may include the following steps: using a cross-correlation algorithm to calculate the time delay difference between the preliminary target data of the device to be evaluated and the preliminary target data of the reference device to perform time synchronization; using an interpolation algorithm to interpolate the preliminary target data of the reference device into the preliminary target data of the device to be evaluated to obtain the data after time alignment.

[0081] The interpolation algorithm can be selected according to the actual needs of the user. For example, the interpolation algorithm can be the nearest neighbor interpolation method, or bilinear interpolation, or bicubic interpolation, or other interpolation algorithms that can be used for time alignment and are not exhaustively listed in this embodiment.

[0082] Step S270 : performing spatial alignment on the target data output by the device to be evaluated and the target data output by the reference device according to the time-aligned data to obtain time-space aligned data.

[0083] The data after time alignment includes two groups of data, one group is the preliminary target data output by the device to be evaluated, and the other group is the preliminary target data output by the reference device. At this time, the preliminary target data output by the reference device and the preliminary target data output by the device to be evaluated are aligned in time.

[0084] In some embodiments, the implementation of spatial alignment may include the following steps: smoothing the data after time alignment to obtain smoothed data; calculating translation parameters and rotation parameters based on the smoothed data; based on the translation parameters and the rotation parameters, converting the target data output by the device to be evaluated and the target data output by the reference device to the same coordinate system to obtain data after spatiotemporal alignment.

[0085] In some embodiments, a preset smoothing algorithm may be used to smooth the time-aligned data. The preset smoothing algorithm may be selected or designed based on actual needs and is not specifically limited in this embodiment of the present application. For example, the preset smoothing algorithm may be a robust quadratic regression smoothing algorithm.

[0086] In some embodiments, the EVO algorithm or transformation matrix can be used to calculate the translation parameters and rotation parameters. As an example of using the transformation matrix to calculate the translation parameters and rotation parameters, the coordinate system where the target data output by the device to be evaluated is located can be defined as the B system, and the coordinate system where the target data output by the reference device is located can be defined as the T system. The coordinate P in the B system can be calculated by the following formula: B and the coordinate P in the T system T To do the conversion:

[0087]

[0088]

[0089] Using the Umeyama algorithm, the transformation matrix can be solved by the least squares algorithm The calculation principle is: calculate a set (R, t, c) to make the objective function optimal:

[0090]

[0091] Among them, q i and p i Represents the point at time i in the two sets of data after time alignment, n is the number of samples in the point set, c is the scale factor (representing the error of spatial transformation), and R is the transformation matrix. The transformation matrix includes translation parameters and rotation parameters.

[0092] In some embodiments, spatial data can be determined from the temporally aligned data, and spatial data can be spatially transformed to obtain translation parameters and rotation parameters. Based on the translation parameters and rotation parameters, the target data output by the device to be evaluated and the target data output by the reference device can be transformed to the same coordinate system to obtain the temporally aligned data. The spatial data can refer to data that can be used for spatial transformation, and the accuracy of the spatial data can be greater than a preset accuracy threshold. The preset accuracy threshold can be set based on actual accuracy requirements, for example, the preset accuracy threshold can be 0.8.

[0093] In some embodiments, spatial data can be determined based on the accuracy of the time-aligned data. For example, spatial data can be determined based on the precision factor of the time-aligned data, and data with a precision factor less than a preset precision factor threshold is determined as spatial data. The precision factor represents the measurement error of the time-aligned data. The larger the precision factor, the greater the error and the lower the accuracy. The smaller the precision factor, the smaller the error and the higher the accuracy. The preset precision factor threshold can be set according to actual needs. For example, the preset precision factor threshold can be 0.4. This embodiment of the present application does not impose any specific restrictions on this.

[0094] In step S280 , the error of the target category is calculated based on the data after the time-space alignment to evaluate the six degrees of freedom of the device to be evaluated.

[0095] For the detailed description of step S280, please refer to the aforementioned step S130, which will not be repeated here in this embodiment of the present application.

[0096] The six-degree-of-freedom evaluation method for a device provided in an embodiment of the present application is to fix the device to be evaluated on a robotic arm and fix the tracking device of the reference device on the device to be evaluated. The movement of the robotic arm can drive the tracking devices of the device to be evaluated and the reference device to achieve point-to-point movement in a straight line or arc in front and back, left and right, and up and down, thereby flexibly simulating the actual movement of the device to be evaluated. In addition, based on the six-degree-of-freedom data collected and output by the device to be evaluated and the reference device during the movement of the robotic arm, the error of the target type is calculated, and a comprehensive, accurate and objective evaluation of the six degrees of freedom of the device to be evaluated can be performed. In addition, by screening and aligning the target data output by the device to be evaluated and the reference device in time and space, accurate data support can be provided for various error calculations. By calculating multiple errors, the performance of the six degrees of freedom of the device to be evaluated can be accurately evaluated.

[0097] See also Figure 7 , Figure 7 The six-degree-of-freedom evaluation device 300 of the device can be applied to the above Figure 1The data processing device 14 shown in FIG. 6 DOF evaluation apparatus 300 includes a data acquisition module 310, a data alignment module 320, and a 6 DOF evaluation module 330. The data acquisition module 310, the data alignment module 320, and the 6 DOF evaluation module 330 are interconnected to achieve data exchange.

[0098] A data acquisition module 310 is configured to acquire target data output by the device to be evaluated and target data output by a reference device during movement of the robotic arm, wherein a tracking device of the reference device is fixed to the device to be evaluated, and the device to be evaluated is fixed to the robotic arm;

[0099] A data alignment module 320 is configured to perform spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporal aligned data;

[0100] The six-degree-of-freedom evaluation module 330 is configured to calculate the error of the target category based on the data after the spatiotemporal alignment, so as to evaluate the six degrees of freedom of the device to be evaluated.

[0101] In some embodiments, the six-degree-of-freedom assessment apparatus 300 of the device further includes a parameter setting module and a parameter calibration module. The parameter setting module is configured to set the motion parameters of the robotic arm so that the robotic arm moves according to the motion parameters. The parameter calibration module is configured to calibrate the parameters of the reference device so that the reference device collects six-degree-of-freedom information of the robotic arm during motion according to the calibrated parameters.

[0102] In some embodiments, the data alignment module 320 may include a data deletion submodule, a time alignment submodule, and a space alignment submodule. The data deletion submodule is used to delete the data belonging to the test preparation period from the target data output by the device to be evaluated and the target data output by the reference device, thereby obtaining the preliminary target data of the device to be evaluated and the preliminary target data of the reference device. The time alignment submodule is used to perform time alignment on the preliminary target data output by the device to be evaluated and the preliminary target data output by the reference device, thereby obtaining the data after time alignment. The space alignment submodule is used to perform spatial alignment on the target data output by the device to be evaluated and the target data output by the reference device based on the data after time alignment, thereby obtaining the data after time-space alignment.

[0103] In some embodiments, the time alignment submodule may include a time synchronization unit and a time alignment unit. The time synchronization unit is configured to calculate the time delay difference between the preliminary target data of the device to be evaluated and the preliminary target data of the reference device using a cross-correlation algorithm to perform time synchronization. The time alignment unit is configured to interpolate the preliminary target data of the reference device into the preliminary target data of the device to be evaluated using an interpolation algorithm to obtain time-aligned data.

[0104] In some embodiments, the spatial alignment submodule may include a data smoothing unit, a parameter calculation unit, and a spatial alignment unit. The data smoothing unit is configured to smooth the temporally aligned data to obtain smoothed data. The parameter calculation unit is configured to calculate translation parameters and rotation parameters based on the smoothed data. The spatial alignment unit is configured to convert the target data output by the device to be evaluated and the target data output by the reference device to the same coordinate system based on the translation parameters and the rotation parameters to obtain spatiotemporally aligned data.

[0105] In some embodiments, the six-degree-of-freedom assessment apparatus 300 further includes a time difference acquisition module and an execution module. The time difference acquisition module is configured to acquire the time difference between the target data output by the device to be evaluated and the target data output by the reference device. The execution module is configured to control the data acquisition module 310 to execute the step of acquiring the target data output by the device to be evaluated and the target data output by the reference device if the time difference is less than a preset time difference threshold.

[0106] Those skilled in the art will clearly understand that the six-degree-of-freedom evaluation device 300 provided in the embodiments of the present application can implement the six-degree-of-freedom evaluation method for the device provided in the embodiments of the present application. The specific working process of the above-mentioned device and modules can refer to the corresponding process of the six-degree-of-freedom evaluation method for the device in the embodiments of the present application, and will not be repeated here.

[0107] In the embodiments provided in the present application, the coupling, direct coupling or communication connection between the modules shown or discussed may be indirect coupling or communication coupling through some interfaces, devices or modules, and may be electrical, mechanical or other forms, and the embodiments of the present application do not limit this.

[0108] In addition, the functional modules in the embodiments of the present application may be integrated into a single processing module, each module may exist physically separately, or two or more modules may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or software functional modules, and the embodiments of the present application do not limit this.

[0109] See also Figure 8 , Figure 8 This is a block diagram of the electronic device provided in the embodiment of the present application. The electronic device 400 can be provided with the above Figure 1 The electronic device 400 may be a six-degree-of-freedom evaluation system 10 of the device shown. Figure 1 A data processing device 14 is shown.

[0110] The electronic device 400 may include one or more of the following components: a memory 410, one or more processors 420, and one or more applications, wherein the one or more applications may be stored in the memory 410 and configured to, when called by the one or more processors 420, enable the one or more processors 420 to execute the six-degree-of-freedom evaluation method of the above-mentioned device provided in an embodiment of the present application.

[0111] The processor 420 may include one or more processing cores. The processor 420 utilizes various interfaces and circuits to connect various components within the electronic device 400 and is used to run or execute instructions, programs, code sets, or instruction sets stored in the memory 410, as well as to call and execute data stored in the memory 410, thereby executing various functions of the electronic device 400 and processing data. Optionally, the processor 420 may be implemented in the form of at least one of a digital signal processing (DSP), a field-programmable gate array (FPGA), and a programmable logic array (PLA). The processor 420 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. The CPU primarily processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem handles wireless communications. It is understood that the modem may not be integrated into the processor 420 and may be implemented separately via a communication chip.

[0112] The memory 410 may include a random access memory (RAM) or a read-only memory (ROM). The memory 410 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 410 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function, instructions for implementing the various method embodiments described above, and the like. The data storage area may store data created by the electronic device 400 during use, and the like.

[0113] See also Figure 9 , Figure 9 5 is a block diagram of a computer-readable storage medium according to an embodiment of the present application. The computer-readable storage medium 500 stores program code 510, which, when called by a processor, causes the processor to execute the six-degree-of-freedom evaluation method for the device according to an embodiment of the present application.

[0114] Computer readable storage medium 500 can be an electronic memory such as flash memory, electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), hard disk or ROM. Alternatively, computer readable storage medium 500 includes non-transitory computer-readable storage medium (Non-TCRSM). Computer readable storage medium 500 has storage space for program code 510 that performs any method step in the above method. These program codes 510 can be read from one or more computer program products or written into one or more computer program products. Program code 510 can be compressed in an appropriate form.

[0115] In summary, the six-degree-of-freedom evaluation method, apparatus, system, and electronic device provided in the embodiments of the present application, by fixing the device to be evaluated on a robotic arm and fixing the tracking device of a reference device on the device to be evaluated, can drive the tracking devices of the device to be evaluated and the reference device to achieve point-to-point movement in straight lines or arcs, front to back, left to right, and up and down, through the movement of the robotic arm, thereby flexibly simulating the actual movement of the device to be evaluated. In addition, based on the six-degree-of-freedom data collected and output by the device to be evaluated and the reference device during the movement of the robotic arm, the error of the target type is calculated, and a comprehensive, accurate, and objective evaluation of the six degrees of freedom of the device to be evaluated can be performed.

[0116] Finally, it should be noted that the above embodiments are intended only to illustrate the technical solutions of this application and are not intended to limit them. Although this application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they may modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein with equivalents; and such modifications or replacements do not deviate from the spirit and scope of the technical solutions of the various embodiments of this application.

Claims

1. A six-degree-of-freedom evaluation method for a device, characterized in that: include: Setting motion parameters of the robotic arm so that the robotic arm moves according to the motion parameters, wherein the motion parameters can be changed or designed by the user at any time; Calibrate the parameters of the reference device so that the reference device collects six-degree-of-freedom information of the robotic arm during movement according to the calibrated parameters; During the movement of the robotic arm, obtaining a time difference between target data output by the device to be evaluated and target data output by the reference device, wherein a tracking device of the reference device is fixed to the device to be evaluated, and the device to be evaluated is fixed to the robotic arm; If the time difference is less than a preset time difference threshold, obtaining the target data output by the device to be evaluated and the target data output by the reference device; Performing spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporally aligned data; Calculating target category errors based on the spatiotemporally aligned data to evaluate the six degrees of freedom of the device to be evaluated; If the time difference is not less than the preset time difference threshold, a prompt message is output to prompt the user to reduce the time difference between the target data output by the device to be evaluated and the reference device by adjusting the position between the device to be evaluated and the reference device.

2. The method according to claim 1, characterized in that The performing spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain the spatiotemporal aligned data includes: Deleting data belonging to the test preparation period from the target data output by the device to be evaluated and the target data output by the reference device, to obtain preliminary target data for the device to be evaluated and the preliminary target data for the reference device; Time-aligning the preliminary target data of the device to be evaluated and the preliminary target data output by the reference device to obtain time-aligned data; According to the time-aligned data, spatial alignment is performed on the target data output by the device to be evaluated and the target data output by the reference device to obtain time-space aligned data.

3. The method according to claim 2, characterized in that The step of time-aligning the preliminary target data of the device to be evaluated and the preliminary target data output by the reference device to obtain the time-aligned data includes: Using a cross-correlation algorithm, the time delay difference between the preliminary target data of the device to be evaluated and the preliminary target data of the reference device is calculated to perform time synchronization; An interpolation algorithm is used to interpolate the preliminary target data of the reference device into the preliminary target data of the device to be evaluated to obtain time-aligned data.

4. The method according to claim 2, characterized in that The step of spatially aligning the target data output by the device to be evaluated and the target data output by the reference device based on the time-aligned data to obtain the time-space-aligned data includes: Smoothing the time-aligned data to obtain smoothed data; Calculating translation parameters and rotation parameters based on the data after the smoothing process; Based on the translation parameters and the rotation parameters, the target data output by the device to be evaluated and the target data output by the reference device are converted to the same coordinate system to obtain data after time-space alignment.

5. A six-degree-of-freedom evaluation device for a device, characterized in that: include: A parameter setting module, used to set the motion parameters of the robotic arm so that the robotic arm moves according to the motion parameters, wherein the motion parameters support user modification or design at any time; a parameter calibration module, configured to calibrate the parameters of a reference device so that the reference device can collect six-degree-of-freedom information of the robotic arm during movement according to the calibrated parameters; a data acquisition module, configured to acquire, during the movement of the robotic arm, a time difference between target data output by the device to be evaluated and target data output by the reference device, wherein a tracking device of the reference device is fixed on the device to be evaluated, and the device to be evaluated is fixed on the robotic arm; if the time difference is less than a preset time difference threshold, acquire the target data output by the device to be evaluated and the target data output by the reference device, wherein the tracking device of the reference device is fixed on the device to be evaluated, and the device to be evaluated is fixed on the robotic arm; if the time difference is not less than the preset time difference threshold, output a prompt message to prompt a user to reduce the time difference between the target data output by the device to be evaluated and the reference device by adjusting the position between the device to be evaluated and the reference device; A data alignment module, configured to perform spatiotemporal alignment on the target data output by the device to be evaluated and the target data output by the reference device to obtain spatiotemporal aligned data; The six-degree-of-freedom evaluation module is used to calculate the error of the target type based on the data after the time-space alignment, so as to evaluate the six degrees of freedom of the device to be evaluated.

6. A six-degree-of-freedom evaluation system for a device, characterized in that: include: A robotic arm, wherein the robotic arm moves according to preset motion parameters; a device to be evaluated, the device to be evaluated being fixed to the robotic arm and outputting target data during movement of the robotic arm; a reference device, wherein a tracking device of the reference device is fixed to the device to be evaluated and outputs target data during the movement of the robotic arm; A data processing device for executing the method according to any one of claims 1 to 4.

7. An electronic device, characterized in that: include: Memory; one or more processors; One or more applications, wherein the one or more applications are stored in the memory and are configured to, when called by the one or more processors, cause the one or more processors to execute the method according to any one of claims 1 to 4.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a program code, and when the program code is configured to be called by a processor, the processor executes the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • All-in-one machine pose truth value resolving method and device, electronic equipment and storage medium

    CN114170308A

  • Test method, device, equipment and system of pose tracking module and medium

    CN114442808A