Method for determining trajectory error of movable device, storage medium and electronic device

By acquiring and comparing the commands and feedback pulses of the mobile device, its preset and actual end poses are determined, solving the problems of high cost and long analysis time in the prior art, and realizing low-cost and efficient device accuracy analysis.

CN119681871BActive Publication Date: 2025-11-11ZHUHAI GREE INTELLIGENT EQUIP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411773205.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-11-11
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

Existing performance testing methods for mobile devices are costly, time-consuming, and unable to analyze in real time the reasons affecting device accuracy.

Method used

By acquiring command pulses and feedback pulses from the mobile device, the preset end-effector pose and the actual end-effector pose are determined. The two are compared to determine the trajectory error. Communication is established between the PC and the robot driver via TCP/IP protocol to collect data and achieve visualization analysis.

Benefits of technology

It reduces performance analysis costs, shortens analysis time, improves analysis efficiency, and enables real-time analysis of factors affecting equipment accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119681871B_ABST
    Figure CN119681871B_ABST
Patent Text Reader

Abstract

This application provides a method, storage medium, and electronic device for determining the trajectory error of a mobile device. The method includes: acquiring command pulses from the mobile device and determining a preset end-effector pose based on the command pulses, wherein the command pulses are the pulse values ​​of command signals controlling the movement of the mobile device; acquiring feedback pulses from the mobile device and determining the actual end-effector pose based on the feedback pulses, wherein the feedback pulses are the pulse values ​​of encoders during the actual movement of the mobile device; and comparing the preset end-effector pose and the actual end-effector pose to obtain the trajectory error of the mobile device. This method enables rapid analysis and visualization of robot performance parameters, reducing the cost of robot performance analysis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of trajectory error analysis of mobile devices, and more specifically, to a method for determining the trajectory error of a mobile device, a device for determining the trajectory error of a mobile device, a computer-readable storage medium, and an electronic device. Background Technology

[0002] Currently, mobile devices are widely used in automation and intelligent manufacturing, gradually replacing processes such as assembly, material handling, and welding. This, in turn, places higher demands on the positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability of mobile devices. Testing and analyzing these indicators of mobile devices has become an important reference and direction for their future improvement.

[0003] Currently, various precision sensors such as laser trackers and wire pullers are used in the field of mobile device performance testing. However, using laser trackers and other equipment to analyze the performance of mobile devices is expensive, and the equipment deployment and analysis time is long. Furthermore, laser trackers and other equipment cannot analyze the causes affecting the accuracy of mobile devices in real time. Summary of the Invention

[0004] The main objective of this application is to provide a method for determining the trajectory error of a mobile device, a device for determining the trajectory error of a mobile device, a computer-readable storage medium, and an electronic device, so as to at least solve the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in the prior art.

[0005] To achieve the above objectives, according to one aspect of this application, a method for determining the trajectory error of a mobile device is provided, comprising: acquiring a command pulse of the mobile device, and determining a preset end-effector pose of the mobile device based on the command pulse, wherein the command pulse is the pulse value of a command signal controlling the movement of the mobile device; acquiring a feedback pulse of the mobile device, and determining an actual end-effector pose of the mobile device based on the feedback pulse, wherein the feedback pulse is the pulse value of an encoder during the actual movement of the mobile device; and comparing the preset end-effector pose and the actual end-effector pose of the mobile device to obtain the trajectory error of the mobile device.

[0006] Optionally, determining the actual end-effector pose of the mobile device based on the feedback pulse includes: determining at least the rotation angle of a target joint of the mobile device based on the feedback pulse, wherein the mobile device includes multiple joints, and the target joint is one of the multiple joints; determining the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device; and determining the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device.

[0007] Optionally, determining the rotation angle of the target joint of the mobile device based at least on the feedback pulse includes: obtaining a first calculation formula. Among them, angle i Let puse be the rotation angle of the i-th joint of the mobile device. i The number of feedback pulses when the mobile device is in the current pose, puse0 is the number of feedback pulses when the mobile device is in the zero position, n is the number of bits of the encoder of the i-th joint of the mobile device, and Rd is the reduction ratio of the i-th joint of the mobile device; the rotation angle of the target joint of the mobile device is determined according to the first calculation formula, wherein the target joint is the i-th joint of the mobile device.

[0008] Optionally, determining the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device includes: obtaining a second calculation formula. Among them, T i θ represents the pose matrix of the i-th joint axis of the mobile device. i α represents the rotation angle relative to the (i-1)th joint axis when the i-th joint of the mobile device is in the zero position. i α represents the length of the i-th link of the movable device. i Let d be the angle between the i-th joint axis and the (i-1)-th joint axis of the mobile device. i The angle represents the axial offset of the i-th joint axis of the mobile device relative to the (i-1)-th joint axis. i Let the rotation angle of the i-th joint of the mobile device be denoted by the second calculation formula, and determine the pose matrix of the joint axis corresponding to the target joint, wherein the target joint is the i-th joint of the mobile device.

[0009] Optionally, the mobile device is a six-axis robot. Determining the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device includes: obtaining a third calculation formula. Where pos is the actual end-effector pose of the six-axis robot, and Ti The pose matrix corresponding to the i-th joint of the six-axis robot; the actual end-effector pose of the six-axis robot is determined according to the third calculation formula.

[0010] Optionally, the mobile device is a six-axis robot. Acquiring command pulses from the mobile device and determining a preset end effector pose based on the command pulses includes: acquiring N sets of command pulses, wherein each set of command pulses includes M subsets of command pulses arranged in chronological order; each set of command pulses is a set of command pulses acquired during a target acquisition period when the six-axis robot is running along a target trajectory; the target acquisition periods for each set of command pulses are different; each subset of command pulses includes multiple command pulses; each command pulse corresponds one-to-one with a joint of the six-axis robot; and each subset of command pulses is a set of command pulses acquired during a target acquisition period when the six-axis robot is running along a target trajectory. The target acquisition time is obtained during the target acquisition period of the command pulse set. The target acquisition time is different for each command pulse subset. Command pulse subsets with the same arrangement position in different command pulse sets correspond to each other. N and M are both positive integers. Based on all the command pulses in the command pulse subsets, the preliminary preset end-effector pose of the six-axis robot is determined. The preliminary preset end-effector pose corresponds one-to-one with the command pulse subset. The average value of the preliminary preset end-effector poses corresponding to the command pulse subsets with the same arrangement position in all command pulse sets is calculated to obtain the preset end-effector pose. There are M preset end-effector poses.

[0011] Optionally, comparing the preset end pose and the actual end pose of the mobile device to obtain the trajectory error of the mobile device includes: comparing the corresponding preset end pose and the actual end pose to obtain M preset positioning accuracies of the mobile device; and determining the smallest preset positioning accuracy as the target positioning accuracy of the mobile device.

[0012] According to another aspect of this application, a trajectory error determination device for a mobile device is provided, comprising: a first acquisition unit, configured to acquire a command pulse of the mobile device and determine a preset end-effector pose of the mobile device based on the command pulse, wherein the command pulse is the pulse value of a command signal controlling the movement of the mobile device; a second acquisition unit, configured to acquire a feedback pulse of the mobile device and determine an actual end-effector pose of the mobile device based on the feedback pulse, wherein the feedback pulse is the pulse value of an encoder during the actual movement of the mobile device; and a comparison unit, configured to compare the preset end-effector pose and the actual end-effector pose of the mobile device to obtain the trajectory error of the mobile device.

[0013] According to another aspect of this application, a computer-readable storage medium is provided, the computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform any of the described trajectory error determination methods for mobile devices.

[0014] According to another aspect of this application, an electronic device is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing trajectory error determination of any of the described mobile devices.

[0015] Applying the technical solution of this application, the above-mentioned method for determining the trajectory error of a mobile device first acquires the command pulse of the mobile device and determines the preset end-effector pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal controlling the movement of the mobile device. Then, it acquires the feedback pulse of the mobile device and determines the actual end-effector pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device. Finally, it compares the preset end-effector pose and the actual end-effector pose to obtain the trajectory error of the mobile device. This method is based on a PC and a robot driver, establishing communication via TCP / IP protocol. It uses data acquisition software to trigger and acquire data, calculates the execution path and six-axis joint angles on the generated data file, visualizes the command and feedback trajectories, and generates analysis results. This not only reduces the cost of robot performance analysis but also reduces the time required for performance analysis, improves performance analysis efficiency, and solves the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technologies. Attached Figure Description

[0016] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0017] Figure 1 A hardware structure block diagram of a mobile terminal performing a trajectory error determination method for a mobile device, according to an embodiment of this application, is shown.

[0018] Figure 2 A schematic flowchart of a trajectory error determination method for a mobile device according to an embodiment of this application is shown.

[0019] Figure 3A schematic diagram of another trajectory error determination method for a mobile device provided according to an embodiment of this application is shown;

[0020] Figure 4 A schematic diagram of a visualized trajectory provided according to an embodiment of this application is shown;

[0021] Figure 5 A schematic diagram of a data analysis interface provided according to an embodiment of this application is shown;

[0022] Figure 6 A structural block diagram of a trajectory error determination device for a mobile device according to an embodiment of this application is shown.

[0023] The above figures include the following reference numerals:

[0024] 102. Processor; 104. Memory; 106. Transmission device; 108. Input / output device. Detailed Implementation

[0025] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0026] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0028] As described in the background section, existing technologies using laser trackers and other equipment to analyze robot performance suffer from high costs, long equipment deployment and analysis times, and the inability of laser trackers and other equipment to analyze the causes affecting the accuracy of mobile devices in real time. To address the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technology, embodiments of this application provide a method for determining the trajectory error of a mobile device, a device for determining the trajectory error of a mobile device, a computer-readable storage medium, and an electronic device.

[0029] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0030] The methods and embodiments provided in this application can be executed on a mobile terminal, computer terminal, or similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a trajectory error determination method for a mobile device according to an embodiment of the present invention. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0031] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the trajectory error determination method for a mobile device in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the aforementioned networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0032] This embodiment provides a method for determining the trajectory error of a mobile device that runs on a mobile terminal, computer terminal, or similar computing device. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0033] Figure 2 This is a flowchart of a trajectory error determination method for a mobile device according to an embodiment of this application. Figure 2 As shown, the method includes the following steps:

[0034] Step S201: Obtain the command pulse of the mobile device, and determine the preset end pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal that controls the movement of the mobile device.

[0035] Specifically, the mobile device in this application is an industrial robot. A preset end-effector pose is determined based on command pulses, which is then compared with the actual end-effector pose to obtain the robot's trajectory error and visualize the command trajectory, facilitating the analysis of the robot's performance parameters.

[0036] Step S202: Obtain the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device.

[0037] Specifically, the actual end-effector pose of the robot in real time is determined based on the feedback pulse, and compared with the preset end-effector pose at the corresponding time to obtain a visualized trajectory error of the robot. This facilitates the analysis of the robot's performance parameters and the analysis of the reasons affecting the robot's accuracy.

[0038] Furthermore, the steps for determining the robot's preset end-effector pose based on the command pulse are the same as those for determining the robot's actual end-effector pose based on the feedback pulse, and will not be elaborated upon in this paper.

[0039] Determining the actual end-effector pose of the mobile device based on the aforementioned feedback pulse includes the following steps:

[0040] Step S301: Determine the rotation angle of the target joint of the mobile device based at least on the feedback pulse, wherein the mobile device includes multiple joints, and the target joint is one of the multiple joints;

[0041] Step S302: Determine the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device.

[0042] Step S303: Determine the actual end pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device.

[0043] Specifically, such as Figure 3 As shown, the PC and the robot driver establish communication via TCP / IP protocol. The PC uses data acquisition software to trigger and collect data, obtaining the rotation angles of the robot's six axes and the corresponding pose matrices, which are then used to perform conversion calculations to obtain the robot's end-effector pose. In this application, the robot is assumed to be an ideal model.

[0044] Determining the rotation angle of the target joint of the mobile device based on the aforementioned feedback pulse includes the following steps:

[0045] Step S3011: Obtain the first calculation formula Among them, angle i Let puse be the rotation angle of the i-th joint of the aforementioned mobile device. iThe number of feedback pulses when the mobile device is in the current pose, puse0 is the number of feedback pulses when the mobile device is in the zero position, n is the number of bits of the encoder of the i-th joint of the mobile device, and Rd is the reduction ratio of the i-th joint of the mobile device.

[0046] Step S3012: Determine the rotation angle of the target joint of the mobile device according to the first calculation formula, wherein the target joint is the i-th joint of the mobile device.

[0047] Specifically, such as Figure 3 As shown, the host computer software is deployed on the PC and is used for data processing. The host computer software collects the feedback pulse values ​​during a period of robot operation and generates a CSV file. The host computer software reads the encoder feedback pulse values ​​corresponding to each motor in the CSV file, and then uses the feedback pulses to calculate the actual end pose of the robot based on the robot's kinematic transformation, realizing the conversion between pulse signals and robot kinematic parameters.

[0048] The process of determining the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device further includes the following steps:

[0049] Step S3021, Obtain the second calculation formula Among them, T i Let θ represent the pose matrix of the i-th joint axis of the aforementioned mobile device. i α represents the rotation angle of the above-mentioned movable device relative to the (i-1)th joint axis when the i-th joint is in the zero position. i Let α represent the length of the i-th link of the aforementioned movable device. i Let d be the angle between the i-th joint axis and the (i-1)-th joint axis of the aforementioned movable device. i Angle represents the axial offset of the i-th joint axis of the aforementioned movable device relative to the (i-1)-th joint axis. i Let be the rotation angle of the i-th joint of the aforementioned mobile device;

[0050] Step S3022: Determine the pose matrix of the joint axis corresponding to the target joint according to the second calculation formula above, wherein the target joint is the i-th joint of the mobile device.

[0051] Specifically, the pose matrix is ​​used to describe the robot's current position and pose in space. It can transform the perceived data from the sensor coordinate system to the robot coordinate system, thereby guiding the robot to move along a specified trajectory and achieving high-precision positioning.

[0052] The mobile device is a six-axis robot. Determining the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device further includes the following steps:

[0053] Step S3031, obtain the third calculation formula Where pos is the actual end-effector pose of the aforementioned six-axis robot, and T i The pose matrix corresponding to the i-th joint of the aforementioned six-axis robot;

[0054] Step S3032: Determine the actual end-effector pose of the six-axis robot according to the third calculation formula.

[0055] Specifically, for a six-axis robot, the transformation matrices between each joint and link, T1 to T6, are obtained through the aforementioned pose matrix. Multiplying these matrices together yields the actual pose of the robot's end effector. By calculating the pose at each moment, the robot can smoothly adjust its movements to achieve precise trajectory tracking. Figure 4 The preset end-effector trajectory path and the actual end-effector trajectory path of the robot are shown.

[0056] The aforementioned mobile device is a six-axis robot. Acquiring command pulses from the mobile device and determining the preset end-effector pose based on these command pulses includes the following steps:

[0057] Step S401: Obtain N sets of command pulses, wherein each set of command pulses includes M subsets of command pulses arranged in chronological order; each set of command pulses is a set of command pulses obtained during the target acquisition period when the six-axis robot runs along the target trajectory; the target acquisition periods of each set of command pulses are different; each subset of command pulses includes multiple command pulses; each command pulse corresponds one-to-one with a joint of the six-axis robot; each subset of command pulses is obtained at the target acquisition time within the target acquisition period of the corresponding set of command pulses; the target acquisition times of each subset of command pulses are different; the subsets of command pulses with the same arrangement position in different sets of command pulses correspond to each other; N and M are both positive integers.

[0058] Step S402: Determine the preliminary preset end-effector pose of the six-axis robot based on all the above-mentioned instruction pulses in the above-mentioned instruction pulse subset, wherein the above-mentioned preliminary preset end-effector pose corresponds one-to-one with the above-mentioned instruction pulse subset.

[0059] Step S403: Calculate the average value of the preset end pose corresponding to the instruction pulse subsets with the same arrangement position in all the above instruction pulse sets, and obtain the preset end pose. There are M preset end poses.

[0060] Specifically, by mapping the pre-set end-effector pose to a subset of command pulses and taking the average value of the pre-set end-effector poses corresponding to the subsets, a more accurate robot end-effector position can be obtained, thus improving the accuracy of error analysis.

[0061] In one optional scheme, during robot operation, the host computer software collects the robot's controller command pulses and driver feedback pulses every 0.2 seconds. The number of collections after a collection time t is M, where M = t / 0.2, and the number of pulses in the pulse subset is the same as the number of robot axes. Each collection time corresponds to a pulse set, and N represents the number of pulse sets. For example, when the collection time is set from 11:00:00 to 11:00:20, i.e., the collection time is 2 seconds, the corresponding number of collections M is 10. The above collection is performed in three time periods (N = 3), obtaining 3 pulse sets. In addition, the collection time interval can be uniform or non-uniform sampling; this application only uses uniform sampling as an example. Further, the data is automatically saved into a CSV file, resulting in a CSV file with the data dimension of t / 0.2 rows and 6 classes. Each row represents the pulses of the robot's six axes after an interval of 0.2 seconds, which are calculated and transformed to obtain t / 0.2 = M spatial pose points Pos of the robot at an interval of 0.2 seconds. M =[x M ,y M ,z M ], where x M y M , z M This represents the spatial position of the robot's end effector in the robot's base coordinate system, and these spatial poses are saved as a CSV file. The CSV file containing the saved spatial positions is imported into the software, and these spatial position points are plotted in the coordinate system. The command position point and feedback position point can be obtained by calculating the command and feedback pulses respectively.

[0062] To improve trajectory positioning accuracy, the average value of several sets of data at the same location at different times is taken to obtain the final end pose.

[0063] Step S203: Compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device.

[0064] Specifically, real-time analysis of the driving and control system's operational data affecting trajectory performance facilitates testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability. It also allows for analysis of the factors affecting the accuracy of movable equipment. Compared to laser tracking methods, this approach reduces costs while improving analytical efficiency.

[0065] The process of comparing the preset end-effector pose and the actual end-effector pose of the mobile device to obtain the trajectory error of the mobile device includes the following steps:

[0066] Step S2031: Compare the corresponding preset end pose and the actual end pose to obtain the preset positioning accuracy of M mobile devices.

[0067] Step S2032: The minimum preset positioning accuracy is determined as the target positioning accuracy of the mobile device.

[0068] Specifically, according to the positioning accuracy formula M preset positioning accuracies are calculated, where x n y n , z n Indicates the command location coordinates, x t y t , z t This indicates the corresponding feedback position coordinates. Because the robot is set as an ideal model, meaning the corresponding values, including the DH value and deceleration ratio, are ideal model values, they can fully reflect the performance of the robot's drive and control. Furthermore, this application designs a UI interface specifically for robot path accuracy and repeatability analysis, enabling rapid data analysis. Figure 5 A specific data analysis interface is provided. By setting the reduction ratio formula, the initial value of the command position, the initial value of the feedback position, and selecting the encoder model of each axis, data analysis can be performed, and the analysis data results shown in Table 1 can be obtained.

[0069] Table 1. Results of Data Analysis

[0070]

[0071] The trajectory error determination method for the mobile device described in this application first acquires the command pulses of the mobile device and determines the preset end-effector pose based on the command pulses. The command pulses are the pulse values ​​of the command signals controlling the movement of the mobile device. Next, the feedback pulses of the mobile device are acquired and the actual end-effector pose is determined based on the feedback pulses. The feedback pulses are the pulse values ​​of the encoder during the actual movement of the mobile device. Finally, the preset end-effector pose and the actual end-effector pose are compared to obtain the trajectory error of the mobile device. This method is based on a PC and a robot driver, establishing communication via TCP / IP protocol. Data acquisition software is used to trigger and collect data, enabling the calculation of execution paths and six-axis joint angles on the generated data file. It also visualizes the command and feedback trajectories and generates analysis results. This not only reduces the cost of robot performance analysis but also shortens the time required for performance analysis, improving efficiency and solving the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technologies.

[0072] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0073] This application also provides a trajectory error determination device for a mobile device. It should be noted that the trajectory error determination device for a mobile device in this application can be used to execute the trajectory error determination method for a mobile device provided in this application. This device is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0074] The trajectory error determination device for a mobile device provided in the embodiments of this application will be described below.

[0075] Figure 6 This is a schematic diagram of a trajectory error determination device for a mobile device according to an embodiment of this application. Figure 6As shown, the device includes: a first acquisition unit 10, a second acquisition unit 20, and a comparison unit 30. The first acquisition unit 10 is used to acquire command pulses of the mobile device and determine the preset end pose of the mobile device based on the command pulses. The command pulses are the pulse values ​​of command signals that control the movement of the mobile device. The second acquisition unit 20 is used to acquire feedback pulses of the mobile device and determine the actual end pose of the mobile device based on the feedback pulses. The feedback pulses are the pulse values ​​of the encoder during the actual movement of the mobile device. The comparison unit 30 is used to compare the preset end pose and the actual end pose of the mobile device to obtain the trajectory error of the mobile device.

[0076] The trajectory error determination device for the mobile device described in this application includes: a first acquisition unit, a second acquisition unit, and a comparison unit. The first acquisition unit acquires command pulses from the mobile device and determines a preset end-effector pose based on the command pulses. The command pulses are the pulse values ​​of the command signals controlling the movement of the mobile device. The second acquisition unit acquires feedback pulses from the mobile device and determines the actual end-effector pose based on the feedback pulses. The feedback pulses are the pulse values ​​of the encoder during the actual movement of the mobile device. The comparison unit compares the preset end-effector pose and the actual end-effector pose to obtain the trajectory error of the mobile device. This device is based on a PC and a robot driver, establishes communication via TCP / IP protocol, uses data acquisition software to trigger and acquire data, calculates the execution path and six-axis joint angles on the generated data file, visualizes the command and feedback trajectories, and generates analysis results. This not only reduces the cost of robot performance analysis but also reduces the time required for performance analysis, improves performance analysis efficiency, and solves the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technologies.

[0077] In some examples, the second acquisition unit includes a first acquisition module, a second acquisition module, and a third acquisition module. The first acquisition module is used to determine the rotation angle of the target joint of the mobile device based at least on the feedback pulses, wherein the mobile device includes multiple joints, and the target joint is one of the multiple joints. The second acquisition module is used to determine the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device. The third acquisition module is used to determine the actual end-effector pose of the mobile device based on the pose matrices corresponding to all the joints of the mobile device. The rotation angles and corresponding pose matrices of the robot's six-axis joints are acquired to perform conversion calculations to obtain the robot's end-effector pose.

[0078] In some instances, the first acquisition module further includes a first acquisition submodule and a second acquisition submodule, wherein the first acquisition submodule is used to acquire the first calculation formula. Among them, angle i Let puse be the rotation angle of the i-th joint of the aforementioned mobile device. i The first calculation formula is used to determine the rotation angle of the target joint of the mobile device when it is in the current pose, where puse0 is the number of feedback pulses when the mobile device is in the zero position, n is the number of bits of the encoder of the i-th joint of the mobile device, and Rd is the reduction ratio of the i-th joint of the mobile device. This achieves the conversion between pulse signals and robot kinematic parameters.

[0079] In some instances, the second acquisition module also includes a third acquisition submodule and a fourth acquisition submodule, with the third acquisition submodule used to acquire the second calculation formula. Among them, T i Let θ represent the pose matrix of the i-th joint axis of the aforementioned mobile device. i α represents the rotation angle of the above-mentioned movable device relative to the (i-1)th joint axis when the i-th joint is in the zero position. i Let α represent the length of the i-th link of the aforementioned movable device. i Let d be the angle between the i-th joint axis and the (i-1)-th joint axis of the aforementioned movable device. i Angle represents the axial offset of the i-th joint axis of the aforementioned movable device relative to the (i-1)-th joint axis. i The first submodule is for determining the rotation angle of the i-th joint of the mobile device; the second submodule is used to determine the pose matrix of the joint axis corresponding to the target joint according to the second calculation formula, wherein the target joint is the i-th joint of the mobile device. This allows the sensing data to be transformed from the sensor coordinate system to the robot coordinate system.

[0080] In some instances, the third acquisition module also includes a fifth acquisition submodule and a sixth acquisition submodule, with the fifth acquisition submodule used to acquire the third calculation formula. Where pos is the actual end-effector pose of the aforementioned six-axis robot, and T i The pose matrix corresponds to the i-th joint of the six-axis robot. The sixth acquisition submodule is used to determine the actual end-effector pose of the six-axis robot according to the third calculation formula. By calculating the pose at each moment, the robot can smoothly adjust its movements to achieve accurate trajectory tracking.

[0081] In some instances, the second acquisition unit further includes a fourth acquisition module, a fifth acquisition module, and a sixth acquisition module. The fourth acquisition module is used to acquire N sets of instruction pulses, wherein one of the aforementioned instruction pulse sets includes M subsets of instruction pulses arranged in chronological order. One of the aforementioned instruction pulse sets is the set of instruction pulses acquired during the target acquisition period when the six-axis robot is running according to the target trajectory. The target acquisition periods for each of the aforementioned instruction pulse sets are different. One of the aforementioned instruction pulse subsets includes multiple instruction pulses, and each instruction pulse corresponds one-to-one with a joint of the six-axis robot. One of the aforementioned instruction pulse subsets is the set of instruction pulses acquired during the target acquisition period of the corresponding aforementioned instruction pulse set. The target acquisition time is different for each of the above-mentioned instruction pulse subsets. In different instruction pulse subsets, the instruction pulse subsets with the same arrangement position correspond to each other. N and M are both positive integers. The fifth acquisition module is used to determine the preliminary preset end-effector pose of the six-axis robot based on all the above-mentioned instruction pulses in the instruction pulse subsets. The preliminary preset end-effector pose corresponds one-to-one with the above-mentioned instruction pulse subsets. The sixth acquisition module is used to calculate the average value of the preliminary preset end-effector poses corresponding to the instruction pulse subsets with the same arrangement position in all the above-mentioned instruction pulse subsets, thus obtaining the preset end-effector pose. There are M preset end-effector poses. By corresponding the preliminary preset end-effector poses one-to-one with the instruction pulse subsets and taking the average value of the preliminary preset end-effector poses corresponding to the subsets, a more accurate preset end-effector position of the robot can be obtained, improving the accuracy of error analysis.

[0082] In some examples, the comparison unit includes a first comparison module and a second comparison module. The first comparison module compares the corresponding preset end-effector pose with the actual end-effector pose to obtain M preset positioning accuracies of the mobile device. The second comparison module determines the smallest preset positioning accuracies as the target positioning accuracies of the mobile device. Taking the average value can further improve the positioning accuracy, thereby improving the accuracy of trajectory error analysis.

[0083] The trajectory error determination device for the aforementioned mobile device includes a processor and a memory. The first acquisition unit and other components are stored as program units in the memory, and the processor executes these program units to achieve the corresponding functions. All of the above modules are located in the same processor; alternatively, the modules may be located in different processors in any combination.

[0084] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and adjusting kernel parameters can address the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile device performance in existing technologies.

[0085] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0086] This invention provides a computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device containing the computer-readable storage medium to perform the trajectory error determination method of the removable device.

[0087] Specifically, the methods for determining the trajectory error of mobile devices include:

[0088] Step S201: Obtain the command pulse of the mobile device, and determine the preset end pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal that controls the movement of the mobile device.

[0089] Specifically, the mobile device in this application is an industrial robot. A preset end-effector pose is determined based on command pulses, which is then compared with the actual end-effector pose to obtain the robot's trajectory error and visualize the command trajectory, facilitating the analysis of the robot's performance parameters.

[0090] Step S202: Obtain the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device.

[0091] Specifically, the actual end-effector pose of the robot in real time is determined based on the feedback pulse, and compared with the preset end-effector pose at the corresponding time to obtain a visualized trajectory error of the robot. This facilitates the analysis of the robot's performance parameters and the analysis of the reasons affecting the robot's accuracy.

[0092] Step S203: Compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device.

[0093] Specifically, real-time analysis of the driving and control system's operational data affecting trajectory performance facilitates testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability. It also allows for analysis of the factors affecting the accuracy of movable equipment. Compared to laser tracking methods, this approach reduces costs while improving analytical efficiency.

[0094] Optionally, determining the actual end-effector pose of the mobile device based on the feedback pulse includes: determining at least the rotation angle of a target joint of the mobile device based on the feedback pulse, wherein the mobile device includes multiple joints, and the target joint is one of the multiple joints; determining the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device; and determining the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device.

[0095] Optionally, determining the rotation angle of the target joint of the mobile device based at least on the aforementioned feedback pulse includes: obtaining a first calculation formula. Among them, angle i Let puse be the rotation angle of the i-th joint of the aforementioned mobile device. i The number of feedback pulses when the mobile device is in its current pose, puse0 is the number of feedback pulses when the mobile device is in its zero position, n is the number of bits of the encoder of the i-th joint of the mobile device, and Rd is the reduction ratio of the i-th joint of the mobile device; the rotation angle of the target joint of the mobile device is determined according to the first calculation formula, wherein the target joint is the i-th joint of the mobile device.

[0096] Optionally, determining the pose matrix of the joint axis corresponding to the target joint based on the rotation angle of the target joint of the mobile device includes: obtaining a second calculation formula. Among them, T i Let θ represent the pose matrix of the i-th joint axis of the aforementioned mobile device. i α represents the rotation angle of the above-mentioned movable device relative to the (i-1)th joint axis when the i-th joint is in the zero position. i Let α represent the length of the i-th link of the aforementioned movable device. i Let d be the angle between the i-th joint axis and the (i-1)-th joint axis of the aforementioned movable device. i Angle represents the axial offset of the i-th joint axis of the aforementioned movable device relative to the (i-1)-th joint axis. i Let the rotation angle of the i-th joint of the aforementioned mobile device be given. Based on the second calculation formula, the pose matrix of the joint axis corresponding to the target joint is determined, wherein the target joint is the i-th joint of the aforementioned mobile device.

[0097] Optionally, the mobile device is a six-axis robot. Determining the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device includes: obtaining a third calculation formula. Where pos is the actual end-effector pose of the aforementioned six-axis robot, and Ti The pose matrix corresponding to the i-th joint of the six-axis robot is given above; the actual end-effector pose of the six-axis robot is determined according to the third calculation formula above.

[0098] Optionally, the mobile device is a six-axis robot. Acquiring command pulses from the mobile device and determining a preset end effector pose based on the command pulses includes: acquiring N sets of command pulses, wherein each set of command pulses includes M subsets of command pulses arranged in chronological order; each set of command pulses is a set of command pulses acquired during a target acquisition period while the six-axis robot is running along a target trajectory; the target acquisition periods for each set of command pulses are different; each subset of command pulses includes multiple command pulses; each command pulse corresponds one-to-one with a joint of the six-axis robot; and each subset of command pulses is a set of command pulses acquired during a target acquisition period while the six-axis robot is running along a target trajectory. The target acquisition time of the above-mentioned command pulse set is obtained at the target acquisition time of the above-mentioned target acquisition period. The target acquisition time of each of the above-mentioned command pulse subsets is different. The command pulse subsets with the same arrangement position in different above-mentioned command pulse sets correspond to each other. N and M are both positive integers. Based on all the above-mentioned command pulses in the above-mentioned command pulse subsets, the preliminary preset end pose of the above-mentioned six-axis robot is determined. The preliminary preset end pose corresponds one-to-one with the above-mentioned command pulse subsets. The average value of the preliminary preset end poses corresponding to the command pulse subsets with the same arrangement position in all the above-mentioned command pulse sets is calculated to obtain the preset end pose. There are M preset end poses.

[0099] Optionally, comparing the preset end pose and the actual end pose of the mobile device to obtain the trajectory error of the mobile device includes: comparing the corresponding preset end pose and the actual end pose to obtain M preset positioning accuracies of the mobile device; and determining the smallest preset positioning accuracy as the target positioning accuracy of the mobile device.

[0100] This invention provides a processor for running a program, wherein the program executes the trajectory error determination method for the mobile device.

[0101] Specifically, the methods for determining the trajectory error of mobile devices include:

[0102] Step S201: Obtain the command pulse of the mobile device, and determine the preset end pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal that controls the movement of the mobile device.

[0103] Specifically, the mobile device in this application is an industrial robot. A preset end-effector pose is determined based on command pulses, which is then compared with the actual end-effector pose to obtain the robot's trajectory error and visualize the command trajectory, facilitating the analysis of the robot's performance parameters.

[0104] Step S202: Obtain the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device.

[0105] Specifically, the actual end-effector pose of the robot in real time is determined based on the feedback pulse, and compared with the preset end-effector pose at the corresponding time to obtain a visualized trajectory error of the robot. This facilitates the analysis of the robot's performance parameters and the analysis of the reasons affecting the robot's accuracy.

[0106] Step S203: Compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device.

[0107] Specifically, real-time analysis of the driving and control system's operational data affecting trajectory performance facilitates testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability. It also allows for analysis of the factors affecting the accuracy of movable equipment. Compared to laser tracking methods, this approach reduces costs while improving analytical efficiency.

[0108] This invention provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs at least the following steps:

[0109] Step S201: Obtain the command pulse of the mobile device, and determine the preset end pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal that controls the movement of the mobile device.

[0110] Step S202: Obtain the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device.

[0111] Step S203: Compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device.

[0112] The devices mentioned in this article can be servers, PCs, tablets, mobile phones, etc.

[0113] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having at least the following method steps:

[0114] Step S201: Obtain the command pulse of the mobile device, and determine the preset end pose of the mobile device based on the command pulse. The command pulse is the pulse value of the command signal that controls the movement of the mobile device.

[0115] Step S202: Obtain the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device.

[0116] Step S203: Compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device.

[0117] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0118] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0119] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0120] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0121] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0122] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0123] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0124] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0125] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0126] As can be seen from the above description, the embodiments of this application achieve the following technical effects:

[0127] 1) The trajectory error determination method for the mobile device described in this application first acquires the command pulses of the mobile device and determines the preset end-effector pose based on the command pulses. The command pulses are the pulse values ​​of the command signals controlling the movement of the mobile device. Then, the feedback pulses of the mobile device are acquired and the actual end-effector pose is determined based on the feedback pulses. The feedback pulses are the pulse values ​​of the encoder during the actual movement of the mobile device. Finally, the preset end-effector pose and the actual end-effector pose are compared to obtain the trajectory error of the mobile device. This method is based on a PC and a robot driver, establishing communication via TCP / IP protocol. Data acquisition software is used to trigger and collect data, enabling the calculation of the execution path and six-axis joint angles on the generated data file. It also visualizes the command and feedback trajectories and generates analysis results. This not only reduces the cost of robot performance analysis but also reduces the time required for performance analysis, improving efficiency and solving the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technologies.

[0128] 2) The trajectory error determination device for the mobile device described in this application includes: a first acquisition unit, a second acquisition unit, and a comparison unit. The first acquisition unit acquires the command pulses of the mobile device and determines the preset end-effector pose of the mobile device based on the command pulses. The command pulses are the pulse values ​​of the command signals controlling the movement of the mobile device. The second acquisition unit acquires the feedback pulses of the mobile device and determines the actual end-effector pose of the mobile device based on the feedback pulses. The feedback pulses are the pulse values ​​of the encoder during the actual movement of the mobile device. The comparison unit compares the preset end-effector pose and the actual end-effector pose of the mobile device to obtain the trajectory error of the mobile device. This device is based on a PC and a robot driver, establishes communication through the TCP / IP protocol, uses data acquisition software to trigger and acquire data, calculates the execution path and six-axis joint angles on the generated data file, visualizes the command and feedback trajectories, and generates analysis results. This not only reduces the cost of robot performance analysis but also reduces the time required for performance analysis, improves performance analysis efficiency, and solves the problems of high cost, long analysis time, and inability to analyze the causes affecting the accuracy of mobile devices in existing technologies.

[0129] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for determining the trajectory error of a mobile device, characterized in that, include: Acquire command pulses from a mobile device and determine a preset end pose of the mobile device based on the command pulses, wherein the command pulses are the pulse values ​​of command signals that control the movement of the mobile device. The feedback pulse of the mobile device is obtained, and the actual end pose of the mobile device is determined based on the feedback pulse. The feedback pulse is the pulse value of the encoder during the actual movement of the mobile device. By comparing the preset end-effector pose and the actual end-effector pose of the mobile device, the trajectory error of the mobile device is obtained. Determining the actual end-effector pose of the mobile device based on the feedback pulse includes: Obtain the first calculation formula ,in, Let be the rotation angle of the i-th joint of the mobile device. The number of feedback pulses when the mobile device is in its current pose. Let n be the number of feedback pulses when the mobile device is in the zero position, and n be the number of bits in the encoder of the i-th joint of the mobile device. Let be the reduction ratio of the i-th joint of the mobile device; The rotation angle of the target joint of the mobile device is determined according to the first calculation formula, wherein the target joint is the i-th joint of the mobile device, and the mobile device includes multiple joints, and the target joint is one of the multiple joints; Obtain the second calculation formula ,in, This represents the pose matrix of the i-th joint axis of the mobile device. This represents the rotation angle of the movable device relative to the (i-1)th joint axis when the i-th joint is in the zero position. This represents the length of the i-th link of the movable device. Let be the angle between the i-th joint axis and the (i-1)-th joint axis of the mobile device. This represents the axial offset of the i-th joint axis of the mobile device relative to the (i-1)-th joint axis. Let be the rotation angle of the i-th joint of the mobile device. According to the second calculation formula, the pose matrix of the joint axis corresponding to the target joint is determined, wherein the target joint is the i-th joint of the mobile device; The actual end-effector pose of the mobile device is determined based on the pose matrix corresponding to all the joints of the mobile device.

2. The method according to claim 1, characterized in that, The mobile device is a six-axis robot. The actual end-effector pose of the mobile device is determined based on the pose matrix corresponding to all the joints of the mobile device, including: Obtain the third calculation formula ,in, This represents the actual end-effector pose of the six-axis robot. This is the pose matrix corresponding to the i-th joint of the six-axis robot; The actual end-effector pose of the six-axis robot is determined according to the third calculation formula.

3. The method according to claim 1, characterized in that, The mobile device is a six-axis robot. The process includes acquiring command pulses from the mobile device and determining a preset end-effector pose based on the command pulses, including: Obtain N sets of command pulses, wherein each set of command pulses includes M subsets of command pulses arranged in chronological order; each set of command pulses is a set of command pulses obtained during the target acquisition period when the six-axis robot is running according to the target trajectory; the target acquisition periods of each set of command pulses are different; each subset of command pulses includes multiple command pulses; each command pulse corresponds one-to-one with a joint of the six-axis robot; and each subset of command pulses is obtained at the target acquisition time within the target acquisition period of the corresponding set of command pulses; the target acquisition times of each subset of command pulses are different; and the command pulse subsets with the same arrangement position in different sets of command pulses correspond to each other; N and M are both positive integers. Based on all the command pulses in the command pulse subset, the preliminary preset end-effector pose of the six-axis robot is determined, and the preliminary preset end-effector pose corresponds one-to-one with the command pulse subset; Calculate the average value of the pre-preset end pose corresponding to the instruction pulse subsets with the same arrangement position in all the instruction pulse sets, and obtain the preset end pose. There are M preset end poses.

4. The method according to claim 3, characterized in that, By comparing the preset end-effector pose of the mobile device with the actual end-effector pose, the trajectory error of the mobile device is obtained, including: By comparing the corresponding preset end pose and the actual end pose, M preset positioning accuracies of the mobile device are obtained; The minimum preset positioning accuracy is determined as the target positioning accuracy of the mobile device.

5. A trajectory error determination device for a mobile device, characterized in that, include: The first acquisition unit is used to acquire the command pulse of the mobile device and determine the preset end pose of the mobile device according to the command pulse, wherein the command pulse is the pulse value of the command signal that controls the movement of the mobile device. The second acquisition unit is used to acquire the feedback pulse of the mobile device and determine the actual end pose of the mobile device based on the feedback pulse, wherein the feedback pulse is the pulse value of the encoder during the actual movement of the mobile device. The comparison unit is used to compare the preset end pose of the mobile device with the actual end pose to obtain the trajectory error of the mobile device. The second acquisition unit includes: A first acquisition submodule and a second acquisition submodule, wherein the first acquisition submodule acquires the first calculation formula. ,in, Let be the rotation angle of the i-th joint of the mobile device. The number of feedback pulses when the mobile device is in its current pose. Let n be the number of feedback pulses when the mobile device is in the zero position, and n be the number of bits in the encoder of the i-th joint of the mobile device. The reduction ratio of the i-th joint of the mobile device; the second acquisition submodule is used to determine the rotation angle of the target joint of the mobile device according to the first calculation formula, wherein the target joint is the i-th joint of the mobile device, wherein the mobile device includes multiple joints, and the target joint is one of the multiple joints; The third acquisition submodule and the fourth acquisition submodule, wherein the third acquisition submodule is used to acquire the second calculation formula. ,in, This represents the pose matrix of the i-th joint axis of the mobile device. This represents the rotation angle of the movable device relative to the (i-1)th joint axis when the i-th joint is in the zero position. This represents the length of the i-th link of the movable device. Let be the angle between the i-th joint axis and the (i-1)-th joint axis of the mobile device. This represents the axial offset of the i-th joint axis of the mobile device relative to the (i-1)-th joint axis. The rotation angle of the i-th joint of the mobile device; the fourth acquisition submodule is used to determine the pose matrix of the joint axis corresponding to the target joint according to the second calculation formula, wherein the target joint is the i-th joint of the mobile device; The third acquisition module is used to determine the actual end-effector pose of the mobile device based on the pose matrix corresponding to all the joints of the mobile device.

6. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform the trajectory error determination method for a mobile device according to any one of claims 1 to 4.

7. An electronic device, characterized in that, include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing trajectory error determination of a mobile device according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Numerical control method

    CN103180790A

  • Industrial robot motion control method based on error compensation

    CN109986558A