Robot trajectory correction methods, devices, storage media and electronic equipment

By determining the accuracy requirements and simulation trajectory complexity in offline trajectory correction, acquiring fixed-point poses, and generating the target offline trajectory using the correction transformation matrix, the problem of high manpower and time costs in offline trajectory correction is solved, and efficient trajectory correction is achieved.

CN117260711BActive Publication Date: 2026-05-26SHANGHAI JIEKA ROBOT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI JIEKA ROBOT TECH CO LTD
Filing Date
2023-09-06
Publication Date
2026-05-26

Smart Images

  • Figure CN117260711B_ABST
    Figure CN117260711B_ABST
Patent Text Reader

Abstract

This invention discloses a robot trajectory correction method, apparatus, storage medium, and electronic device. The method includes: determining a predetermined process to be executed; simulating the robot's execution of the predetermined process to obtain a simulated trajectory, wherein the robot is a robot moving based on an offline trajectory; acquiring fixed-point poses of the robot during the execution of the predetermined process; and correcting the simulated trajectory based on the fixed-point poses to determine the target offline trajectory. This invention solves the technical problem of significant limitations in correcting offline trajectories in related technologies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and more specifically, to a robot trajectory correction method, apparatus, storage medium, and electronic device. Background Technology

[0002] Offline trajectory refers to the data of a robot's movement path recorded and saved without a real-time network connection. The robot needs to use algorithms to plan its movement path. Path planning for offline trajectories can utilize offline maps, pre-planned paths, or paths based on historical data. The movement path is reconstructed based on the saved offline trajectory data. This can be achieved by concatenating and interpolating the recorded position and pose information. The accuracy of the offline trajectory determines the accuracy of the robot's behavior. Related technologies require collecting a large amount of teaching poses and corresponding correction trajectory data, recording the robot's teaching poses at various positions and postures. The required training data sample size is large, and the manpower and time costs are also high, which limits the trajectory correction processing.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a robot trajectory correction method, device, storage medium, and electronic device to at least solve the technical problem of significant limitations in correcting offline trajectories in related technologies.

[0005] According to one aspect of the present invention, a robot trajectory correction method is provided, comprising: determining a predetermined process to be executed; simulating the process of a robot executing the predetermined process to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; acquiring fixed-point poses of the robot during the execution of the predetermined process; and correcting the simulated trajectory based on the fixed-point poses to determine a target offline trajectory. Optionally, correcting the simulated trajectory based on the fixed-point poses to determine the target offline trajectory includes: determining a first position of the fixed-point poses in the predetermined process; determining a second position in the simulated trajectory that matches the first position, and a matching pose corresponding to the second position; and determining a time correction transformation matrix based on the fixed-point poses and the matching poses.

[0006] Optionally, the fixed-point pose is a first starting pose and a first ending pose, and the matched pose is a second starting pose and a second ending pose. Determining the time-correction transformation matrix based on the fixed-point pose and the matched pose includes: determining the time-correction transformation matrix based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose; and using the time-correction transformation matrix to correct the simulated trajectory to determine the offline trajectory.

[0007] Optionally, determining the time-correction transformation matrix based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose includes: obtaining a first matrix based on the second starting pose, the second ending pose, and an identity matrix of a predetermined dimension; obtaining a second matrix based on the first starting pose and the first ending pose; determining a third matrix based on the first matrix and the second matrix; and converting the third matrix to the dimension of the predetermined dimension to obtain the time-correction transformation matrix. Optionally, before acquiring the fixed-point pose during the predetermined processing of the robot, the method further includes: determining the accuracy requirement of the predetermined processing; determining the complexity of the simulation trajectory if the accuracy requirement is greater than a predetermined accuracy threshold; and determining the minimum number of pose acquisitions for the localization pose based on the complexity.

[0008] Optionally, determining the minimum pose acquisition quantity based on the complexity includes: if the complexity is greater than or equal to a predetermined complexity threshold, determining a first number of corner points in the simulation trajectory whose curvature change is greater than a predetermined curvature threshold; and determining the minimum pose acquisition quantity based on the first number, such that the fixed-point pose includes at least one of the first number of corner points.

[0009] Optionally, after correcting the simulated trajectory based on the fixed-point pose to determine the target offline trajectory, the method further includes: determining the maximum output force supported by the robot during the predetermined processing execution; transmitting the maximum output force and the target offline trajectory to the robot; wherein the robot is used to correct the current pose in the target offline trajectory when it detects that the current output force is greater than the maximum output force while acting based on the target offline trajectory, so that the current output force is less than or equal to the maximum output force.

[0010] According to another aspect of the present invention, a robot trajectory correction device is provided, comprising: a determination module for determining a predetermined process to be executed; a simulation module for simulating the process of a robot executing the predetermined process to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; a acquisition module for acquiring fixed-point poses of the robot during the execution of the predetermined process; and a correction module for correcting the simulated trajectory based on the fixed-point poses to determine a target offline trajectory.

[0011] According to another aspect of the present invention, a non-volatile storage medium is provided, the non-volatile storage medium storing a plurality of instructions adapted for loading by a processor and executing any one of the robot trajectory correction methods described herein.

[0012] According to another aspect of the present invention, an electronic device is provided, comprising: one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement any of the robot trajectory correction methods described above.

[0013] In this embodiment of the invention, a predetermined process to be executed is determined; the process of the robot executing the predetermined process is simulated to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; fixed-point poses are collected during the robot's execution of the predetermined process; and the simulated trajectory is corrected based on the fixed-point poses to determine the target offline trajectory. This achieves the goal of reducing the number of pose acquisitions, thereby reducing the dependence on teaching poses and minimizing the limitations of offline trajectory correction, thus solving the technical problem of significant limitations in offline trajectory correction in related technologies. Attached Figure Description

[0014] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0015] Figure 1 This is a flowchart of an optional robot trajectory correction method provided according to an embodiment of the present invention;

[0016] Figure 2 This is a corner point diagram of an optional robot trajectory correction method provided according to an embodiment of the present invention; Figure 3 This is a schematic diagram illustrating an optional robot trajectory correction method provided according to an embodiment of the present invention; Figure 4This is a schematic diagram of an optional robot trajectory correction device provided according to an embodiment of the present invention. Detailed Implementation

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

[0018] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention 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 so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a 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.

[0019] Offline trajectory robots record and save their movement path data without real-time connection to a network or central control system. Their movement paths are recorded within a certain time period, therefore their data is offline and lacks real-time capability. Real-time trajectory robots, on the other hand, connect to a network or central control system in real time, transmitting their movement path data to external systems or processing it in real-time. They can make real-time adjustments and responses based on the transmitted path information. For example, they can update their path planning and action strategies in real-time based on changes in the current environment and task requirements. Offline trajectory robots, however, cannot adjust their movement paths in real-time; their path planning is based on previously recorded data.

[0020] Robots with real-time trajectories can perform real-time correction and optimization based on transmitted data to improve trajectory accuracy. Robots with offline trajectories, however, require subsequent data processing and correction methods to improve their accuracy. Therefore, for robots based on offline trajectories, trajectory correction significantly improves accuracy. The quality and diversity of teaching poses have a significant impact on training models. Therefore, when collecting teaching poses, it is necessary to cover as many different positions and postures as possible, as well as different correction scenarios, to achieve better training results. The labeling and accuracy of data are also crucial in related technologies. It is necessary to ensure the correct correspondence between teaching poses and corrected trajectory data. This requires a large amount of pose data and presents challenges in acquisition, all of which significantly limit trajectory correction processing.

[0021] To address the aforementioned problems, this invention provides a method embodiment for robot trajectory correction. 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. Furthermore, 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.

[0022] Figure 1 This is a flowchart of a robot trajectory correction method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:

[0023] Step S102: Determine the scheduled processing to be performed;

[0024] It is understandable that for robots with offline trajectories, the first step is to determine the pre-defined processes that need to be performed. The accuracy requirements of these pre-defined processes determine the method of robot pose selection.

[0025] In an optional embodiment, before acquiring the fixed-point pose of the robot during the predetermined processing, the method further includes: determining the accuracy requirement of the predetermined processing; if the accuracy requirement is greater than a predetermined accuracy threshold, determining the complexity of the simulation trajectory; and based on the complexity, determining the minimum number of pose acquisitions for the positioning pose.

[0026] It's understandable that offline trajectory correction is performed to meet accuracy requirements. For handling high-precision requirements, where the accuracy requirement exceeds a predetermined threshold, it's necessary to further determine the complexity of the simulation trajectory required to fulfill that requirement. Under the given accuracy requirements, trajectory complexity determines the minimum number of pose acquisitions needed. In other words, only by using the minimum number of fixed-point pose acquisitions can a trajectory with the aforementioned complexity be achieved under the aforementioned accuracy requirements, while minimizing the number of pose acquisitions. Through this process, the number of acquired positioning poses is not subjectively determined but rather based on the accuracy requirements and trajectory complexity, which helps achieve the predetermined accuracy requirements without increasing the number of fixed-point poses excessively.

[0027] Optionally, trajectory complexity refers to a measure describing the shape, curvature, and degree of change of a trajectory. It can be used to evaluate the geometric features and motion characteristics of a trajectory. Complexity can be measured in various ways, such as: 1. Curvature: The curvature of a trajectory reflects the degree of bending at a point. Curvature can be determined by calculating the angle between the tangent at a point and the curve. A higher curvature value indicates that the trajectory is more curved at that point, while a lower curvature value indicates that the trajectory is relatively straight. 2. Deflection: Deflection is the cumulative amount of trajectory curvature, describing the overall degree of bending and the direction of the curve. A higher deflection value indicates that the trajectory has more bending and curve changes, while a lower deflection value indicates that the trajectory is relatively straight. 3. Rate of change of length: The rate of change of length of a trajectory represents the change in the length of the trajectory over time or space. A higher rate of change of length value indicates that the trajectory has more length changes and changes in motion speed, while a lower rate of change of length value indicates that the length of the trajectory is relatively stable. 4. Rate of change of direction: The rate of change of direction of a trajectory represents the change in direction of the trajectory over time or space. A higher rate of change of direction value indicates that the trajectory has more directional changes and turns, while a lower rate of change of direction value indicates that the direction of the trajectory is relatively stable. 5. Peak Curvature: Peak curvature is the maximum curvature value in the trajectory. A higher peak curvature value indicates a sharper bend or curve in the trajectory, while a lower peak curvature value indicates a relatively smoother trajectory. 6. High-Frequency Components: High-frequency components represent the rapidly changing parts of the trajectory. Higher high-frequency component values ​​indicate faster changes and oscillations in the trajectory, while lower high-frequency component values ​​indicate a relatively smoother trajectory.

[0028] The complexity can be measured in one or more combinations of the above methods, which helps in analyzing and comparing the shapes and features of different trajectories, and has a positive impact on improving the accuracy of applications such as path planning, motion control, and trajectory recognition. In an optional embodiment, determining the minimum pose acquisition number based on the above complexity includes: when the above complexity is greater than or equal to a predetermined complexity threshold, determining a first number of corner points in the simulated trajectory whose curvature change is greater than a predetermined curvature threshold; and determining the minimum pose acquisition number based on the first number, such that the fixed-point pose includes at least one of the first number of corner points.

[0029] It's understandable that a simulation trajectory with a complexity greater than or equal to a predetermined complexity threshold is considered relatively complex. It's easy to see that trajectories with significant changes, such as corner poses during the journey, are prone to deviation and can be prioritized for correction. Furthermore, corner poses are relatively easy to correlate with fixed-point poses in the simulation and the actual scene. A first number of corner points in the simulation trajectory with curvature changes greater than a predetermined curvature threshold are identified, ensuring that the fixed-point poses include at least one of these first number of corner points. Through this process, poses prone to deviation in the trajectory can be filtered, ensuring that the acquired fixed-point poses include at least one of these corner points, thus improving correction accuracy.

[0030] In one optional embodiment, the similarity between a first number of corner points is determined; based on the similarity, the first number of corner points are classified to obtain a set of multiple types of corner points; arbitrary corner points are determined in the set of multiple types of corner points respectively; based on the arbitrary corner points corresponding to the set of multiple types of corner points respectively, the fixed-point pose of the minimum pose acquisition number is determined.

[0031] It is understandable that the desired number of fixed-point pose acquisitions is as small as possible. Fixed-point poses do not need to include all corner points. Since corner points may have similarities, for example, trajectory correction of 90° (degree) trajectories is processed in the same category. The similarity between corner points can be used to classify them. For each category of corner point set, one or a few can be selected. This ensures that the fixed-point poses with the minimum number of pose acquisitions mentioned above cover all corner point features. Consequently, the trajectory correction processing also covers all corner point features. Through the above processing, the number of fixed-point poses is effectively reduced while ensuring correction accuracy.

[0032] Examples will be provided to facilitate understanding. Figure 2 This is a corner point diagram of an optional robot trajectory correction method provided according to an embodiment of the present invention, as shown below. Figure 2As shown, points 1, 2, 3, 4, and 5 are considered corner points in the simulated trajectory. Points 2 and 3 belong to the first set of corner points, points 1 and 5 belong to the second set of corner points, and point 3 belongs to the third set of corner points. Points 1, 2, and 3 can be selected as fixed-point poses to achieve coverage. Figure 2 The corner features of the trajectory. Step S104: Simulate the process of the robot performing the above-mentioned predetermined processing to obtain the simulated trajectory, wherein the robot is a robot that moves based on the offline trajectory;

[0033] It is understandable that simulating the robot's execution of a predetermined process can be done on a simulated trajectory within a simulation environment. The robot mentioned above is a robot that moves based on an offline trajectory, and corrections need to be made based on the simulated trajectory to guide the robot's actions.

[0034] Optionally, there are various simulation algorithms for robot trajectories, such as: physics engine-based simulation algorithms, which consider factors like gravity, friction, and collisions, simulating the robot's motion trajectory by solving mechanical equations; path planning algorithms, such as Dijkstra's algorithm, which calculate an optimal path based on map information and the robot's start and end points, simulating the robot's trajectory along that path; kinematic simulation algorithms, which consider the robot's kinematic constraints, such as velocity, acceleration, and joint limitations, simulating the robot's motion trajectory, including linear, rotational, and joint movements; neural network and reinforcement learning algorithms, which can be used for robot trajectory simulation and training. By training neural networks or using reinforcement learning algorithms, robot behavior and trajectories can be simulated, including path planning, target tracking, and obstacle avoidance; and trajectory interpolation algorithms, which generate smooth trajectories based on known trajectory points. These algorithms interpolate between known discrete trajectory points to generate continuous trajectories, simulating the robot's motion trajectory.

[0035] One or more of the above simulation algorithms can be selected to generate the simulation trajectory of the robot. The choice of algorithm depends on the purpose and requirements of the simulation, as well as the characteristics and constraints of the robot, and is not specifically limited. Step S106: Acquire the fixed-point pose of the robot during the execution of the predetermined processing. It can be understood that since there is a deviation between the simulation trajectory and the actual application, fixed-point poses are needed for teaching, and the fixed-point poses are acquired during the execution of the predetermined processing. It should be noted that in order to obtain the fixed-point poses, the robot needs to execute the predetermined processing once according to the simulation trajectory, and the positioning poses are acquired during the execution. Step S108: Based on the above fixed-point poses, the simulation trajectory is corrected to determine the target offline trajectory. It can be understood that by using the fixed-point poses as teaching poses, it is not necessary to acquire the data of every pose during the process to complete the correction of the simulation trajectory and obtain the corrected target offline trajectory.

[0036] In one optional embodiment, the above-mentioned correction of the simulation trajectory based on the fixed-point pose to determine the target offline trajectory includes: determining the first position of the fixed-point pose in the predetermined processing; determining the second position in the simulation trajectory that matches the first position, and the matching pose corresponding to the second position; and determining the time correction transformation matrix based on the fixed-point pose and the matching pose.

[0037] It can be understood that pose includes both position and orientation information. Determining the first position of the fixed-point pose during the actual execution of the predetermined process, correspondingly determining the second position in the simulation trajectory that matches the first position, and the matching pose corresponding to the second position in the simulation environment. Based on the fixed-point pose and the matching pose, the time-correction transformation matrix is ​​determined. Through the above, the time-correction transformation matrix is ​​obtained as a transformation tool, facilitating trajectory correction processing.

[0038] In one optional embodiment, the fixed-point pose is a first starting pose and a first ending pose, the matched pose is a second starting pose and a second ending pose, and determining the time-correction transformation matrix based on the fixed-point pose and the matched pose includes: determining the time-correction transformation matrix based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose; and using the time-correction transformation matrix to correct the simulated trajectory to determine the offline trajectory.

[0039] It is understandable that multiple poses are actually executed for the predetermined processing. The starting pose and ending pose are the easiest to obtain. The first starting pose and the first ending pose are taken as fixed-point poses, and the corresponding second starting pose and the second ending pose in the simulation environment are taken as matching poses. Based on the correspondence between the first starting pose, the first ending pose, the second starting pose, and the second ending pose, the time-correction transformation matrix can be determined. Using the time-correction transformation matrix to correct the simulated trajectory yields the offline trajectory. Through the above processing, the starting and ending poses that are easy to acquire can be optimized to determine the time-correction transformation matrix, which helps reduce the difficulty of acquiring poses and mitigates the limitations of trajectory correction processing.

[0040] It should be noted that there can be one or more fixed-point poses, and there can also be one or more corresponding matching poses, which does not affect the generation of the time-correction transformation matrix.

[0041] In an optional embodiment, determining the time-correction transformation matrix based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose includes: obtaining a first matrix based on the second starting pose, the second ending pose, and an identity matrix of a predetermined dimension; obtaining a second matrix based on the first starting pose and the first ending pose; determining a third matrix based on the first matrix and the second matrix; and converting the third matrix into the dimension of the predetermined dimension to obtain the time-correction transformation matrix.

[0042] The time-correction transformation matrix is ​​used to adjust time-series data, eliminating the influence of trends and acquisition times to obtain more stable and smooth data. The time-correction transformation matrix can be represented as a multi-dimensional matrix, where each element represents a correction coefficient at the corresponding time point. By multiplying the simulated trajectory by the time-correction transformation matrix, the corrected time-series data can be obtained as the target offline trajectory. The time-correction transformation matrix can be obtained as follows: based on the second starting pose, the second ending pose, and a pre-defined identity matrix, a first matrix is ​​obtained. A second matrix is ​​then obtained based on the first starting pose and the first ending pose. Based on the first and second matrices, a third matrix is ​​obtained. This third matrix is ​​then transformed to a pre-defined dimension, converting it into a combination of position and pose, thus obtaining the time-correction transformation matrix. Optionally, the specific construction of the time-correction transformation matrix depends on the time-correction method used. Common methods include linear regression, moving average, and exponential smoothing. Different time-correction methods will produce different transformation matrices to reflect the characteristics and trends of the time-series data.

[0043] Optionally, in the simulation environment, the robot's simulation trajectory is edited according to a predetermined process and denoted as T(t), where the second starting pose is T(t0) and the second ending pose is T(tf). In the real scene, the robot is taught to process a workpiece, with the first starting pose Tr(t0) and the first ending pose Tr(tf). The robot in the simulation trajectory T(t) is considered a rigid body, and the transformation matrix from the simulation starting and ending poses to the real scene starting and ending poses is solved. If it exists, the correction transformation matrix is ​​denoted as Transform, such that Tr(t) = Transform * T(t), where Tr(t) is the target offline trajectory. The starting and ending poses included in the trajectory should satisfy the transformation [Tr(t0)Tr(tf)] = Transform * [T(t0)T(tf)].

[0044] The first matrix is ​​denoted as A, the identity matrix is ​​pre-defined as having 4 dimensions and is denoted as I4, and the superscript T indicates transpose. The Kronecker product is represented by the first matrix obtained as follows:

[0045]

[0046] The second matrix is ​​denoted as b, and vector represents matrix vectorization operations. The second matrix is ​​obtained in the following way:

[0047] b = vector([Tr(t0)Tr(tf)])

[0048] Based on the first and second matrices described above, the third matrix is ​​obtained as follows, denoted as x, where inv denotes the inverse of the matrix:

[0049] x = inv(A T A)A T b

[0050] After obtaining the third matrix, the time-correction transformation matrix is ​​obtained in the following way, where the reshape operation rearranges the 16-column vector x column by column, restoring it to a 4x4 matrix:

[0051] Transform = reshape(x, 4, 4)

[0052] After obtaining the time-corrected transformation matrix Transform, the target offline trajectory can be easily obtained by Tr(t) = Transform * T(t).

[0053] In an optional embodiment, after correcting the simulated trajectory based on the fixed-point pose to determine the target offline trajectory, the method further includes: determining the maximum output force supported by the robot during the predetermined processing execution; transmitting the maximum output force and the target offline trajectory to the robot; wherein the robot is used to correct the current pose in the target offline trajectory when it detects that the current output force is greater than the maximum output force while acting based on the target offline trajectory, so that the current output force is less than or equal to the maximum output force.

[0054] It is understandable that, since the robot executes the predetermined processing according to the target offline trajectory, it may encounter large burrs on the workpiece being processed, or malfunctions during the movement. Forcing the robot to overcome obstacles could easily damage its mobility. To avoid this problem, the maximum output force supported by the robot during the predetermined processing is first determined as the output limit for that predetermined processing. This maximum output force and the target offline trajectory are then correlated and transmitted to the robot. When the robot moves based on the target offline trajectory, it performs output force detection. If the current output force is detected to be greater than the maximum output force, it is considered to have encountered an unexpected obstacle in the target offline trajectory, requiring correction of the current pose through flexible pose adjustment to ensure that the current output force does not exceed the maximum output force limit. Through this process, the robot can perceive the force output limit in the predetermined processing, avoiding damage to the robot itself or the workpiece or surrounding objects caused by trying to perfectly match the target offline trajectory.

[0055] Examples will be provided to facilitate understanding. Figure 3 This is a schematic diagram illustrating an optional robot trajectory correction method provided by an embodiment of the present invention, as shown below. Figure 3 As shown, when a robot performs a predetermined process along the surface of a workpiece, it may increase its output force to overcome large burrs, potentially causing damage to small parts of the robot arm (such as tip breakage). When there is a limit to the maximum output force, the robot can correct its current pose, reduce the output force, and make elastic adjustments to avoid damage to itself or the workpiece being processed.

[0056] Through the above steps S102 to S108, the number of pose acquisitions can be reduced, the purpose of trajectory correction can be achieved, the dependence on teaching poses can be reduced, and the limitations of offline trajectory correction can be reduced. This solves the technical problem of the great limitations of offline trajectory correction in related technologies.

[0057] Based on the above embodiments and optional embodiments, the present invention proposes an optional implementation method for robots that move based on offline trajectories. The robot needs to process a predetermined workpiece, specifically as follows: In a simulation environment, the robot's simulation trajectory can be obtained through a self-defined editing method based on the predetermined workpiece. The required accuracy for the predetermined processing and the complexity of the simulation trajectory are determined, and the minimum number of fixed-point poses to be acquired is determined, including at least some corner points in the simulation trajectory.

[0058] After determining the position in the predetermined processing of the fixed-point pose, assuming the fixed-point pose is a first starting pose and a first ending pose, corresponding to a second starting pose and a second ending pose in the simulated trajectory. Based on the above first starting pose, first ending pose, second starting pose, and second ending pose, a time-correction transformation matrix can be obtained. The simulated trajectory is corrected using the obtained time-correction transformation matrix to obtain the target offline trajectory. Before transmitting the target offline trajectory to the robot, the maximum output force that the robot can output is determined according to the predetermined processing of the predetermined workpiece. The target offline trajectory and the maximum output force are associated and sent to the robot. In the case of large burrs on the predetermined workpiece, the robot can adaptively adjust its current pose due to the limitation of the maximum output force, elastically adjusting to ensure that the current output force does not exceed the maximum output force, preventing damage to the robot body or the predetermined workpiece.

[0059] The above optional implementation methods can achieve the following effects: by using fixed-point poses that match the accuracy requirements and trajectory complexity for teaching, the limitations of the pose data required for simulation trajectory correction are reduced, the difficulty and manpower cost of pose acquisition are reduced, and the acquisition and processing of fixed-point poses are reduced while ensuring that the predetermined processing requirements are met, and the constraints of trajectory correction are also reduced.

[0060] 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.

[0061] This embodiment also provides a robot trajectory correction device, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the terms "module" and "device" 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. According to an embodiment of the present invention, an embodiment of a device for implementing a robot trajectory correction method is also provided. Figure 4This is a schematic diagram of a robot trajectory correction device according to an embodiment of the present invention, such as... Figure 4 As shown, the above-mentioned robot trajectory correction device includes: a determination module 402, a simulation module 404, a data acquisition module 406, and a correction module 408. The device will be described below.

[0062] The determination module 402 is used to determine the scheduled process to be executed;

[0063] The simulation module 404, connected to the determination module 402, is used to simulate the process of the robot performing the above-mentioned predetermined processing to obtain the simulation trajectory, wherein the robot is a robot that moves based on an offline trajectory; the acquisition module 406, connected to the simulation module 404, is used to acquire the fixed-point pose of the robot during the process of the robot performing the above-mentioned predetermined processing.

[0064] The correction module 408, connected to the acquisition module 406, is used to correct the simulation trajectory based on the above fixed-point pose to determine the target offline trajectory.

[0065] In a robot trajectory correction device provided by this invention, a determining module 402 is used to determine a predetermined process to be executed; a simulation module 404, connected to the determining module 402, is used to simulate the robot's execution of the predetermined process to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; a data acquisition module 406, connected to the simulation module 404, is used to acquire the fixed-point pose of the robot during the execution of the predetermined process; and a correction module 408, connected to the data acquisition module 406, is used to correct the simulated trajectory based on the fixed-point pose to determine the target offline trajectory. This achieves the goal of reducing the number of pose acquisitions, thereby reducing reliance on teaching poses and minimizing the limitations of offline trajectory correction, thus solving the technical problem of significant limitations in offline trajectory correction in related technologies. It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or, the above modules can be located in different processors in any combination.

[0066] It should be noted that the aforementioned determining module 402, simulation module 404, acquisition module 406, and correction module 408 correspond to steps S102 to S108 in the embodiments. The instances and application scenarios implemented by these modules and their corresponding steps are the same, but they are not limited to the content disclosed in the above embodiments. It should also be noted that these modules, as part of the device, can run on a computer terminal.

[0067] It should be noted that the optional or preferred implementation methods of this embodiment can be found in the relevant descriptions in the embodiments, and will not be repeated here.

[0068] The aforementioned robot trajectory correction device may also include a processor and a memory. The determination module 402, simulation module 404, acquisition module 406, correction module 408, etc., are all stored in the memory as program units, and the processor executes the aforementioned program units stored in the memory to realize the corresponding functions.

[0069] The processor contains a core that retrieves the corresponding program unit from memory. One or more cores may be configured. Memory may include non-persistent memory in computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory includes at least one memory chip.

[0070] This invention provides a non-volatile storage medium storing a program that, when executed by a processor, implements a robot trajectory correction method.

[0071] This invention provides an electronic 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 the following steps: determining a predetermined process to be executed; simulating the process of a robot performing the predetermined process to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; acquiring the fixed-point poses of the robot during the execution of the predetermined process; and correcting the simulated trajectory based on the fixed-point poses to determine a target offline trajectory. The device described herein can be a server, PC, etc.

[0072] The present invention also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having the following method steps: determining a predetermined process to be executed; simulating the process of a robot executing the predetermined process to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; acquiring the fixed-point pose of the robot during the execution of the predetermined process; and correcting the simulated trajectory based on the fixed-point pose to determine a target offline trajectory.

[0073] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention 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.

[0074] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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 illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0075] 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.

[0076] 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.

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

[0078] 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.

[0079] 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, magnetic 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.

[0080] 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 a process, method, article, or apparatus. Without further limitations, 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. Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention 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.

[0081] The above are merely embodiments of the present invention and are not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A robot trajectory correction method, characterized in that, include: Identify the scheduled processes to be executed; The process of the robot performing the predetermined processing is simulated to obtain a simulated trajectory, wherein the robot is a robot that moves based on an offline trajectory; Collect the fixed-point pose of the robot during the predetermined processing; Based on the fixed-point pose, the simulated trajectory is corrected to determine the target offline trajectory; The method further includes, before acquiring the fixed-point pose of the robot during the predetermined processing, the following steps: determining the accuracy requirement of the predetermined processing; determining the complexity of the simulation trajectory if the accuracy requirement is greater than a predetermined accuracy threshold; and determining the minimum number of pose acquisitions for the fixed-point pose based on the complexity. The step of determining the minimum pose acquisition number based on the complexity includes: when the complexity is greater than or equal to a predetermined complexity threshold, determining a first number of corner points in the simulation trajectory whose curvature change is greater than a predetermined curvature threshold; and determining the minimum pose acquisition number based on the first number, such that the fixed-point pose includes at least one of the first number of corner points.

2. The method according to claim 1, characterized in that, The step of correcting the simulated trajectory based on the fixed-point pose to determine the target offline trajectory includes: Determine the first position of the fixed-point pose in the predetermined process; In the simulation trajectory, a second position matching the first position is determined, along with the matching pose corresponding to the second position; Based on the fixed-point pose and the matched pose, the time correction transformation matrix is ​​determined.

3. The method according to claim 2, characterized in that, The fixed-point pose is a first starting pose and a first ending pose, and the matched pose is a second starting pose and a second ending pose. Determining the time-correction transformation matrix based on the fixed-point pose and the matched pose includes: Based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose, the time correction transformation matrix is ​​determined. The time-correction transformation matrix is ​​used to correct the simulated trajectory to determine the offline trajectory.

4. The method according to claim 3, characterized in that, The determination of the time correction transformation matrix based on the first starting pose, the first ending pose, the second starting pose, and the second ending pose includes: Based on the second starting pose, the second ending pose, and an identity matrix of a predetermined dimension, a first matrix is ​​obtained; Based on the first starting pose and the first ending pose, a second matrix is ​​obtained; Based on the first matrix and the second matrix, determine the third matrix; The third matrix is ​​converted to the predetermined dimension to obtain the time-corrected transformation matrix.

5. The method according to any one of claims 1 to 4, characterized in that, After correcting the simulated trajectory based on the fixed-point pose to determine the target offline trajectory, the method further includes: Determine the maximum output force supported by the robot during the predetermined processing execution; transmit the maximum output force and the target offline trajectory to the robot; wherein, when the robot detects that the current output force is greater than the maximum output force while acting based on the target offline trajectory, it corrects the current pose in the target offline trajectory so that the current output force is less than or equal to the maximum output force.

6. A robot trajectory correction device, characterized in that, include: The determination module is used to determine the scheduled processes to be executed; The simulation module is used to simulate the process of the robot performing the predetermined processing to obtain a simulation trajectory, wherein the robot is a robot that moves based on an offline trajectory; The acquisition module is used to acquire the fixed-point pose of the robot during the predetermined processing. The correction module is used to correct the simulated trajectory based on the fixed-point pose to determine the target offline trajectory; The device is further configured to: determine the accuracy requirement of the predetermined processing before acquiring the fixed-point pose during the robot's execution of the predetermined processing; determine the complexity of the simulation trajectory if the accuracy requirement is greater than a predetermined accuracy threshold; and determine the minimum number of pose acquisitions for the fixed-point pose based on the complexity. The device is further configured to, when the complexity is greater than or equal to a predetermined complexity threshold, determine a first number of corner points in the simulation trajectory whose curvature change is greater than a predetermined curvature threshold; and, based on the first number, determine the minimum pose acquisition number, such that the fixed-point pose includes at least one of the first number of corner points.

7. A non-volatile storage medium, characterized in that, The non-volatile storage medium stores multiple instructions, which are adapted to be loaded by a processor and executed by the robot trajectory correction method according to any one of claims 1 to 5.

8. An electronic device, characterized in that, include: One or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the robot trajectory correction method according to any one of claims 1 to 5.