Track error determination method of mobile device, storage medium and electronic device

By acquiring and comparing the instructions and feedback pulses of the mobile device to determine their trajectory errors, the problems of high cost and long time in the prior art test methods are solved, and efficient performance analysis and accuracy improvement are achieved.

CN119681871AActive Publication Date: 2025-03-25ZHUHAI GREE INTELLIGENT EQUIP CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The test methods for the performance of mobile devices in the prior art are expensive, have a long analysis time, and cannot analyze the reasons that affect the accuracy of mobile devices.

Method used

By obtaining the command pulse and feedback pulse of the movable device, the preset end posture and the actual end posture are determined and the two are compared to obtain the trajectory error. This method is based on the PC terminal and the robot driver, and establishes communication through the TCP/IP protocol, and uses data acquisition software to trigger and collect data, so as to calculate the execution path and joint angle of the generated data files, and visualize the instructions and feedback trajectories, and generate analysis results at the same time.

Benefits of technology

It reduces the cost of robot performance analysis, reduces the time required for performance analysis, improves performance analysis efficiency, and can analyze the reasons that affect the accuracy of mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119681871A_ABST
    Figure CN119681871A_ABST
Patent Text Reader

Abstract

The invention provides a trajectory error determination method of a mobile device, a storage medium and an electronic device, the method comprising: acquiring an instruction pulse of the mobile device, and determining a preset end pose of the mobile device according to the instruction pulse, the instruction pulse being a pulse value of an instruction signal for controlling the movement of the mobile device; feedback pulses of the movable equipment are obtained, the actual tail end pose of the movable equipment is determined according to the feedback pulses, and the feedback pulses are pulse values of an encoder in the actual movement process of the movable equipment; and comparing the preset tail end pose of the movable equipment with the actual tail end pose to obtain a track error of the movable equipment. According to the method, rapid analysis and parameter visualization of the robot performance parameters are realized, and the cost of robot performance analysis is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of trajectory error analysis of movable device, and in particular, to a trajectory error determination method of a movable device, a trajectory error determination device of a movable device, a computer-readable storage medium, and an electronic device. Background Art

[0002] At present, mobile equipment is widely used in the field of automation and intelligent manufacturing. Processes such as assembly, material handling and welding are gradually replaced by mobile equipment. At the same time, higher requirements are put forward for the positioning accuracy, trajectory accuracy, position repeatability and trajectory repeatability of mobile equipment. Testing and analyzing the above indicators of mobile equipment has become an important reference and direction for the subsequent improvement of mobile equipment.

[0003] Currently, various precision sensors such as laser trackers and wire pullers are used in the field of movable device performance testing. However, using laser trackers and other devices to analyze the performance of movable devices is expensive, and the equipment deployment and analysis time is long. In addition, laser trackers and other devices cannot analyze in real time the factors that affect the accuracy of movable devices. Summary of the invention

[0004] The main purpose of the present application is to provide a method for determining the trajectory error of a movable device, a device for determining the trajectory error of a movable device, a computer-readable storage medium and an electronic device, so as to at least solve the problem that the testing method for the performance of a movable device in the prior art is high in cost, takes a long time to analyze and is unable to analyze the reasons that affect the accuracy of the movable device.

[0005] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a method for determining the trajectory error of a movable device is provided, including: obtaining a command pulse of the movable device, and determining a preset end posture of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device; obtaining a feedback pulse of the movable device, and determining an actual end posture of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device; comparing the preset end posture of the movable device with the actual end posture to obtain the trajectory error of the movable device.

[0006] Optionally, determining the actual end posture of the movable device according to the feedback pulse includes: determining the rotation angle of a target joint of the movable device at least according to the feedback pulse, wherein the movable device includes multiple joints and the target joint is one of the multiple joints; determining the posture matrix of the joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device; and determining the actual end posture of the movable device according to the posture matrix corresponding to all the joints of the movable device.

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

[0008] Optionally, determining the pose matrix of the joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device includes: obtaining a second calculation formula Among them, T i represents the pose matrix of the i-th joint axis of the movable device, θ i represents the rotation angle of the movable device relative to the i-1th joint axis when the i-th joint is at zero position, α i represents the length of the i-th connecting rod of the movable device, α i is the angle between the i-th joint axis and the i-1-th joint axis of the movable device, d i Indicates the axial offset of the i-th joint axis of the movable device relative to the i-1-th joint axis, angle i is the rotation angle of the i-th joint of the movable device, and according to the second calculation formula, determines the pose matrix of the joint axis corresponding to the target joint, wherein the target joint is the i-th joint of the movable device.

[0009] Optionally, the movable device is a six-axis robot, and the actual end position and posture of the movable device are determined according to the position and posture matrix corresponding to all the joints of the movable device, including: obtaining a third calculation formula Among them, pos is the actual end position of the six-axis robot, Ti is the posture matrix corresponding to the i-th joint of the six-axis robot; and according to the third calculation formula, determines the actual end posture of the six-axis robot.

[0010] Optionally, the movable device is a six-axis robot, and obtaining the command pulse of the movable device and determining the preset end position and posture of the movable device according to the command pulse include: obtaining N command pulse sets, wherein one of the command pulse sets includes M command pulse subsets arranged in time order, one of the command pulse sets is a command pulse set of the six-axis robot when it runs according to the target running trajectory obtained in the target acquisition period, and the target acquisition period of each command pulse set is different, one of the command pulse subsets includes multiple command pulses, and the command pulses correspond to the joints of the six-axis robot one by one, and one of the command pulse subsets is obtained in the corresponding The target acquisition time is obtained at the target acquisition time in the target acquisition period of the command pulse set, the target acquisition time of each command pulse subset is different, and the command pulse subsets with the same arrangement position in different command pulse sets correspond to each other, and N and M are both positive integers; according to all the command pulses in the command pulse subsets, the preliminary preset terminal posture of the six-axis robot is determined, and the preliminary preset terminal posture corresponds to the command pulse subsets one by one; the average value of the preliminary preset terminal posture corresponding to the command pulse subsets with the same arrangement position in all the command pulse sets is calculated to obtain the preset terminal posture, and there are M preset terminal postures.

[0011] Optionally, the preset terminal posture and the actual terminal posture of the movable device are compared to obtain the trajectory error of the movable device, including: comparing the corresponding preset terminal postures and the actual terminal postures to obtain the preset positioning accuracy of M movable devices; and determining the minimum preset positioning accuracy as the target positioning accuracy of the movable device.

[0012] According to another aspect of the present application, a device for determining a trajectory error of a movable device is provided, comprising: a first acquisition unit, used to acquire a command pulse of the movable device, and determine a preset end posture of the movable device based on the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device; a second acquisition unit, used to acquire a feedback pulse of the movable device, and determine an actual end posture of the movable device based on the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device; and a comparison unit, used to compare the preset end posture of the movable device with the actual end posture to obtain the trajectory error of the movable device.

[0013] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute any one of the methods for determining the trajectory error of a movable device.

[0014] According to another aspect of the present 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 are configured to be executed by the one or more processors, and the one or more programs include a method for executing any one of the trajectory error determination methods of a movable device.

[0015] Applying the technical solution of the present application, the above-mentioned method for determining the trajectory error of the movable device first obtains the command pulse of the movable device, and determines the preset end position of the movable device according to the command pulse, and the command pulse is the pulse value of the command signal that controls the movement of the movable device; then obtains the feedback pulse of the movable device, and determines the actual end position of the movable device according to the feedback pulse, and the feedback pulse is the pulse value of the encoder during the actual movement of the movable device; finally, the preset end position and the actual end position of the movable device are compared to obtain the trajectory error of the movable device. The method is based on the PC end and the robot driver, establishes communication through the TCP / IP protocol, triggers and collects data using data acquisition software, realizes the calculation of the execution path and the six-axis joint angles of the generated data file, and realizes the visualization of the command and feedback trajectory, and generates analysis results at the same time. This not only reduces the cost of robot performance analysis, but also reduces the time required for performance analysis, improves the efficiency of performance analysis, and solves the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the movable device in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings constituting part of the present application are used to provide a further understanding of the present application. The exemplary embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0017] Figure 1 A hardware structure block diagram of a mobile terminal for executing a trajectory error determination method of a movable device provided in an embodiment of the present application is shown;

[0018] Figure 2 A schematic flow chart of a method for determining a trajectory error of a movable device provided according to an embodiment of the present application is shown;

[0019] Figure 3A schematic diagram showing another method for determining a trajectory error of a movable device provided according to an embodiment of the present application is shown;

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

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

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

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

[0024] 102, processor; 104, memory; 106, transmission device; 108, input and output devices. DETAILED DESCRIPTION

[0025] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0026] 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. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work 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 and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0028] As introduced in the background technology, the prior art uses laser trackers and other devices to analyze robot performance, but has the problems of high price, long equipment deployment and analysis time, and laser trackers and other devices cannot analyze in real time the reasons that affect the accuracy of movable devices. In order to solve the problems of high cost, long analysis time and inability to analyze the reasons that affect the accuracy of movable devices in the prior art testing methods of movable device performance, the embodiments of the present application provide a method for determining the trajectory error of a movable device, a device for determining the trajectory error of a movable device, a computer-readable storage medium and an electronic device.

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

[0030] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a method for determining a trajectory error of a mobile device according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0031] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the trajectory error determination method of the mobile device in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as 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] In this embodiment, a method for determining the trajectory error of a movable device running on a mobile terminal, a computer terminal or a similar computing device is provided. It should be noted that the steps shown in the flowchart of 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 can be executed in an order different from that shown here.

[0033] Figure 2 is a flow chart of a method for determining a trajectory error of a movable device according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0034] Step S201, obtaining a command pulse of a movable device, and determining a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device;

[0035] Specifically, the movable device in the present application is an industrial robot. The preset end position of the robot is determined according to the command pulse, which is used to compare with the actual end position, so as to obtain the trajectory error of the robot and realize the visualization of the command trajectory, which is convenient for analyzing the performance parameters of the robot.

[0036] Step S202, obtaining a feedback pulse of the movable device, and determining the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device;

[0037] Specifically, the actual real-time terminal posture of the robot is determined according to the feedback pulse, which is used to compare with the preset terminal posture at the corresponding moment, so as to obtain a visualized trajectory error of the robot, which is convenient for analyzing the performance parameters of the robot and the reasons affecting the accuracy of the robot.

[0038] In addition, the steps of determining the preset end position of the robot according to the command pulse are the same as those of determining the actual end position of the robot according to the feedback pulse, which will not be elaborated in this article.

[0039] Wherein, determining the actual end position of the movable device according to the feedback pulse comprises the following steps:

[0040] Step S301, determining the rotation angle of the target joint of the movable device at least according to the feedback pulse, wherein the movable device includes a plurality of joints, and the target joint is one of the plurality of joints;

[0041] Step S302, determining a pose matrix of a joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device;

[0042] Step S303, determining the actual end position and posture of the movable device according to the position and posture matrix corresponding to all the joints of the movable device.

[0043] Specifically, Figure 3 As shown, the PC and the robot driver establish communication through the TCP / IP protocol, and the PC uses the data acquisition software to trigger and collect data, obtain the rotation angles of the six axis joints of the robot and the corresponding posture matrix, which is used to realize the conversion calculation to obtain the robot's execution end posture. In this application, it is assumed that the robot is an ideal model.

[0044] Wherein, determining the rotation angle of the target joint of the movable device at least according to the feedback pulse further comprises the following steps:

[0045] Step S3011, obtaining the first calculation formula Among them, angle i is the rotation angle of the i-th joint of the movable device, puse iis the number of pulses of the feedback pulse when the movable device is in the current posture, puse0 is the number of pulses of the feedback pulse when the movable device is in the zero position, n is the number of bits of the encoder of the i-th joint of the movable device, and Rd is the reduction ratio of the i-th joint of the movable device;

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

[0047] Specifically, Figure 3 As shown in the figure, the host computer software is deployed on the PC side for data processing. The host computer software is used to collect the feedback pulse values ​​within a period of time when the robot is running and generate a CSV file. The host computer software reads the encoder feedback pulse value corresponding to each motor in the CSV file, and then uses the feedback pulse to calculate the actual end position of the robot according to the robot kinematic transformation, thereby realizing the conversion between the pulse signal and the robot kinematic parameters.

[0048] Wherein, according to the rotation angle of the target joint of the movable device, determining the pose matrix of the joint axis corresponding to the target joint also includes the following steps:

[0049] Step S3021, obtaining a second calculation formula Among them, T i represents the pose matrix of the i-th joint axis of the above movable device, θ i represents the rotation angle of the i-th joint axis of the movable device when the i-th joint is at zero position, α i represents the length of the i-th connecting rod of the above movable device, α i is the angle between the i-th joint axis and the i-1-th joint axis of the movable device, d i Indicates the axial offset of the i-th joint axis of the movable device relative to the i-1-th joint axis, angle i is the rotation angle of the i-th joint of the movable device;

[0050] Step S3022: 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 movable device.

[0051] Specifically, the pose matrix is ​​used to describe the current position and pose of the robot in space. It can transform the perception data from the sensor coordinate system to the robot coordinate system, and then guide it to move along the specified trajectory to achieve high-precision positioning.

[0052] Wherein, the movable device is a six-axis robot, and according to the pose matrix corresponding to all the joints of the movable device, determining the actual end pose of the movable device further includes the following steps:

[0053] Step S3031, obtaining the third calculation formula Among them, pos is the actual end position of the above six-axis robot, T i is the above-mentioned pose matrix corresponding to the i-th joint of the above-mentioned six-axis robot;

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

[0055] Specifically, for a six-axis robot, the above-mentioned pose matrix is ​​used to obtain the transformation matrix between each joint and link, which are T1 to T6. These matrices are multiplied to obtain the actual pose of the robot end. By calculating the pose at each moment, the robot can smoothly adjust its movements to achieve accurate trajectory tracking. Figure 4 The preset end trajectory path and the actual end trajectory path of the robot are shown.

[0056] Wherein, the movable device is a six-axis robot, obtaining the command pulse of the movable device, and determining the preset end position of the movable device according to the command pulse, comprises the following steps:

[0057] Step S401, obtaining N instruction pulse sets, wherein one of the instruction pulse sets includes M instruction pulse subsets arranged in time order, one of the instruction pulse sets is an instruction pulse set obtained in a target acquisition period when the six-axis robot is running according to a target running trajectory, the target acquisition period of each of the instruction pulse sets is different, one of the instruction pulse subsets includes multiple instruction pulses, the instruction pulses correspond one-to-one to the joints of the six-axis robot, one of the instruction pulse subsets is obtained at a target acquisition moment in the target acquisition period of the corresponding instruction pulse set, the target acquisition moments of each of the instruction pulse subsets are different, the instruction pulse subsets with the same arrangement position in different instruction pulse sets correspond to each other, and N and M are both positive integers;

[0058] Step S402, determining a preliminary preset terminal position and posture of the six-axis robot according to all the command pulses in the command pulse subset, wherein the preliminary preset terminal position and posture correspond one-to-one to the command pulse subset;

[0059] Step S403, calculating the average value of the above-mentioned prepared preset terminal postures corresponding to the above-mentioned instruction pulse subsets with the same arrangement position in all the above-mentioned instruction pulse sets, and obtaining the above-mentioned preset terminal postures, and there are M above-mentioned preset terminal postures.

[0060] Specifically, by making a one-to-one correspondence between the prepared preset terminal posture and the instruction pulse subset, and taking the average value of the prepared preset terminal posture corresponding to the subset, a more accurate preset terminal position of the robot can be obtained, thereby improving the accuracy of error analysis.

[0061] In an optional solution, when the robot is running, the upper computer software is used to collect the robot's controller command pulse and driver feedback pulse every 0.2 seconds. The number of collections after the collection time t is M, M = t / 0.2, and the number of pulses in the pulse subset is the same as the number of axes of the robot. Each collection time corresponds to a pulse set, and N represents the number of pulse sets. For example, when the collection time is set to 11:00:00 to 11:00:20, that is, 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) to obtain 3 pulse sets. In addition, the collection time interval can be uniformly sampled or non-uniformly sampled. In this application, only equal-interval sampling is used as an example. Further, the data is automatically saved into a csv file to obtain a csv file with a data dimension of t / 0.2 rows and 6 classes. Among them, each row represents the pulses of the six axes of the robot after an interval of 0.2 seconds. After calculation and transformation, t / 0.2 = M robot spatial posture points Pos with an interval of 0.2 seconds are obtained. M =[x M ,y M ,z M ], where x M ,y M , z M Indicates the spatial position of the robot end in the robot base coordinate system, and saves these spatial poses as CSV files. Import the CSV file with the spatial position saved in the software, and draw these spatial position points in the coordinate system. Calculate the command and feedback pulses respectively to obtain the command position point and feedback position point.

[0062] In order to improve the trajectory positioning accuracy, the average value of several sets of data at the same position at different times is taken to obtain the final terminal posture.

[0063] Step S203, comparing the preset terminal posture of the movable device with the actual terminal posture to obtain a trajectory error of the movable device.

[0064] Specifically, real-time analysis of the operating data of the drive control system that affects the trajectory performance facilitates the testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability, and can also analyze the reasons that affect the accuracy of the movable device. Compared with the laser tracking method, this method reduces costs while improving analysis efficiency.

[0065] The step of comparing the preset terminal position and the actual terminal position of the movable device to obtain the trajectory error of the movable device comprises the following steps:

[0066] Step S2031, comparing the corresponding preset terminal posture and the actual terminal posture to obtain the preset positioning accuracy of the M movable devices;

[0067] Step S2032: determine the minimum preset positioning accuracy as the target positioning accuracy of the movable 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 position coordinates, x t ,y t , z t Indicates the corresponding feedback position coordinates. Because the robot is set as an ideal model, that is, the corresponding values ​​including DH value and reduction ratio are all ideal model values, so it can fully reflect the performance of the robot driving and controlling the robot body. In addition, this application has designed a UI machine interface specifically for robot path accuracy and repeatability analysis, which can realize rapid data analysis. Figure 5 A specific data analysis interface is given. By setting the reduction ratio formula, the command position initial value, the feedback position initial value, and selecting the encoder model of each axis, data analysis can be performed to obtain the analysis data results shown in Table 1.

[0069] Table 1. Analysis data results

[0070]

[0071] The trajectory error determination method of the above movable device of the present application first obtains the command pulse of the movable device, and determines the preset end position of the movable device according to the command pulse, and the command pulse is the pulse value of the command signal that controls the movement of the movable device; then obtains the feedback pulse of the movable device, and determines the actual end position of the movable device according to the feedback pulse, and the feedback pulse is the pulse value of the encoder during the actual movement of the movable device; finally, the preset end position and the actual end position of the movable device are compared to obtain the trajectory error of the movable device. The method is based on the PC end and the robot driver, establishes communication through the TCP / IP protocol, triggers and collects data using data acquisition software, realizes the calculation of the execution path and the six axis joint angles of the generated data file, and realizes the visualization of the command and feedback trajectory, and generates the analysis results at the same time. This not only reduces the cost of robot performance analysis, but also reduces the time required for performance analysis, improves the efficiency of performance analysis, and solves the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the movable device in the prior art.

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

[0073] The embodiment of the present application also provides a trajectory error determination device for a movable device. It should be noted that the trajectory error determination device for a movable device of the embodiment of the present application can be used to execute the trajectory error determination method for a movable device provided in the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and those that have been described will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.

[0074] The following is an introduction to the trajectory error determination device of the movable device provided in the embodiment of the present application.

[0075] Figure 6 Schematic diagram of a trajectory error determination device for a movable device according to an embodiment of the present 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 the command pulse of the movable device, and determine the preset end posture of the movable device according to the above command pulse, the above command pulse is the pulse value of the command signal for controlling the movement of the movable device; the second acquisition unit 20 is used to acquire the feedback pulse of the movable device, and determine the actual end posture of the movable device according to the above feedback pulse, the above feedback pulse is the pulse value of the encoder during the actual movement of the movable device; the comparison unit 30 is used to compare the above preset end posture of the movable device with the above actual end posture to obtain the trajectory error of the movable device.

[0076] The above-mentioned device for determining the trajectory error of the movable device of the present application includes: a first acquisition unit, a second acquisition unit and a comparison unit, the first acquisition unit is used to acquire the command pulse of the movable device, and determine the preset end position of the movable device according to the command pulse, the command pulse is the pulse value of the command signal for controlling the movement of the movable device; the second acquisition unit is used to acquire the feedback pulse of the movable device, and determine the actual end position of the movable device according to the feedback pulse, the feedback pulse is the pulse value of the encoder during the actual movement of the movable device; the comparison unit is used to compare the preset end position and the actual end position of the movable device to obtain the trajectory error of the movable device. The device is based on the PC end and the robot driver, establishes communication through the TCP / IP protocol, triggers and collects data using data acquisition software, realizes the calculation of the execution path and the six-axis joint angles of the generated data file, and realizes the visualization of the command and feedback trajectory, and generates analysis results at the same time. This not only reduces the cost of robot performance analysis, but also reduces the time required for performance analysis, improves the efficiency of performance analysis, and solves the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the movable device in the prior art.

[0077] In some instances, the second acquisition unit includes a first acquisition module, a second acquisition module and a third acquisition module, wherein the first acquisition module is used to determine the rotation angle of the target joint of the movable device at least based on the feedback pulse, wherein the movable 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 according to the rotation angle of the target joint of the movable device; the third acquisition module is used to determine the actual end pose of the movable device according to the pose matrix corresponding to all the joints of the movable device. The rotation angles and corresponding pose matrices of the six axis joints of the robot are obtained to implement the conversion calculation to obtain the execution end pose of the robot.

[0078] In some examples, the first acquisition module further includes a first acquisition submodule and a second acquisition submodule, and the first acquisition submodule is used to acquire the first calculation formula Among them, angle i is the rotation angle of the i-th joint of the movable device, puse i is the number of pulses of the feedback pulse when the movable device is in the current posture, puse0 is the number of pulses of the feedback pulse when the movable device is in the zero position, n is the number of bits of the encoder of the i-th joint of the movable device, and Rd is the reduction ratio of the i-th joint of the movable device; the second acquisition submodule is used to determine the rotation angle of the target joint of the movable device according to the first calculation formula, wherein the target joint is the i-th joint of the movable device. The conversion between the pulse signal and the robot kinematic parameters is realized.

[0079] In some examples, the second acquisition module further includes a third acquisition submodule and a fourth acquisition submodule, and the third acquisition submodule is used to acquire the second calculation formula Among them, T i represents the pose matrix of the i-th joint axis of the above movable device, θ i represents the rotation angle of the i-th joint axis of the movable device when the i-th joint is at zero position, α i represents the length of the i-th connecting rod of the above movable device, α i is the angle between the i-th joint axis and the i-1-th joint axis of the movable device, d i Indicates the axial offset of the i-th joint axis of the movable device relative to the i-1-th joint axis, angle i is the rotation angle of the i-th joint of the movable 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 movable device. In this way, the perception data can be converted from the sensor coordinate system to the robot coordinate system.

[0080] In some examples, the third acquisition module further includes a fifth acquisition submodule and a sixth acquisition submodule, and the fifth acquisition submodule is used to acquire the third calculation formula Among them, pos is the actual end position of the above six-axis robot, T i is the above-mentioned posture matrix corresponding to the i-th joint of the above-mentioned six-axis robot; the sixth acquisition submodule is used to determine the above-mentioned actual terminal posture of the above-mentioned six-axis robot according to the above-mentioned third calculation formula. By calculating the posture at each moment, the robot can smoothly adjust the action 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 instruction pulse sets, wherein one of the above instruction pulse sets includes M instruction pulse subsets arranged in time order, one of the above instruction pulse sets is an instruction pulse set when the above six-axis robot is running according to the target running trajectory obtained in the target acquisition period, the target acquisition period of each of the above instruction pulse sets is different, one of the above instruction pulse subsets includes multiple instruction pulses, the above instruction pulses correspond to the joints of the above six-axis robot one by one, and one of the above instruction pulse subsets is the above target acquisition period of the corresponding instruction pulse set. The target acquisition time in the segment is obtained, the target acquisition time of each of the above instruction pulse subsets is different, the above instruction pulse subsets with the same arrangement position in different instruction pulse sets correspond to each other, and N and M are both positive integers; the fifth acquisition module is used to determine the preliminary preset terminal posture of the above six-axis robot according to all the above instruction pulses in the above instruction pulse subsets, and the above preliminary preset terminal posture corresponds to the above instruction pulse subsets one by one; the sixth acquisition module is used to calculate the average value of the above preliminary preset terminal posture corresponding to the above instruction pulse subsets with the same arrangement position in all the above instruction pulse sets, and obtain the above preset terminal posture, and there are M preset terminal postures. By making the preliminary preset terminal posture correspond to the instruction pulse subsets one by one and taking the average value of the preliminary preset terminal posture corresponding to the subsets, a more accurate preset terminal position of the robot can be obtained, thereby 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 is used to compare the corresponding preset terminal posture and the actual terminal posture to obtain the preset positioning accuracy of the M movable devices; the second comparison module is used to determine the minimum preset positioning accuracy as the target positioning accuracy of the movable device. Taking the average value can further improve the positioning accuracy, thereby improving the accuracy of trajectory error analysis.

[0083] The above-mentioned trajectory error determination device for a movable device includes a processor and a memory, and the above-mentioned first acquisition unit and the like are stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to implement corresponding functions. The above-mentioned modules are all located in the same processor; or, the above-mentioned modules are located in different processors in any combination.

[0084] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the kernel parameters can be adjusted to solve the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the mobile device in the prior art.

[0085] The memory may include non-permanent memory in a computer-readable medium, 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] An embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the trajectory error determination method of the movable device.

[0087] Specifically, the method for determining the trajectory error of the movable device includes:

[0088] Step S201, obtaining a command pulse of a movable device, and determining a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device;

[0089] Specifically, the movable device in the present application is an industrial robot. The preset end position of the robot is determined according to the command pulse, which is used to compare with the actual end position, so as to obtain the trajectory error of the robot and realize the visualization of the command trajectory, which is convenient for analyzing the performance parameters of the robot.

[0090] Step S202, obtaining a feedback pulse of the movable device, and determining the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device;

[0091] Specifically, the actual real-time terminal posture of the robot is determined according to the feedback pulse, which is used to compare with the preset terminal posture at the corresponding moment, so as to obtain a visualized trajectory error of the robot, which is convenient for analyzing the performance parameters of the robot and the reasons affecting the accuracy of the robot.

[0092] Step S203, comparing the preset terminal posture of the movable device with the actual terminal posture to obtain a trajectory error of the movable device.

[0093] Specifically, real-time analysis of the operating data of the drive control system that affects the trajectory performance facilitates the testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability, and can also analyze the reasons that affect the accuracy of the movable device. Compared with the laser tracking method, this method reduces costs while improving analysis efficiency.

[0094] Optionally, determining the actual terminal posture of the movable device according to the feedback pulse includes: determining the rotation angle of a target joint of the movable device at least according to the feedback pulse, wherein the movable device includes multiple joints and the target joint is one of the multiple joints; determining the posture matrix of the joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device; determining the actual terminal posture of the movable device according to the posture matrix corresponding to all the joints of the movable device.

[0095] Optionally, determining the rotation angle of the target joint of the movable device at least according to the feedback pulse comprises: obtaining a first calculation formula Among them, angle i is the rotation angle of the i-th joint of the movable device, puse i is the pulse number of the above-mentioned feedback pulse when the above-mentioned movable device is in the current position, puse0 is the pulse number of the above-mentioned feedback pulse when the above-mentioned movable device is in the zero position, n is the number of bits of the encoder of the i-th joint of the above-mentioned movable device, and Rd is the reduction ratio of the i-th joint of the above-mentioned movable device; the rotation angle of the target joint of the above-mentioned movable device is determined according to the above-mentioned first calculation formula, wherein the above-mentioned target joint is the i-th joint of the above-mentioned movable device.

[0096] Optionally, according to the rotation angle of the target joint of the movable device, determining the pose matrix of the joint axis corresponding to the target joint includes: obtaining a second calculation formula Among them, T i represents the pose matrix of the i-th joint axis of the above movable device, θ i represents the rotation angle of the i-th joint axis of the movable device when the i-th joint is at zero position, α i represents the length of the i-th connecting rod of the above movable device, α i is the angle between the i-th joint axis and the i-1-th joint axis of the movable device, d i Indicates the axial offset of the i-th joint axis of the movable device relative to the i-1-th joint axis, angle i is the rotation angle of the i-th joint of the above-mentioned movable device, and according to the above-mentioned second calculation formula, the pose matrix of the joint axis corresponding to the above-mentioned target joint is determined, wherein the above-mentioned target joint is the i-th joint of the above-mentioned movable device.

[0097] Optionally, the movable device is a six-axis robot, and the actual end position and posture of the movable device are determined according to the position and posture matrix corresponding to all the joints of the movable device, including: obtaining a third calculation formula: Among them, pos is the actual end position of the above six-axis robot, Ti is the posture matrix corresponding to the i-th joint of the six-axis robot; according to the third calculation formula, the actual end posture of the six-axis robot is determined.

[0098] Optionally, the movable device is a six-axis robot, and the command pulses of the movable device are obtained, and the preset terminal posture of the movable device is determined according to the command pulses, including: obtaining N command pulse sets, wherein one of the command pulse sets includes M command pulse subsets arranged in time order, one of the command pulse sets is a command pulse set of the six-axis robot when it is running according to the target running trajectory obtained in the target acquisition period, and the target acquisition period of each of the command pulse sets is different, one of the command pulse subsets includes multiple command pulses, and the command pulses correspond to the joints of the six-axis robot one by one, and one of the command pulse subsets is obtained in the corresponding The target acquisition time in the target acquisition period of the command pulse set is obtained, the target acquisition time of each command pulse subset is different, the command pulse subsets with the same arrangement position in different command pulse sets correspond to each other, and N and M are both positive integers; according to all the command pulses in the command pulse subsets, the preliminary preset terminal posture of the six-axis robot is determined, and the preliminary preset terminal posture corresponds to the command pulse subsets one by one; the average value of the preliminary preset terminal posture corresponding to the command pulse subsets with the same arrangement position in all the command pulse sets is calculated to obtain the preset terminal posture, and there are M preset terminal postures.

[0099] Optionally, the preset terminal posture of the movable device and the actual terminal posture are compared to obtain the trajectory error of the movable device, including: comparing the corresponding preset terminal postures and the actual terminal postures to obtain the preset positioning accuracy of M movable devices; and determining the minimum preset positioning accuracy as the target positioning accuracy of the movable device.

[0100] An embodiment of the present invention provides a processor, and the processor is used to run a program, wherein the program executes the trajectory error determination method of the movable device when running.

[0101] Specifically, the method for determining the trajectory error of the movable device includes:

[0102] Step S201, obtaining a command pulse of a movable device, and determining a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device;

[0103] Specifically, the movable device in the present application is an industrial robot. The preset end position of the robot is determined according to the command pulse, which is used to compare with the actual end position, so as to obtain the trajectory error of the robot and realize the visualization of the command trajectory, which is convenient for analyzing the performance parameters of the robot.

[0104] Step S202, obtaining a feedback pulse of the movable device, and determining the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device;

[0105] Specifically, the actual real-time terminal posture of the robot is determined according to the feedback pulse, which is used to compare with the preset terminal posture at the corresponding moment, so as to obtain a visualized trajectory error of the robot, which is convenient for analyzing the performance parameters of the robot and the reasons affecting the accuracy of the robot.

[0106] Step S203, comparing the preset terminal posture of the movable device with the actual terminal posture to obtain a trajectory error of the movable device.

[0107] Specifically, real-time analysis of the operating data of the drive control system that affects the trajectory performance facilitates the testing of the robot's positioning accuracy, trajectory accuracy, position repeatability, and trajectory repeatability, and can also analyze the reasons that affect the accuracy of the movable device. Compared with the laser tracking method, this method reduces costs while improving analysis efficiency.

[0108] An embodiment of the present invention provides a device, the device comprising a processor, a memory, and a program stored in the memory and executable on the processor, and when the processor executes the program, at least the following steps are implemented:

[0109] Step S201, obtaining a command pulse of a movable device, and determining a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device;

[0110] Step S202, obtaining a feedback pulse of the movable device, and determining the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device;

[0111] Step S203, comparing the preset terminal posture of the movable device with the actual terminal posture to obtain a trajectory error of the movable device.

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

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

[0114] Step S201, obtaining a command pulse of a movable device, and determining a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device;

[0115] Step S202, obtaining a feedback pulse of the movable device, and determining the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device;

[0116] Step S203, comparing the preset terminal posture of the movable device with the actual terminal posture to obtain a trajectory error of the movable device.

[0117] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0118] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0119] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0120] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0121] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions 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] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0124] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules 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 technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0125] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0126] From the above description, it can be seen that the above embodiments of the present application achieve the following technical effects:

[0127] 1) The trajectory error determination method of the above-mentioned movable device of the present application first obtains the command pulse of the movable device, and determines the preset end position of the movable device according to the command pulse, and the command pulse is the pulse value of the command signal that controls the movement of the movable device; then obtains the feedback pulse of the movable device, and determines the actual end position of the movable device according to the feedback pulse, and the feedback pulse is the pulse value of the encoder during the actual movement of the movable device; finally, the preset end position and the actual end position of the movable device are compared to obtain the trajectory error of the movable device. The method is based on the PC and the robot driver, establishes communication through the TCP / IP protocol, triggers and collects data using data acquisition software, realizes the calculation of the execution path and the six-axis joint angles of the generated data file, and realizes the visualization of the command and feedback trajectory, and generates analysis results at the same time. This not only reduces the cost of robot performance analysis, but also reduces the time required for performance analysis, improves the efficiency of performance analysis, and solves the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the movable device in the prior art.

[0128] 2) The trajectory error determination device of the above-mentioned movable device of the present application includes: a first acquisition unit, a second acquisition unit and a comparison unit, the first acquisition unit is used to acquire the command pulse of the movable device, and determine the preset end position of the movable device according to the command pulse, the command pulse is the pulse value of the command signal that controls the movement of the movable device; the second acquisition unit is used to acquire the feedback pulse of the movable device, and determine the actual end position of the movable device according to the feedback pulse, the feedback pulse is the pulse value of the encoder during the actual movement of the movable device; the comparison unit is used to compare the preset end position and the actual end position of the movable device to obtain the trajectory error of the movable device. The device is based on the PC and the robot driver, establishes communication through the TCP / IP protocol, triggers and collects data using data acquisition software, realizes the calculation of the execution path and the six-axis joint angles of the generated data file, and realizes the visualization of the command and feedback trajectory, and generates analysis results at the same time. This not only reduces the cost of robot performance analysis, but also reduces the time required for performance analysis, improves the efficiency of performance analysis, and solves the problems of high cost, long analysis time and inability to analyze the reasons affecting the accuracy of the movable device in the prior art.

[0129] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for determining a trajectory error of a movable device, characterized in that: include: Acquire a command pulse of a movable device, and determine a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device; Acquire a feedback pulse of the movable device, and determine the actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device; The preset end position and the actual end position of the movable device are compared to obtain a trajectory error of the movable device.

2. The method according to claim 1, characterized in that: Determining the actual end position of the movable device according to the feedback pulse includes: determining a rotation angle of a target joint of the movable device at least according to the feedback pulse, wherein the movable device comprises a plurality of joints and the target joint is one of the plurality of joints; Determine a position matrix of a joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device; The actual end pose of the movable device is determined according to the pose matrix corresponding to all the joints of the movable device.

3. The method according to claim 2, characterized in that Determining the rotation angle of the target joint of the movable device at least according to the feedback pulse comprises: Get the first calculation formula Among them, angle i is the rotation angle of the i-th joint of the movable device, puse i is the number of pulses of the feedback pulse when the movable device is in the current posture, puse0 is the number of pulses of the feedback pulse when the movable device is in the zero position, n is the number of bits of the encoder of the i-th joint of the movable device, and Rd is the reduction ratio of the i-th joint of the movable device; The rotation angle of the target joint of the movable device is determined according to the first calculation formula, wherein the target joint is the i-th joint of the movable device.

4. The method according to claim 2, characterized in that: Determining a position matrix of a joint axis corresponding to the target joint according to the rotation angle of the target joint of the movable device includes: Get the second calculation formula Among them, T i represents the pose matrix of the i-th joint axis of the movable device, θ i represents the rotation angle of the movable device relative to the i-1th joint axis when the i-th joint is at zero position, α i represents the length of the i-th connecting rod of the movable device, α i is the angle between the i-th joint axis and the i-1-th joint axis of the movable device, d i Indicates the axial offset of the i-th joint axis of the movable device relative to the i-1-th joint axis, angle i is the rotation angle of the i-th joint of the movable 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 movable device.

5. The method according to claim 2, characterized in that: The movable device is a six-axis robot, and the actual end position and posture of the movable device is determined according to the position and posture matrix corresponding to all the joints of the movable device, including: Get the third calculation formula Among them, pos is the actual end position of the six-axis robot, T i is the pose matrix corresponding to the i-th joint of the six-axis robot; According to the third calculation formula, the actual end position and posture of the six-axis robot is determined.

6. The method according to claim 1, characterized in that The movable device is a six-axis robot, and the command pulse of the movable device is obtained, and the preset end position of the movable device is determined according to the command pulse, including: Acquire N instruction pulse sets, wherein one instruction pulse set includes M instruction pulse subsets arranged in time order, one instruction pulse set is an instruction pulse set obtained in a target acquisition period when the six-axis robot runs according to a target running trajectory, the target acquisition period of each instruction pulse set is different, one instruction pulse subset includes multiple instruction pulses, and the instruction pulses correspond to the joints of the six-axis robot one by one, one instruction pulse subset is obtained at a target acquisition moment in the target acquisition period of the corresponding instruction pulse set, the target acquisition moment of each instruction pulse subset is different, and instruction pulse subsets with the same arrangement position in different instruction pulse sets correspond to each other, and N and M are both positive integers; Determining a preliminary preset end position of the six-axis robot according to all the command pulses in the command pulse subset, wherein the preliminary preset end position corresponds to the command pulse subset one by one; The average value of the prepared preset terminal postures corresponding to the subset of command pulses with the same arrangement position in all the command pulse sets is calculated to obtain the preset terminal posture, and there are M preset terminal postures.

7. The method according to claim 6, characterized in that Comparing the preset end position and the actual end position of the movable device to obtain a trajectory error of the movable device includes: Comparing the corresponding preset terminal postures with the actual terminal postures to obtain preset positioning accuracies of the M movable devices; The minimum preset positioning accuracy is determined as the target positioning accuracy of the movable device.

8. A device for determining a trajectory error of a movable device, characterized in that: include: A first acquisition unit, used to acquire a command pulse of a movable device, and determine a preset end position of the movable device according to the command pulse, wherein the command pulse is a pulse value of a command signal for controlling the movement of the movable device; A second acquisition unit is used to acquire a feedback pulse of the movable device, and determine an actual end position of the movable device according to the feedback pulse, wherein the feedback pulse is a pulse value of an encoder during the actual movement of the movable device; A comparison unit is used to compare the preset end position and the actual end position of the movable device to obtain a trajectory error of the movable device.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the trajectory error determination method of a movable device according to any one of claims 1 to 7.

10. 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 are configured to be executed by the one or more processors, and the one or more programs include a method for executing the trajectory error determination method of the movable device according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Numerical control method

    CN103180790A

  • Industrial robot motion control method based on error compensation

    CN109986558A

  • Robot control device

    JP2013206426A

  • Robot control method, article manufacturing method, robot control device, robot, program and recording medium

    JP2020015124A

  • Numerical control method

    US20130173026A1