Mechanical arm pose synchronization method, device, equipment, medium and product

By determining the interpolation coefficient in the robot arm planning to adjust the duration, the position and posture of the robot arm in the fusion section are synchronized, and the performance uncontrollable problem caused by excessive joint speed of the robot arm in the prior art is solved.

CN119304874AActive Publication Date: 2025-01-14SIASUN CO LTD

Patent Information

Application Number
CN202411494799.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-01-14
Estimated Expiration
2044-10-24

AI Technical Summary

Technical Problem

In the prior art, when planning the fusion section, the joint speed is too high due to posture synchronization processing, resulting in the overall performance of the robotic arm being uncontrollable, and the position and attitude phase synchronization is difficult to achieve.

Method used

By determining the third path, including the fusion path and the fourth path, based on the first path, the second path and the fusion radius in the trajectory queue pool, the start point and the end point information are determined based on the S-type planning algorithm, and the first duration and the second time are calculated. The duration is adjusted by the interpolation coefficient to make it equal, thereby achieving synchronization of position paths and attitude paths.

Benefits of technology

It ensures controllability of the robotic arm in the fusion section planning, realizes phase synchronization of position and attitude, solves the problem of excessive joint speed of the robotic arm, and improves overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119304874A_ABST
    Figure CN119304874A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a mechanical arm pose synchronization method and device, equipment, a medium and a product. The mechanical arm pose synchronization method comprises the steps that a third path is determined according to a first path, a second path and a fusion radius in a track queue pool; determining starting point information of the fusion path according to the third path; the starting point information comprises a starting point speed and a starting point acceleration; based on an S-type planning algorithm, determining a first duration and a second duration according to the starting point information and the ending point information of the fusion path; the fusion path comprises a position path and an attitude path; an interpolation coefficient is determined according to the first duration and the second duration, the interpolation coefficient is used for adjusting the number of interpolation times corresponding to the first duration or the second duration so that the first duration can be equal to the second duration, and the corresponding duration is corrected according to the interpolation coefficient so that the position path and the attitude path of the fusion path can be synchronized. And the position and attitude synchronization of the fusion section is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of intelligent control technology, and in particular to a method, device, equipment, medium and product for synchronizing the posture of a robot arm. Background Art

[0002] Currently, there are not many manufacturers who have conducted in-depth research on the phase synchronization of fusion segment posture. Most companies split the posture planning into three axes for independent planning. This results in the robot arm posture path being suboptimal during the planning process and the robot arm position and posture being unable to achieve phase synchronization. Summary of the invention

[0003] The embodiments of the present disclosure provide a method, device, equipment, medium and product for synchronizing the position and attitude of a robot arm, which realize the synchronization of the position and attitude of a fusion path.

[0004] In a first aspect, a method for synchronizing a robot arm posture is provided, the method comprising:

[0005] Determine a third path according to the first path, the second path and the fusion radius in the trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path;

[0006] Determining the starting point information of the fused path according to the third path; the starting point information includes the starting point speed and the starting point acceleration;

[0007] Based on the S-type planning algorithm, the first duration and the second duration are determined according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the ending point information is calculated according to the second path and the fusion radius; the ending point information includes the ending point speed and the ending point acceleration;

[0008] Determine an interpolation coefficient according to the first duration and the second duration, the interpolation coefficient being used to adjust the number of interpolations corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolations is the number of times the first duration or the second duration is interpolated;

[0009] The corresponding duration is corrected according to the interpolation coefficient to synchronize the position path and the posture path of the fused path.

[0010] In a second aspect, a robot arm posture synchronization device is provided, comprising:

[0011] A third path determination module, configured to determine a third path according to the first path, the second path and the fusion radius in the trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path;

[0012] A starting point information determination module, used to determine the starting point information of the fused path according to the third path; the starting point information includes the starting point speed and the starting point acceleration;

[0013] A duration determination module, for determining a first duration and a second duration based on the S-type planning algorithm and according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the ending point information is calculated according to the second path and the fusion radius; the ending point information includes the ending point speed and the ending point acceleration;

[0014] an interpolation coefficient determination module, configured to determine an interpolation coefficient according to a first duration and a second duration, wherein the interpolation coefficient is used to adjust the number of interpolation times corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolation times is the number of times the first duration or the second duration is interpolated;

[0015] The corresponding duration is corrected according to the interpolation coefficient to synchronize the position path and the posture path of the fused path.

[0016] In a third aspect, an electronic device is provided, including:

[0017] at least one processor; and

[0018] a memory communicatively connected to the at least one processor; wherein,

[0019] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot arm posture synchronization method as described in the first aspect above.

[0020] In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the robot arm posture synchronization method as described in the first aspect above is implemented.

[0021] In a fifth aspect, a computer program product is provided, the computer program product comprising a computer program, and the computer program, when executed by a processor, implements the robot arm posture synchronization method as described in the first aspect above.

[0022] The embodiments of the present disclosure disclose a method, device, equipment, medium and product for synchronizing the posture of a robot arm, including: determining a third path according to a first path, a second path and a fusion radius in a trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; the fusion path is used to connect the fourth path and the second path; determining the starting point information of the fusion path according to the third path; the starting point information includes the starting point speed and the starting point acceleration; determining a first duration and a second duration based on the S-type planning algorithm according to the starting point information and the ending point information of the fusion path; the fusion path The path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the end point information is calculated according to the second path and the fusion radius; the end point information includes the end point speed and the end point acceleration; the interpolation coefficient is determined according to the first duration and the second duration, and the interpolation coefficient is used to adjust the number of interpolations corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolations is the number of times the first duration or the second duration is interpolated; the corresponding duration is corrected according to the interpolation coefficient so that the position path and the posture path of the fusion path are synchronized. The technical solution provided in this embodiment interpolates the corresponding duration through the interpolation coefficient, which solves the problem in the prior art that the fusion segment planning causes the manipulator joint speed to be too large due to the posture synchronization processing, making the overall performance of the fusion segment manipulator uncontrollable, and ensures that the manipulator is controllable in the fusion segment planning, and the position and posture are respectively planned online in the fusion segment to ensure the phase synchronization of the fusion segment position and posture.

[0023] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the embodiments of the present disclosure. Other features of the embodiments of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0025] Figure 1 is a flow chart of a method for synchronizing a robot arm posture provided in Embodiment 1 of the present disclosure;

[0026] Figure 2 It is a schematic diagram of a posture point provided in the first embodiment of the present disclosure;

[0027] Figure 3 is a schematic diagram of a robot arm posture synchronization process provided by Embodiment 1 of the present disclosure;

[0028] Figure 4 It is a structural schematic diagram of a mechanical arm posture synchronization device provided in Embodiment 2 of the present disclosure;

[0029] Figure 5 It is a structural diagram of an electronic device provided in Embodiment 3 of the present disclosure. DETAILED DESCRIPTION

[0030] In order to enable those skilled in the art to better understand the solutions of the embodiments of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only embodiments of a part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the embodiments of the present disclosure.

[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.

[0032] Embodiment 1

[0033] Figure 1 This is a flow chart of a method for synchronizing the posture of a robot arm provided in the first embodiment of the present disclosure. This embodiment is applicable to the situation of synchronizing the posture of a robot arm. The method can be executed by a robot arm posture synchronization device. The robot arm posture synchronization device can be implemented in the form of hardware and / or software. The robot arm posture synchronization device can be configured in an electronic device, and the electronic device includes but is not limited to a computer, a terminal, a server and other devices with data processing capabilities. Figure 1 As shown, the method includes:

[0034] S110. Determine a third path according to the first path, the second path and the fusion radius in the trajectory queue pool, where the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within a circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path.

[0035] In this embodiment, the trajectory queue pool may be a plurality of paths pre-set by the user according to actual needs, and the trajectory queue pool may also include a fusion radius of the parts that need to be connected between the paths. The trajectory planner may be used to sequentially obtain the first path, the second path, and the fusion radius from the trajectory queue pool. The first path and the second path may be two intersecting paths, and the first path and the second path have an intersection point.

[0036] Specifically, the third path can be determined according to the first path, the second path and the fusion radius, which can be understood as replanning the first path and the second path having an intersection so that the first path and the second path are connected by an arc. The third path can be a path replanned from the first path, and the third path can include a fusion path and a fourth path. The fourth path can be a path in the first path that is not within the circular range corresponding to the fusion radius, and the fusion path is used to connect the fourth path and the second path.

[0037] S120. Determine the starting point information of the fused path according to the third path; the starting point information includes the starting point speed and the starting point acceleration.

[0038] It can be known that after obtaining the third path, the robot arm can execute the third path. When the robot arm executes to the starting point position of the fusion path, the starting point information of the fusion path can be determined based on the third path, thereby improving the accuracy of the starting point information of the fusion path. In this embodiment, the starting point information may include the starting point velocity and the starting point acceleration. Among them, the starting point velocity may include the starting point position velocity and the starting point attitude velocity, and the starting point acceleration may include the starting point position acceleration and the starting point attitude acceleration. It should be noted that the starting point information may also include: starting point position information, starting point attitude information, the starting point position information may include the position of the starting point, the tangent and normal of the starting point position and other information, and the starting point attitude information may include the starting point attitude.

[0039] S130. Based on the S planning algorithm, determine the first duration and the second duration according to the starting point information and the ending point information of the fusion path; the fusion path includes the position path and the posture path; the first duration is the duration required for the robot to execute the position path corresponding to the fusion path, and the second duration is the duration required for the robot to execute the posture path corresponding to the fusion path; the ending point information is calculated based on the second path and the fusion radius; the ending point information includes the ending point velocity and the ending point acceleration.

[0040] It can be known that after obtaining the starting point information through the third path, the first duration and the second duration can be determined based on the S-planning algorithm according to the starting point information and the end point information of the fused path. The fused path may include a pre-planned position path and a posture path, so the first duration may be the time required for the robot to execute the position path, and the second duration may be the time required for the robot to execute the posture path.

[0041] Continuing with the above description, the termination point information can be obtained by calculating the second path and the fusion radius. The termination point information includes the termination point velocity and the termination point acceleration. The termination point velocity can include the termination point position velocity and the termination point attitude velocity, and the termination point acceleration can include the termination point position acceleration and the termination point attitude acceleration. It should be noted that the termination point information can also include: termination point position information and termination point attitude information, and the termination point position information can include information such as the position of the termination point, the tangent and normal of the termination point position, etc.

[0042] Exemplarily, the starting point information may include the starting point position velocity vp1, the starting point position acceleration ap1, the starting point attitude angular velocity wq1 and the starting point attitude acceleration aq1. The starting point position can be represented as p1, and the starting point attitude can be represented as q1. The fusion path can be speed planned according to the calculated vp1, ap1, vp2, ap2, wherein the speed planning can adopt the seven-segment S-type speed planning, and the first duration tp (fusion path position planning duration) can be obtained;

[0043] Exemplarily, the end point information may include the end point position velocity vp2, the end point position acceleration ap2, the end point attitude angular velocity wq2, and the end point attitude acceleration aq2. The end point position may be expressed as p2, and the end point attitude may be expressed as q2. Based on the calculated vq1, aq1, vq2, and aq2, the fusion path attitude is speed-planned to obtain the second duration tq (fusion segment attitude planning duration).

[0044] It should be noted that the posture paths in the first path and the second path can be represented by quaternions. The curve of the posture path in the first path can be represented as:

[0045] q(t1)=slerp(qs1,qe1,t1)=(qe1*qs1 -1 ) t1 *qs1

[0046] Among them, qs1 is the quaternion description of the posture of the starting point of the first path, qe1 is the quaternion description of the posture of the end point of the first path, the value range of t1 can be 0-1, t1=1-p1 distance to the end point of the first path / length of the first path, and slerp can be a quaternion interpolation function.

[0047] The curve of the posture path in the second path can be expressed as:

[0048] q(t2)=slerp(qs2,qe2,t2)=(qe2*qs2 -1 ) t2 *qs2

[0049] Among them, qs2 is the quaternion description of the attitude of the starting point of the second path, qe2 is the quaternion description of the attitude of the end point of the second path, and the value range of t2 can be 0-1, t2 = the distance from the starting point of the second path to p2 / the length of the second path. The calculation formula of the attitude angular velocity wq1 of the first path can be expressed as:

[0050] wq1=2*q′(t1)*q -1 (t1)

[0051] The calculation formula of the attitude angular velocity wq2 of the second path can be expressed as:

[0052] wq2=2*q′(t2)*q -1 (t2)

[0053] Wherein, q′(t1) is the derivative of the posture path curve in the first path, and q′(t2) is the derivative of the posture path curve in the second path. The calculation formula of the posture acceleration aq1 of the first path can be expressed as:

[0054] aq1=2*q″(t1)*q′(t1)+2*q′(t1)*(q -1 (t1))′

[0055] The calculation formula of the attitude acceleration aq2 of the second path can be expressed as:

[0056] aq2=2*q″(t2)*q′(t2)+2*q′(t2)*(q -1 (t2))′

[0057] Wherein, q′(t1) is the derivative of the posture path curve in the first path, and q′(t2) is the derivative of the posture path curve in the second path; wherein, q″(t1) is the second-order derivative of the posture path curve in the first path, and q″(t2) is the second-order derivative of the posture path curve in the second path.

[0058] It should be noted that the starting point position p1, starting point posture q1, starting point position speed vp1, and starting point position acceleration ap1 in the starting point information are all real-time interpolation information, that is, when the robot arm executes to the starting point of the fusion path, if the position path or posture path needs to be interpolated, the interpolation information is collected in real time. The end point position p2, end point posture q2, end point position speed vp2, and end point position acceleration ap2 in the end point information can be calculated through the second path and the fusion radius.

[0059] Exemplarily, assuming that the second path is a straight line, the length of the second path can be expressed as L2, the straight line direction vector of the second path can be expressed as vec2, the starting point position of the second path can be expressed as ps2, the starting point posture position of the second path can be expressed as qs2, and the end point posture can be expressed as qe2. The fusion radius can be expressed as r, and the calculation formula of the end point position p2 and the end point posture q2 in the fusion path end point information can be expressed as:

[0060] p2=ps2+r / L2*vec2

[0061] q2=(qe2*qs2 -1 ) r / L2 *qs2

[0062] The position velocity of the end point can be expressed as vp2. The calculation process of vp2 is as follows:

[0063] t21 = a2m / j2m;

[0064] v21=0.5*a2m*t21

[0065] In order to ensure that the robot arm can stop at the end of the second path, the formula can be listed as follows:

[0066] 0.5*a2m*t22 2 +(v21+a2m*t21)*t22+(v21*t21+0.5*a2m*t21 2

[0067] -L2+r=0

[0068] The value of t22 can be obtained by the above formula, wherein t22 can be the uniform acceleration time to ensure that the robot arm stops at the end point of the second path. After obtaining t22, the value of t22 can be substituted into the following formula to obtain the value of vp2.

[0069] vp2=min(v2m,v21+a2m*(t22+t21)-0.5*j2m*t21*t21

[0070] Among them, t21 represents the time required for acceleration from 0 to a2m, v21 represents the speed change caused by acceleration from 0 to a2m, r can be the fusion radius, L2 can be the length of the second path, v2m is the maximum speed of the second path, a2m is the maximum acceleration of the second path, j2m is the maximum jerk of the second path, the maximum speed of the second path can be the maximum speed that the robot can reach when executing the second path, the maximum acceleration of the second path can be the maximum rate of speed change per unit time of the robot when executing the second path, and the maximum jerk of the second path can be the maximum speed of acceleration change of the robot when the robot changes from uniform acceleration to uniform speed or from uniform speed to uniform deceleration. It should be noted that the end point position acceleration and the end point attitude acceleration can be 0, so the end point position acceleration ap2 = 0.

[0071] S140, determining an interpolation coefficient according to the first duration and the second duration, the interpolation coefficient being used to adjust the number of interpolation times corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolation times is the number of times the first duration or the second duration is interpolated.

[0072] Specifically, after the first duration and the second duration are determined, an interpolation coefficient can be determined based on the first duration and the second duration, wherein the interpolation coefficient can be used to adjust the number of interpolation times corresponding to the first duration or the second duration so that the first duration and the second duration are equal.

[0073] It should be noted that considering that the robotic arm is a continuous system, the interpolation coefficient λq should be a continuous curve, and there are various choices for this continuous curve: such as a cosine curve with a fixed duration, a 4-segment symmetric S-profile with a specified duration, etc. Taking the 4-segment symmetric S-profile with a specified duration as an example, the first duration can be expressed as tp, the second duration can be expressed as tq, and tp > tq. Then the interpolation coefficient is the interpolation coefficient λq of the second duration. Assuming that the initial velocity V0 of the 4-segment symmetric S-profile is 0 and the target velocity V1 of the 4-segment symmetric S-profile is 0, then we have:

[0074] q = tp - tq

[0075] vm = 2 * q / tp

[0076] am = 4 * vm / tp

[0077] jm = 4 * am / tp

[0078] Among them, q can be the difference between the first duration and the second duration, vm can be the maximum velocity of the 4-segment symmetric S-profile, am can be the maximum acceleration of the 4-segment symmetric S-profile, and jm can be the maximum jerk of the 4-segment symmetric S-profile. The current execution time of tq in the second duration can be expressed as t. According to different values of t, the expression of the interpolation coefficient λq of the second duration is as follows:

[0079] If t ≤ 0.25 * tp, then λq = 1 - 0.5 * jm * t 2

[0080] If 0.25 * tp < t ≤ 0.5 * tp, then λq = 1 - 0.5 * jm * (0.25 * tp) 2 -am *

[0081] (t - 0.25 * tp) + 0.5 * jm * (t - 0.25 * tp) 2

[0082] If 0.5 * tp < t ≤ 0.75 * tp, then λq = 1 - vm + 0.5 * jm * (t - 0.5tp) 2

[0083] If 0.75 * tp < t ≤ tp, then λq = 1 - vm + 0.5 * jm * (0.25 * tp) 2 +am *

[0084] (t - 0.75 * tp) - 0.5 * jm * (t - 0.75 * tp) 2

[0085] It should be explained that the minimum duration between the first duration and the second duration can be selected, and the minimum duration can be determined as the duration required for repair. The number of interpolation times for the minimum duration can be determined based on the maximum duration and the interpolation period, and the number of interpolation times is the number of times the first duration or the second duration is interpolated.

[0086] For example, the first duration can be expressed as tp, the second duration can be expressed as tq, ts is a single interpolation period, the interpolation period can be a fixed value, λq is the attitude interpolation coefficient, λp is the position interpolation coefficient, then: tp = number*λp*ts; tq = number*λq*ts; where number is the interpolation period of the fusion segment, and number can be a fixed value. That is, it can be understood that when tp and tq are not equal, the interpolation coefficient (λq or λq) can be adjusted to make tp and tq equal.

[0087] S150, correcting the corresponding duration according to the interpolation coefficient to synchronize the position path and the posture path of the fusion path.

[0088] It can be known that after the interpolation coefficient is obtained, the corresponding duration can be corrected according to the interpolation coefficient so that the first duration and the second duration are equal, so that the position path and the posture path of the fusion path are synchronized.

[0089] Exemplarily, the minimum value of the first duration and the second duration is the first duration, and the maximum value is the second duration. The determined interpolation coefficient is the interpolation coefficient of the first duration, and the interpolation coefficient of the first duration can be multiplied by the single interpolation cycle, thereby realizing the interpolation of the first duration (which can be understood as reducing the execution speed of the robot on the position path). By correcting the first duration corresponding to the position path, the first duration and the second duration are equal, so as to realize the synchronization of the robot position path and the posture path.

[0090] The present embodiment provides a method for synchronizing a robot arm posture, comprising: determining a third path according to a first path, a second path and a fusion radius in a trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within a circular range corresponding to the fusion radius; the fusion path is used to connect the fourth path and the second path; determining the starting point information of the fusion path according to the third path; the starting point information includes a starting point speed and a starting point acceleration; based on an S-type planning algorithm, determining a first duration and a second duration according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path The first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the end point information is calculated according to the second path and the fusion radius; the end point information includes the end point speed and the end point acceleration; the interpolation coefficient is determined according to the first duration and the second duration, and the interpolation coefficient is used to adjust the number of interpolations corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolations is the number of times the first duration or the second duration is interpolated; the corresponding duration is corrected according to the interpolation coefficient so that the position path and the posture path of the fusion path are synchronized. The technical solution provided in this embodiment interpolates the corresponding duration through the interpolation coefficient and the fusion path (position path or posture path), solves the problem in the prior art that the fusion segment planning causes the manipulator joint speed to be too large due to the posture synchronization processing, making the overall performance of the fusion segment manipulator uncontrollable, and ensures that the manipulator is controllable in the fusion segment planning, and the position and posture are respectively planned online in the fusion segment to ensure the phase synchronization of the fusion segment position and posture.

[0091] As an optional implementation of this embodiment, the robot arm posture synchronization method provided in this embodiment further includes:

[0092] 1) performing position planning on the fusion path according to the position of the starting point of the fusion path and the position of the ending point of the fusion path to determine the position path;

[0093] It is known that the starting point information may also include the starting point location information, which may include the location of the starting point; the ending point information may also include the ending point location information, which may include the location of the ending point. Based on the S-planning algorithm, the fused path may be position-planned according to the fused path starting point location and the fused path ending point location to determine the position path.

[0094] Exemplarily, the position path in the fusion path can be represented by a Bezier curve, and specifically can be expressed as:

[0095] where 0 < t < 1, where m represents the maximum order of the curve. In this embodiment, m can be 5. represents the combination number, that is, the combination method of selecting i points from m points. Among them, p(i) is the control point of the Bezier curve, which can be determined by the tangents and normals at points p1 and p1, and the tangents and normals at points p2 and p2. t i is the weight coefficient corresponding to the control point.

[0096] 2) Determine the pose path according to the end pose of the first path, the start pose of the fusion path, and the end pose of the fusion path.

[0097] Specifically, the first path may include the end pose of the first path, and the fusion path may include the start pose of the fusion path and the end pose of the fusion path. The pose path can be determined according to the end pose of the first path, the start pose of the fusion path, and the end pose of the fusion path.

[0098] Exemplarily, the pose path in the fusion path can be represented by a quaternion Bezier curve, and specifically can be expressed as:

[0099]

[0100] where the value range of t is from 0 to 1, q1 is the start pose of the fusion path, qm is the end pose of the first path, and q2 is the end pose of the fusion path.

[0101] As an optional implementation manner of this embodiment, the robotic arm pose synchronization method provided in this embodiment further includes:

[0102] 1) Determine the third duration required for the robotic arm to execute the route between the end pose of the first path and the start pose of the fusion path, and the fourth duration required for the robotic arm to execute the route between the end pose of the first path and the end pose of the fusion path;

[0103] It can be known that based on the S planning algorithm, the third duration required for the robotic arm to execute the route between the end pose of the first path and the start pose of the fusion path can be determined according to the route between the end pose of the first path and the start pose of the fusion path, and the fourth duration required for the robotic arm to execute the route between the end pose of the first path and the end pose of the fusion path can be determined according to the route between the end pose of the first path and the end pose of the fusion path.

[0104] Figure 2 A schematic diagram of a posture point provided in this embodiment, such as Figure 2 As shown, q0 can be expressed as the starting point posture of the first path, the end point posture of the first path can be expressed as qm, the posture of the starting point of the fusion path can be expressed as q1 (fusion starting point posture), the end point posture of the fusion path can be expressed as q2 (fusion end point posture), and the end point posture of the second path can be expressed as q3. The third duration can be expressed as t1, and the fourth duration can be expressed as t2. The time required for the robot to execute q1 to qm can be expressed as t1, and the time required for the robot to execute qm to q2 is t2.

[0105] 2) determining the number of segments of the gesture path based on the third duration, the fourth duration and the first duration;

[0106] Specifically, after the third duration and the fourth duration are obtained, the number of segments of the gesture path may be determined based on the third duration, the fourth duration and the first duration.

[0107] Exemplarily, the number of segments count of the gesture path can be expressed as:

[0108] count=16*max(t1,t2,tp) / ts

[0109] Among them, t1 is the third time length, t2 is the fourth time length, tp is the first time length, and ts is the interpolation period. For example, ts may be 4 milliseconds, and the interpolation period may be the duration of the interpolation interval.

[0110] 3) Segmenting the posture path according to the segment number, and determining the quaternion of each segment point;

[0111] Specifically, after the number of segments of the posture path is obtained by calculation, the posture path can be segmented according to the number of segments. For example, if the number of segments is 10, the posture path can be evenly divided into 10 segments.

[0112] Following the above description, after the posture path is segmented, the quaternion of each segment point can be determined. The quaternion can be a function expression of the segment point. The quaternion can be used to represent the rotation in three-dimensional space. The quaternion can be composed of a scalar part and a three-dimensional vector part. For example, the quaternion can be expressed as: q=a+bi+cj+dk, where a, b, c and d are real numbers, i, j and k are imaginary numbers and satisfy the following multiplication principle:

[0113] i 2 =j 2 =k 2 =ijk=-1,

[0114] 4) For each segment point, determine the angular displacement of the segment point according to the quaternion of the segment point;

[0115] Specifically, for each segment point, the angular displacement of the segment point can be determined according to the quaternion of the segment point.

[0116] For example, the quaternion of the segment point can be recorded as q(di), where di = the i-th point divided by the number of segments count. Substituting di into the planned posture path formula can obtain q(di). The angular displacement between the starting point of the fusion segment and the n-th point is recorded as s(n), which can be expressed as:

[0117]

[0118] 5) Determine an angular displacement table according to the angular displacement of each segment point, wherein the angular displacement table includes an angular displacement and a segment number corresponding to the angular displacement, and the segment number is used to determine an interpolation position of the angular displacement on the posture path.

[0119] Specifically, after the angular displacement of each segment point is determined, the angular displacement of each segment point can be summarized into a table, and then the angular displacement table can be determined. The angular displacement table may include the angular displacement and the segment number corresponding to the angular displacement. The segment number is used to determine the interpolation position of the angular displacement on the posture path.

[0120] Optionally, when the interpolation coefficient is the interpolation coefficient of the second duration and the fusion path is a gesture path,

[0121] The correcting the corresponding duration according to the interpolation coefficient so as to synchronize the position path and the posture path of the fusion path includes:

[0122] 1) interpolating the second duration according to the interpolation coefficient of the second duration to obtain an interpolation angular displacement of the fusion path;

[0123] Specifically, when the interpolation coefficient is the interpolation coefficient of the second time length, the second time length needs to be interpolated according to the interpolation coefficient of the second time length, so as to obtain the interpolation angular displacement of the fusion path.

[0124] 2) determining the segment number of the interpolation angular displacement based on the angular displacement table and the interpolation angular displacement, and determining the interpolated posture path through linear fitting according to the segment number, so as to synchronize the position and posture of the fusion path.

[0125] Continuing with the above description, after the interpolation angular displacement is determined, the segment number where the interpolation angular displacement is located can be determined in the angular displacement table. For example, based on the angular displacement table, the segment number where the current angular displacement is located can be determined by binary search. At the same time, in order to ensure the continuity of the robot arm posture, the posture path between each segment is determined by linear fitting to determine the interpolated posture path, so that the position and posture of the fusion path are synchronized.

[0126] As an optional implementation of this embodiment, the robot arm posture synchronization method provided in this embodiment, before determining the fusion path and the fourth path according to the first path, the second path and the fusion radius in the trajectory queue pool, further includes:

[0127] 1) Selecting a path from the trajectory queue pool as the first path;

[0128] Specifically, a path may be selected from the trajectory queue pool in order as the first path;

[0129] 2) executing the first path and obtaining the path length of the first path completed by execution;

[0130] Specifically, the robot arm may be controlled to execute the first path, and the length of the path completed by the execution of the first path may be acquired in real time. For example, in the first path, the length of the path completed by the execution may be 0.7 meters.

[0131] 3) When the length of the path completed by executing the first path is greater than a preset parameter, a path is selected from the trajectory queue pool as the second path.

[0132] In this embodiment, the preset parameter may be a parameter preset by a user, and the preset parameter may be a percentage of the length of the first path completed by execution to the total path length of the first path. An exemplary preset parameter may be 50%. When the length of the path completed by execution of the first path is greater than the preset parameter, a path may be selected from the trajectory queue pool in order as the second path.

[0133] As an optional implementation of this embodiment, determining the third path according to the first path, the second path and the fusion radius in the trajectory queue pool includes:

[0134] 1) determining a fusion path curve according to the first path, the second path and the fusion radius;

[0135] Specifically, after obtaining the first path, the second path and the fusion radius, the fusion path curve can be determined based on the S-planning algorithm according to the first path, the second path and the fusion radius. Among them, the S-planning algorithm can also be called the S-curve trajectory planning method, which is a trajectory planning technology commonly used in the field of motion control. It ensures the smooth transition between the planning starting point and the target point of the robot or other moving body by smoothly controlling the changes in speed and acceleration, reducing the impact of movement, and improving the accuracy of movement and control. In this embodiment, the first path and the second path can be connected by having a common intersection, and both the first path and the second path can include trajectory information; the trajectory information in the first path can include the end position of the path, the maximum speed of the path, the maximum acceleration of the path and the trajectory fusion information, and the trajectory fusion information can be information that integrates information from different sources in the trajectory. Exemplarily, the trajectory fusion information can include position information, environmental information, historical trajectory data and abnormal events. The trajectory information in the second path can also include the end position of the path, the maximum speed of the path, the maximum acceleration of the path and trajectory fusion information, and the trajectory fusion information can be information that integrates information from different sources in the trajectory. The fusion path curve can be determined by the S-planning algorithm based on the trajectory information in the first path, the trajectory information in the second path, and the fusion radius, wherein the fusion path curve can be a curve connecting the first path and the second path with an arc. It can be understood that the first path is replanned so that the first path and the second path are connected by an arc.

[0136] 2) integrating the fusion path curve to determine the fusion path length;

[0137] Specifically, after obtaining the fusion path curve, the fusion path curve can be integrated based on the integration algorithm, and then the length of the fusion path can be determined. In this embodiment, the integration algorithm can be the Simpson's Rule, which is a numerical integration method used to approximate the value of a definite integral. It is based on the idea of ​​polynomial interpolation, approximates the integrand by constructing a quadratic polynomial, and then integrates the polynomial. The Simpson's Rule has high accuracy because it uses the second-order derivative information of the integrand on the integration interval.

[0138] 3) determining the length of the third path according to the fusion radius, the fusion path length and the length of the first path; wherein the length of the first path is calculated by the starting point position, the ending point position and the path type corresponding to the first path;

[0139] In this embodiment, after the length of the fused path is obtained, the length of the third path can be determined according to the fusion radius, the fused path length and the length of the first path. The length of the first path can be calculated by the starting point position, the end point position and the path type corresponding to the first path.

[0140] Exemplarily, the fusion path length can be expressed as Lb, the fusion radius can be expressed as r, the length of the first path can be expressed as L1, and the length of the third path can be expressed as Ls, then Ls=L1-r+Lb.

[0141] 4) updating the position of the first path termination point according to the length of the third path and the maximum speed of the fused path termination point to determine the third path;

[0142] The maximum speed of the termination point of the fusion path is determined by the target speed, target acceleration, target jerk and fusion radius corresponding to the second path.

[0143] Specifically, after calculating the length of the third path, the position of the termination point of the first path can be updated based on the S-planning algorithm according to the length of the third path and the maximum speed of the termination point of the fused path, wherein the original termination point of the first path can be the intersection of the first path and the second path. After updating the original termination point of the first path, the termination point of the first path can be the starting point position of the fused path.

[0144] In this embodiment, the maximum speed of the fusion path termination point is determined by the target speed, target acceleration, target jerk and fusion radius corresponding to the second path. Exemplarily, the maximum speed of the fusion path termination point in this embodiment can be expressed as V2, and V2 can be calculated using the same calculation formula as the termination point position speed vp2 given in this embodiment.

[0145] Figure 3 A schematic diagram of a robot arm posture synchronization process provided in this embodiment, such as Figure 3As shown, first, according to user needs, multiple paths can be taught to form a path pool (trajectory path pool), and the trajectory planner can be used to obtain the first path (first path) from the trajectory pool (trajectory path pool), and the robot arm can be controlled to execute the current trajectory motion planning. The fusion radius can be obtained from the trajectory path pool, and it can be determined whether the fusion radius is zero. If the fusion radius is zero, the path planning is terminated. If the fusion radius is not zero, it can be determined whether the current trajectory (the path length completed by the execution of the first path) is executed to the user's advance acquisition of the next trajectory setting position (preset parameters). If so, the next trajectory (second path) is obtained from the trajectory queue pool, and the fusion segment length (fusion path length) is calculated, and the current planning target position (first path end point position) and target speed (maximum speed of the fusion path end point) are modified and re-planned. By re-planning the target position and target speed, the third path can be determined, and the third path includes the fusion path and the fourth path. When the current trajectory (third path) is executed to the fusion point (fusion path starting point), the fusion segment planning is entered. According to the current trajectory (third path), the position is recalculated to fuse the incident point information (the starting point information of the fusion path) and the exit point information (the ending point information of the fusion path). According to the fusion segment position planning (position path), the time tp (first duration) required for position planning is determined, and according to the fusion segment posture planning (posture path), the time tq (second duration) and the posture quaternion table (i.e., angular displacement table) required for posture planning are determined. According to tp and tq, the fusion segment planning duration (the maximum value of tp and tq) is determined, and the interpolation coefficient is determined based on tp and tq to interpolate the fusion segment position or interpolate the fusion segment posture. In the process of interpolating the fusion segment posture, it is necessary to determine the posture interpolation quaternion according to the interpolation angular displacement table (angular displacement table), thereby realizing the interpolation of the posture of the fusion segment. When the interpolation trajectory (fusion path) is executed to the fusion exit point (fusion path termination point), the second trajectory planning is entered. The corresponding duration is interpolated through the interpolation coefficient and the fusion path. This solves the problem in the prior art that the fusion segment planning causes the robot arm joint speed to be too high due to the posture synchronization processing, making the overall performance of the fusion segment robot arm uncontrollable. It ensures that the robot arm is controllable in the fusion segment planning, and the position and posture are planned online in the fusion segment respectively, to ensure the phase synchronization of the position and posture of the fusion segment.

[0146] Embodiment 2

[0147] Figure 4 is a schematic diagram of the structure of a mechanical arm posture synchronization device provided in the second embodiment of the present disclosure; Figure 4 As shown, the device includes: a third path determination module 210, a starting point information determination module 220, a duration determination module 230, an interpolation coefficient determination module 240, and a synchronization module 250.

[0148] The third path determination module 210 is used to determine the third path according to the first path, the second path and the fusion radius in the trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path;

[0149] A starting point information determination module 220, configured to determine the starting point information of the fused path according to the third path; the starting point information includes a starting point velocity and a starting point acceleration;

[0150] The duration determination module 230 is used to determine the first duration and the second duration based on the S-type planning algorithm according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the ending point information is calculated according to the second path and the fusion radius; the ending point information includes the ending point speed and the ending point acceleration;

[0151] An interpolation coefficient determination module 240, configured to determine an interpolation coefficient according to a first duration and a second duration, wherein the interpolation coefficient is used to adjust the number of interpolation times corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolation times is the number of times the first duration or the second duration is interpolated;

[0152] The synchronization module 250 is used to correct the corresponding duration according to the interpolation coefficient so as to synchronize the position path and the posture path of the fusion path.

[0153] Embodiment 2 of the present disclosure provides a robot arm posture synchronization device to ensure the synchronization of the fusion segment position and posture phase.

[0154] Furthermore, the device also includes:

[0155] A first path determination module, configured to select a path from a trajectory queue pool as the first path;

[0156] An execution module, configured to execute the first path and obtain a path length of the first path after execution;

[0157] The second path determination module is used to select a path from the trajectory queue pool as the second path when the path length completed by executing the first path is greater than a preset parameter.

[0158] Furthermore, the third path determination module 210 is further configured to:

[0159] Determine a fusion path curve according to the first path, the second path and the fusion radius;

[0160] Integrating the fusion path curve to determine the fusion path length;

[0161] Determine the length of the third path according to the fusion radius, the fusion path length and the length of the first path; wherein the length of the first path is calculated by the starting point position, the ending point position and the path type corresponding to the first path;

[0162] updating the position of the first path termination point according to the length of the third path and the maximum speed of the fused path termination point to determine the third path;

[0163] The maximum speed of the fusion path termination point is determined by the target speed, target acceleration, target jerk and the fusion radius corresponding to the second path.

[0164] Furthermore, the device further comprises:

[0165] A position path determination module, used for performing position planning on the fusion path according to the position of the fusion path starting point and the position of the fusion path ending point to determine the position path;

[0166] The posture path determination module is used to determine the posture path according to the first path end point posture, the fusion path starting point posture and the fusion path end point posture.

[0167] Furthermore, the device further comprises:

[0168] A third duration and a fourth duration determination module, configured to determine a third duration required for the robot arm to execute a route between the end point posture of the first path and the posture of the starting point of the fused path, and a fourth duration required for the robot arm to execute a route between the end point posture of the first path and the posture of the fused path termination point;

[0169] A segment number determination module, used to determine the segment number of the gesture path based on the third duration, the fourth duration and the first duration;

[0170] A quaternion determination module, used to segment the posture path according to the segment number and determine the quaternion of each segment point;

[0171] An angular displacement determination module, used for determining the angular displacement of each segment point according to the quaternion of the segment point;

[0172] The angular displacement table determination module is used to determine the angular displacement table according to the angular displacement of each segment point, wherein the angular displacement table includes the angular displacement and the segment number corresponding to the angular displacement, and the segment number is used to determine the interpolation position of the angular displacement on the posture path.

[0173] Further, when the interpolation coefficient is the interpolation coefficient of the second duration and the fusion path is a gesture path, the synchronization module 250 is further used to:

[0174] interpolating the second duration according to the interpolation coefficient of the second duration to obtain an interpolation angular displacement of the fusion path;

[0175] The segment number of the interpolation angular displacement is determined based on the angular displacement table and the interpolation angular displacement, and the interpolated posture path is determined by linear fitting according to the segment number, so that the position and posture of the fusion path are synchronized.

[0176] The robot arm posture synchronization device provided in the embodiments of the present disclosure can execute the robot arm posture synchronization method provided in any embodiment of the embodiments of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0177] Embodiment 3

[0178] Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of the present disclosure described and / or claimed herein.

[0179] like Figure 5 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0180] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0181] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microprocessor, etc. The processor 11 executes the various methods and processes described above, such as a method for synchronizing the position and posture of a robotic arm.

[0182] In some embodiments, the robot arm posture synchronization method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot arm posture synchronization method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the robot arm posture synchronization method in any other appropriate manner (for example, by means of firmware).

[0183] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0184] The computer programs for implementing the methods of the embodiments of the present disclosure may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.

[0185] In the context of the disclosed embodiments, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0186] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0187] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0188] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0189] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in the embodiments of the present disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions of the embodiments of the present disclosure can be achieved, and this document does not limit this.

[0190] The above specific implementations do not constitute a limitation on the protection scope of the embodiments of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the embodiments of the present disclosure shall be included in the protection scope of the embodiments of the present disclosure.

[0191] The embodiments of the present disclosure also provide a computer program product, including a computer program and / or instructions, which, when executed by a processor, implements the robot arm posture synchronization method provided in any embodiment of the present application.

[0192] In the process of implementation, the computer program product can be written in one or more programming languages ​​or a combination thereof to write computer program codes for performing the operation of the disclosed embodiments, the programming languages ​​including object-oriented programming languages, such as Java, Smalltalk, C++, and also including conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).

[0193] Note that the above are only preferred embodiments of the embodiments of the present disclosure and the technical principles used. Those skilled in the art will understand that the embodiments of the present disclosure are not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the embodiments of the present disclosure. Therefore, although the embodiments of the present disclosure are described in more detail through the above embodiments, the embodiments of the present disclosure are not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the embodiments of the present disclosure, and the scope of the embodiments of the present disclosure is determined by the scope of the attached claims.

Claims

1. A method for synchronizing a robot arm posture, characterized in that: The method comprises: Determine a third path according to the first path, the second path and the fusion radius in the trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path; Determining the starting point information of the fused path according to the third path; the starting point information includes the starting point speed and the starting point acceleration; Based on the S-planning algorithm, the first duration and the second duration are determined according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the ending point information is calculated according to the second path and the fusion radius; the ending point information includes the ending point speed and the ending point acceleration; Determine an interpolation coefficient according to the first duration and the second duration, the interpolation coefficient being used to adjust the number of interpolations corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolations is the number of times the first duration or the second duration is interpolated; The corresponding duration is corrected according to the interpolation coefficient to synchronize the position path and the posture path of the fused path.

2. The method according to claim 1, characterized in that Before determining the fused path and the fourth path according to the first path, the second path and the fused radius in the trajectory queue pool, the method further includes: Selecting a path from the trajectory queue pool as the first path; Execute the first path, and obtain the path length of the first path completed by execution; When the length of a path completed by executing the first path is greater than a preset parameter, a path is selected from the trajectory queue pool as the second path.

3. The method according to claim 1, characterized in that The determining the third path according to the first path, the second path and the fusion radius in the trajectory queue pool includes: Determine a fusion path curve according to the first path, the second path and the fusion radius; Integrating the fusion path curve to determine the fusion path length; Determine the length of the third path according to the fusion radius, the fusion path length and the length of the first path; wherein the length of the first path is calculated by the starting point position, the ending point position and the path type corresponding to the first path; updating the position of the first path termination point according to the length of the third path and the maximum speed of the fused path termination point to determine the third path; The maximum speed of the fusion path termination point is determined by the target speed, target acceleration, target jerk and the fusion radius corresponding to the second path.

4. The method according to claim 1, characterized in that: The method further comprises: Performing position planning on the fusion path according to the position of the fusion path starting point and the position of the fusion path ending point to determine the position path; The posture path is determined according to the first path end point posture, the fusion path starting point posture and the fusion path end point posture.

5. The method according to claim 4, characterized in that The method further comprises: Determine a third duration required for the robot arm to execute a route between the endpoint posture of the first path and the posture of the starting point of the fused path, and a fourth duration required for the robot arm to execute a route between the endpoint posture of the first path and the posture of the fused path termination point; Determine the number of segments of the gesture path based on the third duration, the fourth duration, and the first duration; Segmenting the posture path according to the number of segments, and determining the quaternion of each segment point; For each segment point, determining the angular displacement of the segment point according to the quaternion of the segment point; An angular displacement table is determined according to the angular displacement of each segment point, wherein the angular displacement table includes an angular displacement and a segment number corresponding to the angular displacement, and the segment number is used to determine an interpolation position of the angular displacement on the posture path.

6. The method according to claim 5, characterized in that When the interpolation coefficient is the interpolation coefficient of the second duration and the fusion path is a gesture path, The correcting the corresponding duration according to the interpolation coefficient so as to synchronize the position path and the posture path of the fusion path includes: interpolating the second duration according to the interpolation coefficient of the second duration to obtain an interpolation angular displacement of the fusion path; The segment number of the interpolation angular displacement is determined based on the angular displacement table and the interpolation angular displacement, and the interpolated posture path is determined by linear fitting according to the segment number, so that the position and posture of the fusion path are synchronized.

7. A robot arm posture synchronization device, characterized in that: include: A third path determination module, configured to determine a third path according to the first path, the second path and the fusion radius in the trajectory queue pool, wherein the third path includes a fusion path and a fourth path; wherein the first path and the second path have an intersection point; the fourth path is a path in the first path that is not within the circular range corresponding to the fusion radius; and the fusion path is used to connect the fourth path and the second path; A starting point information determination module, used to determine the starting point information of the fused path according to the third path; the starting point information includes the starting point speed and the starting point acceleration; A duration determination module, for determining a first duration and a second duration based on the S-type planning algorithm and according to the starting point information and the ending point information of the fusion path; the fusion path includes a position path and a posture path; the first duration is the duration required for the manipulator to execute the position path corresponding to the fusion path, and the second duration is the duration required for the manipulator to execute the posture path corresponding to the fusion path; the ending point information is calculated according to the second path and the fusion radius; the ending point information includes the ending point speed and the ending point acceleration; an interpolation coefficient determination module, configured to determine an interpolation coefficient according to a first duration and a second duration, wherein the interpolation coefficient is used to adjust the number of interpolation times corresponding to the first duration or the second duration so that the first duration and the second duration are equal, and the number of interpolation times is the number of times the first duration or the second duration is interpolated; The synchronization module is used to correct the corresponding duration according to the interpolation coefficient so as to synchronize the position path and the posture path of the fusion path.

8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot arm posture synchronization method as described in any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the robot arm posture synchronization method as described in any one of claims 1-6 is implemented.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the method for synchronizing the posture of a robotic arm as described in any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Position and pose synchronizing method and device of transition route of mechanical arm

    CN109773780A

  • Pose-synchronous six-axis industrial robot track smoothing method

    CN110900612A

  • Position and posture motion synchronization method for industrial robot

    CN113478481A

  • Feeding robot material supplementing path planning method and device, electronic equipment and medium

    CN116945177A

  • Motion pose synchronous planning method and device and medium

    CN118456410A

Cited By

  • Mechanical arm track blending control method and device and storage medium

    CN120326635A